@wyw-in-js/shared 1.1.0 → 2.0.0-alpha.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 (79) hide show
  1. package/esm/IVariableContext.js +1 -1
  2. package/esm/IVariableContext.js.map +1 -1
  3. package/esm/asyncResolveFallback.js +35 -31
  4. package/esm/asyncResolveFallback.js.map +1 -1
  5. package/esm/asyncResolverFactory.js +9 -9
  6. package/esm/asyncResolverFactory.js.map +1 -1
  7. package/esm/debugger.js +1 -1
  8. package/esm/debugger.js.map +1 -1
  9. package/esm/findPackageJSON.js +60 -68
  10. package/esm/findPackageJSON.js.map +1 -1
  11. package/esm/hasEvalMeta.js +2 -2
  12. package/esm/hasEvalMeta.js.map +1 -1
  13. package/esm/index.js +11 -10
  14. package/esm/index.js.map +1 -1
  15. package/esm/isBoxedPrimitive.js +4 -5
  16. package/esm/isBoxedPrimitive.js.map +1 -1
  17. package/esm/logger.js +17 -17
  18. package/esm/logger.js.map +1 -1
  19. package/esm/options/isFeatureEnabled.js +22 -27
  20. package/esm/options/isFeatureEnabled.js.map +1 -1
  21. package/esm/options/nativeResolverOptions.js +49 -0
  22. package/esm/options/nativeResolverOptions.js.map +1 -0
  23. package/esm/options/types.js +1 -1
  24. package/esm/options/types.js.map +1 -1
  25. package/esm/slugify.js +47 -49
  26. package/esm/slugify.js.map +1 -1
  27. package/esm/types.js +6 -10
  28. package/esm/types.js.map +1 -1
  29. package/package.json +12 -10
  30. package/types/IVariableContext.js +1 -2
  31. package/types/asyncResolveFallback.js +8 -14
  32. package/types/asyncResolverFactory.js +1 -5
  33. package/types/debugger.js +1 -2
  34. package/types/findPackageJSON.js +13 -17
  35. package/types/hasEvalMeta.js +1 -4
  36. package/types/index.d.ts +4 -2
  37. package/types/index.js +10 -23
  38. package/types/isBoxedPrimitive.js +1 -4
  39. package/types/logger.js +7 -14
  40. package/types/options/isFeatureEnabled.js +3 -7
  41. package/types/options/nativeResolverOptions.d.ts +4 -0
  42. package/types/options/nativeResolverOptions.js +55 -0
  43. package/types/options/types.d.ts +120 -10
  44. package/types/options/types.js +1 -2
  45. package/types/slugify.js +1 -4
  46. package/types/types.d.ts +40 -1
  47. package/types/types.js +2 -5
  48. package/esm/babel.js +0 -2
  49. package/esm/babel.js.map +0 -1
  50. package/lib/IVariableContext.js +0 -2
  51. package/lib/IVariableContext.js.map +0 -1
  52. package/lib/asyncResolveFallback.js +0 -47
  53. package/lib/asyncResolveFallback.js.map +0 -1
  54. package/lib/asyncResolverFactory.js +0 -18
  55. package/lib/asyncResolverFactory.js.map +0 -1
  56. package/lib/babel.js +0 -2
  57. package/lib/babel.js.map +0 -1
  58. package/lib/debugger.js +0 -2
  59. package/lib/debugger.js.map +0 -1
  60. package/lib/findPackageJSON.js +0 -81
  61. package/lib/findPackageJSON.js.map +0 -1
  62. package/lib/hasEvalMeta.js +0 -10
  63. package/lib/hasEvalMeta.js.map +0 -1
  64. package/lib/index.js +0 -81
  65. package/lib/index.js.map +0 -1
  66. package/lib/isBoxedPrimitive.js +0 -15
  67. package/lib/isBoxedPrimitive.js.map +0 -1
  68. package/lib/logger.js +0 -35
  69. package/lib/logger.js.map +0 -1
  70. package/lib/options/isFeatureEnabled.js +0 -37
  71. package/lib/options/isFeatureEnabled.js.map +0 -1
  72. package/lib/options/types.js +0 -2
  73. package/lib/options/types.js.map +0 -1
  74. package/lib/slugify.js +0 -68
  75. package/lib/slugify.js.map +0 -1
  76. package/lib/types.js +0 -16
  77. package/lib/types.js.map +0 -1
  78. package/types/babel.d.ts +0 -2
  79. package/types/babel.js +0 -2
