@dereekb/firebase-server 9.9.5 → 9.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 (66) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/mailgun/package.json +12 -11
  3. package/package.json +10 -9
  4. package/src/lib/env/env.service.d.ts +1 -0
  5. package/src/lib/env/env.service.js.map +1 -1
  6. package/src/lib/nest/development/development.app.function.d.ts +30 -0
  7. package/src/lib/nest/development/development.app.function.js +38 -0
  8. package/src/lib/nest/development/development.app.function.js.map +1 -0
  9. package/src/lib/nest/development/development.assert.function.d.ts +9 -0
  10. package/src/lib/nest/development/development.assert.function.js +3 -0
  11. package/src/lib/nest/development/development.assert.function.js.map +1 -0
  12. package/src/lib/nest/development/development.function.d.ts +20 -0
  13. package/src/lib/nest/development/development.function.js +38 -0
  14. package/src/lib/nest/development/development.function.js.map +1 -0
  15. package/src/lib/nest/development/development.schedule.function.d.ts +7 -0
  16. package/src/lib/nest/development/development.schedule.function.error.d.ts +6 -0
  17. package/src/lib/nest/development/development.schedule.function.error.js +35 -0
  18. package/src/lib/nest/development/development.schedule.function.error.js.map +1 -0
  19. package/src/lib/nest/development/development.schedule.function.js +56 -0
  20. package/src/lib/nest/development/development.schedule.function.js.map +1 -0
  21. package/src/lib/nest/development/index.d.ts +5 -0
  22. package/src/lib/nest/development/index.js +9 -0
  23. package/src/lib/nest/development/index.js.map +1 -0
  24. package/src/lib/nest/env/env.service.d.ts +4 -0
  25. package/src/lib/nest/env/env.service.js +6 -0
  26. package/src/lib/nest/env/env.service.js.map +1 -1
  27. package/src/lib/nest/env/env.util.d.ts +4 -0
  28. package/src/lib/nest/env/env.util.js +13 -0
  29. package/src/lib/nest/env/env.util.js.map +1 -0
  30. package/src/lib/nest/env/index.d.ts +1 -0
  31. package/src/lib/nest/env/index.js +1 -0
  32. package/src/lib/nest/env/index.js.map +1 -1
  33. package/src/lib/nest/function/index.d.ts +2 -0
  34. package/src/lib/nest/function/index.js +2 -0
  35. package/src/lib/nest/function/index.js.map +1 -1
  36. package/src/lib/nest/function/schedule.d.ts +61 -0
  37. package/src/lib/nest/function/schedule.js +9 -0
  38. package/src/lib/nest/function/schedule.js.map +1 -0
  39. package/src/lib/nest/function/schedule.util.d.ts +46 -0
  40. package/src/lib/nest/function/schedule.util.js +51 -0
  41. package/src/lib/nest/function/schedule.util.js.map +1 -0
  42. package/src/lib/nest/function/v1/index.d.ts +1 -0
  43. package/src/lib/nest/function/v1/index.js +1 -0
  44. package/src/lib/nest/function/v1/index.js.map +1 -1
  45. package/src/lib/nest/function/v1/schedule.d.ts +29 -0
  46. package/src/lib/nest/function/v1/schedule.js +55 -0
  47. package/src/lib/nest/function/v1/schedule.js.map +1 -0
  48. package/src/lib/nest/function/v2/index.d.ts +1 -0
  49. package/src/lib/nest/function/v2/index.js +1 -0
  50. package/src/lib/nest/function/v2/index.js.map +1 -1
  51. package/src/lib/nest/function/v2/schedule.d.ts +31 -0
  52. package/src/lib/nest/function/v2/schedule.js +54 -0
  53. package/src/lib/nest/function/v2/schedule.js.map +1 -0
  54. package/src/lib/nest/function/v2/taskqueue.js +1 -0
  55. package/src/lib/nest/function/v2/taskqueue.js.map +1 -1
  56. package/src/lib/nest/index.d.ts +1 -0
  57. package/src/lib/nest/index.js +1 -0
  58. package/src/lib/nest/index.js.map +1 -1
  59. package/test/package.json +13 -12
  60. package/test/src/lib/firebase/firebase.admin.auth.d.ts +5 -3
  61. package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
  62. package/test/src/lib/firebase/firebase.admin.nest.function.context.d.ts +4 -5
  63. package/test/src/lib/firebase/firebase.admin.nest.function.context.js.map +1 -1
  64. package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +8 -4
  65. package/test/src/lib/firebase/firebase.admin.nest.function.js +0 -1
  66. package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -1
