@dereekb/firebase-server 3.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 (138) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +7 -0
  3. package/package.json +34 -0
  4. package/src/index.d.ts +2 -0
  5. package/src/index.js +6 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/auth/auth.nest.d.ts +28 -0
  8. package/src/lib/auth/auth.nest.js +56 -0
  9. package/src/lib/auth/auth.nest.js.map +1 -0
  10. package/src/lib/auth/auth.service.d.ts +161 -0
  11. package/src/lib/auth/auth.service.js +125 -0
  12. package/src/lib/auth/auth.service.js.map +1 -0
  13. package/src/lib/auth/auth.user.d.ts +0 -0
  14. package/src/lib/auth/auth.user.js +2 -0
  15. package/src/lib/auth/auth.user.js.map +1 -0
  16. package/src/lib/auth/index.d.ts +2 -0
  17. package/src/lib/auth/index.js +7 -0
  18. package/src/lib/auth/index.js.map +1 -0
  19. package/src/lib/firebase/firebase.nest.d.ts +7 -0
  20. package/src/lib/firebase/firebase.nest.js +17 -0
  21. package/src/lib/firebase/firebase.nest.js.map +1 -0
  22. package/src/lib/firebase/index.d.ts +1 -0
  23. package/src/lib/firebase/index.js +5 -0
  24. package/src/lib/firebase/index.js.map +1 -0
  25. package/src/lib/firestore/driver.accessor.batch.d.ts +31 -0
  26. package/src/lib/firestore/driver.accessor.batch.js +65 -0
  27. package/src/lib/firestore/driver.accessor.batch.js.map +1 -0
  28. package/src/lib/firestore/driver.accessor.d.ts +11 -0
  29. package/src/lib/firestore/driver.accessor.default.d.ts +15 -0
  30. package/src/lib/firestore/driver.accessor.default.js +45 -0
  31. package/src/lib/firestore/driver.accessor.default.js.map +1 -0
  32. package/src/lib/firestore/driver.accessor.js +53 -0
  33. package/src/lib/firestore/driver.accessor.js.map +1 -0
  34. package/src/lib/firestore/driver.accessor.transaction.d.ts +31 -0
  35. package/src/lib/firestore/driver.accessor.transaction.js +64 -0
  36. package/src/lib/firestore/driver.accessor.transaction.js.map +1 -0
  37. package/src/lib/firestore/driver.d.ts +4 -0
  38. package/src/lib/firestore/driver.js +15 -0
  39. package/src/lib/firestore/driver.js.map +1 -0
  40. package/src/lib/firestore/driver.query.d.ts +6 -0
  41. package/src/lib/firestore/driver.query.js +40 -0
  42. package/src/lib/firestore/driver.query.js.map +1 -0
  43. package/src/lib/firestore/firestore.d.ts +5 -0
  44. package/src/lib/firestore/firestore.js +10 -0
  45. package/src/lib/firestore/firestore.js.map +1 -0
  46. package/src/lib/firestore/firestore.nest.d.ts +44 -0
  47. package/src/lib/firestore/firestore.nest.js +81 -0
  48. package/src/lib/firestore/firestore.nest.js.map +1 -0
  49. package/src/lib/firestore/index.d.ts +5 -0
  50. package/src/lib/firestore/index.js +9 -0
  51. package/src/lib/firestore/index.js.map +1 -0
  52. package/src/lib/function/assert.d.ts +2 -0
  53. package/src/lib/function/assert.js +12 -0
  54. package/src/lib/function/assert.js.map +1 -0
  55. package/src/lib/function/context.d.ts +4 -0
  56. package/src/lib/function/context.js +16 -0
  57. package/src/lib/function/context.js.map +1 -0
  58. package/src/lib/function/error.d.ts +4 -0
  59. package/src/lib/function/error.js +17 -0
  60. package/src/lib/function/error.js.map +1 -0
  61. package/src/lib/function/index.d.ts +4 -0
  62. package/src/lib/function/index.js +8 -0
  63. package/src/lib/function/index.js.map +1 -0
  64. package/src/lib/function/type.d.ts +5 -0
  65. package/src/lib/function/type.js +3 -0
  66. package/src/lib/function/type.js.map +1 -0
  67. package/src/lib/index.d.ts +5 -0
  68. package/src/lib/index.js +9 -0
  69. package/src/lib/index.js.map +1 -0
  70. package/src/lib/nest/app.d.ts +36 -0
  71. package/src/lib/nest/app.js +71 -0
  72. package/src/lib/nest/app.js.map +1 -0
  73. package/src/lib/nest/function/context.d.ts +12 -0
  74. package/src/lib/nest/function/context.js +12 -0
  75. package/src/lib/nest/function/context.js.map +1 -0
  76. package/src/lib/nest/function/index.d.ts +4 -0
  77. package/src/lib/nest/function/index.js +8 -0
  78. package/src/lib/nest/function/index.js.map +1 -0
  79. package/src/lib/nest/function/nest.d.ts +91 -0
  80. package/src/lib/nest/function/nest.js +74 -0
  81. package/src/lib/nest/function/nest.js.map +1 -0
  82. package/src/lib/nest/function/nest.utility.d.ts +10 -0
  83. package/src/lib/nest/function/nest.utility.js +23 -0
  84. package/src/lib/nest/function/nest.utility.js.map +1 -0
  85. package/src/lib/nest/function/transform.d.ts +10 -0
  86. package/src/lib/nest/function/transform.js +27 -0
  87. package/src/lib/nest/function/transform.js.map +1 -0
  88. package/src/lib/nest/index.d.ts +2 -0
  89. package/src/lib/nest/index.js +6 -0
  90. package/src/lib/nest/index.js.map +1 -0
  91. package/src/test/firebase/firebase.admin.auth.d.ts +132 -0
  92. package/src/test/firebase/firebase.admin.auth.js +168 -0
  93. package/src/test/firebase/firebase.admin.auth.js.map +1 -0
  94. package/src/test/firebase/firebase.admin.collection.d.ts +57 -0
  95. package/src/test/firebase/firebase.admin.collection.js +61 -0
  96. package/src/test/firebase/firebase.admin.collection.js.map +1 -0
  97. package/src/test/firebase/firebase.admin.d.ts +73 -0
  98. package/src/test/firebase/firebase.admin.function.d.ts +46 -0
  99. package/src/test/firebase/firebase.admin.function.js +116 -0
  100. package/src/test/firebase/firebase.admin.function.js.map +1 -0
  101. package/src/test/firebase/firebase.admin.js +142 -0
  102. package/src/test/firebase/firebase.admin.js.map +1 -0
  103. package/src/test/firebase/firebase.admin.nest.d.ts +62 -0
  104. package/src/test/firebase/firebase.admin.nest.function.context.d.ts +22 -0
  105. package/src/test/firebase/firebase.admin.nest.function.context.js +35 -0
  106. package/src/test/firebase/firebase.admin.nest.function.context.js.map +1 -0
  107. package/src/test/firebase/firebase.admin.nest.function.d.ts +25 -0
  108. package/src/test/firebase/firebase.admin.nest.function.js +50 -0
  109. package/src/test/firebase/firebase.admin.nest.function.js.map +1 -0
  110. package/src/test/firebase/firebase.admin.nest.js +86 -0
  111. package/src/test/firebase/firebase.admin.nest.js.map +1 -0
  112. package/src/test/firebase/firebase.admin.test.server.d.ts +3 -0
  113. package/src/test/firebase/firebase.admin.test.server.js +39 -0
  114. package/src/test/firebase/firebase.admin.test.server.js.map +1 -0
  115. package/src/test/firebase/firebase.d.ts +30 -0
  116. package/src/test/firebase/firebase.js +76 -0
  117. package/src/test/firebase/firebase.js.map +1 -0
  118. package/src/test/firebase/index.d.ts +8 -0
  119. package/src/test/firebase/index.js +12 -0
  120. package/src/test/firebase/index.js.map +1 -0
  121. package/src/test/firestore/firestore.admin.d.ts +9 -0
  122. package/src/test/firestore/firestore.admin.js +14 -0
  123. package/src/test/firestore/firestore.admin.js.map +1 -0
  124. package/src/test/firestore/firestore.d.ts +22 -0
  125. package/src/test/firestore/firestore.fixture.admin.d.ts +6 -0
  126. package/src/test/firestore/firestore.fixture.admin.js +12 -0
  127. package/src/test/firestore/firestore.fixture.admin.js.map +1 -0
  128. package/src/test/firestore/firestore.js +57 -0
  129. package/src/test/firestore/firestore.js.map +1 -0
  130. package/src/test/firestore/index.d.ts +2 -0
  131. package/src/test/firestore/index.js +7 -0
  132. package/src/test/firestore/index.js.map +1 -0
  133. package/src/test/index.d.ts +2 -0
  134. package/src/test/index.js +6 -0
  135. package/src/test/index.js.map +1 -0
  136. package/test-setup.d.ts +0 -0
  137. package/test-setup.js +6 -0
  138. package/test-setup.js.map +1 -0
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./firebase"), exports);
5
+ tslib_1.__exportStar(require("./firebase.admin"), exports);
6
+ tslib_1.__exportStar(require("./firebase.admin.nest"), exports);
7
+ tslib_1.__exportStar(require("./firebase.admin.function"), exports);
8
+ tslib_1.__exportStar(require("./firebase.admin.nest.function"), exports);
9
+ tslib_1.__exportStar(require("./firebase.admin.nest.function.context"), exports);
10
+ tslib_1.__exportStar(require("./firebase.admin.auth"), exports);
11
+ tslib_1.__exportStar(require("./firebase.admin.collection"), exports);
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/test/firebase/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,2DAAiC;AACjC,gEAAsC;AACtC,oEAA0C;AAC1C,yEAA+C;AAC/C,iFAAuD;AACvD,gEAAsC;AACtC,sEAA4C"}
@@ -0,0 +1,9 @@
1
+ import { JestTestContextFactory } from '@dereekb/util';
2
+ import { GoogleCloudTestFirestoreContextFixture } from './firestore';
3
+ export declare type GoogleFirebaseFirestoreTestContextFactory = JestTestContextFactory<GoogleCloudTestFirestoreContextFixture>;
4
+ /**
5
+ * Default firestore admin factory.
6
+ *
7
+ * Host of localhost, port 9904
8
+ */
9
+ export declare const adminFirestoreFactory: GoogleFirebaseFirestoreTestContextFactory;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminFirestoreFactory = void 0;
4
+ const firestore_1 = require("./firestore");
5
+ /**
6
+ * Default firestore admin factory.
7
+ *
8
+ * Host of localhost, port 9904
9
+ */
10
+ exports.adminFirestoreFactory = (0, firestore_1.googleCloudTestFirestoreBuilder)({
11
+ host: 'localhost',
12
+ port: 9904
13
+ });
14
+ //# sourceMappingURL=firestore.admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.admin.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/test/firestore/firestore.admin.ts"],"names":[],"mappings":";;;AACA,2CAAsG;AAItG;;;;GAIG;AACU,QAAA,qBAAqB,GAA8C,IAAA,2CAA+B,EAAC;IAC9G,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI;CACX,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Firestore } from '@google-cloud/firestore';
2
+ import { TestFirestoreContext, TestFirestoreInstance, TestFirestoreContextFixture, TestingFirestoreDrivers } from '@dereekb/firebase';
3
+ export interface GoogleCloudTestFirestoreConfig {
4
+ host: string;
5
+ port: number;
6
+ }
7
+ export interface GoogleCloudTestFirestoreContext extends TestFirestoreContext {
8
+ }
9
+ export declare function makeGoogleFirestoreContext(drivers: TestingFirestoreDrivers, firestore: Firestore): TestFirestoreContext;
10
+ export declare class GoogleCloudTestFirestoreInstance extends TestFirestoreInstance {
11
+ constructor(drivers: TestingFirestoreDrivers, firestore: Firestore);
12
+ }
13
+ export declare class GoogleCloudTestFirestoreContextFixture extends TestFirestoreContextFixture<GoogleCloudTestFirestoreInstance> {
14
+ }
15
+ /**
16
+ * A JestTestContextBuilderFunction for building firestore test context factories using @google-cloud/firestore. This means SERVER TESTING ONLY. For client testing, look at @dereekb/firestore.
17
+ *
18
+ * This is used to build a @google-cloud/firestore Firestore instance for testing and point it to the emulators.
19
+ *
20
+ * If you need all of Firebase (firebase-admin library), look at adminFirebaseAdminTestBuilder() instead.
21
+ */
22
+ export declare const googleCloudTestFirestoreBuilder: import("@dereekb/util").JestTestContextBuilderFunction<GoogleCloudTestFirestoreInstance, GoogleCloudTestFirestoreContextFixture, GoogleCloudTestFirestoreConfig>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Convenience mock instance for tests within an authorized context.
3
+ *
4
+ * Uses @google-cloud/firestore
5
+ */
6
+ export declare const adminTestWithMockItemCollection: import("../../../../../dist/packages/util/src").JestTestContextFactory<import("@dereekb/firebase").MockItemCollectionFixture>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminTestWithMockItemCollection = void 0;
4
+ const firebase_1 = require("@dereekb/firebase");
5
+ const firestore_admin_1 = require("./firestore.admin");
6
+ /**
7
+ * Convenience mock instance for tests within an authorized context.
8
+ *
9
+ * Uses @google-cloud/firestore
10
+ */
11
+ exports.adminTestWithMockItemCollection = (0, firebase_1.testWithMockItemFixture)()(firestore_admin_1.adminFirestoreFactory);
12
+ //# sourceMappingURL=firestore.fixture.admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.fixture.admin.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/test/firestore/firestore.fixture.admin.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAC5D,uDAA0D;AAE1D;;;;GAIG;AACU,QAAA,+BAA+B,GAAG,IAAA,kCAAuB,GAAE,CAAC,uCAAqB,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.googleCloudTestFirestoreBuilder = exports.GoogleCloudTestFirestoreContextFixture = exports.GoogleCloudTestFirestoreInstance = exports.makeGoogleFirestoreContext = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const firestore_1 = require("@google-cloud/firestore");
6
+ const firebase_1 = require("@dereekb/firebase");
7
+ const util_1 = require("@dereekb/util");
8
+ const driver_1 = require("../../lib/firestore/driver");
9
+ function makeGoogleFirestoreContext(drivers, firestore) {
10
+ const context = (0, firebase_1.firestoreContextFactory)(drivers)(firestore);
11
+ context.drivers = drivers;
12
+ return context;
13
+ }
14
+ exports.makeGoogleFirestoreContext = makeGoogleFirestoreContext;
15
+ class GoogleCloudTestFirestoreInstance extends firebase_1.TestFirestoreInstance {
16
+ constructor(drivers, firestore) {
17
+ super(makeGoogleFirestoreContext(drivers, firestore));
18
+ }
19
+ }
20
+ exports.GoogleCloudTestFirestoreInstance = GoogleCloudTestFirestoreInstance;
21
+ class GoogleCloudTestFirestoreContextFixture extends firebase_1.TestFirestoreContextFixture {
22
+ }
23
+ exports.GoogleCloudTestFirestoreContextFixture = GoogleCloudTestFirestoreContextFixture;
24
+ let COUNTER = 0;
25
+ /**
26
+ * A JestTestContextBuilderFunction for building firestore test context factories using @google-cloud/firestore. This means SERVER TESTING ONLY. For client testing, look at @dereekb/firestore.
27
+ *
28
+ * This is used to build a @google-cloud/firestore Firestore instance for testing and point it to the emulators.
29
+ *
30
+ * If you need all of Firebase (firebase-admin library), look at adminFirebaseAdminTestBuilder() instead.
31
+ */
32
+ exports.googleCloudTestFirestoreBuilder = (0, util_1.jestTestContextBuilder)({
33
+ buildConfig: (input) => {
34
+ var _a, _b;
35
+ const config = {
36
+ host: (_a = input === null || input === void 0 ? void 0 : input.host) !== null && _a !== void 0 ? _a : 'localhost',
37
+ port: (_b = input === null || input === void 0 ? void 0 : input.port) !== null && _b !== void 0 ? _b : 0
38
+ };
39
+ return config;
40
+ },
41
+ buildFixture: () => new GoogleCloudTestFirestoreContextFixture(),
42
+ setupInstance: (config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
43
+ const drivers = (0, firebase_1.makeTestingFirestoreDrivers)((0, driver_1.googleCloudFirestoreDrivers)());
44
+ const projectId = `firebase-server-test-${new Date().getTime()}-${(COUNTER++)}`;
45
+ const firestore = new firestore_1.Firestore({
46
+ projectId,
47
+ host: config.host,
48
+ port: config.port,
49
+ maxIdleChannels: 0
50
+ });
51
+ return new GoogleCloudTestFirestoreInstance(drivers, firestore);
52
+ }),
53
+ teardownInstance: (instance, config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
54
+ yield instance.firestore.terminate();
55
+ })
56
+ });
57
+ //# sourceMappingURL=firestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/test/firestore/firestore.ts"],"names":[],"mappings":";;;;AAAA,uDAAoD;AACpD,gDAA4L;AAC5L,wCAAuD;AACvD,uDAAyE;AASzE,SAAgB,0BAA0B,CAAC,OAAgC,EAAE,SAAoB;IAC/F,MAAM,OAAO,GAAG,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAoC,CAAC;IAC/F,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,gEAIC;AAED,MAAa,gCAAiC,SAAQ,gCAAqB;IAEzE,YAAY,OAAgC,EAAE,SAAoB;QAChE,KAAK,CAAC,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;CAIF;AARD,4EAQC;AAED,MAAa,sCAAuC,SAAQ,sCAA6D;CAAI;AAA7H,wFAA6H;AAE7H,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;;;;;GAMG;AACU,QAAA,+BAA+B,GAAG,IAAA,6BAAsB,EAA2G;IAC9K,WAAW,EAAE,CAAC,KAA+C,EAAE,EAAE;;QAC/D,MAAM,MAAM,GAAmC;YAC7C,IAAI,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,WAAW;YAChC,IAAI,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,CAAC;SACvB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,sCAAsC,EAAE;IAChE,aAAa,EAAE,CAAO,MAAM,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAA,sCAA2B,EAAC,IAAA,oCAA2B,GAAE,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAG,wBAAwB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAChF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC;YAC9B,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,eAAe,EAAE,CAAC;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,gCAAgC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC,CAAA;IACD,gBAAgB,EAAE,CAAO,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAO,QAAQ,CAAC,SAAuB,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC,CAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './firestore.fixture.admin';
2
+ export * from './firestore';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // export * from './firestore.admin'; // not exported. Only for the firebase-server since we defined the config in there.
5
+ tslib_1.__exportStar(require("./firestore.fixture.admin"), exports);
6
+ tslib_1.__exportStar(require("./firestore"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/test/firestore/index.ts"],"names":[],"mappings":";;;AAAA,2HAA2H;AAC3H,oEAA0C;AAC1C,sDAA4B"}
@@ -0,0 +1,2 @@
1
+ export * from './firebase';
2
+ export * from './firestore';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./firebase"), exports);
5
+ tslib_1.__exportStar(require("./firestore"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/firebase-server/src/test/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,sDAA4B"}
File without changes
package/test-setup.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Initialize FIREBASE_CONFIG for tests to prevent a warning for firebase not being initialized.
4
+ */
5
+ process.env.FIREBASE_CONFIG = JSON.stringify({ projectId: 'temp' });
6
+ //# sourceMappingURL=test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../packages/firebase-server/test-setup.ts"],"names":[],"mappings":";AACA;;GAEG;AACH,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC"}