@xivdyetools/test-utils 1.1.3 → 1.1.4

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.
@@ -24,8 +24,8 @@
24
24
  * };
25
25
  * ```
26
26
  */
27
- /** Default signing secret for tests */
28
- export declare const TEST_SIGNING_SECRET = "test-signing-secret";
27
+ /** Default signing secret for tests (>= 32 bytes for FINDING-009 HMAC minimum) */
28
+ export declare const TEST_SIGNING_SECRET = "test-signing-secret-at-least-32-bytes!!!";
29
29
  /**
30
30
  * Creates an HMAC-SHA256 signature for bot authentication
31
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAInD;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,OAAO,CAAC,CAGlB"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,6CAA6C,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAInD;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,OAAO,CAAC,CAGlB"}
@@ -25,8 +25,8 @@
25
25
  * ```
26
26
  */
27
27
  import { bytesToHex } from '../utils/crypto.js';
28
- /** Default signing secret for tests */
29
- export const TEST_SIGNING_SECRET = 'test-signing-secret';
28
+ /** Default signing secret for tests (>= 32 bytes for FINDING-009 HMAC minimum) */
29
+ export const TEST_SIGNING_SECRET = 'test-signing-secret-at-least-32-bytes!!!';
30
30
  /**
31
31
  * Creates an HMAC-SHA256 signature for bot authentication
32
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,uCAAuC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,OAAO,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtF,OAAO,SAAS,KAAK,QAAQ,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,OAAO,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtF,OAAO,SAAS,KAAK,QAAQ,CAAC;AAChC,CAAC"}
@@ -9,7 +9,7 @@
9
9
  * const row = createMockCategoryRow({ is_curated: 1 });
10
10
  * ```
11
11
  */
12
- import { nextStringId, nextId } from '../utils/counters.js';
12
+ import { randomStringId, randomId } from '../utils/counters.js';
13
13
  /**
14
14
  * Creates a mock category row (as returned from database)
15
15
  *
@@ -17,8 +17,8 @@ import { nextStringId, nextId } from '../utils/counters.js';
17
17
  * @returns A CategoryRow object
18
18
  */
