@terrazzo/parser 0.4.0 → 0.6.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +62 -12
  2. package/dist/build/index.d.ts +1 -0
  3. package/dist/build/index.d.ts.map +1 -0
  4. package/dist/build/index.js +13 -14
  5. package/dist/build/index.js.map +1 -1
  6. package/dist/config.d.ts +1 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +42 -21
  9. package/dist/config.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/lib/code-frame.d.ts +1 -0
  13. package/dist/lib/code-frame.d.ts.map +1 -0
  14. package/dist/lint/index.d.ts +1 -0
  15. package/dist/lint/index.d.ts.map +1 -0
  16. package/dist/lint/index.js +8 -5
  17. package/dist/lint/index.js.map +1 -1
  18. package/dist/lint/plugin-core/index.d.ts +1 -0
  19. package/dist/lint/plugin-core/index.d.ts.map +1 -0
  20. package/dist/lint/plugin-core/lib/docs.d.ts +1 -0
  21. package/dist/lint/plugin-core/lib/docs.d.ts.map +1 -0
  22. package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts +1 -0
  23. package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts.map +1 -0
  24. package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts +1 -0
  25. package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts.map +1 -0
  26. package/dist/lint/plugin-core/rules/colorspace.d.ts +1 -0
  27. package/dist/lint/plugin-core/rules/colorspace.d.ts.map +1 -0
  28. package/dist/lint/plugin-core/rules/consistent-naming.d.ts +1 -0
  29. package/dist/lint/plugin-core/rules/consistent-naming.d.ts.map +1 -0
  30. package/dist/lint/plugin-core/rules/descriptions.d.ts +1 -0
  31. package/dist/lint/plugin-core/rules/descriptions.d.ts.map +1 -0
  32. package/dist/lint/plugin-core/rules/duplicate-values.d.ts +1 -0
  33. package/dist/lint/plugin-core/rules/duplicate-values.d.ts.map +1 -0
  34. package/dist/lint/plugin-core/rules/duplicate-values.js +1 -1
  35. package/dist/lint/plugin-core/rules/duplicate-values.js.map +1 -1
  36. package/dist/lint/plugin-core/rules/max-gamut.d.ts +1 -0
  37. package/dist/lint/plugin-core/rules/max-gamut.d.ts.map +1 -0
  38. package/dist/lint/plugin-core/rules/required-children.d.ts +1 -0
  39. package/dist/lint/plugin-core/rules/required-children.d.ts.map +1 -0
  40. package/dist/lint/plugin-core/rules/required-modes.d.ts +1 -0
  41. package/dist/lint/plugin-core/rules/required-modes.d.ts.map +1 -0
  42. package/dist/lint/plugin-core/rules/required-typography-properties.d.ts +1 -0
  43. package/dist/lint/plugin-core/rules/required-typography-properties.d.ts.map +1 -0
  44. package/dist/logger.d.ts +4 -3
  45. package/dist/logger.d.ts.map +1 -0
  46. package/dist/logger.js +25 -14
  47. package/dist/logger.js.map +1 -1
  48. package/dist/parse/alias.d.ts +31 -48
  49. package/dist/parse/alias.d.ts.map +1 -0
  50. package/dist/parse/alias.js +281 -175
  51. package/dist/parse/alias.js.map +1 -1
  52. package/dist/parse/index.d.ts +1 -0
  53. package/dist/parse/index.d.ts.map +1 -0
  54. package/dist/parse/index.js +59 -70
  55. package/dist/parse/index.js.map +1 -1
  56. package/dist/parse/json.d.ts +3 -3
  57. package/dist/parse/json.d.ts.map +1 -0
  58. package/dist/parse/json.js +5 -7
  59. package/dist/parse/json.js.map +1 -1
  60. package/dist/parse/normalize.d.ts +1 -0
  61. package/dist/parse/normalize.d.ts.map +1 -0
  62. package/dist/parse/normalize.js +13 -7
  63. package/dist/parse/normalize.js.map +1 -1
  64. package/dist/parse/validate.d.ts +6 -0
  65. package/dist/parse/validate.d.ts.map +1 -0
  66. package/dist/parse/validate.js +205 -125
  67. package/dist/parse/validate.js.map +1 -1
  68. package/dist/types.d.ts +1 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/package.json +2 -2
  71. package/src/build/index.ts +13 -14
  72. package/src/config.ts +42 -22
  73. package/src/lint/index.ts +8 -6
  74. package/src/lint/plugin-core/rules/duplicate-values.ts +1 -1
  75. package/src/logger.ts +30 -20
  76. package/src/parse/alias.ts +330 -194
  77. package/src/parse/index.ts +59 -73
  78. package/src/parse/json.ts +6 -8
  79. package/src/parse/normalize.ts +14 -7
  80. package/src/parse/validate.ts +215 -128
