@nathapp/nestjs-notification 1.0.0-rc.5 → 1.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 (102) hide show
  1. package/README.md +3 -3
  2. package/dist/email/constant.js +1 -0
  3. package/dist/email/constant.js.map +1 -0
  4. package/dist/email/email-provider.factory.js +1 -0
  5. package/dist/email/email-provider.factory.js.map +1 -0
  6. package/dist/email/email.interface.js +1 -0
  7. package/dist/email/email.interface.js.map +1 -0
  8. package/dist/email/email.module.d.ts +3 -0
  9. package/dist/email/email.module.js +20 -5
  10. package/dist/email/email.module.js.map +1 -0
  11. package/dist/email/email.provider.d.ts +2 -0
  12. package/dist/email/email.provider.js +12 -0
  13. package/dist/email/email.provider.js.map +1 -0
  14. package/dist/email/email.service.d.ts +1 -1
  15. package/dist/email/email.service.js +3 -2
  16. package/dist/email/email.service.js.map +1 -0
  17. package/dist/email/index.d.ts +2 -2
  18. package/dist/email/index.js +3 -1
  19. package/dist/email/index.js.map +1 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +2 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/interface/index.d.ts +4 -2
  24. package/dist/interface/index.js +1 -0
  25. package/dist/interface/index.js.map +1 -0
  26. package/dist/interface/message.interface.d.ts +13 -0
  27. package/dist/interface/message.interface.js +1 -0
  28. package/dist/interface/message.interface.js.map +1 -0
  29. package/dist/interface/payload.inteface.d.ts +22 -0
  30. package/dist/interface/payload.inteface.js +3 -0
  31. package/dist/interface/payload.inteface.js.map +1 -0
  32. package/dist/interface/result.interface.d.ts +5 -0
  33. package/dist/interface/result.interface.js +1 -0
  34. package/dist/interface/result.interface.js.map +1 -0
  35. package/dist/notification/constant.js +1 -0
  36. package/dist/notification/constant.js.map +1 -0
  37. package/dist/notification/index.d.ts +2 -2
  38. package/dist/notification/index.js +1 -0
  39. package/dist/notification/index.js.map +1 -0
  40. package/dist/notification/notification.module.d.ts +28 -5
  41. package/dist/notification/notification.module.js +149 -10
  42. package/dist/notification/notification.module.js.map +1 -0
  43. package/dist/notification/notification.service.d.ts +14 -3
  44. package/dist/notification/notification.service.js +135 -10
  45. package/dist/notification/notification.service.js.map +1 -0
  46. package/dist/push-notification/constant.d.ts +1 -0
  47. package/dist/push-notification/constant.js +5 -0
  48. package/dist/push-notification/constant.js.map +1 -0
  49. package/dist/push-notification/fcm-push-notification.provider.d.ts +13 -0
  50. package/dist/push-notification/fcm-push-notification.provider.js +78 -0
  51. package/dist/push-notification/fcm-push-notification.provider.js.map +1 -0
  52. package/dist/push-notification/firebase.interface.d.ts +144 -0
  53. package/dist/push-notification/firebase.interface.js +3 -0
  54. package/dist/push-notification/firebase.interface.js.map +1 -0
  55. package/dist/push-notification/index.d.ts +11 -0
  56. package/dist/push-notification/index.js +24 -0
  57. package/dist/push-notification/index.js.map +1 -0
  58. package/dist/push-notification/push-notification-module.interface.d.ts +33 -0
  59. package/dist/push-notification/push-notification-module.interface.js +4 -0
  60. package/dist/push-notification/push-notification-module.interface.js.map +1 -0
  61. package/dist/push-notification/push-notification-provider-module.factory.d.ts +5 -0
  62. package/dist/push-notification/push-notification-provider-module.factory.js +13 -0
  63. package/dist/push-notification/push-notification-provider-module.factory.js.map +1 -0
  64. package/dist/push-notification/push-notification-provider.factory.d.ts +5 -0
  65. package/dist/push-notification/push-notification-provider.factory.js +16 -0
  66. package/dist/push-notification/push-notification-provider.factory.js.map +1 -0
  67. package/dist/push-notification/push-notification-provider.manager.d.ts +13 -0
  68. package/dist/push-notification/push-notification-provider.manager.js +38 -0
  69. package/dist/push-notification/push-notification-provider.manager.js.map +1 -0
  70. package/dist/push-notification/push-notification.interface.d.ts +16 -0
  71. package/dist/push-notification/push-notification.interface.js +11 -0
  72. package/dist/push-notification/push-notification.interface.js.map +1 -0
  73. package/dist/push-notification/push-notification.module.d.ts +15 -0
  74. package/dist/push-notification/push-notification.module.js +189 -0
  75. package/dist/push-notification/push-notification.module.js.map +1 -0
  76. package/dist/push-notification/push-notification.provider.d.ts +12 -0
  77. package/dist/push-notification/push-notification.provider.js +7 -0
  78. package/dist/push-notification/push-notification.provider.js.map +1 -0
  79. package/dist/push-notification/push-notification.service.d.ts +15 -0
  80. package/dist/push-notification/push-notification.service.js +66 -0
  81. package/dist/push-notification/push-notification.service.js.map +1 -0
  82. package/dist/push-notification/user-token.store.d.ts +19 -0
  83. package/dist/push-notification/user-token.store.js +44 -0
  84. package/dist/push-notification/user-token.store.js.map +1 -0
  85. package/dist/sms/index.js +1 -0
  86. package/dist/sms/index.js.map +1 -0
  87. package/dist/sms/sms.service.js +1 -0
  88. package/dist/sms/sms.service.js.map +1 -0
  89. package/dist/template/constant.js +1 -0
  90. package/dist/template/constant.js.map +1 -0
  91. package/dist/template/fake-template.loader.d.ts +3 -0
  92. package/dist/template/fake-template.loader.js +15 -1
  93. package/dist/template/fake-template.loader.js.map +1 -0
  94. package/dist/template/index.d.ts +2 -2
  95. package/dist/template/index.js +3 -1
  96. package/dist/template/index.js.map +1 -0
  97. package/dist/template/template.loader.js +3 -2
  98. package/dist/template/template.loader.js.map +1 -0
  99. package/dist/template/template.service.js +3 -2
  100. package/dist/template/template.service.js.map +1 -0
  101. package/package.json +15 -21
  102. package/.eslintrc.js +0 -24
