@xivdyetools/test-utils 1.1.0 → 1.1.2
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.
- package/LICENSE +37 -37
- package/README.md +157 -158
- package/dist/cloudflare/d1.d.ts.map +1 -1
- package/dist/cloudflare/d1.js +9 -4
- package/dist/cloudflare/d1.js.map +1 -1
- package/dist/cloudflare/fetcher.d.ts.map +1 -1
- package/dist/cloudflare/fetcher.js +20 -8
- package/dist/cloudflare/fetcher.js.map +1 -1
- package/dist/cloudflare/kv.js +1 -1
- package/dist/cloudflare/kv.js.map +1 -1
- package/dist/dom/canvas.d.ts.map +1 -1
- package/dist/dom/canvas.js +1 -3
- package/dist/dom/canvas.js.map +1 -1
- package/dist/dom/localStorage.js +2 -4
- package/dist/dom/localStorage.js.map +1 -1
- package/dist/dom/resizeObserver.js +4 -3
- package/dist/dom/resizeObserver.js.map +1 -1
- package/dist/factories/dye.d.ts.map +1 -1
- package/dist/factories/dye.js +7 -0
- package/dist/factories/dye.js.map +1 -1
- package/dist/utils/crypto.d.ts +2 -47
- package/dist/utils/crypto.d.ts.map +1 -1
- package/dist/utils/crypto.js +2 -87
- package/dist/utils/crypto.js.map +1 -1
- package/package.json +87 -87
package/LICENSE
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Flash Galatine
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All Rights Reserved.
|
|
26
|
-
|
|
27
|
-
This project is a fan-made tool and is not affiliated with, endorsed by, or
|
|
28
|
-
sponsored by Square Enix Co., Ltd. FINAL FANTASY is a registered trademark
|
|
29
|
-
of Square Enix Holdings Co., Ltd.
|
|
30
|
-
|
|
31
|
-
Game data, including dye names, colors, and acquisition methods, are property
|
|
32
|
-
of Square Enix Co., Ltd. and are used under fair use for educational and
|
|
33
|
-
informational purposes only.
|
|
34
|
-
|
|
35
|
-
Market board data is provided by Universalis (https://universalis.app/),
|
|
36
|
-
an independent third-party service not affiliated with Square Enix.
|
|
37
|
-
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Flash Galatine
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All Rights Reserved.
|
|
26
|
+
|
|
27
|
+
This project is a fan-made tool and is not affiliated with, endorsed by, or
|
|
28
|
+
sponsored by Square Enix Co., Ltd. FINAL FANTASY is a registered trademark
|
|
29
|
+
of Square Enix Holdings Co., Ltd.
|
|
30
|
+
|
|
31
|
+
Game data, including dye names, colors, and acquisition methods, are property
|
|
32
|
+
of Square Enix Co., Ltd. and are used under fair use for educational and
|
|
33
|
+
informational purposes only.
|
|
34
|
+
|
|
35
|
+
Market board data is provided by Universalis (https://universalis.app/),
|
|
36
|
+
an independent third-party service not affiliated with Square Enix.
|
|
37
|
+
|
package/README.md
CHANGED
|
@@ -1,158 +1,157 @@
|
|
|
1
|
-
# @xivdyetools/test-utils
|
|
2
|
-
|
|
3
|
-
Shared testing utilities for the xivdyetools ecosystem. Provides mocks for Cloudflare Workers bindings, authentication helpers, domain object factories, and DOM utilities.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install -D @xivdyetools/test-utils
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- **Cloudflare Workers Mocks**: D1Database, KVNamespace, R2Bucket, AnalyticsEngineDataset, Fetcher (Service Bindings)
|
|
14
|
-
- **Auth Helpers**: JWT creation/verification, HMAC signatures, auth context factories
|
|
15
|
-
- **Domain Factories**: Preset, Category, Vote, User mock data factories
|
|
16
|
-
- **DOM Utilities**: localStorage mock, Canvas mock, ResizeObserver mock
|
|
17
|
-
- **Assertions**: Response assertion helpers for API testing
|
|
18
|
-
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
### Cloudflare Mocks
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
import { createMockD1Database, createMockKV, createMockFetcher } from '@xivdyetools/test-utils/cloudflare';
|
|
25
|
-
|
|
26
|
-
// D1 Database mock with query tracking
|
|
27
|
-
const db = createMockD1Database();
|
|
28
|
-
db._setupMock((query, bindings) => {
|
|
29
|
-
if (query.includes('SELECT')) return { id: 1, name: 'Test' };
|
|
30
|
-
return null;
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
// Use in your tests
|
|
34
|
-
const env = { DB: db as unknown as D1Database };
|
|
35
|
-
|
|
36
|
-
// Check what queries were executed
|
|
37
|
-
console.log(db._queries); // ['SELECT ...']
|
|
38
|
-
console.log(db._bindings); // [['param1', 'param2']]
|
|
39
|
-
|
|
40
|
-
// Reset between tests
|
|
41
|
-
db._reset();
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Auth Helpers
|
|
45
|
-
|
|
46
|
-
```typescript
|
|
47
|
-
import { createTestJWT, createBotSignature, createAuthContext } from '@xivdyetools/test-utils/auth';
|
|
48
|
-
|
|
49
|
-
// Create a valid JWT for testing
|
|
50
|
-
const jwt = await createTestJWT('your-secret', {
|
|
51
|
-
sub: 'user-123',
|
|
52
|
-
username: 'TestUser',
|
|
53
|
-
global_name: 'Test User',
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
// Create HMAC signature for bot auth
|
|
57
|
-
const signature = await createBotSignature(
|
|
58
|
-
timestamp,
|
|
59
|
-
'user-discord-id',
|
|
60
|
-
'username',
|
|
61
|
-
'signing-secret'
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
// Create auth context for middleware testing
|
|
65
|
-
const ctx = createAuthContext({ isModerator: true });
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Domain Factories
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
import {
|
|
72
|
-
createMockPreset,
|
|
73
|
-
createMockPresetRow,
|
|
74
|
-
createMockSubmission,
|
|
75
|
-
createMockUser,
|
|
76
|
-
resetCounters,
|
|
77
|
-
} from '@xivdyetools/test-utils/factories';
|
|
78
|
-
|
|
79
|
-
// Create mock domain objects
|
|
80
|
-
const preset = createMockPreset({ name: 'Custom Name' });
|
|
81
|
-
const row = createMockPresetRow({ status: 'pending' });
|
|
82
|
-
const submission = createMockSubmission();
|
|
83
|
-
|
|
84
|
-
// Reset auto-increment counters between tests
|
|
85
|
-
beforeEach(() => resetCounters());
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### DOM Utilities
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
import { MockLocalStorage, setupCanvasMocks, setupResizeObserverMock } from '@xivdyetools/test-utils/dom';
|
|
92
|
-
|
|
93
|
-
// Mock localStorage
|
|
94
|
-
const storage = new MockLocalStorage();
|
|
95
|
-
global.localStorage = storage;
|
|
96
|
-
|
|
97
|
-
// Setup canvas mocks for chart testing
|
|
98
|
-
setupCanvasMocks();
|
|
99
|
-
|
|
100
|
-
// Setup ResizeObserver mock
|
|
101
|
-
setupResizeObserverMock();
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Assertions
|
|
105
|
-
|
|
106
|
-
```typescript
|
|
107
|
-
import { assertJsonResponse } from '@xivdyetools/test-utils/assertions';
|
|
108
|
-
|
|
109
|
-
const response = await app.request('/api/v1/presets');
|
|
110
|
-
const body = await assertJsonResponse<{ presets: Preset[] }>(response, 200);
|
|
111
|
-
expect(body.presets).toHaveLength(1);
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Constants
|
|
115
|
-
|
|
116
|
-
```typescript
|
|
117
|
-
import { VALID_CODE_VERIFIER, VALID_CODE_CHALLENGE } from '@xivdyetools/test-utils/constants';
|
|
118
|
-
|
|
119
|
-
// RFC 7636 compliant PKCE test values
|
|
120
|
-
const params = new URLSearchParams({
|
|
121
|
-
code_verifier: VALID_CODE_VERIFIER,
|
|
122
|
-
code_challenge: VALID_CODE_CHALLENGE,
|
|
123
|
-
});
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Subpath Exports
|
|
127
|
-
|
|
128
|
-
| Import Path | Contents |
|
|
129
|
-
|-------------|----------|
|
|
130
|
-
| `@xivdyetools/test-utils` | All exports |
|
|
131
|
-
| `@xivdyetools/test-utils/cloudflare` | Cloudflare Workers mocks |
|
|
132
|
-
| `@xivdyetools/test-utils/auth` | Authentication helpers |
|
|
133
|
-
| `@xivdyetools/test-utils/factories` | Domain object factories |
|
|
134
|
-
| `@xivdyetools/test-utils/dom` | DOM/browser utilities |
|
|
135
|
-
| `@xivdyetools/test-utils/assertions` | Response assertions |
|
|
136
|
-
| `@xivdyetools/test-utils/constants` | Test constants (PKCE, etc.) |
|
|
137
|
-
|
|
138
|
-
## TypeScript
|
|
139
|
-
|
|
140
|
-
This package includes full TypeScript support. Cloudflare Workers types are included via `@cloudflare/workers-types`.
|
|
141
|
-
|
|
142
|
-
## Connect With Me
|
|
143
|
-
|
|
144
|
-
**Flash Galatine** |
|
|
145
|
-
|
|
146
|
-
🎮 **FFXIV**: [Lodestone Character](https://na.finalfantasyxiv.com/lodestone/character/7677106/)
|
|
147
|
-
📝 **Blog**: [Project Galatine](https://blog.projectgalatine.com/)
|
|
148
|
-
💻 **GitHub**: [@FlashGalatine](https://github.com/FlashGalatine)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
MIT © 2025 Flash Galatine
|
|
1
|
+
# @xivdyetools/test-utils
|
|
2
|
+
|
|
3
|
+
Shared testing utilities for the xivdyetools ecosystem. Provides mocks for Cloudflare Workers bindings, authentication helpers, domain object factories, and DOM utilities.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -D @xivdyetools/test-utils
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **Cloudflare Workers Mocks**: D1Database, KVNamespace, R2Bucket, AnalyticsEngineDataset, Fetcher (Service Bindings)
|
|
14
|
+
- **Auth Helpers**: JWT creation/verification, HMAC signatures, auth context factories
|
|
15
|
+
- **Domain Factories**: Preset, Category, Vote, User mock data factories
|
|
16
|
+
- **DOM Utilities**: localStorage mock, Canvas mock, ResizeObserver mock
|
|
17
|
+
- **Assertions**: Response assertion helpers for API testing
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### Cloudflare Mocks
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { createMockD1Database, createMockKV, createMockFetcher } from '@xivdyetools/test-utils/cloudflare';
|
|
25
|
+
|
|
26
|
+
// D1 Database mock with query tracking
|
|
27
|
+
const db = createMockD1Database();
|
|
28
|
+
db._setupMock((query, bindings) => {
|
|
29
|
+
if (query.includes('SELECT')) return { id: 1, name: 'Test' };
|
|
30
|
+
return null;
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Use in your tests
|
|
34
|
+
const env = { DB: db as unknown as D1Database };
|
|
35
|
+
|
|
36
|
+
// Check what queries were executed
|
|
37
|
+
console.log(db._queries); // ['SELECT ...']
|
|
38
|
+
console.log(db._bindings); // [['param1', 'param2']]
|
|
39
|
+
|
|
40
|
+
// Reset between tests
|
|
41
|
+
db._reset();
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Auth Helpers
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
import { createTestJWT, createBotSignature, createAuthContext } from '@xivdyetools/test-utils/auth';
|
|
48
|
+
|
|
49
|
+
// Create a valid JWT for testing
|
|
50
|
+
const jwt = await createTestJWT('your-secret', {
|
|
51
|
+
sub: 'user-123',
|
|
52
|
+
username: 'TestUser',
|
|
53
|
+
global_name: 'Test User',
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Create HMAC signature for bot auth
|
|
57
|
+
const signature = await createBotSignature(
|
|
58
|
+
timestamp,
|
|
59
|
+
'user-discord-id',
|
|
60
|
+
'username',
|
|
61
|
+
'signing-secret'
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
// Create auth context for middleware testing
|
|
65
|
+
const ctx = createAuthContext({ isModerator: true });
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Domain Factories
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
import {
|
|
72
|
+
createMockPreset,
|
|
73
|
+
createMockPresetRow,
|
|
74
|
+
createMockSubmission,
|
|
75
|
+
createMockUser,
|
|
76
|
+
resetCounters,
|
|
77
|
+
} from '@xivdyetools/test-utils/factories';
|
|
78
|
+
|
|
79
|
+
// Create mock domain objects
|
|
80
|
+
const preset = createMockPreset({ name: 'Custom Name' });
|
|
81
|
+
const row = createMockPresetRow({ status: 'pending' });
|
|
82
|
+
const submission = createMockSubmission();
|
|
83
|
+
|
|
84
|
+
// Reset auto-increment counters between tests
|
|
85
|
+
beforeEach(() => resetCounters());
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### DOM Utilities
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { MockLocalStorage, setupCanvasMocks, setupResizeObserverMock } from '@xivdyetools/test-utils/dom';
|
|
92
|
+
|
|
93
|
+
// Mock localStorage
|
|
94
|
+
const storage = new MockLocalStorage();
|
|
95
|
+
global.localStorage = storage;
|
|
96
|
+
|
|
97
|
+
// Setup canvas mocks for chart testing
|
|
98
|
+
setupCanvasMocks();
|
|
99
|
+
|
|
100
|
+
// Setup ResizeObserver mock
|
|
101
|
+
setupResizeObserverMock();
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Assertions
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { assertJsonResponse } from '@xivdyetools/test-utils/assertions';
|
|
108
|
+
|
|
109
|
+
const response = await app.request('/api/v1/presets');
|
|
110
|
+
const body = await assertJsonResponse<{ presets: Preset[] }>(response, 200);
|
|
111
|
+
expect(body.presets).toHaveLength(1);
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Constants
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
import { VALID_CODE_VERIFIER, VALID_CODE_CHALLENGE } from '@xivdyetools/test-utils/constants';
|
|
118
|
+
|
|
119
|
+
// RFC 7636 compliant PKCE test values
|
|
120
|
+
const params = new URLSearchParams({
|
|
121
|
+
code_verifier: VALID_CODE_VERIFIER,
|
|
122
|
+
code_challenge: VALID_CODE_CHALLENGE,
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Subpath Exports
|
|
127
|
+
|
|
128
|
+
| Import Path | Contents |
|
|
129
|
+
|-------------|----------|
|
|
130
|
+
| `@xivdyetools/test-utils` | All exports |
|
|
131
|
+
| `@xivdyetools/test-utils/cloudflare` | Cloudflare Workers mocks |
|
|
132
|
+
| `@xivdyetools/test-utils/auth` | Authentication helpers |
|
|
133
|
+
| `@xivdyetools/test-utils/factories` | Domain object factories |
|
|
134
|
+
| `@xivdyetools/test-utils/dom` | DOM/browser utilities |
|
|
135
|
+
| `@xivdyetools/test-utils/assertions` | Response assertions |
|
|
136
|
+
| `@xivdyetools/test-utils/constants` | Test constants (PKCE, etc.) |
|
|
137
|
+
|
|
138
|
+
## TypeScript
|
|
139
|
+
|
|
140
|
+
This package includes full TypeScript support. Cloudflare Workers types are included via `@cloudflare/workers-types`.
|
|
141
|
+
|
|
142
|
+
## Connect With Me
|
|
143
|
+
|
|
144
|
+
**Flash Galatine** | Midgardsormr (Aether)
|
|
145
|
+
|
|
146
|
+
🎮 **FFXIV**: [Lodestone Character](https://na.finalfantasyxiv.com/lodestone/character/7677106/)
|
|
147
|
+
📝 **Blog**: [Project Galatine](https://blog.projectgalatine.com/)
|
|
148
|
+
💻 **GitHub**: [@FlashGalatine](https://github.com/FlashGalatine)
|
|
149
|
+
📺 **Twitch**: [flashgalatine](https://www.twitch.tv/flashgalatine)
|
|
150
|
+
🌐 **BlueSky**: [projectgalatine.com](https://bsky.app/profile/projectgalatine.com)
|
|
151
|
+
❤️ **Patreon**: [ProjectGalatine](https://patreon.com/ProjectGalatine)
|
|
152
|
+
☕ **Ko-Fi**: [flashgalatine](https://ko-fi.com/flashgalatine)
|
|
153
|
+
💬 **Discord**: [Join Server](https://discord.gg/5VUSKTZCe5)
|
|
154
|
+
|
|
155
|
+
## License
|
|
156
|
+
|
|
157
|
+
MIT © 2025-2026 Flash Galatine
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE1E;;GAEG;AACH;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO;IACnC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,uBAAuB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,OAAO,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"d1.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"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"}
|
package/dist/cloudflare/d1.js
CHANGED
|
@@ -81,13 +81,18 @@ export function createMockD1Database(config) {
|
|
|
81
81
|
first: async () => {
|
|
82
82
|
queries.push(query);
|
|
83
83
|
enforceMaxHistory();
|
|
84
|
-
// Special handling for
|
|
85
|
-
//
|
|
86
|
-
|
|
84
|
+
// Special handling for ban-check queries (SELECT 1 FROM banned_users)
|
|
85
|
+
// to prevent false ban detection in middleware.
|
|
86
|
+
// Use _setBanStatus(true) to simulate a banned user in tests.
|
|
87
|
+
// Other banned_users queries (e.g., SELECT * FROM banned_users for
|
|
88
|
+
// getActiveBan) are handled by mockFn like any other query.
|
|
89
|
+
const isBanCheckQuery = query.includes('banned_users') && /SELECT\s+1\s+FROM/i.test(query);
|
|
90
|
+
if (isBanCheckQuery) {
|
|
87
91
|
if (banStatus === true) {
|
|
88
92
|
return { 1: 1 }; // User is banned
|
|
89
93
|
}
|
|
90
|
-
// Default: user not banned (don't call mockFn to avoid side effects
|
|
94
|
+
// Default: user not banned (don't call mockFn to avoid side effects
|
|
95
|
+
// from generic catch-all mocks that return non-null for all queries)
|
|
91
96
|
return null;
|
|
92
97
|
}
|
|
93
98
|
if (mockFn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1.js","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;
|
|
1
|
+
{"version":3,"file":"d1.js","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../src/cloudflare/fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3E,yFAAyF;IACzF,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,mDAAmD;IACnD,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAErH,sCAAsC;IACtC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC;IAEpG,8CAA8C;IAC9C,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,kDAAkD;IAClD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAE5F,gEAAgE;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../src/cloudflare/fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3E,yFAAyF;IACzF,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,mDAAmD;IACnD,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAErH,sCAAsC;IACtC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC;IAEpG,8CAA8C;IAC9C,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,kDAAkD;IAClD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAE5F,gEAAgE;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAKD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CA2IzE"}
|
|
@@ -77,20 +77,32 @@ export function createMockFetcher(config) {
|
|
|
77
77
|
const url = input instanceof Request ? input.url : input.toString();
|
|
78
78
|
const method = init?.method ?? (input instanceof Request ? input.method : 'GET');
|
|
79
79
|
const headers = {};
|
|
80
|
-
// Extract headers
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
// Extract headers from init or from Request object
|
|
81
|
+
const headerSource = init?.headers ?? (input instanceof Request ? input.headers : undefined);
|
|
82
|
+
if (headerSource) {
|
|
83
|
+
if (headerSource instanceof Headers) {
|
|
84
|
+
headerSource.forEach((value, key) => {
|
|
84
85
|
headers[key] = value;
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
|
-
else if (Array.isArray(
|
|
88
|
-
for (const [key, value] of
|
|
88
|
+
else if (Array.isArray(headerSource)) {
|
|
89
|
+
for (const [key, value] of headerSource) {
|
|
89
90
|
headers[key] = value;
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
else {
|
|
93
|
-
Object.assign(headers,
|
|
94
|
+
Object.assign(headers, headerSource);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Extract body from init or from Request object
|
|
98
|
+
let bodyText = init?.body ? (typeof init.body === 'string' ? init.body : JSON.stringify(init.body)) : undefined;
|
|
99
|
+
if (bodyText === undefined && input instanceof Request) {
|
|
100
|
+
try {
|
|
101
|
+
const cloned = input.clone();
|
|
102
|
+
bodyText = await cloned.text() || undefined;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Body may have already been consumed
|
|
94
106
|
}
|
|
95
107
|
}
|
|
96
108
|
// Record the call (with memory limit enforcement)
|
|
@@ -98,7 +110,7 @@ export function createMockFetcher(config) {
|
|
|
98
110
|
url,
|
|
99
111
|
method,
|
|
100
112
|
headers,
|
|
101
|
-
body:
|
|
113
|
+
body: bodyText,
|
|
102
114
|
timestamp: Date.now(),
|
|
103
115
|
});
|
|
104
116
|
// Enforce max history limit (FIFO eviction) to prevent memory leaks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../src/cloudflare/fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAuDH,wCAAwC;AACxC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IACjE,IAAI,aAA8F,CAAC;IACnG,IAAI,eAAe,GAAuB;QACxC,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACxB,CAAC;IACF,IAAI,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,wBAAwB,CAAC;IAExE,MAAM,cAAc,GAAG,CAAC,MAA0B,EAAY,EAAE;QAC9D,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpE,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAkC,EAAE;QAC3E,iCAAiC;QACjC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,OAAO,YAAY,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;YAC/E,MAAM,GAAG,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjF,MAAM,OAAO,GAA2B,EAAE,CAAC;YAE3C,
|
|
1
|
+
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../src/cloudflare/fetcher.ts"],"names":[],"mappings":"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"}
|
package/dist/cloudflare/kv.js
CHANGED
|
@@ -109,7 +109,7 @@ export function createMockKV() {
|
|
|
109
109
|
const prefix = options?.prefix ?? '';
|
|
110
110
|
const limit = options?.limit ?? 1000;
|
|
111
111
|
const expiredKeys = [];
|
|
112
|
-
for (const [key
|
|
112
|
+
for (const [key] of store.entries()) {
|
|
113
113
|
if (key.startsWith(prefix)) {
|
|
114
114
|
if (isExpiredAt(key, nowSeconds)) {
|
|
115
115
|
// Collect expired keys for cleanup after iteration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv.js","sourceRoot":"","sources":["../../src/cloudflare/kv.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"kv.js","sourceRoot":"","sources":["../../src/cloudflare/kv.ts"],"names":[],"mappings":"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"}
|
package/dist/dom/canvas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/dom/canvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF,YAAY,EAAE,MAAM;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,oBAAoB,EAAE,MAAM;QAAE,YAAY,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACzD,oBAAoB,EAAE,MAAM;QAAE,YAAY,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACzD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,WAAW,EAAE,MAAM,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;IAGxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAoE3D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/dom/canvas.ts"],"names":[],"mappings":"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"}
|
package/dist/dom/canvas.js
CHANGED
|
@@ -102,9 +102,7 @@ export function setupCanvasMocks() {
|
|
|
102
102
|
const mockContext = createMockCanvasContext();
|
|
103
103
|
// Mock getContext - cast to any to satisfy TypeScript's strict overload signatures
|
|
104
104
|
// This is intentional for testing purposes where we don't need the full context API
|
|
105
|
-
HTMLCanvasElement.prototype.getContext = function (contextId
|
|
106
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
107
|
-
) {
|
|
105
|
+
HTMLCanvasElement.prototype.getContext = function (contextId) {
|
|
108
106
|
if (contextId === '2d') {
|
|
109
107
|
return {
|
|
110
108
|
...mockContext,
|
package/dist/dom/canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/dom/canvas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/dom/canvas.ts"],"names":[],"mappings":"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"}
|
package/dist/dom/localStorage.js
CHANGED
|
@@ -26,10 +26,8 @@
|
|
|
26
26
|
* Mock implementation of the Storage interface
|
|
27
27
|
*/
|
|
28
28
|
export class MockLocalStorage {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this._store = new Map();
|
|
32
|
-
}
|
|
29
|
+
/** Internal storage map */
|
|
30
|
+
_store = new Map();
|
|
33
31
|
get length() {
|
|
34
32
|
return this._store.size;
|
|
35
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../../src/dom/localStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AACH,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../../src/dom/localStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B,2BAA2B;IAClB,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,KAAa;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,GAA2B;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACvC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE;QAChD,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;CAAG;AAE3D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,kBAAkB,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE;QAClD,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -23,8 +23,11 @@
|
|
|
23
23
|
* Mock ResizeObserver class
|
|
24
24
|
*/
|
|
25
25
|
export class MockResizeObserver {
|
|
26
|
+
callback;
|
|
27
|
+
observedElements = new Set();
|
|
28
|
+
/** All active MockResizeObserver instances */
|
|
29
|
+
static instances = [];
|
|
26
30
|
constructor(callback) {
|
|
27
|
-
this.observedElements = new Set();
|
|
28
31
|
this.callback = callback;
|
|
29
32
|
MockResizeObserver.instances.push(this);
|
|
30
33
|
}
|
|
@@ -81,8 +84,6 @@ export class MockResizeObserver {
|
|
|
81
84
|
MockResizeObserver.instances = [];
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
|
-
/** All active MockResizeObserver instances */
|
|
85
|
-
MockResizeObserver.instances = [];
|
|
86
87
|
/**
|
|
87
88
|
* Sets up ResizeObserver mock on globalThis
|
|
88
89
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizeObserver.js","sourceRoot":"","sources":["../../src/dom/resizeObserver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAeH;;GAEG;AACH,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"resizeObserver.js","sourceRoot":"","sources":["../../src/dom/resizeObserver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAeH;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,QAAQ,CAAyB;IACjC,gBAAgB,GAAiB,IAAI,GAAG,EAAE,CAAC;IAEnD,8CAA8C;IAC9C,MAAM,CAAC,SAAS,GAAyB,EAAE,CAAC;IAE5C,YAAY,QAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,MAAe;QACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,MAAe;QACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACf,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAqE;QAC3E,MAAM,WAAW,GAA8B,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACnE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;YAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;YAEnC,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAEtD,OAAO;gBACL,MAAM;gBACN,WAAW,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC7C,aAAa,EAAE,CAAC,IAAI,CAAC;gBACrB,cAAc,EAAE,CAAC,IAAI,CAAC;gBACtB,yBAAyB,EAAE,CAAC,IAAI,CAAC;aAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,WAAoC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,OAAmD;QACnE,KAAK,MAAM,QAAQ,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAC;YACpD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,kBAAkB,CAAC,SAAS,GAAG,EAAE,CAAC;IACpC,CAAC;;AAGH;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,kBAAkB,CAAC,cAAc,EAAE,CAAC;IACpC,UAAU,CAAC,cAAc,GAAG,kBAAsD,CAAC;AACrF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgC;IAEhC,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dye.d.ts","sourceRoot":"","sources":["../../src/factories/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAIlD,YAAY,EAAE,GAAG,EAAE,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"dye.d.ts","sourceRoot":"","sources":["../../src/factories/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAIlD,YAAY,EAAE,GAAG,EAAE,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,GAAG,EAiGzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,GAAG,CAAM,GAAG,GAAG,CAqB/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,OAAO,CAAC,GAAG,CAAM,GAC3B,GAAG,EAAE,CAEP;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,GAAG,CAAM,GAAG,GAAG,CAKnE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,OAAO,CAAC,GAAG,CAAM,GAAG,GAAG,CAKjE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,GAAG,CAAM,GAAG,GAAG,CAQ/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAIrD"}
|
package/dist/factories/dye.js
CHANGED
|
@@ -24,6 +24,7 @@ import { nextId } from '../utils/counters.js';
|
|
|
24
24
|
export const mockDyes = [
|
|
25
25
|
{
|
|
26
26
|
itemID: 5729,
|
|
27
|
+
stainID: 1,
|
|
27
28
|
id: 1,
|
|
28
29
|
name: 'Snow White',
|
|
29
30
|
hex: '#FFFFFF',
|
|
@@ -39,6 +40,7 @@ export const mockDyes = [
|
|
|
39
40
|
},
|
|
40
41
|
{
|
|
41
42
|
itemID: 5730,
|
|
43
|
+
stainID: 2,
|
|
42
44
|
id: 2,
|
|
43
45
|
name: 'Soot Black',
|
|
44
46
|
hex: '#000000',
|
|
@@ -54,6 +56,7 @@ export const mockDyes = [
|
|
|
54
56
|
},
|
|
55
57
|
{
|
|
56
58
|
itemID: 5731,
|
|
59
|
+
stainID: 3,
|
|
57
60
|
id: 3,
|
|
58
61
|
name: 'Dalamud Red',
|
|
59
62
|
hex: '#FF0000',
|
|
@@ -69,6 +72,7 @@ export const mockDyes = [
|
|
|
69
72
|
},
|
|
70
73
|
{
|
|
71
74
|
itemID: 5732,
|
|
75
|
+
stainID: 4,
|
|
72
76
|
id: 4,
|
|
73
77
|
name: 'Royal Blue',
|
|
74
78
|
hex: '#0000FF',
|
|
@@ -84,6 +88,7 @@ export const mockDyes = [
|
|
|
84
88
|
},
|
|
85
89
|
{
|
|
86
90
|
itemID: 5733,
|
|
91
|
+
stainID: 5,
|
|
87
92
|
id: 5,
|
|
88
93
|
name: 'Metallic Gold',
|
|
89
94
|
hex: '#FFD700',
|
|
@@ -99,6 +104,7 @@ export const mockDyes = [
|
|
|
99
104
|
},
|
|
100
105
|
{
|
|
101
106
|
itemID: 5734,
|
|
107
|
+
stainID: 6,
|
|
102
108
|
id: 6,
|
|
103
109
|
name: 'Pastel Pink',
|
|
104
110
|
hex: '#FFB6C1',
|
|
@@ -124,6 +130,7 @@ export function createMockDye(overrides = {}) {
|
|
|
124
130
|
const itemID = overrides.itemID ?? 5700 + id;
|
|
125
131
|
return {
|
|
126
132
|
itemID,
|
|
133
|
+
stainID: overrides.stainID ?? id,
|
|
127
134
|
id,
|
|
128
135
|
name: `Test Dye ${id}`,
|
|
129
136
|
hex: '#888888',
|
|
@@ -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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"}
|
package/dist/utils/crypto.d.ts
CHANGED
|
@@ -1,52 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cryptographic utilities for test helpers
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* REFACTOR-001: Re-exports from @xivdyetools/crypto to consolidate implementations
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
* Encode a string to Base64URL format (RFC 4648)
|
|
8
|
-
* Used for JWT header and payload encoding
|
|
9
|
-
*
|
|
10
|
-
* @param str - The string to encode
|
|
11
|
-
* @returns Base64URL encoded string
|
|
12
|
-
*/
|
|
13
|
-
export declare function base64UrlEncode(str: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* Encode bytes to Base64URL format
|
|
16
|
-
*
|
|
17
|
-
* @param bytes - The bytes to encode
|
|
18
|
-
* @returns Base64URL encoded string
|
|
19
|
-
*/
|
|
20
|
-
export declare function base64UrlEncodeBytes(bytes: Uint8Array): string;
|
|
21
|
-
/**
|
|
22
|
-
* Decode a Base64URL string to bytes
|
|
23
|
-
*
|
|
24
|
-
* @param str - The Base64URL string to decode
|
|
25
|
-
* @returns Decoded bytes as Uint8Array
|
|
26
|
-
*/
|
|
27
|
-
export declare function base64UrlDecodeBytes(str: string): Uint8Array;
|
|
28
|
-
/**
|
|
29
|
-
* Decode a Base64URL string
|
|
30
|
-
*
|
|
31
|
-
* NOTE: For proper UTF-8 roundtrip with base64UrlEncode(), this function
|
|
32
|
-
* decodes the binary bytes back to a UTF-8 string using TextDecoder.
|
|
33
|
-
*
|
|
34
|
-
* @param str - The Base64URL string to decode
|
|
35
|
-
* @returns Decoded UTF-8 string
|
|
36
|
-
*/
|
|
37
|
-
export declare function base64UrlDecode(str: string): string;
|
|
38
|
-
/**
|
|
39
|
-
* Convert a hex string to Uint8Array
|
|
40
|
-
*
|
|
41
|
-
* @param hex - The hex string
|
|
42
|
-
* @returns Uint8Array of bytes
|
|
43
|
-
*/
|
|
44
|
-
export declare function hexToBytes(hex: string): Uint8Array;
|
|
45
|
-
/**
|
|
46
|
-
* Convert Uint8Array to hex string
|
|
47
|
-
*
|
|
48
|
-
* @param bytes - The bytes to convert
|
|
49
|
-
* @returns Hex string
|
|
50
|
-
*/
|
|
51
|
-
export declare function bytesToHex(bytes: Uint8Array): string;
|
|
6
|
+
export { base64UrlEncode, base64UrlEncodeBytes, base64UrlDecode, base64UrlDecodeBytes, hexToBytes, bytesToHex, } from '@xivdyetools/crypto';
|
|
52
7
|
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,UAAU,GACX,MAAM,qBAAqB,CAAC"}
|
package/dist/utils/crypto.js
CHANGED
|
@@ -1,92 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cryptographic utilities for test helpers
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* REFACTOR-001: Re-exports from @xivdyetools/crypto to consolidate implementations
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
* Encode a string to Base64URL format (RFC 4648)
|
|
8
|
-
* Used for JWT header and payload encoding
|
|
9
|
-
*
|
|
10
|
-
* @param str - The string to encode
|
|
11
|
-
* @returns Base64URL encoded string
|
|
12
|
-
*/
|
|
13
|
-
export function base64UrlEncode(str) {
|
|
14
|
-
const bytes = new TextEncoder().encode(str);
|
|
15
|
-
let binary = '';
|
|
16
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
17
|
-
binary += String.fromCharCode(bytes[i]);
|
|
18
|
-
}
|
|
19
|
-
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Encode bytes to Base64URL format
|
|
23
|
-
*
|
|
24
|
-
* @param bytes - The bytes to encode
|
|
25
|
-
* @returns Base64URL encoded string
|
|
26
|
-
*/
|
|
27
|
-
export function base64UrlEncodeBytes(bytes) {
|
|
28
|
-
let binary = '';
|
|
29
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
30
|
-
binary += String.fromCharCode(bytes[i]);
|
|
31
|
-
}
|
|
32
|
-
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Decode a Base64URL string to bytes
|
|
36
|
-
*
|
|
37
|
-
* @param str - The Base64URL string to decode
|
|
38
|
-
* @returns Decoded bytes as Uint8Array
|
|
39
|
-
*/
|
|
40
|
-
export function base64UrlDecodeBytes(str) {
|
|
41
|
-
// Add padding if needed
|
|
42
|
-
let base64 = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
43
|
-
while (base64.length % 4) {
|
|
44
|
-
base64 += '=';
|
|
45
|
-
}
|
|
46
|
-
// Decode to binary string
|
|
47
|
-
const binary = atob(base64);
|
|
48
|
-
// Convert binary string to Uint8Array
|
|
49
|
-
const bytes = new Uint8Array(binary.length);
|
|
50
|
-
for (let i = 0; i < binary.length; i++) {
|
|
51
|
-
bytes[i] = binary.charCodeAt(i);
|
|
52
|
-
}
|
|
53
|
-
return bytes;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Decode a Base64URL string
|
|
57
|
-
*
|
|
58
|
-
* NOTE: For proper UTF-8 roundtrip with base64UrlEncode(), this function
|
|
59
|
-
* decodes the binary bytes back to a UTF-8 string using TextDecoder.
|
|
60
|
-
*
|
|
61
|
-
* @param str - The Base64URL string to decode
|
|
62
|
-
* @returns Decoded UTF-8 string
|
|
63
|
-
*/
|
|
64
|
-
export function base64UrlDecode(str) {
|
|
65
|
-
const bytes = base64UrlDecodeBytes(str);
|
|
66
|
-
return new TextDecoder().decode(bytes);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Convert a hex string to Uint8Array
|
|
70
|
-
*
|
|
71
|
-
* @param hex - The hex string
|
|
72
|
-
* @returns Uint8Array of bytes
|
|
73
|
-
*/
|
|
74
|
-
export function hexToBytes(hex) {
|
|
75
|
-
const bytes = new Uint8Array(hex.length / 2);
|
|
76
|
-
for (let i = 0; i < hex.length; i += 2) {
|
|
77
|
-
bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
|
|
78
|
-
}
|
|
79
|
-
return bytes;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Convert Uint8Array to hex string
|
|
83
|
-
*
|
|
84
|
-
* @param bytes - The bytes to convert
|
|
85
|
-
* @returns Hex string
|
|
86
|
-
*/
|
|
87
|
-
export function bytesToHex(bytes) {
|
|
88
|
-
return Array.from(bytes)
|
|
89
|
-
.map((b) => b.toString(16).padStart(2, '0'))
|
|
90
|
-
.join('');
|
|
91
|
-
}
|
|
6
|
+
export { base64UrlEncode, base64UrlEncodeBytes, base64UrlDecode, base64UrlDecodeBytes, hexToBytes, bytesToHex, } from '@xivdyetools/crypto';
|
|
92
7
|
//# sourceMappingURL=crypto.js.map
|
package/dist/utils/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,UAAU,GACX,MAAM,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@xivdyetools/test-utils",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Shared testing utilities for the xivdyetools ecosystem",
|
|
5
|
-
"author": "XIV Dye Tools",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"type": "module",
|
|
8
|
-
"main": "dist/index.js",
|
|
9
|
-
"types": "dist/index.d.ts",
|
|
10
|
-
"exports": {
|
|
11
|
-
".": {
|
|
12
|
-
"types": "./dist/index.d.ts",
|
|
13
|
-
"import": "./dist/index.js"
|
|
14
|
-
},
|
|
15
|
-
"./cloudflare": {
|
|
16
|
-
"types": "./dist/cloudflare/index.d.ts",
|
|
17
|
-
"import": "./dist/cloudflare/index.js"
|
|
18
|
-
},
|
|
19
|
-
"./auth": {
|
|
20
|
-
"types": "./dist/auth/index.d.ts",
|
|
21
|
-
"import": "./dist/auth/index.js"
|
|
22
|
-
},
|
|
23
|
-
"./factories": {
|
|
24
|
-
"types": "./dist/factories/index.d.ts",
|
|
25
|
-
"import": "./dist/factories/index.js"
|
|
26
|
-
},
|
|
27
|
-
"./dom": {
|
|
28
|
-
"types": "./dist/dom/index.d.ts",
|
|
29
|
-
"import": "./dist/dom/index.js"
|
|
30
|
-
},
|
|
31
|
-
"./assertions": {
|
|
32
|
-
"types": "./dist/assertions/index.d.ts",
|
|
33
|
-
"import": "./dist/assertions/index.js"
|
|
34
|
-
},
|
|
35
|
-
"./constants": {
|
|
36
|
-
"types": "./dist/constants/index.d.ts",
|
|
37
|
-
"import": "./dist/constants/index.js"
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"files": [
|
|
41
|
-
"dist",
|
|
42
|
-
"README.md"
|
|
43
|
-
],
|
|
44
|
-
"sideEffects": false,
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
},
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@xivdyetools/test-utils",
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "Shared testing utilities for the xivdyetools ecosystem",
|
|
5
|
+
"author": "XIV Dye Tools",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./cloudflare": {
|
|
16
|
+
"types": "./dist/cloudflare/index.d.ts",
|
|
17
|
+
"import": "./dist/cloudflare/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./auth": {
|
|
20
|
+
"types": "./dist/auth/index.d.ts",
|
|
21
|
+
"import": "./dist/auth/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./factories": {
|
|
24
|
+
"types": "./dist/factories/index.d.ts",
|
|
25
|
+
"import": "./dist/factories/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./dom": {
|
|
28
|
+
"types": "./dist/dom/index.d.ts",
|
|
29
|
+
"import": "./dist/dom/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./assertions": {
|
|
32
|
+
"types": "./dist/assertions/index.d.ts",
|
|
33
|
+
"import": "./dist/assertions/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./constants": {
|
|
36
|
+
"types": "./dist/constants/index.d.ts",
|
|
37
|
+
"import": "./dist/constants/index.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist",
|
|
42
|
+
"README.md"
|
|
43
|
+
],
|
|
44
|
+
"sideEffects": false,
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"vitest": ">=2.0.0"
|
|
47
|
+
},
|
|
48
|
+
"peerDependenciesMeta": {
|
|
49
|
+
"vitest": {
|
|
50
|
+
"optional": false
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@xivdyetools/crypto": "1.0.0",
|
|
55
|
+
"@xivdyetools/types": "1.8.0"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@cloudflare/workers-types": "^4.20260207.0",
|
|
59
|
+
"@testing-library/dom": "^10.0.0",
|
|
60
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
61
|
+
"vitest": "^4.0.18"
|
|
62
|
+
},
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": ">=18.0.0"
|
|
65
|
+
},
|
|
66
|
+
"keywords": [
|
|
67
|
+
"xivdyetools",
|
|
68
|
+
"testing",
|
|
69
|
+
"vitest",
|
|
70
|
+
"cloudflare-workers",
|
|
71
|
+
"mocks",
|
|
72
|
+
"test-utils"
|
|
73
|
+
],
|
|
74
|
+
"repository": {
|
|
75
|
+
"type": "git",
|
|
76
|
+
"url": "https://github.com/FlashGalatine/xivdyetools.git",
|
|
77
|
+
"directory": "packages/test-utils"
|
|
78
|
+
},
|
|
79
|
+
"scripts": {
|
|
80
|
+
"build": "tsc -p tsconfig.build.json",
|
|
81
|
+
"type-check": "tsc --noEmit",
|
|
82
|
+
"clean": "rimraf dist",
|
|
83
|
+
"lint": "eslint src",
|
|
84
|
+
"test": "vitest run",
|
|
85
|
+
"test:watch": "vitest",
|
|
86
|
+
"test:coverage": "vitest run --coverage"
|
|
87
|
+
}
|
|
88
88
|
}
|