19
19
  export function createMockCategoryRow(overrides = {}) {
20
- const id = overrides.id ?? nextStringId('category');
21
- const displayOrder = overrides.display_order ?? nextId('category-order');
20
+ const id = overrides.id ?? randomStringId('category');
21
+ const displayOrder = overrides.display_order ?? randomId();
22
22
  return {
23
23
  id,
24
24
  name: 'Test Category',
@@ -36,8 +36,8 @@ export function createMockCategoryRow(overrides = {}) {
36
36
  * @returns A Category object
37
37
  */
38
38
  export function createMockCategory(overrides = {}) {
39
- const id = overrides.id ?? nextStringId('category');
40
- const displayOrder = overrides.display_order ?? nextId('category-order');
39
+ const id = overrides.id ?? randomStringId('category');
40
+ const displayOrder = overrides.display_order ?? randomId();
41
41
  return {
42
42
  id,
43
43
  name: 'Test Category',
@@ -1 +1 @@
1
- {"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/factories/category.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/factories/category.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * const dye = createMockDye({ name: 'Custom Dye', hex: '#FF0000' });
16
16
  * ```
17
17
  */
18
- import { nextId } from '../utils/counters.js';
18
+ import { randomId } from '../utils/counters.js';
19
19
  /**
20
20
  * Sample mock dyes for testing
21
21
  *
@@ -126,7 +126,7 @@ export const mockDyes = [
126
126
  * @returns A Dye object
127
127
  */
128
128
  export function createMockDye(overrides = {}) {
129
- const id = overrides.id ?? nextId('dye');
129
+ const id = overrides.id ?? randomId();
130
130
  const itemID = overrides.itemID ?? 5700 + id;
131
131
  return {
132
132
  itemID,
@@ -1 +1 @@
1
- {"version":3,"file":"dye.js","sourceRoot":"","sources":["../../src/factories/dye.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dye.js","sourceRoot":"","sources":["../../src/factories/dye.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ export * from './category.js';
9
9
  export * from './vote.js';
10
10
  export * from './user.js';
11
11
  export * from './dye.js';
12
- export { randomId, randomStringId, resetCounters, resetCounter, getCounterValue, } from '../utils/counters.js';
12
+ export { randomId, randomStringId, } from '../utils/counters.js';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAIzB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAIzB,OAAO,EACL,QAAQ,EACR,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -11,5 +11,5 @@ export * from './user.js';
11
11
  export * from './dye.js';
12
12
  // Re-export ID utilities for test setup
13
13
  // TEST-DESIGN-001: randomId and randomStringId are the recommended functions for parallel-safe tests
14
- export { randomId, randomStringId, resetCounters, resetCounter, getCounterValue, } from '../utils/counters.js';
14
+ export { randomId, randomStringId, } from '../utils/counters.js';
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAEzB,wCAAwC;AACxC,qGAAqG;AACrG,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAEzB,wCAAwC;AACxC,qGAAqG;AACrG,OAAO,EACL,QAAQ,EACR,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -2,15 +2,11 @@
2
2
  * ID generation utilities for test factories
3
3
  *
4
4
  * TEST-DESIGN-001: Uses random IDs to prevent race conditions in parallel test execution.
5
- * Sequential counters are kept for backward compatibility but random IDs are now the default.
6
5
  *
7
6
  * @example
8
7
  * ```typescript
9
- * // Recommended: Random IDs (safe for parallel tests)
10
8
  * const id = randomStringId('preset'); // 'preset-a7x9k2m'
11
- *
12
- * // Legacy: Sequential IDs (call resetCounters() in beforeEach for isolation)
13
- * const seqId = nextStringId('preset'); // 'preset-1'
9
+ * const numId = randomId(); // 438291057
14
10
  * ```
15
11
  */
16
12
  /**
@@ -27,33 +23,10 @@ export declare function randomId(): number;
27
23
  */
28
24
  export declare function randomStringId(prefix: string): string;
29
25
  /**
30
- * Get the next value for a named counter (legacy)
31
- * @deprecated Use randomId() for parallel-safe ID generation
32
- * @param name - The counter name (e.g., 'preset', 'category')
33
- * @returns The next sequential value
34
- */
35
- export declare function nextId(name: string): number;
36
- /**
37
- * Get a string ID with prefix (legacy)
38
- * TEST-DESIGN-001: Now uses random IDs by default for parallel-safe execution
26
+ * Get a string ID with prefix
27
+ * TEST-DESIGN-001: Delegates to randomStringId for parallel-safe execution
39
28
  * @param prefix - The ID prefix (e.g., 'preset', 'category')
40
29
  * @returns A string ID like 'preset-a7x9k2m'
41
30
  */
42
31
  export declare function nextStringId(prefix: string): string;
43
- /**
44
- * Reset all counters to zero
45
- * Call this in beforeEach() for test isolation
46
- */
47
- export declare function resetCounters(): void;
48
- /**
49
- * Reset a specific counter
50
- * @param name - The counter name to reset
51
- */
52
- export declare function resetCounter(name: string): void;
53
- /**
54
- * Get the current value of a counter (without incrementing)
55
- * @param name - The counter name
56
- * @returns The current counter value, or 0 if not set
57
- */
58
- export declare function getCounterValue(name: string): number;
59
32
  //# sourceMappingURL=counters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"counters.d.ts","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"counters.d.ts","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -2,19 +2,13 @@
2
2
  * ID generation utilities for test factories
3
3
  *
4
4
  * TEST-DESIGN-001: Uses random IDs to prevent race conditions in parallel test execution.
5
- * Sequential counters are kept for backward compatibility but random IDs are now the default.
6
5
  *
7
6
  * @example
8
7
  * ```typescript
9
- * // Recommended: Random IDs (safe for parallel tests)
10
8
  * const id = randomStringId('preset'); // 'preset-a7x9k2m'
11
- *
12
- * // Legacy: Sequential IDs (call resetCounters() in beforeEach for isolation)
13
- * const seqId = nextStringId('preset'); // 'preset-1'
9
+ * const numId = randomId(); // 438291057
14
10
  * ```
15
11
  */
16
- // Counter storage (legacy, for backward compatibility)
17
- const counters = {};
18
12
  /**
19
13
  * Generate a random alphanumeric string
20
14
  * @param length - Length of the random string (default: 8)
@@ -46,50 +40,12 @@ export function randomStringId(prefix) {
46
40
  return `${prefix}-${randomAlphanumeric(8)}`;
47
41
  }
48
42
  /**
49
- * Get the next value for a named counter (legacy)
50
- * @deprecated Use randomId() for parallel-safe ID generation
51
- * @param name - The counter name (e.g., 'preset', 'category')
52
- * @returns The next sequential value
53
- */
54
- export function nextId(name) {
55
- if (!(name in counters)) {
56
- counters[name] = 0;
57
- }
58
- counters[name]++;
59
- return counters[name];
60
- }
61
- /**
62
- * Get a string ID with prefix (legacy)
63
- * TEST-DESIGN-001: Now uses random IDs by default for parallel-safe execution
43
+ * Get a string ID with prefix
44
+ * TEST-DESIGN-001: Delegates to randomStringId for parallel-safe execution
64
45
  * @param prefix - The ID prefix (e.g., 'preset', 'category')
65
46
  * @returns A string ID like 'preset-a7x9k2m'
66
47
  */
67
48
  export function nextStringId(prefix) {
68
- // TEST-DESIGN-001: Use random IDs by default for parallel test safety
69
49
  return randomStringId(prefix);
70
50
  }
71
- /**
72
- * Reset all counters to zero
73
- * Call this in beforeEach() for test isolation
74
- */
75
- export function resetCounters() {
76
- for (const key in counters) {
77
- delete counters[key];
78
- }
79
- }
80
- /**
81
- * Reset a specific counter
82
- * @param name - The counter name to reset
83
- */
84
- export function resetCounter(name) {
85
- delete counters[name];
86
- }
87
- /**
88
- * Get the current value of a counter (without incrementing)
89
- * @param name - The counter name
90
- * @returns The current counter value, or 0 if not set
91
- */
92
- export function getCounterValue(name) {
93
- return counters[name] ?? 0;
94
- }
95
51
  //# sourceMappingURL=counters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"counters.js","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uDAAuD;AACvD,MAAM,QAAQ,GAA2B,EAAE,CAAC;AAE5C;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,SAAiB,CAAC;IAC5C,MAAM,KAAK,GAAG,sCAAsC,CAAC;IACrD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,iBAAiB;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,sEAAsE;IACtE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"counters.js","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,SAAiB,CAAC;IAC5C,MAAM,KAAK,GAAG,sCAAsC,CAAC;IACrD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,iBAAiB;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xivdyetools/test-utils",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "Shared testing utilities for the xivdyetools ecosystem",
5
5
  "author": "XIV Dye Tools",
6
6
  "license": "MIT",
@@ -51,11 +51,11 @@
51
51
  }
52
52
  },
53
53
  "dependencies": {
54
- "@xivdyetools/types": "1.8.0",
55
- "@xivdyetools/crypto": "1.1.0"
54
+ "@xivdyetools/crypto": "1.1.0",
55
+ "@xivdyetools/types": "1.9.0"
56
56
  },
57
57
  "devDependencies": {
58
- "@cloudflare/workers-types": "^4.20260207.0",
58
+ "@cloudflare/workers-types": "^4.20260302.0",
59
59
  "@testing-library/dom": "^10.0.0",
60
60
  "@vitest/coverage-v8": "^4.0.18",
61
61
  "vitest": "^4.0.18"