@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.45.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 (94) 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/types/cache.d.ts +2 -2
  67. package/types/cache.d.ts.map +1 -1
  68. package/types/index.d.ts.map +1 -1
  69. package/types/transformBabel.d.ts +16 -1
  70. package/types/transformBabel.d.ts.map +1 -1
  71. package/types/transformSWC.d.ts +1 -4
  72. package/types/transformSWC.d.ts.map +1 -1
  73. package/dist/cjs/transformBabel.test.cjs +0 -360
  74. package/dist/cjs/transformHermesLoops.test.cjs +0 -257
  75. package/dist/cjs/transformSWC.test.cjs +0 -117
  76. package/dist/cjs/transformWorklets.test.cjs +0 -604
  77. package/dist/esm/transformBabel.test.mjs +0 -337
  78. package/dist/esm/transformBabel.test.mjs.map +0 -1
  79. package/dist/esm/transformHermesLoops.test.mjs +0 -234
  80. package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
  81. package/dist/esm/transformSWC.test.mjs +0 -118
  82. package/dist/esm/transformSWC.test.mjs.map +0 -1
  83. package/dist/esm/transformWorklets.test.mjs +0 -581
  84. package/dist/esm/transformWorklets.test.mjs.map +0 -1
  85. package/dist/esm/types.mjs.map +0 -1
  86. package/dist/esm/worklets/types.mjs.map +0 -1
  87. package/types/transformBabel.test.d.ts +0 -2
  88. package/types/transformBabel.test.d.ts.map +0 -1
  89. package/types/transformHermesLoops.test.d.ts +0 -2
  90. package/types/transformHermesLoops.test.d.ts.map +0 -1
  91. package/types/transformSWC.test.d.ts +0 -2
  92. package/types/transformSWC.test.d.ts.map +0 -1
  93. package/types/transformWorklets.test.d.ts +0 -2
  94. package/types/transformWorklets.test.d.ts.map +0 -1
@@ -3,80 +3,100 @@ import { createRequire } from "node:module";
3
3
  import path from "node:path";
4
4
  import { configuration, isNativeWorkletsEnabled } from "./configure.mjs";
5
5
  import { AUTOWORKLET_FUNCTION_ARGS, GESTURE_BUILDER_METHODS } from "./worklets/autoworklet.mjs";
6
- import { executeWorkletTransform } from "./worklets/transform.mjs";
7
- import { prepareWorkletsForReactCompiler } from "./worklets/transform.mjs";
8
- const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = ["worklet", "useAnimatedGestureHandler", "useAnimatedScrollHandler", "useFrameCallback", "useAnimatedStyle", "useAnimatedProps", "createAnimatedPropAdapter", "useDerivedValue", "useAnimatedReaction", "useWorkletCallback", "withTiming", "withSpring", "withDecay", "withRepeat", "runOnUI", "executeOnUIRuntimeSync"];
9
- const REANIMATED_REGEX = new RegExp([... /* @__PURE__ */new Set([...REANIMATED_AUTOWORKLETIZATION_KEYWORDS, ...Object.keys(AUTOWORKLET_FUNCTION_ARGS),
10
- // gesture callbacks are only workletized on a `Gesture.<Kind>()` chain,
11
- // but this file gate has to be permissive or a file whose only worklets
12
- // are gesture callbacks never reaches the transform at all.
13
- ...GESTURE_BUILDER_METHODS, "withCallback"])].map(name => `\\b${name}\\b`).join("|"));
14
- const REANIMATED_IGNORED_PATHS = ["react-native-prebuilt", "node_modules/.vxrn/react-native", "node_modules/react/", "node_modules/react-dom/", "node_modules/react-native/",
15
- // react-native's own scoped packages are flow, and the worklets transform
16
- // runs before flow stripping in the vite pipeline. they never hold app
17
- // worklets, exactly like node_modules/react-native/ above.
18
- "node_modules/@react-native/", "node_modules/react-native-web/"];
6
+ import { executeWorkletTransform, prepareWorkletsForReactCompiler } from "./worklets/transform.mjs";
7
+
8
+ const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
9
+ "worklet",
10
+ "useAnimatedGestureHandler",
11
+ "useAnimatedScrollHandler",
12
+ "useFrameCallback",
13
+ "useAnimatedStyle",
14
+ "useAnimatedProps",
15
+ "createAnimatedPropAdapter",
16
+ "useDerivedValue",
17
+ "useAnimatedReaction",
18
+ "useWorkletCallback",
19
+ "withTiming",
20
+ "withSpring",
21
+ "withDecay",
22
+ "withRepeat",
23
+ "runOnUI",
24
+ "executeOnUIRuntimeSync"
25
+ ];
26
+ const REANIMATED_REGEX = new RegExp([.../* @__PURE__ */ new Set([
27
+ ...REANIMATED_AUTOWORKLETIZATION_KEYWORDS,
28
+ ...Object.keys(AUTOWORKLET_FUNCTION_ARGS),
29
+ ...GESTURE_BUILDER_METHODS,
30
+ "withCallback"
31
+ ])].map((name) => `\\b${name}\\b`).join("|"));
32
+ const REANIMATED_IGNORED_PATHS = [
33
+ "react-native-prebuilt",
34
+ "node_modules/.vxrn/react-native",
35
+ "node_modules/react/",
36
+ "node_modules/react-dom/",
37
+ "node_modules/react-native/",
38
+ "node_modules/@react-native/",
39
+ "node_modules/react-native-web/"
40
+ ];
19
41
  const REANIMATED_IGNORED_PATHS_REGEX = new RegExp(REANIMATED_IGNORED_PATHS.join("|"));
