@schedule1-tools/mixer 0.2.4 → 0.3.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 (43) hide show
  1. package/README.md +13 -24
  2. package/dist/core/effectSet.d.ts +13 -3
  3. package/dist/core/effectSet.d.ts.map +1 -1
  4. package/dist/core/effectSet.js +105 -22
  5. package/dist/core/mixer.d.ts +8 -0
  6. package/dist/core/mixer.d.ts.map +1 -1
  7. package/dist/core/mixer.js +88 -103
  8. package/dist/data/effects.js +3 -7
  9. package/dist/data/products.d.ts.map +1 -1
  10. package/dist/data/products.js +15 -6
  11. package/dist/data/rules.js +1 -5
  12. package/dist/data/substances.js +4 -8
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +6 -20
  16. package/dist/types.d.ts +3 -2
  17. package/dist/types.d.ts.map +1 -1
  18. package/dist/types.js +1 -3
  19. package/dist/utils/encoding.d.ts +12 -0
  20. package/dist/utils/encoding.d.ts.map +1 -1
  21. package/dist/utils/encoding.js +29 -26
  22. package/package.json +50 -41
  23. package/dist/bitmaps.d.ts +0 -9
  24. package/dist/bitmaps.d.ts.map +0 -1
  25. package/dist/bitmaps.js +0 -45
  26. package/dist/bitmaps.js.map +0 -1
  27. package/dist/core/effectSet.js.map +0 -1
  28. package/dist/core/mixer.js.map +0 -1
  29. package/dist/core/reverse.d.ts +0 -3
  30. package/dist/core/reverse.d.ts.map +0 -1
  31. package/dist/core/reverse.js +0 -89
  32. package/dist/core/reverse.js.map +0 -1
  33. package/dist/data/effects.js.map +0 -1
  34. package/dist/data/products.js.map +0 -1
  35. package/dist/data/rules.js.map +0 -1
  36. package/dist/data/substances.js.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/maskRules.d.ts +0 -8
  39. package/dist/maskRules.d.ts.map +0 -1
  40. package/dist/maskRules.js +0 -18
  41. package/dist/maskRules.js.map +0 -1
  42. package/dist/types.js.map +0 -1
  43. package/dist/utils/encoding.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,20 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.effectRulesBySubstance = exports.substances = exports.productAbbreviations = exports.products = exports.effects = exports.mixFromHash = exports.mixSubstances = exports.migrateMixHash = exports.decodeMixState = exports.encodeMixState = void 0;
4
- var encoding_1 = require("./utils/encoding");
5
- Object.defineProperty(exports, "encodeMixState", { enumerable: true, get: function () { return encoding_1.encodeMixState; } });
6
- Object.defineProperty(exports, "decodeMixState", { enumerable: true, get: function () { return encoding_1.decodeMixState; } });
7
- Object.defineProperty(exports, "migrateMixHash", { enumerable: true, get: function () { return encoding_1.migrateMixHash; } });
8
- var mixer_1 = require("./core/mixer");
9
- Object.defineProperty(exports, "mixSubstances", { enumerable: true, get: function () { return mixer_1.mixSubstances; } });
10
- Object.defineProperty(exports, "mixFromHash", { enumerable: true, get: function () { return mixer_1.mixFromHash; } });
11
- var effects_1 = require("./data/effects");
12
- Object.defineProperty(exports, "effects", { enumerable: true, get: function () { return effects_1.effects; } });
13
- var products_1 = require("./data/products");
14
- Object.defineProperty(exports, "products", { enumerable: true, get: function () { return products_1.products; } });
15
- Object.defineProperty(exports, "productAbbreviations", { enumerable: true, get: function () { return products_1.productAbbreviations; } });
16
- var substances_1 = require("./data/substances");
17
- Object.defineProperty(exports, "substances", { enumerable: true, get: function () { return substances_1.substances; } });
18
- var rules_1 = require("./data/rules");
19
- Object.defineProperty(exports, "effectRulesBySubstance", { enumerable: true, get: function () { return rules_1.effectRulesBySubstance; } });
20
- //# sourceMappingURL=index.js.map
1
+ export { encodeMixState, decodeMixState, migrateMixHash } from './utils/encoding';
2
+ export { mixSubstances, mixFromHash } from './core/mixer';
3
+ export { products, productAbbreviations } from './data/products';
4
+ export { effectRulesBySubstance } from './data/rules';
5
+ export { substances } from './data/substances';
6
+ export { effects } from './data/effects';
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export type EffectCode = 'Ag' | 'At' | 'Ba' | 'Be' | 'Ca' | 'Cd' | 'Cy' | 'Di' | 'El' | 'En' | 'Eu' | 'Ex' | 'Fc' | 'Fo' | 'Gi' | 'Gl' | 'Je' | 'La' | 'Lf' | 'Mu' | 'Pa' | 'Re' | 'Sc' | 'Se' | 'Sh' | 'Si' | 'Sl' | 'Sm' | 'Sn' | 'Sp' | 'To' | 'Tp' | 'Tt' | 'Zo';
2
2
  export type Substance = 'Cuke' | 'Flu Medicine' | 'Gasoline' | 'Donut' | 'Energy Drink' | 'Mouth Wash' | 'Motor Oil' | 'Banana' | 'Chili' | 'Iodine' | 'Paracetamol' | 'Viagor' | 'Horse Semen' | 'Mega Bean' | 'Addy' | 'Battery';
