@jesscss/plugin-less-compat 2.0.0-alpha.6 → 2.0.0-alpha.7
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.md +3 -2
- package/lib/index.cjs +844 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +800 -10
- package/lib/less-adapter.cjs +216 -0
- package/lib/less-adapter.js +181 -0
- package/lib/less-compat-structures.cjs +378 -0
- package/lib/less-compat-structures.d.ts +2 -2
- package/lib/less-compat-structures.js +367 -512
- package/lib/nodes/at-rule.d.ts +2 -2
- package/lib/nodes/attribute-selector.d.ts +2 -2
- package/lib/nodes/call.d.ts +2 -2
- package/lib/nodes/color.d.ts +2 -1
- package/lib/nodes/combinator.d.ts +2 -1
- package/lib/nodes/comment.d.ts +2 -1
- package/lib/nodes/condition.d.ts +2 -2
- package/lib/nodes/declaration.d.ts +2 -2
- package/lib/nodes/dimension.d.ts +2 -1
- package/lib/nodes/expression.d.ts +2 -2
- package/lib/nodes/extend.d.ts +2 -1
- package/lib/nodes/import.d.ts +2 -2
- package/lib/nodes/keyword.d.ts +2 -1
- package/lib/nodes/list.d.ts +3 -2
- package/lib/nodes/mixin.d.ts +2 -2
- package/lib/nodes/negative.d.ts +2 -2
- package/lib/nodes/operation.d.ts +2 -2
- package/lib/nodes/paren.d.ts +2 -2
- package/lib/nodes/quoted.d.ts +2 -1
- package/lib/nodes/reference.d.ts +2 -1
- package/lib/nodes/ruleset.d.ts +2 -2
- package/lib/nodes/selector.d.ts +2 -2
- package/lib/nodes/sequence.d.ts +2 -2
- package/lib/nodes/url.d.ts +2 -1
- package/lib/nodes/var-declaration.d.ts +2 -2
- package/lib/plugin.d.ts +44 -16
- package/lib/transform/adapter.d.ts +9 -11
- package/lib/transform/index.cjs +13 -0
- package/lib/transform/index.d.ts +1 -1
- package/lib/transform/index.js +3 -8
- package/lib/transform/less-adapter.d.ts +29 -0
- package/lib/transform.cjs +1045 -0
- package/lib/transform.js +1015 -0
- package/lib/types.d.ts +153 -28
- package/package.json +6 -9
- package/lib/index.js.map +0 -1
- package/lib/less-compat-structures.js.map +0 -1
- package/lib/nodes/at-rule.js +0 -21
- package/lib/nodes/at-rule.js.map +0 -1
- package/lib/nodes/attribute-selector.js +0 -18
- package/lib/nodes/attribute-selector.js.map +0 -1
- package/lib/nodes/call.js +0 -27
- package/lib/nodes/call.js.map +0 -1
- package/lib/nodes/color.js +0 -23
- package/lib/nodes/color.js.map +0 -1
- package/lib/nodes/combinator.js +0 -7
- package/lib/nodes/combinator.js.map +0 -1
- package/lib/nodes/comment.js +0 -9
- package/lib/nodes/comment.js.map +0 -1
- package/lib/nodes/condition.js +0 -19
- package/lib/nodes/condition.js.map +0 -1
- package/lib/nodes/declaration.js +0 -38
- package/lib/nodes/declaration.js.map +0 -1
- package/lib/nodes/dimension.js +0 -9
- package/lib/nodes/dimension.js.map +0 -1
- package/lib/nodes/expression.js +0 -16
- package/lib/nodes/expression.js.map +0 -1
- package/lib/nodes/extend.js +0 -18
- package/lib/nodes/extend.js.map +0 -1
- package/lib/nodes/import.js +0 -22
- package/lib/nodes/import.js.map +0 -1
- package/lib/nodes/index.js +0 -308
- package/lib/nodes/index.js.map +0 -1
- package/lib/nodes/keyword.js +0 -8
- package/lib/nodes/keyword.js.map +0 -1
- package/lib/nodes/list.js +0 -61
- package/lib/nodes/list.js.map +0 -1
- package/lib/nodes/mixin.js +0 -22
- package/lib/nodes/mixin.js.map +0 -1
- package/lib/nodes/negative.js +0 -13
- package/lib/nodes/negative.js.map +0 -1
- package/lib/nodes/operation.js +0 -22
- package/lib/nodes/operation.js.map +0 -1
- package/lib/nodes/paren.js +0 -13
- package/lib/nodes/paren.js.map +0 -1
- package/lib/nodes/quoted.js +0 -23
- package/lib/nodes/quoted.js.map +0 -1
- package/lib/nodes/reference.js +0 -44
- package/lib/nodes/reference.js.map +0 -1
- package/lib/nodes/ruleset.js +0 -67
- package/lib/nodes/ruleset.js.map +0 -1
- package/lib/nodes/selector.js +0 -158
- package/lib/nodes/selector.js.map +0 -1
- package/lib/nodes/sequence.js +0 -56
- package/lib/nodes/sequence.js.map +0 -1
- package/lib/nodes/url.js +0 -13
- package/lib/nodes/url.js.map +0 -1
- package/lib/nodes/var-declaration.js +0 -21
- package/lib/nodes/var-declaration.js.map +0 -1
- package/lib/plugin-utils.js +0 -100
- package/lib/plugin-utils.js.map +0 -1
- package/lib/plugin.js +0 -1026
- package/lib/plugin.js.map +0 -1
- package/lib/transform/adapter.js +0 -111
- package/lib/transform/adapter.js.map +0 -1
- package/lib/transform/from-less.js +0 -170
- package/lib/transform/from-less.js.map +0 -1
- package/lib/transform/index.js.map +0 -1
- package/lib/transform/proxy.d.ts +0 -32
- package/lib/transform/proxy.js +0 -138
- package/lib/transform/proxy.js.map +0 -1
- package/lib/transform/to-less.js +0 -130
- package/lib/transform/to-less.js.map +0 -1
- package/lib/transform/type-map.js +0 -105
- package/lib/transform/type-map.js.map +0 -1
- package/lib/types.js +0 -5
- package/lib/types.js.map +0 -1
package/lib/plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/lib/transform/adapter.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Node } from '@jesscss/core';
|
|
2
|
-
import { createLessProxy } from './proxy.js';
|
|
3
|
-
import { toLessNode } from './to-less.js';
|
|
4
|
-
import { fromLessNode } from './from-less.js';
|
|
5
|
-
import { mapJessTypeToLessType } from './type-map.js';
|
|
6
|
-
/**
|
|
7
|
-
* Create a NodeTransformer from a declarative adapter definition.
|
|
8
|
-
*
|
|
9
|
-
* - `type` and `typeIndex` are auto-mapped.
|
|
10
|
-
* - If no `accept` is provided, leaf behavior (return self) is used.
|
|
11
|
-
* - Field lookups are dispatched from the `fields` record.
|
|
12
|
-
*/
|
|
13
|
-
export function createFromAdapter(adapter) {
|
|
14
|
-
return (jessNode, cache) => {
|
|
15
|
-
return createLessProxy(jessNode, cache, (prop, target) => {
|
|
16
|
-
const node = target;
|
|
17
|
-
if (prop === 'type') {
|
|
18
|
-
if (typeof adapter.lessType === 'function') {
|
|
19
|
-
return adapter.lessType(node);
|
|
20
|
-
}
|
|
21
|
-
return adapter.lessType ?? mapJessTypeToLessType(node.type);
|
|
22
|
-
}
|
|
23
|
-
if (prop === 'typeIndex') {
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
if (prop === 'accept') {
|
|
27
|
-
if (adapter.accept) {
|
|
28
|
-
return function (visitor) {
|
|
29
|
-
return adapter.accept(node, visitor, cache);
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
// Leaf default: no children to traverse
|
|
33
|
-
return function () {
|
|
34
|
-
return node;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
if (typeof prop === 'string' && prop in adapter.fields) {
|
|
38
|
-
return adapter.fields[prop](node, cache);
|
|
39
|
-
}
|
|
40
|
-
if (adapter.dynamicField) {
|
|
41
|
-
const result = adapter.dynamicField(prop, node, cache);
|
|
42
|
-
if (result !== undefined) {
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return undefined;
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Accept helper: self-visit pattern.
|
|
52
|
-
* Calls visitor.visit on the cached proxy, converts replacement back via fromLessNode.
|
|
53
|
-
*/
|
|
54
|
-
export function selfVisitAccept() {
|
|
55
|
-
return (node, visitor, cache) => {
|
|
56
|
-
const lessNode = toLessNode(node, { cache });
|
|
57
|
-
const result = visitor.visit(lessNode);
|
|
58
|
-
if (result !== lessNode) {
|
|
59
|
-
return fromLessNode(result, { cache });
|
|
60
|
-
}
|
|
61
|
-
return node;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Accept helper: traverse child nodes via visitor.visitArray.
|
|
66
|
-
*/
|
|
67
|
-
export function childrenAccept(getChildren) {
|
|
68
|
-
return (node, visitor, cache) => {
|
|
69
|
-
const children = getChildren(node, cache);
|
|
70
|
-
if (children.length > 0) {
|
|
71
|
-
const lessChildren = children
|
|
72
|
-
.map(c => toLessNode(c, { cache }))
|
|
73
|
-
.filter((c) => c != null);
|
|
74
|
-
if (lessChildren.length > 0) {
|
|
75
|
-
if (visitor.visitArray) {
|
|
76
|
-
visitor.visitArray(lessChildren);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
for (const child of lessChildren) {
|
|
80
|
-
if (child?.accept) {
|
|
81
|
-
child.accept(visitor);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return node;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Accept helper: traverse a single child node.
|
|
92
|
-
*/
|
|
93
|
-
export function singleChildAccept(getChild) {
|
|
94
|
-
return (node, visitor, cache) => {
|
|
95
|
-
const child = getChild(node);
|
|
96
|
-
if (child instanceof Node) {
|
|
97
|
-
const lessChild = toLessNode(child, { cache });
|
|
98
|
-
if (lessChild?.accept) {
|
|
99
|
-
lessChild.accept(visitor);
|
|
100
|
-
}
|
|
101
|
-
else if (lessChild && visitor.visitArray) {
|
|
102
|
-
visitor.visitArray([lessChild]);
|
|
103
|
-
}
|
|
104
|
-
else if (lessChild && visitor.visit) {
|
|
105
|
-
visitor.visit(lessChild);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return node;
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/transform/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { Any, Collection, Declaration, Dimension, Quoted, Rules } from '@jesscss/core';
|
|
2
|
-
import { getJessNodeFromProxy, isLessProxy } from './proxy.js';
|
|
3
|
-
/**
|
|
4
|
-
* Convert a Less node back to a Jess node
|
|
5
|
-
*
|
|
6
|
-
* @param lessNode - The Less node to convert
|
|
7
|
-
* @param options - Conversion options
|
|
8
|
-
* @returns A Jess node
|
|
9
|
-
*/
|
|
10
|
-
export function fromLessNode(lessNode, options) {
|
|
11
|
-
if (!lessNode) {
|
|
12
|
-
return lessNode;
|
|
13
|
-
}
|
|
14
|
-
const cache = options?.cache || new WeakMap();
|
|
15
|
-
// Check cache first
|
|
16
|
-
if (cache.has(lessNode)) {
|
|
17
|
-
const cached = cache.get(lessNode);
|
|
18
|
-
if (cached) {
|
|
19
|
-
return cached;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
// If it's already a Jess node wrapped in a proxy, extract it
|
|
23
|
-
if (isLessProxy(lessNode)) {
|
|
24
|
-
const jessNode = getJessNodeFromProxy(lessNode);
|
|
25
|
-
if (jessNode) {
|
|
26
|
-
cache.set(lessNode, jessNode);
|
|
27
|
-
return jessNode;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// If it's a Less node that was created by a visitor, we need to reconstruct
|
|
31
|
-
// For now, if we can't convert it back, return the original proxy target
|
|
32
|
-
// TODO: Implement full reverse conversion for all node types
|
|
33
|
-
// Check if it has a __jessNode property (we might store this during conversion)
|
|
34
|
-
if (lessNode && typeof lessNode === 'object' && '__jessNode' in lessNode) {
|
|
35
|
-
return lessNode.__jessNode;
|
|
36
|
-
}
|
|
37
|
-
// Minimal reverse conversions for Less-created nodes used in Less.js plugins
|
|
38
|
-
if (lessNode && typeof lessNode === 'object' && typeof lessNode.type === 'string') {
|
|
39
|
-
if (lessNode.type === 'Quoted') {
|
|
40
|
-
const quote = (lessNode.quote === '\'' || lessNode.quote === '"') ? lessNode.quote : '"';
|
|
41
|
-
const value = typeof lessNode.value === 'string' ? lessNode.value : String(lessNode.value);
|
|
42
|
-
const escaped = !!lessNode.escaped;
|
|
43
|
-
const out = new Quoted(value, { quote, escaped });
|
|
44
|
-
cache.set(lessNode, out);
|
|
45
|
-
return out;
|
|
46
|
-
}
|
|
47
|
-
if (lessNode.type === 'Anonymous') {
|
|
48
|
-
const value = typeof lessNode.value === 'string' ? lessNode.value : String(lessNode.value);
|
|
49
|
-
const out = new Any(value);
|
|
50
|
-
cache.set(lessNode, out);
|
|
51
|
-
return out;
|
|
52
|
-
}
|
|
53
|
-
if (lessNode.type === 'Dimension' || lessNode.type === 'Num') {
|
|
54
|
-
const n = typeof lessNode.value === 'number' ? lessNode.value : Number(lessNode.value);
|
|
55
|
-
const u = typeof lessNode.unit === 'string' ? lessNode.unit : '';
|
|
56
|
-
const out = new Dimension({ number: n, unit: u || undefined });
|
|
57
|
-
cache.set(lessNode, out);
|
|
58
|
-
return out;
|
|
59
|
-
}
|
|
60
|
-
if (lessNode.type === 'Declaration' || lessNode.type === 'Rule') {
|
|
61
|
-
const prop = String(lessNode.name ?? '');
|
|
62
|
-
const val = lessNode.value;
|
|
63
|
-
const valueStr = val && typeof val === 'object' && typeof val.value === 'string'
|
|
64
|
-
? val.value
|
|
65
|
-
: String(val ?? '');
|
|
66
|
-
const out = new Declaration({
|
|
67
|
-
name: new Any(prop, { role: 'property' }),
|
|
68
|
-
value: new Any(valueStr)
|
|
69
|
-
});
|
|
70
|
-
out.pre = 0;
|
|
71
|
-
out.post = 0;
|
|
72
|
-
cache.set(lessNode, out);
|
|
73
|
-
return out;
|
|
74
|
-
}
|
|
75
|
-
if (lessNode.type === 'DetachedRuleset') {
|
|
76
|
-
const ruleset = lessNode.ruleset;
|
|
77
|
-
const rules = (ruleset && Array.isArray(ruleset.rules)) ? ruleset.rules : [];
|
|
78
|
-
const nodes = [];
|
|
79
|
-
for (const rr of rules) {
|
|
80
|
-
if (rr && typeof rr === 'object' && (rr.type === 'Declaration' || rr.type === 'Rule')) {
|
|
81
|
-
const prop = String(rr.name ?? '');
|
|
82
|
-
const val = rr.value;
|
|
83
|
-
const valueStr = val && typeof val === 'object' && typeof val.value === 'string'
|
|
84
|
-
? val.value
|
|
85
|
-
: String(val ?? '');
|
|
86
|
-
const decl = new Declaration({
|
|
87
|
-
name: new Any(prop, { role: 'property' }),
|
|
88
|
-
value: new Any(valueStr)
|
|
89
|
-
});
|
|
90
|
-
decl.pre = 0;
|
|
91
|
-
decl.post = 0;
|
|
92
|
-
nodes.push(decl);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
const out = new Collection(nodes);
|
|
96
|
-
cache.set(lessNode, out);
|
|
97
|
-
return out;
|
|
98
|
-
}
|
|
99
|
-
if (lessNode.type === 'AtRule') {
|
|
100
|
-
const n = String(lessNode.name ?? '');
|
|
101
|
-
const v = String(lessNode.value ?? '');
|
|
102
|
-
const line = `${n} ${v};`;
|
|
103
|
-
const out = n === '@charset'
|
|
104
|
-
? new Any(line, { role: 'charset' })
|
|
105
|
-
: new Any(line);
|
|
106
|
-
cache.set(lessNode, out);
|
|
107
|
-
return out;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// If we can't convert it, try to return the original node
|
|
111
|
-
// This is a fallback - in practice, visitors shouldn't create new nodes
|
|
112
|
-
// that we can't track back to their originals
|
|
113
|
-
throw new Error(`Cannot convert Less node back to Jess: ${lessNode?.type || 'unknown type'}. `
|
|
114
|
-
+ `Less visitors should not create new nodes, only modify existing ones.`);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Convert a Less plugin function return value to a Jess node.
|
|
118
|
-
* Handles primitives (number, boolean), Less nodes (via fromLessNode), and toCSS() objects.
|
|
119
|
-
* Use this for @plugin-loaded function results so conversion is centralized here.
|
|
120
|
-
*/
|
|
121
|
-
export function fromLessPluginReturnValue(value, options) {
|
|
122
|
-
if (value === null || value === undefined) {
|
|
123
|
-
return value;
|
|
124
|
-
}
|
|
125
|
-
if (typeof value === 'number') {
|
|
126
|
-
return new Any(String(value));
|
|
127
|
-
}
|
|
128
|
-
if (value === true || value === false) {
|
|
129
|
-
if (options?.statementContext) {
|
|
130
|
-
return undefined;
|
|
131
|
-
}
|
|
132
|
-
return new Any(String(value));
|
|
133
|
-
}
|
|
134
|
-
if (typeof value === 'object' && value !== null) {
|
|
135
|
-
const obj = value;
|
|
136
|
-
if (typeof obj.type === 'string') {
|
|
137
|
-
return fromLessNode(value, options);
|
|
138
|
-
}
|
|
139
|
-
if (typeof obj.toCSS === 'function') {
|
|
140
|
-
try {
|
|
141
|
-
const css = obj.toCSS();
|
|
142
|
-
return new Any(typeof css === 'string' ? css : String(css));
|
|
143
|
-
}
|
|
144
|
-
catch {
|
|
145
|
-
// ignore
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return value;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Convert an entire Less tree back to Jess Rules
|
|
153
|
-
*
|
|
154
|
-
* @param lessTree - The Less tree to convert
|
|
155
|
-
* @param options - Conversion options
|
|
156
|
-
* @returns A Jess Rules tree
|
|
157
|
-
*/
|
|
158
|
-
export function fromLessTree(lessTree, _options) {
|
|
159
|
-
// TODO: Implement tree conversion
|
|
160
|
-
// This will recursively convert all nodes back to Jess format
|
|
161
|
-
// For now, if it's a proxy, extract the original
|
|
162
|
-
if (isLessProxy(lessTree)) {
|
|
163
|
-
const jessNode = getJessNodeFromProxy(lessTree);
|
|
164
|
-
if (jessNode instanceof Rules) {
|
|
165
|
-
return jessNode;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
throw new Error('Cannot convert Less tree back to Jess Rules');
|
|
169
|
-
}
|
|
170
|
-
//# sourceMappingURL=from-less.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"from-less.js","sourceRoot":"","sources":["../../src/transform/from-less.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
package/lib/transform/proxy.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Node } from '@jesscss/core';
|
|
2
|
-
/**
|
|
3
|
-
* Symbol to mark nodes that are already being proxied (to prevent recursion)
|
|
4
|
-
* Exported so toLessNode can check it
|
|
5
|
-
*/
|
|
6
|
-
export declare const IS_PROXYING_SYMBOL: unique symbol;
|
|
7
|
-
/**
|
|
8
|
-
* Create a Less-compatible proxy wrapper around a Jess node
|
|
9
|
-
*
|
|
10
|
-
* This proxy intercepts property access and method calls to provide
|
|
11
|
-
* a Less.js-compatible interface while maintaining the underlying Jess node.
|
|
12
|
-
*
|
|
13
|
-
* @param jessNode - The Jess node to wrap
|
|
14
|
-
* @param cache - Optional cache for converted nodes
|
|
15
|
-
* @param propertyMap - Function to map property names and values
|
|
16
|
-
* @returns A proxy object that appears as a Less node
|
|
17
|
-
*/
|
|
18
|
-
export declare function createLessProxy(jessNode: Node, cache?: WeakMap<Node, any>, propertyMap?: (prop: string | symbol, target: Node) => any): any;
|
|
19
|
-
/**
|
|
20
|
-
* Check if an object is a Less proxy wrapper
|
|
21
|
-
*
|
|
22
|
-
* @param obj - The object to check
|
|
23
|
-
* @returns True if the object is a Less proxy
|
|
24
|
-
*/
|
|
25
|
-
export declare function isLessProxy(obj: unknown): obj is Record<string | symbol, unknown>;
|
|
26
|
-
/**
|
|
27
|
-
* Get the underlying Jess node from a Less proxy
|
|
28
|
-
*
|
|
29
|
-
* @param proxy - The proxy object
|
|
30
|
-
* @returns The underlying Jess node, or undefined if not a proxy
|
|
31
|
-
*/
|
|
32
|
-
export declare function getJessNodeFromProxy(proxy: unknown): Node | undefined;
|
package/lib/transform/proxy.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { mapJessTypeToLessType } from './type-map.js';
|
|
2
|
-
/**
|
|
3
|
-
* Symbol to mark Less proxy objects
|
|
4
|
-
*/
|
|
5
|
-
const LESS_PROXY_SYMBOL = Symbol('less-proxy');
|
|
6
|
-
/**
|
|
7
|
-
* Symbol to store reference to underlying Jess node in proxy
|
|
8
|
-
*/
|
|
9
|
-
const JESS_NODE_SYMBOL = Symbol('jess-node');
|
|
10
|
-
/**
|
|
11
|
-
* Symbol to mark nodes that are already being proxied (to prevent recursion)
|
|
12
|
-
* Exported so toLessNode can check it
|
|
13
|
-
*/
|
|
14
|
-
export const IS_PROXYING_SYMBOL = Symbol('is-proxying');
|
|
15
|
-
/**
|
|
16
|
-
* Get typeIndex for a Less node type
|
|
17
|
-
* Since we're not using the actual Less.js library, we return undefined
|
|
18
|
-
* Plugins typically don't need typeIndex - it's only used internally by Less's Visitor
|
|
19
|
-
* for dispatch optimization. Our proxy-based approach doesn't require it.
|
|
20
|
-
*/
|
|
21
|
-
function getLessTypeIndex(_lessType) {
|
|
22
|
-
// Return undefined - plugins don't need typeIndex for our compatibility layer
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Create a Less-compatible proxy wrapper around a Jess node
|
|
27
|
-
*
|
|
28
|
-
* This proxy intercepts property access and method calls to provide
|
|
29
|
-
* a Less.js-compatible interface while maintaining the underlying Jess node.
|
|
30
|
-
*
|
|
31
|
-
* @param jessNode - The Jess node to wrap
|
|
32
|
-
* @param cache - Optional cache for converted nodes
|
|
33
|
-
* @param propertyMap - Function to map property names and values
|
|
34
|
-
* @returns A proxy object that appears as a Less node
|
|
35
|
-
*/
|
|
36
|
-
export function createLessProxy(jessNode, cache, propertyMap) {
|
|
37
|
-
// Check if already proxied (prevent recursion)
|
|
38
|
-
if (jessNode[IS_PROXYING_SYMBOL]) {
|
|
39
|
-
// Return the cached proxy if available
|
|
40
|
-
if (cache && cache.has(jessNode)) {
|
|
41
|
-
return cache.get(jessNode);
|
|
42
|
-
}
|
|
43
|
-
// If no cache, return the node as-is to prevent recursion
|
|
44
|
-
return jessNode;
|
|
45
|
-
}
|
|
46
|
-
// Check cache first
|
|
47
|
-
if (cache && cache.has(jessNode)) {
|
|
48
|
-
return cache.get(jessNode);
|
|
49
|
-
}
|
|
50
|
-
// Mark as being proxied to prevent recursion
|
|
51
|
-
jessNode[IS_PROXYING_SYMBOL] = true;
|
|
52
|
-
// Create proxy handler
|
|
53
|
-
const handler = {
|
|
54
|
-
get(target, prop) {
|
|
55
|
-
// Handle special symbols
|
|
56
|
-
if (prop === LESS_PROXY_SYMBOL) {
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
// Handle typeIndex - Less's Visitor needs this for dispatch
|
|
60
|
-
// Set it automatically based on the node's type
|
|
61
|
-
// Use direct property access to avoid proxy recursion
|
|
62
|
-
if (prop === 'typeIndex') {
|
|
63
|
-
// Access type directly from the target (not through proxy)
|
|
64
|
-
const nodeType = target.type;
|
|
65
|
-
if (nodeType && typeof nodeType === 'string') {
|
|
66
|
-
const lessType = mapJessTypeToLessType(nodeType);
|
|
67
|
-
return getLessTypeIndex(lessType);
|
|
68
|
-
}
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
// Allow custom property mapping
|
|
72
|
-
if (propertyMap) {
|
|
73
|
-
const mapped = propertyMap(prop, target);
|
|
74
|
-
if (mapped !== undefined) {
|
|
75
|
-
return mapped;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Default: pass through to target
|
|
79
|
-
const value = Reflect.get(target, prop);
|
|
80
|
-
// If it's a method, bind it to the target
|
|
81
|
-
if (typeof value === 'function') {
|
|
82
|
-
return value.bind(target);
|
|
83
|
-
}
|
|
84
|
-
return value;
|
|
85
|
-
},
|
|
86
|
-
set(target, prop, value) {
|
|
87
|
-
// Allow setting properties
|
|
88
|
-
return Reflect.set(target, prop, value);
|
|
89
|
-
},
|
|
90
|
-
has(target, prop) {
|
|
91
|
-
// Check if property exists
|
|
92
|
-
return Reflect.has(target, prop);
|
|
93
|
-
},
|
|
94
|
-
ownKeys(target) {
|
|
95
|
-
// Return own property keys
|
|
96
|
-
return Reflect.ownKeys(target);
|
|
97
|
-
},
|
|
98
|
-
getOwnPropertyDescriptor(target, prop) {
|
|
99
|
-
// Return property descriptor
|
|
100
|
-
return Reflect.getOwnPropertyDescriptor(target, prop);
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
const proxy = new Proxy(jessNode, handler);
|
|
104
|
-
// Mark as proxy
|
|
105
|
-
proxy[LESS_PROXY_SYMBOL] = true;
|
|
106
|
-
// Store reference to underlying Jess node for reverse lookup
|
|
107
|
-
proxy[JESS_NODE_SYMBOL] = jessNode;
|
|
108
|
-
// Cache if provided
|
|
109
|
-
if (cache) {
|
|
110
|
-
cache.set(jessNode, proxy);
|
|
111
|
-
}
|
|
112
|
-
// Unmark proxying flag after proxy is created
|
|
113
|
-
delete jessNode[IS_PROXYING_SYMBOL];
|
|
114
|
-
return proxy;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Check if an object is a Less proxy wrapper
|
|
118
|
-
*
|
|
119
|
-
* @param obj - The object to check
|
|
120
|
-
* @returns True if the object is a Less proxy
|
|
121
|
-
*/
|
|
122
|
-
export function isLessProxy(obj) {
|
|
123
|
-
return obj && typeof obj === 'object' && LESS_PROXY_SYMBOL in obj;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get the underlying Jess node from a Less proxy
|
|
127
|
-
*
|
|
128
|
-
* @param proxy - The proxy object
|
|
129
|
-
* @returns The underlying Jess node, or undefined if not a proxy
|
|
130
|
-
*/
|
|
131
|
-
export function getJessNodeFromProxy(proxy) {
|
|
132
|
-
if (isLessProxy(proxy)) {
|
|
133
|
-
// Get the stored reference to the underlying Jess node
|
|
134
|
-
return proxy[JESS_NODE_SYMBOL];
|
|
135
|
-
}
|
|
136
|
-
return undefined;
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=proxy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/transform/proxy.ts"],"names":[],"mappings":"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"}
|