20
- function shouldTransformWorklets({
21
- id,
22
- code
23
- }) {
24
- if (!isNativeWorkletsEnabled() || !configuration.enableReanimated) {
25
- return false;
26
- }
27
- const normalizedId = id.replace(/\\/g, "/");
28
- if (REANIMATED_IGNORED_PATHS_REGEX.test(normalizedId)) {
29
- return false;
30
- }
31
- return REANIMATED_REGEX.test(code);
42
+ function shouldTransformWorklets({ id, code }) {
43
+ if (!isNativeWorkletsEnabled() || !configuration.enableReanimated) {
44
+ return false;
45
+ }
46
+ const normalizedId = id.replace(/\\/g, "/");
47
+ if (REANIMATED_IGNORED_PATHS_REGEX.test(normalizedId)) {
48
+ return false;
49
+ }
50
+ return REANIMATED_REGEX.test(code);
32
51
  }
33
52
  function getWorkletsVersion(projectRoot, filename) {
34
- if (projectRoot) {
35
- try {
36
- const req = createRequire(path.resolve(projectRoot, "package.json"));
37
- try {
38
- const ver = req("react-native-worklets/package.json")?.version;
39
- if (ver) return ver;
40
- } catch {}
41
- try {
42
- const ver = req("react-native-reanimated/package.json")?.version;
43
- if (ver) return ver;
44
- } catch {}
45
- } catch {}
46
- throw new Error(`[@vxrn/compiler] Unable to resolve "react-native-worklets" or "react-native-reanimated" version from project root "${projectRoot}". Please ensure react-native-worklets is installed in your project.`);
47
- }
48
- if (filename && !filename.startsWith("\0") && fs.existsSync(filename)) {
49
- try {
50
- const req = createRequire(filename);
51
- try {
52
- const ver = req("react-native-worklets/package.json")?.version;
53
- if (ver) return ver;
54
- } catch {}
55
- try {
56
- const ver = req("react-native-reanimated/package.json")?.version;
57
- if (ver) return ver;
58
- } catch {}
59
- } catch {}
60
- }
61
- const fallbacks = [() => createRequire(path.resolve(process.cwd(), "package.json")), () => createRequire(import.meta.url)];
62
- for (const getReq of fallbacks) {
63
- try {
64
- const req = getReq();
65
- try {
66
- const ver = req("react-native-worklets/package.json")?.version;
67
- if (ver) return ver;
68
- } catch {}
69
- try {
70
- const ver = req("react-native-reanimated/package.json")?.version;
71
- if (ver) return ver;
72
- } catch {}
73
- } catch {}
74
- }
75
- const target = filename || process.cwd();
76
- throw new Error(`[@vxrn/compiler] Unable to resolve "react-native-worklets" or "react-native-reanimated" version from "${target}". Please ensure react-native-worklets is installed in your project.`);
53
+ if (projectRoot) {
54
+ try {
55
+ const req = createRequire(path.resolve(projectRoot, "package.json"));
56
+ try {
57
+ const ver = req("react-native-worklets/package.json")?.version;
58
+ if (ver) return ver;
59
+ } catch {}
60
+ try {
61
+ const ver = req("react-native-reanimated/package.json")?.version;
62
+ if (ver) return ver;
63
+ } catch {}
64
+ } catch {}
65
+ throw new Error(`[@vxrn/compiler] Unable to resolve "react-native-worklets" or "react-native-reanimated" version from project root "${projectRoot}". Please ensure react-native-worklets is installed in your project.`);
66
+ }
67
+ if (filename && !filename.startsWith("\0") && fs.existsSync(filename)) {
68
+ try {
69
+ const req = createRequire(filename);
70
+ try {
71
+ const ver = req("react-native-worklets/package.json")?.version;
72
+ if (ver) return ver;
73
+ } catch {}
74
+ try {
75
+ const ver = req("react-native-reanimated/package.json")?.version;
76
+ if (ver) return ver;
77
+ } catch {}
78
+ } catch {}
79
+ }
80
+ const fallbacks = [() => createRequire(path.resolve(process.cwd(), "package.json")), () => createRequire(import.meta.url)];
81
+ for (const getReq of fallbacks) {
82
+ try {
83
+ const req = getReq();
84
+ try {
85
+ const ver = req("react-native-worklets/package.json")?.version;
86
+ if (ver) return ver;
87
+ } catch {}
88
+ try {
89
+ const ver = req("react-native-reanimated/package.json")?.version;
90
+ if (ver) return ver;
91
+ } catch {}
92
+ } catch {}
93
+ }
94
+ const target = filename || process.cwd();
95
+ throw new Error(`[@vxrn/compiler] Unable to resolve "react-native-worklets" or "react-native-reanimated" version from "${target}". Please ensure react-native-worklets is installed in your project.`);
77
96
  }
78
97
  async function transformWorklets(id, code, sourceMaps = false, options) {
79
- return executeWorkletTransform(id, code, sourceMaps, options, getWorkletsVersion);
98
+ return executeWorkletTransform(id, code, sourceMaps, options, getWorkletsVersion);
80
99
  }
100
+
81
101
  export { REANIMATED_AUTOWORKLETIZATION_KEYWORDS, getWorkletsVersion, prepareWorkletsForReactCompiler, shouldTransformWorklets, transformWorklets };
82
102
  //# sourceMappingURL=transformWorklets.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["fs","createRequire","path","configuration","isNativeWorkletsEnabled","AUTOWORKLET_FUNCTION_ARGS","GESTURE_BUILDER_METHODS","executeWorkletTransform","prepareWorkletsForReactCompiler","REANIMATED_AUTOWORKLETIZATION_KEYWORDS","REANIMATED_REGEX","RegExp","Set","Object","keys","map","name","join","REANIMATED_IGNORED_PATHS","REANIMATED_IGNORED_PATHS_REGEX","shouldTransformWorklets","id","code","enableReanimated","normalizedId","replace","test","getWorkletsVersion","projectRoot","filename","req","resolve","ver","version","Error","startsWith","existsSync","fallbacks","process","cwd","import","meta","url","getReq","target","transformWorklets","sourceMaps","options"],"sources":["../../src/transformWorklets.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"transformWorklets.js","names":[],"sources":["esm/transformWorklets.js"],"sourcesContent":["import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport { configuration, isNativeWorkletsEnabled } from \"./configure\";\nimport {\n AUTOWORKLET_FUNCTION_ARGS,\n GESTURE_BUILDER_METHODS\n} from \"./worklets/autoworklet\";\nimport { executeWorkletTransform } from \"./worklets/transform\";\nimport { prepareWorkletsForReactCompiler } from \"./worklets/transform\";\nconst REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [\n \"worklet\",\n \"useAnimatedGestureHandler\",\n \"useAnimatedScrollHandler\",\n \"useFrameCallback\",\n \"useAnimatedStyle\",\n \"useAnimatedProps\",\n \"createAnimatedPropAdapter\",\n \"useDerivedValue\",\n \"useAnimatedReaction\",\n \"useWorkletCallback\",\n \"withTiming\",\n \"withSpring\",\n \"withDecay\",\n \"withRepeat\",\n \"runOnUI\",\n \"executeOnUIRuntimeSync\"\n];\nconst REANIMATED_REGEX = new RegExp(\n [\n .../* @__PURE__ */ new Set([\n ...REANIMATED_AUTOWORKLETIZATION_KEYWORDS,\n ...Object.keys(AUTOWORKLET_FUNCTION_ARGS),\n // gesture callbacks are only workletized on a `Gesture.<Kind>()` chain,\n // but this file gate has to be permissive or a file whose only worklets\n // are gesture callbacks never reaches the transform at all.\n ...GESTURE_BUILDER_METHODS,\n \"withCallback\"\n ])\n ].map((name) => `\\\\b${name}\\\\b`).join(\"|\")\n);\nconst REANIMATED_IGNORED_PATHS = [\n \"react-native-prebuilt\",\n \"node_modules/.vxrn/react-native\",\n \"node_modules/react/\",\n \"node_modules/react-dom/\",\n \"node_modules/react-native/\",\n // react-native's own scoped packages are flow, and the worklets transform\n // runs before flow stripping in the vite pipeline. they never hold app\n // worklets, exactly like node_modules/react-native/ above.\n \"node_modules/@react-native/\",\n \"node_modules/react-native-web/\"\n];\nconst REANIMATED_IGNORED_PATHS_REGEX = new RegExp(REANIMATED_IGNORED_PATHS.join(\"|\"));\nfunction shouldTransformWorklets({ id, code }) {\n if (!isNativeWorkletsEnabled() || !configuration.enableReanimated) {\n return false;\n }\n const normalizedId = id.replace(/\\\\/g, \"/\");\n if (REANIMATED_IGNORED_PATHS_REGEX.test(normalizedId)) {\n return false;\n }\n return REANIMATED_REGEX.test(code);\n}\nfunction getWorkletsVersion(projectRoot, filename) {\n if (projectRoot) {\n try {\n const req = createRequire(path.resolve(projectRoot, \"package.json\"));\n try {\n const ver = req(\"react-native-worklets/package.json\")?.version;\n if (ver) return ver;\n } catch {\n }\n try {\n const ver = req(\"react-native-reanimated/package.json\")?.version;\n if (ver) return ver;\n } catch {\n }\n } catch {\n }\n throw new Error(\n `[@vxrn/compiler] Unable to resolve \"react-native-worklets\" or \"react-native-reanimated\" version from project root \"${projectRoot}\". Please ensure react-native-worklets is installed in your project.`\n );\n }\n if (filename && !filename.startsWith(\"\\0\") && fs.existsSync(filename)) {\n try {\n const req = createRequire(filename);\n try {\n const ver = req(\"react-native-worklets/package.json\")?.version;\n if (ver) return ver;\n } catch {\n }\n try {\n const ver = req(\"react-native-reanimated/package.json\")?.version;\n if (ver) return ver;\n } catch {\n }\n } catch {\n }\n }\n const fallbacks = [\n () => createRequire(path.resolve(process.cwd(), \"package.json\")),\n () => createRequire(import.meta.url)\n ];\n for (const getReq of fallbacks) {\n try {\n const req = getReq();\n try {\n const ver = req(\"react-native-worklets/package.json\")?.version;\n if (ver) return ver;\n } catch {\n }\n try {\n const ver = req(\"react-native-reanimated/package.json\")?.version;\n if (ver) return ver;\n } catch {\n }\n } catch {\n }\n }\n const target = filename || process.cwd();\n throw new Error(\n `[@vxrn/compiler] Unable to resolve \"react-native-worklets\" or \"react-native-reanimated\" version from \"${target}\". Please ensure react-native-worklets is installed in your project.`\n );\n}\nasync function transformWorklets(id, code, sourceMaps = false, options) {\n return executeWorkletTransform(id, code, sourceMaps, options, getWorkletsVersion);\n}\nexport {\n REANIMATED_AUTOWORKLETIZATION_KEYWORDS,\n getWorkletsVersion,\n prepareWorkletsForReactCompiler,\n shouldTransformWorklets,\n transformWorklets\n};\n//# sourceMappingURL=transformWorklets.js.map\n"],"mappings":";;;;;;;;AAUA,MAAM,yCAAyC;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,mBAAmB,IAAI,OAC3B,CACE,mBAAmB,IAAI,IAAI;CACzB,GAAG;CACH,GAAG,OAAO,KAAK,yBAAyB;CAIxC,GAAG;CACH;AACF,CAAC,CACH,CAAC,CAAC,KAAK,SAAS,MAAM,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAC3C;AACA,MAAM,2BAA2B;CAC/B;CACA;CACA;CACA;CACA;CAIA;CACA;AACF;AACA,MAAM,iCAAiC,IAAI,OAAO,yBAAyB,KAAK,GAAG,CAAC;AACpF,SAAS,wBAAwB,EAAE,IAAI,QAAQ;CAC7C,IAAI,CAAC,wBAAwB,KAAK,CAAC,cAAc,kBAAkB;EACjE,OAAO;CACT;CACA,MAAM,eAAe,GAAG,QAAQ,OAAO,GAAG;CAC1C,IAAI,+BAA+B,KAAK,YAAY,GAAG;EACrD,OAAO;CACT;CACA,OAAO,iBAAiB,KAAK,IAAI;AACnC;AACA,SAAS,mBAAmB,aAAa,UAAU;CACjD,IAAI,aAAa;EACf,IAAI;GACF,MAAM,MAAM,cAAc,KAAK,QAAQ,aAAa,cAAc,CAAC;GACnE,IAAI;IACF,MAAM,MAAM,IAAI,oCAAoC,CAAC,EAAE;IACvD,IAAI,KAAK,OAAO;GAClB,QAAQ,CACR;GACA,IAAI;IACF,MAAM,MAAM,IAAI,sCAAsC,CAAC,EAAE;IACzD,IAAI,KAAK,OAAO;GAClB,QAAQ,CACR;EACF,QAAQ,CACR;EACA,MAAM,IAAI,MACR,sHAAsH,YAAY,qEACpI;CACF;CACA,IAAI,YAAY,CAAC,SAAS,WAAW,IAAI,KAAK,GAAG,WAAW,QAAQ,GAAG;EACrE,IAAI;GACF,MAAM,MAAM,cAAc,QAAQ;GAClC,IAAI;IACF,MAAM,MAAM,IAAI,oCAAoC,CAAC,EAAE;IACvD,IAAI,KAAK,OAAO;GAClB,QAAQ,CACR;GACA,IAAI;IACF,MAAM,MAAM,IAAI,sCAAsC,CAAC,EAAE;IACzD,IAAI,KAAK,OAAO;GAClB,QAAQ,CACR;EACF,QAAQ,CACR;CACF;CACA,MAAM,YAAY,OACV,cAAc,KAAK,QAAQ,QAAQ,IAAI,GAAG,cAAc,CAAC,SACzD,cAAc,YAAY,GAAG,CACrC;CACA,KAAK,MAAM,UAAU,WAAW;EAC9B,IAAI;GACF,MAAM,MAAM,OAAO;GACnB,IAAI;IACF,MAAM,MAAM,IAAI,oCAAoC,CAAC,EAAE;IACvD,IAAI,KAAK,OAAO;GAClB,QAAQ,CACR;GACA,IAAI;IACF,MAAM,MAAM,IAAI,sCAAsC,CAAC,EAAE;IACzD,IAAI,KAAK,OAAO;GAClB,QAAQ,CACR;EACF,QAAQ,CACR;CACF;CACA,MAAM,SAAS,YAAY,QAAQ,IAAI;CACvC,MAAM,IAAI,MACR,yGAAyG,OAAO,qEAClH;AACF;AACA,eAAe,kBAAkB,IAAI,MAAM,aAAa,OAAO,SAAS;CACtE,OAAO,wBAAwB,IAAI,MAAM,YAAY,SAAS,kBAAkB;AAClF"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.mjs.map