Skip to content

pantoken-root / packages/plugin-kit/src / makeResolver

Feidhm: makeResolver() ​

makeResolver(base, options?): (value) => string

Béite

Tóg réititheoir a leathnaíonn tagairtí var(--x) go luachanna duille chruinne i gcoinne base (agus aon overrides). Le mode dúnann sé light-dark() isteach sa ghéag sin; gan é, fágann sé light-dark() mar atá.

Paraiméadair ​

base ​

léamh-aonair Token[]

An tacar token chun tagairtí a réiteach ina choinne.

options? ​

ResolveOptions

ResolveOptions.

Tuairisceáin ​

Feidhm a réitíonn sreang luach.

(value) => string

Samplaí ​

Leathnaigh slabhra tagartha go dtí a duille chruinn

ts
import { makeResolver } from "@pantoken/utils";
import type { Token } from "@pantoken/model";

const ir: Token[] = [
  { name: "--instui-leaf", syntax: "<color>", inherits: true, value: "#0374B5" },
  { name: "--instui-brand", syntax: "*", inherits: true, value: "var(--instui-leaf)" },
];

const resolve = makeResolver(ir);
resolve("var(--instui-brand)"); // → "#0374B5"

Dún light-dark() le mód, nó coinnigh é gan é

ts
import { makeResolver } from "@pantoken/utils";
import type { Token } from "@pantoken/model";

const ir: Token[] = [
  { name: "--instui-bg", syntax: "*", inherits: true, value: "light-dark(#fff, #000)" },
];

makeResolver(ir)("var(--instui-bg)");                 // → "light-dark(#fff, #000)"
makeResolver(ir, { mode: "light" })("var(--instui-bg)"); // → "#fff"
makeResolver(ir, { mode: "dark" })("var(--instui-bg)");  // → "#000"

Sraitheanna a sháraíonn i gcás coinbhleachtaí ainmneacha

ts
import { makeResolver } from "@pantoken/utils";
import type { Token } from "@pantoken/model";

const ir: Token[] = [
  { name: "--instui-leaf", syntax: "<color>", inherits: true, value: "#0374B5" },
  { name: "--instui-brand", syntax: "*", inherits: true, value: "var(--instui-leaf)" },
];
const overrides: Token[] = [
  { name: "--instui-leaf", syntax: "<color>", inherits: true, value: "#000" },
];

makeResolver(ir, { overrides })("var(--instui-brand)"); // → "#000"