@@ -1,195 +1,301 @@
1
- import { isAlias, parseAlias } from '@terrazzo/token-tools';
2
- /** Throw error if resolved alias for composite properties doesn’t match expected $type. */
3
- export const COMPOSITE_TYPE_VALUES = {
4
- border: {
5
- color: ['color'],
6
- width: ['dimension'],
7
- strokeStyle: ['strokeStyle'],
8
- },
9
- gradient: {
10
- color: ['color'],
11
- position: ['number'],
12
- },
13
- shadow: {
14
- color: ['color'],
15
- position: ['dimension'],
16
- },
17
- strokeStyle: {
18
- dashArray: ['dimension'],
19
- },
20
- transition: {
21
- duration: ['duration'],
22
- delay: ['duration'],
23
- timingFunction: ['cubicBezier'],
24
- },
25
- typography: {
26
- fontFamily: ['fontFamily'],
27
- fontSize: ['dimension'],
28
- fontWeight: ['fontWeight'],
29
- letterSpacing: ['dimension'],
30
- lineHeight: ['dimension', 'number'],
31
- },
32
- };
33
- /** Resolve alias */
34
- export function resolveAlias(alias, { tokens, logger, filename, src, node, scanned = [], }) {
35
- const { id } = parseAlias(alias);
36
- if (!tokens[id]) {
37
- logger.error({ message: `Alias "${alias}" not found.`, filename, src, node });
1
+ import { isAlias, parseAlias, } from '@terrazzo/token-tools';
2
+ import { getObjMembers } from './json.js';
3
+ /**
4
+ * Resolve aliases and update the token nodes.
5
+ *
6
+ * Data structures are in an awkward in-between phase, where they have
7
+ * placeholders for data but we still need to resolve everything. As such,
8
+ * TypeScript will raise errors expecting the final shape.
9
+ *
10
+ * This is also a bit tricky because different token types alias slightly
11
+ * differently. For example, color tokens and other “primitive” tokens behave
12
+ * as-expected. But composite tokens like Typography, Gradient, Border, etc. can
13
+ * either fully- or partially-alias their values. Then we add modes to the mix,
14
+ * and we have to do the work all over again for each mode declared.
15
+ *
16
+ * All that to say, there are a generous amount of TypeScript overrides here rather
17
+ * than try to codify indeterminate shapes.
18
+ */
19
+ export default function applyAliases(token, options) {
20
+ // prepopulate default mode (if not set)
21
+ token.mode['.'] ??= {};
22
+ token.mode['.'].$value = token.$value;
23
+ token.mode['.'].originalValue ??= token.originalValue.$value;
24
+ token.mode['.'].source ??= token.source;
25
+ // resolve root
26
+ if (typeof token.$value === 'string' && isAlias(token.$value)) {
27
+ const { aliasChain, resolvedToken } = resolveAlias(token.$value, { ...options, token });
28
+ token.aliasOf = resolvedToken.id;
29
+ token.aliasChain = aliasChain;
30
+ token.$value = resolvedToken.$value;
31
+ }
32
+ // resolve modes
33
+ for (const mode of Object.keys(token.mode)) {
34
+ const modeValue = token.mode[mode].$value;
35
+ // if the entire mode value is a simple alias, resolve & continue
36
+ if (typeof modeValue === 'string' && isAlias(modeValue)) {
37
+ const expectedType = [token.$type];
38
+ const { aliasChain, resolvedToken } = resolveAlias(modeValue, {
39
+ ...options,
40
+ token,
41
+ expectedType,
42
+ node: token.mode[mode].source?.node || options.node,
43
+ });
44
+ token.mode[mode].aliasOf = resolvedToken.id;
45
+ token.mode[mode].aliasChain = aliasChain;
46
+ token.mode[mode].$value = resolvedToken.$value;
47
+ continue;
48
+ }
49
+ // object types: expand default $value into current mode
50
+ if (typeof token.$value === 'object' &&
51
+ typeof token.mode[mode].$value === 'object' &&
52
+ !Array.isArray(token.$value)) {
53
+ for (const [k, v] of Object.entries(token.$value)) {
54
+ if (!(k in token.mode[mode].$value)) {
55
+ token.mode[mode].$value[k] = v;
56
+ }
57
+ }
58
+ }
59
+ // if the mode is an object or array that’s partially aliased, do work per-token type
60
+ const node = getObjMembers(options.node).$value || options.node;
61
+ switch (token.$type) {
62
+ case 'border': {
63
+ applyBorderPartialAlias(token, mode, { ...options, node });
64
+ break;
65
+ }
66
+ case 'gradient': {
67
+ applyGradientPartialAlias(token, mode, { ...options, node });
68
+ break;
69
+ }
70
+ case 'shadow': {
71
+ applyShadowPartialAlias(token, mode, { ...options, node });
72
+ break;
73
+ }
74
+ case 'strokeStyle': {
75
+ applyStrokeStylePartialAlias(token, mode, { ...options, node });
76
+ break;
77
+ }
78
+ case 'transition': {
79
+ applyTransitionPartialAlias(token, mode, { ...options, node });
80
+ break;
81
+ }
82
+ case 'typography': {
83
+ applyTypographyPartialAlias(token, mode, { ...options, node });
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ }
89
+ const LIST_FORMAT = new Intl.ListFormat('en-us', { type: 'disjunction' });
90
+ /**
91
+ * Resolve alias. Also add info on root node if it’s the root token (has .id)
92
+ */
93
+ function resolveAlias(alias, options) {
94
+ const baseMessage = {
95
+ group: 'parser',
96
+ label: 'alias',
97
+ node: options?.node,
98
+ filename: options.filename,
99
+ src: options.src,
100
+ };
101
+ const { logger, token, tokensSet } = options;
102
+ const shallowAliasID = parseAlias(alias);
103
+ const { token: resolvedToken, chain } = _resolveAliasInner(shallowAliasID, options);
104
+ // Apply missing $types while resolving
105
+ if (!tokensSet[token.id].$type) {
106
+ tokensSet[token.id].$type = resolvedToken.$type;
107
+ }
108
+ // throw error if expectedType differed
109
+ const expectedType = [...(options.expectedType ?? [])];
110
+ if (token.$type && !expectedType?.length) {
111
+ expectedType.push(token.$type);
112
+ }
113
+ if (expectedType?.length && !expectedType.includes(resolvedToken.$type)) {
114
+ logger.error({
115
+ ...baseMessage,
116
+ message: `Invalid alias: expected $type: ${LIST_FORMAT.format(expectedType)}, received $type: ${resolvedToken.$type}.`,
117
+ node: (options.node?.type === 'Object' && getObjMembers(options.node).$value) || baseMessage.node,
118
+ });
119
+ }
120
+ // Apply reverse aliases as we’re traversing the graph
121
+ if (chain?.length && resolvedToken) {
122
+ let needsSort = false;
123
+ for (const id of chain) {
124
+ if (id !== resolvedToken.id && !resolvedToken.aliasedBy?.includes(id)) {
125
+ resolvedToken.aliasedBy ??= [];
126
+ resolvedToken.aliasedBy.push(id);
127
+ needsSort = true;
128
+ }
129
+ if (token && !resolvedToken.aliasedBy?.includes(token.id)) {
130
+ resolvedToken.aliasedBy ??= [];
131
+ resolvedToken.aliasedBy.push(token.id);
132
+ needsSort = true;
133
+ }
134
+ }
135
+ if (needsSort) {
136
+ resolvedToken.aliasedBy.sort((a, b) => a.localeCompare(b, 'en-us', { numeric: true }));
137
+ }
138
+ }
139
+ return { resolvedToken: resolvedToken, aliasChain: chain };
140
+ }
141
+ function _resolveAliasInner(alias, { scanned = [], ...options }) {
142
+ const { logger, filename, src, node, tokensSet } = options;
143
+ const baseMessage = { group: 'parser', label: 'alias', filename, src, node };
144
+ const id = parseAlias(alias);
145
+ if (!tokensSet[id]) {
146
+ logger.error({ ...baseMessage, message: `Alias {${alias}} not found.` });
38
147
  }
39
148
  if (scanned.includes(id)) {
40
- logger.error({ message: `Circular alias detected from "${alias}".`, filename, src, node });
149
+ logger.error({ ...baseMessage, message: `Circular alias detected from ${alias}.` });
41
150
  }
42
- const token = tokens[id];
43
- if (!isAlias(token.$value)) {
44
- return id;
151
+ const token = tokensSet[id];
152
+ scanned.push(id);
153
+ // important: use originalValue to trace the full alias path correctly
154
+ // finish resolution
155
+ if (typeof token.originalValue.$value !== 'string' || !isAlias(token.originalValue.$value)) {
156
+ return { token, chain: scanned };
45
157
  }
46
- return resolveAlias(token.$value, { tokens, logger, filename, node, src, scanned: [...scanned, id] });
158
+ // continue resolving
159
+ return _resolveAliasInner(token.originalValue.$value, { ...options, scanned });
47
160
  }
48
- /** Resolve aliases, update values, and mutate `token` to add `aliasOf` / `partialAliasOf` */
49
- export function applyAliases(token, { tokens, logger, filename, src, node, }) {
50
- const $valueNode = (node.type === 'Object' && node.members.find((m) => m.name.value === '$value')?.value) || node;
51
- const expectedAliasTypes = token.$type in COMPOSITE_TYPE_VALUES && COMPOSITE_TYPE_VALUES[token.$type];
52
- // handle simple aliases
53
- if (isAlias(token.$value)) {
54
- const aliasOfID = resolveAlias(token.$value, { tokens, logger, filename, node, src });
55
- const { mode: aliasMode } = parseAlias(token.$value);
56
- const aliasOf = tokens[aliasOfID];
57
- token.aliasOf = aliasOfID;
58
- token.$value = aliasOf.mode[aliasMode]?.$value || aliasOf.$value;
59
- if (token.$type && token.$type !== aliasOf.$type) {
60
- logger.error({
61
- message: `Invalid alias: expected $type: "${token.$type}", received $type: "${aliasOf.$type}".`,
62
- node: $valueNode,
63
- filename,
64
- src,
161
+ function applyBorderPartialAlias(token, mode, options) {
162
+ for (const [k, v] of Object.entries(token.mode[mode].$value)) {
163
+ if (typeof v === 'string' && isAlias(v)) {
164
+ token.mode[mode].partialAliasOf ??= {};
165
+ const node = getObjMembers(options.node)[k] || options.node;
166
+ const { resolvedToken } = resolveAlias(v, {
167
+ ...options,
168
+ token,
169
+ expectedType: { color: ['color'], width: ['dimension'], style: ['strokeStyle'] }[k],
170
+ node,
65
171
  });
66
- }
67
- token.$type = aliasOf.$type;
68
- // also update aliased token’s .aliasedBy value
69
- if (!tokens[aliasOfID].aliasedBy) {
70
- tokens[aliasOfID].aliasedBy = [];
71
- }
72
- if (!tokens[aliasOfID].aliasedBy.includes(token.id)) {
73
- tokens[aliasOfID].aliasedBy.push(token.id);
74
- tokens[aliasOfID].aliasedBy.sort((a, b) => a.localeCompare(b, 'en-us', { numeric: true })); // sort to improve downstream plugins’ determinism
172
+ token.mode[mode].partialAliasOf[k] = parseAlias(v);
173
+ if (mode === '.') {
174
+ token.partialAliasOf ??= {};
175
+ token.partialAliasOf[k] = parseAlias(v);
176
+ }
177
+ token.mode[mode].$value[k] = resolvedToken.$value;
75
178
  }
76
179
  }
77
- // handle aliases within array values (e.g. cubicBezier, gradient)
78
- else if (token.$type === 'cubicBezier' || token.$type === 'gradient' || token.$type === 'shadow') {
79
- // some arrays are primitives, some are objects. handle both
80
- for (let i = 0; i < token.$value.length; i++) {
81
- // @ts-ignore
82
- if (isAlias(token.$value[i])) {
83
- if (!token.partialAliasOf) {
84
- token.partialAliasOf = [];
180
+ }
181
+ function applyGradientPartialAlias(token, mode, options) {
182
+ for (let i = 0; i < token.mode[mode].$value.length; i++) {
183
+ const step = token.mode[mode].$value[i];
184
+ for (const [k, v] of Object.entries(step)) {
185
+ if (typeof v === 'string' && isAlias(v)) {
186
+ token.mode[mode].partialAliasOf ??= [];
187
+ token.mode[mode].partialAliasOf[i] ??= {};
188
+ const expectedType = { color: ['color'], position: ['number'] }[k];
189
+ let node = options.node?.elements?.[i]?.value || options.node;
190
+ if (node.type === 'Object') {
191
+ node = getObjMembers(node)[k] || node;
85
192
  }
86
- // @ts-ignore
87
- const aliasOfID = resolveAlias(token.$value[i], { tokens, logger, filename, node, src });
88
- // @ts-ignore
89
- const { id: aliasID, mode: aliasMode } = parseAlias(token.$value[i]);
90
- token.partialAliasOf[i] = aliasID;
91
- // @ts-ignore
92
- token.$value[i] = (aliasMode && tokens[aliasOfID].mode[aliasMode]?.$value) || tokens[aliasOfID].$value;
93
- }
94
- else if (typeof token.$value[i] === 'object') {
95
- for (const [property, subvalue] of Object.entries(token.$value[i])) {
96
- if (isAlias(subvalue)) {
97
- if (!token.partialAliasOf) {
98
- token.partialAliasOf = [];
99
- }
100
- if (!token.partialAliasOf[i]) {
101
- token.partialAliasOf[i] = {};
102
- }
103
- const aliasOfID = resolveAlias(subvalue, { tokens, logger, filename, node, src });
104
- const { id: aliasID, mode: aliasMode } = parseAlias(subvalue);
105
- const aliasToken = tokens[aliasOfID];
106
- const possibleTypes = expectedAliasTypes?.[property] || [];
107
- if (possibleTypes.length && !possibleTypes.includes(aliasToken.$type)) {
108
- const elementNode = $valueNode.elements[i].value;
109
- logger.error({
110
- message: `Invalid alias: expected $type: "${possibleTypes.join('" or "')}", received $type: "${aliasToken.$type}".`,
111
- node: elementNode.members.find((m) => m.name.value === property).value,
112
- filename,
113
- src,
114
- });
115
- }
116
- // @ts-ignore
117
- token.partialAliasOf[i][property] = aliasID; // also keep the shallow alias here, too!
118
- // @ts-ignore
119
- token.$value[i][property] = (aliasMode && aliasToken.mode[aliasMode]?.$value) || aliasToken.$value;
120
- }
193
+ const { resolvedToken } = resolveAlias(v, { ...options, token, expectedType, node });
194
+ token.mode[mode].partialAliasOf[i][k] = parseAlias(v);
195
+ if (mode === '.') {
196
+ token.partialAliasOf ??= [];
197
+ token.partialAliasOf[i] ??= {};
198
+ token.partialAliasOf[i][k] = parseAlias(v);
121
199
  }
200
+ step[k] = resolvedToken.$value;
122
201
  }
123
202
  }
124
203
  }
125
- // handle aliases within object (composite) values (e.g. border, typography, transition)
126
- else if (typeof token.$value === 'object') {
127
- for (const [property, subvalue] of Object.entries(token.$value)) {
128
- if (!Object.hasOwn(token.$value, property)) {
129
- continue;
130
- }
131
- if (isAlias(subvalue)) {
132
- if (!token.partialAliasOf) {
133
- token.partialAliasOf = {};
204
+ }
205
+ function applyShadowPartialAlias(token, mode, options) {
206
+ // shadow-only fix: historically this token type may or may not allow an array
207
+ // of values, and at this stage in parsing, they all might not have been
208
+ // normalized yet.
209
+ if (!Array.isArray(token.mode[mode].$value)) {
210
+ token.mode[mode].$value = [token.mode[mode].$value];
211
+ }
212
+ for (let i = 0; i < token.mode[mode].$value.length; i++) {
213
+ const layer = token.mode[mode].$value[i];
214
+ for (const [k, v] of Object.entries(layer)) {
215
+ if (typeof v === 'string' && isAlias(v)) {
216
+ token.mode[mode].partialAliasOf ??= [];
217
+ token.mode[mode].partialAliasOf[i] ??= {};
218
+ const expectedType = {
219
+ offsetX: ['dimension'],
220
+ offsetY: ['dimension'],
221
+ blur: ['dimension'],
222
+ spread: ['dimension'],
223
+ color: ['color'],
224
+ inset: ['boolean'],
225
+ }[k];
226
+ let node = options.node?.elements?.[i] || options.node;
227
+ if (node.type === 'Object') {
228
+ node = getObjMembers(node)[k] || node;
134
229
  }
135
- const aliasOfID = resolveAlias(subvalue, { tokens, logger, filename, node, src });
136
- const { id: aliasID, mode: aliasMode } = parseAlias(subvalue);
137
- // @ts-ignore
138
- token.partialAliasOf[property] = aliasID; // keep the shallow alias!
139
- const aliasToken = tokens[aliasOfID];
140
- // @ts-ignore
141
- if (expectedAliasTypes?.[property] && !expectedAliasTypes[property].includes(aliasToken.$type)) {
142
- logger.error({
143
- // @ts-ignore
144
- message: `Invalid alias: expected $type: "${expectedAliasTypes[property].join('" or "')}", received $type: "${aliasToken.$type}".`,
145
- // @ts-ignore
146
- node: $valueNode.members.find((m) => m.name.value === property).value,
147
- filename,
148
- src,
149
- });
230
+ const { resolvedToken } = resolveAlias(v, { ...options, token, expectedType, node });
231
+ token.mode[mode].partialAliasOf[i][k] = parseAlias(v);
232
+ if (mode === '.') {
233
+ token.partialAliasOf ??= [];
234
+ token.partialAliasOf[i] ??= {};
235
+ token.partialAliasOf[i][k] = parseAlias(v);
150
236
  }
151
- // @ts-ignore
152
- token.$value[property] = aliasToken.mode[aliasMode]?.$value || aliasToken.$value;
237
+ layer[k] = resolvedToken.$value;
153
238
  }
154
- // strokeStyle has an array within an object
155
- // @ts-ignore
156
- else if (Array.isArray(token.$value[property])) {
157
- // @ts-ignore
158
- for (let i = 0; i < token.$value[property].length; i++) {
159
- // @ts-ignore
160
- if (isAlias(token.$value[property][i])) {
161
- // @ts-ignore
162
- const aliasOfID = resolveAlias(token.$value[property][i], { tokens, logger, filename, node, src });
163
- if (!token.partialAliasOf) {
164
- token.partialAliasOf = {};
165
- }
166
- // @ts-ignore
167
- if (!token.partialAliasOf[property]) {
168
- // @ts-ignore
169
- token.partialAliasOf[property] = [];
170
- }
171
- // @ts-ignore
172
- const { id: aliasID, mode: aliasMode } = parseAlias(token.$value[property][i]);
173
- // @ts-ignore
174
- token.partialAliasOf[property][i] = aliasID; // keep the shallow alias!
175
- const aliasToken = tokens[aliasOfID];
176
- // @ts-ignore
177
- if (expectedAliasTypes?.[property] && !expectedAliasTypes[property].includes(aliasToken.$type)) {
178
- // @ts-ignore
179
- const arrayNode = $valueNode.members.find((m) => m.name.value === property).value;
180
- logger.error({
181
- // @ts-ignore
182
- message: `Invalid alias: expected $type: "${expectedAliasTypes[property].join('" or "')}", received $type: "${aliasToken.$type}".`,
183
- node: arrayNode.elements[i],
184
- filename,
185
- src,
186
- });
187
- }
188
- // @ts-ignore
189
- token.$value[property][i] = tokens[aliasOfID].mode[aliasMode]?.$value || tokens[aliasOfID].$value;
190
- }
191
- }
239
+ }
240
+ }
241
+ }
242
+ function applyStrokeStylePartialAlias(token, mode, options) {
243
+ // only dashArray can be aliased
244
+ if (typeof token.mode[mode].$value !== 'object' || !('dashArray' in token.mode[mode].$value)) {
245
+ return;
246
+ }
247
+ for (let i = 0; i < token.mode[mode].$value.dashArray.length; i++) {
248
+ const dash = token.mode[mode].$value.dashArray[i];
249
+ if (typeof dash === 'string' && isAlias(dash)) {
250
+ let node = getObjMembers(options.node).dashArray || options.node;
251
+ if (node.type === 'Array') {
252
+ node = node?.elements?.[i]?.value || node;
253
+ }
254
+ const { resolvedToken } = resolveAlias(dash, {
255
+ ...options,
256
+ token,
257
+ expectedType: ['dimension'],
258
+ node,
259
+ });
260
+ token.mode[mode].$value.dashArray[i] = resolvedToken.$value;
261
+ }
262
+ }
263
+ }
264
+ function applyTransitionPartialAlias(token, mode, options) {
265
+ for (const [k, v] of Object.entries(token.mode[mode].$value)) {
266
+ if (typeof v === 'string' && isAlias(v)) {
267
+ token.mode[mode].partialAliasOf ??= {};
268
+ const expectedType = { duration: ['duration'], delay: ['duration'], timingFunction: ['cubicBezier'] }[k];
269
+ const node = getObjMembers(options.node)[k] || options.node;
270
+ const { resolvedToken } = resolveAlias(v, { ...options, token, expectedType, node });
271
+ token.mode[mode].partialAliasOf[k] = parseAlias(v);
272
+ if (mode === '.') {
273
+ token.partialAliasOf ??= {};
274
+ token.partialAliasOf[k] = parseAlias(v);
275
+ }
276
+ token.mode[mode].$value[k] = resolvedToken.$value;
277
+ }
278
+ }
279
+ }
280
+ function applyTypographyPartialAlias(token, mode, options) {
281
+ for (const [k, v] of Object.entries(token.mode[mode].$value)) {
282
+ if (typeof v === 'string' && isAlias(v)) {
283
+ token.partialAliasOf ??= {};
284
+ token.mode[mode].partialAliasOf ??= {};
285
+ const expectedType = {
286
+ fontFamily: ['fontFamily'],
287
+ fontSize: ['dimension'],
288
+ fontWeight: ['fontWeight'],
289
+ letterSpacing: ['dimension'],
290
+ lineHeight: ['dimension', 'number'],
291
+ }[k] || ['string'];
292
+ const node = getObjMembers(options.node)[k] || options.node;
293
+ const { resolvedToken } = resolveAlias(v, { ...options, token, expectedType, node });
294
+ token.mode[mode].partialAliasOf[k] = parseAlias(v);
295
+ if (mode === '.') {
296
+ token.partialAliasOf[k] = parseAlias(v);
192
297
  }
298
+ token.mode[mode].$value[k] = resolvedToken.$value;
193
299
  }
194
300
  }
195
301
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alias.js","sourceRoot":"","sources":["../../src/parse/alias.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alias.js","sourceRoot":"","sources":["../../src/parse/alias.ts"],"names":[],"mappings":"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"}
@@ -33,3 +33,4 @@ export interface ParseResult {
33
33
  }
34
34
  /** Parse */
35
35
  export default function parse(input: Omit<InputSource, 'document'>[], { logger, skipLint, config, continueOnError, yamlToMomoa, _sources, }?: ParseOptions): Promise<ParseResult>;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAE9C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8GAA8G;IAC9G,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,YAAY;AACZ,wBAA8B,KAAK,CACjC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EACtC,EACE,MAAqB,EACrB,QAAgB,EAChB,MAAyB,EACzB,eAAuB,EACvB,WAAW,EACX,QAAa,GACd,GAAE,YAAiC,GACnC,OAAO,CAAC,WAAW,CAAC,CAwGtB"}