@@ -0,0 +1,46 @@
1
+ import { AsyncDecisionFunction, CronExpression, MappedObjectMap, Minutes } from '@dereekb/util';
2
+ import { Job, RecurrenceRule } from 'node-schedule';
3
+ import { NestApplicationScheduleConfiguredFunctionMap } from './schedule';
4
+ export declare type NestApplicationScheduleConfiguredFunctionJobMap<T extends NestApplicationScheduleConfiguredFunctionMap> = MappedObjectMap<T, Job>;
5
+ export declare type ScheduledRecurrenceValue = Minutes | CronExpression | RecurrenceRule;
6
+ /**
7
+ * Configuration for initEnvironmentForScheduleConfiguredFunctions()
8
+ */
9
+ export interface InitEnvironmentForScheduleConfiguredFunctionsConfig<T extends NestApplicationScheduleConfiguredFunctionMap = NestApplicationScheduleConfiguredFunctionMap> {
10
+ /**
11
+ * Function to check whether or not to enable the dev schedule.
12
+ *
13
+ * If not provided, then the initialization is skipped.
14
+ */
15
+ checkEnabled?: AsyncDecisionFunction<void>;
16
+ /**
17
+ * Runs all cron jobs at the given interval in minutes.
18
+ */
19
+ overrideAll?: ScheduledRecurrenceValue;
20
+ /**
21
+ * Override specific function's times.
22
+ */
23
+ override?: Partial<MappedObjectMap<T, ScheduledRecurrenceValue>>;
24
+ /**
25
+ * Runs all jobs that have a readable schedule on the given
26
+ */
27
+ scheduleCron?: ScheduledRecurrenceValue;
28
+ }
29
+ /**
30
+ * Initializes the current environment to handle the input scheduled functions.
31
+ *
32
+ * - For production, nothing will be configured.
33
+ * - For development,
34
+ *
35
+ * @param input
36
+ * @returns
37
+ */
38
+ export declare function initEnvironmentForScheduleConfiguredFunctions<T extends NestApplicationScheduleConfiguredFunctionMap>(input: T, config: InitEnvironmentForScheduleConfiguredFunctionsConfig): T;
39
+ /**
40
+ * Initializes jobs for each scheduled task in the input map.
41
+ *
42
+ * @param input
43
+ * @param config
44
+ * @returns
45
+ */
46
+ export declare function initDevelopmentEnvironmentForScheduleConfiguredFunctions<T extends NestApplicationScheduleConfiguredFunctionMap>(input: T, config: InitEnvironmentForScheduleConfiguredFunctionsConfig<T>): NestApplicationScheduleConfiguredFunctionJobMap<T>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initDevelopmentEnvironmentForScheduleConfiguredFunctions = exports.initEnvironmentForScheduleConfiguredFunctions = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const util_1 = require("@dereekb/util");
6
+ const node_schedule_1 = require("node-schedule");
7
+ /**
8
+ * Initializes the current environment to handle the input scheduled functions.
9
+ *
10
+ * - For production, nothing will be configured.
11
+ * - For development,
12
+ *
13
+ * @param input
14
+ * @returns
15
+ */
16
+ function initEnvironmentForScheduleConfiguredFunctions(input, config) {
17
+ const { checkEnabled } = config;
18
+ if (checkEnabled != null) {
19
+ setTimeout(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
20
+ const isEnabled = yield checkEnabled();
21
+ if (isEnabled) {
22
+ console.log('Initializing scheduled functions for development environment...');
23
+ initDevelopmentEnvironmentForScheduleConfiguredFunctions(input, config);
24
+ }
25
+ }), 100);
26
+ }
27
+ return input;
28
+ }
29
+ exports.initEnvironmentForScheduleConfiguredFunctions = initEnvironmentForScheduleConfiguredFunctions;
30
+ /**
31
+ * Initializes jobs for each scheduled task in the input map.
32
+ *
33
+ * @param input
34
+ * @param config
35
+ * @returns
36
+ */
37
+ function initDevelopmentEnvironmentForScheduleConfiguredFunctions(input, config) {
38
+ const { overrideAll, override = {}, scheduleCron } = config;
39
+ const result = (0, util_1.mapObjectMap)(input, (entry, key) => {
40
+ var _a, _b, _c;
41
+ const schedule = entry._schedule;
42
+ let cron = (_c = (_b = (_a = overrideAll !== null && overrideAll !== void 0 ? overrideAll : override[key]) !== null && _a !== void 0 ? _a : schedule.cron) !== null && _b !== void 0 ? _b : scheduleCron) !== null && _c !== void 0 ? _c : 1;
43
+ if (typeof cron === 'number') {
44
+ cron = (0, util_1.cronExpressionRepeatingEveryNMinutes)(cron);
45
+ }
46
+ return (0, node_schedule_1.scheduleJob)(cron, entry._runNow);
47
+ });
48
+ return result;
49
+ }
50
+ exports.initDevelopmentEnvironmentForScheduleConfiguredFunctions = initDevelopmentEnvironmentForScheduleConfiguredFunctions;
51
+ //# sourceMappingURL=schedule.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.util.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/schedule.util.ts"],"names":[],"mappings":";;;;AAAA,wCAAoJ;AACpJ,iDAAiE;AAgCjE;;;;;;;;GAQG;AACH,SAAgB,6CAA6C,CAAyD,KAAQ,EAAE,MAA2D;IACzL,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhC,IAAI,YAAY,IAAI,IAAI,EAAE;QACxB,UAAU,CAAC,GAAS,EAAE;YACpB,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;YACvC,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;gBAC/E,wDAAwD,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACzE;QACH,CAAC,CAAA,EAAE,GAAG,CAAC,CAAC;KACT;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAdD,sGAcC;AAED;;;;;;GAMG;AACH,SAAgB,wDAAwD,CAAyD,KAAQ,EAAE,MAA8D;IACvM,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,EAA2D,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAErH,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,GAA6B,MAAA,MAAA,MAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,CAAC,GAAG,CAAC,mCAAI,QAAQ,CAAC,IAAI,mCAAI,YAAY,mCAAI,CAAC,CAAC;QAExG,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,GAAG,IAAA,2CAAoC,EAAC,IAAI,CAAC,CAAC;SACnD;QAED,OAAO,IAAA,2BAAW,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,4HAeC"}
@@ -1,2 +1,3 @@
1
1
  export * from './call';
2
2
  export * from './event';
3
+ export * from './schedule';
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./call"), exports);
5
5
  tslib_1.__exportStar(require("./event"), exports);
