@chunkd/source-http 10.1.2 → 11.0.1

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/CHANGELOG.md DELETED
@@ -1,504 +0,0 @@
1
- # Changelog
2
-
3
- ### Dependencies
4
-
5
- * The following workspace dependencies were updated
6
- * dependencies
7
- * @chunkd/core bumped from ^10.1.0 to ^10.1.1
8
-
9
- ### Dependencies
10
-
11
- * The following workspace dependencies were updated
12
- * dependencies
13
- * @chunkd/core bumped from ^10.2.0 to ^10.3.0
14
-
15
- ## [10.1.1](https://github.com/blacha/chunkd/compare/source-http-v10.1.0...source-http-v10.1.1) (2023-04-27)
16
-
17
-
18
- ### Bug Fixes
19
-
20
- * **source-http:** correct import as index.node.js no longer exists ([023c90e](https://github.com/blacha/chunkd/commit/023c90ed57499ea103a314e6760451ad153cc35b))
21
-
22
- ## [10.1.0](https://github.com/blacha/chunkd/compare/source-http-v10.0.2...source-http-v10.1.0) (2023-04-27)
23
-
24
-
25
- ### Features
26
-
27
- * **source-http:** support etag matching if etags are returned ([f08bb9c](https://github.com/blacha/chunkd/commit/f08bb9c2ae894026155074161161182f78efa30b))
28
- * **source-http:** use built in fetch with node>18 ([52529a3](https://github.com/blacha/chunkd/commit/52529a35fe72612915fac9c06893a871ffc4e392))
29
-
30
-
31
- ### Dependencies
32
-
33
- * The following workspace dependencies were updated
34
- * dependencies
35
- * @chunkd/core bumped from ^10.1.1 to ^10.2.0
36
-
37
- ## [10.0.0](https://github.com/blacha/chunkd/compare/source-http-v9.1.0...source-http-v10.0.0) (2022-09-21)
38
-
39
-
40
- ### ⚠ BREAKING CHANGES
41
-
42
- * add a .delete to remove files from locations
43
-
44
- ### Features
45
-
46
- * add a .delete to remove files from locations ([f93d09b](https://github.com/blacha/chunkd/commit/f93d09b9cee02bf1b97089ce756883643fdcf0e6))
47
- * force all version numbers to be the same ([4c1b7b6](https://github.com/blacha/chunkd/commit/4c1b7b6bb92b4586826b6b4c20eef5ee848eaf7b))
48
-
49
-
50
- ### Bug Fixes
51
-
52
- * foce all chunkd deps to 9.0.0 ([27b11be](https://github.com/blacha/chunkd/commit/27b11be8e730ef84a406798f2b6751d70f81041d))
53
-
54
-
55
- ### Dependencies
56
-
57
- * The following workspace dependencies were updated
58
- * dependencies
59
- * @chunkd/core bumped from ^9.1.0 to ^10.0.0
60
-
61
- ## [9.0.1](https://github.com/blacha/chunkd/compare/source-http-v9.0.0...source-http-v9.0.1) (2022-09-21)
62
-
63
-
64
- ### Bug Fixes
65
-
66
- * foce all chunkd deps to 9.0.0 ([27b11be](https://github.com/blacha/chunkd/commit/27b11be8e730ef84a406798f2b6751d70f81041d))
67
-
68
- ## [9.0.0](https://github.com/blacha/chunkd/compare/source-http-v8.4.0...source-http-v9.0.0) (2022-09-20)
69
-
70
-
71
- ### ⚠ BREAKING CHANGES
72
-
73
- * add a .delete to remove files from locations
74
-
75
- ### Features
76
-
77
- * add a .delete to remove files from locations ([f93d09b](https://github.com/blacha/chunkd/commit/f93d09b9cee02bf1b97089ce756883643fdcf0e6))
78
-
79
- ## [8.0.3](https://github.com/blacha/chunkd/compare/v8.0.2...v8.0.3) (2022-01-26)
80
-
81
- **Note:** Version bump only for package @chunkd/source-http
82
-
83
-
84
-
85
-
86
-
87
- ## [8.0.2](https://github.com/blacha/chunkd/compare/v8.0.1...v8.0.2) (2022-01-25)
88
-
89
- **Note:** Version bump only for package @chunkd/source-http
90
-
91
-
92
-
93
-
94
-
95
- ## [8.0.1](https://github.com/blacha/chunkd/compare/v8.0.0...v8.0.1) (2021-11-12)
96
-
97
- **Note:** Version bump only for package @chunkd/source-http
98
-
99
-
100
-
101
-
102
-
103
- # [8.0.0](https://github.com/blacha/chunkd/compare/v7.3.1...v8.0.0) (2021-11-12)
104
-
105
-
106
- * feat(source-aws): support aws-sdk-v3 with a S3LikeWrapper (#92) ([0d02a69](https://github.com/blacha/chunkd/commit/0d02a69499a513f7c552969d9857de92d7449bef)), closes [#92](https://github.com/blacha/chunkd/issues/92) [#88](https://github.com/blacha/chunkd/issues/88)
107
-
108
-
109
- ### BREAKING CHANGES
110
-
111
- * moves the credential helper into @chunkd/source-aws-v2
112
-
113
-
114
-
115
-
116
-
117
- ## [7.2.4](https://github.com/blacha/chunkd/compare/v7.2.3...v7.2.4) (2021-09-16)
118
-
119
- **Note:** Version bump only for package @chunkd/source-http
120
-
121
-
122
-
123
-
124
-
125
- ## [7.2.3](https://github.com/blacha/chunkd/compare/v7.2.2...v7.2.3) (2021-09-16)
126
-
127
- **Note:** Version bump only for package @chunkd/source-http
128
-
129
-
130
-
131
-
132
-
133
- ## [7.2.2](https://github.com/blacha/chunkd/compare/v7.2.1...v7.2.2) (2021-09-16)
134
-
135
- **Note:** Version bump only for package @chunkd/source-http
136
-
137
-
138
-
139
-
140
-
141
- # [7.2.0](https://github.com/blacha/chunkd/compare/v7.1.1...v7.2.0) (2021-09-15)
142
-
143
- **Note:** Version bump only for package @chunkd/source-http
144
-
145
-
146
-
147
-
148
-
149
- # [7.1.0](https://github.com/blacha/chunkd/compare/v7.0.1...v7.1.0) (2021-09-15)
150
-
151
- **Note:** Version bump only for package @chunkd/source-http
152
-
153
-
154
-
155
-
156
-
157
- ## [7.0.1](https://github.com/blacha/chunkd/compare/v7.0.0...v7.0.1) (2021-09-15)
158
-
159
-
160
- ### Bug Fixes
161
-
162
- * do not use node: imports as its not supported in node 14 ([7dea1cf](https://github.com/blacha/chunkd/commit/7dea1cffaf1ecae9db689b371f8cea3d74323a40))
163
-
164
-
165
-
166
-
167
-
168
- # [7.0.0](https://github.com/blacha/chunkd/compare/v6.0.0...v7.0.0) (2021-09-15)
169
-
170
-
171
- ### Features
172
-
173
- * add file system abstraction layer ([#34](https://github.com/blacha/chunkd/issues/34)) ([a143637](https://github.com/blacha/chunkd/commit/a143637dc876cdcd4df1e86e84de8ce18caa37d4))
174
- * add source-http to `@chunkd/fs` ([8a42472](https://github.com/blacha/chunkd/commit/8a424728ab575e9c59289a668afa83e7369bcd2a))
175
-
176
-
177
- ### BREAKING CHANGES
178
-
179
- * this renames `@chunkd/source-url` to `@chunkd/source-http`
180
-
181
-
182
-
183
-
184
-
185
- # [6.0.0](https://github.com/blacha/chunkd/compare/v5.0.0...v6.0.0) (2021-09-11)
186
-
187
- **Note:** Version bump only for package @chunkd/source-url
188
-
189
-
190
-
191
-
192
-
193
- # [5.0.0](https://github.com/blacha/chunkd/compare/v4.5.1...v5.0.0) (2021-09-11)
194
-
195
- **Note:** Version bump only for package @chunkd/source-url
196
-
197
-
198
-
199
-
200
-
201
- ## [4.5.1](https://github.com/blacha/chunkd/compare/v4.5.0...v4.5.1) (2021-07-22)
202
-
203
- **Note:** Version bump only for package @chunkd/source-url
204
-
205
-
206
-
207
-
208
-
209
- # [4.5.0](https://github.com/blacha/chunkd/compare/v4.4.0...v4.5.0) (2021-07-21)
210
-
211
- **Note:** Version bump only for package @chunkd/source-url
212
-
213
-
214
-
215
-
216
-
217
- # 4.4.0 (2021-07-21)
218
-
219
-
220
- ### Features
221
-
222
- * split from https://github.com/blacha/cogeotiff ([95c0372](https://github.com/blacha/chunkd/commit/95c03720b8eadfff4cd493695466a5b029b2727b))
223
- * support bigint when reading uint64 ([5a43991](https://github.com/blacha/chunkd/commit/5a43991ee382918e9244b786084bc693ecc10145))
224
-
225
-
226
-
227
-
228
-
229
- # [4.3.0](https://github.com/blacha/cogeotiff/compare/v4.2.0...v4.3.0) (2021-06-22)
230
-
231
- **Note:** Version bump only for package @cogeotiff/source-url
232
-
233
-
234
-
235
-
236
-
237
- # [4.2.0](https://github.com/blacha/cogeotiff/compare/v4.1.2...v4.2.0) (2021-03-25)
238
-
239
-
240
- ### Features
241
-
242
- * **chunk:** add ability to read entire file using .read() ([#664](https://github.com/blacha/cogeotiff/issues/664)) ([4db04ad](https://github.com/blacha/cogeotiff/commit/4db04adc43ab4c358526e469c712f7958381d738))
243
-
244
-
245
-
246
-
247
-
248
- ## [4.1.2](https://github.com/blacha/cogeotiff/compare/v4.1.1...v4.1.2) (2021-03-18)
249
-
250
- **Note:** Version bump only for package @cogeotiff/source-url
251
-
252
-
253
-
254
-
255
-
256
- # [4.1.0](https://github.com/blacha/cogeotiff/compare/v4.0.0...v4.1.0) (2021-02-23)
257
-
258
-
259
- ### Features
260
-
261
- * **web:** support rendering in leaflet maps ([#482](https://github.com/blacha/cogeotiff/issues/482)) ([dfb40fa](https://github.com/blacha/cogeotiff/commit/dfb40fad836d4e762bd2485a435ac402fcf1c3d6))
262
-
263
-
264
-
265
-
266
-
267
- # [4.0.0](https://github.com/blacha/cogeotiff/compare/v3.1.0...v4.0.0) (2021-02-02)
268
-
269
- **Note:** Version bump only for package @cogeotiff/source-url
270
-
271
-
272
-
273
-
274
-
275
- # [3.1.0](https://github.com/blacha/cogeotiff/compare/v3.0.0...v3.1.0) (2021-01-18)
276
-
277
- **Note:** Version bump only for package @cogeotiff/source-url
278
-
279
-
280
-
281
-
282
-
283
- # [3.0.0](https://github.com/blacha/cogeotiff/compare/v2.2.0...v3.0.0) (2020-10-30)
284
-
285
- **Note:** Version bump only for package @cogeotiff/source-url
286
-
287
-
288
-
289
-
290
-
291
- # [2.2.0](https://github.com/blacha/cogeotiff/compare/v2.1.1...v2.2.0) (2020-07-01)
292
-
293
-
294
- ### Features
295
-
296
- * adding uri for a full reference for any source ([#469](https://github.com/blacha/cogeotiff/issues/469)) ([137d9c9](https://github.com/blacha/cogeotiff/commit/137d9c9))
297
-
298
-
299
-
300
-
301
-
302
- ## [2.1.1](https://github.com/blacha/cogeotiff/compare/v2.1.0...v2.1.1) (2020-06-25)
303
-
304
- **Note:** Version bump only for package @cogeotiff/source-url
305
-
306
-
307
-
308
-
309
-
310
- # [2.1.0](https://github.com/blacha/cogeotiff/compare/v2.0.0...v2.1.0) (2020-06-14)
311
-
312
- **Note:** Version bump only for package @cogeotiff/source-url
313
-
314
-
315
-
316
-
317
-
318
- # [2.0.0](https://github.com/blacha/cogeotiff/compare/v1.1.0...v2.0.0) (2020-05-18)
319
-
320
- **Note:** Version bump only for package @cogeotiff/source-url
321
-
322
-
323
-
324
-
325
-
326
- ## [1.0.8](https://github.com/blacha/cogeotiff/compare/v1.0.7...v1.0.8) (2020-05-11)
327
-
328
- **Note:** Version bump only for package @cogeotiff/source-url
329
-
330
-
331
-
332
-
333
-
334
- ## [1.0.7](https://github.com/blacha/cogeotiff/compare/v1.0.6...v1.0.7) (2020-05-10)
335
-
336
- **Note:** Version bump only for package @cogeotiff/source-url
337
-
338
-
339
-
340
-
341
-
342
- ## [1.0.6](https://github.com/blacha/cogeotiff/compare/v1.0.5...v1.0.6) (2020-05-07)
343
-
344
- **Note:** Version bump only for package @cogeotiff/source-url
345
-
346
-
347
-
348
-
349
-
350
- ## [1.0.5](https://github.com/blacha/cogeotiff/compare/v1.0.4...v1.0.5) (2020-05-07)
351
-
352
- **Note:** Version bump only for package @cogeotiff/source-url
353
-
354
-
355
-
356
-
357
-
358
- ## [1.0.4](https://github.com/blacha/cogeotiff/compare/v1.0.3...v1.0.4) (2020-04-29)
359
-
360
- **Note:** Version bump only for package @cogeotiff/source-url
361
-
362
-
363
-
364
-
365
-
366
- ## [1.0.3](https://github.com/blacha/cogeotiff/compare/v1.0.2...v1.0.3) (2020-03-12)
367
-
368
- **Note:** Version bump only for package @cogeotiff/source-url
369
-
370
-
371
-
372
-
373
-
374
- ## [1.0.2](https://github.com/blacha/cogeotiff/compare/v1.0.1...v1.0.2) (2020-03-12)
375
-
376
- **Note:** Version bump only for package @cogeotiff/source-url
377
-
378
-
379
-
380
-
381
-
382
- ## [1.0.1](https://github.com/blacha/cogeotiff/compare/v1.0.0...v1.0.1) (2020-03-10)
383
-
384
- **Note:** Version bump only for package @cogeotiff/source-url
385
-
386
-
387
-
388
-
389
-
390
- # [1.0.0](https://github.com/blacha/cogeotiff/compare/v0.9.1...v1.0.0) (2020-03-09)
391
-
392
- **Note:** Version bump only for package @cogeotiff/source-url
393
-
394
-
395
-
396
-
397
-
398
- # [0.9.0](https://github.com/blacha/cogeotiff/compare/v0.8.0...v0.9.0) (2020-01-16)
399
-
400
- **Note:** Version bump only for package @cogeotiff/source-url
401
-
402
-
403
-
404
-
405
-
406
- # [0.8.0](https://github.com/blacha/cogeotiff/compare/v0.7.0...v0.8.0) (2020-01-16)
407
-
408
- **Note:** Version bump only for package @cogeotiff/source-url
409
-
410
-
411
-
412
-
413
-
414
- # [0.7.0](https://github.com/blacha/cogeotiff/compare/v0.6.0...v0.7.0) (2019-12-08)
415
-
416
- **Note:** Version bump only for package @cogeotiff/source-url
417
-
418
-
419
-
420
-
421
-
422
- # [0.6.0](https://github.com/blacha/cogeotiff/compare/v0.5.0...v0.6.0) (2019-11-22)
423
-
424
- **Note:** Version bump only for package @cogeotiff/source-url
425
-
426
-
427
-
428
-
429
-
430
- # [0.5.0](https://github.com/blacha/cogeotiff/compare/v0.4.1...v0.5.0) (2019-11-21)
431
-
432
-
433
- ### Features
434
-
435
- * typescript 3.7 ([ada8c2b](https://github.com/blacha/cogeotiff/commit/ada8c2b))
436
-
437
-
438
-
439
-
440
-
441
- ## [0.4.1](https://github.com/blacha/cogeotiff/compare/v0.4.0...v0.4.1) (2019-10-08)
442
-
443
- **Note:** Version bump only for package @cogeotiff/source-url
444
-
445
-
446
-
447
-
448
-
449
- # [0.4.0](https://github.com/blacha/cogeotiff/compare/v0.3.1...v0.4.0) (2019-10-08)
450
-
451
-
452
- ### Features
453
-
454
- * lazy load more data to reduce initial read time for ifd ([74e1dc7](https://github.com/blacha/cogeotiff/commit/74e1dc7))
455
-
456
-
457
-
458
-
459
-
460
- ## [0.3.1](https://github.com/blacha/cogeotiff/compare/v0.3.0...v0.3.1) (2019-09-25)
461
-
462
- **Note:** Version bump only for package @cogeotiff/source-url
463
-
464
-
465
-
466
-
467
-
468
- # [0.3.0](https://github.com/blacha/cogeotiff/compare/v0.2.3...v0.3.0) (2019-09-24)
469
-
470
- **Note:** Version bump only for package @cogeotiff/source-url
471
-
472
-
473
-
474
-
475
-
476
- ## [0.2.2](https://github.com/blacha/cogeotiff/compare/v0.2.1...v0.2.2) (2019-09-12)
477
-
478
-
479
- ### Bug Fixes
480
-
481
- * ignore tsconfig.tsbuildinfo when publishing ([8a27600](https://github.com/blacha/cogeotiff/commit/8a27600))
482
-
483
-
484
-
485
-
486
-
487
- ## [0.2.1](https://github.com/blacha/cogeotiff/compare/v0.2.0...v0.2.1) (2019-09-12)
488
-
489
-
490
- ### Bug Fixes
491
-
492
- * cannot publish without access:public ([a408389](https://github.com/blacha/cogeotiff/commit/a408389))
493
-
494
-
495
-
496
-
497
-
498
- # [0.2.0](https://github.com/blacha/cogeotiff/compare/v0.0.12...v0.2.0) (2019-09-12)
499
-
500
-
501
- ### Features
502
-
503
- * rename to cogeotiff ([9a2c099](https://github.com/blacha/cogeotiff/commit/9a2c099))
504
- * switch to cogeotiff ([6ab420a](https://github.com/blacha/cogeotiff/commit/6ab420a))
@@ -1 +0,0 @@
1
- {"version":3,"file":"source.http.test.d.ts","sourceRoot":"","sources":["../../src/__test__/source.http.test.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1,85 +0,0 @@
1
- import { isRecord } from '@chunkd/core';
2
- import o from 'ospec';
3
- import { SourceHttp } from '../http.source.js';
4
- function getCB(source, index) {
5
- const chunk = source.chunks.get(index);
6
- if (chunk != null)
7
- return chunk;
8
- throw Error(`Missing chunk ${index}`);
9
- }
10
- o.spec('SourceHttp', () => {
11
- let source;
12
- let ranges;
13
- // Fake fetch that returns the number of the byte that was requested
14
- SourceHttp.fetch = (input, obj) => {
15
- if (!isRecord(obj) || !isRecord(obj.headers))
16
- throw new Error('Invalid fetch');
17
- const [startByte, endByte] = obj.headers.Range.split('=')[1]
18
- .split('-')
19
- .map((i) => parseInt(i, 10));
20
- const bytes = [];
21
- ranges.push(obj.headers.Range);
22
- for (let i = startByte; i < endByte; i++) {
23
- bytes.push(i);
24
- }
25
- const buffer = new Uint8Array(bytes).buffer;
26
- const arrayBuffer = () => Promise.resolve(buffer);
27
- return Promise.resolve({ arrayBuffer, ok: true, headers: new Map() });
28
- };
29
- o.beforeEach(() => {
30
- source = new SourceHttp('https://foo');
31
- source.chunkSize = 1;
32
- ranges = [];
33
- });
34
- o('should group fetches together', async () => {
35
- await source.loadBytes(0, 2);
36
- o([...source.chunks.keys()]).deepEquals([0, 1]);
37
- o(source.getUint8(0)).equals(0);
38
- o(source.getUint8(1)).equals(1);
39
- });
40
- o('should group big fetches', async () => {
41
- var _a;
42
- await source.loadBytes(0, 2);
43
- await source.loadBytes(0, 5);
44
- o([...source.chunks.keys()]).deepEquals([0, 1, 2, 3, 4]);
45
- for (let i = 0; i < 5; i++) {
46
- o(source.getUint8(i)).equals(i);
47
- o((_a = source.chunks.get(i)) === null || _a === void 0 ? void 0 : _a.getUint8(0)).equals(i);
48
- }
49
- });
50
- o('should handle bigger buffers', async () => {
51
- const MAX_BYTE = 256;
52
- source.chunkSize = 32;
53
- await source.loadBytes(0, MAX_BYTE);
54
- o([...source.chunks.keys()]).deepEquals([0, 1, 2, 3, 4, 5, 6, 7]);
55
- for (let i = 0; i < MAX_BYTE; i++) {
56
- o(source.getUint8(i)).equals(i);
57
- }
58
- for (let i = 0; i < MAX_BYTE / source.chunkSize; i++) {
59
- const view = getCB(source, i);
60
- for (let x = 0; x < source.chunkSize; x++) {
61
- o(view.getUint8(x)).equals(i * source.chunkSize + x);
62
- }
63
- }
64
- });
65
- o('should handle part requests', async () => {
66
- source.chunkSize = 2;
67
- await source.loadBytes(2, 3);
68
- o(source.getUint8(2)).equals(2);
69
- o(source.getUint8(3)).equals(3);
70
- o(source.getUint8(4)).equals(4);
71
- o(getCB(source, 1).byteLength).equals(2);
72
- o(getCB(source, 2).byteLength).equals(2);
73
- });
74
- o('should handle out of order requests', async () => {
75
- source.chunkSize = 2;
76
- await Promise.all([source.loadBytes(8, 3), source.loadBytes(1, 3)]);
77
- o(source.getUint8(0)).equals(0);
78
- o(source.getUint8(1)).equals(1);
79
- o(source.getUint8(2)).equals(2);
80
- o(source.getUint8(8)).equals(8);
81
- o(source.getUint8(9)).equals(9);
82
- o(source.getUint8(10)).equals(10);
83
- });
84
- });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmh0dHAudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RfXy9zb3VyY2UuaHR0cC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxDQUFDLE1BQU0sT0FBTyxDQUFDO0FBQ3RCLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNakUsU0FBUyxLQUFLLENBQUMsTUFBa0IsRUFBRSxLQUFhO0lBQzlDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLElBQUksS0FBSyxJQUFJLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNoQyxNQUFNLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3hCLElBQUksTUFBa0IsQ0FBQztJQUN2QixJQUFJLE1BQWdCLENBQUM7SUFFckIsb0VBQW9FO0lBQ3BFLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBc0IsRUFBTyxFQUFFO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQVMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkYsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pELEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxD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QUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVILENBQUMsQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNsRCxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNyQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUmVjb3JkIH0gZnJvbSAnQGNodW5rZC9jb3JlJztcbmltcG9ydCBvIGZyb20gJ29zcGVjJztcbmltcG9ydCB7IEZldGNoTGlrZU9wdGlvbnMsIFNvdXJjZUh0dHAgfSBmcm9tICcuLi9odHRwLnNvdXJjZS5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhlYWRlcnMge1xuICBSYW5nZTogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRDQihzb3VyY2U6IFNvdXJjZUh0dHAsIGluZGV4OiBudW1iZXIpOiBEYXRhVmlldyB7XG4gIGNvbnN0IGNodW5rID0gc291cmNlLmNodW5rcy5nZXQoaW5kZXgpO1xuICBpZiAoY2h1bmsgIT0gbnVsbCkgcmV0dXJuIGNodW5rO1xuICB0aHJvdyBFcnJvcihgTWlzc2luZyBjaHVuayAke2luZGV4fWApO1xufVxuXG5vLnNwZWMoJ1NvdXJjZUh0dHAnLCAoKSA9PiB7XG4gIGxldCBzb3VyY2U6IFNvdXJjZUh0dHA7XG4gIGxldCByYW5nZXM6IHN0cmluZ1tdO1xuXG4gIC8vIEZha2UgZmV0Y2ggdGhhdCByZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIGJ5dGUgdGhhdCB3YXMgcmVxdWVzdGVkXG4gIFNvdXJjZUh0dHAuZmV0Y2ggPSAoaW5wdXQsIG9iaj86IEZldGNoTGlrZU9wdGlvbnMpOiBhbnkgPT4ge1xuICAgIGlmICghaXNSZWNvcmQob2JqKSB8fCAhaXNSZWNvcmQ8c3RyaW5nPihvYmouaGVhZGVycykpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBmZXRjaCcpO1xuICAgIGNvbnN0IFtzdGFydEJ5dGUsIGVuZEJ5dGVdID0gb2JqLmhlYWRlcnMuUmFuZ2Uuc3BsaXQoJz0nKVsxXVxuICAgICAgLnNwbGl0KCctJylcbiAgICAgIC5tYXAoKGkpID0+IHBhcnNlSW50KGksIDEwKSk7XG4gICAgY29uc3QgYnl0ZXMgPSBbXTtcbiAgICByYW5nZXMucHVzaChvYmouaGVhZGVycy5SYW5nZSk7XG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0Qnl0ZTsgaSA8IGVuZEJ5dGU7IGkrKykge1xuICAgICAgYnl0ZXMucHVzaChpKTtcbiAgICB9XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZXMpLmJ1ZmZlcjtcbiAgICBjb25zdCBhcnJheUJ1ZmZlciA9ICgpOiBhbnkgPT4gUHJvbWlzZS5yZXNvbHZlKGJ1ZmZlcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGFycmF5QnVmZmVyLCBvazogdHJ1ZSwgaGVhZGVyczogbmV3IE1hcCgpIH0pIGFzIGFueTtcbiAgfTtcblxuICBvLmJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHNvdXJjZSA9IG5ldyBTb3VyY2VIdHRwKCdodHRwczovL2ZvbycpO1xuICAgIHNvdXJjZS5jaHVua1NpemUgPSAxO1xuICAgIHJhbmdlcyA9IFtdO1xuICB9KTtcblxuICBvKCdzaG91bGQgZ3JvdXAgZmV0Y2hlcyB0b2dldGhlcicsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzb3VyY2UubG9hZEJ5dGVzKDAsIDIpO1xuXG4gICAgbyhbLi4uKHNvdXJjZS5jaHVua3MgYXMgTWFwPG51bWJlciwgRGF0YVZpZXc+KS5rZXlzKCldKS5kZWVwRXF1YWxzKFswLCAxXSk7XG4gICAgbyhzb3VyY2UuZ2V0VWludDgoMCkpLmVxdWFscygwKTtcbiAgICBvKHNvdXJjZS5nZXRVaW50OCgxKSkuZXF1YWxzKDEpO1xuICB9KTtcblxuICBvKCdzaG91bGQgZ3JvdXAgYmlnIGZldGNoZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc291cmNlLmxvYWRCeXRlcygwLCAyKTtcbiAgICBhd2FpdCBzb3VyY2UubG9hZEJ5dGVzKDAsIDUpO1xuXG4gICAgbyhbLi4uKHNvdXJjZS5jaHVua3MgYXMgTWFwPG51bWJlciwgRGF0YVZpZXc+KS5rZXlzKCldKS5kZWVwRXF1YWxzKFswLCAxLCAyLCAzLCA0XSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgbyhzb3VyY2UuZ2V0VWludDgoaSkpLmVxdWFscyhpKTtcbiAgICAgIG8oc291cmNlLmNodW5rcy5nZXQoaSk/LmdldFVpbnQ4KDApKS5lcXVhbHMoaSk7XG4gICAgfVxuICB9KTtcblxuICBvKCdzaG91bGQgaGFuZGxlIGJpZ2dlciBidWZmZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IE1BWF9CWVRFID0gMjU2O1xuICAgIHNvdXJjZS5jaHVua1NpemUgPSAzMjtcblxuICAgIGF3YWl0IHNvdXJjZS5sb2FkQnl0ZXMoMCwgTUFYX0JZVEUpO1xuXG4gICAgbyhbLi4uKHNvdXJjZS5jaHVua3MgYXMgTWFwPG51bWJlciwgRGF0YVZpZXc+KS5rZXlzKCldKS5kZWVwRXF1YWxzKFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3XSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1BWF9CWVRFOyBpKyspIHtcbiAgICAgIG8oc291cmNlLmdldFVpbnQ4KGkpKS5lcXVhbHMoaSk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNQVhfQllURSAvIHNvdXJjZS5jaHVua1NpemU7IGkrKykge1xuICAgICAgY29uc3QgdmlldyA9IGdldENCKHNvdXJjZSwgaSk7XG4gICAgICBmb3IgKGxldCB4ID0gMDsgeCA8IHNvdXJjZS5jaHVua1NpemU7IHgrKykge1xuICAgICAgICBvKHZpZXcuZ2V0VWludDgoeCkpLmVxdWFscyhpICogc291cmNlLmNodW5rU2l6ZSArIHgpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgbygnc2hvdWxkIGhhbmRsZSBwYXJ0IHJlcXVlc3RzJywgYXN5bmMgKCkgPT4ge1xuICAgIHNvdXJjZS5jaHVua1NpemUgPSAyO1xuICAgIGF3YWl0IHNvdXJjZS5sb2FkQnl0ZXMoMiwgMyk7XG5cbiAgICBvKHNvdXJjZS5nZXRVaW50OCgyKSkuZXF1YWxzKDIpO1xuICAgIG8oc291cmNlLmdldFVpbnQ4KDMpKS5lcXVhbHMoMyk7XG4gICAgbyhzb3VyY2UuZ2V0VWludDgoNCkpLmVxdWFscyg0KTtcblxuICAgIG8oZ2V0Q0Ioc291cmNlLCAxKS5ieXRlTGVuZ3RoKS5lcXVhbHMoMik7XG4gICAgbyhnZXRDQihzb3VyY2UsIDIpLmJ5dGVMZW5ndGgpLmVxdWFscygyKTtcbiAgfSk7XG5cbiAgbygnc2hvdWxkIGhhbmRsZSBvdXQgb2Ygb3JkZXIgcmVxdWVzdHMnLCBhc3luYyAoKSA9PiB7XG4gICAgc291cmNlLmNodW5rU2l6ZSA9IDI7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW3NvdXJjZS5sb2FkQnl0ZXMoOCwgMyksIHNvdXJjZS5sb2FkQnl0ZXMoMSwgMyldKTtcblxuICAgIG8oc291cmNlLmdldFVpbnQ4KDApKS5lcXVhbHMoMCk7XG4gICAgbyhzb3VyY2UuZ2V0VWludDgoMSkpLmVxdWFscygxKTtcbiAgICBvKHNvdXJjZS5nZXRVaW50OCgyKSkuZXF1YWxzKDIpO1xuICAgIG8oc291cmNlLmdldFVpbnQ4KDgpKS5lcXVhbHMoOCk7XG4gICAgbyhzb3VyY2UuZ2V0VWludDgoOSkpLmVxdWFscyg5KTtcbiAgICBvKHNvdXJjZS5nZXRVaW50OCgxMCkpLmVxdWFscygxMCk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,24 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { FileInfo, FileSystem } from '@chunkd/core';
4
- import type { Readable } from 'stream';
5
- import { SourceHttp } from './http.source.js';
6
- export type FsError = {
7
- code: string;
8
- } & Error;
9
- export declare class FsHttp implements FileSystem<SourceHttp> {
10
- static protocol: string;
11
- protocol: string;
12
- static is(fs: FileSystem): fs is FsHttp;
13
- source(filePath: string): SourceHttp;
14
- list(filePath: string): AsyncGenerator<string>;
15
- details(filePath: string): AsyncGenerator<FileInfo>;
16
- head(filePath: string): Promise<(FileInfo & {
17
- isDirectory: boolean;
18
- }) | null>;
19
- read(filePath: string): Promise<Buffer>;
20
- write(filePath: string): Promise<void>;
21
- delete(filePath: string): Promise<void>;
22
- stream(filePath: string): Readable;
23
- }
24
- //# sourceMappingURL=http.fs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.fs.d.ts","sourceRoot":"","sources":["../src/http.fs.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAkB,QAAQ,EAAE,UAAU,EAAY,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC;AAQ/C,qBAAa,MAAO,YAAW,UAAU,CAAC,UAAU,CAAC;IACnD,MAAM,CAAC,QAAQ,SAAU;IACzB,QAAQ,SAAmB;IAE3B,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,IAAI,MAAM;IAIvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAI7B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IAG9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC;IAIpD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,QAAQ,GAAG;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAM7E,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;CAGnC"}