package/lib/logger.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","names":["_debug","_interopRequireDefault","require","e","__esModule","default","BASE_NAMESPACE","logger","exports","genericDebug","loggers","Map","gerOrCreate","namespace","lastIndexOf","has","set","substring","extend","get","formatters","r","ref","_ref$text","text","color","parseInt","colorCode","f","fn","JSON","stringify","enableDebug","enable"],"sources":["../src/logger.ts"],"sourcesContent":["import genericDebug from 'debug';\n\nimport type { Debugger } from './debugger';\n\nconst BASE_NAMESPACE = 'wyw-in-js';\n\nexport const logger: Debugger = genericDebug(BASE_NAMESPACE);\n\nconst loggers = new Map<string, Debugger>();\n\nfunction gerOrCreate(namespace: string | null | undefined): Debugger {\n if (!namespace) return logger;\n const lastIndexOf = namespace.lastIndexOf(':');\n if (!loggers.has(namespace)) {\n loggers.set(\n namespace,\n gerOrCreate(namespace.substring(0, lastIndexOf)).extend(\n namespace.substring(lastIndexOf + 1)\n )\n );\n }\n\n return loggers.get(namespace)!;\n}\n\ngenericDebug.formatters.r = (\n ref: string | { namespace: string; text?: string }\n) => {\n const namespace = typeof ref === 'string' ? ref : ref.namespace;\n const text = typeof ref === 'string' ? namespace : ref.text ?? namespace;\n const color = parseInt(gerOrCreate(namespace).color, 10);\n const colorCode = `\\u001B[3${color < 8 ? color : `8;5;${color}`}`;\n return `${colorCode};1m${text}\\u001B[0m`;\n};\n\ngenericDebug.formatters.f = function f(fn: () => unknown) {\n return JSON.stringify(fn());\n};\n\nexport function enableDebug(namespace = `${BASE_NAMESPACE}:*`) {\n genericDebug.enable(namespace);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIjC,MAAMG,cAAc,GAAG,WAAW;AAE3B,MAAMC,MAAgB,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,cAAY,EAACH,cAAc,CAAC;AAE5D,MAAMI,OAAO,GAAG,IAAIC,GAAG,CAAmB,CAAC;AAE3C,SAASC,WAAWA,CAACC,SAAoC,EAAY;EACnE,IAAI,CAACA,SAAS,EAAE,OAAON,MAAM;EAC7B,MAAMO,WAAW,GAAGD,SAAS,CAACC,WAAW,CAAC,GAAG,CAAC;EAC9C,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACF,SAAS,CAAC,EAAE;IAC3BH,OAAO,CAACM,GAAG,CACTH,SAAS,EACTD,WAAW,CAACC,SAAS,CAACI,SAAS,CAAC,CAAC,EAAEH,WAAW,CAAC,CAAC,CAACI,MAAM,CACrDL,SAAS,CAACI,SAAS,CAACH,WAAW,GAAG,CAAC,CACrC,CACF,CAAC;EACH;EAEA,OAAOJ,OAAO,CAACS,GAAG,CAACN,SAAS,CAAC;AAC/B;AAEAJ,cAAY,CAACW,UAAU,CAACC,CAAC,GACvBC,GAAkD,IAC/C;EAAA,IAAAC,SAAA;EACH,MAAMV,SAAS,GAAG,OAAOS,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAGA,GAAG,CAACT,SAAS;EAC/D,MAAMW,IAAI,GAAG,OAAOF,GAAG,KAAK,QAAQ,GAAGT,SAAS,IAAAU,SAAA,GAAGD,GAAG,CAACE,IAAI,cAAAD,SAAA,cAAAA,SAAA,GAAIV,SAAS;EACxE,MAAMY,KAAK,GAAGC,QAAQ,CAACd,WAAW,CAACC,SAAS,CAAC,CAACY,KAAK,EAAE,EAAE,CAAC;EACxD,MAAME,SAAS,GAAG,WAAWF,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAG,OAAOA,KAAK,EAAE,EAAE;EACjE,OAAO,GAAGE,SAAS,MAAMH,IAAI,WAAW;AAC1C,CAAC;AAEDf,cAAY,CAACW,UAAU,CAACQ,CAAC,GAAG,SAASA,CAACA,CAACC,EAAiB,EAAE;EACxD,OAAOC,IAAI,CAACC,SAAS,CAACF,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAEM,SAASG,WAAWA,CAACnB,SAAS,GAAG,GAAGP,cAAc,IAAI,EAAE;EAC7DG,cAAY,CAACwB,MAAM,CAACpB,SAAS,CAAC;AAChC","ignoreList":[]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isFeatureEnabled = void 0;
7
- var _minimatch = require("minimatch");
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
-
10
- const cachedMatchers = new Map();
11
- const isFeatureEnabled = (features, featureName, filename) => {
12
- var _features$featureName;
13
- const value = (_features$featureName = features === null || features === void 0 ? void 0 : features[featureName]) !== null && _features$featureName !== void 0 ? _features$featureName : false;
14
- if (typeof value === 'boolean') {
15
- return value;
16
- }
17
-
18
- // Fast check for glob patterns
19
- if (value === '*' || value === '**/*') {
20
- return true;
21
- }
22
- const array = Array.isArray(value) ? value : [value];
23
-
24
- /**
25
- * Check rule by rule like .gitignore
26
- */
27
- return array.map(pattern => {
28
- let matcher = cachedMatchers.get(pattern);
29
- if (!matcher) {
30
- matcher = [pattern.startsWith('!'), new _minimatch.Minimatch(pattern)];
31
- cachedMatchers.set(pattern, matcher);
32
- }
33
- return [matcher[0], matcher[1].match(filename)];
34
- }).reduce((acc, [negated, match]) => negated ? acc && match : acc || match, false);
35
- };
36
- exports.isFeatureEnabled = isFeatureEnabled;
37
- //# sourceMappingURL=isFeatureEnabled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isFeatureEnabled.js","names":["_minimatch","require","cachedMatchers","Map","isFeatureEnabled","features","featureName","filename","_features$featureName","value","array","Array","isArray","map","pattern","matcher","get","startsWith","Minimatch","set","match","reduce","acc","negated","exports"],"sources":["../../src/options/isFeatureEnabled.ts"],"sourcesContent":["import { Minimatch } from 'minimatch';\n\nimport type { FeatureFlag } from './types';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype NoInfer<T> = [T][T extends any ? 0 : never];\n\nconst cachedMatchers = new Map<\n string,\n [nagated: boolean, matcher: Minimatch]\n>();\n\nexport const isFeatureEnabled = <T extends string>(\n features:\n | {\n [K in T]?: FeatureFlag;\n }\n | undefined,\n featureName: NoInfer<T>,\n filename: string\n) => {\n const value = features?.[featureName] ?? false;\n if (typeof value === 'boolean') {\n return value;\n }\n\n // Fast check for glob patterns\n if (value === '*' || value === '**/*') {\n return true;\n }\n\n const array: string[] = Array.isArray(value) ? value : [value];\n\n /**\n * Check rule by rule like .gitignore\n */\n return array\n .map((pattern) => {\n let matcher = cachedMatchers.get(pattern);\n if (!matcher) {\n matcher = [pattern.startsWith('!'), new Minimatch(pattern)];\n cachedMatchers.set(pattern, matcher);\n }\n\n return [matcher[0], matcher[1].match(filename)];\n })\n .reduce(\n (acc, [negated, match]) => (negated ? acc && match : acc || match),\n false\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAIA;;AAGA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAG5B,CAAC;AAEI,MAAMC,gBAAgB,GAAGA,CAC9BC,QAIa,EACbC,WAAuB,EACvBC,QAAgB,KACb;EAAA,IAAAC,qBAAA;EACH,MAAMC,KAAK,IAAAD,qBAAA,GAAGH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGC,WAAW,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,GAAI,KAAK;EAC9C,IAAI,OAAOC,KAAK,KAAK,SAAS,EAAE;IAC9B,OAAOA,KAAK;EACd;;EAEA;EACA,IAAIA,KAAK,KAAK,GAAG,IAAIA,KAAK,KAAK,MAAM,EAAE;IACrC,OAAO,IAAI;EACb;EAEA,MAAMC,KAAe,GAAGC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;;EAE9D;AACF;AACA;EACE,OAAOC,KAAK,CACTG,GAAG,CAAEC,OAAO,IAAK;IAChB,IAAIC,OAAO,GAAGb,cAAc,CAACc,GAAG,CAACF,OAAO,CAAC;IACzC,IAAI,CAACC,OAAO,EAAE;MACZA,OAAO,GAAG,CAACD,OAAO,CAACG,UAAU,CAAC,GAAG,CAAC,EAAE,IAAIC,oBAAS,CAACJ,OAAO,CAAC,CAAC;MAC3DZ,cAAc,CAACiB,GAAG,CAACL,OAAO,EAAEC,OAAO,CAAC;IACtC;IAEA,OAAO,CAACA,OAAO,CAAC,CAAC,CAAC,EAAEA,OAAO,CAAC,CAAC,CAAC,CAACK,KAAK,CAACb,QAAQ,CAAC,CAAC;EACjD,CAAC,CAAC,CACDc,MAAM,CACL,CAACC,GAAG,EAAE,CAACC,OAAO,EAAEH,KAAK,CAAC,KAAMG,OAAO,GAAGD,GAAG,IAAIF,KAAK,GAAGE,GAAG,IAAIF,KAAM,EAClE,KACF,CAAC;AACL,CAAC;AAACI,OAAA,CAAApB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/options/types.ts"],"sourcesContent":["import type { TransformOptions } from '@babel/core';\nimport type { File } from '@babel/types';\n\nimport type { IVariableContext } from '../IVariableContext';\nimport type { Core } from '../babel';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype VmContext = Record<string, any>; // It's Context from `vm`\n\nexport type ClassNameSlugVars = {\n dir: string;\n ext: string;\n file: string;\n hash: string;\n index: number;\n name: string;\n title: string;\n};\n\nexport type ClassNameFn = (\n hash: string,\n title: string,\n args: ClassNameSlugVars\n) => string;\n\nexport type VariableNameFn = (context: IVariableContext) => string;\n\nexport type EvaluatorConfig = {\n features: StrictOptions['features'];\n highPriorityPlugins: string[];\n importOverrides?: StrictOptions['importOverrides'];\n onlyExports: string[];\n root?: string;\n};\n\nexport type Evaluator = (\n evalConfig: TransformOptions,\n ast: File,\n code: string,\n config: EvaluatorConfig,\n babel: Core\n) => [\n ast: File,\n code: string,\n imports: Map<string, string[]> | null,\n exports?: string[] | null,\n];\n\nexport type EvalRule = {\n action: Evaluator | 'ignore' | string;\n babelOptions?: TransformOptions;\n test?: RegExp | ((path: string, code: string) => boolean);\n};\n\nexport type FeatureFlag = boolean | string | string[];\n\ntype ImportOverrideMock = {\n /**\n * Replaces resolved import with provided specifier (resolved on prepare/eval stages).\n * Raw `source` stays intact; only resolution target changes.\n */\n mock: string;\n noShake?: never;\n unknown?: never;\n};\n\ntype ImportOverrideNoShake = {\n mock?: never;\n /**\n * Disables tree-shaking for this import by forcing `only=['*']`.\n */\n noShake: true;\n unknown?: never;\n};\n\ntype ImportOverrideUnknown = {\n mock?: never;\n noShake?: never;\n /**\n * Controls behavior when an import reaches eval-time Node resolver fallback.\n * - 'warn' (default): warn once per canonical import key.\n * - 'error': throw.\n * - 'allow': no warning, keep load-as-is.\n */\n unknown: 'allow' | 'error' | 'warn';\n};\n\nexport type ImportOverride =\n | ImportOverrideMock\n | ImportOverrideNoShake\n | ImportOverrideUnknown;\n\nexport type ImportOverrides = Record<string, ImportOverride>;\n\nexport type ImportLoaderContext = {\n emitWarning: (message: string) => void;\n filename: string;\n hash: string;\n importer: string;\n query: string;\n readFile: () => string;\n request: string;\n resolved: string;\n toUrl: () => string;\n};\n\nexport type ImportLoader =\n | 'raw'\n | 'url'\n | ((context: ImportLoaderContext) => unknown);\n\nexport type ImportLoaders = Record<string, ImportLoader | false>;\n\nexport type TagResolverMeta = {\n resolvedSource?: string;\n sourceFile: string | null | undefined;\n};\n\ntype AllFeatureFlags = {\n dangerousCodeRemover: FeatureFlag;\n globalCache: FeatureFlag;\n happyDOM: FeatureFlag;\n softErrors: FeatureFlag;\n useBabelConfigs: FeatureFlag;\n useWeakRefInEval: FeatureFlag;\n};\n\nexport type FeatureFlags<\n TOnly extends keyof AllFeatureFlags = keyof AllFeatureFlags,\n> = Pick<AllFeatureFlags, TOnly>;\n\nexport type CodeRemoverOptions = {\n componentTypes?: Record<string, string[]>;\n hocs?: Record<string, string[]>;\n};\n\nexport type StrictOptions = {\n babelOptions: TransformOptions;\n classNameSlug?: string | ClassNameFn;\n codeRemover?: CodeRemoverOptions;\n conditionNames?: string[];\n displayName: boolean;\n evaluate: boolean;\n extensions: string[];\n features: FeatureFlags;\n highPriorityPlugins: string[];\n ignore?: RegExp;\n importLoaders?: ImportLoaders;\n importOverrides?: ImportOverrides;\n outputMetadata: boolean;\n overrideContext?: (\n context: Partial<VmContext>,\n filename: string\n ) => Partial<VmContext>;\n rules: EvalRule[];\n tagResolver?: (\n source: string,\n tag: string,\n meta: TagResolverMeta\n ) => string | null;\n variableNameConfig?: 'var' | 'dashes' | 'raw';\n variableNameSlug?: string | VariableNameFn;\n};\n"],"mappings":"","ignoreList":[]}
package/lib/slugify.js DELETED
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.slugify = slugify;
7
- /* eslint-disable no-plusplus, no-bitwise, default-case, no-param-reassign, prefer-destructuring */
8
- /**
9
- * This file contains a utility to generate hashes to be used as generated class names
10
- */
11
-
12
- /**
13
- * murmurhash2 via https://gist.github.com/raycmorgan/588423
14
- */
15
-
16
- function UInt32(str, pos) {
17
- return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8) + (str.charCodeAt(pos++) << 16) + (str.charCodeAt(pos) << 24);
18
- }
19
- function UInt16(str, pos) {
20
- return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8);
21
- }
22
- function Umul32(n, m) {
23
- n |= 0;
24
- m |= 0;
25
- const nlo = n & 0xffff;
26
- const nhi = n >>> 16;
27
- return nlo * m + ((nhi * m & 0xffff) << 16) | 0;
28
- }
29
- function doHash(str, seed = 0) {
30
- const m = 0x5bd1e995;
31
- const r = 24;
32
- let h = seed ^ str.length;
33
- let length = str.length;
34
- let currentIndex = 0;
35
- while (length >= 4) {
36
- let k = UInt32(str, currentIndex);
37
- k = Umul32(k, m);
38
- k ^= k >>> r;
39
- k = Umul32(k, m);
40
- h = Umul32(h, m);
41
- h ^= k;
42
- currentIndex += 4;
43
- length -= 4;
44
- }
45
- switch (length) {
46
- case 3:
47
- h ^= UInt16(str, currentIndex);
48
- h ^= str.charCodeAt(currentIndex + 2) << 16;
49
- h = Umul32(h, m);
50
- break;
51
- case 2:
52
- h ^= UInt16(str, currentIndex);
53
- h = Umul32(h, m);
54
- break;
55
- case 1:
56
- h ^= str.charCodeAt(currentIndex);
57
- h = Umul32(h, m);
58
- break;
59
- }
60
- h ^= h >>> 13;
61
- h = Umul32(h, m);
62
- h ^= h >>> 15;
63
- return h >>> 0;
64
- }
65
- function slugify(code) {
66
- return doHash(code).toString(36);
67
- }
68
- //# sourceMappingURL=slugify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slugify.js","names":["UInt32","str","pos","charCodeAt","UInt16","Umul32","n","m","nlo","nhi","doHash","seed","r","h","length","currentIndex","k","slugify","code","toString"],"sources":["../src/slugify.ts"],"sourcesContent":["/* eslint-disable no-plusplus, no-bitwise, default-case, no-param-reassign, prefer-destructuring */\n/**\n * This file contains a utility to generate hashes to be used as generated class names\n */\n\n/**\n * murmurhash2 via https://gist.github.com/raycmorgan/588423\n */\n\nfunction UInt32(str: string, pos: number) {\n return (\n str.charCodeAt(pos++) +\n (str.charCodeAt(pos++) << 8) +\n (str.charCodeAt(pos++) << 16) +\n (str.charCodeAt(pos) << 24)\n );\n}\n\nfunction UInt16(str: string, pos: number) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8);\n}\n\nfunction Umul32(n: number, m: number) {\n n |= 0;\n m |= 0;\n const nlo = n & 0xffff;\n const nhi = n >>> 16;\n return (nlo * m + (((nhi * m) & 0xffff) << 16)) | 0;\n}\n\nfunction doHash(str: string, seed = 0) {\n const m = 0x5bd1e995;\n const r = 24;\n let h = seed ^ str.length;\n let length = str.length;\n let currentIndex = 0;\n\n while (length >= 4) {\n let k = UInt32(str, currentIndex);\n\n k = Umul32(k, m);\n k ^= k >>> r;\n k = Umul32(k, m);\n\n h = Umul32(h, m);\n h ^= k;\n\n currentIndex += 4;\n length -= 4;\n }\n\n switch (length) {\n case 3:\n h ^= UInt16(str, currentIndex);\n h ^= str.charCodeAt(currentIndex + 2) << 16;\n h = Umul32(h, m);\n break;\n\n case 2:\n h ^= UInt16(str, currentIndex);\n h = Umul32(h, m);\n break;\n\n case 1:\n h ^= str.charCodeAt(currentIndex);\n h = Umul32(h, m);\n break;\n }\n\n h ^= h >>> 13;\n h = Umul32(h, m);\n h ^= h >>> 15;\n\n return h >>> 0;\n}\n\nexport function slugify(code: string) {\n return doHash(code).toString(36);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,MAAMA,CAACC,GAAW,EAAEC,GAAW,EAAE;EACxC,OACED,GAAG,CAACE,UAAU,CAACD,GAAG,EAAE,CAAC,IACpBD,GAAG,CAACE,UAAU,CAACD,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAC3BD,GAAG,CAACE,UAAU,CAACD,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAC5BD,GAAG,CAACE,UAAU,CAACD,GAAG,CAAC,IAAI,EAAE,CAAC;AAE/B;AAEA,SAASE,MAAMA,CAACH,GAAW,EAAEC,GAAW,EAAE;EACxC,OAAOD,GAAG,CAACE,UAAU,CAACD,GAAG,EAAE,CAAC,IAAID,GAAG,CAACE,UAAU,CAACD,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7D;AAEA,SAASG,MAAMA,CAACC,CAAS,EAAEC,CAAS,EAAE;EACpCD,CAAC,IAAI,CAAC;EACNC,CAAC,IAAI,CAAC;EACN,MAAMC,GAAG,GAAGF,CAAC,GAAG,MAAM;EACtB,MAAMG,GAAG,GAAGH,CAAC,KAAK,EAAE;EACpB,OAAQE,GAAG,GAAGD,CAAC,IAAI,CAAEE,GAAG,GAAGF,CAAC,GAAI,MAAM,KAAK,EAAE,CAAC,GAAI,CAAC;AACrD;AAEA,SAASG,MAAMA,CAACT,GAAW,EAAEU,IAAI,GAAG,CAAC,EAAE;EACrC,MAAMJ,CAAC,GAAG,UAAU;EACpB,MAAMK,CAAC,GAAG,EAAE;EACZ,IAAIC,CAAC,GAAGF,IAAI,GAAGV,GAAG,CAACa,MAAM;EACzB,IAAIA,MAAM,GAAGb,GAAG,CAACa,MAAM;EACvB,IAAIC,YAAY,GAAG,CAAC;EAEpB,OAAOD,MAAM,IAAI,CAAC,EAAE;IAClB,IAAIE,CAAC,GAAGhB,MAAM,CAACC,GAAG,EAAEc,YAAY,CAAC;IAEjCC,CAAC,GAAGX,MAAM,CAACW,CAAC,EAAET,CAAC,CAAC;IAChBS,CAAC,IAAIA,CAAC,KAAKJ,CAAC;IACZI,CAAC,GAAGX,MAAM,CAACW,CAAC,EAAET,CAAC,CAAC;IAEhBM,CAAC,GAAGR,MAAM,CAACQ,CAAC,EAAEN,CAAC,CAAC;IAChBM,CAAC,IAAIG,CAAC;IAEND,YAAY,IAAI,CAAC;IACjBD,MAAM,IAAI,CAAC;EACb;EAEA,QAAQA,MAAM;IACZ,KAAK,CAAC;MACJD,CAAC,IAAIT,MAAM,CAACH,GAAG,EAAEc,YAAY,CAAC;MAC9BF,CAAC,IAAIZ,GAAG,CAACE,UAAU,CAACY,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE;MAC3CF,CAAC,GAAGR,MAAM,CAACQ,CAAC,EAAEN,CAAC,CAAC;MAChB;IAEF,KAAK,CAAC;MACJM,CAAC,IAAIT,MAAM,CAACH,GAAG,EAAEc,YAAY,CAAC;MAC9BF,CAAC,GAAGR,MAAM,CAACQ,CAAC,EAAEN,CAAC,CAAC;MAChB;IAEF,KAAK,CAAC;MACJM,CAAC,IAAIZ,GAAG,CAACE,UAAU,CAACY,YAAY,CAAC;MACjCF,CAAC,GAAGR,MAAM,CAACQ,CAAC,EAAEN,CAAC,CAAC;MAChB;EACJ;EAEAM,CAAC,IAAIA,CAAC,KAAK,EAAE;EACbA,CAAC,GAAGR,MAAM,CAACQ,CAAC,EAAEN,CAAC,CAAC;EAChBM,CAAC,IAAIA,CAAC,KAAK,EAAE;EAEb,OAAOA,CAAC,KAAK,CAAC;AAChB;AAEO,SAASI,OAAOA,CAACC,IAAY,EAAE;EACpC,OAAOR,MAAM,CAACQ,IAAI,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;AAClC","ignoreList":[]}
package/lib/types.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ValueType = void 0;
7
- let ValueType = exports.ValueType = /*#__PURE__*/function (ValueType) {
8
- ValueType[ValueType["LAZY"] = 0] = "LAZY";
9
- ValueType[ValueType["FUNCTION"] = 1] = "FUNCTION";
10
- ValueType[ValueType["CONST"] = 2] = "CONST";
11
- return ValueType;
12
- }({});
13
- /**
14
- * CSS-related types
15
- */
16
- //# sourceMappingURL=types.js.map
package/lib/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":["ValueType","exports"],"sources":["../src/types.ts"],"sourcesContent":["import type {\n BigIntLiteral,\n BooleanLiteral,\n DecimalLiteral,\n Identifier,\n NullLiteral,\n NumericLiteral,\n StringLiteral,\n} from '@babel/types';\n\nexport type Artifact = [name: string, data: unknown];\n\nexport type BuildCodeFrameErrorFn = <TError extends Error>(\n msg: string,\n Error?: new (innerMsg: string) => TError\n) => TError;\n\nexport enum ValueType {\n LAZY,\n FUNCTION,\n CONST,\n}\n\nexport type LazyValue = {\n buildCodeFrameError: BuildCodeFrameErrorFn;\n ex: Identifier;\n importedFrom?: string[];\n kind: ValueType.LAZY;\n source: string;\n};\n\nexport type FunctionValue = {\n buildCodeFrameError: BuildCodeFrameErrorFn;\n ex: Identifier;\n importedFrom?: string[];\n kind: ValueType.FUNCTION;\n source: string;\n};\n\nexport type ConstValue = {\n buildCodeFrameError: BuildCodeFrameErrorFn;\n ex:\n | StringLiteral\n | NumericLiteral\n | NullLiteral\n | BooleanLiteral\n | BigIntLiteral\n | DecimalLiteral;\n kind: ValueType.CONST;\n source: string;\n value: string | number | boolean | null;\n};\n\nexport type ExpressionValue = LazyValue | FunctionValue | ConstValue;\n\nexport type WYWEvalMeta = {\n __wyw_meta: {\n className: string;\n extends: WYWEvalMeta;\n };\n};\n\nexport type Location = {\n column: number;\n line: number;\n};\n\nexport type Replacement = {\n length: number;\n original: { end: Location; start: Location };\n};\n\nexport type Replacements = Array<Replacement>;\n\n/**\n * CSS-related types\n */\n\nexport interface ICSSRule {\n atom?: boolean;\n className: string;\n cssText: string;\n displayName: string;\n start: Location | null | undefined;\n}\n\nexport type Rules = Record<string, ICSSRule>;\n"],"mappings":";;;;;;IAiBYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAyDrB;AACA;AACA","ignoreList":[]}
package/types/babel.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import type core from '@babel/core';
2
- export type Core = typeof core;
package/types/babel.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });