@tamagui/static 1.0.1-beta.149 → 1.0.1-beta.152

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 (226) hide show
  1. package/dist/{cjs/constants.js → constants.js} +4 -1
  2. package/dist/{esm/constants.js.map → constants.js.map} +3 -3
  3. package/dist/{cjs/extractor → extractor}/accessSafe.js +13 -2
  4. package/dist/{esm/extractor → extractor}/accessSafe.js.map +2 -2
  5. package/dist/{cjs/extractor → extractor}/babelParse.js +4 -1
  6. package/dist/{cjs/extractor → extractor}/babelParse.js.map +2 -2
  7. package/dist/{cjs/extractor → extractor}/buildClassName.js +19 -4
  8. package/dist/extractor/buildClassName.js.map +7 -0
  9. package/dist/{cjs/extractor → extractor}/createEvaluator.js +7 -4
  10. package/dist/extractor/createEvaluator.js.map +7 -0
  11. package/dist/{cjs/extractor → extractor}/createExtractor.js +186 -64
  12. package/dist/{esm/extractor → extractor}/createExtractor.js.map +4 -4
  13. package/dist/{cjs/extractor → extractor}/ensureImportingConcat.js +21 -6
  14. package/dist/extractor/ensureImportingConcat.js.map +7 -0
  15. package/dist/{cjs/extractor → extractor}/evaluateAstNode.js +13 -4
  16. package/dist/{esm/extractor → extractor}/evaluateAstNode.js.map +2 -2
  17. package/dist/{cjs/extractor → extractor}/extractHelpers.js +8 -3
  18. package/dist/extractor/extractHelpers.js.map +7 -0
  19. package/dist/{cjs/extractor → extractor}/extractMediaStyle.js +22 -6
  20. package/dist/extractor/extractMediaStyle.js.map +7 -0
  21. package/dist/{cjs/extractor → extractor}/extractToClassNames.js +87 -32
  22. package/dist/extractor/extractToClassNames.js.map +7 -0
  23. package/dist/{cjs/extractor → extractor}/findTopmostFunction.js +0 -0
  24. package/dist/{cjs/extractor → extractor}/findTopmostFunction.js.map +2 -2
  25. package/dist/{cjs/extractor → extractor}/generatedUid.js +8 -2
  26. package/dist/{cjs/extractor → extractor}/generatedUid.js.map +3 -3
  27. package/dist/{cjs/extractor → extractor}/getPrefixLogs.js +0 -0
  28. package/dist/extractor/getPrefixLogs.js.map +7 -0
  29. package/dist/{cjs/extractor → extractor}/getPropValueFromAttributes.js +23 -13
  30. package/dist/extractor/getPropValueFromAttributes.js.map +7 -0
  31. package/dist/{cjs/extractor → extractor}/getSourceModule.js +4 -1
  32. package/dist/{esm/extractor → extractor}/getSourceModule.js.map +2 -2
  33. package/dist/{cjs/extractor → extractor}/getStaticBindingsForScope.js +9 -4
  34. package/dist/extractor/getStaticBindingsForScope.js.map +7 -0
  35. package/dist/{cjs/extractor → extractor}/hoistClassNames.js +4 -1
  36. package/dist/{jsx/extractor → extractor}/hoistClassNames.js.map +3 -3
  37. package/dist/{cjs/extractor → extractor}/literalToAst.js +18 -10
  38. package/dist/{jsx/extractor → extractor}/literalToAst.js.map +2 -2
  39. package/dist/{cjs/extractor → extractor}/loadFile.js +0 -0
  40. package/dist/{cjs/extractor → extractor}/loadFile.js.map +1 -1
  41. package/dist/{cjs/extractor → extractor}/loadTamagui.js +34 -7
  42. package/dist/extractor/loadTamagui.js.map +7 -0
  43. package/dist/{cjs/extractor → extractor}/logLines.js +0 -0
  44. package/dist/{cjs/extractor → extractor}/logLines.js.map +2 -2
  45. package/dist/{cjs/extractor → extractor}/normalizeTernaries.js +8 -2
  46. package/dist/extractor/normalizeTernaries.js.map +7 -0
  47. package/dist/{cjs/extractor → extractor}/removeUnusedHooks.js +4 -1
  48. package/dist/{esm/extractor → extractor}/removeUnusedHooks.js.map +2 -2
  49. package/dist/{cjs/extractor → extractor}/timer.js +0 -0
  50. package/dist/{cjs/extractor → extractor}/timer.js.map +1 -1
  51. package/dist/{cjs/extractor → extractor}/validHTMLAttributes.js +0 -0
  52. package/dist/{cjs/extractor → extractor}/validHTMLAttributes.js.map +1 -1
  53. package/dist/{cjs/getPragmaOptions.js → getPragmaOptions.js} +0 -0
  54. package/dist/{cjs/getPragmaOptions.js.map → getPragmaOptions.js.map} +2 -2
  55. package/dist/{cjs/index.js → index.js} +9 -9
  56. package/dist/index.js.map +7 -0
  57. package/dist/{cjs/require.js → require.js} +10 -4
  58. package/dist/require.js.map +7 -0
  59. package/dist/{cjs/types.js → types.js} +0 -0
  60. package/dist/types.js.map +7 -0
  61. package/dist/{cjs/webpackPlugin.js → webpackPlugin.js} +0 -0
  62. package/dist/{cjs/webpackPlugin.js.map → webpackPlugin.js.map} +1 -1
  63. package/package.json +15 -15
  64. package/src/extractor/buildClassName.ts +1 -1
  65. package/src/extractor/createEvaluator.ts +3 -3
  66. package/src/extractor/createExtractor.ts +21 -15
  67. package/src/extractor/ensureImportingConcat.ts +1 -1
  68. package/src/extractor/extractHelpers.ts +4 -3
  69. package/src/extractor/extractMediaStyle.ts +3 -3
  70. package/src/extractor/extractToClassNames.ts +12 -12
  71. package/src/extractor/getPrefixLogs.ts +1 -1
  72. package/src/extractor/getPropValueFromAttributes.ts +2 -2
  73. package/src/extractor/getStaticBindingsForScope.ts +2 -2
  74. package/src/extractor/loadTamagui.ts +27 -5
  75. package/src/extractor/normalizeTernaries.ts +1 -1
  76. package/src/index.ts +9 -10
  77. package/src/require.ts +1 -1
  78. package/src/types.ts +4 -3
  79. package/tamagui.tsconfig.json +5 -0
  80. package/types/extractor/buildClassName.d.ts +1 -1
  81. package/types/extractor/createExtractor.d.ts +4 -4
  82. package/types/extractor/extractHelpers.d.ts +1 -1
  83. package/types/extractor/extractMediaStyle.d.ts +1 -1
  84. package/types/extractor/extractToClassNames.d.ts +2 -2
  85. package/types/extractor/getPrefixLogs.d.ts +1 -1
  86. package/types/extractor/normalizeTernaries.d.ts +1 -1
  87. package/types/index.d.ts +9 -9
  88. package/types/types.d.ts +4 -3
  89. package/dist/cjs/constants.js.map +0 -7
  90. package/dist/cjs/extractor/accessSafe.js.map +0 -7
  91. package/dist/cjs/extractor/buildClassName.js.map +0 -7
  92. package/dist/cjs/extractor/createEvaluator.js.map +0 -7
  93. package/dist/cjs/extractor/createExtractor.js.map +0 -7
  94. package/dist/cjs/extractor/ensureImportingConcat.js.map +0 -7
  95. package/dist/cjs/extractor/evaluateAstNode.js.map +0 -7
  96. package/dist/cjs/extractor/extractHelpers.js.map +0 -7
  97. package/dist/cjs/extractor/extractMediaStyle.js.map +0 -7
  98. package/dist/cjs/extractor/extractToClassNames.js.map +0 -7
  99. package/dist/cjs/extractor/getPrefixLogs.js.map +0 -7
  100. package/dist/cjs/extractor/getPropValueFromAttributes.js.map +0 -7
  101. package/dist/cjs/extractor/getSourceModule.js.map +0 -7
  102. package/dist/cjs/extractor/getStaticBindingsForScope.js.map +0 -7
  103. package/dist/cjs/extractor/hoistClassNames.js.map +0 -7
  104. package/dist/cjs/extractor/literalToAst.js.map +0 -7
  105. package/dist/cjs/extractor/loadTamagui.js.map +0 -7
  106. package/dist/cjs/extractor/normalizeTernaries.js.map +0 -7
  107. package/dist/cjs/extractor/removeUnusedHooks.js.map +0 -7
  108. package/dist/cjs/index.js.map +0 -7
  109. package/dist/cjs/require.js.map +0 -7
  110. package/dist/cjs/types.js.map +0 -7
  111. package/dist/esm/constants.js +0 -17
  112. package/dist/esm/extractor/accessSafe.js +0 -8
  113. package/dist/esm/extractor/babelParse.js +0 -28
  114. package/dist/esm/extractor/babelParse.js.map +0 -7
  115. package/dist/esm/extractor/buildClassName.js +0 -37
  116. package/dist/esm/extractor/buildClassName.js.map +0 -7
  117. package/dist/esm/extractor/createEvaluator.js +0 -52
  118. package/dist/esm/extractor/createEvaluator.js.map +0 -7
  119. package/dist/esm/extractor/createExtractor.js +0 -1374
  120. package/dist/esm/extractor/ensureImportingConcat.js +0 -21
  121. package/dist/esm/extractor/ensureImportingConcat.js.map +0 -7
  122. package/dist/esm/extractor/evaluateAstNode.js +0 -91
  123. package/dist/esm/extractor/extractHelpers.js +0 -97
  124. package/dist/esm/extractor/extractHelpers.js.map +0 -7
  125. package/dist/esm/extractor/extractMediaStyle.js +0 -146
  126. package/dist/esm/extractor/extractMediaStyle.js.map +0 -7
  127. package/dist/esm/extractor/extractToClassNames.js +0 -308
  128. package/dist/esm/extractor/extractToClassNames.js.map +0 -7
  129. package/dist/esm/extractor/findTopmostFunction.js +0 -20
  130. package/dist/esm/extractor/findTopmostFunction.js.map +0 -7
  131. package/dist/esm/extractor/generatedUid.js +0 -25
  132. package/dist/esm/extractor/generatedUid.js.map +0 -7
  133. package/dist/esm/extractor/getPrefixLogs.js +0 -8
  134. package/dist/esm/extractor/getPrefixLogs.js.map +0 -7
  135. package/dist/esm/extractor/getPropValueFromAttributes.js +0 -46
  136. package/dist/esm/extractor/getPropValueFromAttributes.js.map +0 -7
  137. package/dist/esm/extractor/getSourceModule.js +0 -66
  138. package/dist/esm/extractor/getStaticBindingsForScope.js +0 -172
  139. package/dist/esm/extractor/getStaticBindingsForScope.js.map +0 -7
  140. package/dist/esm/extractor/hoistClassNames.js +0 -40
  141. package/dist/esm/extractor/hoistClassNames.js.map +0 -7
  142. package/dist/esm/extractor/literalToAst.js +0 -75
  143. package/dist/esm/extractor/literalToAst.js.map +0 -7
  144. package/dist/esm/extractor/loadFile.js +0 -20
  145. package/dist/esm/extractor/loadFile.js.map +0 -7
  146. package/dist/esm/extractor/loadTamagui.js +0 -255
  147. package/dist/esm/extractor/loadTamagui.js.map +0 -7
  148. package/dist/esm/extractor/logLines.js +0 -20
  149. package/dist/esm/extractor/logLines.js.map +0 -7
  150. package/dist/esm/extractor/normalizeTernaries.js +0 -49
  151. package/dist/esm/extractor/normalizeTernaries.js.map +0 -7
  152. package/dist/esm/extractor/removeUnusedHooks.js +0 -76
  153. package/dist/esm/extractor/timer.js +0 -29
  154. package/dist/esm/extractor/timer.js.map +0 -7
  155. package/dist/esm/extractor/validHTMLAttributes.js +0 -102
  156. package/dist/esm/extractor/validHTMLAttributes.js.map +0 -7
  157. package/dist/esm/getPragmaOptions.js +0 -44
  158. package/dist/esm/getPragmaOptions.js.map +0 -7
  159. package/dist/esm/index.js +0 -17
  160. package/dist/esm/index.js.map +0 -7
  161. package/dist/esm/require.js +0 -62
  162. package/dist/esm/require.js.map +0 -7
  163. package/dist/esm/types.js +0 -1
  164. package/dist/esm/types.js.map +0 -7
  165. package/dist/esm/webpackPlugin.js +0 -11
  166. package/dist/esm/webpackPlugin.js.map +0 -7
  167. package/dist/jsx/constants.js +0 -16
  168. package/dist/jsx/constants.js.map +0 -7
  169. package/dist/jsx/extractor/accessSafe.js +0 -8
  170. package/dist/jsx/extractor/accessSafe.js.map +0 -7
  171. package/dist/jsx/extractor/babelParse.js +0 -28
  172. package/dist/jsx/extractor/babelParse.js.map +0 -7
  173. package/dist/jsx/extractor/buildClassName.js +0 -37
  174. package/dist/jsx/extractor/buildClassName.js.map +0 -7
  175. package/dist/jsx/extractor/createEvaluator.js +0 -52
  176. package/dist/jsx/extractor/createEvaluator.js.map +0 -7
  177. package/dist/jsx/extractor/createExtractor.js +0 -1367
  178. package/dist/jsx/extractor/createExtractor.js.map +0 -7
  179. package/dist/jsx/extractor/ensureImportingConcat.js +0 -21
  180. package/dist/jsx/extractor/ensureImportingConcat.js.map +0 -7
  181. package/dist/jsx/extractor/evaluateAstNode.js +0 -91
  182. package/dist/jsx/extractor/evaluateAstNode.js.map +0 -7
  183. package/dist/jsx/extractor/extractHelpers.js +0 -95
  184. package/dist/jsx/extractor/extractHelpers.js.map +0 -7
  185. package/dist/jsx/extractor/extractMediaStyle.js +0 -145
  186. package/dist/jsx/extractor/extractMediaStyle.js.map +0 -7
  187. package/dist/jsx/extractor/extractToClassNames.js +0 -307
  188. package/dist/jsx/extractor/extractToClassNames.js.map +0 -7
  189. package/dist/jsx/extractor/findTopmostFunction.js +0 -20
  190. package/dist/jsx/extractor/findTopmostFunction.js.map +0 -7
  191. package/dist/jsx/extractor/generatedUid.js +0 -25
  192. package/dist/jsx/extractor/generatedUid.js.map +0 -7
  193. package/dist/jsx/extractor/getPrefixLogs.js +0 -8
  194. package/dist/jsx/extractor/getPrefixLogs.js.map +0 -7
  195. package/dist/jsx/extractor/getPropValueFromAttributes.js +0 -46
  196. package/dist/jsx/extractor/getPropValueFromAttributes.js.map +0 -7
  197. package/dist/jsx/extractor/getSourceModule.js +0 -66
  198. package/dist/jsx/extractor/getSourceModule.js.map +0 -7
  199. package/dist/jsx/extractor/getStaticBindingsForScope.js +0 -172
  200. package/dist/jsx/extractor/getStaticBindingsForScope.js.map +0 -7
  201. package/dist/jsx/extractor/hoistClassNames.js +0 -40
  202. package/dist/jsx/extractor/literalToAst.js +0 -75
  203. package/dist/jsx/extractor/loadFile.js +0 -19
  204. package/dist/jsx/extractor/loadFile.js.map +0 -7
  205. package/dist/jsx/extractor/loadTamagui.js +0 -253
  206. package/dist/jsx/extractor/loadTamagui.js.map +0 -7
  207. package/dist/jsx/extractor/logLines.js +0 -20
  208. package/dist/jsx/extractor/logLines.js.map +0 -7
  209. package/dist/jsx/extractor/normalizeTernaries.js +0 -49
  210. package/dist/jsx/extractor/normalizeTernaries.js.map +0 -7
  211. package/dist/jsx/extractor/removeUnusedHooks.js +0 -75
  212. package/dist/jsx/extractor/removeUnusedHooks.js.map +0 -7
  213. package/dist/jsx/extractor/timer.js +0 -29
  214. package/dist/jsx/extractor/timer.js.map +0 -7
  215. package/dist/jsx/extractor/validHTMLAttributes.js +0 -102
  216. package/dist/jsx/extractor/validHTMLAttributes.js.map +0 -7
  217. package/dist/jsx/getPragmaOptions.js +0 -43
  218. package/dist/jsx/getPragmaOptions.js.map +0 -7
  219. package/dist/jsx/index.js +0 -17
  220. package/dist/jsx/index.js.map +0 -7
  221. package/dist/jsx/require.js +0 -62
  222. package/dist/jsx/require.js.map +0 -7
  223. package/dist/jsx/types.js +0 -1
  224. package/dist/jsx/types.js.map +0 -7
  225. package/dist/jsx/webpackPlugin.js +0 -11
  226. package/dist/jsx/webpackPlugin.js.map +0 -7
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/buildClassName.ts"],
4
- "sourcesContent": ["import * as t from '@babel/types'\n\nimport { ClassNameObject } from '../types'\n\nexport function buildClassName(\n classNameObjects: ClassNameObject[]\n): t.Expression | t.StringLiteral | null {\n return classNameObjects.reduce<t.Expression | null>((acc, val) => {\n if (acc == null) {\n if (\n // pass conditional expressions through\n t.isConditionalExpression(val) ||\n // pass non-null literals through\n t.isStringLiteral(val) ||\n t.isNumericLiteral(val)\n ) {\n return val\n }\n return t.logicalExpression('||', val, t.stringLiteral(''))\n }\n\n let inner: t.Expression\n if (t.isStringLiteral(val)) {\n if (t.isStringLiteral(acc)) {\n // join adjacent string literals\n return t.stringLiteral(`${acc.value} ${val.value}`)\n }\n inner = t.stringLiteral(` ${val.value}`)\n } else if (t.isLiteral(val)) {\n inner = t.binaryExpression('+', t.stringLiteral(' '), val)\n } else if (t.isConditionalExpression(val) || t.isBinaryExpression(val)) {\n if (t.isStringLiteral(acc)) {\n return t.binaryExpression('+', t.stringLiteral(`${acc.value} `), val)\n }\n inner = t.binaryExpression('+', t.stringLiteral(' '), val)\n } else if (t.isIdentifier(val) || t.isMemberExpression(val)) {\n // identifiers and member expressions make for reasonable ternaries\n inner = t.conditionalExpression(\n val,\n t.binaryExpression('+', t.stringLiteral(' '), val),\n t.stringLiteral('')\n )\n } else {\n if (t.isStringLiteral(acc)) {\n return t.binaryExpression(\n '+',\n t.stringLiteral(`${acc.value} `),\n t.logicalExpression('||', val, t.stringLiteral(''))\n )\n }\n // use a logical expression for more complex prop values\n inner = t.binaryExpression(\n '+',\n t.stringLiteral(' '),\n t.logicalExpression('||', val, t.stringLiteral(''))\n )\n }\n\n return t.binaryExpression('+', acc, inner)\n }, null)\n}\n"],
5
- "mappings": "AAAA;AAIO,wBACL,kBACuC;AACvC,SAAO,iBAAiB,OAA4B,CAAC,KAAK,QAAQ;AAChE,QAAI,OAAO,MAAM;AACf,UAEE,EAAE,wBAAwB,GAAG,KAE7B,EAAE,gBAAgB,GAAG,KACrB,EAAE,iBAAiB,GAAG,GACtB;AACA,eAAO;AAAA,MACT;AACA,aAAO,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,IAC3D;AAEA,QAAI;AACJ,QAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAE1B,eAAO,EAAE,cAAc,GAAG,IAAI,SAAS,IAAI,OAAO;AAAA,MACpD;AACA,cAAQ,EAAE,cAAc,IAAI,IAAI,OAAO;AAAA,IACzC,WAAW,EAAE,UAAU,GAAG,GAAG;AAC3B,cAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,IAC3D,WAAW,EAAE,wBAAwB,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AACtE,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,eAAO,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,IAAI,QAAQ,GAAG,GAAG;AAAA,MACtE;AACA,cAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,IAC3D,WAAW,EAAE,aAAa,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AAE3D,cAAQ,EAAE,sBACR,KACA,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG,GACjD,EAAE,cAAc,EAAE,CACpB;AAAA,IACF,OAAO;AACL,UAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,eAAO,EAAE,iBACP,KACA,EAAE,cAAc,GAAG,IAAI,QAAQ,GAC/B,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC,CACpD;AAAA,MACF;AAEA,cAAQ,EAAE,iBACR,KACA,EAAE,cAAc,GAAG,GACnB,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC,CACpD;AAAA,IACF;AAEA,WAAO,EAAE,iBAAiB,KAAK,KAAK,KAAK;AAAA,EAC3C,GAAG,IAAI;AACT;",
6
- "names": []
7
- }
@@ -1,52 +0,0 @@
1
- import vm from "vm";
2
- import generate from "@babel/generator";
3
- import * as t from "@babel/types";
4
- import { createCSSVariable } from "@tamagui/core-node";
5
- import esbuild from "esbuild";
6
- import { FAILED_EVAL } from "../constants";
7
- import { evaluateAstNode } from "./evaluateAstNode";
8
- import { isValidThemeHook } from "./extractHelpers";
9
- function createEvaluator({
10
- tamaguiConfig,
11
- staticNamespace,
12
- sourcePath,
13
- traversePath,
14
- shouldPrintDebug
15
- }) {
16
- const evalFn = (n) => {
17
- if (t.isMemberExpression(n) && t.isIdentifier(n.property) && traversePath && isValidThemeHook(traversePath, n, sourcePath)) {
18
- const key = n.property.name;
19
- if (shouldPrintDebug) {
20
- console.log(" > found theme prop", key);
21
- }
22
- return createCSSVariable(key);
23
- }
24
- if (t.isIdentifier(n) && staticNamespace.hasOwnProperty(n.name)) {
25
- return staticNamespace[n.name];
26
- }
27
- const evalContext = vm.createContext(staticNamespace);
28
- const codeWithTypescriptAnnotations = `(${generate(n).code})`;
29
- const code = esbuild.transformSync(codeWithTypescriptAnnotations, { loader: "tsx" }).code.replace(/;\n$/, "");
30
- if (shouldPrintDebug) {
31
- console.log("evaluating", code);
32
- }
33
- return vm.runInContext(code, evalContext);
34
- };
35
- return (n) => {
36
- return evaluateAstNode(n, evalFn);
37
- };
38
- }
39
- function createSafeEvaluator(attemptEval) {
40
- return (n) => {
41
- try {
42
- return attemptEval(n);
43
- } catch (err) {
44
- return FAILED_EVAL;
45
- }
46
- };
47
- }
48
- export {
49
- createEvaluator,
50
- createSafeEvaluator
51
- };
52
- //# sourceMappingURL=createEvaluator.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/createEvaluator.ts"],
4
- "sourcesContent": ["import vm from 'vm'\n\nimport generate from '@babel/generator'\nimport { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\nimport type { TamaguiConfig } from '@tamagui/core-node'\nimport { createCSSVariable } from '@tamagui/core-node'\nimport esbuild from 'esbuild'\n\nimport { FAILED_EVAL } from '../constants'\nimport { evaluateAstNode } from './evaluateAstNode'\nimport { isValidThemeHook } from './extractHelpers'\n\nexport function createEvaluator({\n tamaguiConfig,\n staticNamespace,\n sourcePath,\n traversePath,\n shouldPrintDebug,\n}: {\n tamaguiConfig: TamaguiConfig\n staticNamespace: Record<string, any>\n sourcePath: string\n traversePath?: NodePath<t.JSXElement>\n shouldPrintDebug: boolean | 'verbose'\n}) {\n // called when evaluateAstNode encounters a dynamic-looking prop\n const evalFn = (n: t.Node) => {\n // themes\n if (\n t.isMemberExpression(n) &&\n t.isIdentifier(n.property) &&\n traversePath &&\n isValidThemeHook(traversePath, n, sourcePath)\n ) {\n const key = n.property.name\n if (shouldPrintDebug) {\n // eslint-disable-next-line no-console\n console.log(' > found theme prop', key)\n }\n return createCSSVariable(key)\n }\n // variable\n if (t.isIdentifier(n) && staticNamespace.hasOwnProperty(n.name)) {\n return staticNamespace[n.name]\n }\n const evalContext = vm.createContext(staticNamespace)\n const codeWithTypescriptAnnotations = `(${generate(n as any).code})`\n const code = esbuild\n .transformSync(codeWithTypescriptAnnotations, { loader: 'tsx' })\n .code.replace(/;\\n$/, '')\n\n if (shouldPrintDebug) {\n // eslint-disable-next-line no-console\n console.log('evaluating', code)\n }\n return vm.runInContext(code, evalContext)\n }\n\n return (n: t.Node) => {\n return evaluateAstNode(n, evalFn)\n }\n}\n\nexport function createSafeEvaluator(attemptEval: (n: t.Node) => any) {\n return (n: t.Node) => {\n try {\n return attemptEval(n)\n } catch (err) {\n return FAILED_EVAL\n }\n }\n}\n"],
5
- "mappings": "AAAA;AAEA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AAEO,yBAAyB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAOC;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QACE,EAAE,mBAAmB,CAAC,KACtB,EAAE,aAAa,EAAE,QAAQ,KACzB,gBACA,iBAAiB,cAAc,GAAG,UAAU,GAC5C;AACA,YAAM,MAAM,EAAE,SAAS;AACvB,UAAI,kBAAkB;AAEpB,gBAAQ,IAAI,0BAA0B,GAAG;AAAA,MAC3C;AACA,aAAO,kBAAkB,GAAG;AAAA,IAC9B;AAEA,QAAI,EAAE,aAAa,CAAC,KAAK,gBAAgB,eAAe,EAAE,IAAI,GAAG;AAC/D,aAAO,gBAAgB,EAAE;AAAA,IAC3B;AACA,UAAM,cAAc,GAAG,cAAc,eAAe;AACpD,UAAM,gCAAgC,IAAI,SAAS,CAAQ,EAAE;AAC7D,UAAM,OAAO,QACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,QAAI,kBAAkB;AAEpB,cAAQ,IAAI,cAAc,IAAI;AAAA,IAChC;AACA,WAAO,GAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,MAAc;AACpB,WAAO,gBAAgB,GAAG,MAAM;AAAA,EAClC;AACF;AAEO,6BAA6B,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,SAAS,KAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
- "names": []
7
- }