3
- export type Product = 'OG Kush' | 'Sour Diesel' | 'Green Crack' | 'Grandaddy Purple' | 'Meth' | 'Cocaine';
4
- export type RankCode = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13';
3
+ export type Product = 'OG Kush' | 'Sour Diesel' | 'Green Crack' | 'Grandaddy Purple' | 'Meth' | 'Cocaine' | 'Shrooms';
4
+ export type RankCode = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26';
5
5
  export interface EffectData {
6
6
  name: string;
7
7
  description: string;
@@ -21,6 +21,7 @@ export interface ProductData {
21
21
  effects: EffectCode[];
22
22
  abbreviation: string;
23
23
  addiction?: number;
24
+ rank: RankCode;
24
25
  }
25
26
  export interface EffectRule {
26
27
  ifPresent: EffectCode[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,cAAc,GACd,UAAU,GACV,OAAO,GACP,cAAc,GACd,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,aAAa,GACb,WAAW,GACX,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,OAAO,GACf,SAAS,GACT,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,cAAc,GACd,UAAU,GACV,OAAO,GACP,cAAc,GACd,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,aAAa,GACb,WAAW,GACX,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,OAAO,GACf,SAAS,GACT,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,MAAM,GACN,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB"}
package/dist/types.js CHANGED
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
1
+ export {};
@@ -1,5 +1,17 @@
1
1
  import type { MixState } from '../types';
2
+ /**
3
+ * Encodes a mix state to a shareable URL-safe string.
4
+ * Throws if the product or any substance is invalid.
5
+ */
2
6
  export declare function encodeMixState(state: MixState): string;
7
+ /**
8
+ * Decodes a URL-safe string back into a MixState.
9
+ * Returns null if the hash is invalid or unrecognized.
10
+ */
3
11
  export declare function decodeMixState(hash: string): MixState | null;
12
+ /**
13
+ * Migrates a legacy LZ-compressed hash to the current format.
14
+ * Returns null if migration fails.
15
+ */
4
16
  export declare function migrateMixHash(legacyHash: string): Promise<string | null>;
5
17
  //# sourceMappingURL=encoding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,UAAU,CAAC;AAa7D,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAqBtD;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAyC5D;AAOD,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmC/E"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,UAAU,CAAC;AAO7D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAqBtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAyC5D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmC/E"}
@@ -1,25 +1,21 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.encodeMixState = encodeMixState;
7
- exports.decodeMixState = decodeMixState;
8
- exports.migrateMixHash = migrateMixHash;
9
- const lz_string_1 = __importDefault(require("lz-string"));
10
- const products_1 = require("../data/products");
11
- const substances_1 = require("../data/substances");
12
- function encodeMixState(state) {
13
- if (!products_1.products[state.product]) {
1
+ import LZString from 'lz-string';
2
+ import { products } from '../data/products';
3
+ import { substanceAbbreviations, substances } from '../data/substances';
4
+ /**
5
+ * Encodes a mix state to a shareable URL-safe string.
6
+ * Throws if the product or any substance is invalid.
7
+ */
8
+ export function encodeMixState(state) {
9
+ if (!products[state.product]) {
14
10
  throw new Error(`Invalid product type: ${state.product}`);
15
11
  }
16
12
  for (const substance of state.substances) {
17
- if (!substances_1.substances[substance]) {
13
+ if (!substances[substance]) {
18
14
  throw new Error(`Invalid substance code: ${substance}`);
19
15
  }
20
16
  }
21
17
  const abbreviatedSubstances = state.substances.map((s) => {
22
- const abbr = substances_1.substances[s].abbreviation;
18
+ const abbr = substances[s].abbreviation;
23
19
  if (!abbr) {
24
20
  throw new Error(`Missing abbreviation for substance: ${s}`);
25
21
  }
@@ -28,7 +24,11 @@ function encodeMixState(state) {
28
24
  const encoded = `${state.product}:${abbreviatedSubstances.join('')}`;
29
25
  return toBase64Url(encoded);
30
26
  }
31
- function decodeMixState(hash) {
27
+ /**
28
+ * Decodes a URL-safe string back into a MixState.
29
+ * Returns null if the hash is invalid or unrecognized.
30
+ */
31
+ export function decodeMixState(hash) {
32
32
  if (!hash || typeof hash !== 'string') {
33
33
  return null;
34
34
  }
@@ -39,15 +39,15 @@ function decodeMixState(hash) {
39
39
  return null;
40
40
  }
41
41
  const [product, substancesStr] = parts;
42
- if (!product || !products_1.products[product]) {
42
+ if (!product || !products[product]) {
43
43
  return null;
44
44
  }
45
45
  const subs = [];
46
46
  if (substancesStr) {
47
47
  for (let i = 0; i < substancesStr.length; i++) {
48
48
  const abbr = substancesStr[i];
49
- const fullName = substances_1.substanceAbbreviations[abbr];
50
- if (!fullName || !substances_1.substances[fullName]) {
49
+ const fullName = substanceAbbreviations[abbr];
50
+ if (!fullName || !substances[fullName]) {
51
51
  return null;
52
52
  }
53
53
  subs.push(fullName);
@@ -58,13 +58,17 @@ function decodeMixState(hash) {
58
58
  substances: subs,
59
59
  };
60
60
  }
61
- catch (error) {
61
+ catch {
62
62
  return null;
63
63
  }
64
64
  }
65
- async function migrateMixHash(legacyHash) {
65
+ /**
66
+ * Migrates a legacy LZ-compressed hash to the current format.
67
+ * Returns null if migration fails.
68
+ */
69
+ export async function migrateMixHash(legacyHash) {
66
70
  try {
67
- const jsonStr = lz_string_1.default.decompressFromBase64(legacyHash);
71
+ const jsonStr = LZString.decompressFromBase64(legacyHash);
68
72
  if (!jsonStr)
69
73
  return null;
70
74
  const mixArr = JSON.parse(jsonStr);
@@ -72,9 +76,9 @@ async function migrateMixHash(legacyHash) {
72
76
  return null;
73
77
  const firstMix = mixArr[0];
74
78
  const productId = firstMix.weed;
75
- if (!products_1.products[productId])
79
+ if (!products[productId])
76
80
  return null;
77
- const subsByAbbr = Object.entries(substances_1.substances).reduce((map, [id, sub]) => {
81
+ const subsByAbbr = Object.entries(substances).reduce((map, [id, sub]) => {
78
82
  if (sub.abbreviation)
79
83
  map[sub.abbreviation] = id;
80
84
  return map;
@@ -82,7 +86,7 @@ async function migrateMixHash(legacyHash) {
82
86
  const substanceIds = [];
83
87
  if (Array.isArray(firstMix.substances)) {
84
88
  for (const legacySubId of firstMix.substances) {
85
- const substanceId = substances_1.substances[legacySubId]
89
+ const substanceId = substances[legacySubId]
86
90
  ? legacySubId
87
91
  : subsByAbbr[legacySubId];
88
92
  if (substanceId)
@@ -111,4 +115,3 @@ function fromBase64Url(str) {
111
115
  const padded = padding ? base64 + '='.repeat(4 - padding) : base64;
112
116
  return Buffer.from(padded, 'base64').toString('utf-8');
113
117
  }
114
- //# sourceMappingURL=encoding.js.map
package/package.json CHANGED
@@ -1,41 +1,50 @@
1
- {
2
- "name": "@schedule1-tools/mixer",
3
- "version": "0.2.4",
4
- "description": "A package for calculating substance mixes in Schedule 1",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
10
- "keywords": [
11
- "schedule1"
12
- ],
13
- "author": "Schedule1 Tools",
14
- "license": "MIT",
15
- "dependencies": {
16
- "lz-string": "^1.5.0"
17
- },
18
- "devDependencies": {
19
- "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
20
- "@types/jest": "^29.5.14",
21
- "@types/node": "^22.14.1",
22
- "jest": "^29.7.0",
23
- "prettier": "^3.5.3",
24
- "ts-jest": "^29.3.2",
25
- "typescript": "^5.8.3"
26
- },
27
- "repository": {
28
- "type": "git",
29
- "url": "https://github.com/schedule1-tools/mixer.git"
30
- },
31
- "bugs": {
32
- "url": "https://github.com/schedule1-tools/mixer/issues"
33
- },
34
- "homepage": "https://github.com/schedule1-tools/mixer#readme",
35
- "scripts": {
36
- "build": "tsc",
37
- "test": "jest",
38
- "test:coverage": "jest --coverage",
39
- "format": "prettier --write ."
40
- }
41
- }
1
+ {
2
+ "name": "@schedule1-tools/mixer",
3
+ "version": "0.3.1",
4
+ "description": "A package for calculating substance mixes in Schedule 1",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc -p tsconfig.build.json",
19
+ "test": "bun jest",
20
+ "test:coverage": "bun jest --coverage",
21
+ "prepublishOnly": "bun run test && bun run build",
22
+ "format": "prettier --write ."
23
+ },
24
+ "keywords": [
25
+ "schedule1"
26
+ ],
27
+ "author": "Schedule1 Tools",
28
+ "license": "MIT",
29
+ "dependencies": {
30
+ "lz-string": "^1.5.0"
31
+ },
32
+ "devDependencies": {
33
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.1",
34
+ "@types/bun": "^1.3.11",
35
+ "@types/jest": "^30.0.0",
36
+ "@types/node": "^25.5.0",
37
+ "jest": "^30.3.0",
38
+ "prettier": "^3.8.1",
39
+ "ts-jest": "^29.4.6",
40
+ "typescript": "^6.0.2"
41
+ },
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/schedule1-tools/mixer.git"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/schedule1-tools/mixer/issues"
48
+ },
49
+ "homepage": "https://github.com/schedule1-tools/mixer#readme"
50
+ }
package/dist/bitmaps.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import type { EffectCode } from './types';
2
- export declare const codeToBit: Record<EffectCode, bigint>;
3
- export declare const allOnes: bigint;
4
- export declare function has(mask: bigint, code: EffectCode): boolean;
5
- export declare function add(mask: bigint, code: EffectCode): bigint;
6
- export declare function remove(mask: bigint, code: EffectCode): bigint;
7
- export declare function countBits(mask: bigint): number;
8
- export declare function toSortedArray(mask: bigint): EffectCode[];
9
- //# sourceMappingURL=bitmaps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bitmaps.d.ts","sourceRoot":"","sources":["../src/bitmaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQ1C,eAAO,MAAM,SAAS,4BAMrB,CAAC;AAGF,eAAO,MAAM,OAAO,QAAwD,CAAC;AAG7E,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAE3D;AACD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAE1D;AACD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAE7D;AACD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU9C;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CASxD"}
package/dist/bitmaps.js DELETED
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allOnes = exports.codeToBit = void 0;
4
- exports.has = has;
5
- exports.add = add;
6
- exports.remove = remove;
7
- exports.countBits = countBits;
8
- exports.toSortedArray = toSortedArray;
9
- const effects_1 = require("./data/effects");
10
- const effectCodes = Object.keys(effects_1.effects);
11
- exports.codeToBit = effectCodes.reduce((acc, c, i) => {
12
- acc[c] = BigInt(1) << BigInt(i);
13
- return acc;
14
- }, {});
15
- exports.allOnes = (BigInt(1) << BigInt(effectCodes.length)) - BigInt(1);
16
- function has(mask, code) {
17
- return (mask & exports.codeToBit[code]) !== BigInt(0);
18
- }
19
- function add(mask, code) {
20
- return mask | exports.codeToBit[code];
21
- }
22
- function remove(mask, code) {
23
- return mask & ~exports.codeToBit[code];
24
- }
25
- function countBits(mask) {
26
- let m = mask;
27
- let cnt = 0;
28
- while (m) {
29
- cnt += Number(m & BigInt(1));
30
- m >>= BigInt(1);
31
- }
32
- return cnt;
33
- }
34
- function toSortedArray(mask) {
35
- return effectCodes
36
- .filter((c) => has(mask, c))
37
- .sort((a, b) => {
38
- const ea = effects_1.effects[a];
39
- const eb = effects_1.effects[b];
40
- if (ea.tier !== eb.tier)
41
- return ea.tier - eb.tier;
42
- return effectCodes.indexOf(a) - effectCodes.indexOf(b);
43
- });
44
- }
45
- //# sourceMappingURL=bitmaps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bitmaps.js","sourceRoot":"","sources":["../src/bitmaps.ts"],"names":[],"mappings":";;;AAoBA,kBAEC;AACD,kBAEC;AACD,wBAEC;AACD,8BAUC;AACD,sCASC;AA/CD,4CAAyC;AAGzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAO,CAAiB,CAAC;AAG5C,QAAA,SAAS,GAAG,WAAW,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACZ,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAgC,CACjC,CAAC;AAGW,QAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAG7E,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAgB;IAChD,OAAO,CAAC,IAAI,GAAG,iBAAS,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AACD,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAgB;IAChD,OAAO,IAAI,GAAG,iBAAS,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AACD,SAAgB,MAAM,CAAC,IAAY,EAAE,IAAgB;IACnD,OAAO,IAAI,GAAG,CAAC,iBAAS,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AACD,SAAgB,SAAS,CAAC,IAAY;IAGpC,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,iBAAO,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,EAAE,GAAG,iBAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QAClD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"effectSet.js","sourceRoot":"","sources":["../../src/core/effectSet.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAGpB,YAAY,iBAA+B,EAAE;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAOD,GAAG,CAAC,MAAkB;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,aAAa,CAAC;IACxB,CAAC;IAOD,MAAM,CAAC,MAAkB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAOD,GAAG,CAAC,MAAkB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAMD,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAMD,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAMD,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/DD,8BA+DC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mixer.js","sourceRoot":"","sources":["../../src/core/mixer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { EffectCode, Product, Substance } from '../types';
2
- export declare function reverseMix(base: Product | EffectCode[], extras?: EffectCode[], maxDepth?: number): Substance[][];
3
- //# sourceMappingURL=reverse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../../src/core/reverse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AA+C/D,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE,EAC5B,MAAM,GAAE,UAAU,EAAO,EACzB,QAAQ,SAAI,GACX,SAAS,EAAE,EAAE,CAyDf"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reverseMix = reverseMix;
4
- const products_1 = require("../data/products");
5
- const rules_1 = require("../data/rules");
6
- const substances_1 = require("../data/substances");
7
- const allEffects = new Set();
8
- for (const s of Object.values(substances_1.substances))
9
- s.effect.forEach(allEffects.add, allEffects);
10
- for (const rs of Object.values(rules_1.effectRulesBySubstance))
11
- for (const r of rs) {
12
- r.ifPresent.forEach(allEffects.add, allEffects);
13
- r.ifNotPresent.forEach(allEffects.add, allEffects);
14
- Object.keys(r.replace).forEach((e) => allEffects.add(e));
15
- }
16
- const effectList = Array.from(allEffects);
17
- const effectIndex = effectList.reduce((a, e, i) => ((a[e] = i), a), {});
18
- const substanceMask = Object.fromEntries(Object.entries(substances_1.substances).map(([sub, data]) => {
19
- let m = 0n;
20
- for (const e of data.effect)
21
- m |= 1n << BigInt(effectIndex[e]);
22
- return [sub, m];
23
- }));
24
- const rules = [];
25
- for (const [sub, rs] of Object.entries(rules_1.effectRulesBySubstance)) {
26
- for (const r of rs) {
27
- let pres = 0n, abs = 0n;
28
- for (const e of r.ifPresent)
29
- pres |= 1n << BigInt(effectIndex[e]);
30
- for (const e of r.ifNotPresent)
31
- abs |= 1n << BigInt(effectIndex[e]);
32
- const [[newE, oldE]] = Object.entries(r.replace);
33
- const rem = 1n << BigInt(effectIndex[newE]);
34
- const add = 1n << BigInt(effectIndex[oldE]);
35
- rules.push({ present: pres, absent: abs, remove: rem, add, sub });
36
- }
37
- }
38
- function reverseMix(base, extras = [], maxDepth = 8) {
39
- let target = 0n;
40
- if (typeof base === 'string') {
41
- for (const e of products_1.products[base].effects) {
42
- target |= 1n << BigInt(effectIndex[e]);
43
- }
44
- }
45
- else {
46
- for (const e of base) {
47
- target |= 1n << BigInt(effectIndex[e]);
48
- }
49
- }
50
- for (const e of extras)
51
- target |= 1n << BigInt(effectIndex[e]);
52
- const results = [];
53
- const visited = new Map();
54
- let queue = [{ mask: target, path: [] }];
55
- for (let depth = 0; depth <= maxDepth; depth++) {
56
- const nextQueue = [];
57
- for (const { mask, path } of queue) {
58
- const seenDepth = visited.get(mask);
59
- if (seenDepth !== undefined && seenDepth <= depth)
60
- continue;
61
- visited.set(mask, depth);
62
- for (const [sub, m] of Object.entries(substanceMask)) {
63
- if ((mask & m) === m) {
64
- const recipe = [...path, sub];
65
- let fm = 0n;
66
- for (const s of recipe)
67
- fm |= substanceMask[s];
68
- if (fm === target)
69
- results.push(recipe);
70
- }
71
- }
72
- if (depth < maxDepth) {
73
- for (const { present, absent, remove, add, sub } of rules) {
74
- if ((mask & present) === present && (mask & absent) === 0n && (mask & remove) !== 0n) {
75
- const prev = (mask & ~remove) | add;
76
- nextQueue.push({ mask: prev, path: [...path, sub] });
77
- }
78
- }
79
- }
80
- }
81
- if (results.length)
82
- break;
83
- queue = nextQueue;
84
- if (!queue.length)
85
- break;
86
- }
87
- return results;
88
- }
89
- //# sourceMappingURL=reverse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../src/core/reverse.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../src/data/effects.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAmC;IACrD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gDAAgD;QAC7D,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,yEAAyE;QACtF,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAI;KAChB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,GAAG;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,GAAG;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gEAAgE;QAC7E,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gDAAgD;QAC7D,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,GAAG;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,sDAAsD;QACnE,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,iEAAiE;QAC9E,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,GAAG;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAI;KAChB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;KACb;IACD,EAAE,EAAE;QACF,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,yFAAyF;QAC3F,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,2EAA2E;QACxF,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,GAAG;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,sFAAsF;QACxF,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;CACF,CAAC;AAEW,QAAA,UAAU,GAA+B,MAAM,CAAC,IAAI,CAAC,eAAO,CAAC;KACvE,IAAI,EAAE;KACN,MAAM,CACL,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjB,GAAG,CAAC,IAAkB,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAgC,CACjC,CAAC;AAES,QAAA,WAAW,GAA+B,MAAM,CAAC,OAAO,CAAC,kBAAU,CAAC,CAAC,MAAM,CACtF,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;IACnB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAkB,CAAC;IACzC,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAgC,CACjC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/data/products.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAiC;IACpD,SAAS,EAAE;QACT,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,YAAY,EAAE,IAAI;KACnB;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,YAAY,EAAE,IAAI;KACnB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,GAAG;KACf;IACD,OAAO,EAAE;QACP,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AAEW,QAAA,oBAAoB,GAA4B,MAAM,CAAC,OAAO,CAAC,gBAAQ,CAAC,CAAC,MAAM,CAC1F,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IACvB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAkB,CAAC;IAC5C,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAA6B,CAC9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/data/rules.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"substances.js","sourceRoot":"","sources":["../../src/data/substances.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAkF;AAAzE,0GAAA,cAAc,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,0GAAA,cAAc,OAAA;AACvD,sCAA0D;AAAjD,sGAAA,aAAa,OAAA;AAAE,oGAAA,WAAW,OAAA;AAEnC,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,4CAAiE;AAAxD,oGAAA,QAAQ,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AACvC,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,sCAAsD;AAA7C,+GAAA,sBAAsB,OAAA"}
@@ -1,8 +0,0 @@
1
- type MaskRule = {
2
- ifPresentMask: bigint;
3
- ifNotPresentMask: bigint;
4
- replaceMask: Array<[bigint, bigint]>;
5
- };
6
- export declare const maskRulesBySubstance: Record<string, MaskRule[]>;
7
- export {};
8
- //# sourceMappingURL=maskRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"maskRules.d.ts","sourceRoot":"","sources":["../src/maskRules.ts"],"names":[],"mappings":"AAMA,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAa7B,CAAC"}
package/dist/maskRules.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maskRulesBySubstance = void 0;
4
- const bitmaps_1 = require("./bitmaps");
5
- const rules_1 = require("./data/rules");
6
- exports.maskRulesBySubstance = Object.fromEntries(Object.entries(rules_1.effectRulesBySubstance).map(([sub, rules]) => [
7
- sub,
8
- rules.map((r) => {
9
- const ip = r.ifPresent.reduce((m, e) => m | bitmaps_1.codeToBit[e], BigInt(0));
10
- const inot = r.ifNotPresent.reduce((m, e) => m | bitmaps_1.codeToBit[e], BigInt(0));
11
- const rep = [];
12
- for (const [oldE, newE] of Object.entries(r.replace)) {
13
- rep.push([bitmaps_1.codeToBit[oldE], bitmaps_1.codeToBit[newE]]);
14
- }
15
- return { ifPresentMask: ip, ifNotPresentMask: inot, replaceMask: rep };
16
- }),
17
- ]));
18
- //# sourceMappingURL=maskRules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"maskRules.js","sourceRoot":"","sources":["../src/maskRules.ts"],"names":[],"mappings":";;;AAGA,uCAAsC;AACtC,wCAAsD;AAQzC,QAAA,oBAAoB,GAA+B,MAAM,CAAC,WAAW,CAChF,MAAM,CAAC,OAAO,CAAC,8BAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAC3D,GAAG;IACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,mBAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,mBAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAA+B,EAAE,CAAC;YACnF,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,IAAI,CAAC,EAAE,mBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IACzE,CAAC,CAAC;CACH,CAAC,CAC2B,CAAC"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"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"}