@dereekb/firebase 8.9.1 → 8.10.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 (145) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +5 -5
  3. package/src/lib/client/firestore/driver.js +2 -2
  4. package/src/lib/client/firestore/driver.js.map +1 -1
  5. package/src/lib/client/firestore/firestore.d.ts +5 -1
  6. package/src/lib/client/firestore/firestore.js +7 -2
  7. package/src/lib/client/firestore/firestore.js.map +1 -1
  8. package/src/lib/client/index.d.ts +1 -0
  9. package/src/lib/client/index.js +1 -0
  10. package/src/lib/client/index.js.map +1 -1
  11. package/src/lib/client/storage/driver.accessor.d.ts +17 -0
  12. package/src/lib/client/storage/driver.accessor.js +105 -0
  13. package/src/lib/client/storage/driver.accessor.js.map +1 -0
  14. package/src/lib/client/storage/driver.d.ts +3 -0
  15. package/src/lib/client/storage/driver.js +13 -0
  16. package/src/lib/client/storage/driver.js.map +1 -0
  17. package/src/lib/client/storage/index.d.ts +3 -0
  18. package/src/lib/client/storage/index.js +7 -0
  19. package/src/lib/client/storage/index.js.map +1 -0
  20. package/src/lib/client/storage/storage.d.ts +5 -0
  21. package/src/lib/client/storage/storage.js +10 -0
  22. package/src/lib/client/storage/storage.js.map +1 -0
  23. package/src/lib/common/firestore/context.d.ts +2 -2
  24. package/src/lib/common/firestore/context.js +1 -1
  25. package/src/lib/common/firestore/context.js.map +1 -1
  26. package/src/lib/common/firestore/driver/driver.d.ts +2 -2
  27. package/src/lib/common/index.d.ts +1 -0
  28. package/src/lib/common/index.js +1 -0
  29. package/src/lib/common/index.js.map +1 -1
  30. package/src/lib/common/storage/accessor/index.d.ts +1 -0
  31. package/src/lib/common/storage/accessor/index.js +5 -0
  32. package/src/lib/common/storage/accessor/index.js.map +1 -0
  33. package/src/lib/common/storage/accessor/path.model.d.ts +26 -0
  34. package/src/lib/common/storage/accessor/path.model.js +25 -0
  35. package/src/lib/common/storage/accessor/path.model.js.map +1 -0
  36. package/src/lib/common/storage/context.d.ts +35 -0
  37. package/src/lib/common/storage/context.js +34 -0
  38. package/src/lib/common/storage/context.js.map +1 -0
  39. package/src/lib/common/storage/driver/accessor.d.ts +170 -0
  40. package/src/lib/common/storage/driver/accessor.js +3 -0
  41. package/src/lib/common/storage/driver/accessor.js.map +1 -0
  42. package/src/lib/common/storage/driver/driver.d.ts +10 -0
  43. package/src/lib/common/storage/driver/driver.js +3 -0
  44. package/src/lib/common/storage/driver/driver.js.map +1 -0
  45. package/src/lib/common/storage/driver/error.d.ts +3 -0
  46. package/src/lib/common/storage/driver/error.js +16 -0
  47. package/src/lib/common/storage/driver/error.js.map +1 -0
  48. package/src/lib/common/storage/driver/index.d.ts +4 -0
  49. package/src/lib/common/storage/driver/index.js +8 -0
  50. package/src/lib/common/storage/driver/index.js.map +1 -0
  51. package/src/lib/common/storage/driver/list.d.ts +13 -0
  52. package/src/lib/common/storage/driver/list.js +41 -0
  53. package/src/lib/common/storage/driver/list.js.map +1 -0
  54. package/src/lib/common/storage/index.d.ts +5 -0
  55. package/src/lib/common/storage/index.js +9 -0
  56. package/src/lib/common/storage/index.js.map +1 -0
  57. package/src/lib/common/storage/storage.d.ts +65 -0
  58. package/src/lib/common/storage/storage.js +55 -0
  59. package/src/lib/common/storage/storage.js.map +1 -0
  60. package/src/lib/common/storage/types.d.ts +210 -0
  61. package/src/lib/common/storage/types.js +3 -0
  62. package/src/lib/common/storage/types.js.map +1 -0
  63. package/test/CHANGELOG.md +15 -0
  64. package/test/package.json +7 -7
  65. package/test/src/lib/client/{firestore.authorized.d.ts → firebase.authorized.d.ts} +2 -2
  66. package/test/src/lib/client/firebase.authorized.js +35 -0
  67. package/test/src/lib/client/firebase.authorized.js.map +1 -0
  68. package/test/src/lib/client/firebase.d.ts +54 -0
  69. package/test/src/lib/client/{firestore.js → firebase.js} +34 -14
  70. package/test/src/lib/client/firebase.js.map +1 -0
  71. package/test/src/lib/client/firestore.mock.item.fixture.authorized.d.ts +9 -3
  72. package/test/src/lib/client/firestore.mock.item.fixture.authorized.js +13 -6
  73. package/test/src/lib/client/firestore.mock.item.fixture.authorized.js.map +1 -1
  74. package/test/src/lib/client/index.d.ts +2 -2
  75. package/test/src/lib/client/index.js +2 -2
  76. package/test/src/lib/client/index.js.map +1 -1
  77. package/test/src/lib/common/firebase.instance.d.ts +20 -0
  78. package/test/src/lib/common/firebase.instance.js +33 -0
  79. package/test/src/lib/common/firebase.instance.js.map +1 -0
  80. package/test/src/lib/common/{firestore.d.ts → firestore/firestore.d.ts} +1 -1
  81. package/test/src/lib/common/{firestore.mock.d.ts → firestore/firestore.instance.d.ts} +3 -4
  82. package/test/src/lib/common/{firestore.mock.js → firestore/firestore.instance.js} +6 -12
  83. package/test/src/lib/common/firestore/firestore.instance.js.map +1 -0
  84. package/test/src/lib/common/{firestore.js → firestore/firestore.js} +1 -1
  85. package/test/src/lib/common/firestore/firestore.js.map +1 -0
  86. package/test/src/lib/common/firestore/index.d.ts +5 -0
  87. package/test/src/lib/common/firestore/index.js +9 -0
  88. package/test/src/lib/common/firestore/index.js.map +1 -0
  89. package/test/src/lib/common/{test.driver.accessor.d.ts → firestore/test.driver.accessor.d.ts} +2 -2
  90. package/test/src/lib/common/{test.driver.accessor.js → firestore/test.driver.accessor.js} +9 -9
  91. package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -0
  92. package/test/src/lib/common/firestore/test.driver.query.d.ts +7 -0
  93. package/test/src/lib/common/{test.driver.query.js → firestore/test.driver.query.js} +5 -5
  94. package/test/src/lib/common/firestore/test.driver.query.js.map +1 -0
  95. package/test/src/lib/common/{test.iterator.d.ts → firestore/test.iterator.d.ts} +1 -1
  96. package/test/src/lib/common/{test.iterator.js → firestore/test.iterator.js} +2 -2
  97. package/test/src/lib/common/firestore/test.iterator.js.map +1 -0
  98. package/test/src/lib/common/index.d.ts +3 -8
  99. package/test/src/lib/common/index.js +3 -8
  100. package/test/src/lib/common/index.js.map +1 -1
  101. package/test/src/lib/common/mock/index.d.ts +5 -0
  102. package/test/src/lib/common/mock/index.js +9 -0
  103. package/test/src/lib/common/mock/index.js.map +1 -0
  104. package/test/src/lib/common/mock/mock.item.collection.fixture.d.ts +27 -0
  105. package/test/src/lib/common/{firestore.mock.item.fixture.js → mock/mock.item.collection.fixture.js} +7 -9
  106. package/test/src/lib/common/mock/mock.item.collection.fixture.js.map +1 -0
  107. package/test/src/lib/common/{firestore.mock.item.d.ts → mock/mock.item.d.ts} +0 -0
  108. package/test/src/lib/common/{firestore.mock.item.js → mock/mock.item.js} +1 -1
  109. package/test/src/lib/common/mock/mock.item.js.map +1 -0
  110. package/test/src/lib/common/{firestore.mock.item.query.d.ts → mock/mock.item.query.d.ts} +1 -1
  111. package/test/src/lib/common/{firestore.mock.item.query.js → mock/mock.item.query.js} +1 -1
  112. package/test/src/lib/common/mock/mock.item.query.js.map +1 -0
  113. package/test/src/lib/common/{firestore.mock.item.service.d.ts → mock/mock.item.service.d.ts} +1 -1
  114. package/test/src/lib/common/{firestore.mock.item.service.js → mock/mock.item.service.js} +11 -11
  115. package/test/src/lib/common/mock/mock.item.service.js.map +1 -0
  116. package/test/src/lib/common/mock/mock.item.storage.fixture.d.ts +18 -0
  117. package/test/src/lib/common/mock/mock.item.storage.fixture.js +39 -0
  118. package/test/src/lib/common/mock/mock.item.storage.fixture.js.map +1 -0
  119. package/test/src/lib/common/storage/index.d.ts +3 -0
  120. package/test/src/lib/common/storage/index.js +7 -0
  121. package/test/src/lib/common/storage/index.js.map +1 -0
  122. package/test/src/lib/common/storage/storage.d.ts +24 -0
  123. package/test/src/lib/common/storage/storage.instance.d.ts +13 -0
  124. package/test/src/lib/common/storage/storage.instance.js +23 -0
  125. package/test/src/lib/common/storage/storage.instance.js.map +1 -0
  126. package/test/src/lib/common/storage/storage.js +23 -0
  127. package/test/src/lib/common/storage/storage.js.map +1 -0
  128. package/test/src/lib/common/storage/test.driver.accessor.d.ts +7 -0
  129. package/test/src/lib/common/storage/test.driver.accessor.js +337 -0
  130. package/test/src/lib/common/storage/test.driver.accessor.js.map +1 -0
  131. package/test/src/lib/client/firestore.authorized.js +0 -23
  132. package/test/src/lib/client/firestore.authorized.js.map +0 -1
  133. package/test/src/lib/client/firestore.d.ts +0 -39
  134. package/test/src/lib/client/firestore.js.map +0 -1
  135. package/test/src/lib/common/firestore.js.map +0 -1
  136. package/test/src/lib/common/firestore.mock.item.fixture.d.ts +0 -27
  137. package/test/src/lib/common/firestore.mock.item.fixture.js.map +0 -1
  138. package/test/src/lib/common/firestore.mock.item.js.map +0 -1
  139. package/test/src/lib/common/firestore.mock.item.query.js.map +0 -1
  140. package/test/src/lib/common/firestore.mock.item.service.js.map +0 -1
  141. package/test/src/lib/common/firestore.mock.js.map +0 -1
  142. package/test/src/lib/common/test.driver.accessor.js.map +0 -1
  143. package/test/src/lib/common/test.driver.query.d.ts +0 -7
  144. package/test/src/lib/common/test.driver.query.js.map +0 -1
  145. package/test/src/lib/common/test.iterator.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [8.10.0](https://github.com/dereekb/dbx-components/compare/v8.9.1-dev...v8.10.0) (2022-07-04)
6
+
7
+
8
+ ### Features
9
+
10
+ * added DbxFirebaseStorageService ([deeaa02](https://github.com/dereekb/dbx-components/commit/deeaa02908f4acb754afc52d42033734bd034924))
11
+ * added exists(), uploadStream(), getBytes(), getStream() ([e3fe97e](https://github.com/dereekb/dbx-components/commit/e3fe97e5e985125a5ca653c40fd79c7980845863))
12
+ * added firebase storage testing/mock components ([a2524b7](https://github.com/dereekb/dbx-components/commit/a2524b79b50551ed97186c6cb2692bb072d7af48))
13
+ * added FirebaseServerStorageService ([38bf98a](https://github.com/dereekb/dbx-components/commit/38bf98aa76aaddcd0ae2a9487b9a661f7f9f4e6e))
14
+ * added FirebaseStorageContext ([5a30d46](https://github.com/dereekb/dbx-components/commit/5a30d465181d91ce92e7405636fb5414787ac8aa))
15
+ * added firebaseStorageContextFactory ([e940579](https://github.com/dereekb/dbx-components/commit/e9405795092fe4bc403967a93e0bff3a55fdd278))
16
+ * added list() and list exists() ([388c593](https://github.com/dereekb/dbx-components/commit/388c59350897fcc42d61eb723896e23c42211507))
17
+ * added upload byte types, delete() ([655088b](https://github.com/dereekb/dbx-components/commit/655088b238ef80097a2f09c539a1282a608f246b))
18
+
19
+
20
+
5
21
  ## [8.9.1](https://github.com/dereekb/dbx-components/compare/v8.9.0-dev...v8.9.1) (2022-06-30)
6
22
 
7
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "8.9.1",
3
+ "version": "8.10.0",
4
4
  "devDependencies": {
5
5
  "@firebase/rules-unit-testing": "^2.0.0"
6
6
  },
@@ -23,16 +23,16 @@
23
23
  "rxfire": "^6.0.3",
24
24
  "rxjs": "^7.0.0",
25
25
  "firebase": "^9.8.0",
26
- "@dereekb/util": "8.9.1",
26
+ "@dereekb/util": "8.10.0",
27
27
  "make-error": "^1.3.0",
28
28
  "ts-essentials": "^9.1.2",
29
29
  "extra-set": "^2.2.11",
30
- "@dereekb/rxjs": "8.9.1",
30
+ "@dereekb/rxjs": "8.10.0",
31
31
  "ms": "^3.0.0-canary.1",
32
- "@dereekb/model": "8.9.1",
32
+ "@dereekb/model": "8.10.0",
33
33
  "class-transformer": "^0.5.1",
34
34
  "class-validator": "^0.13.2",
35
- "@dereekb/date": "8.9.1",
35
+ "@dereekb/date": "8.10.0",
36
36
  "date-fns": "^2.28.0",
37
37
  "date-fns-tz": "^1.3.0",
38
38
  "rrule": "2.7.0",
@@ -5,8 +5,8 @@ const driver_accessor_1 = require("./driver.accessor");
5
5
  const driver_query_1 = require("./driver.query");
6
6
  function firebaseFirestoreClientDrivers() {
7
7
  return {
8
- driverIdentifier: '@firebase/firestore',
9
- driverType: 'production',
8
+ firestoreDriverIdentifier: '@firebase/firestore',
9
+ firestoreDriverType: 'production',
10
10
  firestoreAccessorDriver: (0, driver_accessor_1.firestoreClientAccessorDriver)(),
11
11
  firestoreQueryDriver: (0, driver_query_1.firebaseFirestoreQueryDriver)()
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAClE,iDAA8D;AAI9D,SAAgB,8BAA8B;IAC5C,OAAO;QACL,gBAAgB,EAAE,qBAAqB;QACvC,UAAU,EAAE,YAAY;QACxB,uBAAuB,EAAE,IAAA,+CAA6B,GAAE;QACxD,oBAAoB,EAAE,IAAA,2CAA4B,GAAE;KACrD,CAAC;AACJ,CAAC;AAPD,wEAOC"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAClE,iDAA8D;AAI9D,SAAgB,8BAA8B;IAC5C,OAAO;QACL,yBAAyB,EAAE,qBAAqB;QAChD,mBAAmB,EAAE,YAAY;QACjC,uBAAuB,EAAE,IAAA,+CAA6B,GAAE;QACxD,oBAAoB,EAAE,IAAA,2CAA4B,GAAE;KACrD,CAAC;AACJ,CAAC;AAPD,wEAOC"}
@@ -2,4 +2,8 @@ import { FirestoreContextFactory } from '../../common/firestore/context';
2
2
  /**
3
3
  * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
4
4
  */
5
- export declare const firebaseFirestoreContextFactory: FirestoreContextFactory;
5
+ export declare const clientFirebaseFirestoreContextFactory: FirestoreContextFactory;
6
+ /**
7
+ * @Deprecated use clientFirebaseFirestoreContextFactory instead.
8
+ */
9
+ export declare const firebaseFirestoreContextFactory: FirestoreContextFactory<import("../..").Firestore>;
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firebaseFirestoreContextFactory = void 0;
3
+ exports.firebaseFirestoreContextFactory = exports.clientFirebaseFirestoreContextFactory = void 0;
4
4
  const context_1 = require("../../common/firestore/context");
5
5
  const driver_1 = require("./driver");
6
6
  /**
7
7
  * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
8
8
  */
9
- exports.firebaseFirestoreContextFactory = (0, context_1.firestoreContextFactory)((0, driver_1.firebaseFirestoreClientDrivers)());
9
+ exports.clientFirebaseFirestoreContextFactory = (0, context_1.firestoreContextFactory)((0, driver_1.firebaseFirestoreClientDrivers)());
10
+ // MARK: compat
11
+ /**
12
+ * @Deprecated use clientFirebaseFirestoreContextFactory instead.
13
+ */
14
+ exports.firebaseFirestoreContextFactory = exports.clientFirebaseFirestoreContextFactory;
10
15
  //# sourceMappingURL=firestore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/firestore.ts"],"names":[],"mappings":";;;AAAA,4DAAkG;AAClG,qCAA0D;AAE1D;;GAEG;AACU,QAAA,+BAA+B,GAA4B,IAAA,iCAAuB,EAAC,IAAA,uCAA8B,GAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/firestore.ts"],"names":[],"mappings":";;;AAAA,4DAAkG;AAClG,qCAA0D;AAE1D;;GAEG;AACU,QAAA,qCAAqC,GAA4B,IAAA,iCAAuB,EAAC,IAAA,uCAA8B,GAAE,CAAC,CAAC;AAExI,eAAe;AACf;;GAEG;AACU,QAAA,+BAA+B,GAAG,6CAAqC,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './firestore';
2
2
  export * from './function';
3
+ export * from './storage';
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./firestore"), exports);
5
5
  tslib_1.__exportStar(require("./function"), exports);
6
+ tslib_1.__exportStar(require("./storage"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/client/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/client/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B"}
@@ -0,0 +1,17 @@
1
+ import { FirebaseStorageAccessorDriver, FirebaseStorageAccessorFile, FirebaseStorageAccessorFolder, StorageListFilesOptions } from '../../common/storage/driver/accessor';
2
+ import { StoragePath } from '../../common/storage/storage';
3
+ import { ListResult, StorageReference, FirebaseStorage as ClientFirebaseStorage } from '@firebase/storage';
4
+ import { ErrorInput, Maybe } from '@dereekb/util';
5
+ export declare function isFirebaseStorageObjectNotFoundError(input: Maybe<ErrorInput | string>): boolean;
6
+ export declare function firebaseStorageRefForStorageFilePath(storage: ClientFirebaseStorage, path: StoragePath): StorageReference;
7
+ export declare function firebaseStorageFileExists(ref: StorageReference): Promise<boolean>;
8
+ export declare type FirebaseStorageClientAccessorFile = FirebaseStorageAccessorFile<StorageReference>;
9
+ export declare function firebaseStorageClientAccessorFile(storage: ClientFirebaseStorage, storagePath: StoragePath): FirebaseStorageClientAccessorFile;
10
+ export declare type FirebaseStorageClientAccessorFolder = FirebaseStorageAccessorFolder<StorageReference>;
11
+ export interface FirebaseStorageClientListResult {
12
+ listResult: ListResult;
13
+ options?: StorageListFilesOptions;
14
+ }
15
+ export declare const firebaseStorageClientListFilesResultFactory: import("../../common").StorageListFilesResultFactory<ClientFirebaseStorage, FirebaseStorageClientListResult>;
16
+ export declare function firebaseStorageClientAccessorFolder(storage: ClientFirebaseStorage, storagePath: StoragePath): FirebaseStorageClientAccessorFolder;
17
+ export declare function firebaseStorageClientAccessorDriver(): FirebaseStorageAccessorDriver;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseStorageClientAccessorDriver = exports.firebaseStorageClientAccessorFolder = exports.firebaseStorageClientListFilesResultFactory = exports.firebaseStorageClientAccessorFile = exports.firebaseStorageFileExists = exports.firebaseStorageRefForStorageFilePath = exports.isFirebaseStorageObjectNotFoundError = void 0;
4
+ const storage_1 = require("../../common/storage/storage");
5
+ const storage_2 = require("@firebase/storage");
6
+ const common_1 = require("../../common");
7
+ const util_1 = require("@dereekb/util");
8
+ function isFirebaseStorageObjectNotFoundError(input) {
9
+ return (0, util_1.errorMessageContainsString)(input, 'storage/object-not-found');
10
+ }
11
+ exports.isFirebaseStorageObjectNotFoundError = isFirebaseStorageObjectNotFoundError;
12
+ function firebaseStorageRefForStorageFilePath(storage, path) {
13
+ return (0, storage_2.ref)(storage, (0, storage_1.firebaseStorageFilePathFromStorageFilePath)(path));
14
+ }
15
+ exports.firebaseStorageRefForStorageFilePath = firebaseStorageRefForStorageFilePath;
16
+ function firebaseStorageFileExists(ref) {
17
+ return (0, storage_2.getMetadata)(ref).then((_) => true, (_) => false);
18
+ }
19
+ exports.firebaseStorageFileExists = firebaseStorageFileExists;
20
+ function firebaseStorageClientAccessorFile(storage, storagePath) {
21
+ const ref = firebaseStorageRefForStorageFilePath(storage, storagePath);
22
+ function asUploadMetadata(options) {
23
+ let result;
24
+ if (options != null) {
25
+ const { contentType, metadata } = options;
26
+ if (options.contentType || options.metadata) {
27
+ result = Object.assign(Object.assign({}, (contentType ? { contentType } : undefined)), metadata);
28
+ }
29
+ }
30
+ return result;
31
+ }
32
+ return {
33
+ reference: ref,
34
+ storagePath,
35
+ exists: () => firebaseStorageFileExists(ref),
36
+ getDownloadUrl: () => (0, storage_2.getDownloadURL)(ref),
37
+ getMetadata: () => (0, storage_2.getMetadata)(ref),
38
+ upload: (input, options) => {
39
+ const inputType = typeof input === 'string';
40
+ const metadataOption = asUploadMetadata(options);
41
+ if (inputType) {
42
+ const stringFormat = (0, common_1.assertStorageUploadOptionsStringFormat)(options);
43
+ return (0, storage_2.uploadString)(ref, input, stringFormat, metadataOption);
44
+ }
45
+ else {
46
+ return (0, storage_2.uploadBytes)(ref, input, metadataOption);
47
+ }
48
+ },
49
+ getBytes: (maxDownloadSizeBytes) => (0, storage_2.getBytes)(ref, maxDownloadSizeBytes),
50
+ getBlob: (maxDownloadSizeBytes) => (0, storage_2.getBlob)(ref, maxDownloadSizeBytes),
51
+ uploadResumable: (input, options) => {
52
+ const metadataOption = asUploadMetadata(options);
53
+ return (0, storage_2.uploadBytesResumable)(ref, input, metadataOption);
54
+ },
55
+ delete: (options) => (0, storage_2.deleteObject)(ref).catch((x) => {
56
+ if (!options.ignoreNotFound || !isFirebaseStorageObjectNotFoundError(x)) {
57
+ throw x;
58
+ }
59
+ })
60
+ };
61
+ }
62
+ exports.firebaseStorageClientAccessorFile = firebaseStorageClientAccessorFile;
63
+ exports.firebaseStorageClientListFilesResultFactory = (0, common_1.storageListFilesResultFactory)({
64
+ hasItems: (result) => {
65
+ return Boolean(result.listResult.items.length || result.listResult.prefixes.length);
66
+ },
67
+ hasNext: (result) => {
68
+ return result.listResult.nextPageToken != null;
69
+ },
70
+ next(storage, folder, result) {
71
+ return folder.list(Object.assign(Object.assign({}, result.options), { pageToken: result.listResult.nextPageToken }));
72
+ },
73
+ file(storage, fileResult) {
74
+ return firebaseStorageClientAccessorFile(storage, fileResult.storagePath);
75
+ },
76
+ folder(storage, folderResult) {
77
+ return firebaseStorageClientAccessorFolder(storage, folderResult.storagePath);
78
+ },
79
+ filesFromResult(result) {
80
+ return result.listResult.items.map((y) => ({ name: y.name, storagePath: { bucketId: y.bucket, pathString: y.fullPath } }));
81
+ },
82
+ foldersFromResult(result) {
83
+ return result.listResult.prefixes.map((y) => ({ name: y.name, storagePath: { bucketId: y.bucket, pathString: y.fullPath } }));
84
+ }
85
+ });
86
+ function firebaseStorageClientAccessorFolder(storage, storagePath) {
87
+ const ref = firebaseStorageRefForStorageFilePath(storage, storagePath);
88
+ const folder = {
89
+ reference: ref,
90
+ storagePath,
91
+ exists: () => folder.list({ maxResults: 1 }).then((x) => x.hasItems()),
92
+ list: (options) => (0, storage_2.list)(ref, options).then((listResult) => (0, exports.firebaseStorageClientListFilesResultFactory)(storage, folder, options, { options, listResult }))
93
+ };
94
+ return folder;
95
+ }
96
+ exports.firebaseStorageClientAccessorFolder = firebaseStorageClientAccessorFolder;
97
+ function firebaseStorageClientAccessorDriver() {
98
+ return {
99
+ defaultBucket: (storage) => { var _a; return (_a = storage.app.options.storageBucket) !== null && _a !== void 0 ? _a : ''; },
100
+ file: (storage, path) => firebaseStorageClientAccessorFile(storage, path),
101
+ folder: (storage, path) => firebaseStorageClientAccessorFolder(storage, path)
102
+ };
103
+ }
104
+ exports.firebaseStorageClientAccessorDriver = firebaseStorageClientAccessorDriver;
105
+ //# sourceMappingURL=driver.accessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/storage/driver.accessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FirebaseStorageDrivers } from '../../common/storage/driver/driver';
2
+ export declare type FirebaseStorageClientDrivers = FirebaseStorageDrivers;
3
+ export declare function firebaseStorageClientDrivers(): FirebaseStorageClientDrivers;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseStorageClientDrivers = void 0;
4
+ const driver_accessor_1 = require("./driver.accessor");
5
+ function firebaseStorageClientDrivers() {
6
+ return {
7
+ storageDriverIdentifier: '@firebase/storage',
8
+ storageDriverType: 'production',
9
+ storageAccessorDriver: (0, driver_accessor_1.firebaseStorageClientAccessorDriver)()
10
+ };
11
+ }
12
+ exports.firebaseStorageClientDrivers = firebaseStorageClientDrivers;
13
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/storage/driver.ts"],"names":[],"mappings":";;;AACA,uDAAwE;AAIxE,SAAgB,4BAA4B;IAC1C,OAAO;QACL,uBAAuB,EAAE,mBAAmB;QAC5C,iBAAiB,EAAE,YAAY;QAC/B,qBAAqB,EAAE,IAAA,qDAAmC,GAAE;KAC7D,CAAC;AACJ,CAAC;AAND,oEAMC"}
@@ -0,0 +1,3 @@
1
+ export * from './driver';
2
+ export * from './driver.accessor';
3
+ export * from './storage';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./driver"), exports);
5
+ tslib_1.__exportStar(require("./driver.accessor"), exports);
6
+ tslib_1.__exportStar(require("./storage"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/storage/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,4DAAkC;AAClC,oDAA0B"}
@@ -0,0 +1,5 @@
1
+ import { FirebaseStorageContextFactory } from '../../common/storage/context';
2
+ /**
3
+ * Creates a FirebaseStorageContextFactory that uses the client @firebase/storage package.
4
+ */
5
+ export declare const clientFirebaseStorageContextFactory: FirebaseStorageContextFactory;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clientFirebaseStorageContextFactory = void 0;
4
+ const context_1 = require("../../common/storage/context");
5
+ const driver_1 = require("./driver");
6
+ /**
7
+ * Creates a FirebaseStorageContextFactory that uses the client @firebase/storage package.
8
+ */
9
+ exports.clientFirebaseStorageContextFactory = (0, context_1.firebaseStorageContextFactory)((0, driver_1.firebaseStorageClientDrivers)());
10
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/storage/storage.ts"],"names":[],"mappings":";;;AAAA,0DAA4G;AAC5G,qCAAwD;AAExD;;GAEG;AACU,QAAA,mCAAmC,GAAkC,IAAA,uCAA6B,EAAC,IAAA,qCAA4B,GAAE,CAAC,CAAC"}
@@ -5,7 +5,7 @@ import { WriteBatchFactoryReference, RunTransactionFactoryReference } from './dr
5
5
  import { DocumentReference, CollectionReference, DocumentData, Firestore, CollectionGroup } from './types';
6
6
  import { QueryLikeReferenceRef } from './reference';
7
7
  /**
8
- * A @dereekb/firestore FirestoreContext. Wraps the main Firestore context and the drivers, as well as utility/convenience functions.
8
+ * A @dereekb/firebase FirestoreContext. Wraps the main Firestore context and the drivers, as well as utility/convenience functions.
9
9
  */
10
10
  export interface FirestoreContext<F extends Firestore = Firestore> extends RunTransactionFactoryReference, WriteBatchFactoryReference {
11
11
  readonly firestore: F;
@@ -18,7 +18,7 @@ export interface FirestoreContext<F extends Firestore = Firestore> extends RunTr
18
18
  firestoreCollectionWithParent<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D, PD>): FirestoreCollectionWithParent<T, PT, D, PD>;
19
19
  singleItemFirestoreCollection<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: FirestoreContextSingleItemFirestoreCollectionConfig<T, PT, D, PD>): SingleItemFirestoreCollection<T, PT, D, PD>;
20
20
  }
21
- export declare type FirestoreContextFirestoreCollectionConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreCollectionConfig<T, D>, 'driverIdentifier' | 'driverType' | 'firestoreQueryDriver' | 'firestoreAccessorDriver'>;
21
+ export declare type FirestoreContextFirestoreCollectionConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreCollectionConfig<T, D>, 'firestoreDriverIdentifier' | 'firestoreDriverType' | 'firestoreQueryDriver' | 'firestoreAccessorDriver'>;
22
22
  export declare type FirestoreContextFirestoreCollectionGroupConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreContextFirestoreCollectionConfig<T, D>, 'collection'> & QueryLikeReferenceRef<T>;
23
23
  export interface FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends Omit<FirestoreContextFirestoreCollectionConfig<T, D>, 'queryLike'> {
24
24
  readonly parent: PD;
@@ -13,7 +13,7 @@ function firestoreContextFactory(drivers) {
13
13
  const makeFirestoreCollectionConfig = (config) => {
14
14
  var _a, _b;
15
15
  const queryLike = (_a = config.collection) !== null && _a !== void 0 ? _a : config.queryLike;
16
- return Object.assign(Object.assign({}, config), { collection: config.converter ? (_b = config.collection) === null || _b === void 0 ? void 0 : _b.withConverter(config.converter) : config.collection, queryLike: config.converter ? queryLike.withConverter(config.converter) : queryLike, firestoreContext: context, driverIdentifier: drivers.driverIdentifier, driverType: drivers.driverType, firestoreQueryDriver: drivers.firestoreQueryDriver, firestoreAccessorDriver: drivers.firestoreAccessorDriver });
16
+ return Object.assign(Object.assign({}, config), { collection: config.converter ? (_b = config.collection) === null || _b === void 0 ? void 0 : _b.withConverter(config.converter) : config.collection, queryLike: config.converter ? queryLike.withConverter(config.converter) : queryLike, firestoreContext: context, firestoreDriverIdentifier: drivers.firestoreDriverIdentifier, firestoreDriverType: drivers.firestoreDriverType, firestoreQueryDriver: drivers.firestoreQueryDriver, firestoreAccessorDriver: drivers.firestoreAccessorDriver });
17
17
  };
18
18
  const firestoreCollection = (config) => (0, collection_1.makeFirestoreCollection)(makeFirestoreCollectionConfig(config));
19
19
  const firestoreCollectionGroup = (config) => (0, collection_1.makeFirestoreCollectionGroup)(makeFirestoreCollectionConfig(config));
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/context.ts"],"names":[],"mappings":";;;AACA,6CAA6W;AAqC7W;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAkC,OAAyB;IAChG,OAAO,CAAC,SAAY,EAAE,EAAE;QACtB,MAAM,6BAA6B,GAAG,CAAyH,MAAsP,EAAE,EAAE;;YACvZ,MAAM,SAAS,GAAG,MAAC,MAA0D,CAAC,UAAU,mCAAK,MAA+D,CAAC,SAAS,CAAC;YAEvK,uCACK,MAAM,KACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAC,MAA0D,CAAC,UAAU,0CAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,MAA0D,CAAC,UAAU,EAC/M,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EACnF,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAC1C,UAAU,EAAE,OAAO,CAAC,UAAU,EAC9B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAClD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IACxD;QACJ,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAoC,MAAuD,EAAE,EAAE,CAAC,IAAA,oCAAuB,EAAC,6BAA6B,CAAC,MAAM,CAAoC,CAAC,CAAC;QAC9N,MAAM,wBAAwB,GAAG,CAAoC,MAA4D,EAAE,EAAE,CAAC,IAAA,yCAA4B,EAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1M,MAAM,OAAO,GAAwB;YACnC,SAAS;YACT,OAAO;YACP,eAAe,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;YACnH,UAAU,EAAE,CAAC,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;YACrI,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,aAAa;YAC5D,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,SAAS,CAAC;YACzF,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,SAAS,CAAC;YAC/E,mBAAmB;YACnB,wBAAwB;YACxB,6BAA6B,CAAyH,WAA8D;gBAClN,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B,CAAyH,WAA8E;gBAClO,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AA1CD,0DA0CC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/context.ts"],"names":[],"mappings":";;;AACA,6CAA6W;AAqC7W;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAkC,OAAyB;IAChG,OAAO,CAAC,SAAY,EAAE,EAAE;QACtB,MAAM,6BAA6B,GAAG,CAAyH,MAAsP,EAAE,EAAE;;YACvZ,MAAM,SAAS,GAAG,MAAC,MAA0D,CAAC,UAAU,mCAAK,MAA+D,CAAC,SAAS,CAAC;YAEvK,uCACK,MAAM,KACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAC,MAA0D,CAAC,UAAU,0CAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,MAA0D,CAAC,UAAU,EAC/M,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EACnF,gBAAgB,EAAE,OAAO,EACzB,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,EAC5D,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAClD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IACxD;QACJ,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAoC,MAAuD,EAAE,EAAE,CAAC,IAAA,oCAAuB,EAAC,6BAA6B,CAAC,MAAM,CAAoC,CAAC,CAAC;QAC9N,MAAM,wBAAwB,GAAG,CAAoC,MAA4D,EAAE,EAAE,CAAC,IAAA,yCAA4B,EAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1M,MAAM,OAAO,GAAwB;YACnC,SAAS;YACT,OAAO;YACP,eAAe,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;YACnH,UAAU,EAAE,CAAC,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;YACrI,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,aAAa;YAC5D,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,SAAS,CAAC;YACzF,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,SAAS,CAAC;YAC/E,mBAAmB;YACnB,wBAAwB;YACxB,6BAA6B,CAAyH,WAA8D;gBAClN,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B,CAAyH,WAA8E;gBAClO,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AA1CD,0DA0CC"}
@@ -6,6 +6,6 @@ export declare type FirestoreDriverType = 'production' | 'testing';
6
6
  * Implements all Firestore related driver reference interfaces.
7
7
  */
8
8
  export interface FirestoreDrivers extends FirestoreQueryDriverRef, FirestoreAccessorDriverRef {
9
- driverIdentifier?: FirestoreDriverIdentifier;
10
- driverType: FirestoreDriverType;
9
+ firestoreDriverIdentifier?: FirestoreDriverIdentifier;
10
+ firestoreDriverType: FirestoreDriverType;
11
11
  }
@@ -2,3 +2,4 @@ export * from './auth';
2
2
  export * from './firestore';
3
3
  export * from './function';
4
4
  export * from './model';
5
+ export * from './storage';
@@ -5,4 +5,5 @@ tslib_1.__exportStar(require("./auth"), exports);
5
5
  tslib_1.__exportStar(require("./firestore"), exports);
6
6
  tslib_1.__exportStar(require("./function"), exports);
7
7
  tslib_1.__exportStar(require("./model"), exports);
8
+ tslib_1.__exportStar(require("./storage"), exports);
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/common/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/common/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,kDAAwB;AACxB,oDAA0B"}
@@ -0,0 +1 @@
1
+ export * from './path.model';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./path.model"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/storage/accessor/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
@@ -0,0 +1,26 @@
1
+ import { SlashPath, SlashPathFolder, FactoryWithRequiredInput } from '@dereekb/util';
2
+ import { ReadFirestoreModelKeyInput } from '../../firestore/collection/collection';
3
+ export declare const BASE_MODEL_STORAGE_FILE_PATH: SlashPathFolder;
4
+ /**
5
+ * Shared and configured slashPathFactory configuration for the model storage file path.
6
+ */
7
+ export declare const MODEL_STORAGE_FILE_SLASH_PATH_FACTORY: import("@dereekb/util").SlashPathFactory;
8
+ export interface ModelStorageSlashPathFactoryConfig {
9
+ /**
10
+ * Additional base path to provide.
11
+ *
12
+ * This value is merged with the BASE_MODEL_STORAGE_FILE_PATH (/model/) base path configured for all ModelStorageSlashPathFactory values
13
+ */
14
+ basePath?: string;
15
+ }
16
+ /**
17
+ * Factory for SlashPath values using input ReadFirestoreModelKeyInput values.
18
+ */
19
+ export declare type ModelStorageSlashPathFactory<T extends object = object> = FactoryWithRequiredInput<SlashPath, ReadFirestoreModelKeyInput<T>>;
20
+ /**
21
+ * Creates a ModelStorageSlashPathFactory.
22
+ *
23
+ * @param config
24
+ * @returns
25
+ */
26
+ export declare function modelStorageSlashPathFactory<T extends object = object>(config?: ModelStorageSlashPathFactoryConfig): ModelStorageSlashPathFactory<T>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.modelStorageSlashPathFactory = exports.MODEL_STORAGE_FILE_SLASH_PATH_FACTORY = exports.BASE_MODEL_STORAGE_FILE_PATH = void 0;
4
+ const util_1 = require("@dereekb/util");
5
+ const collection_1 = require("../../firestore/collection/collection");
6
+ exports.BASE_MODEL_STORAGE_FILE_PATH = '/model/';
7
+ /**
8
+ * Shared and configured slashPathFactory configuration for the model storage file path.
9
+ */
10
+ exports.MODEL_STORAGE_FILE_SLASH_PATH_FACTORY = (0, util_1.slashPathFactory)({ startType: 'absolute', basePath: exports.BASE_MODEL_STORAGE_FILE_PATH });
11
+ /**
12
+ * Creates a ModelStorageSlashPathFactory.
13
+ *
14
+ * @param config
15
+ * @returns
16
+ */
17
+ function modelStorageSlashPathFactory(config) {
18
+ const { basePath = '' } = config !== null && config !== void 0 ? config : {};
19
+ return (input) => {
20
+ const key = (0, collection_1.readFirestoreModelKey)(input, true);
21
+ return (0, exports.MODEL_STORAGE_FILE_SLASH_PATH_FACTORY)([basePath, key]);
22
+ };
23
+ }
24
+ exports.modelStorageSlashPathFactory = modelStorageSlashPathFactory;
25
+ //# sourceMappingURL=path.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.model.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/storage/accessor/path.model.ts"],"names":[],"mappings":";;;AAAA,wCAAuG;AACvG,sEAA0G;AAE7F,QAAA,4BAA4B,GAAoB,SAAS,CAAC;AAEvE;;GAEG;AACU,QAAA,qCAAqC,GAAG,IAAA,uBAAgB,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,oCAA4B,EAAE,CAAC,CAAC;AAgBzI;;;;;GAKG;AACH,SAAgB,4BAA4B,CAA4B,MAA2C;IACjH,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IACvC,OAAO,CAAC,KAAiC,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAA,kCAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAA,6CAAqC,EAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC;AAND,oEAMC"}
@@ -0,0 +1,35 @@
1
+ import { FirebaseStorageAccessor } from './driver/accessor';
2
+ import { FirebaseStorageDrivers } from './driver/driver';
3
+ import { StorageBucketId } from './storage';
4
+ import { FirebaseStorage } from './types';
5
+ /**
6
+ * A @dereekb/firebase FirebaseStorageContext. Wraps the main FirebaseStorage context and the drivers, as well as utility/convenience functions.
7
+ */
8
+ export interface FirebaseStorageContext<F extends FirebaseStorage = FirebaseStorage> extends FirebaseStorageAccessor {
9
+ readonly storage: F;
10
+ readonly drivers: FirebaseStorageDrivers;
11
+ }
12
+ /**
13
+ * Factory function for generating a FirebaseStorageContext given the input FirebaseStorage.
14
+ */
15
+ export declare type FirebaseStorageContextFactory<F extends FirebaseStorage = FirebaseStorage> = (firebaseStorage: F, config?: FirebaseStorageContextFactoryConfig) => FirebaseStorageContext;
16
+ /**
17
+ * firebaseStorageContextFactory() configuration
18
+ */
19
+ export interface FirebaseStorageContextFactoryConfig {
20
+ /**
21
+ * The default bucket
22
+ */
23
+ defaultBucketId?: StorageBucketId;
24
+ /**
25
+ * Whether or not to force using the default bucket id.
26
+ */
27
+ forceBucket?: boolean;
28
+ }
29
+ /**
30
+ * Creates a new FirebaseStorageContextFactory given the input FirebaseStorageDrivers.
31
+ *
32
+ * @param drivers
33
+ * @returns
34
+ */
35
+ export declare function firebaseStorageContextFactory<F extends FirebaseStorage = FirebaseStorage>(drivers: FirebaseStorageDrivers): FirebaseStorageContextFactory<F>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseStorageContextFactory = void 0;
4
+ const storage_1 = require("./storage");
5
+ /**
6
+ * Creates a new FirebaseStorageContextFactory given the input FirebaseStorageDrivers.
7
+ *
8
+ * @param drivers
9
+ * @returns
10
+ */
11
+ function firebaseStorageContextFactory(drivers) {
12
+ return (firebaseStorage, config) => {
13
+ var _a, _b;
14
+ const { defaultBucketId: inputDefaultBucketId, forceBucket = false } = config !== null && config !== void 0 ? config : {};
15
+ const defaultBucketId = inputDefaultBucketId || ((_b = (_a = drivers.storageAccessorDriver).defaultBucket) === null || _b === void 0 ? void 0 : _b.call(_a, firebaseStorage)) || '';
16
+ if (!defaultBucketId) {
17
+ throw new Error('Could not resolve a default bucket id for the firebaseStorageContextFactory(). Supply a defaultBucketId.');
18
+ }
19
+ const storagePathBuilder = (0, storage_1.storagePathFactory)({
20
+ bucketId: defaultBucketId,
21
+ replaceBucket: forceBucket
22
+ });
23
+ const context = {
24
+ storage: firebaseStorage,
25
+ drivers,
26
+ defaultBucket: () => defaultBucketId,
27
+ file: (path) => drivers.storageAccessorDriver.file(firebaseStorage, storagePathBuilder(path)),
28
+ folder: (path) => drivers.storageAccessorDriver.folder(firebaseStorage, storagePathBuilder(path))
29
+ };
30
+ return context;
31
+ };
32
+ }
33
+ exports.firebaseStorageContextFactory = firebaseStorageContextFactory;
34
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/storage/context.ts"],"names":[],"mappings":";;;AAEA,uCAAsG;AA8BtG;;;;;GAKG;AACH,SAAgB,6BAA6B,CAA8C,OAA+B;IACxH,OAAO,CAAC,eAAkB,EAAE,MAA4C,EAAE,EAAE;;QAC1E,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACpF,MAAM,eAAe,GAAoB,oBAAoB,KAAI,MAAA,MAAA,OAAO,CAAC,qBAAqB,EAAC,aAAa,mDAAG,eAAe,CAAC,CAAA,IAAI,EAAE,CAAC;QAEtI,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,0GAA0G,CAAC,CAAC;SAC7H;QAED,MAAM,kBAAkB,GAAuB,IAAA,4BAAkB,EAAC;YAChE,QAAQ,EAAE,eAAe;YACzB,aAAa,EAAE,WAAW;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAA8B;YACzC,OAAO,EAAE,eAAe;YACxB,OAAO;YACP,aAAa,EAAE,GAAG,EAAE,CAAC,eAAe;YACpC,IAAI,EAAE,CAAC,IAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC/G,MAAM,EAAE,CAAC,IAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACpH,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAxBD,sEAwBC"}