@tamagui/static 2.0.0-rc.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/check-dep-versions.cjs +201 -96
  2. package/dist/checkDeps.cjs +250 -46
  3. package/dist/constants.cjs +32 -30
  4. package/dist/exports.cjs +20 -13
  5. package/dist/extractor/accessSafe.cjs +25 -23
  6. package/dist/extractor/babelParse.cjs +30 -28
  7. package/dist/extractor/buildClassName.cjs +59 -35
  8. package/dist/extractor/bundle.cjs +187 -101
  9. package/dist/extractor/bundleConfig.cjs +568 -168
  10. package/dist/extractor/concatClassName.cjs +73 -32
  11. package/dist/extractor/createEvaluator.cjs +54 -41
  12. package/dist/extractor/createExtractor.cjs +1405 -574
  13. package/dist/extractor/createLogger.cjs +30 -25
  14. package/dist/extractor/detectModuleFormat.cjs +55 -0
  15. package/dist/extractor/ensureImportingConcat.cjs +31 -25
  16. package/dist/extractor/errors.cjs +12 -10
  17. package/dist/extractor/esbuildAliasPlugin.cjs +28 -16
  18. package/dist/extractor/esbuildTsconfigPaths.cjs +60 -36
  19. package/dist/extractor/evaluateAstNode.cjs +104 -59
  20. package/dist/extractor/extractHelpers.cjs +130 -67
  21. package/dist/extractor/extractMediaStyle.cjs +110 -69
  22. package/dist/extractor/extractToClassNames.cjs +337 -229
  23. package/dist/extractor/extractToNative.cjs +248 -152
  24. package/dist/extractor/findTopmostFunction.cjs +22 -13
  25. package/dist/extractor/generatedUid.cjs +39 -28
  26. package/dist/extractor/getPrefixLogs.cjs +12 -10
  27. package/dist/extractor/getPropValueFromAttributes.cjs +52 -34
  28. package/dist/extractor/getSourceModule.cjs +73 -37
  29. package/dist/extractor/getStaticBindingsForScope.cjs +131 -68
  30. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +20 -14
  31. package/dist/extractor/hasTopLevelAwait.cjs +62 -0
  32. package/dist/extractor/hoistClassNames.cjs +46 -32
  33. package/dist/extractor/literalToAst.cjs +67 -42
  34. package/dist/extractor/loadFile.cjs +9 -3
  35. package/dist/extractor/loadTamagui.cjs +151 -105
  36. package/dist/extractor/logLines.cjs +27 -19
  37. package/dist/extractor/normalizeTernaries.cjs +66 -44
  38. package/dist/extractor/propsToFontFamilyCache.cjs +15 -11
  39. package/dist/extractor/regenerateConfig.cjs +109 -81
  40. package/dist/extractor/removeUnusedHooks.cjs +73 -41
  41. package/dist/extractor/timer.cjs +23 -14
  42. package/dist/extractor/validHTMLAttributes.cjs +61 -59
  43. package/dist/extractor/watchTamaguiConfig.cjs +35 -23
  44. package/dist/getPragmaOptions.cjs +34 -19
  45. package/dist/helpers/memoize.cjs +24 -16
  46. package/dist/helpers/requireTamaguiCore.cjs +22 -15
  47. package/dist/index.cjs +26 -24
  48. package/dist/registerRequire.cjs +168 -65
  49. package/dist/server.cjs +35 -28
  50. package/dist/types.cjs +7 -5
  51. package/dist/worker.cjs +62 -40
  52. package/package.json +27 -24
  53. package/src/checkDeps.ts +305 -68
  54. package/src/exports.ts +2 -0
  55. package/src/extractor/babelParse.ts +1 -0
  56. package/src/extractor/bundle.ts +172 -40
  57. package/src/extractor/bundleConfig.ts +459 -65
  58. package/src/extractor/concatClassName.ts +37 -20
  59. package/src/extractor/createExtractor.ts +300 -30
  60. package/src/extractor/detectModuleFormat.ts +42 -0
  61. package/src/extractor/esbuildTsconfigPaths.ts +6 -1
  62. package/src/extractor/extractToClassNames.ts +15 -9
  63. package/src/extractor/extractToNative.ts +65 -32
  64. package/src/extractor/hasTopLevelAwait.ts +28 -0
  65. package/src/extractor/loadTamagui.ts +5 -4
  66. package/src/registerRequire.ts +102 -9
  67. package/types/checkDeps.d.ts.map +1 -1
  68. package/types/exports.d.ts +2 -0
  69. package/types/exports.d.ts.map +1 -1
  70. package/types/extractor/babelParse.d.ts.map +1 -1
  71. package/types/extractor/bundle.d.ts +83 -1
  72. package/types/extractor/bundle.d.ts.map +1 -1
  73. package/types/extractor/bundleConfig.d.ts +15 -2
  74. package/types/extractor/bundleConfig.d.ts.map +1 -1
  75. package/types/extractor/createExtractor.d.ts.map +1 -1
  76. package/types/extractor/detectModuleFormat.d.ts +5 -0
  77. package/types/extractor/detectModuleFormat.d.ts.map +1 -0
  78. package/types/extractor/esbuildTsconfigPaths.d.ts +8 -0
  79. package/types/extractor/esbuildTsconfigPaths.d.ts.map +1 -1
  80. package/types/extractor/extractToClassNames.d.ts.map +1 -1
  81. package/types/extractor/extractToNative.d.ts.map +1 -1
  82. package/types/extractor/hasTopLevelAwait.d.ts +2 -0
  83. package/types/extractor/hasTopLevelAwait.d.ts.map +1 -0
  84. package/types/extractor/loadTamagui.d.ts +1 -1
  85. package/types/extractor/loadTamagui.d.ts.map +1 -1
  86. package/types/registerRequire.d.ts.map +1 -1
  87. package/dist/check-dep-versions.js +0 -389
  88. package/dist/check-dep-versions.js.map +0 -6
  89. package/dist/checkDeps.js +0 -60
  90. package/dist/checkDeps.js.map +0 -6
  91. package/dist/constants.js +0 -34
  92. package/dist/constants.js.map +0 -6
  93. package/dist/exports.js +0 -34
  94. package/dist/exports.js.map +0 -6
  95. package/dist/extractor/accessSafe.js +0 -47
  96. package/dist/extractor/accessSafe.js.map +0 -6
  97. package/dist/extractor/babelParse.js +0 -59
  98. package/dist/extractor/babelParse.js.map +0 -6
  99. package/dist/extractor/buildClassName.js +0 -72
  100. package/dist/extractor/buildClassName.js.map +0 -6
  101. package/dist/extractor/bundle.js +0 -135
  102. package/dist/extractor/bundle.js.map +0 -6
  103. package/dist/extractor/bundleConfig.js +0 -352
  104. package/dist/extractor/bundleConfig.js.map +0 -6
  105. package/dist/extractor/concatClassName.js +0 -69
  106. package/dist/extractor/concatClassName.js.map +0 -6
  107. package/dist/extractor/createEvaluator.js +0 -66
  108. package/dist/extractor/createEvaluator.js.map +0 -6
  109. package/dist/extractor/createExtractor.js +0 -1212
  110. package/dist/extractor/createExtractor.js.map +0 -6
  111. package/dist/extractor/createLogger.js +0 -32
  112. package/dist/extractor/createLogger.js.map +0 -6
  113. package/dist/extractor/ensureImportingConcat.js +0 -50
  114. package/dist/extractor/ensureImportingConcat.js.map +0 -6
  115. package/dist/extractor/errors.js +0 -22
  116. package/dist/extractor/errors.js.map +0 -6
  117. package/dist/extractor/esbuildAliasPlugin.js +0 -36
  118. package/dist/extractor/esbuildAliasPlugin.js.map +0 -6
  119. package/dist/extractor/esbuildTsconfigPaths.js +0 -79
  120. package/dist/extractor/esbuildTsconfigPaths.js.map +0 -6
  121. package/dist/extractor/evaluateAstNode.js +0 -99
  122. package/dist/extractor/evaluateAstNode.js.map +0 -6
  123. package/dist/extractor/extractHelpers.js +0 -108
  124. package/dist/extractor/extractHelpers.js.map +0 -6
  125. package/dist/extractor/extractMediaStyle.js +0 -123
  126. package/dist/extractor/extractMediaStyle.js.map +0 -6
  127. package/dist/extractor/extractToClassNames.js +0 -351
  128. package/dist/extractor/extractToClassNames.js.map +0 -6
  129. package/dist/extractor/extractToNative.js +0 -286
  130. package/dist/extractor/extractToNative.js.map +0 -6
  131. package/dist/extractor/findTopmostFunction.js +0 -32
  132. package/dist/extractor/findTopmostFunction.js.map +0 -6
  133. package/dist/extractor/generatedUid.js +0 -42
  134. package/dist/extractor/generatedUid.js.map +0 -6
  135. package/dist/extractor/getPrefixLogs.js +0 -24
  136. package/dist/extractor/getPrefixLogs.js.map +0 -6
  137. package/dist/extractor/getPropValueFromAttributes.js +0 -65
  138. package/dist/extractor/getPropValueFromAttributes.js.map +0 -6
  139. package/dist/extractor/getSourceModule.js +0 -62
  140. package/dist/extractor/getSourceModule.js.map +0 -6
  141. package/dist/extractor/getStaticBindingsForScope.js +0 -145
  142. package/dist/extractor/getStaticBindingsForScope.js.map +0 -6
  143. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js +0 -32
  144. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +0 -6
  145. package/dist/extractor/hoistClassNames.js +0 -63
  146. package/dist/extractor/hoistClassNames.js.map +0 -6
  147. package/dist/extractor/literalToAst.js +0 -90
  148. package/dist/extractor/literalToAst.js.map +0 -6
  149. package/dist/extractor/loadFile.js +0 -14
  150. package/dist/extractor/loadFile.js.map +0 -6
  151. package/dist/extractor/loadTamagui.js +0 -306
  152. package/dist/extractor/loadTamagui.js.map +0 -6
  153. package/dist/extractor/logLines.js +0 -30
  154. package/dist/extractor/logLines.js.map +0 -6
  155. package/dist/extractor/normalizeTernaries.js +0 -61
  156. package/dist/extractor/normalizeTernaries.js.map +0 -6
  157. package/dist/extractor/propsToFontFamilyCache.js +0 -33
  158. package/dist/extractor/propsToFontFamilyCache.js.map +0 -6
  159. package/dist/extractor/regenerateConfig.js +0 -123
  160. package/dist/extractor/regenerateConfig.js.map +0 -6
  161. package/dist/extractor/removeUnusedHooks.js +0 -72
  162. package/dist/extractor/removeUnusedHooks.js.map +0 -6
  163. package/dist/extractor/timer.js +0 -38
  164. package/dist/extractor/timer.js.map +0 -6
  165. package/dist/extractor/validHTMLAttributes.js +0 -72
  166. package/dist/extractor/validHTMLAttributes.js.map +0 -6
  167. package/dist/extractor/watchTamaguiConfig.js +0 -57
  168. package/dist/extractor/watchTamaguiConfig.js.map +0 -6
  169. package/dist/getPragmaOptions.js +0 -50
  170. package/dist/getPragmaOptions.js.map +0 -6
  171. package/dist/helpers/memoize.js +0 -33
  172. package/dist/helpers/memoize.js.map +0 -6
  173. package/dist/helpers/requireTamaguiCore.js +0 -30
  174. package/dist/helpers/requireTamaguiCore.js.map +0 -6
  175. package/dist/index.js +0 -30
  176. package/dist/index.js.map +0 -6
  177. package/dist/registerRequire.js +0 -100
  178. package/dist/registerRequire.js.map +0 -6
  179. package/dist/server.js +0 -58
  180. package/dist/server.js.map +0 -6
  181. package/dist/setup.js +0 -1
  182. package/dist/setup.js.map +0 -6
  183. package/dist/types.js +0 -14
  184. package/dist/types.js.map +0 -6
  185. package/dist/worker.js +0 -72
  186. package/dist/worker.js.map +0 -6
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var concatClassName_exports = {};
22
24
  __export(concatClassName_exports, {
@@ -24,20 +26,21 @@ __export(concatClassName_exports, {
24
26
  });
25
27
  module.exports = __toCommonJS(concatClassName_exports);
26
28
  function concatClassName(_cn) {
27
- const args = arguments,
28
- usedPrefixes = /* @__PURE__ */new Set();
29
+ const args = arguments;
30
+ const usedPrefixes = /* @__PURE__ */new Set();
29
31
  let final = "";
30
32
  const len = args.length;
31
33
  let propObjects = null;
32
34
  for (let x = len; x >= 0; x--) {
33
35
  const cns = args[x];
34
36
  if (!cns) continue;
35
- if (!Array.isArray(cns) && typeof cns != "string") {
36
- propObjects = propObjects || [], propObjects.push(cns);
37
+ if (!Array.isArray(cns) && typeof cns !== "string") {
38
+ propObjects = propObjects || [];
39
+ propObjects.push(cns);
37
40
  continue;
38
41
  }
39
- const names = Array.isArray(cns) ? cns : cns.split(" "),
40
- numNames = names.length;
42
+ const names = Array.isArray(cns) ? cns : cns.split(" ");
43
+ const numNames = names.length;
41
44
  for (let i = numNames - 1; i >= 0; i--) {
42
45
  const name = names[i];
43
46
  if (!name || name === " ") continue;
@@ -50,31 +53,69 @@ function concatClassName(_cn) {
50
53
  final = name + " " + final;
51
54
  continue;
52
55
  }
53
- const isMediaQuery = name[splitIndex + 1] === "_",
54
- styleKey = name.slice(1, name.indexOf("-")),
55
- mediaStart = splitIndex + 2,
56
- mediaEnd = name.indexOf("_", mediaStart),
57
- mediaKey = isMediaQuery && mediaEnd > mediaStart ? name.slice(mediaStart, mediaEnd) : null,
58
- uid = mediaKey ? styleKey + mediaKey : styleKey;
59
- if (usedPrefixes.has(uid)) continue;
56
+ const styleKey = name.slice(1, name.indexOf("-"));
57
+ const {
58
+ mediaKey,
59
+ pseudoKey
60
+ } = getClassNameScope(name, splitIndex);
61
+ const uid = `${styleKey}${mediaKey ? `@${mediaKey}` : ""}${pseudoKey ? `:${pseudoKey}` : ""}`;
62
+ if (usedPrefixes.has(uid)) {
63
+ continue;
64
+ }
60
65
  usedPrefixes.add(uid);
61
66
  const propName = styleKey;
62
- propName && propObjects && propObjects.some(po => {
63
- if (mediaKey) {
64
- const propKey = pseudoInvert[mediaKey];
65
- return po && po[propKey] && propName in po[propKey] && po[propKey] !== null;
67
+ if (propName && propObjects) {
68
+ if (propObjects.some(po => {
69
+ if (pseudoKey) {
70
+ const propKey = pseudoInvert[pseudoKey];
71
+ return po && po[propKey] && propName in po[propKey] && po[propKey] !== null;
72
+ }
73
+ const res = po && propName in po && po[propName] !== null;
74
+ return res;
75
+ })) {
76
+ continue;
66
77
  }
67
- return po && propName in po && po[propName] !== null;
68
- }) || (final = name + " " + final);
78
+ }
79
+ final = name + " " + final;
69
80
  }
70
81
  }
71
82
  return final.trim();
72
83
  }
84
+ function getClassNameScope(name, splitIndex) {
85
+ let mediaKey = "";
86
+ let pseudoKey = "";
87
+ let valueStart = splitIndex + 1;
88
+ if (name[valueStart] === "_") {
89
+ const mediaEnd = name.indexOf("_", valueStart + 1);
90
+ if (mediaEnd > valueStart + 1) {
91
+ mediaKey = name.slice(valueStart + 1, mediaEnd);
92
+ valueStart = mediaEnd + 1;
93
+ }
94
+ }
95
+ if (name[valueStart] === "0") {
96
+ const pseudoStart = valueStart + 1;
97
+ for (const nextPseudoKey of pseudoKeys) {
98
+ if (name.startsWith(`${nextPseudoKey}-`, pseudoStart)) {
99
+ pseudoKey = nextPseudoKey;
100
+ break;
101
+ }
102
+ }
103
+ }
104
+ return {
105
+ mediaKey,
106
+ pseudoKey
107
+ };
108
+ }
73
109
  const pseudoInvert = {
74
110
  hover: "hoverStyle",
111
+ active: "pressStyle",
75
112
  focus: "focusStyle",
76
- press: "pressStyle",
113
+ "focus-visible": "focusVisibleStyle",
114
+ "focus-within": "focusWithinStyle",
77
115
  focusVisible: "focusVisibleStyle",
78
116
  focusWithin: "focusWithinStyle",
79
- disabled: "disabledStyle"
80
- };
117
+ disabled: "disabledStyle",
118
+ enter: "enterStyle",
119
+ exit: "exitStyle"
120
+ };
121
+ const pseudoKeys = Object.keys(pseudoInvert).sort((a, b) => b.length - a.length);
@@ -2,45 +2,47 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var createEvaluator_exports = {};
33
35
  __export(createEvaluator_exports, {
34
36
  createEvaluator: () => createEvaluator,
35
37
  createSafeEvaluator: () => createSafeEvaluator
36
38
  });
37
39
  module.exports = __toCommonJS(createEvaluator_exports);
38
- var import_node_vm = __toESM(require("node:vm")),
39
- import_generator = __toESM(require("@babel/generator")),
40
- t = __toESM(require("@babel/types")),
41
- import_esbuild = __toESM(require("esbuild")),
42
- import_constants = require("../constants.cjs"),
43
- import_evaluateAstNode = require("./evaluateAstNode.cjs");
40
+ var import_node_vm = __toESM(require("node:vm"));
41
+ var import_generator = __toESM(require("@babel/generator"));
42
+ var t = __toESM(require("@babel/types"));
43
+ var import_esbuild = __toESM(require("esbuild"));
44
+ var import_constants = require("../constants.cjs");
45
+ var import_evaluateAstNode = require("./evaluateAstNode.cjs");
44
46
  function createEvaluator({
45
47
  props,
46
48
  staticNamespace,
@@ -49,26 +51,37 @@ function createEvaluator({
49
51
  shouldPrintDebug
50
52
  }) {
51
53
  const evalFn = n => {
52
- if (t.isIdentifier(n) && typeof staticNamespace[n.name] < "u") return staticNamespace[n.name];
53
- const evalContext = import_node_vm.default.createContext(staticNamespace),
54
- codeWithTypescriptAnnotations = `(${(0, import_generator.default)(n).code})`,
55
- code = import_esbuild.default.transformSync(codeWithTypescriptAnnotations, {
56
- loader: "tsx"
57
- }).code.replace(/;\n$/, "");
58
- shouldPrintDebug && console.info("evaluating", code);
59
- const result1 = import_node_vm.default.runInContext(code, evalContext),
60
- result2 = import_node_vm.default.runInContext(code, evalContext);
61
- if (!(Object.is(result1, result2) || typeof result1 == "object" && typeof result2 == "object" && JSON.stringify(result1) === JSON.stringify(result2))) throw shouldPrintDebug && console.info("Bailing on non-deterministic expression:", code, `
62
- First result:`, result1, "Second result:", result2), new Error("Non-deterministic value, bailing");
54
+ if (t.isIdentifier(n) && typeof staticNamespace[n.name] !== "undefined") {
55
+ return staticNamespace[n.name];
56
+ }
57
+ const evalContext = import_node_vm.default.createContext(staticNamespace);
58
+ const codeWithTypescriptAnnotations = `(${(0, import_generator.default)(n).code})`;
59
+ const code = import_esbuild.default.transformSync(codeWithTypescriptAnnotations, {
60
+ loader: "tsx"
61
+ }).code.replace(/;\n$/, "");
62
+ if (shouldPrintDebug) {
63
+ console.info("evaluating", code);
64
+ }
65
+ const result1 = import_node_vm.default.runInContext(code, evalContext);
66
+ const result2 = import_node_vm.default.runInContext(code, evalContext);
67
+ const isDeterministic = Object.is(result1, result2) || typeof result1 === "object" && typeof result2 === "object" && JSON.stringify(result1) === JSON.stringify(result2);
68
+ if (!isDeterministic) {
69
+ if (shouldPrintDebug) {
70
+ console.info("Bailing on non-deterministic expression:", code, "\nFirst result:", result1, "Second result:", result2);
71
+ }
72
+ throw new Error(`Non-deterministic value, bailing`);
73
+ }
63
74
  return result1;
64
75
  };
65
- return n => (0, import_evaluateAstNode.evaluateAstNode)(n, evalFn);
76
+ return n => {
77
+ return (0, import_evaluateAstNode.evaluateAstNode)(n, evalFn);
78
+ };
66
79
  }
67
80
  function createSafeEvaluator(attemptEval) {
68
81
  return n => {
69
82
  try {
70
83
  return attemptEval(n);
71
- } catch {
84
+ } catch (err) {
72
85
  return import_constants.FAILED_EVAL;
73
86
  }
74
87
  };