@aidc-toolkit/gs1 1.0.24-beta → 1.0.26-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 (240) hide show
  1. package/dist/abstract-identifier-creator.d.ts +75 -0
  2. package/dist/abstract-identifier-creator.d.ts.map +1 -0
  3. package/dist/abstract-identifier-creator.js +56 -0
  4. package/dist/abstract-identifier-creator.js.map +1 -0
  5. package/dist/abstract-identifier-validator.d.ts +95 -0
  6. package/dist/abstract-identifier-validator.d.ts.map +1 -0
  7. package/dist/abstract-identifier-validator.js +123 -0
  8. package/dist/abstract-identifier-validator.js.map +1 -0
  9. package/dist/abstract-numeric-identifier-creator.d.ts +92 -0
  10. package/dist/abstract-numeric-identifier-creator.d.ts.map +1 -0
  11. package/dist/abstract-numeric-identifier-creator.js +137 -0
  12. package/dist/abstract-numeric-identifier-creator.js.map +1 -0
  13. package/dist/abstract-numeric-identifier-validator.d.ts +35 -0
  14. package/dist/abstract-numeric-identifier-validator.d.ts.map +1 -0
  15. package/dist/abstract-numeric-identifier-validator.js +61 -0
  16. package/dist/abstract-numeric-identifier-validator.js.map +1 -0
  17. package/dist/character-set.d.ts +27 -0
  18. package/dist/character-set.d.ts.map +1 -0
  19. package/dist/character-set.js +50 -0
  20. package/dist/character-set.js.map +1 -0
  21. package/dist/check.d.ts +81 -0
  22. package/dist/check.d.ts.map +1 -0
  23. package/dist/check.js +218 -0
  24. package/dist/check.js.map +1 -0
  25. package/dist/content-character-set.d.ts +26 -0
  26. package/dist/content-character-set.d.ts.map +1 -0
  27. package/dist/content-character-set.js +18 -0
  28. package/dist/content-character-set.js.map +1 -0
  29. package/dist/creators.d.ts +81 -0
  30. package/dist/creators.d.ts.map +1 -0
  31. package/dist/creators.js +62 -0
  32. package/dist/creators.js.map +1 -0
  33. package/dist/descriptors.d.ts +96 -0
  34. package/dist/descriptors.d.ts.map +1 -0
  35. package/dist/descriptors.js +266 -0
  36. package/dist/descriptors.js.map +1 -0
  37. package/dist/gtin-creator.d.ts +69 -0
  38. package/dist/gtin-creator.d.ts.map +1 -0
  39. package/dist/gtin-creator.js +159 -0
  40. package/dist/gtin-creator.js.map +1 -0
  41. package/dist/gtin-descriptor.d.ts +17 -0
  42. package/dist/gtin-descriptor.d.ts.map +1 -0
  43. package/dist/gtin-descriptor.js +2 -0
  44. package/dist/gtin-descriptor.js.map +1 -0
  45. package/dist/gtin-type.d.ts +39 -0
  46. package/dist/gtin-type.d.ts.map +1 -0
  47. package/dist/gtin-type.js +31 -0
  48. package/dist/gtin-type.js.map +1 -0
  49. package/dist/gtin-validator.d.ts +191 -0
  50. package/dist/gtin-validator.d.ts.map +1 -0
  51. package/dist/gtin-validator.js +450 -0
  52. package/dist/gtin-validator.js.map +1 -0
  53. package/dist/identifier-creator.d.ts +31 -0
  54. package/dist/identifier-creator.d.ts.map +1 -0
  55. package/dist/identifier-creator.js +2 -0
  56. package/dist/identifier-creator.js.map +1 -0
  57. package/dist/identifier-descriptor.d.ts +27 -0
  58. package/dist/identifier-descriptor.d.ts.map +1 -0
  59. package/dist/identifier-descriptor.js +2 -0
  60. package/dist/identifier-descriptor.js.map +1 -0
  61. package/dist/identifier-type.d.ts +62 -0
  62. package/dist/identifier-type.d.ts.map +1 -0
  63. package/dist/identifier-type.js +54 -0
  64. package/dist/identifier-type.js.map +1 -0
  65. package/dist/identifier-validator.d.ts +53 -0
  66. package/dist/identifier-validator.d.ts.map +1 -0
  67. package/dist/identifier-validator.js +2 -0
  68. package/dist/identifier-validator.js.map +1 -0
  69. package/dist/index.d.ts +52 -1588
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +21 -4541
  72. package/dist/index.js.map +1 -1
  73. package/dist/locale/en/locale-resources.d.ts +42 -0
  74. package/dist/locale/en/locale-resources.d.ts.map +1 -0
  75. package/dist/locale/en/locale-resources.js +41 -0
  76. package/dist/locale/en/locale-resources.js.map +1 -0
  77. package/dist/locale/fr/locale-resources.d.ts +42 -0
  78. package/dist/locale/fr/locale-resources.d.ts.map +1 -0
  79. package/dist/locale/fr/locale-resources.js +41 -0
  80. package/dist/locale/fr/locale-resources.js.map +1 -0
  81. package/dist/locale/i18n.d.ts +27 -0
  82. package/dist/locale/i18n.d.ts.map +1 -0
  83. package/dist/locale/i18n.js +36 -0
  84. package/dist/locale/i18n.js.map +1 -0
  85. package/dist/non-gtin-numeric-identifier-creator.d.ts +24 -0
  86. package/dist/non-gtin-numeric-identifier-creator.d.ts.map +1 -0
  87. package/dist/non-gtin-numeric-identifier-creator.js +23 -0
  88. package/dist/non-gtin-numeric-identifier-creator.js.map +1 -0
  89. package/dist/non-gtin-numeric-identifier-descriptor.d.ts +22 -0
  90. package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +1 -0
  91. package/dist/non-gtin-numeric-identifier-descriptor.js +2 -0
  92. package/dist/non-gtin-numeric-identifier-descriptor.js.map +1 -0
  93. package/dist/non-gtin-numeric-identifier-type.d.ts +7 -0
  94. package/dist/non-gtin-numeric-identifier-type.d.ts.map +1 -0
  95. package/dist/non-gtin-numeric-identifier-type.js +2 -0
  96. package/dist/non-gtin-numeric-identifier-type.js.map +1 -0
  97. package/dist/non-gtin-numeric-identifier-validator.d.ts +17 -0
  98. package/dist/non-gtin-numeric-identifier-validator.d.ts.map +1 -0
  99. package/dist/non-gtin-numeric-identifier-validator.js +17 -0
  100. package/dist/non-gtin-numeric-identifier-validator.js.map +1 -0
  101. package/dist/non-numeric-identifier-creator.d.ts +45 -0
  102. package/dist/non-numeric-identifier-creator.d.ts.map +1 -0
  103. package/dist/non-numeric-identifier-creator.js +84 -0
  104. package/dist/non-numeric-identifier-creator.js.map +1 -0
  105. package/dist/non-numeric-identifier-descriptor.d.ts +26 -0
  106. package/dist/non-numeric-identifier-descriptor.d.ts.map +1 -0
  107. package/dist/non-numeric-identifier-descriptor.js +2 -0
  108. package/dist/non-numeric-identifier-descriptor.js.map +1 -0
  109. package/dist/non-numeric-identifier-type.d.ts +7 -0
  110. package/dist/non-numeric-identifier-type.d.ts.map +1 -0
  111. package/dist/non-numeric-identifier-type.js +2 -0
  112. package/dist/non-numeric-identifier-type.js.map +1 -0
  113. package/dist/non-numeric-identifier-validator.d.ts +49 -0
  114. package/dist/non-numeric-identifier-validator.d.ts.map +1 -0
  115. package/dist/non-numeric-identifier-validator.js +69 -0
  116. package/dist/non-numeric-identifier-validator.js.map +1 -0
  117. package/dist/numeric-identifier-creator.d.ts +53 -0
  118. package/dist/numeric-identifier-creator.d.ts.map +1 -0
  119. package/dist/numeric-identifier-creator.js +2 -0
  120. package/dist/numeric-identifier-creator.js.map +1 -0
  121. package/dist/numeric-identifier-descriptor.d.ts +21 -0
  122. package/dist/numeric-identifier-descriptor.d.ts.map +1 -0
  123. package/dist/numeric-identifier-descriptor.js +2 -0
  124. package/dist/numeric-identifier-descriptor.js.map +1 -0
  125. package/dist/numeric-identifier-type.d.ts +31 -0
  126. package/dist/numeric-identifier-type.d.ts.map +1 -0
  127. package/dist/numeric-identifier-type.js +18 -0
  128. package/dist/numeric-identifier-type.js.map +1 -0
  129. package/dist/numeric-identifier-validator.d.ts +24 -0
  130. package/dist/numeric-identifier-validator.d.ts.map +1 -0
  131. package/dist/numeric-identifier-validator.js +2 -0
  132. package/dist/numeric-identifier-validator.js.map +1 -0
  133. package/dist/prefix-manager.d.ts +232 -0
  134. package/dist/prefix-manager.d.ts.map +1 -0
  135. package/dist/prefix-manager.js +334 -0
  136. package/dist/prefix-manager.js.map +1 -0
  137. package/dist/prefix-provider.d.ts +27 -0
  138. package/dist/prefix-provider.d.ts.map +1 -0
  139. package/dist/prefix-provider.js +2 -0
  140. package/dist/prefix-provider.js.map +1 -0
  141. package/dist/prefix-type.d.ts +26 -0
  142. package/dist/prefix-type.d.ts.map +1 -0
  143. package/dist/prefix-type.js +18 -0
  144. package/dist/prefix-type.js.map +1 -0
  145. package/dist/prefix-validator.d.ts +70 -0
  146. package/dist/prefix-validator.d.ts.map +1 -0
  147. package/dist/prefix-validator.js +208 -0
  148. package/dist/prefix-validator.js.map +1 -0
  149. package/dist/serializable-numeric-identifier-creator.d.ts +76 -0
  150. package/dist/serializable-numeric-identifier-creator.d.ts.map +1 -0
  151. package/dist/serializable-numeric-identifier-creator.js +107 -0
  152. package/dist/serializable-numeric-identifier-creator.js.map +1 -0
  153. package/dist/serializable-numeric-identifier-descriptor.d.ts +26 -0
  154. package/dist/serializable-numeric-identifier-descriptor.d.ts.map +1 -0
  155. package/dist/serializable-numeric-identifier-descriptor.js +2 -0
  156. package/dist/serializable-numeric-identifier-descriptor.js.map +1 -0
  157. package/dist/serializable-numeric-identifier-type.d.ts +6 -0
  158. package/dist/serializable-numeric-identifier-type.d.ts.map +1 -0
  159. package/dist/serializable-numeric-identifier-type.js +2 -0
  160. package/dist/serializable-numeric-identifier-type.js.map +1 -0
  161. package/dist/serializable-numeric-identifier-validator.d.ts +56 -0
  162. package/dist/serializable-numeric-identifier-validator.d.ts.map +1 -0
  163. package/dist/serializable-numeric-identifier-validator.js +77 -0
  164. package/dist/serializable-numeric-identifier-validator.js.map +1 -0
  165. package/dist/validators.d.ts +96 -0
  166. package/dist/validators.d.ts.map +1 -0
  167. package/dist/validators.js +140 -0
  168. package/dist/validators.js.map +1 -0
  169. package/package.json +12 -8
  170. package/src/abstract-identifier-creator.ts +97 -0
  171. package/src/abstract-identifier-validator.ts +140 -0
  172. package/src/abstract-numeric-identifier-creator.ts +168 -0
  173. package/src/abstract-numeric-identifier-validator.ts +69 -0
  174. package/src/character-set.ts +10 -10
  175. package/src/check.ts +9 -9
  176. package/src/content-character-set.ts +29 -0
  177. package/src/creators.ts +113 -0
  178. package/src/descriptors.ts +332 -0
  179. package/src/gtin-creator.ts +10 -9
  180. package/src/gtin-descriptor.ts +18 -0
  181. package/src/gtin-type.ts +50 -0
  182. package/src/gtin-validator.ts +40 -64
  183. package/src/identifier-creator.ts +12 -76
  184. package/src/identifier-descriptor.ts +30 -0
  185. package/src/identifier-type.ts +6 -1
  186. package/src/identifier-validator.ts +12 -188
  187. package/src/index.ts +44 -19
  188. package/src/locale/en/locale-resources.ts +0 -1
  189. package/src/locale/fr/locale-resources.ts +0 -1
  190. package/src/locale/i18n.ts +3 -3
  191. package/src/locale/i18next.d.ts +1 -1
  192. package/src/non-gtin-numeric-identifier-creator.ts +7 -13
  193. package/src/non-gtin-numeric-identifier-descriptor.ts +24 -0
  194. package/src/non-gtin-numeric-identifier-type.ts +7 -0
  195. package/src/non-gtin-numeric-identifier-validator.ts +8 -42
  196. package/src/non-numeric-identifier-creator.ts +9 -19
  197. package/src/non-numeric-identifier-descriptor.ts +29 -0
  198. package/src/non-numeric-identifier-type.ts +7 -0
  199. package/src/non-numeric-identifier-validator.ts +17 -55
  200. package/src/numeric-identifier-creator.ts +20 -163
  201. package/src/numeric-identifier-descriptor.ts +23 -0
  202. package/src/numeric-identifier-type.ts +44 -0
  203. package/src/numeric-identifier-validator.ts +13 -116
  204. package/src/prefix-manager.ts +94 -152
  205. package/src/prefix-provider.ts +3 -3
  206. package/src/prefix-type.ts +6 -1
  207. package/src/prefix-validator.ts +143 -81
  208. package/src/serializable-numeric-identifier-creator.ts +6 -16
  209. package/src/serializable-numeric-identifier-descriptor.ts +29 -0
  210. package/src/serializable-numeric-identifier-type.ts +9 -0
  211. package/src/serializable-numeric-identifier-validator.ts +18 -46
  212. package/src/validators.ts +203 -0
  213. package/test/check.test.ts +1 -1
  214. package/test/creator.test.ts +5 -7
  215. package/test/gtin-creator.ts +6 -2
  216. package/test/gtin-validator.test.ts +7 -10
  217. package/test/identifier-creator.ts +6 -5
  218. package/test/identifier-validator.ts +2 -2
  219. package/test/non-gtin-numeric-identifier-creator.ts +9 -93
  220. package/test/non-gtin-numeric-identifier-validator.ts +3 -3
  221. package/test/non-numeric-identifier-creator.ts +93 -0
  222. package/test/non-numeric-identifier-validator.ts +3 -3
  223. package/test/numeric-identifier-creator.ts +11 -5
  224. package/test/numeric-identifier-validator.ts +5 -9
  225. package/test/prefix-manager.test.ts +2 -2
  226. package/test/serializable-numeric-identifier-creator.ts +11 -3
  227. package/test/serializable-numeric-identifier-validator.ts +3 -3
  228. package/test/setup.ts +1 -1
  229. package/test/sparse.test.ts +1 -1
  230. package/test/utility.ts +1 -1
  231. package/test/validator.test.ts +64 -40
  232. package/test/variable-measure-rcn.test.ts +1 -1
  233. package/tsconfig-config.json +4 -0
  234. package/tsconfig-src.json +8 -0
  235. package/tsconfig-test.json +9 -0
  236. package/tsconfig.json +12 -1
  237. package/tsup.config.ts +3 -2
  238. package/dist/index.cjs +0 -4624
  239. package/dist/index.cjs.map +0 -1
  240. package/dist/index.d.cts +0 -1588