6
+ tslib_1.__exportStar(require("./schedule"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,kDAAwB;AACxB,qDAA2B"}
@@ -0,0 +1,29 @@
1
+ import * as functions from 'firebase-functions';
2
+ import { INestApplicationContext } from '@nestjs/common';
3
+ import { MakeNestContext } from '../../nest.provider';
4
+ import { NestApplicationScheduleConfiguredFunctionFactory, OnScheduleConfig, OnScheduleWithNestApplication, OnScheduleWithNestApplicationRequest, OnScheduleWithNestContext } from '../schedule';
5
+ export declare function makeOnScheduleWithNestApplicationRequest(nestApplication: INestApplicationContext, scheduleContext?: functions.EventContext): OnScheduleWithNestApplicationRequest<functions.EventContext>;
6
+ export declare type NestApplicationScheduleCloudFunctionFactory<I = unknown> = NestApplicationScheduleConfiguredFunctionFactory<functions.CloudFunction<I>>;
7
+ /**
8
+ * Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
9
+ */
10
+ export declare type OnScheduleWithNestApplicationFactory = (schedule: OnScheduleConfig, fn: OnScheduleWithNestApplication<functions.EventContext>) => NestApplicationScheduleCloudFunctionFactory;
11
+ /**
12
+ * Creates a factory for generating OnCallWithNestApplication functions.
13
+ *
14
+ * @param nestAppPromiseGetter
15
+ * @returns
16
+ */
17
+ export declare function onScheduleWithNestApplicationFactory(baseSchedule?: OnScheduleConfig): OnScheduleWithNestApplicationFactory;
18
+ /**
19
+ * Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
20
+ */
21
+ export declare type OnScheduleWithNestContextFactory<N> = (schedule: OnScheduleConfig, fn: OnScheduleWithNestContext<N, functions.EventContext>) => NestApplicationScheduleCloudFunctionFactory;
22
+ /**
23
+ * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
24
+ *
25
+ * @param appFactory
26
+ * @param makeNestContext
27
+ * @returns
28
+ */
29
+ export declare function onScheduleWithNestContextFactory<N>(appFactory: OnScheduleWithNestApplicationFactory, makeNestContext: MakeNestContext<N>): OnScheduleWithNestContextFactory<N>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onScheduleWithNestContextFactory = exports.onScheduleWithNestApplicationFactory = exports.makeOnScheduleWithNestApplicationRequest = void 0;
4
+ const functions = require("firebase-functions");
5
+ const schedule_1 = require("../schedule");
6
+ const util_1 = require("@dereekb/util");
7
+ function makeOnScheduleWithNestApplicationRequest(nestApplication, scheduleContext) {
8
+ return {
9
+ nestApplication,
10
+ scheduleContext
11
+ };
12
+ }
13
+ exports.makeOnScheduleWithNestApplicationRequest = makeOnScheduleWithNestApplicationRequest;
14
+ /**
15
+ * Creates a factory for generating OnCallWithNestApplication functions.
16
+ *
17
+ * @param nestAppPromiseGetter
18
+ * @returns
19
+ */
20
+ function onScheduleWithNestApplicationFactory(baseSchedule) {
21
+ return (inputSchedule, fn) => {
22
+ const schedule = (0, util_1.mergeObjects)([baseSchedule, inputSchedule]);
23
+ let cron;
24
+ if (!schedule.cron) {
25
+ throw new Error('Missing required "cron" variable for configuration.');
26
+ }
27
+ else if (typeof schedule.cron === 'number') {
28
+ cron = (0, util_1.cronExpressionRepeatingEveryNMinutes)(schedule.cron);
29
+ }
30
+ return (nestAppPromiseGetter) => {
31
+ let builder = functions.pubsub.schedule(schedule.cron).retryConfig(schedule);
32
+ if (schedule.timezone) {
33
+ builder = builder.timeZone(schedule.timezone);
34
+ }
35
+ const runNow = (scheduleContext) => nestAppPromiseGetter().then((x) => fn(makeOnScheduleWithNestApplicationRequest(x, scheduleContext)));
36
+ const fnn = builder.onRun(runNow);
37
+ fnn._schedule = schedule;
38
+ fnn._runNow = runNow;
39
+ return fnn;
40
+ };
41
+ };
42
+ }
43
+ exports.onScheduleWithNestApplicationFactory = onScheduleWithNestApplicationFactory;
44
+ /**
45
+ * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
46
+ *
47
+ * @param appFactory
48
+ * @param makeNestContext
49
+ * @returns
50
+ */
51
+ function onScheduleWithNestContextFactory(appFactory, makeNestContext) {
52
+ return (schedule, fn) => appFactory(schedule, (request) => fn((0, schedule_1.setNestContextOnScheduleRequest)(makeNestContext, request)));
53
+ }
54
+ exports.onScheduleWithNestContextFactory = onScheduleWithNestContextFactory;
55
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/schedule.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAGhD,0CAA6Q;AAC7Q,wCAAmG;AAGnG,SAAgB,wCAAwC,CAAC,eAAwC,EAAE,eAAwC;IACzI,OAAO;QACL,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AALD,4FAKC;AAaD;;;;;GAKG;AACH,SAAgB,oCAAoC,CAAC,YAA+B;IAClF,OAAO,CAAO,aAA+B,EAAE,EAAyD,EAAE,EAAE;QAC1G,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAqB,CAAC;QACnG,IAAI,IAAoB,CAAC;QAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;aAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC5C,IAAI,GAAG,IAAA,2CAAoC,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC5D;QAED,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEvF,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC/C;YAED,MAAM,MAAM,GAAG,CAAC,eAAwC,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,wCAAwC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;YAClK,MAAM,GAAG,GAAoG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnI,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;YACrB,OAAO,GAAkF,CAAC;QAC5F,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAzBD,oFAyBC;AAOD;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAAI,UAAgD,EAAE,eAAmC;IACvI,OAAO,CAAC,QAA0B,EAAE,EAAwD,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAqE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAA,0CAA+B,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAClQ,CAAC;AAFD,4EAEC"}
@@ -1,4 +1,5 @@
1
1
  export * from './blocking';
2
2
  export * from './call';
3
3
  export * from './event';
4
+ export * from './schedule';
4
5
  export * from './taskqueue';
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./blocking"), exports);
5
5
  tslib_1.__exportStar(require("./call"), exports);
6
6
  tslib_1.__exportStar(require("./event"), exports);
7
+ tslib_1.__exportStar(require("./schedule"), exports);
7
8
  tslib_1.__exportStar(require("./taskqueue"), exports);
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,iDAAuB;AACvB,kDAAwB;AACxB,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,iDAAuB;AACvB,kDAAwB;AACxB,qDAA2B;AAC3B,sDAA4B"}
@@ -0,0 +1,31 @@
1
+ import { GlobalOptions } from 'firebase-functions/v2/options';
2
+ import { scheduler } from 'firebase-functions/v2';
3
+ import { INestApplicationContext } from '@nestjs/common';
4
+ import { MakeNestContext } from '../../nest.provider';
5
+ import { NestApplicationScheduleConfiguredFunctionFactory, OnScheduleConfig, OnScheduleWithNestApplication, OnScheduleWithNestApplicationRequest, OnScheduleWithNestContext } from '../schedule';
6
+ export declare type OnScheduleConfigWithGlobalOptions = OnScheduleConfig & GlobalOptions;
7
+ export declare function makeOnScheduleHandlerWithNestApplicationRequest(nestApplication: INestApplicationContext, scheduleContext?: scheduler.ScheduledEvent): OnScheduleWithNestApplicationRequest<scheduler.ScheduledEvent>;
8
+ export declare type NestApplicationScheduleFunctionFactory = NestApplicationScheduleConfiguredFunctionFactory<scheduler.ScheduleFunction>;
9
+ /**
10
+ * Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
11
+ */
12
+ export declare type OnScheduleHandlerWithNestApplicationFactory = (schedule: OnScheduleConfig, fn: OnScheduleWithNestApplication<scheduler.ScheduledEvent>) => NestApplicationScheduleFunctionFactory;
13
+ /**
14
+ * Creates a factory for generating OnCallWithNestApplication functions.
15
+ *
16
+ * @param nestAppPromiseGetter
17
+ * @returns
18
+ */
19
+ export declare function onScheduleHandlerWithNestApplicationFactory(baseSchedule?: OnScheduleConfig): OnScheduleHandlerWithNestApplicationFactory;
20
+ /**
21
+ * Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
22
+ */
23
+ export declare type OnScheduleHandlerWithNestContextFactory<N> = (schedule: OnScheduleConfig, fn: OnScheduleWithNestContext<N, scheduler.ScheduledEvent>) => NestApplicationScheduleFunctionFactory;
24
+ /**
25
+ * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
26
+ *
27
+ * @param appFactory
28
+ * @param makeNestContext
29
+ * @returns
30
+ */
31
+ export declare function onScheduleHandlerWithNestContextFactory<N>(appFactory: OnScheduleHandlerWithNestApplicationFactory, makeNestContext: MakeNestContext<N>): OnScheduleHandlerWithNestContextFactory<N>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onScheduleHandlerWithNestContextFactory = exports.onScheduleHandlerWithNestApplicationFactory = exports.makeOnScheduleHandlerWithNestApplicationRequest = void 0;
4
+ const v2_1 = require("firebase-functions/v2");
5
+ const schedule_1 = require("../schedule");
6
+ const util_1 = require("@dereekb/util");
7
+ function makeOnScheduleHandlerWithNestApplicationRequest(nestApplication, scheduleContext) {
8
+ return {
9
+ nestApplication,
10
+ scheduleContext
11
+ };
12
+ }
13
+ exports.makeOnScheduleHandlerWithNestApplicationRequest = makeOnScheduleHandlerWithNestApplicationRequest;
14
+ /**
15
+ * Creates a factory for generating OnCallWithNestApplication functions.
16
+ *
17
+ * @param nestAppPromiseGetter
18
+ * @returns
19
+ */
20
+ function onScheduleHandlerWithNestApplicationFactory(baseSchedule) {
21
+ return (inputSchedule, fn) => {
22
+ const schedule = (0, util_1.mergeObjects)([baseSchedule, inputSchedule]);
23
+ if (!schedule.schedule) {
24
+ if (schedule.cron) {
25
+ if (typeof schedule.cron === 'number') {
26
+ schedule.schedule = (0, util_1.cronExpressionRepeatingEveryNMinutes)(schedule.cron);
27
+ }
28
+ }
29
+ else {
30
+ throw new Error('Missing required "cron" or "schedule" variable for configuration.');
31
+ }
32
+ }
33
+ return (nestAppPromiseGetter) => {
34
+ const runNow = (scheduleContext) => nestAppPromiseGetter().then((x) => fn(makeOnScheduleHandlerWithNestApplicationRequest(x, scheduleContext)));
35
+ const fnn = v2_1.scheduler.onSchedule(schedule, runNow);
36
+ fnn._schedule = schedule;
37
+ fnn._runNow = runNow;
38
+ return fnn;
39
+ };
40
+ };
41
+ }
42
+ exports.onScheduleHandlerWithNestApplicationFactory = onScheduleHandlerWithNestApplicationFactory;
43
+ /**
44
+ * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
45
+ *
46
+ * @param appFactory
47
+ * @param makeNestContext
48
+ * @returns
49
+ */
50
+ function onScheduleHandlerWithNestContextFactory(appFactory, makeNestContext) {
51
+ return (schedule, fn) => appFactory(schedule, (request) => fn((0, schedule_1.setNestContextOnScheduleRequest)(makeNestContext, request)));
52
+ }
53
+ exports.onScheduleHandlerWithNestContextFactory = onScheduleHandlerWithNestContextFactory;
54
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/schedule.ts"],"names":[],"mappings":";;;AACA,8CAAkD;AAGlD,0CAA6Q;AAC7Q,wCAAmF;AAMnF,SAAgB,+CAA+C,CAAC,eAAwC,EAAE,eAA0C;IAClJ,OAAO;QACL,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AALD,0GAKC;AAUD;;;;;GAKG;AACH,SAAgB,2CAA2C,CAAC,YAA+B;IACzF,OAAO,CAAO,aAA+B,EAAE,EAA2D,EAAE,EAAE;QAC5G,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAqB,CAAC;QAEnG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACrC,QAAQ,CAAC,QAAQ,GAAG,IAAA,2CAAoC,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACzE;aACF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;aACtF;SACF;QAED,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,MAAM,GAAG,CAAC,eAA0C,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,+CAA+C,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3K,MAAM,GAAG,GAA8F,cAAS,CAAC,UAAU,CAAC,QAA2B,EAAE,MAAM,CAAC,CAAC;YACjK,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;YACrB,OAAO,GAA4E,CAAC;QACtF,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAtBD,kGAsBC;AAOD;;;;;;GAMG;AACH,SAAgB,uCAAuC,CAAI,UAAuD,EAAE,eAAmC;IACrJ,OAAO,CAAC,QAA0B,EAAE,EAA0D,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAuE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAA,0CAA+B,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtQ,CAAC;AAFD,0FAEC"}
@@ -20,4 +20,5 @@ function taskQueueFunctionHandlerWithNestContextFactory(makeNestContext) {
20
20
  };
21
21
  }
22
22
  exports.taskQueueFunctionHandlerWithNestContextFactory = taskQueueFunctionHandlerWithNestContextFactory;
23
+ // TODO: Add factory that also adds onTaskDispatched usage, as the above is incomplete for full usage and only sets up a function for the request.
23
24
  //# sourceMappingURL=taskqueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taskqueue.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/taskqueue.ts"],"names":[],"mappings":";;;AAoBA;;;;;;GAMG;AACH,SAAgB,8CAA8C,CAAI,eAAmC;IACnG,OAAO,CAAc,EAAwD,EAAE,EAAE;QAC/E,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,cAAc,GAAqD,CAAC,OAAkD,EAAE,EAAE;gBAC9H,MAAM,SAAS,GAAgC,CAAC,WAAuB,EAAE,EAAE,CACzE,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAC9C,OAAO,iCACF,WAAW,KACd,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,IACtC,CACH,CAAC;gBACJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAjBD,wGAiBC"}
1
+ {"version":3,"file":"taskqueue.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/taskqueue.ts"],"names":[],"mappings":";;;AAoBA;;;;;;GAMG;AACH,SAAgB,8CAA8C,CAAI,eAAmC;IACnG,OAAO,CAAc,EAAwD,EAAE,EAAE;QAC/E,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,cAAc,GAAqD,CAAC,OAAkD,EAAE,EAAE;gBAC9H,MAAM,SAAS,GAAgC,CAAC,WAAuB,EAAE,EAAE,CACzE,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAC9C,OAAO,iCACF,WAAW,KACd,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,IACtC,CACH,CAAC;gBACJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAjBD,wGAiBC;AAED,kJAAkJ"}
@@ -1,4 +1,5 @@
1
1
  export * from './auth';
