Open Design Tokens
    Preparing search index...

    Interface Resolver

    Resolves aliases, $ref pointers, $extends merges, and effective types for one prepared document. Create one per document with createResolver. Every result is memoised, so chains cost linear time and cycles are detected rather than followed.

    interface Resolver {
        dereference(value: unknown, fromPointer: string): Dereferenced;
        effectiveType(
            node: NodeInfo,
        ):
            | "number"
            | "color"
            | "dimension"
            | "fontFamily"
            | "fontWeight"
            | "duration"
            | "cubicBezier"
            | "strokeStyle"
            | "border"
            | "transition"
            | "shadow"
            | "gradient"
            | "typography"
            | undefined;
        extendsTarget(raw: Record<string, unknown>): ExtendsTarget | undefined;
        lookupPath(segments: readonly string[]): PathLookup | undefined;
        mergedGroup(pointer: string, raw: Record<string, unknown>): MergedGroup;
        node(pointer: string): NodeInfo | undefined;
        owningToken(segments: readonly string[]): OwningToken | undefined;
        rawAt(segments: readonly string[]): unknown;
        resolveAlias(start: string): AliasResolution;
        resolveRef(ref: string, fromPointer: string): RefResolution;
    }
    Index
    • Replaces every nested { $ref } inside value with the referenced fragment (§7.3). fromPointer is the token the value belongs to; issues are reported under its $value. failed is true when at least one reference did not resolve.

      Parameters

      • value: unknown
      • fromPointer: string

      Returns Dereferenced

    • Effective type of an indexed token or group after inheritance and extension (memoised).

      Parameters

      Returns
          | "number"
          | "color"
          | "dimension"
          | "fontFamily"
          | "fontWeight"
          | "duration"
          | "cubicBezier"
          | "strokeStyle"
          | "border"
          | "transition"
          | "shadow"
          | "gradient"
          | "typography"
          | undefined

    • Raw RFC 6901 traversal; own properties only, integer array indices only.

      Parameters

      • segments: readonly string[]

      Returns unknown