@@ -1,20 +1,20 @@
1
1
  import { describe, expect, test } from "vitest";
2
2
  import {
3
+ type GTINBaseType,
3
4
  GTINLevels,
4
- type GTINType,
5
5
  GTINTypes,
6
6
  GTINValidator,
7
7
  IdentifierTypes,
8
8
  LeaderTypes,
9
9
  type PrefixType,
10
10
  PrefixTypes
11
- } from "../src";
12
- import { validateNumericIdentifierValidator } from "./numeric-identifier-validator";
11
+ } from "../src/index.js";
12
+ import { validateNumericIdentifierValidator } from "./numeric-identifier-validator.js";
13
13
 
14
- export function validateGTINValidator(validator: GTINValidator, isCreator: boolean, gtinType: GTINType): void {
14
+ export function validateGTINValidator(validator: GTINValidator, isCreator: boolean, gtinBaseType: GTINBaseType): void {
15
15
  let prefixType: PrefixType;
16
16
 
17
- switch (gtinType) {
17
+ switch (gtinBaseType) {
18
18
  case GTINTypes.GTIN13:
19
19
  prefixType = PrefixTypes.GS1CompanyPrefix;
20
20
  break;
@@ -26,14 +26,11 @@ export function validateGTINValidator(validator: GTINValidator, isCreator: boole
26
26
  case GTINTypes.GTIN8:
27
27
  prefixType = PrefixTypes.GS18Prefix;
28
28
  break;
29
-
30
- default:
31
- throw new Error("Not supported");
32
29
  }
33
30
 
34
- validateNumericIdentifierValidator(validator, isCreator, IdentifierTypes.GTIN, prefixType, gtinType, LeaderTypes.IndicatorDigit);
31
+ validateNumericIdentifierValidator(validator, IdentifierTypes.GTIN, prefixType, gtinBaseType, LeaderTypes.IndicatorDigit);
35
32
 
36
- expect(validator.gtinType).toBe(gtinType);
33
+ expect(validator.gtinType).toBe(gtinBaseType);
37
34
  }
38
35
 
39
36
  describe("GTIN validation and normalization", () => {
@@ -7,11 +7,11 @@ import {
7
7
  LeaderTypes,
8
8
  type PrefixManager,
9
9
  PrefixTypes
10
- } from "../src";
11
- import { validateGTINValidator } from "./gtin-validator.test";
12
- import { validateNonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator";
13
- import { validateNonNumericIdentifierValidator } from "./non-numeric-identifier-validator";
14
- import { validateSerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator";
10
+ } from "../src/index.js";
11
+ import { validateGTINValidator } from "./gtin-validator.test.js";
12
+ import { validateNonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator.js";
13
+ import { validateNonNumericIdentifierValidator } from "./non-numeric-identifier-validator.js";
14
+ import { validateSerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
15
15
 
16
16
  export function validateIdentifierCreators(prefixManager: PrefixManager): void {
17
17
  let gtinType: GTINType;
@@ -33,6 +33,7 @@ export function validateIdentifierCreators(prefixManager: PrefixManager): void {
33
33
  break;
34
34
  }
35
35
 
36
+ // Validate creator caching.
36
37
  expect(prefixManager.gtinCreator).toBe(prefixManager.gtinCreator);
37
38
 
38
39
  validateGTINValidator(prefixManager.gtinCreator, true, gtinType);
@@ -1,7 +1,7 @@
1
1
  import { expect } from "vitest";
2
- import type { IdentifierType, IdentifierValidator, PrefixType } from "../src";
2
+ import type { IdentifierType, IdentifierTypeValidator, PrefixType } from "../src/index.js";
3
3
 
4
- export function validateIdentifierValidator(creator: IdentifierValidator, identifierType: IdentifierType, prefixType: PrefixType, length: number): void {
4
+ export function validateIdentifierValidator<TIdentifierType extends IdentifierType>(creator: IdentifierTypeValidator<TIdentifierType>, identifierType: IdentifierType, prefixType: PrefixType, length: number): void {
5
5
  expect(creator.identifierType).toBe(identifierType);
6
6
  expect(creator.prefixType).toBe(prefixType);
7
7
  expect(creator.length).toBe(length);
@@ -1,98 +1,14 @@
1
- import { Exclusions, Sequence } from "@aidc-toolkit/utility";
2
- import { describe, expect, test } from "vitest";
3
- import {
4
- hasValidCheckCharacterPair,
5
- type NonGTINNumericIdentifierCreator,
6
- type NonNumericIdentifierCreator
7
- } from "../src";
8
- import { testNumericIdentifierCreator } from "./numeric-identifier-creator";
1
+ import { expect, test } from "vitest";
2
+ import { isNonGTINNumericIdentifierCreator, type NonGTINNumericIdentifierCreator } from "../src/index.js";
3
+ import { testIdentifierCreatorCallback } from "./identifier-creator.js";
4
+ import { testNumericIdentifierCreator } from "./numeric-identifier-creator.js";
9
5
 
10
6
  export function testNonGTINNumericIdentifierCreator(creator: NonGTINNumericIdentifierCreator, preTestCallback?: () => void, postTestCallback?: () => void): void {
11
- testNumericIdentifierCreator(creator, preTestCallback, postTestCallback);
12
- }
13
-
14
- const TEST_REFERENCE_LENGTH = 2;
15
-
16
- export function testNonNumericIdentifierCreator(creator: NonNumericIdentifierCreator): void {
17
- describe(creator.identifierType, () => {
18
- const prefix = creator.prefix;
19
- const prefixLength = prefix.length;
20
- const referenceLength = creator.length - prefixLength - 2 * Number(creator.requiresCheckCharacterPair);
21
- const referenceCount = creator.referenceCreator.characterSetSize ** TEST_REFERENCE_LENGTH;
22
- const referenceSubstringStart = prefixLength;
23
- const referenceSubstringEnd = prefixLength + TEST_REFERENCE_LENGTH;
24
-
25
- test("Straight", () => {
26
- expect(creator.referenceLength).toBe(referenceLength);
27
-
28
- let index = 0;
29
-
30
- for (const identifier of creator.create(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, new Sequence(0, referenceCount)))) {
31
- expect(() => {
32
- creator.validate(identifier);
33
- }).not.toThrow(RangeError);
34
-
35
- expect(Number(creator.referenceCreator.valueFor(identifier.substring(referenceSubstringStart, referenceSubstringEnd)))).toBe(index);
36
-
37
- expect(identifier.length).toBeLessThanOrEqual(creator.length);
38
- expect(identifier.substring(0, prefixLength)).toBe(prefix);
39
- expect(!creator.requiresCheckCharacterPair || hasValidCheckCharacterPair(identifier)).toBe(true);
40
-
41
- expect(identifier).toBe(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, index, Exclusions.None, undefined, reference => creator.create(reference)));
42
-
43
- index++;
44
- }
45
-
46
- expect(index).toBe(referenceCount);
47
- });
48
-
49
- test("Sparse", () => {
50
- let sequential = true;
51
-
52
- let index = 0;
53
-
54
- for (const identifier of creator.create(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, new Sequence(0, referenceCount), Exclusions.None, 123456n))) {
55
- expect(() => {
56
- creator.validate(identifier);
57
- }).not.toThrow(RangeError);
58
-
59
- expect(Number(creator.referenceCreator.valueFor(identifier.substring(referenceSubstringStart, referenceSubstringEnd), Exclusions.None, 123456n))).toBe(index);
60
-
61
- sequential &&= Number(creator.referenceCreator.valueFor(identifier.substring(referenceSubstringStart, referenceSubstringEnd))) === index;
62
-
63
- expect(identifier.length).toBeLessThanOrEqual(creator.length);
64
- expect(identifier.substring(0, prefixLength)).toBe(prefix);
65
- expect(!creator.requiresCheckCharacterPair || hasValidCheckCharacterPair(identifier)).toBe(true);
66
-
67
- expect(identifier).toBe(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, index, Exclusions.None, 123456n, reference => creator.create(reference)));
68
-
69
- index++;
70
- }
71
-
72
- expect(sequential).toBe(false);
73
- expect(index).toBe(referenceCount);
74
- });
75
-
76
- test("Position offset", () => {
77
- expect(() => {
78
- creator.validate(creator.create("ABC123"), {
79
- positionOffset: 4
80
- });
81
- }).not.toThrow(RangeError);
82
- });
83
-
84
- test("Not all numeric", () => {
85
- expect(() => {
86
- creator.validate(creator.create("01234"), {
87
- exclusion: Exclusions.AllNumeric
88
- });
89
- }).toThrow("Reference can't be all-numeric");
7
+ testNumericIdentifierCreator(creator, () => {
8
+ testIdentifierCreatorCallback(preTestCallback);
90
9
 
91
- expect(() => {
92
- creator.validate(creator.create("O1234"), {
93
- exclusion: Exclusions.AllNumeric
94
- });
95
- }).not.toThrow(RangeError);
10
+ test("Mapping", () => {
11
+ expect(isNonGTINNumericIdentifierCreator(creator)).toBe(true);
96
12
  });
97
- });
13
+ }, postTestCallback);
98
14
  }
@@ -1,6 +1,6 @@
1
- import { type IdentifierType, type LeaderType, type NonGTINNumericIdentifierValidator, PrefixTypes } from "../src";
2
- import { validateNumericIdentifierValidator } from "./numeric-identifier-validator";
1
+ import { type IdentifierType, type LeaderType, type NonGTINNumericIdentifierValidator, PrefixTypes } from "../src/index.js";
2
+ import { validateNumericIdentifierValidator } from "./numeric-identifier-validator.js";
3
3
 
4
4
  export function validateNonGTINNumericIdentifierValidator(validator: NonGTINNumericIdentifierValidator, isCreator: boolean, identifierType: IdentifierType, length: number, leaderType: LeaderType): void {
5
- validateNumericIdentifierValidator(validator, isCreator, identifierType, PrefixTypes.GS1CompanyPrefix, length, leaderType);
5
+ validateNumericIdentifierValidator(validator, identifierType, PrefixTypes.GS1CompanyPrefix, length, leaderType);
6
6
  }
@@ -0,0 +1,93 @@
1
+ import { Exclusions, Sequence } from "@aidc-toolkit/utility";
2
+ import { describe, expect, test } from "vitest";
3
+ import { hasValidCheckCharacterPair, isNonNumericIdentifierCreator, type NonNumericIdentifierCreator } from "../src/index.js";
4
+
5
+ const TEST_REFERENCE_LENGTH = 2;
6
+
7
+ export function testNonNumericIdentifierCreator(creator: NonNumericIdentifierCreator): void {
8
+ describe(creator.identifierType, () => {
9
+ const prefix = creator.prefix;
10
+ const prefixLength = prefix.length;
11
+ const referenceLength = creator.length - prefixLength - 2 * Number(creator.requiresCheckCharacterPair);
12
+ const referenceCount = creator.referenceCreator.characterSetSize ** TEST_REFERENCE_LENGTH;
13
+ const referenceSubstringStart = prefixLength;
14
+ const referenceSubstringEnd = prefixLength + TEST_REFERENCE_LENGTH;
15
+
16
+ test("Mapping", () => {
17
+ expect(isNonNumericIdentifierCreator(creator)).toBe(true);
18
+ });
19
+
20
+ test("Straight", () => {
21
+ expect(creator.referenceLength).toBe(referenceLength);
22
+
23
+ let index = 0;
24
+
25
+ for (const identifier of creator.create(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, new Sequence(0, referenceCount)))) {
26
+ expect(() => {
27
+ creator.validate(identifier);
28
+ }).not.toThrow(RangeError);
29
+
30
+ expect(Number(creator.referenceCreator.valueFor(identifier.substring(referenceSubstringStart, referenceSubstringEnd)))).toBe(index);
31
+
32
+ expect(identifier.length).toBeLessThanOrEqual(creator.length);
33
+ expect(identifier.substring(0, prefixLength)).toBe(prefix);
34
+ expect(!creator.requiresCheckCharacterPair || hasValidCheckCharacterPair(identifier)).toBe(true);
35
+
36
+ expect(identifier).toBe(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, index, Exclusions.None, undefined, reference => creator.create(reference)));
37
+
38
+ index++;
39
+ }
40
+
41
+ expect(index).toBe(referenceCount);
42
+ });
43
+
44
+ test("Sparse", () => {
45
+ let sequential = true;
46
+
47
+ let index = 0;
48
+
49
+ for (const identifier of creator.create(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, new Sequence(0, referenceCount), Exclusions.None, 123456n))) {
50
+ expect(() => {
51
+ creator.validate(identifier);
52
+ }).not.toThrow(RangeError);
53
+
54
+ expect(Number(creator.referenceCreator.valueFor(identifier.substring(referenceSubstringStart, referenceSubstringEnd), Exclusions.None, 123456n))).toBe(index);
55
+
56
+ sequential &&= Number(creator.referenceCreator.valueFor(identifier.substring(referenceSubstringStart, referenceSubstringEnd))) === index;
57
+
58
+ expect(identifier.length).toBeLessThanOrEqual(creator.length);
59
+ expect(identifier.substring(0, prefixLength)).toBe(prefix);
60
+ expect(!creator.requiresCheckCharacterPair || hasValidCheckCharacterPair(identifier)).toBe(true);
61
+
62
+ expect(identifier).toBe(creator.referenceCreator.create(TEST_REFERENCE_LENGTH, index, Exclusions.None, 123456n, reference => creator.create(reference)));
63
+
64
+ index++;
65
+ }
66
+
67
+ expect(sequential).toBe(false);
68
+ expect(index).toBe(referenceCount);
69
+ });
70
+
71
+ test("Position offset", () => {
72
+ expect(() => {
73
+ creator.validate(creator.create("ABC123"), {
74
+ positionOffset: 4
75
+ });
76
+ }).not.toThrow(RangeError);
77
+ });
78
+
79
+ test("Not all numeric", () => {
80
+ expect(() => {
81
+ creator.validate(creator.create("01234"), {
82
+ exclusion: Exclusions.AllNumeric
83
+ });
84
+ }).toThrow("Reference can't be all-numeric");
85
+
86
+ expect(() => {
87
+ creator.validate(creator.create("O1234"), {
88
+ exclusion: Exclusions.AllNumeric
89
+ });
90
+ }).not.toThrow(RangeError);
91
+ });
92
+ });
93
+ }
@@ -5,9 +5,9 @@ import {
5
5
  type NonNumericIdentifierCreator,
6
6
  type NonNumericIdentifierValidator,
7
7
  PrefixTypes
8
- } from "../src";
9
- import { validateIdentifierValidator } from "./identifier-validator";
10
- import { creatorFor } from "./utility";
8
+ } from "../src/index.js";
9
+ import { validateIdentifierValidator } from "./identifier-validator.js";
10
+ import { creatorFor } from "./utility.js";
11
11
 
12
12
  export function validateNonNumericIdentifierValidator(validator: NonNumericIdentifierValidator, isCreator: boolean, identifierType: IdentifierType, length: number, referenceCharacterSet: ContentCharacterSet, requiresCheckCharacterPair: boolean): void {
13
13
  validateIdentifierValidator(validator, identifierType, PrefixTypes.GS1CompanyPrefix, length);
@@ -1,10 +1,16 @@
1
1
  import { CharacterSetCreator, Sequence } from "@aidc-toolkit/utility";
2
2
  import { describe, expect, test } from "vitest";
3
- import { hasValidCheckDigit, IdentifierTypes, LeaderTypes, type NumericIdentifierCreator } from "../src";
4
- import { testIdentifierCreatorCallback } from "./identifier-creator";
5
-
6
- export function testNumericIdentifierCreator(creator: NumericIdentifierCreator, preTestCallback?: () => void, postTestCallback?: () => void): void {
7
- describe(creator.identifierType === IdentifierTypes.GTIN ? `${creator.identifierType}-${creator.length}` : creator.identifierType, () => {
3
+ import {
4
+ hasValidCheckDigit,
5
+ isGTINCreator,
6
+ LeaderTypes,
7
+ type NumericIdentifierCreator,
8
+ type NumericIdentifierDescriptor
9
+ } from "../src/index.js";
10
+ import { testIdentifierCreatorCallback } from "./identifier-creator.js";
11
+
12
+ export function testNumericIdentifierCreator<TNumericIdentifierDescriptor extends NumericIdentifierDescriptor>(creator: NumericIdentifierCreator<TNumericIdentifierDescriptor>, preTestCallback?: () => void, postTestCallback?: () => void): void {
13
+ describe(isGTINCreator(creator) ? `${creator.identifierType}-${creator.length}` : creator.identifierType as string, () => {
8
14
  testIdentifierCreatorCallback(preTestCallback);
9
15
 
10
16
  const prefix = creator.prefix;
@@ -3,21 +3,17 @@ import { expect } from "vitest";
3
3
  import {
4
4
  ContentCharacterSets,
5
5
  type IdentifierType,
6
+ type IdentifierTypeValidator,
6
7
  type LeaderType,
7
- type NumericIdentifierCreator,
8
- type NumericIdentifierValidator,
8
+ type NumericIdentifierType,
9
9
  type PrefixType
10
- } from "../src";
11
- import { validateIdentifierValidator } from "./identifier-validator";
10
+ } from "../src/index.js";
11
+ import { validateIdentifierValidator } from "./identifier-validator.js";
12
12
 
13
- export function validateNumericIdentifierValidator(validator: NumericIdentifierValidator, isCreator: boolean, identifierType: IdentifierType, prefixType: PrefixType, length: number, leaderType: LeaderType): void {
13
+ export function validateNumericIdentifierValidator<TNumericIdentifierType extends NumericIdentifierType>(validator: IdentifierTypeValidator<TNumericIdentifierType>, identifierType: IdentifierType, prefixType: PrefixType, length: number, leaderType: LeaderType): void {
14
14
  validateIdentifierValidator(validator, identifierType, prefixType, length);
15
15
 
16
16
  expect(validator.leaderType).toBe(leaderType);
17
17
  expect(validator.referenceCharacterSet).toBe(ContentCharacterSets.Numeric);
18
18
  expect(validator.referenceCreator).toBe(NUMERIC_CREATOR);
19
-
20
- if (isCreator) {
21
- expect((validator as NumericIdentifierCreator).referenceCreator).toBe(NUMERIC_CREATOR);
22
- }
23
19
  }
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, test } from "vitest";
2
- import { PrefixManager, PrefixTypes } from "../src";
3
- import { validateIdentifierCreators } from "./identifier-creator";
2
+ import { PrefixManager, PrefixTypes } from "../src/index.js";
3
+ import { validateIdentifierCreators } from "./identifier-creator.js";
4
4
 
5
5
  describe("Prefix manager", () => {
6
6
  let prefixManager: PrefixManager;
@@ -1,9 +1,17 @@
1
1
  import { expect, test } from "vitest";
2
- import { ContentCharacterSets, type SerializableNumericIdentifierCreator } from "../src";
3
- import { testNonGTINNumericIdentifierCreator } from "./non-gtin-numeric-identifier-creator";
2
+ import {
3
+ ContentCharacterSets,
4
+ isSerializableNumericIdentifierCreator,
5
+ type SerializableNumericIdentifierCreator
6
+ } from "../src/index.js";
7
+ import { testNonGTINNumericIdentifierCreator } from "./non-gtin-numeric-identifier-creator.js";
4
8
 
5
9
  export function testSerializableNumericIdentifierCreator(creator: SerializableNumericIdentifierCreator): void {
6
- testNonGTINNumericIdentifierCreator(creator, undefined, () => {
10
+ testNonGTINNumericIdentifierCreator(creator, () => {
11
+ test("Mapping", () => {
12
+ expect(isSerializableNumericIdentifierCreator(creator)).toBe(true);
13
+ });
14
+ }, () => {
7
15
  test("Serialization", () => {
8
16
  const identifier = creator.create(0, true);
9
17
  const serial = "12345678";
@@ -5,9 +5,9 @@ import type {
5
5
  LeaderType,
6
6
  SerializableNumericIdentifierCreator,
7
7
  SerializableNumericIdentifierValidator
8
- } from "../src";
9
- import { validateNonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator";
10
- import { creatorFor } from "./utility";
8
+ } from "../src/index.js";
9
+ import { validateNonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator.js";
10
+ import { creatorFor } from "./utility.js";
11
11
 
12
12
  export function validateSerializableNumericIdentifierValidator(validator: SerializableNumericIdentifierValidator, isCreator: boolean, identifierType: IdentifierType, length: number, leaderType: LeaderType, serialLength: number, serialCharacterSet: ContentCharacterSet): void {
13
13
  validateNonGTINNumericIdentifierValidator(validator, isCreator, identifierType, length, leaderType);
package/test/setup.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { I18nEnvironments } from "@aidc-toolkit/core";
2
- import { i18nGS1Init } from "../src";
2
+ import { i18nGS1Init } from "../src/index.js";
3
3
 
4
4
  await i18nGS1Init(I18nEnvironments.CLI);
@@ -1,6 +1,6 @@
1
1
  import { Sequence } from "@aidc-toolkit/utility";
2
2
  import { describe, expect, test } from "vitest";
3
- import { PrefixManager, PrefixTypes } from "../src";
3
+ import { PrefixManager, PrefixTypes } from "../src/index.js";
4
4
 
5
5
  describe("Sparse creation", () => {
6
6
  const prefixManager = PrefixManager.get(PrefixTypes.GS1CompanyPrefix, "9521234");
package/test/utility.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type CharacterSetCreator, NUMERIC_CREATOR } from "@aidc-toolkit/utility";
2
- import { AI39_CREATOR, AI82_CREATOR, type ContentCharacterSet, ContentCharacterSets } from "../src";
2
+ import { AI39_CREATOR, AI82_CREATOR, type ContentCharacterSet, ContentCharacterSets } from "../src/index.js";
3
3
 
4
4
  export function creatorFor(characterSet: ContentCharacterSet): CharacterSetCreator {
5
5
  let creator: CharacterSetCreator;
@@ -1,52 +1,76 @@
1
1
  import { describe, expect, test } from "vitest";
2
2
  import {
3
3
  ContentCharacterSets,
4
- CPID_VALIDATOR,
5
- GCN_VALIDATOR,
6
- GDTI_VALIDATOR,
7
- GIAI_VALIDATOR,
8
- GINC_VALIDATOR,
9
- GLN_VALIDATOR,
10
- GMN_VALIDATOR,
11
- GRAI_VALIDATOR,
12
- GSIN_VALIDATOR,
13
- GSRN_VALIDATOR,
14
- GTIN12_VALIDATOR,
15
- GTIN13_VALIDATOR,
16
- GTIN8_VALIDATOR,
17
- GTIN_VALIDATORS,
4
+ type GTINBaseType,
18
5
  GTINTypes,
6
+ type GTINValidator,
7
+ type IdentifierType,
19
8
  IdentifierTypes,
20
- LeaderTypes,
21
- PrefixTypes,
22
- SSCC_VALIDATOR
23
- } from "../src";
24
- import { validateGTINValidator } from "./gtin-validator.test";
25
- import { validateNonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator";
26
- import { validateNonNumericIdentifierValidator } from "./non-numeric-identifier-validator";
27
- import { validateSerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator";
9
+ type IdentifierValidator,
10
+ IdentifierValidators,
11
+ isGTINValidator,
12
+ isGTINValidators,
13
+ isNonGTINNumericIdentifierValidator,
14
+ isNonNumericIdentifierValidator,
15
+ isNumericIdentifierValidator,
16
+ isSerializableNumericIdentifierValidator,
17
+ LeaderTypes
18
+ } from "../src/index.js";
19
+ import { validateGTINValidator } from "./gtin-validator.test.js";
20
+ import { validateNonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator.js";
21
+ import { validateNonNumericIdentifierValidator } from "./non-numeric-identifier-validator.js";
22
+ import { validateSerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
28
23
 
29
24
  describe("Validators", () => {
30
- test("GTIN", () => {
31
- expect(GTIN_VALIDATORS[PrefixTypes.GS1CompanyPrefix]).toBe(GTIN13_VALIDATOR);
32
- expect(GTIN_VALIDATORS[PrefixTypes.UPCCompanyPrefix]).toBe(GTIN12_VALIDATOR);
33
- expect(GTIN_VALIDATORS[PrefixTypes.GS18Prefix]).toBe(GTIN8_VALIDATOR);
25
+ function validateMapping(identifierType: IdentifierType, expectedIdentifierValidatorsOrValidator: Readonly<Record<GTINBaseType, GTINValidator>> | IdentifierValidator, ...isIdentifierValidatorTypes: Array<(validator: IdentifierValidator) => boolean>): void {
26
+ test(identifierType, () => {
27
+ const validatorsOrValidator = IdentifierValidators[identifierType];
28
+
29
+ expect(validatorsOrValidator).toBe(expectedIdentifierValidatorsOrValidator);
30
+
31
+ if (isGTINValidators(validatorsOrValidator)) {
32
+ for (const validator of Object.values(validatorsOrValidator)) {
33
+ for (const isIdentifierValidatorType of isIdentifierValidatorTypes) {
34
+ expect(isIdentifierValidatorType(validator)).toBe(true);
35
+ }
36
+ }
37
+ } else {
38
+ for (const isIdentifierValidatorType of isIdentifierValidatorTypes) {
39
+ expect(isIdentifierValidatorType(validatorsOrValidator)).toBe(true);
40
+ }
41
+ }
42
+ });
43
+ }
44
+
45
+ describe("Mapping", () => {
46
+ validateMapping(IdentifierTypes.GTIN, IdentifierValidators.GTIN, isNumericIdentifierValidator, isGTINValidator);
47
+ validateMapping(IdentifierTypes.GLN, IdentifierValidators.GLN, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator);
48
+ validateMapping(IdentifierTypes.SSCC, IdentifierValidators.SSCC, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator);
49
+ validateMapping(IdentifierTypes.GRAI, IdentifierValidators.GRAI, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator, isSerializableNumericIdentifierValidator);
50
+ validateMapping(IdentifierTypes.GIAI, IdentifierValidators.GIAI, isNonNumericIdentifierValidator);
51
+ validateMapping(IdentifierTypes.GSRN, IdentifierValidators.GSRN, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator);
52
+ validateMapping(IdentifierTypes.GDTI, IdentifierValidators.GDTI, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator, isSerializableNumericIdentifierValidator);
53
+ validateMapping(IdentifierTypes.GINC, IdentifierValidators.GINC, isNonNumericIdentifierValidator);
54
+ validateMapping(IdentifierTypes.GSIN, IdentifierValidators.GSIN, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator);
55
+ validateMapping(IdentifierTypes.GCN, IdentifierValidators.GCN, isNumericIdentifierValidator, isNonGTINNumericIdentifierValidator, isSerializableNumericIdentifierValidator);
56
+ validateMapping(IdentifierTypes.CPID, IdentifierValidators.CPID, isNonNumericIdentifierValidator);
57
+ validateMapping(IdentifierTypes.GMN, IdentifierValidators.GMN, isNonNumericIdentifierValidator);
34
58
  });
35
59
 
36
60
  test("Structure", () => {
37
- validateGTINValidator(GTIN13_VALIDATOR, false, GTINTypes.GTIN13);
38
- validateGTINValidator(GTIN12_VALIDATOR, false, GTINTypes.GTIN12);
39
- validateGTINValidator(GTIN8_VALIDATOR, false, GTINTypes.GTIN8);
40
- validateNonGTINNumericIdentifierValidator(GLN_VALIDATOR, false, IdentifierTypes.GLN, 13, LeaderTypes.None);
41
- validateNonGTINNumericIdentifierValidator(SSCC_VALIDATOR, false, IdentifierTypes.SSCC, 18, LeaderTypes.ExtensionDigit);
42
- validateSerializableNumericIdentifierValidator(GRAI_VALIDATOR, false, IdentifierTypes.GRAI, 13, LeaderTypes.None, 16, ContentCharacterSets.AI82);
43
- validateNonNumericIdentifierValidator(GIAI_VALIDATOR, false, IdentifierTypes.GIAI, 30, ContentCharacterSets.AI82, false);
44
- validateNonGTINNumericIdentifierValidator(GSRN_VALIDATOR, false, IdentifierTypes.GSRN, 18, LeaderTypes.None);
45
- validateSerializableNumericIdentifierValidator(GDTI_VALIDATOR, false, IdentifierTypes.GDTI, 13, LeaderTypes.None, 17, ContentCharacterSets.AI82);
46
- validateNonNumericIdentifierValidator(GINC_VALIDATOR, false, IdentifierTypes.GINC, 30, ContentCharacterSets.AI82, false);
47
- validateNonGTINNumericIdentifierValidator(GSIN_VALIDATOR, false, IdentifierTypes.GSIN, 17, LeaderTypes.None);
48
- validateSerializableNumericIdentifierValidator(GCN_VALIDATOR, false, IdentifierTypes.GCN, 13, LeaderTypes.None, 12, ContentCharacterSets.Numeric);
49
- validateNonNumericIdentifierValidator(CPID_VALIDATOR, false, IdentifierTypes.CPID, 30, ContentCharacterSets.AI39, false);
50
- validateNonNumericIdentifierValidator(GMN_VALIDATOR, false, IdentifierTypes.GMN, 25, ContentCharacterSets.AI82, true);
61
+ validateGTINValidator(IdentifierValidators.GTIN[GTINTypes.GTIN13], false, GTINTypes.GTIN13);
62
+ validateGTINValidator(IdentifierValidators.GTIN[GTINTypes.GTIN12], false, GTINTypes.GTIN12);
63
+ validateGTINValidator(IdentifierValidators.GTIN[GTINTypes.GTIN8], false, GTINTypes.GTIN8);
64
+ validateNonGTINNumericIdentifierValidator(IdentifierValidators.GLN, false, IdentifierTypes.GLN, 13, LeaderTypes.None);
65
+ validateNonGTINNumericIdentifierValidator(IdentifierValidators.SSCC, false, IdentifierTypes.SSCC, 18, LeaderTypes.ExtensionDigit);
66
+ validateSerializableNumericIdentifierValidator(IdentifierValidators.GRAI, false, IdentifierTypes.GRAI, 13, LeaderTypes.None, 16, ContentCharacterSets.AI82);
67
+ validateNonNumericIdentifierValidator(IdentifierValidators.GIAI, false, IdentifierTypes.GIAI, 30, ContentCharacterSets.AI82, false);
68
+ validateNonGTINNumericIdentifierValidator(IdentifierValidators.GSRN, false, IdentifierTypes.GSRN, 18, LeaderTypes.None);
69
+ validateSerializableNumericIdentifierValidator(IdentifierValidators.GDTI, false, IdentifierTypes.GDTI, 13, LeaderTypes.None, 17, ContentCharacterSets.AI82);
70
+ validateNonNumericIdentifierValidator(IdentifierValidators.GINC, false, IdentifierTypes.GINC, 30, ContentCharacterSets.AI82, false);
71
+ validateNonGTINNumericIdentifierValidator(IdentifierValidators.GSIN, false, IdentifierTypes.GSIN, 17, LeaderTypes.None);
72
+ validateSerializableNumericIdentifierValidator(IdentifierValidators.GCN, false, IdentifierTypes.GCN, 13, LeaderTypes.None, 12, ContentCharacterSets.Numeric);
73
+ validateNonNumericIdentifierValidator(IdentifierValidators.CPID, false, IdentifierTypes.CPID, 30, ContentCharacterSets.AI39, false);
74
+ validateNonNumericIdentifierValidator(IdentifierValidators.GMN, false, IdentifierTypes.GMN, 25, ContentCharacterSets.AI82, true);
51
75
  });
52
76
  });
@@ -5,7 +5,7 @@ import {
5
5
  hasValidCheckDigit,
6
6
  isValidPriceOrWeightCheckDigit,
7
7
  type RCNReference
8
- } from "../src";
8
+ } from "../src/index.js";
9
9
 
10
10
  describe("Variable measure RCN", () => {
11
11
  test("RCN-12", () => {
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "@aidc-toolkit/dev/tsconfig-template.json",
3
+ "files": ["./eslint.config.ts", "./tsup.config.ts", "vitest.config.ts"]
4
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "@aidc-toolkit/dev/tsconfig-template.json",
3
+ "include": ["./src/**/*"],
4
+ "compilerOptions": {
5
+ // Emit.
6
+ "outDir": "dist"
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "@aidc-toolkit/dev/tsconfig-template.json",
3
+ "include": ["./test/**/*"],
4
+ "references": [
5
+ {
6
+ "path": "./tsconfig-src.json"
7
+ }
8
+ ]
9
+ }
package/tsconfig.json CHANGED
@@ -1,3 +1,14 @@
1
1
  {
2
- "extends": "@aidc-toolkit/dev/tsconfig.json"
2
+ "include": [],
3
+ "references": [
4
+ {
5
+ "path": "./tsconfig-src.json"
6
+ },
7
+ {
8
+ "path": "./tsconfig-test.json"
9
+ },
10
+ {
11
+ "path": "./tsconfig-config.json"
12
+ }
13
+ ]
3
14
  }
package/tsup.config.ts CHANGED
@@ -1,3 +1,4 @@
1
- import { tsupConfigAIDCToolkit } from "@aidc-toolkit/dev";
1
+ import { tsupConfig } from "@aidc-toolkit/dev";
2
+ import { defineConfig } from "tsup";
2
3
 
3
- export default tsupConfigAIDCToolkit;
4
+ export default defineConfig(tsupConfig);