@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
package/README.md CHANGED
@@ -2,25 +2,169 @@
2
2
 
3
3
  **Copyright © 2024-2025 Dolphin Data Development Ltd. and AIDC Toolkit contributors**
4
4
 
5
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
6
- License. You may obtain a copy of the License at
5
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
7
6
 
8
- https://www.apache.org/licenses/LICENSE-2.0
7
+ https://www.apache.org/licenses/LICENSE-2.0
9
8
 
10
- Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
11
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
9
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
12
10
 
13
11
  ## Overview
14
12
 
15
- ⚠️ **This software is in beta**, with production release is scheduled for 2024Q4. To follow the status of that and other
16
- projects, go to the AIDC Toolkit [projects](https://github.com/orgs/aidc-toolkit/projects) page.
13
+ > [!WARNING]
14
+ >
15
+ > **This software is in beta**, with production release is scheduled for 2025Q4. To follow the status of this and other projects, go to the AIDC Toolkit [projects](https://github.com/orgs/aidc-toolkit/projects) page.
17
16
 
18
- The AIDC Toolkit `utility` package provides functionality that is not specific to AIDC but is nevertheless required by
19
- other AIDC Toolkit packages:
17
+ The AIDC Toolkit `utility` package provides classes to manipulate integers and strings, independently of any AIDC problem domain. The package has been designed to maximize performance and minimize memory by reducing many of the typical AIDC requirements, such as serial number generation, to on-demand generation using the JavaScript [`Generator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator) type.
20
18
 
21
- - Number transformation
22
- - String validation
23
- - String creation
19
+ To provide the most flexibility and to handle the most significant demands of the AIDC problem domain, the AIDC Toolkit uses the JavaScript `bigint` type, with many functions converting from the lower-range `number` type if provided. This gives applications significant flexibility at a small performance cost inherent in `bigint` operations.
24
20
 
25
- A comprehensive overview of this package may be found in the [AIDC Toolkit
26
- documentation](https://aidc-toolkit.github.io).
21
+ ## Integers
22
+
23
+ ### Sequence
24
+
25
+ Many of AIDC processes can be reduced to a simple statement about sequences:
26
+
27
+ * "Give me a million serial numbers for manufacturing."
28
+ * "Generate a handful of GTINs for my new product line."
29
+ * "Label the containers in the shipping area with SSCCs."
30
+
31
+ Each statement has a quantity and an output. Implicit in them is the requirement that the generated output be unique, not only within itself, but also within any previous outputs generated. A [`Sequence`](https://aidc-toolkit.com/api/Utility/classes/Sequence.html) is simply a utility to generate a sequence of integers given a start value and a count.
32
+
33
+ > [!TIP]
34
+ >
35
+ > The AIDC Toolkit is not responsible for maintaining the history of any sequence. It is up to the application to ensure that the start value and count don't overlap with any other start value and count for a sequence used for the same purpose.
36
+
37
+ #### Creating and using a sequence
38
+
39
+ 1. Create a sequence with a start value and a count. The count is typically positive, which means that the sequence runs from the start value up. If negative, the sequence runs from the start value down.
40
+ ```typescript
41
+ // Sequence starts at 33,000 and will iterate 1,000 times.
42
+ const sequence = new Sequence(33000, 1000);
43
+ ```
44
+ 1. Use the sequence.
45
+ * Use it in a for loop.
46
+ ```typescript
47
+ for (const value of sequence) {
48
+ console.log(value);
49
+ }
50
+ ```
51
+ * Transform it using an `Iterator` helper method.
52
+ ```typescript
53
+ const sum = Iterator.from(sequence).reduce((accumulator, value) => accumulator + value, 0);
54
+ ```
55
+ * Pass it to a function.
56
+ ```typescript
57
+ // Crate a sequence of 10-character hexadecimal strings.
58
+ const stringSequence = HEXADECIMAL_STRING_CREATOR.create(10, sequence);
59
+ ```
60
+
61
+ ### Transformer
62
+
63
+ A transformer transforms values in a numeric domain to values in a range equal to the domain or to another range defined by a callback function.
64
+
65
+ There are two types of transformers defined in the AIDC Toolkit: the identity transformer and the encryption transformer. Regardless of the type, before any input value is transformed, it is validated against the domain provided when constructing the transformer; if the input value is less than zero or greater than or equal to the domain, an error is thrown.
66
+
67
+ The identity transformer simply maps any input value to itself as the output value.
68
+
69
+ The encryption transformer maps an input value to an output value resulting from repeated shuffle and xor operations defined by a tweak. In cryptography, a tweak is a value that alters an operation to change or "tweak" the output in a predictable and unique way that is hard to reverse engineer. Normally, a tweak works side by side with a password to generate a cryptographic key to ensure that no two systems can produce the same output from the same input and password; each system defines its own tweak and the password is kept by the user. Because the tweak is applied to every encryption operation, it is inherently less secure (e.g., a system administrator may know the tweak but that's not enough to compromise any user's encryption), but for the purposes of the AIDC Toolkit, it is secure enough.
70
+
71
+ Suppose that you're manufacturing a product that is valuable enough to be of interest to counterfeiters. To protect the product, you want to generate a unique serial number for each one you put on the market. If anyone submits a warranty claim, the serial number will tell you whether the product is legitimate.
72
+
73
+ You expect that you will manufacture at most 1,000,000 units of the product before releasing an upgrade, so your serial numbers are going to be numeric only and 6 digits long. If you generate the serial numbers in sequence, then generating 10 of them starting from unit 200,000 results in the following: 200000, 200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 200009.
74
+
75
+ ```typescript
76
+ // Transformer has a domain of 1,000,000; no tweak means that the identity transformer is used.
77
+ for (const value of Transformer.get(1000000).forward(new Sequence(200000, 10))) {
78
+ console.log(value);
79
+ }
80
+ ```
81
+
82
+ The sequence is predictable and a counterfeiter can easily guess at valid serial numbers, which will cause problems for distributors and retailers when they see duplicates in the supply chain, problems for your customers who believe they are buying a legitimate product, and problems for you when you can't easily distinguish legitimate from counterfeit.
83
+
84
+ The first thing you need to do is put some space between your serial numbers, to make guessing difficult. Let's say that in this case you make serial numbers 8 digits long, which means you have 100 times the capacity of serial numbers as of your expected manufacturing run. Next, you use the encryption transformer, with the tweak set to some random value (which you have to save and reuse to ensure that you don't generate any duplicates). Generating 10 serial numbers starting from unit 200,000 results in the following: 14608575, 00118914, 14609085, 00250498, 07625339, 85755635, 41179259, 67532896, 02000912, 19087354.
85
+
86
+ ```typescript
87
+ // Transformer has a domain of 100,000,000; tweak means that the encryption transformer is used.
88
+ for (const value of Transformer.get(100000000, 8675309).forward(new Sequence(200000, 10))) {
89
+ console.log(value);
90
+ }
91
+ ```
92
+
93
+ The sequence is statistically random and a counterfeiter is highly unlikely to guess at valid serial numbers, which will make detection of illegitimate serial numbers significantly easier for all parties.
94
+
95
+ ### Sequence and Transformer
96
+
97
+ The [`Transformer`](https://aidc-toolkit.com/api/Utility/classes/Transformer.html) class underlies most AIDC Toolkit operations involved in string creation. The [`forward()`](https://aidc-toolkit.com/api/Utility/classes/Transformer.html#forward) method takes either a single `number` or `bigint` value or an `Iterable<number | bigint>` of values. This provides maximum flexibility, but it comes at a cost. All inputs are validated prior to transformation, which can add to the system load when transforming a large number of values.
98
+
99
+ When dealing with `Iterable` inputs, transformers will recognize [`Sequence`](https://aidc-toolkit.com/api/Utility/classes/Sequence.html) objects and validate the start value and count at the beginning rather than each value individually as it is transformed. This reduces the number of validations from however many entries there are in an `Iterable` object to two. It also ensures that the client code deals with errors at the very beginning rather than in the middle of its processing.
100
+
101
+ ```mermaid
102
+ flowchart TD
103
+ ValueOrValuesType{"Value(s) type"}
104
+ ValueOrValuesType -->|Single value| ValidateSingleValue{{Validate value}}
105
+ ValidateSingleValue --> ProcessSingleValue[[Process value]]
106
+ ProcessSingleValue --> Return["Return result(s)"]
107
+ ValueOrValuesType -->|Iterable| IterableType{Iterable type}
108
+ IterableType -->|Sequence| ValidateMinimumValue{{Validate minimum value}}
109
+ ValidateMinimumValue --> ValidateMaximumValue{{Validate maximum value}}
110
+ ValidateMaximumValue --> ForEachSequenceValue[/For each value\]
111
+ ForEachSequenceValue --> ProcessSequenceValue[[Process value]]
112
+ ProcessSequenceValue --> NextSequenceValue[\Next/]
113
+ NextSequenceValue -->|Not done| ProcessSequenceValue
114
+ NextSequenceValue -->|Done| Return
115
+ IterableType -->|Not Sequence| ForEachIterableValue[/For each value\]
116
+ ForEachIterableValue --> ValidateIterableValue{{Validate value}}
117
+ ValidateIterableValue --> ProcessIterableValue[[Process value]]
118
+ ProcessIterableValue --> NextIterableValue[\Next/]
119
+ NextIterableValue -->|Not done| ValidateIterableValue
120
+ NextIterableValue -->|Done| Return
121
+ ```
122
+
123
+ ## Strings
124
+
125
+ ### String validation
126
+
127
+ Validation is a requirement for any application. The AIDC Toolkit provides a simple but extensible validation framework built on two interfaces: [`StringValidation`](https://aidc-toolkit.com/api/Utility/interfaces/StringValidation.html) and [`StringValidator`](https://aidc-toolkit.com/api/Utility/interfaces/StringValidator.html). The two are related in that an interface extending `StringValidation` may be passed as a parameter to the [`validate()`](https://aidc-toolkit.com/api/Utility/interfaces/StringValidator#validate.html) method of a class implementing `StringValidator` to restrict validation further than the default. For example, [`CharacterSetValidator`](https://aidc-toolkit.com/api/Utility/classes/CharacterSetValidator.html) accepts a [`CharacterSetValidation`](https://aidc-toolkit.com/api/Utility/interfaces/CharacterSetValidation.html) object that can constrain the length and limit the way numeric values are expressed (e.g., exclude zero as the first character or exclude strings that are all numeric).
128
+
129
+ The `StringValidation` interface is a placeholder only; it's empty, which, in a structurally typed language like TypeScript, matches any object, so it's up to `StringValidator` implementations to decide what the implementation type should be.
130
+
131
+ If a string passed to a `validate()` method is valid, the method returns; if not, a [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError) is thrown.
132
+
133
+ #### Predefined validators
134
+
135
+ The following validator types are predefined:
136
+
137
+ * [Regular expression](https://aidc-toolkit.com/api/Utility/classes/RegExpValidator.html)
138
+ * Validates a string against a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).
139
+ * [Record](https://aidc-toolkit.com/api/Utility/classes/RecordValidator.html)
140
+ * Validates a string by looking it up in a [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type) object.
141
+ * [Character set](https://aidc-toolkit.com/api/Utility/classes/CharacterSetValidator.html)
142
+ * Validates a string by ensuring that each character is within a defined character set, with additional validation parameters optionally constraining the length and limiting the way numeric values are expressed. Predefined character set validators are:
143
+ * [Numeric (0-9)](https://aidc-toolkit.com/api/Utility/variables/NUMERIC_VALIDATOR.html)
144
+ * [Hexadecimal (0-9, A-F)](https://aidc-toolkit.com/api/Utility/variables/HEXADECIMAL_VALIDATOR.html)
145
+ * [Alphabetic (A-Z)](https://aidc-toolkit.com/api/Utility/variables/ALPHABETIC_VALIDATOR.html)
146
+ * [Alphanumeric (0-9, A-Z)](https://aidc-toolkit.com/api/Utility/variables/ALPHANUMERIC_VALIDATOR.html)
147
+
148
+ ### String creation
149
+
150
+ String creation varies depending on the type of string being created, so there's no single interface that can be implemented. There is a pattern, however:
151
+
152
+ * Creation is done via a `create()` method. If the class can create more than one type of string, it can define additional `create*NNN*()` methods as appropriate.
153
+ * The `create()` (or `create*NNN*()`) method is overloaded, with a parameter accepting either a single value to create a single string or multiple values (as `Iterable`) to create multiple strings.
154
+ * If the value to create a string is numeric (`number` or `bigint`), the method uses a [`Transformer`](https://aidc-toolkit.com/api/Utility/classes/Transformer.html) and supports sparse creation.
155
+ * Because of this, passing in a [`Sequence`](https://aidc-toolkit.com/api/Utility/classes/Sequence.html) is strongly recommended when creating multiple strings.
156
+
157
+ #### Predefined creators
158
+
159
+ The following creator types are predefined:
160
+
161
+ * [Character set](https://aidc-toolkit.com/api/Utility/classes/CharacterSetCreator.html)
162
+ * Creates strings by mapping numeric (`number` and `bigint`) values to fixed-length string representations using the character set as the "digits" of the string. Predefined character set creators are:
163
+ * [Numeric (0-9)](https://aidc-toolkit.com/api/Utility/variables/NUMERIC_CREATOR.html)
164
+ * [Hexadecimal (0-9, A-F)](https://aidc-toolkit.com/api/Utility/variables/HEXADECIMAL_CREATOR.html)
165
+ * [Alphabetic (A-Z)](https://aidc-toolkit.com/api/Utility/variables/ALPHABETIC_CREATOR.html)
166
+ * [Alphanumeric (0-9, A-Z)](https://aidc-toolkit.com/api/Utility/variables/ALPHANUMERIC_CREATOR.html)
167
+
168
+ #### Output restriction
169
+
170
+ As with string validators, string creators can restrict their output to meet the needs of certain use cases. For example, when creating serial numbers, it may be necessary to generate values that either don't start with a zero (to prevent leading zeros from being dropped by other applications) or that aren't composed entirely of digits (to prevent strings from being interpreted as numbers).
@@ -1,5 +1,6 @@
1
+ import type { IndexedCallback } from "./iterable-utility.js";
1
2
  import type { StringValidation, StringValidator } from "./string.js";
2
- import { type TransformerCallback, type TransformerInput, type TransformerOutput } from "./transformer.js";
3
+ import { type TransformerInput, type TransformerOutput } from "./transformer.js";
3
4
  /**
4
5
  * Exclusion options for validating and creating strings based on character sets.
5
6
  */
@@ -242,6 +243,9 @@ export declare class CharacterSetCreator extends CharacterSetValidator {
242
243
  * Create string(s) by mapping value(s) to the equivalent characters in the character set across the length of the
243
244
  * string.
244
245
  *
246
+ * @template TTransformerInput
247
+ * Transformer input type.
248
+ *
245
249
  * @param length
246
250
  * Required string length.
247
251
  *
@@ -261,7 +265,7 @@ export declare class CharacterSetCreator extends CharacterSetValidator {
261
265
  * @returns
262
266
  * String(s) created from the value(s).
263
267
  */
264
- create<TTransformerInput extends TransformerInput<number | bigint>>(length: number, valueOrValues: TTransformerInput, exclusion?: Exclusion, tweak?: number | bigint, creatorCallback?: TransformerCallback<string, string>): TransformerOutput<TTransformerInput, string>;
268
+ create<TTransformerInput extends TransformerInput<number | bigint>>(length: number, valueOrValues: TTransformerInput, exclusion?: Exclusion, tweak?: number | bigint, creatorCallback?: IndexedCallback<string, string>): TransformerOutput<TTransformerInput, string>;
265
269
  /**
266
270
  * Determine the value for a string.
267
271
  *
@@ -284,18 +288,36 @@ export declare class CharacterSetCreator extends CharacterSetValidator {
284
288
  * Numeric creator. Character set is 0-9. Supports {@link Exclusion.FirstZero}.
285
289
  */
286
290
  export declare const NUMERIC_CREATOR: CharacterSetCreator;
291
+ /**
292
+ * Numeric validator. Character set is 0-9. Supports {@link Exclusion.FirstZero}.
293
+ */
294
+ export declare const NUMERIC_VALIDATOR: CharacterSetValidator;
287
295
  /**
288
296
  * Hexadecimal creator. Character set is 0-9, A-F. Supports {@link Exclusion.FirstZero} and {@link
289
297
  * Exclusion.AllNumeric}.
290
298
  */
291
299
  export declare const HEXADECIMAL_CREATOR: CharacterSetCreator;
300
+ /**
301
+ * Hexadecimal validator. Character set is 0-9, A-F. Supports {@link Exclusion.FirstZero} and {@link
302
+ * Exclusion.AllNumeric}.
303
+ */
304
+ export declare const HEXADECIMAL_VALIDATOR: CharacterSetValidator;
292
305
  /**
293
306
  * Alphabetic creator. Character set is A-Z.
294
307
  */
295
308
  export declare const ALPHABETIC_CREATOR: CharacterSetCreator;
309
+ /**
310
+ * Alphabetic validator. Character set is A-Z.
311
+ */
312
+ export declare const ALPHABETIC_VALIDATOR: CharacterSetValidator;
296
313
  /**
297
314
  * Alphanumeric creator. Character set is 0-9, A-Z. Supports {@link Exclusion.FirstZero} and {@link
298
315
  * Exclusion.AllNumeric}.
299
316
  */
300
317
  export declare const ALPHANUMERIC_CREATOR: CharacterSetCreator;
318
+ /**
319
+ * Alphanumeric validator. Character set is 0-9, A-Z. Supports {@link Exclusion.FirstZero} and {@link
320
+ * Exclusion.AllNumeric}.
321
+ */
322
+ export declare const ALPHANUMERIC_VALIDATOR: CharacterSetValidator;
301
323
  //# sourceMappingURL=character-set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"character-set.d.ts","sourceRoot":"","sources":["../src/character-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character-set.d.ts","sourceRoot":"","sources":["../src/character-set.ts"],"names":[],"mappings":"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"}
@@ -424,6 +424,9 @@ export class CharacterSetCreator extends CharacterSetValidator {
424
424
  * Create string(s) by mapping value(s) to the equivalent characters in the character set across the length of the
425
425
  * string.
426
426
  *
427
+ * @template TTransformerInput
428
+ * Transformer input type.
429
+ *
427
430
  * @param length
428
431
  * Required string length.
429
432
  *
@@ -532,6 +535,10 @@ export class CharacterSetCreator extends CharacterSetValidator {
532
535
  export const NUMERIC_CREATOR = new CharacterSetCreator([
533
536
  "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
534
537
  ], Exclusion.FirstZero);
538
+ /**
539
+ * Numeric validator. Character set is 0-9. Supports {@link Exclusion.FirstZero}.
540
+ */
541
+ export const NUMERIC_VALIDATOR = NUMERIC_CREATOR;
535
542
  /**
536
543
  * Hexadecimal creator. Character set is 0-9, A-F. Supports {@link Exclusion.FirstZero} and {@link
537
544
  * Exclusion.AllNumeric}.
@@ -540,6 +547,11 @@ export const HEXADECIMAL_CREATOR = new CharacterSetCreator([
540
547
  "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
541
548
  "A", "B", "C", "D", "E", "F"
542
549
  ], Exclusion.FirstZero, Exclusion.AllNumeric);
550
+ /**
551
+ * Hexadecimal validator. Character set is 0-9, A-F. Supports {@link Exclusion.FirstZero} and {@link
552
+ * Exclusion.AllNumeric}.
553
+ */
554
+ export const HEXADECIMAL_VALIDATOR = HEXADECIMAL_CREATOR;
543
555
  /**
544
556
  * Alphabetic creator. Character set is A-Z.
545
557
  */
@@ -547,6 +559,10 @@ export const ALPHABETIC_CREATOR = new CharacterSetCreator([
547
559
  "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
548
560
  "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
549
561
  ]);
562
+ /**
563
+ * Alphabetic validator. Character set is A-Z.
564
+ */
565
+ export const ALPHABETIC_VALIDATOR = ALPHABETIC_CREATOR;
550
566
  /**
551
567
  * Alphanumeric creator. Character set is 0-9, A-Z. Supports {@link Exclusion.FirstZero} and {@link
552
568
  * Exclusion.AllNumeric}.
@@ -556,4 +572,9 @@ export const ALPHANUMERIC_CREATOR = new CharacterSetCreator([
556
572
  "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
557
573
  "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
558
574
  ], Exclusion.FirstZero, Exclusion.AllNumeric);
575
+ /**
576
+ * Alphanumeric validator. Character set is 0-9, A-Z. Supports {@link Exclusion.FirstZero} and {@link
577
+ * Exclusion.AllNumeric}.
578
+ */
579
+ export const ALPHANUMERIC_VALIDATOR = ALPHANUMERIC_CREATOR;
559
580
  //# sourceMappingURL=character-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"character-set.js","sourceRoot":"","sources":["../src/character-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character-set.js","sourceRoot":"","sources":["../src/character-set.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@
16
16
  */
17
17
  export * from "./locale/i18n.js";
18
18
  export * from "./sequence.js";
19
+ export * from "./iterable-utility.js";
19
20
  export * from "./transformer.js";
20
21
  export type * from "./string.js";
21
22
  export * from "./reg-exp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,mBAAmB,aAAa,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,mBAAmB,aAAa,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@
16
16
  */
17
17
  export * from "./locale/i18n.js";
18
18
  export * from "./sequence.js";
19
+ export * from "./iterable-utility.js";
19
20
  export * from "./transformer.js";
20
21
  export * from "./reg-exp.js";
21
22
  export * from "./record.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Indexed callback, used to map an input and optionally its index in an iterable to an output.
3
+ *
4
+ * @template TInput
5
+ * Input type.
6
+ *
7
+ * @template TOutput
8
+ * Output type.
9
+ *
10
+ * @param input
11
+ * Input value.
12
+ *
13
+ * @param index
14
+ * Index in iterable or undefined for single mapping).
15
+ *
16
+ * @returns
17
+ * Output value.
18
+ */
19
+ export type IndexedCallback<TInput, TOutput> = (input: TInput, index?: number) => TOutput;
20
+ /**
21
+ * Map an input iterable to an output iterable that applies a transformer callback to each value in the input.
22
+ *
23
+ * @template TInput
24
+ * Input type.
25
+ *
26
+ * @template TOutput
27
+ * Output type.
28
+ *
29
+ * @param values
30
+ * Input values iterable.
31
+ *
32
+ * @param indexedCallback
33
+ * Callback to transform input value to output value.
34
+ *
35
+ * @returns
36
+ * Output values iterable.
37
+ */
38
+ export declare function mapIterable<TInput, TOutput>(values: Iterable<TInput>, indexedCallback: IndexedCallback<TInput, TOutput>): Iterable<TOutput>;
39
+ //# sourceMappingURL=iterable-utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterable-utility.d.ts","sourceRoot":"","sources":["../src/iterable-utility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;AAE1F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAgB3I"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Map an input iterable to an output iterable that applies a transformer callback to each value in the input.
3
+ *
4
+ * @template TInput
5
+ * Input type.
6
+ *
7
+ * @template TOutput
8
+ * Output type.
9
+ *
10
+ * @param values
11
+ * Input values iterable.
12
+ *
13
+ * @param indexedCallback
14
+ * Callback to transform input value to output value.
15
+ *
16
+ * @returns
17
+ * Output values iterable.
18
+ */
19
+ export function mapIterable(values, indexedCallback) {
20
+ return {
21
+ /**
22
+ * Iterable implementation.
23
+ *
24
+ * @yields
25
+ * Next output value.
26
+ */
27
+ *[Symbol.iterator]() {
28
+ let index = 0;
29
+ for (const value of values) {
30
+ yield indexedCallback(value, index++);
31
+ }
32
+ }
33
+ };
34
+ }
35
+ //# sourceMappingURL=iterable-utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterable-utility.js","sourceRoot":"","sources":["../src/iterable-utility.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAkB,MAAwB,EAAE,eAAiD;IACpH,OAAO;QACH;;;;;WAKG;QACH,CAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YACf,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export declare const localeStrings: {
2
2
  readonly Transformer: {
3
- readonly domainMustBeGreaterThanZero: "Domain {{domain}} must be greater than 0";
4
- readonly tweakMustBeGreaterThanOrEqualToZero: "Tweak {{tweak}} must be greater than or equal to 0";
5
- readonly valueMustBeGreaterThanOrEqualToZero: "Value {{value}} must be greater than or equal to 0";
6
- readonly valueMustBeLessThan: "Value {{value}} must be less than {{domain}}";
7
- readonly minimumValueMustBeGreaterThanOrEqualToZero: "Minimum value {{minimumValue}} must be greater than or equal to 0";
8
- readonly maximumValueMustBeLessThan: "Maximum value {{maximumValue}} must be less than {{domain}}";
3
+ readonly domainMustBeGreaterThanZero: "Domain {{domain, number}} must be greater than 0";
4
+ readonly tweakMustBeGreaterThanOrEqualToZero: "Tweak {{tweak, number}} must be greater than or equal to 0";
5
+ readonly valueMustBeGreaterThanOrEqualToZero: "Value {{value, number}} must be greater than or equal to 0";
6
+ readonly valueMustBeLessThan: "Value {{value, number}} must be less than {{domain, number}}";
7
+ readonly minimumValueMustBeGreaterThanOrEqualToZero: "Minimum value {{minimumValue, number}} must be greater than or equal to 0";
8
+ readonly maximumValueMustBeLessThan: "Maximum value {{maximumValue, number}} must be less than {{domain, number}}";
9
9
  };
10
10
  readonly RegExpValidator: {
11
11
  readonly stringDoesNotMatchPattern: "String {{s}} does not match pattern";
@@ -14,17 +14,16 @@ export declare const localeStrings: {
14
14
  readonly firstZeroFirstCharacter: "Character set must support zero as first character";
15
15
  readonly allNumericAllNumericCharacters: "Character set must support all numeric characters in sequence";
16
16
  readonly stringMustNotBeAllNumeric: "String must not be all numeric";
17
- readonly lengthMustBeGreaterThanOrEqualTo: "Length {{length}} must be greater than or equal to {{minimumLength}}";
18
- readonly lengthMustBeLessThanOrEqualTo: "Length {{length}} must be less than or equal to {{maximumLength}}";
19
- readonly lengthMustBeEqualTo: "Length {{length}} must be equal to {{exactLength}}";
20
- readonly lengthOfComponentMustBeGreaterThanOrEqualTo: "Length {{length}} of {{component}} must be greater than or equal to {{minimumLength}}";
21
- readonly lengthOfComponentMustBeLessThanOrEqualTo: "Length {{length}} of {{component}} must be less than or equal to {{maximumLength}}";
22
- readonly lengthOfComponentMustBeEqualTo: "Length {{length}} of {{component}} must be equal to {{exactLength}}";
23
- readonly invalidCharacterAtPosition: "Invalid character '{{c}}' at position {{position}}";
24
- readonly invalidCharacterAtPositionOfComponent: "Invalid character '{{c}}' at position {{position}} of {{component}}";
25
- readonly exclusionNotSupported: "Exclusion value of {{exclusion}} is not supported";
26
- readonly invalidTweakWithAllNumericExclusion: "Tweak must not be used with all-numeric exclusion";
27
- readonly endSequenceValueMustBeLessThanOrEqualTo: "End sequence value (start sequence value + count - 1) must be less than {{domain}}";
17
+ readonly lengthMustBeGreaterThanOrEqualTo: "Length {{length, number}} must be greater than or equal to {{minimumLength, number}}";
18
+ readonly lengthMustBeLessThanOrEqualTo: "Length {{length, number}} must be less than or equal to {{maximumLength, number}}";
19
+ readonly lengthMustBeEqualTo: "Length {{length, number}} must be equal to {{exactLength, number}}";
20
+ readonly lengthOfComponentMustBeGreaterThanOrEqualTo: "Length {{length, number}} of {{component}} must be greater than or equal to {{minimumLength, number}}";
21
+ readonly lengthOfComponentMustBeLessThanOrEqualTo: "Length {{length, number}} of {{component}} must be less than or equal to {{maximumLength, number}}";
22
+ readonly lengthOfComponentMustBeEqualTo: "Length {{length, number}} of {{component}} must be equal to {{exactLength, number}}";
23
+ readonly invalidCharacterAtPosition: "Invalid character '{{c}}' at position {{position, number}}";
24
+ readonly invalidCharacterAtPositionOfComponent: "Invalid character '{{c}}' at position {{position, number}} of {{component}}";
25
+ readonly exclusionNotSupported: "Exclusion value of {{exclusion, number}} is not supported";
26
+ readonly endSequenceValueMustBeLessThanOrEqualTo: "End sequence value (start sequence value + count - 1) must be less than {{domain, number}}";
28
27
  };
29
28
  readonly RecordValidator: {
30
29
  readonly typeNameKeyNotFound: "{{typeName}} \"{{key}}\" not found";
@@ -1 +1 @@
1
- {"version":3,"file":"locale-strings.d.ts","sourceRoot":"","sources":["../../../src/locale/en/locale-strings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhB,CAAC"}
1
+ {"version":3,"file":"locale-strings.d.ts","sourceRoot":"","sources":["../../../src/locale/en/locale-strings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export const localeStrings = {
2
2
  Transformer: {
3
- domainMustBeGreaterThanZero: "Domain {{domain}} must be greater than 0",
4
- tweakMustBeGreaterThanOrEqualToZero: "Tweak {{tweak}} must be greater than or equal to 0",
5
- valueMustBeGreaterThanOrEqualToZero: "Value {{value}} must be greater than or equal to 0",
6
- valueMustBeLessThan: "Value {{value}} must be less than {{domain}}",
7
- minimumValueMustBeGreaterThanOrEqualToZero: "Minimum value {{minimumValue}} must be greater than or equal to 0",
8
- maximumValueMustBeLessThan: "Maximum value {{maximumValue}} must be less than {{domain}}"
3
+ domainMustBeGreaterThanZero: "Domain {{domain, number}} must be greater than 0",
4
+ tweakMustBeGreaterThanOrEqualToZero: "Tweak {{tweak, number}} must be greater than or equal to 0",
5
+ valueMustBeGreaterThanOrEqualToZero: "Value {{value, number}} must be greater than or equal to 0",
6
+ valueMustBeLessThan: "Value {{value, number}} must be less than {{domain, number}}",
7
+ minimumValueMustBeGreaterThanOrEqualToZero: "Minimum value {{minimumValue, number}} must be greater than or equal to 0",
8
+ maximumValueMustBeLessThan: "Maximum value {{maximumValue, number}} must be less than {{domain, number}}"
9
9
  },
10
10
  RegExpValidator: {
11
11
  stringDoesNotMatchPattern: "String {{s}} does not match pattern"
@@ -14,17 +14,16 @@ export const localeStrings = {
14
14
  firstZeroFirstCharacter: "Character set must support zero as first character",
15
15
  allNumericAllNumericCharacters: "Character set must support all numeric characters in sequence",
16
16
  stringMustNotBeAllNumeric: "String must not be all numeric",
17
- lengthMustBeGreaterThanOrEqualTo: "Length {{length}} must be greater than or equal to {{minimumLength}}",
18
- lengthMustBeLessThanOrEqualTo: "Length {{length}} must be less than or equal to {{maximumLength}}",
19
- lengthMustBeEqualTo: "Length {{length}} must be equal to {{exactLength}}",
20
- lengthOfComponentMustBeGreaterThanOrEqualTo: "Length {{length}} of {{component}} must be greater than or equal to {{minimumLength}}",
21
- lengthOfComponentMustBeLessThanOrEqualTo: "Length {{length}} of {{component}} must be less than or equal to {{maximumLength}}",
22
- lengthOfComponentMustBeEqualTo: "Length {{length}} of {{component}} must be equal to {{exactLength}}",
23
- invalidCharacterAtPosition: "Invalid character '{{c}}' at position {{position}}",
24
- invalidCharacterAtPositionOfComponent: "Invalid character '{{c}}' at position {{position}} of {{component}}",
25
- exclusionNotSupported: "Exclusion value of {{exclusion}} is not supported",
26
- invalidTweakWithAllNumericExclusion: "Tweak must not be used with all-numeric exclusion",
27
- endSequenceValueMustBeLessThanOrEqualTo: "End sequence value (start sequence value + count - 1) must be less than {{domain}}"
17
+ lengthMustBeGreaterThanOrEqualTo: "Length {{length, number}} must be greater than or equal to {{minimumLength, number}}",
18
+ lengthMustBeLessThanOrEqualTo: "Length {{length, number}} must be less than or equal to {{maximumLength, number}}",
19
+ lengthMustBeEqualTo: "Length {{length, number}} must be equal to {{exactLength, number}}",
20
+ lengthOfComponentMustBeGreaterThanOrEqualTo: "Length {{length, number}} of {{component}} must be greater than or equal to {{minimumLength, number}}",
21
+ lengthOfComponentMustBeLessThanOrEqualTo: "Length {{length, number}} of {{component}} must be less than or equal to {{maximumLength, number}}",
22
+ lengthOfComponentMustBeEqualTo: "Length {{length, number}} of {{component}} must be equal to {{exactLength, number}}",
23
+ invalidCharacterAtPosition: "Invalid character '{{c}}' at position {{position, number}}",
24
+ invalidCharacterAtPositionOfComponent: "Invalid character '{{c}}' at position {{position, number}} of {{component}}",
25
+ exclusionNotSupported: "Exclusion value of {{exclusion, number}} is not supported",
26
+ endSequenceValueMustBeLessThanOrEqualTo: "End sequence value (start sequence value + count - 1) must be less than {{domain, number}}"
28
27
  },
29
28
  RecordValidator: {
30
29
  typeNameKeyNotFound: "{{typeName}} \"{{key}}\" not found"
@@ -1 +1 @@
1
- {"version":3,"file":"locale-strings.js","sourceRoot":"","sources":["../../../src/locale/en/locale-strings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,WAAW,EAAE;QACT,2BAA2B,EAAE,0CAA0C;QACvE,mCAAmC,EAAE,oDAAoD;QACzF,mCAAmC,EAAE,oDAAoD;QACzF,mBAAmB,EAAE,8CAA8C;QACnE,0CAA0C,EAAE,mEAAmE;QAC/G,0BAA0B,EAAE,6DAA6D;KAC5F;IACD,eAAe,EAAE;QACb,yBAAyB,EAAE,qCAAqC;KACnE;IACD,qBAAqB,EAAE;QACnB,uBAAuB,EAAE,oDAAoD;QAC7E,8BAA8B,EAAE,+DAA+D;QAC/F,yBAAyB,EAAE,gCAAgC;QAC3D,gCAAgC,EAAE,sEAAsE;QACxG,6BAA6B,EAAE,mEAAmE;QAClG,mBAAmB,EAAE,oDAAoD;QACzE,2CAA2C,EAAE,uFAAuF;QACpI,wCAAwC,EAAE,oFAAoF;QAC9H,8BAA8B,EAAE,qEAAqE;QACrG,0BAA0B,EAAE,oDAAoD;QAChF,qCAAqC,EAAE,qEAAqE;QAC5G,qBAAqB,EAAE,mDAAmD;QAC1E,mCAAmC,EAAE,mDAAmD;QACxF,uCAAuC,EAAE,oFAAoF;KAChI;IACD,eAAe,EAAE;QACb,mBAAmB,EAAE,oCAAoC;KAC5D;CACK,CAAC"}
1
+ {"version":3,"file":"locale-strings.js","sourceRoot":"","sources":["../../../src/locale/en/locale-strings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,WAAW,EAAE;QACT,2BAA2B,EAAE,kDAAkD;QAC/E,mCAAmC,EAAE,4DAA4D;QACjG,mCAAmC,EAAE,4DAA4D;QACjG,mBAAmB,EAAE,8DAA8D;QACnF,0CAA0C,EAAE,2EAA2E;QACvH,0BAA0B,EAAE,6EAA6E;KAC5G;IACD,eAAe,EAAE;QACb,yBAAyB,EAAE,qCAAqC;KACnE;IACD,qBAAqB,EAAE;QACnB,uBAAuB,EAAE,oDAAoD;QAC7E,8BAA8B,EAAE,+DAA+D;QAC/F,yBAAyB,EAAE,gCAAgC;QAC3D,gCAAgC,EAAE,sFAAsF;QACxH,6BAA6B,EAAE,mFAAmF;QAClH,mBAAmB,EAAE,oEAAoE;QACzF,2CAA2C,EAAE,uGAAuG;QACpJ,wCAAwC,EAAE,oGAAoG;QAC9I,8BAA8B,EAAE,qFAAqF;QACrH,0BAA0B,EAAE,4DAA4D;QACxF,qCAAqC,EAAE,6EAA6E;QACpH,qBAAqB,EAAE,2DAA2D;QAClF,uCAAuC,EAAE,4FAA4F;KACxI;IACD,eAAe,EAAE;QACb,mBAAmB,EAAE,oCAAoC;KAC5D;CACK,CAAC"}