@@ -0,0 +1,13 @@
1
+ import { PushNotificationProvider } from "./push-notification.provider";
2
+ import { PlatformOS } from "./push-notification.interface";
3
+ export declare abstract class ProviderManager {
4
+ abstract getProvider(paltform?: PlatformOS): PushNotificationProvider;
5
+ abstract get defaultProvider(): PushNotificationProvider;
6
+ }
7
+ export declare class DefaultProviderManager extends ProviderManager {
8
+ private readonly _defaultProvider;
9
+ private readonly keysProviders;
10
+ constructor(providers: PushNotificationProvider[]);
11
+ get defaultProvider(): PushNotificationProvider;
12
+ getProvider(paltform?: PlatformOS): PushNotificationProvider;
13
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultProviderManager = exports.ProviderManager = void 0;
4
+ const push_notification_interface_1 = require("./push-notification.interface");
5
+ class ProviderManager {
6
+ }
7
+ exports.ProviderManager = ProviderManager;
8
+ class DefaultProviderManager extends ProviderManager {
9
+ constructor(providers) {
10
+ super();
11
+ this.keysProviders = {};
12
+ if (providers.length == 0) {
13
+ throw new Error("please provide at lease one PushNotificationProvider");
14
+ }
15
+ this._defaultProvider = providers[0];
16
+ providers.forEach(item => {
17
+ this.keysProviders[item.type] = item;
18
+ });
19
+ }
20
+ get defaultProvider() {
21
+ return this._defaultProvider;
22
+ }
23
+ getProvider(paltform) {
24
+ let provider = undefined;
25
+ if (paltform == push_notification_interface_1.PlatformOS.android || paltform == push_notification_interface_1.PlatformOS.ios) {
26
+ provider = this.keysProviders["firebase"];
27
+ }
28
+ else if (paltform == "huawei") {
29
+ provider = this.keysProviders["hms"];
30
+ }
31
+ if (!provider) {
32
+ provider = this.defaultProvider;
33
+ }
34
+ return provider;
35
+ }
36
+ }
37
+ exports.DefaultProviderManager = DefaultProviderManager;
38
+ //# sourceMappingURL=push-notification-provider.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-notification-provider.manager.js","sourceRoot":"","sources":["../../lib/push-notification/push-notification-provider.manager.ts"],"names":[],"mappings":";;;AAEA,+EAA2D;AAG3D,MAAsB,eAAe;CAMpC;AAND,0CAMC;AAED,MAAa,sBAAuB,SAAQ,eAAe;IAMzD,YAAY,SAAqC;QAC/C,KAAK,EAAE,CAAC;QAHO,kBAAa,GAA6C,EAAE,CAAC;QAI5E,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,QAAqB;QAC/B,IAAI,QAAQ,GAA6B,SAAS,CAAC;QAEnD,IAAI,QAAQ,IAAI,wCAAU,CAAC,OAAO,IAAI,QAAQ,IAAI,wCAAU,CAAC,GAAG,EAAE,CAAC;YACjE,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QAClC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CAGF;AArCD,wDAqCC"}
@@ -0,0 +1,16 @@
1
+ export declare enum PlatformOS {
2
+ android = "android",
3
+ ios = "ios",
4
+ huawei = "huawei"
5
+ }
6
+ export interface DeviceToken {
7
+ type: PlatformOS;
8
+ data: string;
9
+ }
10
+ export type PushNotificationPlatform = "firebase" | "hms";
11
+ export type PushNotificationOption = FCMPushNotificationOption;
12
+ export interface FCMPushNotificationOption {
13
+ readonly type: "firebase";
14
+ readonly serviceAccount: string;
15
+ readonly databaseUrl?: string;
16
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlatformOS = void 0;
4
+ var PlatformOS;
5
+ (function (PlatformOS) {
6
+ PlatformOS["android"] = "android";
7
+ PlatformOS["ios"] = "ios";
8
+ PlatformOS["huawei"] = "huawei";
9
+ })(PlatformOS || (exports.PlatformOS = PlatformOS = {}));
10
+ ;
11
+ //# sourceMappingURL=push-notification.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-notification.interface.js","sourceRoot":"","sources":["../../lib/push-notification/push-notification.interface.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,yBAAW,CAAA;IACX,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAAA,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { PushNotificationModuleAsyncOptions, PushNotificationModuleOptions } from './push-notification-module.interface';
3
+ export declare class PushNotificationModule {
4
+ static register(options: PushNotificationModuleOptions): DynamicModule;
5
+ static registerAsync(options: PushNotificationModuleAsyncOptions): DynamicModule;
6
+ private static sanitizeModuleOptions;
7
+ private static createProviderManager;
8
+ private static createDefaultProviderManager;
9
+ private static createUserTokenStore;
10
+ private static createDefaultUserTokenStore;
11
+ private static createPushNotificationService;
12
+ private static createAsyncProviders;
13
+ private static createAsyncOptionsProvider;
14
+ private static createFactoryWrapper;
15
+ }
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var PushNotificationModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PushNotificationModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const push_notification_provider_factory_1 = require("./push-notification-provider.factory");
13
+ const push_notification_provider_manager_1 = require("./push-notification-provider.manager");
14
+ const push_notification_service_1 = require("./push-notification.service");
15
+ const constant_1 = require("./constant");
16
+ const user_token_store_1 = require("./user-token.store");
17
+ const defaultOptions = {};
18
+ let PushNotificationModule = PushNotificationModule_1 = class PushNotificationModule {
19
+ static register(options) {
20
+ options = this.sanitizeModuleOptions(options);
21
+ const providerOptions = options.providers;
22
+ const pushProviders = (providerOptions || []).map(item => {
23
+ return push_notification_provider_factory_1.PushNotificationProviderFactory.create(item);
24
+ });
25
+ const providers = {
26
+ provide: constant_1.PUSH_NOTIFICATION_PROVIDERS,
27
+ useValue: pushProviders,
28
+ };
29
+ const provideProviderManager = this.createProviderManager(options);
30
+ const userTokenStore = this.createUserTokenStore(options);
31
+ const provideService = this.createPushNotificationService();
32
+ return {
33
+ module: PushNotificationModule_1,
34
+ providers: [providers, provideProviderManager, provideService, userTokenStore],
35
+ exports: [providers, provideProviderManager, provideService, userTokenStore],
36
+ };
37
+ }
38
+ static registerAsync(options) {
39
+ options = this.sanitizeModuleOptions(options);
40
+ const providersOptions = options.providers;
41
+ const innerProviders = providersOptions.reduce((accProviders, item) => accProviders
42
+ .concat(this.createAsyncProviders(item)), []);
43
+ const imports = providersOptions.reduce((accImports, option) => option.imports && !accImports.includes(option.imports)
44
+ ? accImports.concat(option.imports)
45
+ : accImports, []);
46
+ const providers = {
47
+ provide: constant_1.PUSH_NOTIFICATION_PROVIDERS,
48
+ useFactory(...args) {
49
+ return args;
50
+ },
51
+ inject: [...options.providers.map(item => item.name)]
52
+ };
53
+ const provideProviderManager = this.createProviderManager(options);
54
+ const userTokenStore = this.createUserTokenStore(options);
55
+ const provideService = this.createPushNotificationService();
56
+ return {
57
+ module: PushNotificationModule_1,
58
+ imports,
59
+ providers: [...innerProviders, providers, provideProviderManager, provideService, userTokenStore],
60
+ exports: [providers, provideProviderManager, provideService, userTokenStore],
61
+ };
62
+ }
63
+ static sanitizeModuleOptions(options) {
64
+ options = { ...defaultOptions, ...options };
65
+ return options;
66
+ }
67
+ static createProviderManager(options) {
68
+ const providerOptions = options.providerManager;
69
+ if (!providerOptions) {
70
+ return this.createDefaultProviderManager();
71
+ }
72
+ if (!isProviderAsyncOptions(providerOptions)) {
73
+ return {
74
+ provide: push_notification_provider_manager_1.ProviderManager,
75
+ useClass: options.providerManager,
76
+ };
77
+ }
78
+ if (providerOptions.useFactory) {
79
+ return {
80
+ provide: push_notification_provider_manager_1.ProviderManager,
81
+ useFactory(...args) {
82
+ return providerOptions.useFactory(...args);
83
+ },
84
+ inject: providerOptions.inject || [],
85
+ };
86
+ }
87
+ return {
88
+ provide: push_notification_provider_manager_1.ProviderManager,
89
+ useFactory(manager) {
90
+ return manager;
91
+ },
92
+ inject: [providerOptions.useClass || providerOptions.useExisting],
93
+ };
94
+ }
95
+ static createDefaultProviderManager() {
96
+ return {
97
+ provide: push_notification_provider_manager_1.ProviderManager,
98
+ useFactory(providers) {
99
+ return new push_notification_provider_manager_1.DefaultProviderManager(providers);
100
+ },
101
+ inject: [constant_1.PUSH_NOTIFICATION_PROVIDERS],
102
+ };
103
+ }
104
+ static createUserTokenStore(options) {
105
+ const providerOptions = options.userTokenStore;
106
+ if (!providerOptions) {
107
+ return this.createDefaultUserTokenStore();
108
+ }
109
+ if (!isProviderAsyncOptions(providerOptions)) {
110
+ return {
111
+ provide: user_token_store_1.UserTokenStore,
112
+ useClass: options.userTokenStore,
113
+ };
114
+ }
115
+ if (providerOptions.useFactory) {
116
+ return {
117
+ provide: user_token_store_1.UserTokenStore,
118
+ useFactory(...args) {
119
+ return providerOptions.useFactory(...args);
120
+ },
121
+ inject: providerOptions.inject || [],
122
+ };
123
+ }
124
+ return {
125
+ provide: user_token_store_1.UserTokenStore,
126
+ useFactory(store) {
127
+ return store;
128
+ },
129
+ inject: [providerOptions.useClass || providerOptions.useExisting],
130
+ };
131
+ }
132
+ static createDefaultUserTokenStore() {
133
+ return {
134
+ provide: user_token_store_1.UserTokenStore,
135
+ useFactory() {
136
+ return new user_token_store_1.InMemoryUserTokenStore();
137
+ },
138
+ };
139
+ }
140
+ static createPushNotificationService() {
141
+ return {
142
+ provide: push_notification_service_1.PushNotificationService,
143
+ useFactory(manager, userTokenStore) {
144
+ return new push_notification_service_1.PushNotificationService(manager, userTokenStore);
145
+ },
146
+ inject: [push_notification_provider_manager_1.ProviderManager, user_token_store_1.UserTokenStore],
147
+ };
148
+ }
149
+ static createAsyncProviders(options) {
150
+ if (options.useExisting || options.useFactory) {
151
+ return [this.createAsyncOptionsProvider(options)];
152
+ }
153
+ return [
154
+ this.createAsyncOptionsProvider(options),
155
+ {
156
+ provide: options.useClass,
157
+ useClass: options.useClass,
158
+ },
159
+ ];
160
+ }
161
+ static createAsyncOptionsProvider(options) {
162
+ if (options.useFactory) {
163
+ return {
164
+ provide: options.name,
165
+ useFactory: this.createFactoryWrapper(options.useFactory),
166
+ inject: options.inject || [],
167
+ };
168
+ }
169
+ return {
170
+ provide: options.name,
171
+ useFactory: this.createFactoryWrapper((optionsFactory) => optionsFactory.createProviderOptions()),
172
+ inject: [options.useExisting || options.useClass],
173
+ };
174
+ }
175
+ static createFactoryWrapper(useFactory) {
176
+ return async (...args) => {
177
+ const clientOptions = await useFactory(...args);
178
+ return push_notification_provider_factory_1.PushNotificationProviderFactory.create(clientOptions);
179
+ };
180
+ }
181
+ };
182
+ exports.PushNotificationModule = PushNotificationModule;
183
+ exports.PushNotificationModule = PushNotificationModule = PushNotificationModule_1 = __decorate([
184
+ (0, common_1.Module)({})
185
+ ], PushNotificationModule);
186
+ const isProviderAsyncOptions = (options) => {
187
+ return 'useExisting' in options || 'useClass' in options || 'useFactory' in options;
188
+ };
189
+ //# sourceMappingURL=push-notification.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-notification.module.js","sourceRoot":"","sources":["../../lib/push-notification/push-notification.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { PushMessage, PushMessageOnly } from "../interface";
2
+ import { BatchSendResult, SendResult } from "../interface/result.interface";
3
+ import { PushNotificationPlatform } from "./push-notification.interface";
4
+ export interface IPushNotificationProvider {
5
+ send(message: PushMessage): Promise<SendResult>;
6
+ sendMulticast(tokens: string[], message: PushMessageOnly): Promise<BatchSendResult>;
7
+ }
8
+ export declare abstract class PushNotificationProvider implements IPushNotificationProvider {
9
+ abstract readonly type: PushNotificationPlatform;
10
+ abstract send(message: PushMessage): Promise<SendResult>;
11
+ abstract sendMulticast(tokens: string[], message: PushMessageOnly): Promise<BatchSendResult>;
12
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PushNotificationProvider = void 0;
4
+ class PushNotificationProvider {
5
+ }
6
+ exports.PushNotificationProvider = PushNotificationProvider;
7
+ //# sourceMappingURL=push-notification.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-notification.provider.js","sourceRoot":"","sources":["../../lib/push-notification/push-notification.provider.ts"],"names":[],"mappings":";;;AAaA,MAAsB,wBAAwB;CAQ7C;AARD,4DAQC"}
@@ -0,0 +1,15 @@
1
+ import { BatchSendResult, PushMessage, PushMessageOnly, SendResult } from "../interface";
2
+ import { DeviceToken } from "./push-notification.interface";
3
+ import { ProviderManager } from "./push-notification-provider.manager";
4
+ import { TokenId, UserTokenStore } from "./user-token.store";
5
+ export declare class PushNotificationService {
6
+ private readonly providerManager;
7
+ private readonly userTokenStore;
8
+ constructor(providerManager: ProviderManager, userTokenStore: UserTokenStore);
9
+ saveUserToken(userId: string | number, token: DeviceToken): Promise<TokenId>;
10
+ getUserDeviceToken(userId: string | number): Promise<DeviceToken>;
11
+ getUserDeviceTokens(userId: string | number): Promise<DeviceToken[]>;
12
+ send(message: PushMessage): Promise<SendResult>;
13
+ sendMulticast(tokens: DeviceToken[], message: PushMessageOnly): Promise<BatchSendResult>;
14
+ private groupDevicesToken;
15
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PushNotificationService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const push_notification_provider_manager_1 = require("./push-notification-provider.manager");
15
+ const user_token_store_1 = require("./user-token.store");
16
+ let PushNotificationService = class PushNotificationService {
17
+ constructor(providerManager, userTokenStore) {
18
+ this.providerManager = providerManager;
19
+ this.userTokenStore = userTokenStore;
20
+ }
21
+ async saveUserToken(userId, token) {
22
+ return this.userTokenStore.saveUserToken(userId, token);
23
+ }
24
+ async getUserDeviceToken(userId) {
25
+ return this.userTokenStore.getUserDeviceToken(userId);
26
+ }
27
+ async getUserDeviceTokens(userId) {
28
+ return this.userTokenStore.getUserDeviceTokens(userId);
29
+ }
30
+ send(message) {
31
+ return this.providerManager.getProvider(message.paltform).send(message);
32
+ }
33
+ async sendMulticast(tokens, message) {
34
+ const groupedKeys = this.groupDevicesToken(tokens);
35
+ const results = [];
36
+ for (const [key, value] of Object.entries(groupedKeys)) {
37
+ const provider = this.providerManager.getProvider(key);
38
+ const tokens = value;
39
+ const result = await provider.sendMulticast(tokens, message);
40
+ results.push(result);
41
+ }
42
+ return results.reduce((a, b) => {
43
+ const results = [...a.results, ...b.results];
44
+ return {
45
+ results,
46
+ successCount: a.successCount + b.successCount,
47
+ failureCount: a.failureCount + b.failureCount,
48
+ };
49
+ });
50
+ }
51
+ groupDevicesToken(tokens) {
52
+ return tokens.reduce((group, item) => {
53
+ if (!group[item.type]) {
54
+ group[item.type] = [];
55
+ }
56
+ group[item.type].push(item.data);
57
+ return group;
58
+ }, {});
59
+ }
60
+ };
61
+ exports.PushNotificationService = PushNotificationService;
62
+ exports.PushNotificationService = PushNotificationService = __decorate([
63
+ (0, common_1.Injectable)(),
64
+ __metadata("design:paramtypes", [push_notification_provider_manager_1.ProviderManager, user_token_store_1.UserTokenStore])
65
+ ], PushNotificationService);
66
+ //# sourceMappingURL=push-notification.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-notification.service.js","sourceRoot":"","sources":["../../lib/push-notification/push-notification.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAG5C,6FAAuE;AACvE,yDAA6D;AAGtD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,YAA6B,eAAgC,EAAmB,cAA8B;QAAjF,oBAAe,GAAf,eAAe,CAAiB;QAAmB,mBAAc,GAAd,cAAc,CAAgB;IAC9G,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAuB,EACvB,KAAkB;QAElB,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,MAAuB;QAC/C,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,OAAoB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAqB,EAAE,OAAwB;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAiB,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,KAAK,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAkB,EAAE,CAAkB,EAAE,EAAE;YAC/D,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;YAC5C,OAAO;gBACL,OAAO;gBACP,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY;gBAC7C,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY;aAC9C,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,iBAAiB,CAAC,MAAqB;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAkC,EAAE,IAAI,EAAE,EAAE;YAChE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF,CAAA;AApDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAGmC,oDAAe,EAAmC,iCAAc;GAFnG,uBAAuB,CAoDnC"}
@@ -0,0 +1,19 @@
1
+ import { DeviceToken } from './push-notification.interface';
2
+ export type TokenId = string | number;
3
+ export interface IUserTokenStore {
4
+ saveUserToken(userId: string | number, token: DeviceToken): Promise<TokenId>;
5
+ getUserDeviceToken(userId: string | number): Promise<DeviceToken>;
6
+ getUserDeviceTokens(userId: string | number): Promise<DeviceToken[]>;
7
+ }
8
+ export declare abstract class UserTokenStore implements IUserTokenStore {
9
+ abstract saveUserToken(userId: string | number, token: DeviceToken): Promise<TokenId>;
10
+ abstract getUserDeviceToken(userId: string | number): Promise<DeviceToken>;
11
+ abstract getUserDeviceTokens(userId: string | number): Promise<DeviceToken[]>;
12
+ }
13
+ export declare class InMemoryUserTokenStore extends UserTokenStore {
14
+ private readonly cache;
15
+ constructor();
16
+ saveUserToken(userId: string | number, token: DeviceToken): Promise<TokenId>;
17
+ getUserDeviceToken(userId: string | number): Promise<DeviceToken>;
18
+ getUserDeviceTokens(userId: string | number): Promise<DeviceToken[]>;
19
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.InMemoryUserTokenStore = exports.UserTokenStore = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ class UserTokenStore {
15
+ }
16
+ exports.UserTokenStore = UserTokenStore;
17
+ let InMemoryUserTokenStore = class InMemoryUserTokenStore extends UserTokenStore {
18
+ constructor() {
19
+ super();
20
+ this.cache = {};
21
+ }
22
+ async saveUserToken(userId, token) {
23
+ this.cache[userId] = token;
24
+ return userId;
25
+ }
26
+ async getUserDeviceToken(userId) {
27
+ if (this.cache[userId]) {
28
+ return this.cache[userId];
29
+ }
30
+ return null;
31
+ }
32
+ async getUserDeviceTokens(userId) {
33
+ if (this.cache[userId]) {
34
+ return [this.cache[userId]];
35
+ }
36
+ return [];
37
+ }
38
+ };
39
+ exports.InMemoryUserTokenStore = InMemoryUserTokenStore;
40
+ exports.InMemoryUserTokenStore = InMemoryUserTokenStore = __decorate([
41
+ (0, common_1.Injectable)(),
42
+ __metadata("design:paramtypes", [])
43
+ ], InMemoryUserTokenStore);
44
+ //# sourceMappingURL=user-token.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-token.store.js","sourceRoot":"","sources":["../../lib/push-notification/user-token.store.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAa5C,MAAsB,cAAc;CASnC;AATD,wCASC;AAMM,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,cAAc;IAGxD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAuB,EACvB,KAAkB;QAElB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,MAAuB;QAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AA5BY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;;GACA,sBAAsB,CA4BlC"}
package/dist/sms/index.js CHANGED
@@ -3,3 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SmsService = void 0;
4
4
  const sms_service_1 = require("./sms.service");
5
5
  Object.defineProperty(exports, "SmsService", { enumerable: true, get: function () { return sms_service_1.SmsService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/sms/index.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAElC,2FAFA,wBAAU,OAEA"}
@@ -4,3 +4,4 @@ exports.SmsService = void 0;
4
4
  class SmsService {
5
5
  }
6
6
  exports.SmsService = SmsService;
7
+ //# sourceMappingURL=sms.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.service.js","sourceRoot":"","sources":["../../lib/sms/sms.service.ts"],"names":[],"mappings":";;;AAQA,MAAsB,UAAU;CAE/B;AAFD,gCAEC"}
@@ -2,3 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TEMPLATE_LOADER = void 0;
4
4
  exports.TEMPLATE_LOADER = "TEMPLATE_LOADER";
5
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../lib/template/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,iBAAiB,CAAA"}
@@ -4,3 +4,6 @@ export declare class FakeTemplateLoader extends TemplateLoader {
4
4
  constructor();
5
5
  getTemplate(templateCode: string, locale: string, fallbackLocale?: string): Promise<MessageTemplate>;
6
6
  }
7
+ export declare class EmptyTemplateLoader extends TemplateLoader {
8
+ getTemplate(templateCode: string, locale: string, fallbackLocale?: string): Promise<MessageTemplate>;
9
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FakeTemplateLoader = void 0;
3
+ exports.EmptyTemplateLoader = exports.FakeTemplateLoader = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const template_loader_1 = require("./template.loader");
6
6
  class FakeTemplateLoader extends template_loader_1.TemplateLoader {
@@ -21,3 +21,17 @@ class FakeTemplateLoader extends template_loader_1.TemplateLoader {
21
21
  }
22
22
  }
23
23
  exports.FakeTemplateLoader = FakeTemplateLoader;
24
+ class EmptyTemplateLoader extends template_loader_1.TemplateLoader {
25
+ getTemplate(templateCode, locale, fallbackLocale) {
26
+ return new Promise((resolve, reject) => {
27
+ resolve({
28
+ code: templateCode,
29
+ content: '',
30
+ subject: '',
31
+ locale,
32
+ });
33
+ });
34
+ }
35
+ }
36
+ exports.EmptyTemplateLoader = EmptyTemplateLoader;
37
+ //# sourceMappingURL=fake-template.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-template.loader.js","sourceRoot":"","sources":["../../lib/template/fake-template.loader.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,uDAAoE;AAEpE,MAAa,kBAAmB,SAAQ,gCAAc;IAEpD;QACE,KAAK,EAAE,CAAC;QAFO,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAG5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;IACvI,CAAC;IAED,WAAW,CAAC,YAAoB,EAAE,MAAc,EAAE,cAAuB;QACxE,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,CAAC;gBACN,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,GAAG,YAAY,UAAU;gBAClC,OAAO,EAAE,GAAG,YAAY,UAAU;gBAClC,MAAM;aACP,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CAEF;AAlBD,gDAkBC;AAED,MAAa,mBAAoB,SAAQ,gCAAc;IACrD,WAAW,CAAC,YAAoB,EAAE,MAAc,EAAE,cAAuB;QACvE,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,OAAO,CAAC;gBACN,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAC,EAAE;gBACV,OAAO,EAAC,EAAE;gBACV,MAAM;aACP,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;CAEF;AAZD,kDAYC"}
@@ -1,5 +1,5 @@
1
1
  import { TEMPLATE_LOADER } from "./constant";
2
- import { FakeTemplateLoader } from "./fake-template.loader";
2
+ import { EmptyTemplateLoader, FakeTemplateLoader } from "./fake-template.loader";
3
3
  import { CacheOptions, MessageTemplate, ResolveOption, TemplateLoader, CachableTemplateLoader } from "./template.loader";
4
4
  import { TemplateService } from "./template.service";
5
- export { CacheOptions, MessageTemplate, ResolveOption, TemplateLoader, CachableTemplateLoader, TEMPLATE_LOADER, TemplateService, FakeTemplateLoader, };
5
+ export { CacheOptions, MessageTemplate, ResolveOption, TemplateLoader, CachableTemplateLoader, TEMPLATE_LOADER, TemplateService, FakeTemplateLoader, EmptyTemplateLoader, };
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FakeTemplateLoader = exports.TemplateService = exports.TEMPLATE_LOADER = exports.CachableTemplateLoader = exports.TemplateLoader = exports.MessageTemplate = void 0;
3
+ exports.EmptyTemplateLoader = exports.FakeTemplateLoader = exports.TemplateService = exports.TEMPLATE_LOADER = exports.CachableTemplateLoader = exports.TemplateLoader = exports.MessageTemplate = void 0;
4
4
  const constant_1 = require("./constant");
5
5
  Object.defineProperty(exports, "TEMPLATE_LOADER", { enumerable: true, get: function () { return constant_1.TEMPLATE_LOADER; } });
6
6
  const fake_template_loader_1 = require("./fake-template.loader");
7
+ Object.defineProperty(exports, "EmptyTemplateLoader", { enumerable: true, get: function () { return fake_template_loader_1.EmptyTemplateLoader; } });
7
8
  Object.defineProperty(exports, "FakeTemplateLoader", { enumerable: true, get: function () { return fake_template_loader_1.FakeTemplateLoader; } });
8
9
  const template_loader_1 = require("./template.loader");
9
10
  Object.defineProperty(exports, "MessageTemplate", { enumerable: true, get: function () { return template_loader_1.MessageTemplate; } });
@@ -11,3 +12,4 @@ Object.defineProperty(exports, "TemplateLoader", { enumerable: true, get: functi
11
12
  Object.defineProperty(exports, "CachableTemplateLoader", { enumerable: true, get: function () { return template_loader_1.CachableTemplateLoader; } });
12
13
  const template_service_1 = require("./template.service");
13
14
  Object.defineProperty(exports, "TemplateService", { enumerable: true, get: function () { return template_service_1.TemplateService; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/template/index.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAW3C,gGAXO,0BAAe,OAWP;AAVjB,iEAAiF;AAa/E,oGAbO,0CAAmB,OAaP;AADnB,mGAZ4B,yCAAkB,OAY5B;AAXpB,uDAAyH;AAKvH,gGALqB,iCAAe,OAKrB;AAEf,+FAPqD,gCAAc,OAOrD;AACd,uGARqE,wCAAsB,OAQrE;AAPxB,yDAAqD;AASnD,gGATO,kCAAe,OASP"}
@@ -71,8 +71,9 @@ let CachableTemplateLoader = class CachableTemplateLoader extends TemplateLoader
71
71
  return `${cacheKey}.${templateCode}.${locale}`;
72
72
  }
73
73
  };
74
- CachableTemplateLoader = __decorate([
74
+ exports.CachableTemplateLoader = CachableTemplateLoader;
75
+ exports.CachableTemplateLoader = CachableTemplateLoader = __decorate([
75
76
  __param(0, (0, common_1.Inject)(cache_manager_1.CACHE_MANAGER)),
76
77
  __metadata("design:paramtypes", [Object, Object])
77
78
  ], CachableTemplateLoader);
78
- exports.CachableTemplateLoader = CachableTemplateLoader;
79
+ //# sourceMappingURL=template.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.loader.js","sourceRoot":"","sources":["../../lib/template/template.loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kEAAmC;AACnC,yDAAsD;AACtD,2CAAwC;AAGxC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAQpD,MAAa,eAAe;CAK3B;AALD,0CAKC;AAUD,MAAsB,cAAc;IAIlC,KAAK,CAAC,OAAO,CAAC,YAAoB,EAAE,UAAyB,EAAE;QAC7D,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACvF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAC/C,OAAO;YACL,GAAG,iBAAiB;YACpB,OAAO,EAAE,OAAO,IAAI,IAAA,uBAAM,EAAC,OAAO,EAAE,IAAI,CAAC;YACzC,OAAO,EAAE,OAAO,IAAI,IAAA,uBAAM,EAAC,OAAO,EAAE,IAAI,CAAC;SAC1C,CAAA;IACH,CAAC;CACF;AAdD,wCAcC;AAED,IAAsB,sBAAsB,GAA5C,MAAsB,sBAAuB,SAAQ,cAAc;IAIjE,YAA2C,YAAmB,EAAE,YAA2B;QACzF,KAAK,EAAE,CAAC;QADiC,iBAAY,GAAZ,YAAY,CAAO;QAE5D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE,iBAAiB;YAC3B,GAAG,EAAE,qBAAqB;SAC3B,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAoB,EAAE,UAAyB,EAAE;QAC7D,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAoB,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACpF,IAAI,iBAAkC,CAAC;QACvC,IAAG,UAAU,EAAE,CAAC;YACd,iBAAiB,GAAG,UAAU,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACjF,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAC/C,OAAO;YACL,GAAG,iBAAiB;YACpB,OAAO,EAAE,OAAO,IAAI,IAAA,uBAAM,EAAC,OAAO,EAAE,IAAI,CAAC;YACzC,OAAO,EAAE,OAAO,IAAI,IAAA,uBAAM,EAAC,OAAO,EAAE,IAAI,CAAC;SAC1C,CAAA;IACH,CAAC;IAES,mBAAmB,CAAC,YAAoB,EAAE,MAAc;QAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,OAAO,GAAG,QAAQ,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;IAChD,CAAC;CAEF,CAAA;AAtCqB,wDAAsB;iCAAtB,sBAAsB;IAI7B,WAAA,IAAA,eAAM,EAAC,6BAAa,CAAC,CAAA;;GAJd,sBAAsB,CAsC3C"}
@@ -24,9 +24,10 @@ let TemplateService = class TemplateService {
24
24
  return this.templateLoader.resolve(code, options);
25
25
  }
26
26
  };
27
- TemplateService = __decorate([
27
+ exports.TemplateService = TemplateService;
28
+ exports.TemplateService = TemplateService = __decorate([
28
29
  (0, common_1.Injectable)(),
29
30
  __param(0, (0, common_1.Inject)(constant_1.TEMPLATE_LOADER)),
30
31
  __metadata("design:paramtypes", [template_loader_1.TemplateLoader])
31
32
  ], TemplateService);
32
- exports.TemplateService = TemplateService;
33
+ //# sourceMappingURL=template.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../lib/template/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmF;AACnF,yCAA6C;AAGtC,IAAM,eAAe,GAArB,MAAM,eAAe;IAE1B,YAAsD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAEpF,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,UAAyB,EAAE;QACvD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CAEF,CAAA;AAVY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGE,WAAA,IAAA,eAAM,EAAC,0BAAe,CAAC,CAAA;qCAAkC,gCAAc;GAFzE,eAAe,CAU3B"}