2
+ export * from './development';
2
3
  export * from './env';
3
4
  export * from './firebase';
4
5
  export * from './firestore';
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./auth"), exports);
5
+ tslib_1.__exportStar(require("./development"), exports);
5
6
  tslib_1.__exportStar(require("./env"), exports);
6
7
  tslib_1.__exportStar(require("./firebase"), exports);
7
8
  tslib_1.__exportStar(require("./firestore"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,gDAAsB;AACtB,qDAA2B;AAC3B,sDAA4B;AAC5B,qDAA2B;AAC3B,uDAA6B;AAC7B,kDAAwB;AACxB,oDAA0B;AAC1B,gDAAsB;AACtB,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,wDAA8B;AAC9B,gDAAsB;AACtB,qDAA2B;AAC3B,sDAA4B;AAC5B,qDAA2B;AAC3B,uDAA6B;AAC7B,kDAAwB;AACxB,oDAA0B;AAC1B,gDAAsB;AACtB,0DAAgC"}
package/test/package.json CHANGED
@@ -1,41 +1,42 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "9.9.5",
3
+ "version": "9.10.0",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/firebase": "9.9.5",
9
+ "@dereekb/firebase": "9.10.0",
10
10
  "rxjs": "^7.5.0",
11
11
  "firebase": "^9.9.2",
12
- "@dereekb/util": "9.9.5",
12
+ "@dereekb/util": "9.10.0",
13
13
  "lodash.isequal": "^4.5.0",
14
14
  "make-error": "^1.3.0",
15
15
  "class-validator": "^0.13.2",
16
16
  "ts-essentials": "^9.1.2",
17
17
  "extra-set": "^2.2.11",
18
- "@dereekb/rxjs": "9.9.5",
19
- "ms": "^3.0.0-canary.1",
20
- "@dereekb/model": "9.9.5",
21
18
  "class-transformer": "^0.5.1",
22
- "@dereekb/date": "9.9.5",
19
+ "@dereekb/rxjs": "9.10.0",
20
+ "ms": "^3.0.0-canary.1",
21
+ "@dereekb/model": "9.10.0",
22
+ "@dereekb/date": "9.10.0",
23
23
  "date-fns": "^2.29.0",
24
24
  "date-fns-tz": "^1.3.0",
25
25
  "rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
26
26
  "@vvo/tzdb": "^6.56.0",
27
- "@dereekb/util/test": "9.9.5",
27
+ "@dereekb/util/test": "9.10.0",
28
28
  "firebase-admin": "^11.0.0",
29
29
  "jsonwebtoken": "^8.0.0",
30
- "firebase-functions": "^3.22.0",
30
+ "firebase-functions": "^3.24.0",
31
31
  "@nestjs/common": "^9.0.0",
32
32
  "@google-cloud/firestore": "^5.0.2",
33
- "@dereekb/firebase/test": "9.9.5",
34
- "@dereekb/firebase-server": "9.9.5",
33
+ "@dereekb/firebase/test": "9.10.0",
34
+ "@dereekb/firebase-server": "9.10.0",
35
35
  "@nestjs/core": "^9.0.0",
36
36
  "@nestjs/platform-express": "^9.0.0",
37
- "@dereekb/nestjs": "9.9.5",
37
+ "@dereekb/nestjs": "9.10.0",
38
38
  "@nestjs/config": "^2.0.1",
39
+ "node-schedule": "^2.1.0",
39
40
  "tslib": "^2.0.0"
40
41
  }
41
42
  }
