@sxl-studio/token-transformer 1.0.0 → 2.0.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/README.en.md +77 -608
- package/README.md +77 -685
- package/config/sxl-transform.config.yaml +120 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +411 -141
- package/dist/cli.js.map +1 -1
- package/dist/config/loader.d.ts +6 -0
- package/dist/config/loader.js +160 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +847 -0
- package/dist/config/schema.js +123 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/color-modifiers.d.ts +31 -0
- package/dist/core/color-modifiers.js +289 -0
- package/dist/core/color-modifiers.js.map +1 -0
- package/dist/core/color-parser.d.ts +24 -0
- package/dist/core/color-parser.js +281 -0
- package/dist/core/color-parser.js.map +1 -0
- package/dist/core/debug-report.d.ts +11 -0
- package/dist/core/debug-report.js +161 -0
- package/dist/core/debug-report.js.map +1 -0
- package/dist/core/incremental.d.ts +18 -0
- package/dist/core/incremental.js +105 -0
- package/dist/core/incremental.js.map +1 -0
- package/dist/core/math.d.ts +3 -0
- package/dist/core/math.js +261 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/parser.d.ts +4 -3
- package/dist/core/parser.js +68 -172
- package/dist/core/parser.js.map +1 -1
- package/dist/core/resolver.d.ts +26 -0
- package/dist/core/resolver.js +431 -0
- package/dist/core/resolver.js.map +1 -0
- package/dist/core/token-loader.d.ts +11 -0
- package/dist/core/token-loader.js +380 -0
- package/dist/core/token-loader.js.map +1 -0
- package/dist/core/token-parser.d.ts +9 -0
- package/dist/core/token-parser.js +138 -0
- package/dist/core/token-parser.js.map +1 -0
- package/dist/core/token-types.d.ts +7 -0
- package/dist/core/token-types.js +132 -0
- package/dist/core/token-types.js.map +1 -0
- package/dist/core/types.d.ts +154 -63
- package/dist/core/writer.d.ts +18 -5
- package/dist/core/writer.js +545 -91
- package/dist/core/writer.js.map +1 -1
- package/dist/emit/css.d.ts +2 -0
- package/dist/emit/css.js +538 -0
- package/dist/emit/css.js.map +1 -0
- package/dist/emit/kotlin.d.ts +2 -0
- package/dist/emit/kotlin.js +406 -0
- package/dist/emit/kotlin.js.map +1 -0
- package/dist/emit/shared.d.ts +13 -0
- package/dist/emit/shared.js +127 -0
- package/dist/emit/shared.js.map +1 -0
- package/dist/emit/swift.d.ts +2 -0
- package/dist/emit/swift.js +432 -0
- package/dist/emit/swift.js.map +1 -0
- package/dist/emit/typography.d.ts +17 -0
- package/dist/emit/typography.js +132 -0
- package/dist/emit/typography.js.map +1 -0
- package/dist/emit/xml.d.ts +2 -0
- package/dist/emit/xml.js +311 -0
- package/dist/emit/xml.js.map +1 -0
- package/dist/index.d.ts +15 -6
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/transformers/css.d.ts +1 -1
- package/dist/transformers/css.js +13 -482
- package/dist/transformers/css.js.map +1 -1
- package/dist/transformers/kotlin.d.ts +2 -2
- package/dist/transformers/kotlin.js +14 -442
- package/dist/transformers/kotlin.js.map +1 -1
- package/dist/transformers/swiftui.d.ts +2 -2
- package/dist/transformers/swiftui.js +14 -433
- package/dist/transformers/swiftui.js.map +1 -1
- package/dist/utils/color.d.ts +7 -5
- package/dist/utils/color.js +90 -86
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/dimension.d.ts +8 -5
- package/dist/utils/dimension.js +54 -52
- package/dist/utils/dimension.js.map +1 -1
- package/dist/utils/naming.d.ts +10 -12
- package/dist/utils/naming.js +102 -44
- package/dist/utils/naming.js.map +1 -1
- package/package.json +30 -10
- package/config.example.json +0 -45
- package/dist/core/loader.d.ts +0 -8
- package/dist/core/loader.js +0 -105
- package/dist/core/loader.js.map +0 -1
- package/dist/transformers/vue3.d.ts +0 -28
- package/dist/transformers/vue3.js +0 -534
- package/dist/transformers/vue3.js.map +0 -1
package/dist/utils/color.js
CHANGED
|
@@ -1,101 +1,105 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (rgbaMatch) {
|
|
9
|
-
return {
|
|
10
|
-
r: clamp255(parseFloat(rgbaMatch[1])),
|
|
11
|
-
g: clamp255(parseFloat(rgbaMatch[2])),
|
|
12
|
-
b: clamp255(parseFloat(rgbaMatch[3])),
|
|
13
|
-
a: rgbaMatch[4] !== undefined ? clamp01(parseFloat(rgbaMatch[4])) : 1,
|
|
14
|
-
};
|
|
1
|
+
import { parseCSSColor } from "../core/color-parser.js";
|
|
2
|
+
export function parseColor(raw) {
|
|
3
|
+
if (typeof raw === "string") {
|
|
4
|
+
const parsed = parseCSSColor(raw);
|
|
5
|
+
if (!parsed)
|
|
6
|
+
return null;
|
|
7
|
+
return figmaToRgba(parsed);
|
|
15
8
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
|
|
10
|
+
const obj = raw;
|
|
11
|
+
if (typeof obj.r === "number" &&
|
|
12
|
+
typeof obj.g === "number" &&
|
|
13
|
+
typeof obj.b === "number") {
|
|
14
|
+
if (obj.r <= 1 && obj.g <= 1 && obj.b <= 1) {
|
|
15
|
+
return figmaToRgba({
|
|
16
|
+
r: obj.r,
|
|
17
|
+
g: obj.g,
|
|
18
|
+
b: obj.b,
|
|
19
|
+
a: typeof obj.a === "number" ? obj.a : 1,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
r: clamp255(obj.r),
|
|
24
|
+
g: clamp255(obj.g),
|
|
25
|
+
b: clamp255(obj.b),
|
|
26
|
+
a: clamp01(typeof obj.a === "number" ? obj.a : 1),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (typeof obj.color === "string") {
|
|
30
|
+
const parsed = parseCSSColor(obj.color);
|
|
31
|
+
if (!parsed)
|
|
32
|
+
return null;
|
|
33
|
+
return figmaToRgba({
|
|
34
|
+
...parsed,
|
|
35
|
+
a: typeof obj.opacity === "number" ? clamp01(obj.opacity) : parsed.a,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
19
38
|
}
|
|
20
39
|
return null;
|
|
21
40
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
h = h[0] + h[0] + h[1] + h[1] + h[2] + h[2] + h[3] + h[3];
|
|
28
|
-
const r = parseInt(h.substring(0, 2), 16);
|
|
29
|
-
const g = parseInt(h.substring(2, 4), 16);
|
|
30
|
-
const b = parseInt(h.substring(4, 6), 16);
|
|
31
|
-
const a = h.length >= 8 ? parseInt(h.substring(6, 8), 16) / 255 : 1;
|
|
32
|
-
return { r, g, b, a };
|
|
33
|
-
}
|
|
34
|
-
function hslToRgba(h, s, l, a) {
|
|
35
|
-
s /= 100;
|
|
36
|
-
l /= 100;
|
|
37
|
-
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
38
|
-
const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
|
|
39
|
-
const m = l - c / 2;
|
|
40
|
-
let r = 0, g = 0, b = 0;
|
|
41
|
-
if (h < 60) {
|
|
42
|
-
r = c;
|
|
43
|
-
g = x;
|
|
44
|
-
}
|
|
45
|
-
else if (h < 120) {
|
|
46
|
-
r = x;
|
|
47
|
-
g = c;
|
|
48
|
-
}
|
|
49
|
-
else if (h < 180) {
|
|
50
|
-
g = c;
|
|
51
|
-
b = x;
|
|
52
|
-
}
|
|
53
|
-
else if (h < 240) {
|
|
54
|
-
g = x;
|
|
55
|
-
b = c;
|
|
56
|
-
}
|
|
57
|
-
else if (h < 300) {
|
|
58
|
-
r = x;
|
|
59
|
-
b = c;
|
|
41
|
+
export function rgbaToCss(color) {
|
|
42
|
+
if (color.a <= 0.0001)
|
|
43
|
+
return "transparent";
|
|
44
|
+
if (color.a < 1) {
|
|
45
|
+
return `rgba(${color.r}, ${color.g}, ${color.b}, ${round(color.a)})`;
|
|
60
46
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
47
|
+
return rgbaToHex(color);
|
|
48
|
+
}
|
|
49
|
+
export function rgbaToHex(color) {
|
|
50
|
+
const hex = (value) => Math.round(value).toString(16).padStart(2, "0");
|
|
51
|
+
const base = `#${hex(color.r)}${hex(color.g)}${hex(color.b)}`;
|
|
52
|
+
if (color.a < 1)
|
|
53
|
+
return `${base}${hex(color.a * 255)}`;
|
|
54
|
+
return base;
|
|
55
|
+
}
|
|
56
|
+
export function rgbaToSwift(color) {
|
|
57
|
+
if (color.a <= 0.0001)
|
|
58
|
+
return "Color.clear";
|
|
59
|
+
const red = round(color.r / 255);
|
|
60
|
+
const green = round(color.g / 255);
|
|
61
|
+
const blue = round(color.b / 255);
|
|
62
|
+
if (color.a < 1) {
|
|
63
|
+
return `Color(red: ${red}, green: ${green}, blue: ${blue}, opacity: ${round(color.a)})`;
|
|
64
64
|
}
|
|
65
|
+
return `Color(red: ${red}, green: ${green}, blue: ${blue})`;
|
|
66
|
+
}
|
|
67
|
+
export function rgbaToKotlin(color) {
|
|
68
|
+
if (color.a <= 0.0001)
|
|
69
|
+
return "Color.Transparent";
|
|
70
|
+
const aa = toHexByte(color.a * 255);
|
|
71
|
+
const rr = toHexByte(color.r);
|
|
72
|
+
const gg = toHexByte(color.g);
|
|
73
|
+
const bb = toHexByte(color.b);
|
|
74
|
+
return `Color(0x${aa}${rr}${gg}${bb})`;
|
|
75
|
+
}
|
|
76
|
+
export function rgbaToFigma(color) {
|
|
65
77
|
return {
|
|
66
|
-
r:
|
|
67
|
-
g:
|
|
68
|
-
b:
|
|
69
|
-
a: clamp01(a),
|
|
78
|
+
r: clamp01(color.r / 255),
|
|
79
|
+
g: clamp01(color.g / 255),
|
|
80
|
+
b: clamp01(color.b / 255),
|
|
81
|
+
a: clamp01(color.a),
|
|
70
82
|
};
|
|
71
83
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
84
|
+
function figmaToRgba(color) {
|
|
85
|
+
return {
|
|
86
|
+
r: clamp255(Math.round(color.r * 255)),
|
|
87
|
+
g: clamp255(Math.round(color.g * 255)),
|
|
88
|
+
b: clamp255(Math.round(color.b * 255)),
|
|
89
|
+
a: clamp01(color.a),
|
|
90
|
+
};
|
|
76
91
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return "transparent";
|
|
80
|
-
if (c.a < 1) {
|
|
81
|
-
return `rgba(${c.r}, ${c.g}, ${c.b}, ${round(c.a)})`;
|
|
82
|
-
}
|
|
83
|
-
return rgbaToHex(c);
|
|
92
|
+
function toHexByte(value) {
|
|
93
|
+
return Math.round(value).toString(16).padStart(2, "0").toUpperCase();
|
|
84
94
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return "Color.clear";
|
|
88
|
-
return `Color(red: ${round(c.r / 255)}, green: ${round(c.g / 255)}, blue: ${round(c.b / 255)}${c.a < 1 ? `, opacity: ${round(c.a)}` : ""})`;
|
|
95
|
+
function clamp255(value) {
|
|
96
|
+
return Math.max(0, Math.min(255, value));
|
|
89
97
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return "Color.Transparent";
|
|
93
|
-
return `Color(0x${Math.round(c.a * 255).toString(16).padStart(2, "0").toUpperCase()}${Math.round(c.r).toString(16).padStart(2, "0").toUpperCase()}${Math.round(c.g).toString(16).padStart(2, "0").toUpperCase()}${Math.round(c.b).toString(16).padStart(2, "0").toUpperCase()})`;
|
|
98
|
+
function clamp01(value) {
|
|
99
|
+
return Math.max(0, Math.min(1, value));
|
|
94
100
|
}
|
|
95
|
-
function
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const f = 10 ** p;
|
|
99
|
-
return Math.round(n * f) / f;
|
|
101
|
+
function round(value, precision = 4) {
|
|
102
|
+
const factor = 10 ** precision;
|
|
103
|
+
return Math.round(value * factor) / factor;
|
|
100
104
|
}
|
|
101
105
|
//# sourceMappingURL=color.js.map
|
package/dist/utils/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type ParsedDimension = {
|
|
2
2
|
value: number;
|
|
3
3
|
unit: string;
|
|
4
|
-
}
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
4
|
+
};
|
|
5
|
+
export declare function parseDimension(raw: unknown): ParsedDimension | null;
|
|
6
|
+
export declare function toCssDimension(raw: unknown): string;
|
|
7
|
+
export declare function toSwiftNumber(raw: unknown): string;
|
|
8
|
+
export declare function toKotlinDimension(raw: unknown, defaultUnit?: "dp" | "sp"): string;
|
|
9
|
+
export declare function toXmlDimension(raw: unknown, defaultUnit?: "dp" | "sp"): string | null;
|
|
10
|
+
export declare function trimFloat(value: number): string;
|
package/dist/utils/dimension.js
CHANGED
|
@@ -1,62 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const DIMENSION_RE = /^(-?\d+(?:\.\d+)?)\s*(px|rem|em|%|pt|dp|sp|vw|vh|vmin|vmax|ch|ex|cm|mm|in|pc)?$/i;
|
|
2
|
+
export function parseDimension(raw) {
|
|
3
|
+
if (typeof raw === "number")
|
|
4
|
+
return { value: raw, unit: "px" };
|
|
5
|
+
if (typeof raw !== "string")
|
|
5
6
|
return null;
|
|
6
|
-
const match =
|
|
7
|
+
const match = raw.trim().match(DIMENSION_RE);
|
|
7
8
|
if (!match)
|
|
8
9
|
return null;
|
|
9
|
-
return {
|
|
10
|
+
return {
|
|
11
|
+
value: parseFloat(match[1]),
|
|
12
|
+
unit: (match[2] ?? "px").toLowerCase(),
|
|
13
|
+
};
|
|
10
14
|
}
|
|
11
|
-
export function toCssDimension(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return val;
|
|
19
|
-
}
|
|
20
|
-
if (typeof val === "object" && val !== null) {
|
|
21
|
-
const obj = val;
|
|
22
|
-
if (obj.value !== undefined)
|
|
23
|
-
return toCssDimension(obj.value, _remBase);
|
|
24
|
-
try {
|
|
25
|
-
return JSON.stringify(val);
|
|
26
|
-
}
|
|
27
|
-
catch { /* fallthrough */ }
|
|
28
|
-
}
|
|
29
|
-
return "0px";
|
|
15
|
+
export function toCssDimension(raw) {
|
|
16
|
+
const parsed = parseDimension(raw);
|
|
17
|
+
if (!parsed)
|
|
18
|
+
return "0px";
|
|
19
|
+
if (parsed.unit === "%")
|
|
20
|
+
return `${trimFloat(parsed.value)}%`;
|
|
21
|
+
return `${trimFloat(parsed.value)}${parsed.unit}`;
|
|
30
22
|
}
|
|
31
|
-
export function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return d ? String(d.value) : val.replace(/[a-z%]+$/i, "") || "0";
|
|
37
|
-
}
|
|
38
|
-
if (typeof val === "object" && val !== null) {
|
|
39
|
-
const obj = val;
|
|
40
|
-
if (obj.value !== undefined)
|
|
41
|
-
return toSwiftDimension(obj.value);
|
|
42
|
-
}
|
|
43
|
-
return "0";
|
|
23
|
+
export function toSwiftNumber(raw) {
|
|
24
|
+
const parsed = parseDimension(raw);
|
|
25
|
+
if (!parsed)
|
|
26
|
+
return "0";
|
|
27
|
+
return trimFloat(parsed.value);
|
|
44
28
|
}
|
|
45
|
-
export function toKotlinDimension(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
29
|
+
export function toKotlinDimension(raw, defaultUnit = "dp") {
|
|
30
|
+
const parsed = parseDimension(raw);
|
|
31
|
+
if (!parsed)
|
|
32
|
+
return `0.${defaultUnit}`;
|
|
33
|
+
let unit = defaultUnit;
|
|
34
|
+
if (parsed.unit === "sp")
|
|
35
|
+
unit = "sp";
|
|
36
|
+
if (parsed.unit === "dp")
|
|
37
|
+
unit = "dp";
|
|
38
|
+
if (parsed.unit === "px" || parsed.unit === "rem" || parsed.unit === "em" || parsed.unit === "%" || parsed.unit === "pt") {
|
|
39
|
+
unit = defaultUnit;
|
|
54
40
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
41
|
+
return `${trimFloat(parsed.value)}.${unit}`;
|
|
42
|
+
}
|
|
43
|
+
export function toXmlDimension(raw, defaultUnit = "dp") {
|
|
44
|
+
const parsed = parseDimension(raw);
|
|
45
|
+
if (!parsed)
|
|
46
|
+
return null;
|
|
47
|
+
let unit = parsed.unit;
|
|
48
|
+
if (unit === "px" || unit === "rem" || unit === "em")
|
|
49
|
+
unit = defaultUnit;
|
|
50
|
+
if (unit === "%")
|
|
51
|
+
unit = defaultUnit;
|
|
52
|
+
if (unit === "pt")
|
|
53
|
+
unit = "pt";
|
|
54
|
+
if (unit !== "dp" && unit !== "sp" && unit !== "pt" && unit !== "px" && unit !== "mm" && unit !== "in") {
|
|
55
|
+
unit = defaultUnit;
|
|
59
56
|
}
|
|
60
|
-
return
|
|
57
|
+
return `${trimFloat(parsed.value)}${unit}`;
|
|
58
|
+
}
|
|
59
|
+
export function trimFloat(value) {
|
|
60
|
+
if (Number.isInteger(value))
|
|
61
|
+
return String(value);
|
|
62
|
+
return value.toFixed(4).replace(/\.0+$/, "").replace(/(\.\d*?)0+$/, "$1");
|
|
61
63
|
}
|
|
62
64
|
//# sourceMappingURL=dimension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimension.js","sourceRoot":"","sources":["../../src/utils/dimension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dimension.js","sourceRoot":"","sources":["../../src/utils/dimension.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/naming.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function swiftVarName(path: string): string;
|
|
8
|
-
export declare function kotlinVarName(path: string): string;
|
|
9
|
-
/**
|
|
10
|
-
* Resolves a codeSyntax value. If it is a template (wrapped in `{...}`),
|
|
11
|
-
* resolves using the token path. Otherwise returns the raw value as-is.
|
|
12
|
-
*/
|
|
1
|
+
export declare function splitPathToWords(pathValue: string): string[];
|
|
2
|
+
export declare function toKebabCase(pathValue: string): string;
|
|
3
|
+
export declare function toSnakeCase(pathValue: string): string;
|
|
4
|
+
export declare function toUpperSnakeCase(pathValue: string): string;
|
|
5
|
+
export declare function toCamelCase(pathValue: string): string;
|
|
6
|
+
export declare function toPascalCase(pathValue: string): string;
|
|
13
7
|
export declare function resolveCodeSyntax(raw: string, tokenPath: string): string;
|
|
8
|
+
export declare function cssVarName(pathValue: string, prefix?: string): string;
|
|
9
|
+
export declare function swiftIdentifier(pathValue: string, style: "lower" | "upper"): string;
|
|
10
|
+
export declare function kotlinIdentifier(pathValue: string, style: "lower" | "upper"): string;
|
|
11
|
+
export declare function androidResourceName(pathValue: string): string;
|
package/dist/utils/naming.js
CHANGED
|
@@ -1,58 +1,116 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
const CODE_SYNTAX_TEMPLATES = {
|
|
2
|
+
"{var(--css-variable)}": (path) => `var(--${toKebabCase(path)})`,
|
|
3
|
+
"{$sass-variable}": (path) => `$${toKebabCase(path)}`,
|
|
4
|
+
"{@less-variable}": (path) => `@${toKebabCase(path)}`,
|
|
5
|
+
"{UpperCamelCase}": (path) => toPascalCase(path),
|
|
6
|
+
"{lowerCamelCase}": (path) => toCamelCase(path),
|
|
7
|
+
"{UPPER_SNAKE_CASE}": (path) => toUpperSnakeCase(path),
|
|
8
|
+
"{lower_snake_case}": (path) => toSnakeCase(path),
|
|
9
|
+
};
|
|
10
|
+
const SWIFT_RESERVED = new Set([
|
|
11
|
+
"class", "struct", "enum", "protocol", "extension", "func", "let", "var", "switch", "case", "default",
|
|
12
|
+
"if", "else", "while", "for", "in", "do", "return", "break", "continue", "where", "defer", "as", "is",
|
|
13
|
+
"self", "super", "true", "false", "nil", "import", "public", "private", "internal", "fileprivate", "open",
|
|
14
|
+
"operator", "subscript", "typealias", "associatedtype", "init", "deinit", "guard", "throw", "throws", "rethrows",
|
|
15
|
+
]);
|
|
16
|
+
const KOTLIN_RESERVED = new Set([
|
|
17
|
+
"as", "break", "class", "continue", "do", "else", "false", "for", "fun", "if", "in", "interface", "is",
|
|
18
|
+
"null", "object", "package", "return", "super", "this", "throw", "true", "try", "typealias", "val", "var",
|
|
19
|
+
"when", "while", "by", "catch", "constructor", "delegate", "dynamic", "field", "file", "finally", "get", "import",
|
|
20
|
+
"init", "param", "property", "receiver", "set", "setparam", "where", "actual", "abstract", "annotation", "companion",
|
|
21
|
+
"const", "crossinline", "data", "enum", "expect", "external", "final", "infix", "inline", "inner", "internal",
|
|
22
|
+
"lateinit", "noinline", "open", "operator", "out", "override", "private", "protected", "public", "reified", "sealed",
|
|
23
|
+
"suspend", "tailrec", "vararg",
|
|
24
|
+
]);
|
|
25
|
+
export function splitPathToWords(pathValue) {
|
|
26
|
+
return pathValue
|
|
21
27
|
.replace(/\./g, "/")
|
|
22
|
-
.split(/[
|
|
23
|
-
.flatMap((
|
|
28
|
+
.split(/[/_\s-]+/)
|
|
29
|
+
.flatMap((segment) => segment.replace(/([a-z])([A-Z])/g, "$1/$2").split("/"))
|
|
30
|
+
.flatMap((segment) => segment.split(/(?<=\D)(?=\d)|(?<=\d)(?=\D)/))
|
|
31
|
+
.filter(Boolean)
|
|
32
|
+
.map((segment) => segment.replace(/[^a-zA-Z0-9]/g, ""))
|
|
24
33
|
.filter(Boolean);
|
|
25
34
|
}
|
|
26
|
-
function
|
|
27
|
-
|
|
35
|
+
export function toKebabCase(pathValue) {
|
|
36
|
+
const words = splitPathToWords(pathValue).map((word) => word.toLowerCase());
|
|
37
|
+
return words.join("-");
|
|
28
38
|
}
|
|
29
|
-
export function
|
|
30
|
-
const
|
|
31
|
-
return
|
|
39
|
+
export function toSnakeCase(pathValue) {
|
|
40
|
+
const words = splitPathToWords(pathValue).map((word) => word.toLowerCase());
|
|
41
|
+
return words.join("_");
|
|
32
42
|
}
|
|
33
|
-
export function
|
|
34
|
-
|
|
43
|
+
export function toUpperSnakeCase(pathValue) {
|
|
44
|
+
const words = splitPathToWords(pathValue).map((word) => word.toUpperCase());
|
|
45
|
+
return words.join("_");
|
|
35
46
|
}
|
|
36
|
-
export function
|
|
37
|
-
|
|
47
|
+
export function toCamelCase(pathValue) {
|
|
48
|
+
const words = splitPathToWords(pathValue);
|
|
49
|
+
if (words.length === 0)
|
|
50
|
+
return "token";
|
|
51
|
+
return words
|
|
52
|
+
.map((word, index) => index === 0 ? word.toLowerCase() : capitalize(word))
|
|
53
|
+
.join("");
|
|
54
|
+
}
|
|
55
|
+
export function toPascalCase(pathValue) {
|
|
56
|
+
const words = splitPathToWords(pathValue);
|
|
57
|
+
if (words.length === 0)
|
|
58
|
+
return "Token";
|
|
59
|
+
return words.map(capitalize).join("");
|
|
60
|
+
}
|
|
61
|
+
function capitalize(value) {
|
|
62
|
+
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
38
63
|
}
|
|
39
|
-
const CODE_SYNTAX_TEMPLATES = {
|
|
40
|
-
"{var(--css-variable)}": (p) => `var(--${toKebabCase(p)})`,
|
|
41
|
-
"{$sass-variable}": (p) => `$${toKebabCase(p)}`,
|
|
42
|
-
"{@less-variable}": (p) => `@${toKebabCase(p)}`,
|
|
43
|
-
"{UpperCamelCase}": toPascalCase,
|
|
44
|
-
"{lowerCamelCase}": toCamelCase,
|
|
45
|
-
"{UPPER_SNAKE_CASE}": toUpperSnakeCase,
|
|
46
|
-
"{lower_snake_case}": toSnakeCase,
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Resolves a codeSyntax value. If it is a template (wrapped in `{...}`),
|
|
50
|
-
* resolves using the token path. Otherwise returns the raw value as-is.
|
|
51
|
-
*/
|
|
52
64
|
export function resolveCodeSyntax(raw, tokenPath) {
|
|
53
65
|
const resolver = CODE_SYNTAX_TEMPLATES[raw];
|
|
54
66
|
if (resolver)
|
|
55
67
|
return resolver(tokenPath);
|
|
56
68
|
return raw;
|
|
57
69
|
}
|
|
70
|
+
export function cssVarName(pathValue, prefix) {
|
|
71
|
+
const base = toKebabCase(pathValue);
|
|
72
|
+
const withPrefix = prefix ? `${toKebabCase(prefix)}-${base}` : base;
|
|
73
|
+
const sanitized = sanitizeCssCustomPropertyBase(withPrefix);
|
|
74
|
+
return `--${sanitized}`;
|
|
75
|
+
}
|
|
76
|
+
function sanitizeCssCustomPropertyBase(value) {
|
|
77
|
+
let normalized = value
|
|
78
|
+
.replace(/[^a-zA-Z0-9-_]/g, "-")
|
|
79
|
+
.replace(/-+/g, "-")
|
|
80
|
+
.replace(/^-|-$/g, "");
|
|
81
|
+
if (!normalized)
|
|
82
|
+
normalized = "token";
|
|
83
|
+
if (!/^[a-zA-Z_]/.test(normalized))
|
|
84
|
+
normalized = `x-${normalized}`;
|
|
85
|
+
return normalized;
|
|
86
|
+
}
|
|
87
|
+
export function swiftIdentifier(pathValue, style) {
|
|
88
|
+
const normalized = style === "upper" ? toPascalCase(pathValue) : toCamelCase(pathValue);
|
|
89
|
+
const sanitized = sanitizeIdentifier(normalized, style === "upper" ? "Token" : "token");
|
|
90
|
+
return SWIFT_RESERVED.has(sanitized) ? `\`${sanitized}\`` : sanitized;
|
|
91
|
+
}
|
|
92
|
+
export function kotlinIdentifier(pathValue, style) {
|
|
93
|
+
const normalized = style === "upper" ? toPascalCase(pathValue) : toCamelCase(pathValue);
|
|
94
|
+
const sanitized = sanitizeIdentifier(normalized, style === "upper" ? "Token" : "token");
|
|
95
|
+
return KOTLIN_RESERVED.has(sanitized) ? `\`${sanitized}\`` : sanitized;
|
|
96
|
+
}
|
|
97
|
+
export function androidResourceName(pathValue) {
|
|
98
|
+
let base = toSnakeCase(pathValue)
|
|
99
|
+
.replace(/[^a-z0-9_]/g, "_")
|
|
100
|
+
.replace(/_+/g, "_")
|
|
101
|
+
.replace(/^_+|_+$/g, "");
|
|
102
|
+
if (!base)
|
|
103
|
+
base = "token";
|
|
104
|
+
if (!/^[a-z_]/.test(base))
|
|
105
|
+
base = `r_${base}`;
|
|
106
|
+
return base;
|
|
107
|
+
}
|
|
108
|
+
function sanitizeIdentifier(value, fallback) {
|
|
109
|
+
const cleaned = value.replace(/[^a-zA-Z0-9_]/g, "");
|
|
110
|
+
if (!cleaned)
|
|
111
|
+
return fallback;
|
|
112
|
+
if (/^[0-9]/.test(cleaned))
|
|
113
|
+
return `${fallback}${cleaned}`;
|
|
114
|
+
return cleaned;
|
|
115
|
+
}
|
|
58
116
|
//# sourceMappingURL=naming.js.map
|
package/dist/utils/naming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"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"}
|