@dereekb/firebase 12.4.5 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/index.cjs.js +1523 -231
  2. package/index.esm.js +1458 -234
  3. package/package.json +1 -1
  4. package/src/lib/common/firestore/query/iterator.d.ts +39 -9
  5. package/src/lib/common/firestore/query/watcher.d.ts +2 -2
  6. package/src/lib/common/storage/driver/accessor.d.ts +62 -6
  7. package/src/lib/common/storage/driver/accessor.iterate.d.ts +38 -0
  8. package/src/lib/common/storage/driver/accessor.util.d.ts +14 -0
  9. package/src/lib/common/storage/driver/error.d.ts +4 -0
  10. package/src/lib/common/storage/driver/index.d.ts +2 -0
  11. package/src/lib/common/storage/driver/list.d.ts +4 -2
  12. package/src/lib/common/storage/storage.d.ts +7 -0
  13. package/src/lib/common/storage/types.d.ts +141 -32
  14. package/src/lib/model/index.d.ts +1 -0
  15. package/src/lib/model/notification/notification.api.d.ts +10 -0
  16. package/src/lib/model/notification/notification.create.d.ts +2 -2
  17. package/src/lib/model/notification/notification.item.d.ts +2 -0
  18. package/src/lib/model/notification/notification.task.d.ts +22 -8
  19. package/src/lib/model/storagefile/index.d.ts +12 -0
  20. package/src/lib/model/storagefile/storagefile.action.d.ts +8 -0
  21. package/src/lib/model/storagefile/storagefile.api.d.ts +148 -0
  22. package/src/lib/model/storagefile/storagefile.api.error.d.ts +51 -0
  23. package/src/lib/model/storagefile/storagefile.create.d.ts +121 -0
  24. package/src/lib/model/storagefile/storagefile.d.ts +164 -0
  25. package/src/lib/model/storagefile/storagefile.file.d.ts +55 -0
  26. package/src/lib/model/storagefile/storagefile.id.d.ts +20 -0
  27. package/src/lib/model/storagefile/storagefile.query.d.ts +17 -0
  28. package/src/lib/model/storagefile/storagefile.task.d.ts +67 -0
  29. package/src/lib/model/storagefile/storagefile.upload.claims.d.ts +26 -0
  30. package/src/lib/model/storagefile/storagefile.upload.d.ts +52 -0
  31. package/src/lib/model/storagefile/storagefile.upload.determiner.d.ts +271 -0
  32. package/test/CHANGELOG.md +9 -0
  33. package/test/package.json +1 -1
  34. package/test/src/lib/common/storage/storage.js +3 -3
  35. package/test/src/lib/common/storage/storage.js.map +1 -1
  36. package/test/src/lib/common/storage/test.driver.accessor.js +331 -29
  37. package/test/src/lib/common/storage/test.driver.accessor.js.map +1 -1
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.describeFirebaseStorageAccessorDriverTests = describeFirebaseStorageAccessorDriverTests;
4
4
  const test_1 = require("@dereekb/util/test");
5
5
  const util_1 = require("@dereekb/util");
