@aidc-toolkit/utility 0.9.17-beta → 0.9.19-beta

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 (47) hide show
  1. package/README.md +158 -14
  2. package/dist/character-set.d.ts +24 -2
  3. package/dist/character-set.d.ts.map +1 -1
  4. package/dist/character-set.js +21 -0
  5. package/dist/character-set.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/iterable-utility.d.ts +39 -0
  11. package/dist/iterable-utility.d.ts.map +1 -0
  12. package/dist/iterable-utility.js +35 -0
  13. package/dist/iterable-utility.js.map +1 -0
  14. package/dist/locale/en/locale-strings.d.ts +16 -17
  15. package/dist/locale/en/locale-strings.d.ts.map +1 -1
  16. package/dist/locale/en/locale-strings.js +16 -17
  17. package/dist/locale/en/locale-strings.js.map +1 -1
  18. package/dist/locale/fr/locale-strings.d.ts +16 -17
  19. package/dist/locale/fr/locale-strings.d.ts.map +1 -1
  20. package/dist/locale/fr/locale-strings.js +16 -17
  21. package/dist/locale/fr/locale-strings.js.map +1 -1
  22. package/dist/locale/i18n.d.ts +2 -2
  23. package/dist/record.d.ts +3 -0
  24. package/dist/record.d.ts.map +1 -1
  25. package/dist/record.js +3 -0
  26. package/dist/record.js.map +1 -1
  27. package/dist/string.d.ts +3 -0
  28. package/dist/string.d.ts.map +1 -1
  29. package/dist/transformer.d.ts +4 -35
  30. package/dist/transformer.d.ts.map +1 -1
  31. package/dist/transformer.js +4 -31
  32. package/dist/transformer.js.map +1 -1
  33. package/package.json +5 -5
  34. package/src/character-set.ts +28 -2
  35. package/src/index.ts +1 -0
  36. package/src/iterable-utility.ts +55 -0
  37. package/src/locale/en/locale-strings.ts +16 -17
  38. package/src/locale/fr/locale-strings.ts +16 -17
  39. package/src/locale/i18n.ts +2 -2
  40. package/src/record.ts +3 -0
  41. package/src/string.ts +3 -0
  42. package/src/transformer.ts +10 -60
  43. package/test/character-set.test.ts +30 -14
  44. package/test/record.test.ts +2 -2
  45. package/test/reg-exp.test.ts +2 -2
  46. package/test/sequence.test.ts +2 -2
  47. package/test/transformer.test.ts +4 -4
