design-token-library 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/lib/css-reflector.d.ts +96 -15
- package/dist/lib/css-reflector.js +55 -9
- package/dist/lib/css-reflector.js.map +1 -1
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.js +4 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/library.d.ts +227 -1
- package/dist/lib/library.js +372 -33
- package/dist/lib/library.js.map +1 -1
- package/dist/lib/public.d.ts +1405 -0
- package/dist/lib/recipe.d.ts +20 -3
- package/dist/lib/recipe.js +19 -2
- package/dist/lib/recipe.js.map +1 -1
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/lib/tsdoc-metadata.json +11 -0
- package/package.json +6 -4
package/dist/lib/library.js
CHANGED
|
@@ -35,6 +35,23 @@ export class CircularReferenceError extends Error {
|
|
|
35
35
|
this.chain = chain;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The changes to the configured values in a library's tokens: its own, and
|
|
40
|
+
* those of the libraries it extends, whose values it takes until its tokens
|
|
41
|
+
* are set.
|
|
42
|
+
*/
|
|
43
|
+
const configurationVersionOf = (scope) => {
|
|
44
|
+
let version = 0;
|
|
45
|
+
for (let s = scope; s; s = s.source) {
|
|
46
|
+
version += s.configurationVersion;
|
|
47
|
+
}
|
|
48
|
+
return version;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* For a library's tokens, the tokens whose configured values refer to each,
|
|
52
|
+
* and the configuration it was made from.
|
|
53
|
+
*/
|
|
54
|
+
const dependentsIndexes = new WeakMap();
|
|
38
55
|
/**
|
|
39
56
|
* The tokens currently resolving their values, outermost first.
|
|
40
57
|
*/
|
|
@@ -75,9 +92,10 @@ const defineGroupMetadata = (group, ...sources) => {
|
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
94
|
};
|
|
78
|
-
const defineToken = (library, key,
|
|
95
|
+
const defineToken = (library, key, get) => {
|
|
79
96
|
Reflect.defineProperty(library, key, {
|
|
80
97
|
get() {
|
|
98
|
+
const token = get();
|
|
81
99
|
// Token access is tracked because a ref reads its token from
|
|
82
100
|
// the library
|
|
83
101
|
Watcher.track(token);
|
|
@@ -117,11 +135,12 @@ const recurseCreate = (name, library, config, scope, typeContext, queue) => {
|
|
|
117
135
|
Object.freeze(group);
|
|
118
136
|
}
|
|
119
137
|
else if (isToken(config[key])) {
|
|
120
|
-
|
|
138
|
+
const token = createToken(key, _name, config[key], scope, typeContext, queue);
|
|
139
|
+
defineToken(library, key, () => token);
|
|
121
140
|
}
|
|
122
141
|
}
|
|
123
142
|
};
|
|
124
|
-
const recurseExtend = (name, sourceTokens, extendedTokens, config, scope, typeContext, queue) => {
|
|
143
|
+
const recurseExtend = (name, sourceTokens, extendedTokens, config, scope, typeContext, queue, inherited) => {
|
|
125
144
|
// An extension can restate a group's type, or give one to a group that
|
|
126
145
|
// has none, but can't change it, as for a token.
|
|
127
146
|
const sourceType = Reflect.get(sourceTokens, "$type");
|
|
@@ -140,32 +159,125 @@ const recurseExtend = (name, sourceTokens, extendedTokens, config, scope, typeCo
|
|
|
140
159
|
.filter(isChildKey)); // Remove duplicate keys
|
|
141
160
|
for (const key of keys) {
|
|
142
161
|
const _name = name.length === 0 ? key : `${name}.${key}`;
|
|
143
|
-
const
|
|
144
|
-
const sourceValue = sourceTokens[key];
|
|
162
|
+
const source = Reflect.getOwnPropertyDescriptor(sourceTokens, key);
|
|
145
163
|
const configValue = config[key];
|
|
146
|
-
|
|
164
|
+
// A group of the source is a data property and a token an accessor,
|
|
165
|
+
// so telling them apart doesn't make the token of an extension.
|
|
166
|
+
if (source ? "value" in source : isGroup(configValue)) {
|
|
147
167
|
const group = {};
|
|
148
168
|
Reflect.defineProperty(extendedTokens, key, {
|
|
149
169
|
value: group,
|
|
150
170
|
enumerable: true,
|
|
151
171
|
});
|
|
152
|
-
if (
|
|
153
|
-
recurseExtend(_name,
|
|
172
|
+
if (source) {
|
|
173
|
+
recurseExtend(_name, source.value, group, configValue || {}, scope, typeContext, queue, inherited);
|
|
154
174
|
}
|
|
155
175
|
else {
|
|
156
176
|
recurseCreate(_name, group, configValue, scope, typeContext, queue);
|
|
157
177
|
}
|
|
158
178
|
Object.freeze(group);
|
|
159
179
|
}
|
|
160
|
-
else if (
|
|
161
|
-
const token =
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
180
|
+
else if (source) {
|
|
181
|
+
const token = new InheritedToken(() => untracked(() => sourceTokens[key]), scope, queue, configValue);
|
|
182
|
+
// A token the extension configures is made now, so its config
|
|
183
|
+
// is checked when the library is.
|
|
184
|
+
if (configValue !== undefined) {
|
|
185
|
+
token.get();
|
|
186
|
+
}
|
|
187
|
+
if (configValue === undefined || !("$value" in configValue)) {
|
|
188
|
+
inherited.push(token);
|
|
189
|
+
}
|
|
190
|
+
defineToken(extendedTokens, key, () => token.get());
|
|
191
|
+
}
|
|
192
|
+
else if (isToken(configValue)) {
|
|
193
|
+
const token = createToken(key, _name, configValue, scope, typeContext, queue);
|
|
194
|
+
defineToken(extendedTokens, key, () => token);
|
|
165
195
|
}
|
|
166
196
|
}
|
|
167
197
|
};
|
|
168
|
-
|
|
198
|
+
/**
|
|
199
|
+
* Reads without the read being tracked by the token that is resolving.
|
|
200
|
+
*/
|
|
201
|
+
const untracked = (read) => {
|
|
202
|
+
const stopWatching = Watcher.use({ watch() { } });
|
|
203
|
+
try {
|
|
204
|
+
return read();
|
|
205
|
+
}
|
|
206
|
+
finally {
|
|
207
|
+
stopWatching();
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Unsubscribes the link of a collected {@link InheritedToken} from its
|
|
212
|
+
* source token.
|
|
213
|
+
*/
|
|
214
|
+
const links = new FinalizationRegistry((unlink) => unlink());
|
|
215
|
+
/**
|
|
216
|
+
* The token of an extension for a token of the library it extends. It is
|
|
217
|
+
* made when it is first read, so an extension costs what it reads (#113).
|
|
218
|
+
*
|
|
219
|
+
* Until it is set, it has the value of its source token and follows its
|
|
220
|
+
* changes, through a link on the source token that holds it weakly: the
|
|
221
|
+
* library it extends doesn't keep an extension alive that nothing else
|
|
222
|
+
* refers to. It follows once it is made, or once its extension has a
|
|
223
|
+
* subscriber, which is told of a change to a token it hasn't read.
|
|
224
|
+
*/
|
|
225
|
+
class InheritedToken {
|
|
226
|
+
source;
|
|
227
|
+
scope;
|
|
228
|
+
queue;
|
|
229
|
+
node;
|
|
230
|
+
token = null;
|
|
231
|
+
unlink = null;
|
|
232
|
+
detached;
|
|
233
|
+
constructor(source, scope, queue, node) {
|
|
234
|
+
this.source = source;
|
|
235
|
+
this.scope = scope;
|
|
236
|
+
this.queue = queue;
|
|
237
|
+
this.node = node;
|
|
238
|
+
// An override has a value of its own.
|
|
239
|
+
this.detached = node !== undefined && "$value" in node;
|
|
240
|
+
}
|
|
241
|
+
get() {
|
|
242
|
+
if (this.token !== null) {
|
|
243
|
+
return this.token;
|
|
244
|
+
}
|
|
245
|
+
const token = extendToken(this.source(), this.scope, this.queue, this.node, this);
|
|
246
|
+
this.token = token;
|
|
247
|
+
this.follow();
|
|
248
|
+
return token;
|
|
249
|
+
}
|
|
250
|
+
follow() {
|
|
251
|
+
if (this.unlink !== null || this.detached) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
// The link holds only a weak reference, so that the registry can
|
|
255
|
+
// collect this token, and nothing that refers to it.
|
|
256
|
+
const target = new WeakRef(this);
|
|
257
|
+
const notifier = getNotifier(this.source());
|
|
258
|
+
const link = {
|
|
259
|
+
onChange() {
|
|
260
|
+
target.deref()?.get().onChange();
|
|
261
|
+
},
|
|
262
|
+
};
|
|
263
|
+
const unlink = () => notifier.unsubscribe(link);
|
|
264
|
+
notifier.subscribe(link);
|
|
265
|
+
links.register(this, unlink, link);
|
|
266
|
+
this.unlink = () => {
|
|
267
|
+
unlink();
|
|
268
|
+
links.unregister(link);
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Stops following the source token, when the token is set.
|
|
273
|
+
*/
|
|
274
|
+
detach() {
|
|
275
|
+
this.unlink?.();
|
|
276
|
+
this.unlink = null;
|
|
277
|
+
this.detached = true;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
function extendToken(token, scope, queue, node, inherited) {
|
|
169
281
|
if (node?.$type !== undefined && node.$type !== token.$type) {
|
|
170
282
|
throw new Error(`An override cannot change the '$type' of token '${token.name}' from '${token.$type}' to '${node.$type}'.`);
|
|
171
283
|
}
|
|
@@ -193,21 +305,12 @@ function extendToken(token, scope, queue, node) {
|
|
|
193
305
|
extendingToken.raw = node.$value;
|
|
194
306
|
}
|
|
195
307
|
else {
|
|
196
|
-
// Subscribe to changes
|
|
197
|
-
// spy on set, unsubscribe when set
|
|
198
|
-
const subscriber = {
|
|
199
|
-
onChange() {
|
|
200
|
-
extendingToken.onChange();
|
|
201
|
-
},
|
|
202
|
-
};
|
|
203
|
-
// token.$value;
|
|
204
|
-
getNotifier(token).subscribe(subscriber);
|
|
205
308
|
// Not extendingToken.set: when the extended token is an extension
|
|
206
309
|
// that hasn't been set, that is the extended token's own wrapper,
|
|
207
310
|
// which sets the extended token.
|
|
208
311
|
const set = LibraryToken.prototype.set;
|
|
209
312
|
extendingToken.set = (value) => {
|
|
210
|
-
|
|
313
|
+
inherited.detach();
|
|
211
314
|
// Own the inherited value, so set() detaches even when the
|
|
212
315
|
// new value is identical and doesn't notify.
|
|
213
316
|
extendingToken.raw = extendingToken.raw;
|
|
@@ -255,9 +358,10 @@ const tokenAt = (tokens, path) => {
|
|
|
255
358
|
};
|
|
256
359
|
/**
|
|
257
360
|
* Resolves a value in a library's scope. A ref is replaced by its token's
|
|
258
|
-
* value,
|
|
259
|
-
*
|
|
260
|
-
*
|
|
361
|
+
* value, as it is: the value is resolved and frozen already, so it isn't
|
|
362
|
+
* copied again. A computed value is replaced by the result of its recipe's
|
|
363
|
+
* function, or of the function that overrides it in the scope, called with
|
|
364
|
+
* its arguments resolved. Plain data is copied from its own properties, including
|
|
261
365
|
* symbol-keyed and non-enumerable ones, with its refs resolved, and the copy
|
|
262
366
|
* is frozen, so the config isn't. A getter is read once, into a data
|
|
263
367
|
* property. An object that is in the value twice, or in itself, has one copy.
|
|
@@ -271,7 +375,7 @@ const resolve = (value, scope) => {
|
|
|
271
375
|
return value;
|
|
272
376
|
}
|
|
273
377
|
if (isRef(value)) {
|
|
274
|
-
return
|
|
378
|
+
return tokenAt(scope.tokens, value[REF]).$value;
|
|
275
379
|
}
|
|
276
380
|
if (isComputed(value)) {
|
|
277
381
|
const { recipe, args } = value[COMPUTED];
|
|
@@ -322,14 +426,29 @@ class LibraryImpl {
|
|
|
322
426
|
scope;
|
|
323
427
|
queue;
|
|
324
428
|
tokens;
|
|
325
|
-
|
|
429
|
+
/**
|
|
430
|
+
* The inherited tokens of an extension. Each follows its source token
|
|
431
|
+
* once it is read, and all of them once the library has a subscriber,
|
|
432
|
+
* after which this is null.
|
|
433
|
+
*/
|
|
434
|
+
inherited;
|
|
435
|
+
constructor(scope, queue, inherited = []) {
|
|
326
436
|
this.scope = scope;
|
|
327
437
|
this.queue = queue;
|
|
328
438
|
this.tokens = scope.tokens;
|
|
439
|
+
this.inherited = inherited;
|
|
329
440
|
// Groups are frozen as they are built; the root is frozen here.
|
|
330
441
|
Object.freeze(this.tokens);
|
|
331
442
|
}
|
|
332
443
|
subscribe(subscriber) {
|
|
444
|
+
// A subscriber is told of a change to a token of the source that the
|
|
445
|
+
// extension hasn't read.
|
|
446
|
+
if (this.inherited !== null) {
|
|
447
|
+
for (const token of this.inherited) {
|
|
448
|
+
token.follow();
|
|
449
|
+
}
|
|
450
|
+
this.inherited = null;
|
|
451
|
+
}
|
|
333
452
|
this.queue.subscribe(subscriber);
|
|
334
453
|
}
|
|
335
454
|
unsubscribe(subscriber) {
|
|
@@ -342,14 +461,24 @@ class LibraryImpl {
|
|
|
342
461
|
for (const { recipe, fn } of options.recipes ?? []) {
|
|
343
462
|
recipes.set(recipe, fn);
|
|
344
463
|
}
|
|
345
|
-
const scope = {
|
|
346
|
-
|
|
347
|
-
|
|
464
|
+
const scope = {
|
|
465
|
+
tokens: {},
|
|
466
|
+
recipes,
|
|
467
|
+
configurationVersion: 0,
|
|
468
|
+
source: this.scope,
|
|
469
|
+
};
|
|
470
|
+
const inherited = [];
|
|
471
|
+
recurseExtend("", this.tokens, scope.tokens, config, scope, null, queue, inherited);
|
|
472
|
+
return new LibraryImpl(scope, queue, inherited);
|
|
348
473
|
}
|
|
349
474
|
static create(config) {
|
|
350
475
|
assertNoRoot(config);
|
|
351
476
|
const queue = new Queue();
|
|
352
|
-
const scope = {
|
|
477
|
+
const scope = {
|
|
478
|
+
tokens: {},
|
|
479
|
+
recipes: new Map(),
|
|
480
|
+
configurationVersion: 0,
|
|
481
|
+
};
|
|
353
482
|
recurseCreate("", scope.tokens, config, scope, null, queue);
|
|
354
483
|
return new LibraryImpl(scope, queue);
|
|
355
484
|
}
|
|
@@ -451,6 +580,7 @@ class LibraryToken {
|
|
|
451
580
|
return;
|
|
452
581
|
}
|
|
453
582
|
this.raw = value;
|
|
583
|
+
this.scope.configurationVersion++;
|
|
454
584
|
this.onChange();
|
|
455
585
|
}
|
|
456
586
|
onChange() {
|
|
@@ -479,5 +609,214 @@ class LibraryToken {
|
|
|
479
609
|
notifier.subscribe(this);
|
|
480
610
|
}
|
|
481
611
|
}
|
|
612
|
+
/**
|
|
613
|
+
* The value a token was configured or last set with. An extension's
|
|
614
|
+
* token that has no value of its own inherits its source's.
|
|
615
|
+
*/
|
|
616
|
+
static configuredValue(token) {
|
|
617
|
+
return token.raw;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* The tokens that the refs in a token's configured value are to, in the
|
|
621
|
+
* token's library, searched as {@link resolve} resolves them: in plain
|
|
622
|
+
* data and in the arguments of computed values.
|
|
623
|
+
*/
|
|
624
|
+
static dependencies(token) {
|
|
625
|
+
const dependencies = new Set();
|
|
626
|
+
const seen = new Set();
|
|
627
|
+
const walk = (value) => {
|
|
628
|
+
if (!isObject(value) || seen.has(value)) {
|
|
629
|
+
return;
|
|
630
|
+
}
|
|
631
|
+
seen.add(value);
|
|
632
|
+
if (isRef(value)) {
|
|
633
|
+
dependencies.add(tokenAt(token.scope.tokens, value[REF]));
|
|
634
|
+
}
|
|
635
|
+
else if (isComputed(value)) {
|
|
636
|
+
value[COMPUTED].args.forEach(walk);
|
|
637
|
+
}
|
|
638
|
+
else if (isPlain(value)) {
|
|
639
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
640
|
+
walk(Reflect.get(value, key));
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
};
|
|
644
|
+
walk(token.raw);
|
|
645
|
+
return dependencies;
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* The tokens of the token's library whose configured values refer to it.
|
|
649
|
+
* The index is made from the library's tokens once, and again after a
|
|
650
|
+
* token is set to a different value.
|
|
651
|
+
*/
|
|
652
|
+
static dependents(token) {
|
|
653
|
+
const version = configurationVersionOf(token.scope);
|
|
654
|
+
let index = dependentsIndexes.get(token.scope);
|
|
655
|
+
if (index?.version !== version) {
|
|
656
|
+
const dependents = new Map();
|
|
657
|
+
for (const entry of walkEntries(token.scope.tokens, [], {
|
|
658
|
+
whatToShow: "token",
|
|
659
|
+
})) {
|
|
660
|
+
const dependent = libraryTokenOf(entry.token);
|
|
661
|
+
for (const dependency of LibraryToken.dependencies(dependent)) {
|
|
662
|
+
const list = dependents.get(dependency);
|
|
663
|
+
if (list) {
|
|
664
|
+
list.push(dependent);
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
dependents.set(dependency, [dependent]);
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
index = { version, dependents };
|
|
672
|
+
dependentsIndexes.set(token.scope, index);
|
|
673
|
+
}
|
|
674
|
+
return index.dependents.get(token) ?? [];
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
const libraryTokenOf = (token) => {
|
|
678
|
+
if (!(token instanceof LibraryToken)) {
|
|
679
|
+
throw new Error(`"${token.name}" is not a token of a library.`);
|
|
680
|
+
}
|
|
681
|
+
return token;
|
|
682
|
+
};
|
|
683
|
+
/**
|
|
684
|
+
* A token's value as it was configured, or last given to `set()`, with its
|
|
685
|
+
* refs and computed values unresolved. A token of a library made by
|
|
686
|
+
* `extend()` that isn't given a value has its source token's.
|
|
687
|
+
*
|
|
688
|
+
* @remarks
|
|
689
|
+
* A token's `$value` is resolved, so it can't tell a value that is given from
|
|
690
|
+
* one that is derived from other tokens, or say where in a value a ref is. A
|
|
691
|
+
* tool that reads how a library is configured finds the refs in this value
|
|
692
|
+
* with {@link isRef} and the computed values with {@link isComputed}: a value
|
|
693
|
+
* with neither, at any depth, is given. A converter that writes a ref as a
|
|
694
|
+
* CSS `var()`, rather than its token's value, reads the ref here and its
|
|
695
|
+
* path with {@link pathOf}.
|
|
696
|
+
*
|
|
697
|
+
* It's the value the token holds, not a copy, so it isn't frozen. Changing it
|
|
698
|
+
* doesn't change the token: give a new value to `set()`. Refs and computed
|
|
699
|
+
* values are searched for in plain data, as the library resolves them, and
|
|
700
|
+
* not in a class instance or a function.
|
|
701
|
+
*
|
|
702
|
+
* @example
|
|
703
|
+
* ```ts
|
|
704
|
+
* const isGiven = (value: unknown): boolean =>
|
|
705
|
+
* !isRef(value) &&
|
|
706
|
+
* !isComputed(value) &&
|
|
707
|
+
* (typeof value !== "object" || value === null ||
|
|
708
|
+
* Object.values(value).every(isGiven));
|
|
709
|
+
*
|
|
710
|
+
* isGiven(configuredValueOf(library.tokens.colors.primary)); // true
|
|
711
|
+
* isGiven(configuredValueOf(library.tokens.colors.hover)); // false: a recipe
|
|
712
|
+
* ```
|
|
713
|
+
*
|
|
714
|
+
* @public
|
|
715
|
+
*/
|
|
716
|
+
export const configuredValueOf = (token) => LibraryToken.configuredValue(libraryTokenOf(token));
|
|
717
|
+
/**
|
|
718
|
+
* The tokens that a token's value refers to, through refs anywhere in its
|
|
719
|
+
* configured value, including the arguments of the recipes it's computed
|
|
720
|
+
* with, in the token's library. Each token is listed once, in the order its
|
|
721
|
+
* first ref is in the value.
|
|
722
|
+
*
|
|
723
|
+
* @remarks
|
|
724
|
+
* These are the tokens the value is made from, and not theirs in turn: a
|
|
725
|
+
* tool follows each with `dependenciesOf()` for the whole chain. A value
|
|
726
|
+
* computed by a recipe from literal arguments only has no dependencies,
|
|
727
|
+
* though it's derived: {@link configuredValueOf} tells that apart.
|
|
728
|
+
*
|
|
729
|
+
* It throws when a ref's path isn't a token of the library, as reading the
|
|
730
|
+
* token's `$value` does.
|
|
731
|
+
*
|
|
732
|
+
* @example
|
|
733
|
+
* ```ts
|
|
734
|
+
* // hover: { $value: Recipes.darken(theme.colors.primary, 0.2) }
|
|
735
|
+
* dependenciesOf(library.tokens.colors.hover).map((token) => token.name);
|
|
736
|
+
* // ["colors.primary"]
|
|
737
|
+
* ```
|
|
738
|
+
*
|
|
739
|
+
* @public
|
|
740
|
+
*/
|
|
741
|
+
export const dependenciesOf = (token) =>
|
|
742
|
+
// The token at a ref's path is a token of the library, of shape `R`: the
|
|
743
|
+
// config's types guarantee it.
|
|
744
|
+
Object.freeze([
|
|
745
|
+
...LibraryToken.dependencies(libraryTokenOf(token)),
|
|
746
|
+
]);
|
|
747
|
+
export function entriesOf(library, options = {}) {
|
|
748
|
+
return walkEntries(library.tokens, [], options);
|
|
749
|
+
}
|
|
750
|
+
function* walkEntries(node, path, options) {
|
|
751
|
+
const { whatToShow = "all", filter } = options;
|
|
752
|
+
for (const key of Object.keys(node)) {
|
|
753
|
+
if (!isChildKey(key)) {
|
|
754
|
+
continue;
|
|
755
|
+
}
|
|
756
|
+
const child = node[key];
|
|
757
|
+
const childPath = [...path, key];
|
|
758
|
+
const entry = isToken(child)
|
|
759
|
+
? { kind: "token", path: childPath, token: child }
|
|
760
|
+
: { kind: "group", path: childPath, group: child };
|
|
761
|
+
let result = true;
|
|
762
|
+
if (whatToShow === "all" || whatToShow === entry.kind) {
|
|
763
|
+
result = filter?.(entry) ?? true;
|
|
764
|
+
if (result === true) {
|
|
765
|
+
yield entry;
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
if (entry.kind === "group" && result !== "reject") {
|
|
769
|
+
yield* walkEntries(child, childPath, options);
|
|
770
|
+
}
|
|
771
|
+
}
|
|
482
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* The tokens whose values refer to a token, through refs anywhere in their
|
|
775
|
+
* configured values, including the arguments of their recipes, in the
|
|
776
|
+
* token's library. It is the reverse of {@link dependenciesOf}: each token is
|
|
777
|
+
* listed once, in the order of the library.
|
|
778
|
+
*
|
|
779
|
+
* @remarks
|
|
780
|
+
* These are the tokens that refer to the token directly. A token whose value
|
|
781
|
+
* may change when this one is set is also one that refers to one of those: a
|
|
782
|
+
* tool follows each with `dependentsOf()` for the whole set, as it follows
|
|
783
|
+
* {@link dependenciesOf} for the chain the other way.
|
|
784
|
+
*
|
|
785
|
+
* This reads the configured values and not the values, so it resolves no
|
|
786
|
+
* token, and so it is known of a library whose tokens have not been read. It
|
|
787
|
+
* is found for the whole library once and kept until a token is set to a
|
|
788
|
+
* different value, so each call after the first is a lookup. A value a recipe
|
|
789
|
+
* reads other than through its arguments is not seen, as for
|
|
790
|
+
* {@link dependenciesOf}.
|
|
791
|
+
*
|
|
792
|
+
* It throws when a ref in a token of the library isn't a token of it, as
|
|
793
|
+
* reading the token's `$value` does.
|
|
794
|
+
*
|
|
795
|
+
* @example
|
|
796
|
+
* ```ts
|
|
797
|
+
* // hover: { $value: Recipes.darken(theme.colors.primary, 0.2) }
|
|
798
|
+
* dependentsOf(library.tokens.colors.primary).map((token) => token.name);
|
|
799
|
+
* // ["colors.hover"]
|
|
800
|
+
*
|
|
801
|
+
* // Every token that may change when a token is set
|
|
802
|
+
* const affected = new Set<Library.Token<any, any>>();
|
|
803
|
+
* const visit = (token: Library.Token<any, any>) => {
|
|
804
|
+
* for (const dependent of dependentsOf(token)) {
|
|
805
|
+
* if (!affected.has(dependent)) {
|
|
806
|
+
* affected.add(dependent);
|
|
807
|
+
* visit(dependent);
|
|
808
|
+
* }
|
|
809
|
+
* }
|
|
810
|
+
* };
|
|
811
|
+
* visit(extension.tokens.color.context);
|
|
812
|
+
* ```
|
|
813
|
+
*
|
|
814
|
+
* @public
|
|
815
|
+
*/
|
|
816
|
+
export const dependentsOf = (token) =>
|
|
817
|
+
// The tokens that refer to a token are of its library, of shape `R`: the
|
|
818
|
+
// config's types guarantee it.
|
|
819
|
+
Object.freeze([
|
|
820
|
+
...LibraryToken.dependents(libraryTokenOf(token)),
|
|
821
|
+
]);
|
|
483
822
|
//# sourceMappingURL=library.js.map
|
package/dist/lib/library.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/lib/library.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/lib/library.ts"],"names":[],"mappings":"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"}
|