@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.46.1

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 (95) hide show
  1. package/dist/cjs/cache.cjs +112 -109
  2. package/dist/cjs/configure.cjs +26 -28
  3. package/dist/cjs/constants.cjs +56 -60
  4. package/dist/cjs/index.cjs +420 -438
  5. package/dist/cjs/reactNativeCodegen.cjs +105 -114
  6. package/dist/cjs/reactNativeViewConfig.cjs +362 -381
  7. package/dist/cjs/refresh-runtime.cjs +390 -397
  8. package/dist/cjs/transformBabel.cjs +278 -218
  9. package/dist/cjs/transformHermesAsync.cjs +36 -47
  10. package/dist/cjs/transformHermesLoops.cjs +279 -281
  11. package/dist/cjs/transformSWC.cjs +183 -200
  12. package/dist/cjs/transformWorklets.cjs +107 -95
  13. package/dist/cjs/types.cjs +9 -11
  14. package/dist/cjs/worklets/autoworklet.cjs +277 -222
  15. package/dist/cjs/worklets/globals.cjs +124 -60
  16. package/dist/cjs/worklets/hash.cjs +23 -27
  17. package/dist/cjs/worklets/scope.cjs +338 -359
  18. package/dist/cjs/worklets/serialize.cjs +73 -75
  19. package/dist/cjs/worklets/transform.cjs +217 -222
  20. package/dist/cjs/worklets/types.cjs +9 -11
  21. package/dist/esm/cache.mjs +96 -89
  22. package/dist/esm/cache.mjs.map +1 -1
  23. package/dist/esm/configure.mjs +11 -10
  24. package/dist/esm/configure.mjs.map +1 -1
  25. package/dist/esm/constants.mjs +41 -41
  26. package/dist/esm/constants.mjs.map +1 -1
  27. package/dist/esm/index.js +417 -420
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/index.mjs +417 -420
  30. package/dist/esm/index.mjs.map +1 -1
  31. package/dist/esm/reactNativeCodegen.mjs +90 -88
  32. package/dist/esm/reactNativeCodegen.mjs.map +1 -1
  33. package/dist/esm/reactNativeViewConfig.mjs +347 -362
  34. package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
  35. package/dist/esm/refresh-runtime.mjs +372 -376
  36. package/dist/esm/refresh-runtime.mjs.map +1 -1
  37. package/dist/esm/transformBabel.mjs +261 -194
  38. package/dist/esm/transformBabel.mjs.map +1 -1
  39. package/dist/esm/transformHermesAsync.mjs +20 -21
  40. package/dist/esm/transformHermesAsync.mjs.map +1 -1
  41. package/dist/esm/transformHermesLoops.mjs +264 -255
  42. package/dist/esm/transformHermesLoops.mjs.map +1 -1
  43. package/dist/esm/transformSWC.mjs +163 -171
  44. package/dist/esm/transformSWC.mjs.map +1 -1
  45. package/dist/esm/transformWorklets.mjs +89 -69
  46. package/dist/esm/transformWorklets.mjs.map +1 -1
  47. package/dist/esm/types.mjs +0 -2
  48. package/dist/esm/worklets/autoworklet.mjs +258 -200
  49. package/dist/esm/worklets/autoworklet.mjs.map +1 -1
  50. package/dist/esm/worklets/globals.mjs +109 -42
  51. package/dist/esm/worklets/globals.mjs.map +1 -1
  52. package/dist/esm/worklets/hash.mjs +10 -9
  53. package/dist/esm/worklets/hash.mjs.map +1 -1
  54. package/dist/esm/worklets/scope.mjs +325 -341
  55. package/dist/esm/worklets/scope.mjs.map +1 -1
  56. package/dist/esm/worklets/serialize.mjs +60 -58
  57. package/dist/esm/worklets/serialize.mjs.map +1 -1
  58. package/dist/esm/worklets/transform.mjs +201 -197
  59. package/dist/esm/worklets/transform.mjs.map +1 -1
  60. package/dist/esm/worklets/types.mjs +0 -2
  61. package/package.json +7 -6
  62. package/src/cache.ts +37 -7
  63. package/src/index.ts +33 -18
  64. package/src/transformBabel.test.ts +311 -1
  65. package/src/transformBabel.ts +110 -13
  66. package/src/transformWorklets.test.ts +7 -1
  67. package/types/cache.d.ts +2 -2
  68. package/types/cache.d.ts.map +1 -1
  69. package/types/index.d.ts.map +1 -1
  70. package/types/transformBabel.d.ts +16 -1
  71. package/types/transformBabel.d.ts.map +1 -1
  72. package/types/transformSWC.d.ts +1 -4
  73. package/types/transformSWC.d.ts.map +1 -1
  74. package/dist/cjs/transformBabel.test.cjs +0 -360
  75. package/dist/cjs/transformHermesLoops.test.cjs +0 -257
  76. package/dist/cjs/transformSWC.test.cjs +0 -117
  77. package/dist/cjs/transformWorklets.test.cjs +0 -604
  78. package/dist/esm/transformBabel.test.mjs +0 -337
  79. package/dist/esm/transformBabel.test.mjs.map +0 -1
  80. package/dist/esm/transformHermesLoops.test.mjs +0 -234
  81. package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
  82. package/dist/esm/transformSWC.test.mjs +0 -118
  83. package/dist/esm/transformSWC.test.mjs.map +0 -1
  84. package/dist/esm/transformWorklets.test.mjs +0 -581
  85. package/dist/esm/transformWorklets.test.mjs.map +0 -1
  86. package/dist/esm/types.mjs.map +0 -1
  87. package/dist/esm/worklets/types.mjs.map +0 -1
  88. package/types/transformBabel.test.d.ts +0 -2
  89. package/types/transformBabel.test.d.ts.map +0 -1
  90. package/types/transformHermesLoops.test.d.ts +0 -2
  91. package/types/transformHermesLoops.test.d.ts.map +0 -1
  92. package/types/transformSWC.test.d.ts +0 -2
  93. package/types/transformSWC.test.d.ts.map +0 -1
  94. package/types/transformWorklets.test.d.ts +0 -2
  95. package/types/transformWorklets.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["getClosureVariables","fnNode","globals","rootScope","parent","isFunction","bindings","Set","varBindings","currentScope","freeVariables","id","name","add","pushScope","newScope","popScope","addBindings","pattern","targetSet","type","left","walk","right","argument","el","elements","prop","properties","computed","key","value","addBindingsOnly","hoistDeclarations","node","direct","kind","d","declarations","declaration","Object","keys","child","Array","isArray","item","params","param","isDeclaredInScopes","fromScope","s","has","resolveIdentifier","expression","isRootBody","body","stmt","isVar","decl","init","test","update","superClass","object","property","openingElement","nameNode","root","attributes","attr","children","from","sort"],"sources":["../../../src/worklets/scope.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"scope.js","names":[],"sources":["esm/worklets/scope.js"],"sourcesContent":["function getClosureVariables(fnNode, globals) {\n const rootScope = {\n parent: null,\n isFunction: true,\n bindings: /* @__PURE__ */ new Set(),\n varBindings: /* @__PURE__ */ new Set()\n };\n let currentScope = rootScope;\n const freeVariables = /* @__PURE__ */ new Set();\n if (fnNode.id && fnNode.id.name) {\n rootScope.bindings.add(fnNode.id.name);\n }\n function pushScope(isFunction) {\n const newScope = {\n parent: currentScope,\n isFunction,\n bindings: /* @__PURE__ */ new Set(),\n varBindings: isFunction ? /* @__PURE__ */ new Set() : currentScope.varBindings\n };\n currentScope = newScope;\n return newScope;\n }\n function popScope() {\n if (currentScope.parent) {\n currentScope = currentScope.parent;\n }\n }\n function addBindings(pattern, targetSet) {\n if (!pattern) return;\n switch (pattern.type) {\n case \"Identifier\":\n targetSet.add(pattern.name);\n break;\n case \"AssignmentPattern\":\n addBindings(pattern.left, targetSet);\n walk(pattern.right);\n break;\n case \"RestElement\":\n addBindings(pattern.argument, targetSet);\n break;\n case \"ArrayPattern\":\n for (const el of pattern.elements) {\n if (el) addBindings(el, targetSet);\n }\n break;\n case \"ObjectPattern\":\n for (const prop of pattern.properties) {\n if (prop.type === \"Property\") {\n if (prop.computed) walk(prop.key);\n addBindings(prop.value, targetSet);\n } else if (prop.type === \"RestElement\") {\n addBindings(prop.argument, targetSet);\n }\n }\n break;\n }\n }\n function addBindingsOnly(pattern, targetSet) {\n if (!pattern) return;\n switch (pattern.type) {\n case \"Identifier\":\n targetSet.add(pattern.name);\n break;\n case \"AssignmentPattern\":\n addBindingsOnly(pattern.left, targetSet);\n break;\n case \"RestElement\":\n addBindingsOnly(pattern.argument, targetSet);\n break;\n case \"ArrayPattern\":\n for (const el of pattern.elements) {\n if (el) addBindingsOnly(el, targetSet);\n }\n break;\n case \"ObjectPattern\":\n for (const prop of pattern.properties) {\n if (prop.type === \"Property\") {\n addBindingsOnly(prop.value, targetSet);\n } else if (prop.type === \"RestElement\") {\n addBindingsOnly(prop.argument, targetSet);\n }\n }\n break;\n }\n }\n function hoistDeclarations(node, direct) {\n if (!node || typeof node !== \"object\" || typeof node.type !== \"string\") return;\n switch (node.type) {\n case \"FunctionDeclaration\":\n if (node.id?.name) {\n currentScope.bindings.add(node.id.name);\n currentScope.varBindings.add(node.id.name);\n }\n return;\n case \"FunctionExpression\":\n case \"ArrowFunctionExpression\":\n return;\n case \"ClassDeclaration\":\n if (direct && node.id?.name) currentScope.bindings.add(node.id.name);\n return;\n case \"VariableDeclaration\":\n if (node.kind === \"var\") {\n for (const d of node.declarations)\n addBindingsOnly(d.id, currentScope.varBindings);\n } else if (direct) {\n for (const d of node.declarations) addBindingsOnly(d.id, currentScope.bindings);\n }\n return;\n case \"ExportNamedDeclaration\":\n case \"ExportDefaultDeclaration\":\n hoistDeclarations(node.declaration, direct);\n return;\n }\n for (const key of Object.keys(node)) {\n if (key === \"start\" || key === \"end\" || key === \"loc\" || key === \"range\") continue;\n const child = node[key];\n if (Array.isArray(child)) {\n for (const item of child) hoistDeclarations(item, false);\n } else if (child && typeof child === \"object\") {\n hoistDeclarations(child, false);\n }\n }\n }\n if (fnNode.params) {\n for (const param of fnNode.params) {\n addBindings(param, rootScope.bindings);\n }\n }\n function isDeclaredInScopes(name, fromScope) {\n let s = fromScope;\n while (s) {\n if (s.bindings.has(name) || s.varBindings.has(name)) {\n return true;\n }\n s = s.parent;\n }\n return false;\n }\n function resolveIdentifier(name) {\n if (!isDeclaredInScopes(name, currentScope) && !globals.has(name)) {\n freeVariables.add(name);\n }\n }\n function walk(node) {\n if (!node || typeof node !== \"object\") return;\n if (node.type === \"TSTypeAnnotation\" || node.type === \"TSTypeReference\" || node.type === \"TSTypeAliasDeclaration\" || node.type === \"TSInterfaceDeclaration\" || node.type === \"TSTypeParameterDeclaration\" || node.type === \"TSTypeParameterInstantiation\" || node.type === \"TSTypeQuery\" || node.type === \"TSQualifiedName\") {\n return;\n }\n if (node.type === \"TSAsExpression\" || node.type === \"TSSatisfiesExpression\" || node.type === \"TSTypeAssertion\" || node.type === \"TSNonNullExpression\" || node.type === \"TSInstantiationExpression\") {\n walk(node.expression);\n return;\n }\n switch (node.type) {\n case \"BlockStatement\": {\n const isRootBody = node === fnNode.body;\n if (!isRootBody) {\n pushScope(false);\n }\n for (const stmt of node.body) {\n hoistDeclarations(stmt, true);\n }\n for (const stmt of node.body) {\n walk(stmt);\n }\n if (!isRootBody) {\n popScope();\n }\n return;\n }\n case \"VariableDeclaration\": {\n const isVar = node.kind === \"var\";\n const targetSet = isVar ? currentScope.varBindings : currentScope.bindings;\n for (const decl of node.declarations) {\n addBindings(decl.id, targetSet);\n if (decl.init) walk(decl.init);\n }\n return;\n }\n case \"FunctionDeclaration\":\n case \"FunctionExpression\": {\n if (node.id && node.id.name) {\n currentScope.bindings.add(node.id.name);\n }\n pushScope(true);\n if (node.params) {\n for (const param of node.params) {\n addBindings(param, currentScope.bindings);\n }\n }\n walk(node.body);\n popScope();\n return;\n }\n case \"ArrowFunctionExpression\": {\n pushScope(true);\n if (node.params) {\n for (const param of node.params) {\n addBindings(param, currentScope.bindings);\n }\n }\n walk(node.body);\n popScope();\n return;\n }\n case \"CatchClause\": {\n pushScope(false);\n if (node.param) {\n addBindings(node.param, currentScope.bindings);\n }\n walk(node.body);\n popScope();\n return;\n }\n case \"ForStatement\": {\n pushScope(false);\n if (node.init) walk(node.init);\n if (node.test) walk(node.test);\n if (node.update) walk(node.update);\n walk(node.body);\n popScope();\n return;\n }\n case \"ForInStatement\":\n case \"ForOfStatement\": {\n pushScope(false);\n walk(node.left);\n walk(node.right);\n walk(node.body);\n popScope();\n return;\n }\n case \"ClassDeclaration\":\n case \"ClassExpression\": {\n if (node.id && node.id.name) {\n currentScope.bindings.add(node.id.name);\n }\n if (node.superClass) walk(node.superClass);\n pushScope(false);\n walk(node.body);\n popScope();\n return;\n }\n case \"MemberExpression\": {\n walk(node.object);\n if (node.computed) {\n walk(node.property);\n }\n return;\n }\n case \"Property\": {\n if (node.computed) {\n walk(node.key);\n }\n walk(node.value);\n return;\n }\n case \"MethodDefinition\": {\n if (node.computed) {\n walk(node.key);\n }\n walk(node.value);\n return;\n }\n case \"Identifier\": {\n resolveIdentifier(node.name);\n return;\n }\n case \"JSXElement\": {\n if (node.openingElement) {\n const nameNode = node.openingElement.name;\n if (nameNode.type === \"JSXIdentifier\") {\n if (/^[A-Z]/.test(nameNode.name)) {\n resolveIdentifier(nameNode.name);\n }\n } else if (nameNode.type === \"JSXMemberExpression\") {\n let root = nameNode.object;\n while (root.type === \"JSXMemberExpression\") {\n root = root.object;\n }\n if (root.type === \"JSXIdentifier\") {\n resolveIdentifier(root.name);\n }\n }\n if (node.openingElement.attributes) {\n for (const attr of node.openingElement.attributes) {\n walk(attr);\n }\n }\n }\n if (node.children) {\n for (const child of node.children) {\n walk(child);\n }\n }\n return;\n }\n case \"JSXAttribute\": {\n if (node.value) {\n walk(node.value);\n }\n return;\n }\n case \"JSXExpressionContainer\": {\n walk(node.expression);\n return;\n }\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"LabeledStatement\": {\n if (node.body) walk(node.body);\n return;\n }\n }\n for (const key of Object.keys(node)) {\n if (key === \"start\" || key === \"end\" || key === \"loc\" || key === \"range\") continue;\n const child = node[key];\n if (Array.isArray(child)) {\n for (const item of child) {\n walk(item);\n }\n } else if (child && typeof child === \"object\") {\n walk(child);\n }\n }\n }\n walk(fnNode.body);\n return Array.from(freeVariables).sort();\n}\nexport {\n getClosureVariables\n};\n//# sourceMappingURL=scope.js.map\n"],"mappings":"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"}
@@ -1,75 +1,77 @@
1
1
  import { transformSync } from "oxc-transform";
2
2
  import { bodyStartAfterDirectives } from "./autoworklet.mjs";
3
+
3
4
  function assertTransformed(transformed, name, what) {
4
- const error = transformed.errors?.[0];
5
- if (error) {
6
- throw new Error(`[worklets] failed to build ${what} code for ${name || "anonymous worklet"}: ${error.message || error}`);
7
- }
8
- if (!transformed.code.trim()) {
9
- throw new Error(`[worklets] built empty ${what} code for ${name || "anonymous worklet"}`);
10
- }
5
+ const error = transformed.errors?.[0];
6
+ if (error) {
7
+ throw new Error(`[worklets] failed to build ${what} code for ${name || "anonymous worklet"}: ${error.message || error}`);
8
+ }
9
+ if (!transformed.code.trim()) {
10
+ throw new Error(`[worklets] built empty ${what} code for ${name || "anonymous worklet"}`);
11
+ }
11
12
  }
12
13
  function serializeWorkletForUI(fnNode, code, name, closureVars) {
13
- let rawParams = "";
14
- if (fnNode.params && fnNode.params.length > 0) {
15
- const pStart = fnNode.params[0].start;
16
- const pEnd = fnNode.params[fnNode.params.length - 1].end;
17
- rawParams = code.slice(pStart, pEnd);
18
- }
19
- let rawBody = "";
20
- if (fnNode.body.type === "BlockStatement") {
21
- const bodyStart = bodyStartAfterDirectives(fnNode, code);
22
- const bodyEnd = fnNode.body.end - 1;
23
- rawBody = code.slice(bodyStart, bodyEnd);
24
- } else {
25
- rawBody = `return ${code.slice(fnNode.body.start, fnNode.body.end)};`;
26
- }
27
- const unpacker = closureVars.length > 0 ? `const { ${closureVars.join(", ")} } = this.__closure ?? this._closure;
14
+ let rawParams = "";
15
+ if (fnNode.params && fnNode.params.length > 0) {
16
+ const pStart = fnNode.params[0].start;
17
+ const pEnd = fnNode.params[fnNode.params.length - 1].end;
18
+ rawParams = code.slice(pStart, pEnd);
19
+ }
20
+ let rawBody = "";
21
+ if (fnNode.body.type === "BlockStatement") {
22
+ const bodyStart = bodyStartAfterDirectives(fnNode, code);
23
+ const bodyEnd = fnNode.body.end - 1;
24
+ rawBody = code.slice(bodyStart, bodyEnd);
25
+ } else {
26
+ rawBody = `return ${code.slice(fnNode.body.start, fnNode.body.end)};`;
27
+ }
28
+ const unpacker = closureVars.length > 0 ? `const { ${closureVars.join(", ")} } = this.__closure ?? this._closure;
28
29
  ` : "";
29
- const asyncPrefix = fnNode.async ? "async " : "";
30
- const genPrefix = fnNode.generator ? "*" : "";
31
- const fnName = name || "_worklet";
32
- const fullFn = `${asyncPrefix}function${genPrefix} ${fnName}(${rawParams}) {
30
+ const asyncPrefix = fnNode.async ? "async " : "";
31
+ const genPrefix = fnNode.generator ? "*" : "";
32
+ const fnName = name || "_worklet";
33
+ const fullFn = `${asyncPrefix}function${genPrefix} ${fnName}(${rawParams}) {
33
34
  ${unpacker}${rawBody}
34
35
  }`;
35
- const transformed = transformSync("worklet.ts", fullFn);
36
- assertTransformed(transformed, name, "serialized");
37
- return transformed.code.trim();
36
+ const transformed = transformSync("worklet.ts", fullFn);
37
+ assertTransformed(transformed, name, "serialized");
38
+ return transformed.code.trim();
38
39
  }
39
40
  function buildLocalFunction(fnNode, code, name) {
40
- let rawParams = "";
41
- if (fnNode.params && fnNode.params.length > 0) {
42
- const pStart = fnNode.params[0].start;
43
- const pEnd = fnNode.params[fnNode.params.length - 1].end;
44
- rawParams = code.slice(pStart, pEnd);
45
- }
46
- let rawBody = "";
47
- if (fnNode.body.type === "BlockStatement") {
48
- const bodyStart = bodyStartAfterDirectives(fnNode, code);
49
- const bodyEnd = fnNode.body.end - 1;
50
- rawBody = code.slice(bodyStart, bodyEnd);
51
- } else {
52
- rawBody = code.slice(fnNode.body.start, fnNode.body.end);
53
- }
54
- let rawFn = "";
55
- const asyncPrefix = fnNode.async ? "async " : "";
56
- const genPrefix = fnNode.generator ? "*" : "";
57
- if (fnNode.type === "ArrowFunctionExpression") {
58
- if (fnNode.body.type === "BlockStatement") {
59
- rawFn = `${asyncPrefix}(${rawParams}) => {
41
+ let rawParams = "";
42
+ if (fnNode.params && fnNode.params.length > 0) {
43
+ const pStart = fnNode.params[0].start;
44
+ const pEnd = fnNode.params[fnNode.params.length - 1].end;
45
+ rawParams = code.slice(pStart, pEnd);
46
+ }
47
+ let rawBody = "";
48
+ if (fnNode.body.type === "BlockStatement") {
49
+ const bodyStart = bodyStartAfterDirectives(fnNode, code);
50
+ const bodyEnd = fnNode.body.end - 1;
51
+ rawBody = code.slice(bodyStart, bodyEnd);
52
+ } else {
53
+ rawBody = code.slice(fnNode.body.start, fnNode.body.end);
54
+ }
55
+ let rawFn = "";
56
+ const asyncPrefix = fnNode.async ? "async " : "";
57
+ const genPrefix = fnNode.generator ? "*" : "";
58
+ if (fnNode.type === "ArrowFunctionExpression") {
59
+ if (fnNode.body.type === "BlockStatement") {
60
+ rawFn = `${asyncPrefix}(${rawParams}) => {
60
61
  ${rawBody}
61
62
  }`;
62
- } else {
63
- rawFn = `${asyncPrefix}(${rawParams}) => (${rawBody})`;
64
- }
65
- } else {
66
- rawFn = `${asyncPrefix}function${genPrefix} ${name || "_worklet"}(${rawParams}) {
63
+ } else {
64
+ rawFn = `${asyncPrefix}(${rawParams}) => (${rawBody})`;
65
+ }
66
+ } else {
67
+ rawFn = `${asyncPrefix}function${genPrefix} ${name || "_worklet"}(${rawParams}) {
67
68
  ${rawBody}
68
69
  }`;
69
- }
70
- const transformed = transformSync("local.ts", rawFn);
71
- assertTransformed(transformed, name, "local");
72
- return transformed.code.trim().replace(/;$/, "");
70
+ }
71
+ const transformed = transformSync("local.ts", rawFn);
72
+ assertTransformed(transformed, name, "local");
73
+ return transformed.code.trim().replace(/;$/, "");
73
74
  }
75
+
74
76
  export { buildLocalFunction, serializeWorkletForUI };
75
77
  //# sourceMappingURL=serialize.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["transformSync","bodyStartAfterDirectives","assertTransformed","transformed","name","what","error","errors","Error","message","code","trim","serializeWorkletForUI","fnNode","closureVars","rawParams","params","length","pStart","start","pEnd","end","slice","rawBody","body","type","bodyStart","bodyEnd","unpacker","join","asyncPrefix","async","genPrefix","generator","fnName","fullFn","buildLocalFunction","rawFn","replace"],"sources":["../../../src/worklets/serialize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"serialize.js","names":[],"sources":["esm/worklets/serialize.js"],"sourcesContent":["import { transformSync } from \"oxc-transform\";\nimport { bodyStartAfterDirectives } from \"./autoworklet\";\nfunction assertTransformed(transformed, name, what) {\n const error = transformed.errors?.[0];\n if (error) {\n throw new Error(\n `[worklets] failed to build ${what} code for ${name || \"anonymous worklet\"}: ${error.message || error}`\n );\n }\n if (!transformed.code.trim()) {\n throw new Error(\n `[worklets] built empty ${what} code for ${name || \"anonymous worklet\"}`\n );\n }\n}\nfunction serializeWorkletForUI(fnNode, code, name, closureVars) {\n let rawParams = \"\";\n if (fnNode.params && fnNode.params.length > 0) {\n const pStart = fnNode.params[0].start;\n const pEnd = fnNode.params[fnNode.params.length - 1].end;\n rawParams = code.slice(pStart, pEnd);\n }\n let rawBody = \"\";\n if (fnNode.body.type === \"BlockStatement\") {\n const bodyStart = bodyStartAfterDirectives(fnNode, code);\n const bodyEnd = fnNode.body.end - 1;\n rawBody = code.slice(bodyStart, bodyEnd);\n } else {\n rawBody = `return ${code.slice(fnNode.body.start, fnNode.body.end)};`;\n }\n const unpacker = closureVars.length > 0 ? `const { ${closureVars.join(\", \")} } = this.__closure ?? this._closure;\n` : \"\";\n const asyncPrefix = fnNode.async ? \"async \" : \"\";\n const genPrefix = fnNode.generator ? \"*\" : \"\";\n const fnName = name || \"_worklet\";\n const fullFn = `${asyncPrefix}function${genPrefix} ${fnName}(${rawParams}) {\n${unpacker}${rawBody}\n}`;\n const transformed = transformSync(\"worklet.ts\", fullFn);\n assertTransformed(transformed, name, \"serialized\");\n return transformed.code.trim();\n}\nfunction buildLocalFunction(fnNode, code, name) {\n let rawParams = \"\";\n if (fnNode.params && fnNode.params.length > 0) {\n const pStart = fnNode.params[0].start;\n const pEnd = fnNode.params[fnNode.params.length - 1].end;\n rawParams = code.slice(pStart, pEnd);\n }\n let rawBody = \"\";\n if (fnNode.body.type === \"BlockStatement\") {\n const bodyStart = bodyStartAfterDirectives(fnNode, code);\n const bodyEnd = fnNode.body.end - 1;\n rawBody = code.slice(bodyStart, bodyEnd);\n } else {\n rawBody = code.slice(fnNode.body.start, fnNode.body.end);\n }\n let rawFn = \"\";\n const asyncPrefix = fnNode.async ? \"async \" : \"\";\n const genPrefix = fnNode.generator ? \"*\" : \"\";\n if (fnNode.type === \"ArrowFunctionExpression\") {\n if (fnNode.body.type === \"BlockStatement\") {\n rawFn = `${asyncPrefix}(${rawParams}) => {\n${rawBody}\n}`;\n } else {\n rawFn = `${asyncPrefix}(${rawParams}) => (${rawBody})`;\n }\n } else {\n rawFn = `${asyncPrefix}function${genPrefix} ${name || \"_worklet\"}(${rawParams}) {\n${rawBody}\n}`;\n }\n const transformed = transformSync(\"local.ts\", rawFn);\n assertTransformed(transformed, name, \"local\");\n return transformed.code.trim().replace(/;$/, \"\");\n}\nexport {\n buildLocalFunction,\n serializeWorkletForUI\n};\n//# sourceMappingURL=serialize.js.map\n"],"mappings":";;;;AAEA,SAAS,kBAAkB,aAAa,MAAM,MAAM;CAClD,MAAM,QAAQ,YAAY,SAAS;CACnC,IAAI,OAAO;EACT,MAAM,IAAI,MACR,8BAA8B,KAAK,YAAY,QAAQ,oBAAoB,IAAI,MAAM,WAAW,OAClG;CACF;CACA,IAAI,CAAC,YAAY,KAAK,KAAK,GAAG;EAC5B,MAAM,IAAI,MACR,0BAA0B,KAAK,YAAY,QAAQ,qBACrD;CACF;AACF;AACA,SAAS,sBAAsB,QAAQ,MAAM,MAAM,aAAa;CAC9D,IAAI,YAAY;CAChB,IAAI,OAAO,UAAU,OAAO,OAAO,SAAS,GAAG;EAC7C,MAAM,SAAS,OAAO,OAAO,EAAE,CAAC;EAChC,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,SAAS,EAAE,CAAC;EACrD,YAAY,KAAK,MAAM,QAAQ,IAAI;CACrC;CACA,IAAI,UAAU;CACd,IAAI,OAAO,KAAK,SAAS,kBAAkB;EACzC,MAAM,YAAY,yBAAyB,QAAQ,IAAI;EACvD,MAAM,UAAU,OAAO,KAAK,MAAM;EAClC,UAAU,KAAK,MAAM,WAAW,OAAO;CACzC,OAAO;EACL,UAAU,UAAU,KAAK,MAAM,OAAO,KAAK,OAAO,OAAO,KAAK,GAAG,EAAE;CACrE;CACA,MAAM,WAAW,YAAY,SAAS,IAAI,WAAW,YAAY,KAAK,IAAI,EAAE;IAC1E;CACF,MAAM,cAAc,OAAO,QAAQ,WAAW;CAC9C,MAAM,YAAY,OAAO,YAAY,MAAM;CAC3C,MAAM,SAAS,QAAQ;CACvB,MAAM,SAAS,GAAG,YAAY,UAAU,UAAU,GAAG,OAAO,GAAG,UAAU;EACzE,WAAW,QAAQ;;CAEnB,MAAM,cAAc,cAAc,cAAc,MAAM;CACtD,kBAAkB,aAAa,MAAM,YAAY;CACjD,OAAO,YAAY,KAAK,KAAK;AAC/B;AACA,SAAS,mBAAmB,QAAQ,MAAM,MAAM;CAC9C,IAAI,YAAY;CAChB,IAAI,OAAO,UAAU,OAAO,OAAO,SAAS,GAAG;EAC7C,MAAM,SAAS,OAAO,OAAO,EAAE,CAAC;EAChC,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,SAAS,EAAE,CAAC;EACrD,YAAY,KAAK,MAAM,QAAQ,IAAI;CACrC;CACA,IAAI,UAAU;CACd,IAAI,OAAO,KAAK,SAAS,kBAAkB;EACzC,MAAM,YAAY,yBAAyB,QAAQ,IAAI;EACvD,MAAM,UAAU,OAAO,KAAK,MAAM;EAClC,UAAU,KAAK,MAAM,WAAW,OAAO;CACzC,OAAO;EACL,UAAU,KAAK,MAAM,OAAO,KAAK,OAAO,OAAO,KAAK,GAAG;CACzD;CACA,IAAI,QAAQ;CACZ,MAAM,cAAc,OAAO,QAAQ,WAAW;CAC9C,MAAM,YAAY,OAAO,YAAY,MAAM;CAC3C,IAAI,OAAO,SAAS,2BAA2B;EAC7C,IAAI,OAAO,KAAK,SAAS,kBAAkB;GACzC,QAAQ,GAAG,YAAY,GAAG,UAAU;EACxC,QAAQ;;EAEN,OAAO;GACL,QAAQ,GAAG,YAAY,GAAG,UAAU,QAAQ,QAAQ;EACtD;CACF,OAAO;EACL,QAAQ,GAAG,YAAY,UAAU,UAAU,GAAG,QAAQ,WAAW,GAAG,UAAU;EAChF,QAAQ;;CAER;CACA,MAAM,cAAc,cAAc,YAAY,KAAK;CACnD,kBAAkB,aAAa,MAAM,OAAO;CAC5C,OAAO,YAAY,KAAK,KAAK,CAAC,CAAC,QAAQ,MAAM,EAAE;AACjD"}