@@ -10,7 +10,7 @@ import { CallableContextOptions, ContextOptions, WrappedFunction, WrappedSchedul
10
10
  import { EventContext } from 'firebase-functions/lib/cloud-functions';
11
11
  import { AuthData } from 'firebase-functions/lib/common/providers/https';
12
12
  export declare type CallCloudFunction<I = any> = WrappedScheduledFunction | WrappedFunction<I>;
13
- export declare type CallCloudFunctionParams<F> = F extends WrappedFunction<infer I> ? I : unknown;
13
+ export declare type CallCloudFunctionParams<F> = F extends WrappedFunction<infer I> ? I : unknown | undefined | void;
14
14
  /**
15
15
  * Testing context for a single user.
16
16
  */
@@ -36,7 +36,8 @@ export declare class AuthorizedUserTestContextFixture<PI extends FirebaseAdminTe
36
36
  loadIdToken(): Promise<string>;
37
37
  loadDecodedIdToken(): Promise<DecodedIdToken>;
38
38
  makeContextOptions(): Promise<ContextOptions>;
39
- callCloudFunction<F extends CallCloudFunction, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
39
+ callCloudFunction<F extends WrappedScheduledFunction, O = unknown>(fn: F): Promise<O>;
40
+ callCloudFunction<F extends WrappedFunction<any>, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
40
41
  }