6
+ const firebase_1 = require("@dereekb/firebase");
7
+ const stream_1 = require("stream");
8
+ const fs_1 = require("fs");
6
9
  /**
7
10
  * Describes accessor driver tests, using a MockItemCollectionFixture.
8
11
  *
@@ -11,16 +14,22 @@ const util_1 = require("@dereekb/util");
11
14
  function describeFirebaseStorageAccessorDriverTests(f) {
12
15
  describe('FirebaseStorageAccessor', () => {
13
16
  describe('file()', () => {
17
+ const secondBucket = 'second-bucket';
14
18
  const doesNotExistFilePath = 'test.png';
15
19
  let doesNotExistFile;
16
20
  const existsFilePath = 'test/exists.txt';
17
21
  const existsFileContent = 'Hello! \ud83d\ude0a';
18
22
  const existsFileContentType = 'text/plain';
19
23
  let existsFile;
24
+ let secondBucketTarget;
20
25
  beforeEach(async () => {
21
26
  doesNotExistFile = f.storageContext.file(doesNotExistFilePath);
22
27
  existsFile = f.storageContext.file(existsFilePath);
23
- await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: existsFileContentType });
28
+ await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: existsFileContentType }); // re-upload for each test
29
+ // delete the does not exist file and second bucket target if it exists
30
+ await doesNotExistFile.delete().catch(() => null);
31
+ secondBucketTarget = f.storageContext.file({ bucketId: secondBucket, pathString: doesNotExistFilePath });
32
+ await secondBucketTarget.delete().catch(() => null);
24
33
  });
25
34
  describe('uploading', () => {
26
35
  let uploadFile;
@@ -99,6 +108,49 @@ function describeFirebaseStorageAccessorDriverTests(f) {
99
108
  // NOTE: File extends Blob, so above test should cover it ok.
100
109
  });
101
110
  // TODO(TEST): Test uploading other types.
111
+ describe('custom metadata', () => {
112
+ it('should upload custom metadata via customMetadata', async () => {
113
+ const customMetadataKey = 'x-amz-meta-custom-key';
114
+ const customMetadataValue = 'custom-value';
115
+ const customMetadata = {
116
+ [customMetadataKey]: customMetadataValue
117
+ };
118
+ const contentType = 'text/plain';
119
+ const data = existsFileContent;
120
+ await uploadFile.upload(data, { stringFormat: 'raw', contentType, customMetadata });
121
+ const metadata = await uploadFile.getMetadata();
122
+ expect(metadata.customMetadata).toEqual(customMetadata);
123
+ });
124
+ it('should upload custom metadata via metadata', async () => {
125
+ const customMetadataKey = 'x-amz-meta-custom-key';
126
+ const customMetadataValue = 'custom-value';
127
+ const customMetadata = {
128
+ [customMetadataKey]: customMetadataValue
129
+ };
130
+ const contentType = 'text/plain';
131
+ const data = existsFileContent;
132
+ await uploadFile.upload(data, { stringFormat: 'raw', contentType, metadata: { customMetadata } });
133
+ const metadata = await uploadFile.getMetadata();
134
+ expect(metadata.customMetadata).toEqual(customMetadata);
135
+ });
136
+ it('should upload the merged custom metadatas', async () => {
137
+ const customMetadataAKey = 'x-amz-meta-custom-key';
138
+ const customMetadataAValue = '1';
139
+ const customMetadataBKey = 'x-axx-meta-custom-key';
140
+ const customMetadataBValue = 'true';
141
+ const customMetadataA = {
142
+ [customMetadataAKey]: customMetadataAValue
143
+ };
144
+ const customMetadataB = {
145
+ [customMetadataBKey]: customMetadataBValue
146
+ };
147
+ const contentType = 'text/plain';
148
+ const data = existsFileContent;
149
+ await uploadFile.upload(data, { stringFormat: 'raw', contentType, customMetadata: customMetadataA, metadata: { customMetadata: customMetadataB } });
150
+ const metadata = await uploadFile.getMetadata();
151
+ expect(metadata.customMetadata).toEqual({ ...customMetadataA, ...customMetadataB });
152
+ });
153
+ });
102
154
  });
103
155
  describe('uploadStream()', () => {
104
156
  it('should upload a string using a WritableStream', async () => {
@@ -118,7 +170,106 @@ function describeFirebaseStorageAccessorDriverTests(f) {
118
170
  expect(decoded).toBe(data);
119
171
  }
120
172
  });
121
- // TODO(TEST): Upload using a nodejs stream
173
+ it('should upload a string using a stream using a WritableStream', async () => {
174
+ if (uploadFile.uploadStream != null) {
175
+ const myText = 'This is a test string.';
176
+ // Create a readable stream from the string
177
+ const readableStream = stream_1.Readable.from(myText, { encoding: 'utf-8' });
178
+ await (0, firebase_1.uploadFileWithStream)(uploadFile, readableStream);
179
+ const exists = await uploadFile.exists();
180
+ expect(exists).toBe(true);
181
+ const metadata = await uploadFile.getMetadata();
182
+ expect(metadata.contentType).toBe('text/plain');
183
+ const result = await uploadFile.getBytes();
184
+ expect(result).toBeDefined();
185
+ const decoded = Buffer.from(result).toString('utf-8');
186
+ expect(decoded).toBe(myText);
187
+ }
188
+ });
189
+ it('should upload a png using a stream using a WritableStream', async () => {
190
+ if (uploadFile.uploadStream != null) {
191
+ const testFilePath = `${__dirname}/assets/testpng.png`;
192
+ const contentType = 'image/png';
193
+ const testFileStream = (0, fs_1.createReadStream)(testFilePath, {});
194
+ await (0, firebase_1.uploadFileWithStream)(uploadFile, testFileStream, { contentType });
195
+ const exists = await uploadFile.exists();
196
+ expect(exists).toBe(true);
197
+ const metadata = await uploadFile.getMetadata();
198
+ expect(metadata.contentType).toBe(contentType);
199
+ const result = await uploadFile.getBytes();
200
+ expect(result).toBeDefined();
201
+ }
202
+ });
203
+ });
204
+ });
205
+ describe('copy()', () => {
206
+ it('should copy the file to a new location in the same bucket.', async () => {
207
+ if (existsFile.copy != null) {
208
+ const exists = await doesNotExistFile.exists();
209
+ expect(exists).toBe(false);
210
+ const targetPath = doesNotExistFile.storagePath;
211
+ const result = await existsFile.copy(targetPath);
212
+ expect(result.storagePath.pathString).toBe(targetPath.pathString);
213
+ const doesNotExistFileExists = await doesNotExistFile.exists();
214
+ expect(doesNotExistFileExists).toBe(true);
215
+ const existsStillExists = await existsFile.exists();
216
+ expect(existsStillExists).toBe(true); // original still exists
217
+ }
218
+ });
219
+ it('should copy the file to a new location to a different bucket.', async () => {
220
+ if (existsFile.copy != null) {
221
+ const secondBucket = {
222
+ bucketId: 'second-bucket',
223
+ pathString: secondBucketTarget.storagePath.pathString
224
+ };
225
+ const targetFile = f.storageContext.file(secondBucket);
226
+ const exists = await targetFile.exists();
227
+ expect(exists).toBe(false);
228
+ const targetPath = targetFile.storagePath;
229
+ const result = await existsFile.copy(targetPath);
230
+ expect(result.storagePath.pathString).toBe(targetPath.pathString);
231
+ const targetFileExists = await targetFile.exists();
232
+ expect(targetFileExists).toBe(true);
233
+ const doesNotExistExists = await doesNotExistFile.exists();
234
+ expect(doesNotExistExists).toBe(false); // on a different bucket
235
+ const existsStillExists = await existsFile.exists();
236
+ expect(existsStillExists).toBe(true); // original still exists
237
+ }
238
+ });
239
+ });
240
+ describe('move()', () => {
241
+ it('should move the file to a new location in the same bucket.', async () => {
242
+ if (existsFile.move != null) {
243
+ const exists = await doesNotExistFile.exists();
244
+ expect(exists).toBe(false);
245
+ const targetPath = doesNotExistFile.storagePath;
246
+ const result = await existsFile.move(targetPath);
247
+ expect(result.storagePath.pathString).toBe(targetPath.pathString);
248
+ const doesNotExistExists = await doesNotExistFile.exists();
249
+ expect(doesNotExistExists).toBe(true);
250
+ const existsStillExists = await existsFile.exists();
251
+ expect(existsStillExists).toBe(false); // check was moved
252
+ }
253
+ });
254
+ it('should move the file to a new location to a different bucket.', async () => {
255
+ if (existsFile.move != null) {
256
+ const secondBucket = {
257
+ bucketId: 'second-bucket',
258
+ pathString: doesNotExistFile.storagePath.pathString
259
+ };
260
+ const targetFile = f.storageContext.file(secondBucket);
261
+ const exists = await targetFile.exists();
262
+ expect(exists).toBe(false);
263
+ const targetPath = targetFile.storagePath;
264
+ const result = await existsFile.move(targetPath);
265
+ expect(result.storagePath.pathString).toBe(targetPath.pathString);
266
+ const targetFileExists = await targetFile.exists();
267
+ expect(targetFileExists).toBe(true);
268
+ const doesNotExistStillDoesNotExists = await doesNotExistFile.exists();
269
+ expect(doesNotExistStillDoesNotExists).toBe(false);
270
+ const existsStillExists = await existsFile.exists();
271
+ expect(existsStillExists).toBe(false); // check was moved
272
+ }
122
273
  });
123
274
  });
124
275
  describe('exists()', () => {
@@ -145,6 +296,50 @@ function describeFirebaseStorageAccessorDriverTests(f) {
145
296
  expect(result).toBeDefined();
146
297
  });
147
298
  });
299
+ describe('setMetadata()', () => {
300
+ (0, test_1.itShouldFail)('if the file does not exist.', async () => {
301
+ await (0, test_1.expectFail)(() => doesNotExistFile.setMetadata({}));
302
+ });
303
+ it('should replace the content type field.', async () => {
304
+ const currentMetadata = await existsFile.getMetadata();
305
+ expect(currentMetadata.contentType).toBe(existsFileContentType);
306
+ const nextContentType = 'application/json';
307
+ const result = await existsFile.setMetadata({
308
+ contentType: nextContentType
309
+ });
310
+ expect(result.contentType).toBe(nextContentType);
311
+ const updatedMetadata = await existsFile.getMetadata();
312
+ expect(updatedMetadata.contentType).toBe(nextContentType);
313
+ });
314
+ it('should replace the metadata for only the provided fields.', async () => {
315
+ const currentMetadata = await existsFile.getMetadata();
316
+ expect(currentMetadata.contentType).toBe(existsFileContentType);
317
+ const customMetadataA = {
318
+ foo: 'bar'
319
+ };
320
+ const result = await existsFile.setMetadata({
321
+ contentType: undefined, // should not change
322
+ customMetadata: customMetadataA
323
+ });
324
+ expect(result.contentType).toBe(existsFileContentType);
325
+ expect(result.customMetadata).toEqual(customMetadataA);
326
+ const updatedMetadata = await existsFile.getMetadata();
327
+ expect(updatedMetadata.contentType).toBe(existsFileContentType);
328
+ expect(updatedMetadata.customMetadata).toEqual(customMetadataA);
329
+ // update again. All custom metadata is replaced
330
+ const customMetadataB = {
331
+ foo: 'baz'
332
+ };
333
+ const result2 = await existsFile.setMetadata({
334
+ customMetadata: customMetadataB
335
+ });
336
+ expect(result2.contentType).toBe(existsFileContentType);
337
+ expect(result2.customMetadata).toEqual(customMetadataB);
338
+ const updatedMetadata2 = await existsFile.getMetadata();
339
+ expect(updatedMetadata2.contentType).toBe(existsFileContentType);
340
+ expect(updatedMetadata2.customMetadata).toEqual(customMetadataB);
341
+ });
342
+ });
148
343
  describe('getBytes()', () => {
149
344
  (0, test_1.itShouldFail)('if the file does not exist.', async () => {
150
345
  await (0, test_1.expectFail)(() => doesNotExistFile.getBytes());
@@ -187,6 +382,20 @@ function describeFirebaseStorageAccessorDriverTests(f) {
187
382
  expect(typeof result).toBe('string');
188
383
  });
189
384
  });
385
+ // Cannot be tested, will throw "Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information."
386
+ /*
387
+ describe('getSignedUrl()', () => {
388
+ it('should return the signed read url.', async () => {
389
+ if (existsFile.getSignedUrl) {
390
+ const result = await existsFile.getSignedUrl({
391
+
392
+ });
393
+ expect(result).toBeDefined();
394
+ expect(typeof result).toBe('string');
395
+ }
396
+ });
397
+ });
398
+ */
190
399
  describe('delete()', () => {
191
400
  (0, test_1.itShouldFail)('if the file does not exist.', async () => {
192
401
  await (0, test_1.expectFail)(() => doesNotExistFile.delete());
@@ -218,7 +427,7 @@ function describeFirebaseStorageAccessorDriverTests(f) {
218
427
  existsFile = f.storageContext.file(existsFilePath);
219
428
  await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
220
429
  });
221
- describe('exists', () => {
430
+ describe('exists()', () => {
222
431
  it('should return false if there are no items in the folder.', async () => {
223
432
  const exists = await doesNotExistFolder.exists();
224
433
  expect(exists).toBe(false);
@@ -228,7 +437,7 @@ function describeFirebaseStorageAccessorDriverTests(f) {
228
437
  expect(exists).toBe(true);
229
438
  });
230
439
  });
231
- describe('list', () => {
440
+ describe('list()', () => {
232
441
  const existsBFileName = 'a.txt';
233
442
  const existsBFilePath = existsFolderPath + existsBFileName;
234
443
  const existsCFolderPath = existsFolderPath + 'c/';
@@ -240,6 +449,81 @@ function describeFirebaseStorageAccessorDriverTests(f) {
240
449
  await f.storageContext.file(existsCFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
241
450
  await f.storageContext.file(otherFolderFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
242
451
  });
452
+ describe('options', () => {
453
+ describe('listAll', () => {
454
+ describe('=false/unset', () => {
455
+ it('should list all the direct files and folders that exist on the test path.', async () => {
456
+ const result = await existsFolder.list();
457
+ expect(result).toBeDefined();
458
+ const files = result.files();
459
+ expect(files.length).toBe(2);
460
+ const fileNames = new Set(files.map((x) => x.name));
461
+ expect(fileNames).toContain(existsFileName);
462
+ expect(fileNames).toContain(existsBFileName);
463
+ const folders = result.folders();
464
+ expect(folders.length).toBe(1);
465
+ const folderNames = new Set(folders.map((x) => x.name));
466
+ expect(folderNames).toContain('c');
467
+ });
468
+ it('should list all the direct folders that exist at the root.', async () => {
469
+ const rootFolder = await f.storageContext.folder('/');
470
+ const result = await rootFolder.list();
471
+ expect(result).toBeDefined();
472
+ const files = result.files();
473
+ expect(files.length).toBe(0); // files are under /test/ and /other/
474
+ const folders = result.folders();
475
+ expect(folders.length).toBe(2);
476
+ const names = new Set(folders.map((x) => x.name));
477
+ expect(names).toContain('test');
478
+ expect(names).toContain('other');
479
+ });
480
+ });
481
+ describe('=true', () => {
482
+ it('should list all files and folders that exist on the test path.', async () => {
483
+ const result = await existsFolder.list({ includeNestedResults: true });
484
+ expect(result).toBeDefined();
485
+ const files = result.files();
486
+ expect(files.length).toBe(3);
487
+ const filePaths = new Set(files.map((x) => `${util_1.SLASH_PATH_SEPARATOR}${x.storagePath.pathString}`));
488
+ expect(filePaths).toContain(existsFilePath);
489
+ expect(filePaths).toContain(existsBFilePath);
490
+ expect(filePaths).toContain(existsCFilePath);
491
+ expect(filePaths).not.toContain(otherFolderFilePath);
492
+ // folders are not counted/returned
493
+ const folders = result.folders();
494
+ expect(folders.length).toBe(0);
495
+ });
496
+ it('should list all the folders that exist at the root.', async () => {
497
+ const rootFolder = await f.storageContext.folder('/');
498
+ const result = await rootFolder.list({ includeNestedResults: true });
499
+ expect(result).toBeDefined();
500
+ const files = result.files();
501
+ expect(files.length).toBe(4); // all created files
502
+ const folders = result.folders();
503
+ expect(folders.length).toBe(0);
504
+ });
505
+ describe('maxResults', () => {
506
+ it('should limit the number of results returned.', async () => {
507
+ const rootFolder = await f.storageContext.folder('/');
508
+ const limit = 2;
509
+ const result = await rootFolder.list({ includeNestedResults: true, maxResults: limit });
510
+ expect(result).toBeDefined();
511
+ if (f.storageContext.drivers.storageAccessorDriver.type === 'server') {
512
+ // Currently only the server can properly limit the number of results returned.
513
+ // The client-side will limit the results somewhat, but if folders are returned then it will return the results of those folders as well.
514
+ const files = result.files();
515
+ expect(files.length).toBe(limit);
516
+ const nextPage = await result.next();
517
+ const nextPageFiles = nextPage.files();
518
+ expect(nextPageFiles.length).toBe(limit);
519
+ }
520
+ const folders = result.folders();
521
+ expect(folders.length).toBe(0);
522
+ });
523
+ });
524
+ });
525
+ });
526
+ });
243
527
  describe('file()', () => {
244
528
  it('should return the file for the result.', async () => {
245
529
  const result = await existsFolder.list();
@@ -285,31 +569,6 @@ function describeFirebaseStorageAccessorDriverTests(f) {
285
569
  await (0, test_1.expectFail)(() => result.next());
286
570
  });
287
571
  });
288
- it('should list all the direct files and folders that exist on the test path.', async () => {
289
- const result = await existsFolder.list();
290
- expect(result).toBeDefined();
291
- const files = result.files();
292
- expect(files.length).toBe(2);
293
- const fileNames = new Set(files.map((x) => x.name));
294
- expect(fileNames).toContain(existsFileName);
295
- expect(fileNames).toContain(existsBFileName);
296
- const folders = result.folders();
297
- expect(folders.length).toBe(1);
298
- const folderNames = new Set(folders.map((x) => x.name));
299
- expect(folderNames).toContain('c');
300
- });
301
- it('should list all the direct folders that exist at the root.', async () => {
302
- const rootFolder = await f.storageContext.folder('/');
303
- const result = await rootFolder.list();
304
- expect(result).toBeDefined();
305
- const files = result.files();
306
- expect(files.length).toBe(0); // files are under /test/ and /other/
307
- const folders = result.folders();
308
- expect(folders.length).toBe(2);
309
- const names = new Set(folders.map((x) => x.name));
310
- expect(names).toContain('test');
311
- expect(names).toContain('other');
312
- });
313
572
  describe('maxResults', () => {
314
573
  it('should respect the max results.', async () => {
315
574
  const maxResults = 1;
@@ -337,6 +596,49 @@ function describeFirebaseStorageAccessorDriverTests(f) {
337
596
  expect(names).toContain('other');
338
597
  });
339
598
  });
599
+ describe('utilities', () => {
600
+ describe('iterateStorageListFilesByEachFile()', () => {
601
+ it('should iterate through all the files in the current folder one at a time', async () => {
602
+ const visitedFiles = [];
603
+ const result = await (0, firebase_1.iterateStorageListFilesByEachFile)({
604
+ folder: existsFolder,
605
+ readItemsFromPageResult: (x) => x.result.files(),
606
+ iterateEachPageItem: async (file) => {
607
+ visitedFiles.push(file);
608
+ }
609
+ });
610
+ const visitedFilePathStrings = visitedFiles.map((x) => `${util_1.SLASH_PATH_SEPARATOR}${x.storagePath.pathString}`);
611
+ expect(visitedFilePathStrings).toContain(existsFilePath);
612
+ expect(visitedFilePathStrings).toContain(existsBFilePath);
613
+ expect(visitedFilePathStrings).not.toContain(existsCFilePath);
614
+ expect(visitedFilePathStrings).not.toContain(otherFolderFilePath);
615
+ expect(result).toBeDefined();
616
+ expect(result.totalItemsLoaded).toBe(2);
617
+ expect(result.totalItemsVisited).toBe(visitedFiles.length);
618
+ });
619
+ describe('includeNestedResults=true', () => {
620
+ it('should iterate through all the files and nested files under the current folder one at a time', async () => {
621
+ const visitedFiles = [];
622
+ const result = await (0, firebase_1.iterateStorageListFilesByEachFile)({
623
+ folder: existsFolder,
624
+ includeNestedResults: true,
625
+ readItemsFromPageResult: (x) => x.result.files(),
626
+ iterateEachPageItem: async (file) => {
627
+ visitedFiles.push(file);
628
+ }
629
+ });
630
+ const visitedFilePathStrings = visitedFiles.map((x) => `${util_1.SLASH_PATH_SEPARATOR}${x.storagePath.pathString}`);
631
+ expect(result).toBeDefined();
632
+ expect(result.totalItemsLoaded).toBe(3);
633
+ expect(result.totalItemsVisited).toBe(visitedFiles.length);
634
+ expect(visitedFilePathStrings).toContain(existsFilePath);
635
+ expect(visitedFilePathStrings).toContain(existsBFilePath);
636
+ expect(visitedFilePathStrings).toContain(existsCFilePath);
637
+ expect(visitedFilePathStrings).not.toContain(otherFolderFilePath);
638
+ });
639
+ });
640
+ });
641
+ });
340
642
  });
341
643
  });
342
644
  });
@@ -1 +1 @@
1
- {"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/storage/test.driver.accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/storage/test.driver.accessor.ts"],"names":[],"mappings":"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"}