@@ -1,11 +1,11 @@
1
1
  export const localeStrings = {
2
2
  Transformer: {
3
- domainMustBeGreaterThanZero: "Le domaine {{domain}} doit être supérieur à 0",
4
- tweakMustBeGreaterThanOrEqualToZero: "Le réglage {{tweak}} doit être supérieur ou égal à 0",
5
- valueMustBeGreaterThanOrEqualToZero: "La valeur {{value}} doit être supérieure ou égale à 0",
6
- valueMustBeLessThan: "La valeur {{value}} doit être inférieure à {{domain}}",
7
- minimumValueMustBeGreaterThanOrEqualToZero: "La valeur minimale {{minimumValue}} doit être supérieure ou égale à 0",
8
- maximumValueMustBeLessThan: "La valeur maximale {{maximumValue}} doit être inférieure à {{domain}}"
3
+ domainMustBeGreaterThanZero: "Le domaine {{domain, number}} doit être supérieur à 0",
4
+ tweakMustBeGreaterThanOrEqualToZero: "Le réglage {{tweak, number}} doit être supérieur ou égal à 0",
5
+ valueMustBeGreaterThanOrEqualToZero: "La valeur {{value, number}} doit être supérieure ou égale à 0",
6
+ valueMustBeLessThan: "La valeur {{value, number}} doit être inférieure à {{domain, number}}",
7
+ minimumValueMustBeGreaterThanOrEqualToZero: "La valeur minimale {{minimumValue, number}} doit être supérieure ou égale à 0",
8
+ maximumValueMustBeLessThan: "La valeur maximale {{maximumValue, number}} doit être inférieure à {{domain, number}}"
9
9
  },
10
10
  RegExpValidator: {
11
11
  stringDoesNotMatchPattern: "La chaîne {{s}} ne correspond pas au modèle"
@@ -14,17 +14,16 @@ export const localeStrings = {
14
14
  firstZeroFirstCharacter: "Le jeu de caractères doit prendre en charge zéro comme premier caractère",
15
15
  allNumericAllNumericCharacters: "Le jeu de caractères doit prendre en charge tous les caractères numériques en séquence",
16
16
  stringMustNotBeAllNumeric: "La chaîne ne doit pas être entièrement numérique",
17
- lengthMustBeGreaterThanOrEqualTo: "La longueur {{length}} doit être supérieure ou égale à {{minimumLength}}",
18
- lengthMustBeLessThanOrEqualTo: "La longueur {{length}} doit être inférieure ou égale à {{maximumLength}}",
19
- lengthMustBeEqualTo: "La longueur {{length}} doit être égale à {{exactLength}}",
20
- lengthOfComponentMustBeGreaterThanOrEqualTo: "La longueur {{length}} de {{component}} doit être supérieure ou égale à {{minimumLength}}",
21
- lengthOfComponentMustBeLessThanOrEqualTo: "La longueur {{length}} de {{component}} doit être inférieure ou égale à {{maximumLength}}",
22
- lengthOfComponentMustBeEqualTo: "La longueur {{length}} de {{component}} doit être égale à {{exactLength}}",
23
- invalidCharacterAtPosition: "Caractère non valide '{{c}}' à la position {{position}}",
24
- invalidCharacterAtPositionOfComponent: "Caractère non valide '{{c}}' à la position {{position}} de {{component}}",
25
- exclusionNotSupported: "La valeur d'exclusion de {{exclusion}} n'est pas prise en charge",
26
- invalidTweakWithAllNumericExclusion: "Le réglage ne doit pas être utilisé avec une exclusion entièrement numérique",
27
- endSequenceValueMustBeLessThanOrEqualTo: "La valeur de la séquence de fin (valeur de la séquence de début + nombre - 1) doit être inférieure à {{domaine}}"
17
+ lengthMustBeGreaterThanOrEqualTo: "La longueur {{length, number}} doit être supérieure ou égale à {{minimumLength, number}}",
18
+ lengthMustBeLessThanOrEqualTo: "La longueur {{length, number}} doit être inférieure ou égale à {{maximumLength, number}}",
19
+ lengthMustBeEqualTo: "La longueur {{length, number}} doit être égale à {{exactLength, number}}",
20
+ lengthOfComponentMustBeGreaterThanOrEqualTo: "La longueur {{length, number}} de {{component}} doit être supérieure ou égale à {{minimumLength, number}}",
21
+ lengthOfComponentMustBeLessThanOrEqualTo: "La longueur {{length, number}} de {{component}} doit être inférieure ou égale à {{maximumLength, number}}",
22
+ lengthOfComponentMustBeEqualTo: "La longueur {{length, number}} de {{component}} doit être égale à {{exactLength, number}}",
23
+ invalidCharacterAtPosition: "Caractère non valide '{{c}}' à la position {{position, number}}",
24
+ invalidCharacterAtPositionOfComponent: "Caractère non valide '{{c}}' à la position {{position, number}} de {{component}}",
25
+ exclusionNotSupported: "La valeur d'exclusion de {{exclusion, number}} n'est pas prise en charge",
26
+ endSequenceValueMustBeLessThanOrEqualTo: "La valeur de la séquence de fin (valeur de la séquence de début + nombre - 1) doit être inférieure à {{domain, number}}"
28
27
  },
29
28
  RecordValidator: {
30
29
  typeNameKeyNotFound: "{{typeName}} \"{{key}}\" introuvable"
@@ -1,4 +1,4 @@
1
- import { i18nAssertValidResources, i18nCoreInit, type I18NEnvironment } from "@aidc-toolkit/core";
1
+ import { i18nAssertValidResources, i18nCoreInit, type I18nEnvironment } from "@aidc-toolkit/core";
2
2
  import i18next, { type i18n, type Resource } from "i18next";
3
3
  import { localeStrings as enLocaleStrings } from "./en/locale-strings.js";
4
4
  import { localeStrings as frLocaleStrings } from "./fr/locale-strings.js";
@@ -39,6 +39,6 @@ export const i18nextUtility: i18n = i18next.createInstance();
39
39
  * @returns
40
40
  * Void promise.
41
41
  */
42
- export async function i18nUtilityInit(environment: I18NEnvironment, debug = false): Promise<void> {
42
+ export async function i18nUtilityInit(environment: I18nEnvironment, debug = false): Promise<void> {
43
43
  await i18nCoreInit(i18nextUtility, environment, debug, utilityNS, utilityResources);
44
44
  }
package/src/record.ts CHANGED
@@ -4,6 +4,9 @@ import type { StringValidator } from "./string.js";
4
4
  /**
5
5
  * Record validator. Validation is performed against a record with a string key type and throws an error if the key is
6
6
  * not found.
7
+ *
8
+ * @template T
9
+ * Property type.
7
10
  */
8
11
  export class RecordValidator<T> implements StringValidator {
9
12
  /**
package/src/string.ts CHANGED
@@ -7,6 +7,9 @@ export interface StringValidation {
7
7
 
8
8
  /**
9
9
  * String validator interface.
10
+ *
11
+ * @template V
12
+ * String validation type.
10
13
  */
11
14
  export interface StringValidator<V extends StringValidation = StringValidation> {
12
15
  /**
@@ -1,3 +1,4 @@
1
+ import { type IndexedCallback, mapIterable } from "./iterable-utility.js";
1
2
  import { i18nextUtility } from "./locale/i18n.js";
2
3
  import { Sequence } from "./sequence.js";
3
4
 
@@ -10,38 +11,18 @@ export type TransformerPrimitive = string | number | bigint | boolean;
10
11
  * Transformer input type, one of:
11
12
  *
12
13
  * - TInput (primitive type)
13
- * - Iterable<TInput>
14
+ * - Iterable\<TInput\>
14
15
  *
15
16
  * @template TInput
16
17
  * Transformer input primitive type.
17
18
  */
18
19
  export type TransformerInput<TInput extends TransformerPrimitive> = TInput | Iterable<TInput>;
19
20
 
20
- /**
21
- * Transformer callback, used to convert transformed value to its final value.
22
- *
23
- * @template TInput
24
- * Transformer input primitive type.
25
- *
26
- * @template TOutput
27
- * Transformer output type.
28
- *
29
- * @param input
30
- * Input value.
31
- *
32
- * @param index
33
- * Index in sequence (0 for single transformation).
34
- *
35
- * @returns
36
- * Output value.
37
- */
38
- export type TransformerCallback<TInput extends TransformerPrimitive, TOutput> = (input: TInput, index: number) => TOutput;
39
-
40
21
  /**
41
22
  * Transformer output, based on transformer input:
42
23
  *
43
24
  * - If type TTransformerInput is primitive, result is type TOutput.
44
- * - If type TTransformerInput is Iterable, result is type Iterable<TOutput>.
25
+ * - If type TTransformerInput is Iterable, result is type Iterable\<TOutput\>.
45
26
  *
46
27
  * @template TTransformerInput
47
28
  * Transformer input type.
@@ -49,38 +30,7 @@ export type TransformerCallback<TInput extends TransformerPrimitive, TOutput> =
49
30
  * @template TOutput
50
31
  * Output base type.
51
32
  */
52
- export type TransformerOutput<TTransformerInput extends TransformerInput<TransformerPrimitive>, TOutput> =
53
- TTransformerInput extends (TTransformerInput extends TransformerInput<infer TInput> ? TInput : never) ? TOutput : Iterable<TOutput>;
54
-
55
- /**
56
- * Transform an input iterable to an output iterable that applies a transformer callback to each value in the input.
57
- *
58
- * @param values
59
- * Input values iterable.
60
- *
61
- * @param transformerCallback
62
- * Callback to transform input value to output value.
63
- *
64
- * @returns
65
- * Output values iterable.
66
- */
67
- export function transformIterable<TInput extends TransformerPrimitive, TOutput>(values: Iterable<TInput>, transformerCallback: TransformerCallback<TInput, TOutput>): Iterable<TOutput> {
68
- return {
69
- /**
70
- * Iterable implementation.
71
- *
72
- * @yields
73
- * Next output value.
74
- */
75
- * [Symbol.iterator](): Generator<TOutput> {
76
- let index = 0;
77
-
78
- for (const value of values) {
79
- yield transformerCallback(value, index++);
80
- }
81
- }
82
- };
83
- }
33
+ export type TransformerOutput<TTransformerInput extends TransformerInput<TransformerPrimitive>, TOutput> = TTransformerInput extends (TTransformerInput extends TransformerInput<infer TInput> ? TInput : never) ? TOutput : Iterable<TOutput>;
84
34
 
85
35
  /**
86
36
  * Transformer that transforms values in a numeric domain to values in a range equal to the domain or to another range
@@ -234,7 +184,7 @@ export abstract class Transformer {
234
184
  * @returns
235
185
  * Transformed value.
236
186
  */
237
- private validateDoForwardCallback<TOutput>(transformerCallback: TransformerCallback<bigint, TOutput>, value: number | bigint, index: number): TOutput {
187
+ private validateDoForwardCallback<TOutput>(transformerCallback: IndexedCallback<bigint, TOutput>, value: number | bigint, index?: number): TOutput {
238
188
  return transformerCallback(this.validateDoForward(value), index);
239
189
  };
240
190
 
@@ -272,15 +222,15 @@ export abstract class Transformer {
272
222
  * @returns
273
223
  * Transformed value(s).
274
224
  */
275
- forward<TTransformerInput extends TransformerInput<number | bigint>, TOutput>(valueOrValues: TTransformerInput, transformerCallback: TransformerCallback<bigint, TOutput>): TransformerOutput<TTransformerInput, TOutput>;
225
+ forward<TTransformerInput extends TransformerInput<number | bigint>, TOutput>(valueOrValues: TTransformerInput, transformerCallback: IndexedCallback<bigint, TOutput>): TransformerOutput<TTransformerInput, TOutput>;
276
226
 
277
227
  // eslint-disable-next-line jsdoc/require-jsdoc -- Implementation of overloaded signatures.
278
- forward<TTransformerInput extends TransformerInput<number | bigint>, TOutput>(valueOrValues: TTransformerInput, transformerCallback?: TransformerCallback<bigint, TOutput>): TransformerOutput<TTransformerInput, TOutput> {
228
+ forward<TTransformerInput extends TransformerInput<number | bigint>, TOutput>(valueOrValues: TTransformerInput, transformerCallback?: IndexedCallback<bigint, TOutput>): TransformerOutput<TTransformerInput, TOutput> {
279
229
  // TODO Refactor type when https://github.com/microsoft/TypeScript/pull/56941 released.
280
230
  let result: bigint | TOutput | Iterable<bigint> | Iterable<TOutput>;
281
231
 
282
232
  if (typeof valueOrValues !== "object") {
283
- result = transformerCallback === undefined ? this.validateDoForward(valueOrValues) : this.validateDoForwardCallback(transformerCallback, valueOrValues, 0);
233
+ result = transformerCallback === undefined ? this.validateDoForward(valueOrValues) : this.validateDoForwardCallback(transformerCallback, valueOrValues);
284
234
  } else if (valueOrValues instanceof Sequence) {
285
235
  if (valueOrValues.minimumValue < 0n) {
286
236
  throw new RangeError(i18nextUtility.t("Transformer.minimumValueMustBeGreaterThanOrEqualToZero", {
@@ -295,9 +245,9 @@ export abstract class Transformer {
295
245
  }));
296
246
  }
297
247
 
298
- result = transformerCallback === undefined ? transformIterable(valueOrValues, value => this.doForward(value)) : transformIterable(valueOrValues, (value, index) => transformerCallback(this.doForward(value), index));
248
+ result = transformerCallback === undefined ? mapIterable(valueOrValues, value => this.doForward(value)) : mapIterable(valueOrValues, (value, index) => transformerCallback(this.doForward(value), index));
299
249
  } else {
300
- result = transformerCallback === undefined ? transformIterable(valueOrValues, value => this.validateDoForward(value)) : transformIterable(valueOrValues, (value, index) => this.validateDoForwardCallback(transformerCallback, value, index));
250
+ result = transformerCallback === undefined ? mapIterable(valueOrValues, value => this.validateDoForward(value)) : mapIterable(valueOrValues, (value, index) => this.validateDoForwardCallback(transformerCallback, value, index));
301
251
  }
302
252
 
303
253
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Type determination is handled above.
@@ -1,20 +1,27 @@
1
- import { I18NEnvironment } from "@aidc-toolkit/core";
1
+ import { I18nEnvironment } from "@aidc-toolkit/core";
2
2
  import { describe, expect, test } from "vitest";
3
3
  import {
4
- ALPHABETIC_CREATOR,
5
- ALPHANUMERIC_CREATOR,
6
- CharacterSetCreator,
4
+ ALPHABETIC_CREATOR, ALPHABETIC_VALIDATOR,
5
+ ALPHANUMERIC_CREATOR, ALPHANUMERIC_VALIDATOR,
6
+ CharacterSetCreator, type CharacterSetValidator,
7
7
  Exclusion,
8
- HEXADECIMAL_CREATOR,
8
+ HEXADECIMAL_CREATOR, HEXADECIMAL_VALIDATOR,
9
9
  i18nUtilityInit,
10
- NUMERIC_CREATOR,
10
+ NUMERIC_CREATOR, NUMERIC_VALIDATOR,
11
11
  Sequence
12
12
  } from "../src";
13
13
 
14
- await i18nUtilityInit(I18NEnvironment.CLI);
14
+ await i18nUtilityInit(I18nEnvironment.CLI);
15
15
 
16
- function testCharacterSetCreator(name: string, characterSetCreator: CharacterSetCreator, characterSetSize: number, length: number, excludeFirstZero: boolean, excludeAllNumeric: boolean): void {
16
+ // Type is used to ensure that testCharacterSet() is not called with creator twice.
17
+ type ValidatorNotCreator<T extends CharacterSetValidator> = T extends CharacterSetCreator ? never : T;
18
+
19
+ function testCharacterSet<T extends CharacterSetValidator>(name: string, characterSetCreator: CharacterSetCreator, characterSetValidator: ValidatorNotCreator<T>, characterSetSize: number, length: number, excludeFirstZero: boolean, excludeAllNumeric: boolean): void {
17
20
  describe(name, () => {
21
+ test("Validator is creator", () => {
22
+ expect(characterSetValidator).toBe(characterSetCreator);
23
+ });
24
+
18
25
  test("Character set", () => {
19
26
  characterSetCreator.characterSet.forEach((c, index) => {
20
27
  expect(c).not.toBeUndefined();
@@ -77,6 +84,9 @@ function testCharacterSetCreator(name: string, characterSetCreator: CharacterSet
77
84
 
78
85
  expect(s.length).toBe(length);
79
86
 
87
+ expect(() => {
88
+ characterSetValidator.validate(s);
89
+ }).not.toThrow(RangeError);
80
90
  expect(characterSetCreator.valueFor(s, exclusion)).toBe(BigInt(index));
81
91
 
82
92
  index++;
@@ -104,6 +114,9 @@ function testCharacterSetCreator(name: string, characterSetCreator: CharacterSet
104
114
  expect(sequenceSet.has(s)).toBe(false);
105
115
  sequenceSet.add(s);
106
116
 
117
+ expect(() => {
118
+ characterSetValidator.validate(s);
119
+ }).not.toThrow(RangeError);
107
120
  expect(characterSetCreator.valueFor(s, exclusion, 123456n)).toBe(BigInt(domain - index - 1));
108
121
 
109
122
  index++;
@@ -198,12 +211,15 @@ describe("Exclusion", () => {
198
211
  });
199
212
  });
200
213
 
201
- testCharacterSetCreator("Numeric", NUMERIC_CREATOR, 10, 4, true, false);
202
- testCharacterSetCreator("Hexadecimal", HEXADECIMAL_CREATOR, 16, 4, true, true);
203
- testCharacterSetCreator("Alphabetic", ALPHABETIC_CREATOR, 26, 3, false, false);
204
- testCharacterSetCreator("Alphanumeric", ALPHANUMERIC_CREATOR, 36, 3, true, true);
205
- testCharacterSetCreator("Middle numeric", new CharacterSetCreator([
214
+ testCharacterSet("Numeric", NUMERIC_CREATOR, NUMERIC_VALIDATOR, 10, 4, true, false);
215
+ testCharacterSet("Hexadecimal", HEXADECIMAL_CREATOR, HEXADECIMAL_VALIDATOR, 16, 4, true, true);
216
+ testCharacterSet("Alphabetic", ALPHABETIC_CREATOR, ALPHABETIC_VALIDATOR, 26, 3, false, false);
217
+ testCharacterSet("Alphanumeric", ALPHANUMERIC_CREATOR, ALPHANUMERIC_VALIDATOR, 36, 3, true, true);
218
+
219
+ const middleNumericCreator = new CharacterSetCreator([
206
220
  "(", ")",
207
221
  "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
208
222
  "<", ">"
209
- ], Exclusion.AllNumeric), 14, 4, false, true);
223
+ ], Exclusion.AllNumeric);
224
+
225
+ testCharacterSet("Middle numeric", middleNumericCreator, middleNumericCreator as CharacterSetValidator, 14, 4, false, true);
@@ -1,8 +1,8 @@
1
- import { I18NEnvironment } from "@aidc-toolkit/core";
1
+ import { I18nEnvironment } from "@aidc-toolkit/core";
2
2
  import { describe, expect, test } from "vitest";
3
3
  import { i18nUtilityInit, RecordValidator } from "../src";
4
4
 
5
- await i18nUtilityInit(I18NEnvironment.CLI);
5
+ await i18nUtilityInit(I18nEnvironment.CLI);
6
6
 
7
7
  describe("Record validator", () => {
8
8
  enum StringEnum {
@@ -1,8 +1,8 @@
1
- import { I18NEnvironment } from "@aidc-toolkit/core";
1
+ import { I18nEnvironment } from "@aidc-toolkit/core";
2
2
  import { describe, expect, test } from "vitest";
3
3
  import { i18nUtilityInit, RegExpValidator } from "../src";
4
4
 
5
- await i18nUtilityInit(I18NEnvironment.CLI);
5
+ await i18nUtilityInit(I18nEnvironment.CLI);
6
6
 
7
7
  describe("Regular expression validator", () => {
8
8
  test("Validation", () => {
@@ -1,8 +1,8 @@
1
- import { I18NEnvironment } from "@aidc-toolkit/core";
1
+ import { I18nEnvironment } from "@aidc-toolkit/core";
2
2
  import { describe, expect, test } from "vitest";
3
3
  import { i18nUtilityInit, Sequence } from "../src";
4
4
 
5
- await i18nUtilityInit(I18NEnvironment.CLI);
5
+ await i18nUtilityInit(I18nEnvironment.CLI);
6
6
 
7
7
  describe("Sequence", () => {
8
8
  const sequence1 = new Sequence(10, 20);
@@ -1,8 +1,8 @@
1
- import { I18NEnvironment } from "@aidc-toolkit/core";
1
+ import { I18nEnvironment } from "@aidc-toolkit/core";
2
2
  import { describe, expect, test } from "vitest";
3
3
  import { EncryptionTransformer, i18nUtilityInit, IdentityTransformer, Sequence, Transformer } from "../src";
4
4
 
5
- await i18nUtilityInit(I18NEnvironment.CLI);
5
+ await i18nUtilityInit(I18nEnvironment.CLI);
6
6
 
7
7
  function testTransformer(domain: number, tweak?: number, callback?: (value: bigint, forwardValue: bigint) => void): void {
8
8
  const transformer = Transformer.get(domain, tweak);
@@ -59,7 +59,7 @@ describe("Identity", () => {
59
59
  expect(transformer instanceof IdentityTransformer).toBe(true);
60
60
  expect(Transformer.get(1000n)).toBe(transformer);
61
61
 
62
- expect(transformer.domain).toBe(BigInt(1000n));
62
+ expect(transformer.domain).toBe(1000n);
63
63
  });
64
64
 
65
65
  test("Reversible", () => {
@@ -84,7 +84,7 @@ describe("Encryption", () => {
84
84
  expect(transformer instanceof EncryptionTransformer).toBe(true);
85
85
  expect(Transformer.get(1000n, 1234n)).toBe(transformer);
86
86
 
87
- expect(transformer.domain).toBe(BigInt(1000n));
87
+ expect(transformer.domain).toBe(1000n);
88
88
 
89
89
  const transformer0 = Transformer.get(1000, 0);
90
90