41
42
  export declare type CallEventFunctionEventContext = Partial<Omit<EventContext, 'auth'>>;
42
43
  export declare class AuthorizedUserTestContextInstance<PI extends FirebaseAdminTestContext = FirebaseAdminTestContext> implements AuthorizedUserTestContext {
@@ -51,7 +52,8 @@ export declare class AuthorizedUserTestContextInstance<PI extends FirebaseAdminT
51
52
  loadIdToken(): Promise<string>;
52
53
  loadDecodedIdToken(): Promise<DecodedIdToken>;
53
54
  makeContextOptions(): Promise<ContextOptions>;
54
- callCloudFunction<F extends CallCloudFunction, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
55
+ callCloudFunction<F extends WrappedScheduledFunction, O = unknown>(fn: F): Promise<O>;
56
+ callCloudFunction<F extends WrappedFunction<any>, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
55
57
  callEventCloudFunction<F extends WrappedFunction<any>, O = unknown>(fn: F, params: CallCloudFunctionParams<F>, contextOptions?: CallEventFunctionEventContext): Promise<O>;
56
58
  }
57
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,20 @@
1
- import { NestApplicationRunnableHttpFunctionFactory } from '@dereekb/firebase-server';
2
- import { FirebaseAdminFunctionNestTestContext } from './firebase.admin.nest.function';
1
+ import { FirebaseAdminFunctionNestTestContext, WrapCloudFunctionForNestTestsInput } from './firebase.admin.nest.function';
3
2
  import { WrappedCloudFunctionV1 } from './firebase.function';
4
3
  export interface CloudFunctionTestBaseConfig {
5
4
  f: FirebaseAdminFunctionNestTestContext;
6
5
  }
7
6
  export interface CloudFunctionTestSingleConfig<I> extends CloudFunctionTestBaseConfig {
8
- fn: NestApplicationRunnableHttpFunctionFactory<I>;
7
+ fn: WrapCloudFunctionForNestTestsInput<I>;
9
8
  }
10
9
  export declare type CloudFunctionTestSingleFunction<I> = (fn: WrappedCloudFunctionV1<I>) => void;
11
10
  export declare type CloudFunctionTestConfigMapObject = {
12
- [key: string]: NestApplicationRunnableHttpFunctionFactory<any>;
11
+ [key: string]: WrapCloudFunctionForNestTestsInput<any>;
13
12
  };
