@dereekb/firebase 10.1.30 → 11.0.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 (41) hide show
  1. package/index.cjs.js +1040 -723
  2. package/index.esm.js +93 -163
  3. package/package.json +1 -1
  4. package/src/lib/client/firestore/driver.accessor.batch.d.ts +2 -2
  5. package/src/lib/client/firestore/driver.accessor.transaction.d.ts +1 -1
  6. package/src/lib/client/function/model.function.factory.d.ts +0 -10
  7. package/src/lib/common/firestore/collection/collection.d.ts +6 -0
  8. package/src/lib/common/firestore/query/query.iterate.d.ts +17 -2
  9. package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +5 -9
  10. package/src/lib/common/model/function.d.ts +15 -37
  11. package/src/lib/common/model/model/model.param.d.ts +5 -5
  12. package/src/lib/common/model/model/model.validator.d.ts +4 -0
  13. package/test/CHANGELOG.md +23 -0
  14. package/test/package.json +1 -1
  15. package/test/src/lib/client/firebase.js +36 -21
  16. package/test/src/lib/client/firebase.js.map +1 -1
  17. package/test/src/lib/common/firebase.instance.js +2 -0
  18. package/test/src/lib/common/firebase.instance.js.map +1 -1
  19. package/test/src/lib/common/firestore/firestore.instance.js +1 -0
  20. package/test/src/lib/common/firestore/firestore.instance.js.map +1 -1
  21. package/test/src/lib/common/firestore/firestore.js +18 -10
  22. package/test/src/lib/common/firestore/firestore.js.map +1 -1
  23. package/test/src/lib/common/firestore/test.driver.accessor.js +273 -277
  24. package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -1
  25. package/test/src/lib/common/firestore/test.driver.query.js +411 -312
  26. package/test/src/lib/common/firestore/test.driver.query.js.map +1 -1
  27. package/test/src/lib/common/firestore/test.iterator.js +6 -7
  28. package/test/src/lib/common/firestore/test.iterator.js.map +1 -1
  29. package/test/src/lib/common/mock/mock.item.collection.fixture.d.ts +2 -1
  30. package/test/src/lib/common/mock/mock.item.collection.fixture.js +4 -2
  31. package/test/src/lib/common/mock/mock.item.collection.fixture.js.map +1 -1
  32. package/test/src/lib/common/mock/mock.item.service.js +6 -11
  33. package/test/src/lib/common/mock/mock.item.service.js.map +1 -1
  34. package/test/src/lib/common/mock/mock.item.storage.fixture.js +2 -1
  35. package/test/src/lib/common/mock/mock.item.storage.fixture.js.map +1 -1
  36. package/test/src/lib/common/storage/storage.instance.js +1 -0
  37. package/test/src/lib/common/storage/storage.instance.js.map +1 -1
  38. package/test/src/lib/common/storage/storage.js +10 -3
  39. package/test/src/lib/common/storage/storage.js.map +1 -1
  40. package/test/src/lib/common/storage/test.driver.accessor.js +132 -133
  41. package/test/src/lib/common/storage/test.driver.accessor.js.map +1 -1
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.describeFirebaseStorageAccessorDriverTests = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const test_1 = require("@dereekb/util/test");
6
5
  const util_1 = require("@dereekb/util");
