@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.
Files changed (116) hide show
  1. package/README.md +3 -2
  2. package/lib/index.cjs +844 -0
  3. package/lib/index.d.ts +1 -0
  4. package/lib/index.js +800 -10
  5. package/lib/less-adapter.cjs +216 -0
  6. package/lib/less-adapter.js +181 -0
  7. package/lib/less-compat-structures.cjs +378 -0
  8. package/lib/less-compat-structures.d.ts +2 -2
  9. package/lib/less-compat-structures.js +367 -512
  10. package/lib/nodes/at-rule.d.ts +2 -2
  11. package/lib/nodes/attribute-selector.d.ts +2 -2
  12. package/lib/nodes/call.d.ts +2 -2
  13. package/lib/nodes/color.d.ts +2 -1
  14. package/lib/nodes/combinator.d.ts +2 -1
  15. package/lib/nodes/comment.d.ts +2 -1
  16. package/lib/nodes/condition.d.ts +2 -2
  17. package/lib/nodes/declaration.d.ts +2 -2
  18. package/lib/nodes/dimension.d.ts +2 -1
  19. package/lib/nodes/expression.d.ts +2 -2
  20. package/lib/nodes/extend.d.ts +2 -1
  21. package/lib/nodes/import.d.ts +2 -2
  22. package/lib/nodes/keyword.d.ts +2 -1
  23. package/lib/nodes/list.d.ts +3 -2
  24. package/lib/nodes/mixin.d.ts +2 -2
  25. package/lib/nodes/negative.d.ts +2 -2
  26. package/lib/nodes/operation.d.ts +2 -2
  27. package/lib/nodes/paren.d.ts +2 -2
  28. package/lib/nodes/quoted.d.ts +2 -1
  29. package/lib/nodes/reference.d.ts +2 -1
  30. package/lib/nodes/ruleset.d.ts +2 -2
  31. package/lib/nodes/selector.d.ts +2 -2
  32. package/lib/nodes/sequence.d.ts +2 -2
  33. package/lib/nodes/url.d.ts +2 -1
  34. package/lib/nodes/var-declaration.d.ts +2 -2
  35. package/lib/plugin.d.ts +44 -16
  36. package/lib/transform/adapter.d.ts +9 -11
  37. package/lib/transform/index.cjs +13 -0
  38. package/lib/transform/index.d.ts +1 -1
  39. package/lib/transform/index.js +3 -8
  40. package/lib/transform/less-adapter.d.ts +29 -0
  41. package/lib/transform.cjs +1045 -0
  42. package/lib/transform.js +1015 -0
  43. package/lib/types.d.ts +153 -28
  44. package/package.json +6 -9
  45. package/lib/index.js.map +0 -1
  46. package/lib/less-compat-structures.js.map +0 -1
  47. package/lib/nodes/at-rule.js +0 -21
  48. package/lib/nodes/at-rule.js.map +0 -1
  49. package/lib/nodes/attribute-selector.js +0 -18
  50. package/lib/nodes/attribute-selector.js.map +0 -1
  51. package/lib/nodes/call.js +0 -27
  52. package/lib/nodes/call.js.map +0 -1
  53. package/lib/nodes/color.js +0 -23
  54. package/lib/nodes/color.js.map +0 -1
  55. package/lib/nodes/combinator.js +0 -7
  56. package/lib/nodes/combinator.js.map +0 -1
  57. package/lib/nodes/comment.js +0 -9
  58. package/lib/nodes/comment.js.map +0 -1
  59. package/lib/nodes/condition.js +0 -19
  60. package/lib/nodes/condition.js.map +0 -1
  61. package/lib/nodes/declaration.js +0 -38
  62. package/lib/nodes/declaration.js.map +0 -1
  63. package/lib/nodes/dimension.js +0 -9
  64. package/lib/nodes/dimension.js.map +0 -1
  65. package/lib/nodes/expression.js +0 -16
  66. package/lib/nodes/expression.js.map +0 -1
  67. package/lib/nodes/extend.js +0 -18
  68. package/lib/nodes/extend.js.map +0 -1
  69. package/lib/nodes/import.js +0 -22
  70. package/lib/nodes/import.js.map +0 -1
  71. package/lib/nodes/index.js +0 -308
  72. package/lib/nodes/index.js.map +0 -1
  73. package/lib/nodes/keyword.js +0 -8
  74. package/lib/nodes/keyword.js.map +0 -1
  75. package/lib/nodes/list.js +0 -61
  76. package/lib/nodes/list.js.map +0 -1
  77. package/lib/nodes/mixin.js +0 -22
  78. package/lib/nodes/mixin.js.map +0 -1
  79. package/lib/nodes/negative.js +0 -13
  80. package/lib/nodes/negative.js.map +0 -1
  81. package/lib/nodes/operation.js +0 -22
  82. package/lib/nodes/operation.js.map +0 -1
  83. package/lib/nodes/paren.js +0 -13
  84. package/lib/nodes/paren.js.map +0 -1
  85. package/lib/nodes/quoted.js +0 -23
  86. package/lib/nodes/quoted.js.map +0 -1
  87. package/lib/nodes/reference.js +0 -44
  88. package/lib/nodes/reference.js.map +0 -1
  89. package/lib/nodes/ruleset.js +0 -67
  90. package/lib/nodes/ruleset.js.map +0 -1
  91. package/lib/nodes/selector.js +0 -158
  92. package/lib/nodes/selector.js.map +0 -1
  93. package/lib/nodes/sequence.js +0 -56
  94. package/lib/nodes/sequence.js.map +0 -1
  95. package/lib/nodes/url.js +0 -13
  96. package/lib/nodes/url.js.map +0 -1
  97. package/lib/nodes/var-declaration.js +0 -21
  98. package/lib/nodes/var-declaration.js.map +0 -1
  99. package/lib/plugin-utils.js +0 -100
  100. package/lib/plugin-utils.js.map +0 -1
  101. package/lib/plugin.js +0 -1026
  102. package/lib/plugin.js.map +0 -1
  103. package/lib/transform/adapter.js +0 -111
  104. package/lib/transform/adapter.js.map +0 -1
  105. package/lib/transform/from-less.js +0 -170
  106. package/lib/transform/from-less.js.map +0 -1
  107. package/lib/transform/index.js.map +0 -1
  108. package/lib/transform/proxy.d.ts +0 -32
  109. package/lib/transform/proxy.js +0 -138
  110. package/lib/transform/proxy.js.map +0 -1
  111. package/lib/transform/to-less.js +0 -130
  112. package/lib/transform/to-less.js.map +0 -1
  113. package/lib/transform/type-map.js +0 -105
  114. package/lib/transform/type-map.js.map +0 -1
  115. package/lib/types.js +0 -5
  116. 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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"}
@@ -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"}
@@ -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;
@@ -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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"}