14
13
  export interface CloudFunctionTestMultipleConfig<I, T extends CloudFunctionTestConfigMapObject> extends CloudFunctionTestBaseConfig {
15
14
  fns: T;
16
15
  }
17
16
  export declare type CloudFunctionTestMultipleFixture<T extends CloudFunctionTestConfigMapObject> = {
18
- [K in keyof T as K extends string ? `${K}CloudFn` : never]: T[K] extends NestApplicationRunnableHttpFunctionFactory<infer I> ? WrappedCloudFunctionV1<I> : never;
17
+ [K in keyof T as K extends string ? `${K}CloudFn` : never]: T[K] extends WrapCloudFunctionForNestTestsInput<infer I> ? WrappedCloudFunctionV1<I> : never;
19
18
  };
20
19
  export declare type CloudFunctionTestMultipleFunction<T extends CloudFunctionTestConfigMapObject> = (fn: CloudFunctionTestMultipleFixture<T>) => void;
21
20
  export declare function isCloudFunctionTestSingleConfig<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>): config is CloudFunctionTestSingleConfig<I>;
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAAuF;AAEvF,iFAA2H;AAE3H,wCAA6C;AA2B7C,SAAgB,+BAA+B,CAAgD,MAAgF;IAC7K,MAAM,QAAQ,GAAG,OAAO,CAAE,MAA2C,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAHD,0EAGC;AAWD,SAAgB,iBAAiB,CAAgD,MAAgF,EAAE,UAAqF;IACtP,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACzB,IAAA,6BAAsB,EACpB;YACE,EAAE,EAAE,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,EACD,UAAgD,CACjD,CAAC;KACH;SAAM;QACL,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAA,gCAAyB,EACvB;YACE,GAAG;SACJ,EACD,UAAiB,CAClB,CAAC;KACH;AACH,CAAC;AA5BD,8CA4BC;AAYD,SAAgB,yBAAyB,CAAgD,KAAa,EAAE,MAAgF,EAAE,UAAqF;IAC7Q,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
1
+ {"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAAuF;AAEvF,iFAA+J;AAE/J,wCAA6C;AA2B7C,SAAgB,+BAA+B,CAAgD,MAAgF;IAC7K,MAAM,QAAQ,GAAG,OAAO,CAAE,MAA2C,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAHD,0EAGC;AAWD,SAAgB,iBAAiB,CAAgD,MAAgF,EAAE,UAAqF;IACtP,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACzB,IAAA,6BAAsB,EACpB;YACE,EAAE,EAAE,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,EACD,UAAgD,CACjD,CAAC;KACH;SAAM;QACL,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAA,gCAAyB,EACvB;YACE,GAAG;SACJ,EACD,UAAiB,CAClB,CAAC;KACH;AACH,CAAC;AA5BD,8CA4BC;AAYD,SAAgB,yBAAyB,CAAgD,KAAa,EAAE,MAAgF,EAAE,UAAqF;IAC7Q,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
@@ -2,14 +2,18 @@ import { Getter } from '@dereekb/util';
2
2
  import { JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from '@dereekb/util/test';
3
3
  import { FirebaseAdminNestTestConfig, FirebaseAdminNestTestContext, FirebaseAdminNestTestContextFixture, FirebaseAdminNestTestContextInstance } from './firebase.admin.nest';
4
4
  import { FirebaseAdminFunctionTestContextInstance } from './firebase.admin.function';
5
- import { NestApplicationRunnableHttpFunctionFactory } from '@dereekb/firebase-server';
5
+ import { NestApplicationRunnableHttpFunctionFactory, NestApplicationScheduleCloudFunctionFactory } from '@dereekb/firebase-server';
6
6
  import { FirebaseAdminCloudFunctionWrapper, FirebaseAdminCloudFunctionWrapperSource, WrappedCloudFunctionV1 } from './firebase.function';
7
- export declare function wrapCloudFunctionForNestTestsGetter<I>(wrapper: FirebaseAdminFunctionNestTestContext, fn: NestApplicationRunnableHttpFunctionFactory<I>): Getter<WrappedCloudFunctionV1<I>>;
7
+ /**
8
+ * Input for wrapCloudFunctionForNestTests(). Accepts either v1 onCall() or onSchedule() function factories.
9
+ */
10
+ export declare type WrapCloudFunctionForNestTestsInput<I> = NestApplicationRunnableHttpFunctionFactory<I> | NestApplicationScheduleCloudFunctionFactory<I>;
11
+ export declare function wrapCloudFunctionForNestTestsGetter<I>(wrapper: FirebaseAdminFunctionNestTestContext, fn: WrapCloudFunctionForNestTestsInput<I>): Getter<WrappedCloudFunctionV1<I>>;
8
12
  export interface FirebaseAdminFunctionNestTestContext extends FirebaseAdminNestTestContext, FirebaseAdminCloudFunctionWrapperSource {
9
13
  }
10
14
  export declare class FirebaseAdminFunctionNestTestContextFixture<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends FirebaseAdminFunctionNestTestContextInstance<PI> = FirebaseAdminFunctionNestTestContextInstance<PI>> extends FirebaseAdminNestTestContextFixture<PI, PF, I> implements FirebaseAdminFunctionNestTestContext {
11
- wrapCloudFunctionForNestTests<I>(fn: NestApplicationRunnableHttpFunctionFactory<I>): WrappedCloudFunctionV1<I>;
12
- wrapCloudFunctionForNestTestsGetter<I>(fn: NestApplicationRunnableHttpFunctionFactory<I>): Getter<WrappedCloudFunctionV1<I>>;
15
+ wrapCloudFunctionForNestTests<I>(fn: WrapCloudFunctionForNestTestsInput<I>): WrappedCloudFunctionV1<I>;
16
+ wrapCloudFunctionForNestTestsGetter<I>(fn: WrapCloudFunctionForNestTestsInput<I>): Getter<WrappedCloudFunctionV1<I>>;
13
17
  get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
14
18
  }
15
19
  export declare class FirebaseAdminFunctionNestTestContextInstance<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance> extends FirebaseAdminNestTestContextInstance<PI> implements FirebaseAdminFunctionNestTestContext {
@@ -4,7 +4,6 @@ exports.firebaseAdminFunctionNestContextFactory = exports.firebaseAdminFunctionN
4
4
  const firebase_admin_nest_1 = require("./firebase.admin.nest");
5
5
  const firebase_admin_function_1 = require("./firebase.admin.function");
6
6
  const firebase_function_1 = require("./firebase.function");
7
- // MARK: Utility
8
7
  function wrapCloudFunctionForNestTestsGetter(wrapper, fn) {
9
8
  return (0, firebase_function_1.wrapCloudFunctionV1ForTests)(wrapper.fnWrapper, () => fn(wrapper.nestAppPromiseGetter));
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.nest.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.ts"],"names":[],"mappings":";;;AAEA,+DAAkN;AAClN,uEAA8H;AAE9H,2DAAsK;AAEtK,gBAAgB;AAChB,SAAgB,mCAAmC,CAAI,OAA6C,EAAE,EAAiD;IACrJ,OAAO,IAAA,+CAA2B,EAAI,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACnG,CAAC;AAFD,kFAEC;AAKD,MAAa,2CAA+T,SAAQ,yDAA8C;IAChY,6CAA6C;IAC7C,6BAA6B,CAAI,EAAiD;QAChF,OAAO,IAAI,CAAC,mCAAmC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,mCAAmC,CAAI,EAAiD;QACtF,OAAO,mCAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxC,CAAC;CACF;AAdD,kGAcC;AAED,MAAa,4CAA6I,SAAQ,0DAAwC;IACxM,6CAA6C;IAC7C,IAAa,SAAS;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF;AALD,oGAKC;AAMD,SAAgB,uCAAuC,CACrD,MAAyD,EACzD,OAAmC;IAEnC,OAAO,CAAC,UAAgD,EAAE,EAAE;QAC1D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2CAA2C,CAAe,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC;AACJ,CAAC;AAPD,0FAOC;AAED,MAAa,mCAAmC;CAAG;AAAnD,kFAAmD;AAEnD,SAAgB,2CAA2C,CACzD,MAAyD,EACzD,CAAK,EACL,UAAgD;IAEhD,MAAM,YAAY,mBAChB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,2CAA2C,CAAC,MAAM,CAAM,EACrF,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,4CAA4C,CAAK,QAAQ,EAAE,IAAI,CAAM,IACxG,MAAM,CACV,CAAC;IAEF,OAAO,IAAA,yDAAmC,EAAe,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxF,CAAC;AAZD,kGAYC;AAED,SAAgB,uCAAuC,CACrD,MAA0J;IAE1J,OAAO,uCAAuC,CAAgH,MAAM,EAAE,iEAAuC,CAAC,CAAC;AACjN,CAAC;AAJD,0FAIC"}
1
+ {"version":3,"file":"firebase.admin.nest.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.ts"],"names":[],"mappings":";;;AAEA,+DAAkN;AAClN,uEAA8H;AAE9H,2DAAsK;AAQtK,SAAgB,mCAAmC,CAAI,OAA6C,EAAE,EAAyC;IAC7I,OAAO,IAAA,+CAA2B,EAAI,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACnG,CAAC;AAFD,kFAEC;AAKD,MAAa,2CAA+T,SAAQ,yDAA8C;IAChY,6CAA6C;IAC7C,6BAA6B,CAAI,EAAyC;QACxE,OAAO,IAAI,CAAC,mCAAmC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,mCAAmC,CAAI,EAAyC;QAC9E,OAAO,mCAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxC,CAAC;CACF;AAdD,kGAcC;AAED,MAAa,4CAA6I,SAAQ,0DAAwC;IACxM,6CAA6C;IAC7C,IAAa,SAAS;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF;AALD,oGAKC;AAMD,SAAgB,uCAAuC,CACrD,MAAyD,EACzD,OAAmC;IAEnC,OAAO,CAAC,UAAgD,EAAE,EAAE;QAC1D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2CAA2C,CAAe,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC;AACJ,CAAC;AAPD,0FAOC;AAED,MAAa,mCAAmC;CAAG;AAAnD,kFAAmD;AAEnD,SAAgB,2CAA2C,CACzD,MAAyD,EACzD,CAAK,EACL,UAAgD;IAEhD,MAAM,YAAY,mBAChB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,2CAA2C,CAAC,MAAM,CAAM,EACrF,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,4CAA4C,CAAK,QAAQ,EAAE,IAAI,CAAM,IACxG,MAAM,CACV,CAAC;IAEF,OAAO,IAAA,yDAAmC,EAAe,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxF,CAAC;AAZD,kGAYC;AAED,SAAgB,uCAAuC,CACrD,MAA0J;IAE1J,OAAO,uCAAuC,CAAgH,MAAM,EAAE,iEAAuC,CAAC,CAAC;AACjN,CAAC;AAJD,0FAIC"}