7
6
  /**
@@ -18,11 +17,11 @@ function describeFirebaseStorageAccessorDriverTests(f) {
18
17
  const existsFileContent = 'Hello! \ud83d\ude0a';
19
18
  const existsFileContentType = 'text/plain';
20
19
  let existsFile;
21
- beforeEach(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
20
+ beforeEach(async () => {
22
21
  doesNotExistFile = f.storageContext.file(doesNotExistFilePath);
23
22
  existsFile = f.storageContext.file(existsFilePath);
24
- yield existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: existsFileContentType });
25
- }));
23
+ await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: existsFileContentType });
24
+ });
26
25
  describe('uploading', () => {
27
26
  let uploadFile;
28
27
  beforeEach(() => {
@@ -30,177 +29,177 @@ function describeFirebaseStorageAccessorDriverTests(f) {
30
29
  });
31
30
  describe('upload()', () => {
32
31
  describe('string types', () => {
33
- (0, test_1.itShouldFail)('if stringFormat is not defined in the options', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
32
+ (0, test_1.itShouldFail)('if stringFormat is not defined in the options', async () => {
34
33
  const contentType = 'text/plain';
35
34
  const data = existsFileContent;
36
- yield (0, test_1.expectFail)(() => uploadFile.upload(data, { contentType }));
37
- }));
38
- it('should upload a raw UTF-16 string.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
35
+ await (0, test_1.expectFail)(() => uploadFile.upload(data, { contentType }));
36
+ });
37
+ it('should upload a raw UTF-16 string.', async () => {
39
38
  const contentType = 'text/plain';
40
39
  const data = existsFileContent;
41
- yield uploadFile.upload(data, { stringFormat: 'raw', contentType });
42
- const metadata = yield uploadFile.getMetadata();
40
+ await uploadFile.upload(data, { stringFormat: 'raw', contentType });
41
+ const metadata = await uploadFile.getMetadata();
43
42
  expect(metadata.contentType).toBe(contentType);
44
- const result = yield uploadFile.getBytes();
43
+ const result = await uploadFile.getBytes();
45
44
  expect(result).toBeDefined();
46
45
  const decoded = Buffer.from(result).toString('utf-8');
47
46
  expect(decoded).toBe(data);
48
- }));
49
- it('should upload a base64 string.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- const bytes = yield existsFile.getBytes();
47
+ });
48
+ it('should upload a base64 string.', async () => {
49
+ const bytes = await existsFile.getBytes();
51
50
  const data = Buffer.from(bytes).toString('base64');
52
51
  const contentType = 'text/plain';
53
- yield uploadFile.upload(data, { stringFormat: 'base64', contentType });
54
- const metadata = yield uploadFile.getMetadata();
52
+ await uploadFile.upload(data, { stringFormat: 'base64', contentType });
53
+ const metadata = await uploadFile.getMetadata();
55
54
  expect(metadata.contentType).toBe(contentType);
56
- const result = yield uploadFile.getBytes();
55
+ const result = await uploadFile.getBytes();
57
56
  expect(result).toBeDefined();
58
57
  const decoded = Buffer.from(result).toString('utf-8');
59
58
  expect(decoded).toBe(existsFileContent);
60
- }));
61
- it('should upload a base64url string.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
62
- const bytes = yield existsFile.getBytes();
59
+ });
60
+ it('should upload a base64url string.', async () => {
61
+ const bytes = await existsFile.getBytes();
63
62
  const data = Buffer.from(bytes).toString('base64url');
64
63
  const contentType = 'text/plain';
65
- yield uploadFile.upload(data, { stringFormat: 'base64url', contentType });
66
- const metadata = yield uploadFile.getMetadata();
64
+ await uploadFile.upload(data, { stringFormat: 'base64url', contentType });
65
+ const metadata = await uploadFile.getMetadata();
67
66
  expect(metadata.contentType).toBe(contentType);
68
- const result = yield uploadFile.getBytes();
67
+ const result = await uploadFile.getBytes();
69
68
  expect(result).toBeDefined();
70
69
  const decoded = Buffer.from(result).toString('utf-8');
71
70
  expect(decoded).toBe(existsFileContent);
72
- }));
71
+ });
73
72
  });
74
73
  describe('data types', () => {
75
74
  // NOTE: We can really only test how a NodeJS environment will behave here.
76
- it('should upload a Uint8Array', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
75
+ it('should upload a Uint8Array', async () => {
77
76
  const dataBuffer = Buffer.from(existsFileContent, 'utf-8');
78
77
  const data = new Uint8Array(dataBuffer);
79
78
  const contentType = 'text/plain';
80
- yield uploadFile.upload(data, { contentType });
81
- const metadata = yield uploadFile.getMetadata();
79
+ await uploadFile.upload(data, { contentType });
80
+ const metadata = await uploadFile.getMetadata();
82
81
  expect(metadata.contentType).toBe(contentType);
83
- }));
84
- it('should upload a Buffer', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
82
+ });
83
+ it('should upload a Buffer', async () => {
85
84
  const buffer = Buffer.from(existsFileContent, 'utf-8');
86
85
  const contentType = 'text/plain';
87
- yield uploadFile.upload(buffer, { contentType });
88
- const metadata = yield uploadFile.getMetadata();
86
+ await uploadFile.upload(buffer, { contentType });
87
+ const metadata = await uploadFile.getMetadata();
89
88
  expect(metadata.contentType).toBe(contentType);
90
- }));
91
- it('should upload a Blob', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ });
90
+ it('should upload a Blob', async () => {
92
91
  const buffer = Buffer.from(existsFileContent, 'utf-8');
93
92
  const data = new Uint8Array(buffer);
94
93
  const blob = data.buffer; // blob-like
95
94
  const contentType = 'text/plain';
96
- yield uploadFile.upload(blob, { contentType });
97
- const metadata = yield uploadFile.getMetadata();
95
+ await uploadFile.upload(blob, { contentType });
96
+ const metadata = await uploadFile.getMetadata();
98
97
  expect(metadata.contentType).toBe(contentType);
99
- }));
98
+ });
100
99
  // NOTE: File extends Blob, so above test should cover it ok.
101
100
  });
102
- // TODO: Test uploading other types.
101
+ // TODO(TEST): Test uploading other types.
103
102
  });
104
103
  describe('uploadStream()', () => {
105
- it('should upload a string using a WritableStream', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
104
+ it('should upload a string using a WritableStream', async () => {
106
105
  if (uploadFile.uploadStream != null) {
107
106
  const contentType = 'text/plain';
108
107
  const data = existsFileContent;
109
108
  const stream = uploadFile.uploadStream();
110
- yield (0, util_1.useCallback)((cb) => stream.write(data, 'utf-8', cb));
111
- yield (0, util_1.useCallback)((cb) => stream.end(cb));
112
- const exists = yield uploadFile.exists();
109
+ await (0, util_1.useCallback)((cb) => stream.write(data, 'utf-8', cb));
110
+ await (0, util_1.useCallback)((cb) => stream.end(cb));
111
+ const exists = await uploadFile.exists();
113
112
  expect(exists).toBe(true);
114
- const metadata = yield uploadFile.getMetadata();
113
+ const metadata = await uploadFile.getMetadata();
115
114
  expect(metadata.contentType).toBe(contentType);
116
- const result = yield uploadFile.getBytes();
115
+ const result = await uploadFile.getBytes();
117
116
  expect(result).toBeDefined();
118
117
  const decoded = Buffer.from(result).toString('utf-8');
119
118
  expect(decoded).toBe(data);
120
119
  }
121
- }));
122
- // TODO: Upload using a nodejs stream
120
+ });
121
+ // TODO(TEST): Upload using a nodejs stream
123
122
  });
124
123
  });
125
124
  describe('exists()', () => {
126
- it('should return true if the file exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
127
- const result = yield existsFile.exists();
125
+ it('should return true if the file exists.', async () => {
126
+ const result = await existsFile.exists();
128
127
  expect(result).toBe(true);
129
- }));
130
- it('should return false if the file exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
131
- const result = yield doesNotExistFile.exists();
128
+ });
129
+ it('should return false if the file exists.', async () => {
130
+ const result = await doesNotExistFile.exists();
132
131
  expect(result).toBe(false);
133
- }));
132
+ });
134
133
  });
135
134
  describe('getMetadata()', () => {
136
- (0, test_1.itShouldFail)('if the file does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
137
- yield (0, test_1.expectFail)(() => doesNotExistFile.getMetadata());
138
- }));
139
- it('should return the metadata.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
140
- const result = yield existsFile.getMetadata();
135
+ (0, test_1.itShouldFail)('if the file does not exist.', async () => {
136
+ await (0, test_1.expectFail)(() => doesNotExistFile.getMetadata());
137
+ });
138
+ it('should return the metadata.', async () => {
139
+ const result = await existsFile.getMetadata();
141
140
  expect(result.bucket).toBe(existsFile.storagePath.bucketId);
142
141
  expect(result.fullPath).toBe(existsFilePath);
143
142
  expect(typeof result.size).toBe('number');
144
143
  expect(result.size).toBeGreaterThan(0);
145
144
  expect(result.contentType).toBe(existsFileContentType);
146
145
  expect(result).toBeDefined();
147
- }));
146
+ });
148
147
  });
149
148
  describe('getBytes()', () => {
150
- (0, test_1.itShouldFail)('if the file does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
151
- yield (0, test_1.expectFail)(() => doesNotExistFile.getBytes());
152
- }));
153
- it('should download the file.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
154
- const result = yield existsFile.getBytes();
149
+ (0, test_1.itShouldFail)('if the file does not exist.', async () => {
150
+ await (0, test_1.expectFail)(() => doesNotExistFile.getBytes());
151
+ });
152
+ it('should download the file.', async () => {
153
+ const result = await existsFile.getBytes();
155
154
  expect(result).toBeDefined();
156
155
  const decoded = Buffer.from(result).toString('utf-8');
157
156
  expect(decoded).toBe(existsFileContent);
158
- }));
157
+ });
159
158
  describe('with maxDownloadSizeBytes configuration', () => {
160
- it('should download up to the maxDownloadSizeBytes number of bytes', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
159
+ it('should download up to the maxDownloadSizeBytes number of bytes', async () => {
161
160
  const charactersToTake = 5;
162
- const result = yield existsFile.getBytes(charactersToTake); // each normal utf-8 character is 1 byte
161
+ const result = await existsFile.getBytes(charactersToTake); // each normal utf-8 character is 1 byte
163
162
  expect(result).toBeDefined();
164
163
  const decoded = Buffer.from(result).toString('utf-8');
165
164
  expect(decoded).toBe(existsFileContent.substring(0, charactersToTake));
166
- }));
165
+ });
167
166
  });
168
167
  });
169
168
  describe('getStream()', () => {
170
- it('should download the file.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
169
+ it('should download the file.', async () => {
171
170
  if (existsFile.getStream != null) {
172
171
  // only test if the driver/file has getStream available
173
172
  const stream = existsFile.getStream();
174
173
  expect(stream).toBeDefined();
175
- const buffer = yield (0, util_1.readableStreamToBuffer)(stream);
174
+ const buffer = await (0, util_1.readableStreamToBuffer)(stream);
176
175
  const decoded = buffer.toString('utf-8');
177
176
  expect(decoded).toBe(existsFileContent);
178
177
  }
179
- }));
178
+ });
180
179
  });
181
180
  describe('getDownloadUrl()', () => {
182
- (0, test_1.itShouldFail)('if the file does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
183
- yield (0, test_1.expectFail)(() => doesNotExistFile.getDownloadUrl());
184
- }));
185
- it('should return the download url.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
186
- const result = yield existsFile.getDownloadUrl();
181
+ (0, test_1.itShouldFail)('if the file does not exist.', async () => {
182
+ await (0, test_1.expectFail)(() => doesNotExistFile.getDownloadUrl());
183
+ });
184
+ it('should return the download url.', async () => {
185
+ const result = await existsFile.getDownloadUrl();
187
186
  expect(result).toBeDefined();
188
187
  expect(typeof result).toBe('string');
189
- }));
188
+ });
190
189
  });
191
190
  describe('delete()', () => {
192
- (0, test_1.itShouldFail)('if the file does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
193
- yield (0, test_1.expectFail)(() => doesNotExistFile.delete());
194
- }));
195
- it('should delete the file at the path.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
196
- yield existsFile.delete();
197
- const result = yield existsFile.exists();
191
+ (0, test_1.itShouldFail)('if the file does not exist.', async () => {
192
+ await (0, test_1.expectFail)(() => doesNotExistFile.delete());
193
+ });
194
+ it('should delete the file at the path.', async () => {
195
+ await existsFile.delete();
196
+ const result = await existsFile.exists();
198
197
  expect(result).toBe(false);
199
- }));
198
+ });
200
199
  describe('ignoreNotFound=true', () => {
201
- it('should not throw an error if the file does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
202
- yield doesNotExistFile.delete({ ignoreNotFound: true });
203
- }));
200
+ it('should not throw an error if the file does not exist.', async () => {
201
+ await doesNotExistFile.delete({ ignoreNotFound: true });
202
+ });
204
203
  });
205
204
  });
206
205
  });
@@ -213,21 +212,21 @@ function describeFirebaseStorageAccessorDriverTests(f) {
213
212
  const existsFilePath = existsFolderPath + existsFileName;
214
213
  const existsFileContent = 'Hello! \ud83d\ude0a';
215
214
  let existsFile;
216
- beforeEach(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
215
+ beforeEach(async () => {
217
216
  doesNotExistFolder = f.storageContext.folder(doesNotExistFolderPath);
218
217
  existsFolder = f.storageContext.folder(existsFolderPath);
219
218
  existsFile = f.storageContext.file(existsFilePath);
220
- yield existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
221
- }));
219
+ await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
220
+ });
222
221
  describe('exists', () => {
223
- it('should return false if there are no items in the folder.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
224
- const exists = yield doesNotExistFolder.exists();
222
+ it('should return false if there are no items in the folder.', async () => {
223
+ const exists = await doesNotExistFolder.exists();
225
224
  expect(exists).toBe(false);
226
- }));
227
- it('should return true if there are items in the folder.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
228
- const exists = yield existsFolder.exists();
225
+ });
226
+ it('should return true if there are items in the folder.', async () => {
227
+ const exists = await existsFolder.exists();
229
228
  expect(exists).toBe(true);
230
- }));
229
+ });
231
230
  });
232
231
  describe('list', () => {
233
232
  const existsBFileName = 'a.txt';
@@ -236,58 +235,58 @@ function describeFirebaseStorageAccessorDriverTests(f) {
236
235
  const existsCFilePath = existsCFolderPath + 'c.txt';
237
236
  const otherFolderPath = '/other/';
238
237
  const otherFolderFilePath = otherFolderPath + 'other.txt';
239
- beforeEach(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
240
- yield f.storageContext.file(existsBFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
241
- yield f.storageContext.file(existsCFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
242
- yield f.storageContext.file(otherFolderFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
243
- }));
238
+ beforeEach(async () => {
239
+ await f.storageContext.file(existsBFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
240
+ await f.storageContext.file(existsCFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
241
+ await f.storageContext.file(otherFolderFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
242
+ });
244
243
  describe('file()', () => {
245
- it('should return the file for the result.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
246
- const result = yield existsFolder.list();
244
+ it('should return the file for the result.', async () => {
245
+ const result = await existsFolder.list();
247
246
  expect(result).toBeDefined();
248
247
  const files = result.files();
249
248
  const fileResult = files.find((x) => x.name === existsFileName);
250
249
  const file = fileResult.file();
251
- const exists = yield file.exists();
250
+ const exists = await file.exists();
252
251
  expect(exists).toBe(true);
253
- }));
252
+ });
254
253
  });
255
254
  describe('folder()', () => {
256
- it('should return the folder for the result.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
257
- const rootFolder = yield f.storageContext.folder('/');
258
- const result = yield rootFolder.list();
255
+ it('should return the folder for the result.', async () => {
256
+ const rootFolder = await f.storageContext.folder('/');
257
+ const result = await rootFolder.list();
259
258
  expect(result).toBeDefined();
260
259
  const folders = result.folders();
261
260
  const folderResult = folders.find((x) => x.name === 'test');
262
261
  const folder = folderResult.folder();
263
- const exists = yield folder.exists();
262
+ const exists = await folder.exists();
264
263
  expect(exists).toBe(true);
265
- }));
264
+ });
266
265
  });
267
266
  describe('next()', () => {
268
- it('should return the next set of results.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
267
+ it('should return the next set of results.', async () => {
269
268
  const maxResults = 1;
270
- const rootFolder = yield f.storageContext.folder(existsFolderPath);
271
- const result = yield rootFolder.list({ maxResults });
269
+ const rootFolder = await f.storageContext.folder(existsFolderPath);
270
+ const result = await rootFolder.list({ maxResults });
272
271
  expect(result).toBeDefined();
273
272
  const files = result.files();
274
273
  expect(files.length).toBe(maxResults);
275
- const next = yield result.next();
274
+ const next = await result.next();
276
275
  expect(next).toBeDefined();
277
276
  const nextFiles = next.files();
278
277
  expect(nextFiles.length).toBe(maxResults);
279
278
  expect(nextFiles[0].storagePath.pathString).not.toBe(files[0].storagePath.pathString);
280
279
  expect(next.hasNext).toBe(false);
281
- }));
282
- (0, test_1.itShouldFail)('if next() is called and hasNext was false.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
283
- const rootFolder = yield f.storageContext.folder(existsFolderPath);
284
- const result = yield rootFolder.list({});
280
+ });
281
+ (0, test_1.itShouldFail)('if next() is called and hasNext was false.', async () => {
282
+ const rootFolder = await f.storageContext.folder(existsFolderPath);
283
+ const result = await rootFolder.list({});
285
284
  expect(result.hasNext).toBe(false);
286
- yield (0, test_1.expectFail)(() => result.next());
287
- }));
285
+ await (0, test_1.expectFail)(() => result.next());
286
+ });
288
287
  });
289
- it('should list all the direct files and folders that exist on the test path.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
290
- const result = yield existsFolder.list();
288
+ it('should list all the direct files and folders that exist on the test path.', async () => {
289
+ const result = await existsFolder.list();
291
290
  expect(result).toBeDefined();
292
291
  const files = result.files();
293
292
  expect(files.length).toBe(2);
@@ -298,10 +297,10 @@ function describeFirebaseStorageAccessorDriverTests(f) {
298
297
  expect(folders.length).toBe(1);
299
298
  const folderNames = new Set(folders.map((x) => x.name));
300
299
  expect(folderNames).toContain('c');
301
- }));
302
- it('should list all the direct folders that exist at the root.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
303
- const rootFolder = yield f.storageContext.folder('/');
304
- const result = yield rootFolder.list();
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();
305
304
  expect(result).toBeDefined();
306
305
  const files = result.files();
307
306
  expect(files.length).toBe(0); // files are under /test/ and /other/
@@ -310,12 +309,12 @@ function describeFirebaseStorageAccessorDriverTests(f) {
310
309
  const names = new Set(folders.map((x) => x.name));
311
310
  expect(names).toContain('test');
312
311
  expect(names).toContain('other');
313
- }));
312
+ });
314
313
  describe('maxResults', () => {
315
- it('should respect the max results.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
314
+ it('should respect the max results.', async () => {
316
315
  const maxResults = 1;
317
- const rootFolder = yield f.storageContext.folder(existsFolderPath);
318
- const result = yield rootFolder.list({ maxResults });
316
+ const rootFolder = await f.storageContext.folder(existsFolderPath);
317
+ const result = await rootFolder.list({ maxResults });
319
318
  expect(result).toBeDefined();
320
319
  const files = result.files();
321
320
  expect(files.length).toBe(maxResults);
@@ -323,11 +322,11 @@ function describeFirebaseStorageAccessorDriverTests(f) {
323
322
  expect(folders.length).toBe(1);
324
323
  const names = new Set(folders.map((x) => x.name));
325
324
  expect(names).toContain('c');
326
- }));
327
- it('prefixes/folders are unaffected by maxResults.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
325
+ });
326
+ it('prefixes/folders are unaffected by maxResults.', async () => {
328
327
  const maxResults = 1;
329
- const rootFolder = yield f.storageContext.folder('/');
330
- const result = yield rootFolder.list({ maxResults });
328
+ const rootFolder = await f.storageContext.folder('/');
329
+ const result = await rootFolder.list({ maxResults });
331
330
  expect(result).toBeDefined();
332
331
  const files = result.files();
333
332
  expect(files.length).toBe(0); // files are under /test/ and /other/
@@ -336,7 +335,7 @@ function describeFirebaseStorageAccessorDriverTests(f) {
336
335
  const names = new Set(folders.map((x) => x.name));
337
336
  expect(names).toContain('test');
338
337
  expect(names).toContain('other');
339
- }));
338
+ });
340
339
  });
341
340
  });
342
341
  });
@@ -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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"}