@wallfree-dev/angular-ngrx 0.0.59-beta.1

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 (55) hide show
  1. package/README.md +60 -0
  2. package/esm2022/lib/airgap-angular-ngrx.module.mjs +23 -0
  3. package/esm2022/lib/base/base-ngrx.facade.mjs +36 -0
  4. package/esm2022/lib/components/components.module.mjs +21 -0
  5. package/esm2022/lib/components/currency-symbol/currency-symbol.facade.mjs +59 -0
  6. package/esm2022/lib/components/currency-symbol/currency-symbol.store.mjs +148 -0
  7. package/esm2022/lib/components/currency-symbol/currency-symbol.types.mjs +2 -0
  8. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.facade.mjs +28 -0
  9. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.store.mjs +76 -0
  10. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.types.mjs +2 -0
  11. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.facade.mjs +26 -0
  12. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.store.mjs +55 -0
  13. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.types.mjs +2 -0
  14. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.facade.mjs +24 -0
  15. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.store.mjs +57 -0
  16. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.types.mjs +2 -0
  17. package/esm2022/public-api.mjs +15 -0
  18. package/esm2022/wallfree-dev-angular-ngrx.mjs +5 -0
  19. package/fesm2022/wallfree-dev-angular-ngrx.mjs +524 -0
  20. package/fesm2022/wallfree-dev-angular-ngrx.mjs.map +1 -0
  21. package/index.d.ts +6 -0
  22. package/lib/airgap-angular-ngrx.module.d.ts +9 -0
  23. package/lib/airgap-angular-ngrx.module.d.ts.map +1 -0
  24. package/lib/base/base-ngrx.facade.d.ts +17 -0
  25. package/lib/base/base-ngrx.facade.d.ts.map +1 -0
  26. package/lib/components/components.module.d.ts +12 -0
  27. package/lib/components/components.module.d.ts.map +1 -0
  28. package/lib/components/currency-symbol/currency-symbol.facade.d.ts +20 -0
  29. package/lib/components/currency-symbol/currency-symbol.facade.d.ts.map +1 -0
  30. package/lib/components/currency-symbol/currency-symbol.store.d.ts +21 -0
  31. package/lib/components/currency-symbol/currency-symbol.store.d.ts.map +1 -0
  32. package/lib/components/currency-symbol/currency-symbol.types.d.ts +9 -0
  33. package/lib/components/currency-symbol/currency-symbol.types.d.ts.map +1 -0
  34. package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts +17 -0
  35. package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts.map +1 -0
  36. package/lib/components/isolated-modules-details/isolated-modules-details.store.d.ts +16 -0
  37. package/lib/components/isolated-modules-details/isolated-modules-details.store.d.ts.map +1 -0
  38. package/lib/components/isolated-modules-details/isolated-modules-details.types.d.ts +7 -0
  39. package/lib/components/isolated-modules-details/isolated-modules-details.types.d.ts.map +1 -0
  40. package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts +16 -0
  41. package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
  42. package/lib/components/isolated-modules-list/isolated-modules-list.store.d.ts +19 -0
  43. package/lib/components/isolated-modules-list/isolated-modules-list.store.d.ts.map +1 -0
  44. package/lib/components/isolated-modules-list/isolated-modules-list.types.d.ts +6 -0
  45. package/lib/components/isolated-modules-list/isolated-modules-list.types.d.ts.map +1 -0
  46. package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts +15 -0
  47. package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
  48. package/lib/pages/isolated-modules-list/isolated-modules-list.store.d.ts +15 -0
  49. package/lib/pages/isolated-modules-list/isolated-modules-list.store.d.ts.map +1 -0
  50. package/lib/pages/isolated-modules-list/isolated-modules-list.types.d.ts +6 -0
  51. package/lib/pages/isolated-modules-list/isolated-modules-list.types.d.ts.map +1 -0
  52. package/package.json +42 -0
  53. package/public-api.d.ts +8 -0
  54. package/public-api.d.ts.map +1 -0
  55. package/wallfree-dev-angular-ngrx.d.ts.map +1 -0
@@ -0,0 +1,524 @@
1
+ import * as i0 from '@angular/core';
2
+ import { NgModule, Injectable, Inject } from '@angular/core';
3
+ import * as i1 from '@ngrx/store';
4
+ import { StoreModule } from '@ngrx/store';
5
+ import { CommonModule } from '@angular/common';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { IonicModule } from '@ionic/angular';
8
+ import { TranslateModule } from '@ngx-translate/core';
9
+ import { QRCodeModule } from 'angularx-qrcode';
10
+ import * as i1$1 from '@wallfree-dev/angular-core';
11
+ import { BaseFacade, UIActionStatus, DEFAULT_CURRENCY_SYMBOL_URL, FilesystemService, ProtocolService, UIResourceStatus, ISOLATED_MODULES_PLUGIN, BaseModulesService, UiEventService } from '@wallfree-dev/angular-core';
12
+ import { ComponentStore, tapResponse } from '@ngrx/component-store';
13
+ import { Observable, from, of } from 'rxjs';
14
+ import { withLatestFrom, switchMap, map, repeat, first, tap } from 'rxjs/operators';
15
+
16
+ class ComponentsModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule] }); }
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [],
25
+ imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule],
26
+ exports: []
27
+ }]
28
+ }] });
29
+
30
+ class AirGapAngularNgRxModule {
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, imports: [i1.StoreFeatureModule, ComponentsModule], exports: [ComponentsModule] }); }
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, imports: [StoreModule.forFeature('shared', {}),
34
+ ComponentsModule, ComponentsModule] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AirGapAngularNgRxModule, decorators: [{
37
+ type: NgModule,
38
+ args: [{
39
+ declarations: [],
40
+ imports: [
41
+ StoreModule.forFeature('shared', {}),
42
+ ComponentsModule
43
+ ],
44
+ exports: [ComponentsModule]
45
+ }]
46
+ }] });
47
+
48
+ class BaseNgRxFacade extends BaseFacade {
49
+ constructor(store, uiEventService) {
50
+ super();
51
+ this.store = store;
52
+ this.uiEventService = uiEventService;
53
+ }
54
+ async showOrHideToast(toast) {
55
+ if (this.uiEventService === undefined) {
56
+ return;
57
+ }
58
+ // TODO: Move error sentries to common components and catch toast errors
59
+ this.toastElement?.dismiss();
60
+ if (toast?.status === UIActionStatus.PENDING) {
61
+ const defaultToastOptions = {
62
+ duration: 3000,
63
+ position: 'bottom'
64
+ };
65
+ this.toastElement = await this.uiEventService.getTranslatedToast({ ...defaultToastOptions, ...this.getToastData(toast.value) });
66
+ this.toastElement.present();
67
+ return this.toastElement.onWillDismiss().then(() => {
68
+ this.onToastDismissed(toast);
69
+ });
70
+ }
71
+ else {
72
+ this.toastElement = undefined;
73
+ }
74
+ }
75
+ onToastDismissed(_toast) {
76
+ throw new Error('`onToastDismissed` not implemented');
77
+ }
78
+ getToastData(_toast) {
79
+ throw new Error('`getToastData` not implemented');
80
+ }
81
+ }
82
+
83
+ const initialStore = {
84
+ src: DEFAULT_CURRENCY_SYMBOL_URL,
85
+ input: undefined,
86
+ fallbackInput: undefined,
87
+ inputs: []
88
+ };
89
+ class CurrencySymbolStore extends ComponentStore {
90
+ constructor(filesystemService) {
91
+ super(initialStore);
92
+ this.filesystemService = filesystemService;
93
+ this.onError$ = this.effect((trigger$) => {
94
+ return trigger$.pipe(withLatestFrom(this.state$), switchMap(([, state]) => {
95
+ return this.loadFallbackImage(state).pipe(map((value) => {
96
+ if (value.kind === 'lazy' && value.url === undefined) {
97
+ return !state.fallbackInput || value.symbolInput === state.fallbackInput
98
+ ? { kind: 'default' }
99
+ : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' }; // try again with fallback symbol
100
+ }
101
+ else {
102
+ return value;
103
+ }
104
+ }), tapResponse((value) => this.setSrc(value), () => this.setSrc({ kind: 'default' })));
105
+ }), repeat());
106
+ });
107
+ this.setInitialSrc = this.updater((state, inputs) => {
108
+ const input = inputs[0];
109
+ const fallbackInput = inputs[1];
110
+ return {
111
+ ...state,
112
+ src: input ? this.getSymbolAssetURL(input, 'svg') /* use .svg by default */ : state.src,
113
+ fallbackType: input ? { kind: 'asset', symbolInput: input, extension: 'png' } /* use .png as a fallback */ : state.fallbackType,
114
+ input,
115
+ fallbackInput,
116
+ inputs
117
+ };
118
+ });
119
+ this.setSrc = this.updater((state, value) => {
120
+ switch (value.kind) {
121
+ case 'default':
122
+ return {
123
+ ...state,
124
+ src: DEFAULT_CURRENCY_SYMBOL_URL,
125
+ input: undefined,
126
+ fallbackInput: undefined
127
+ };
128
+ case 'asset':
129
+ const { current: assetCurrent, fallback: assetFallback } = this.getNextInputs(state, value.symbolInput);
130
+ return {
131
+ ...state,
132
+ src: this.getSymbolAssetURL(value.symbolInput, value.extension),
133
+ fallbackType: value.extension === 'svg'
134
+ ? { kind: 'asset', symbolInput: value.symbolInput, extension: 'png' } /* use .png as a fallback */
135
+ : { kind: 'isolated', symbolInput: value.symbolInput } /* try loading external isolated image as a fallback */,
136
+ input: assetCurrent,
137
+ fallbackInput: assetFallback
138
+ };
139
+ case 'isolated':
140
+ const { current: isolatedCurrent, fallback: isolatedFallback } = this.getNextInputs(state, value.symbolInput);
141
+ return {
142
+ ...state,
143
+ src: value.url ?? '',
144
+ fallbackType: !state.fallbackInput || value.symbolInput === state.fallbackInput
145
+ ? { kind: 'lazy', symbolInput: value.symbolInput } /* try loading external image as a fallback */
146
+ : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } /* try again with fallback symbol */,
147
+ input: isolatedCurrent,
148
+ fallbackInput: isolatedFallback
149
+ };
150
+ case 'lazy':
151
+ const { current: lazyCurrent, fallback: lazyFallback } = this.getNextInputs(state, value.symbolInput);
152
+ return {
153
+ ...state,
154
+ src: value.url ?? '',
155
+ fallbackType: !state.fallbackInput || value.symbolInput === state.fallbackInput
156
+ ? { kind: 'default' }
157
+ : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } /* try again with fallback symbol */,
158
+ input: lazyCurrent,
159
+ fallbackInput: lazyFallback
160
+ };
161
+ default:
162
+ return state;
163
+ }
164
+ });
165
+ }
166
+ getNextInputs(state, input) {
167
+ if (!input) {
168
+ return {};
169
+ }
170
+ const index = state.inputs.indexOf(input);
171
+ return index > -1 ? { current: state.inputs[index], fallback: state.inputs[index + 1] } : {};
172
+ }
173
+ loadFallbackImage(state) {
174
+ return new Observable((subscriber) => {
175
+ new Promise(async (resolve, reject) => {
176
+ try {
177
+ subscriber.next({ kind: 'default' });
178
+ if (state.fallbackType?.kind === 'asset') {
179
+ subscriber.next({ kind: 'asset', symbolInput: state.fallbackType.symbolInput, extension: state.fallbackType.extension });
180
+ }
181
+ else if (state.fallbackType?.kind === 'isolated') {
182
+ const imageURI = await this.loadIsolatedImage(state.fallbackType.symbolInput);
183
+ subscriber.next({ kind: 'isolated', symbolInput: state.fallbackType.symbolInput, url: imageURI });
184
+ }
185
+ else if (state.fallbackType?.kind === 'lazy') {
186
+ // try loading external image
187
+ const imageURI = await this.loadLazyImage(state.fallbackType.symbolInput);
188
+ subscriber.next({ kind: 'lazy', symbolInput: state.fallbackType.symbolInput, url: imageURI });
189
+ }
190
+ else {
191
+ // no image was found for the symbol, use the generic image
192
+ subscriber.next({ kind: 'default' });
193
+ }
194
+ resolve();
195
+ }
196
+ catch (error) {
197
+ reject(error);
198
+ }
199
+ }).finally(() => {
200
+ subscriber.complete();
201
+ });
202
+ });
203
+ }
204
+ async loadIsolatedImage(symbolInput) {
205
+ return this.filesystemService.readIsolatedSymbol(symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLocaleLowerCase());
206
+ }
207
+ async loadLazyImage(symbolInput) {
208
+ const imagePath = this.getSymbolImagePath(symbolInput);
209
+ return this.filesystemService.readLazyImage(imagePath);
210
+ }
211
+ getSymbolAssetURL(symbolInput, extension) {
212
+ return `./assets/symbols/${symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLowerCase()}.${extension}`;
213
+ }
214
+ getSymbolImagePath(symbolInput) {
215
+ return `/images/symbols/${symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLowerCase()}`;
216
+ }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolStore, deps: [{ token: i1$1.FilesystemService }], target: i0.ɵɵFactoryTarget.Injectable }); }
218
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolStore }); }
219
+ }
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolStore, decorators: [{
221
+ type: Injectable
222
+ }], ctorParameters: () => [{ type: i1$1.FilesystemService }] });
223
+
224
+ class CurrencySymbolNgRxFacade extends BaseNgRxFacade {
225
+ constructor(store, protocolService) {
226
+ super(store);
227
+ this.protocolService = protocolService;
228
+ this.symbolSrc$ = this.store.select((state) => state.src);
229
+ }
230
+ initWithSymbol(symbol, protocolIdentifier) {
231
+ this.getSymbolInputs(symbol, protocolIdentifier)
232
+ .then((symbolInputs) => this.store.setInitialSrc(symbolInputs))
233
+ .catch(console.error);
234
+ }
235
+ onSymbolChanged(symbol, protocolIdentifier) {
236
+ this.getSymbolInputs(symbol, protocolIdentifier)
237
+ .then((symbolInputs) => this.store.setInitialSrc(symbolInputs))
238
+ .catch(console.error);
239
+ }
240
+ onError(_symbol, _protocolIdentifier, _src) {
241
+ this.store.onError$();
242
+ }
243
+ async getSymbolInputs(symbol, protocolIdentifier) {
244
+ let assetSymbol;
245
+ try {
246
+ const protocol = await this.protocolService.getProtocol(protocolIdentifier);
247
+ const [protocolSymbol, protocolAssetSymbol] = await Promise.all([
248
+ protocol.getSymbol(),
249
+ protocol.getAssetSymbol()
250
+ ]);
251
+ assetSymbol = protocolSymbol.toLowerCase() === symbol.toLowerCase() ? protocolAssetSymbol : undefined;
252
+ }
253
+ catch (e) {
254
+ console.warn(e);
255
+ }
256
+ assetSymbol = assetSymbol ?? symbol;
257
+ const symbolInput = assetSymbol ? { value: assetSymbol, caseSensitive: false } : undefined;
258
+ const protocolIdentifierInput = protocolIdentifier
259
+ ? { value: protocolIdentifier, caseSensitive: true }
260
+ : undefined;
261
+ const symbolInputs = protocolIdentifier && this.protocolService.isKnownProtocolSymbol(protocolIdentifier)
262
+ ? [symbolInput, protocolIdentifierInput]
263
+ : [protocolIdentifierInput, symbolInput];
264
+ return symbolInputs.filter((symbolInputOrUndefined) => symbolInputOrUndefined !== undefined);
265
+ }
266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolNgRxFacade, deps: [{ token: CurrencySymbolStore }, { token: i1$1.ProtocolService }], target: i0.ɵɵFactoryTarget.Injectable }); }
267
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolNgRxFacade }); }
268
+ }
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolNgRxFacade, decorators: [{
270
+ type: Injectable
271
+ }], ctorParameters: () => [{ type: CurrencySymbolStore }, { type: i1$1.ProtocolService }] });
272
+ const currencySymbolNgRxFacade = (injector) => {
273
+ return new CurrencySymbolNgRxFacade(new CurrencySymbolStore(injector.get(FilesystemService)), injector.get(ProtocolService));
274
+ };
275
+
276
+ const initialState$2 = {
277
+ manifest: {
278
+ status: UIResourceStatus.IDLE,
279
+ value: undefined
280
+ },
281
+ path: {
282
+ status: UIResourceStatus.IDLE,
283
+ value: undefined
284
+ },
285
+ isVerified: {
286
+ status: UIResourceStatus.IDLE,
287
+ value: undefined
288
+ }
289
+ };
290
+ class IsolatedModulesDetailsStore extends ComponentStore {
291
+ constructor(isolatedModules) {
292
+ super(initialState$2);
293
+ this.isolatedModules = isolatedModules;
294
+ this.loadModuleData = this.effect((metadata$) => {
295
+ return metadata$.pipe(switchMap((metadata) => metadata.type === 'preview'
296
+ ? from(this.verifyModule(metadata)).pipe(first(), map((isVerified) => ({ manifest: metadata.manifest, isVerified })))
297
+ : of({ manifest: metadata.manifest, isVerified: true })), tap({
298
+ next: ({ manifest, isVerified }) => this.setData({ manifest, isVerified }),
299
+ error: () => this.onError()
300
+ }));
301
+ });
302
+ this.setData = this.updater((state, data) => {
303
+ return {
304
+ ...state,
305
+ manifest: {
306
+ status: UIResourceStatus.SUCCESS,
307
+ value: data.manifest
308
+ },
309
+ isVerified: {
310
+ status: UIResourceStatus.SUCCESS,
311
+ value: data.isVerified
312
+ }
313
+ };
314
+ });
315
+ this.onError = this.updater((state) => {
316
+ return {
317
+ ...state,
318
+ manifest: {
319
+ status: UIResourceStatus.ERROR,
320
+ value: state.manifest.value
321
+ },
322
+ isVerified: {
323
+ status: UIResourceStatus.ERROR,
324
+ value: state.isVerified.value
325
+ }
326
+ };
327
+ });
328
+ }
329
+ async verifyModule(metadata) {
330
+ const { verified } = await this.isolatedModules.verifyDynamicModule({
331
+ path: `${metadata.path}/${metadata.root}`.replace(/\/+$/, ''),
332
+ directory: metadata.directory
333
+ });
334
+ return verified;
335
+ }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsStore, deps: [{ token: ISOLATED_MODULES_PLUGIN }], target: i0.ɵɵFactoryTarget.Injectable }); }
337
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsStore }); }
338
+ }
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsStore, decorators: [{
340
+ type: Injectable
341
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
342
+ type: Inject,
343
+ args: [ISOLATED_MODULES_PLUGIN]
344
+ }] }] });
345
+
346
+ class IsolatedModulesDetailsNgRxFacade extends BaseNgRxFacade {
347
+ constructor(store) {
348
+ super(store);
349
+ this.manifest$ = this.store.select((state) => state.manifest);
350
+ this.isVerified$ = this.store.select((state) => state.isVerified);
351
+ }
352
+ initWithData(metadata) {
353
+ this.store.loadModuleData(metadata);
354
+ }
355
+ onDataChanged(metadata) {
356
+ this.store.loadModuleData(metadata);
357
+ }
358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsNgRxFacade, deps: [{ token: IsolatedModulesDetailsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
359
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsNgRxFacade }); }
360
+ }
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesDetailsNgRxFacade, decorators: [{
362
+ type: Injectable
363
+ }], ctorParameters: () => [{ type: IsolatedModulesDetailsStore }] });
364
+ const isolatedModulesDetailsNgRxFacade = (injector) => {
365
+ return new IsolatedModulesDetailsNgRxFacade(new IsolatedModulesDetailsStore(injector.get(ISOLATED_MODULES_PLUGIN)));
366
+ };
367
+
368
+ const initialState$1 = {
369
+ allModules: {
370
+ status: UIResourceStatus.IDLE,
371
+ value: []
372
+ },
373
+ filteredModules: {
374
+ status: UIResourceStatus.IDLE,
375
+ value: []
376
+ }
377
+ };
378
+ class IsolatedModulesListStore extends ComponentStore {
379
+ constructor() {
380
+ super(initialState$1);
381
+ this.setModules = this.updater((state, data) => {
382
+ return {
383
+ ...state,
384
+ allModules: {
385
+ status: data.modules.status,
386
+ value: data.modules.value
387
+ },
388
+ filteredModules: {
389
+ status: data.modules.status,
390
+ value: this.filterModulesByNameOrAuthor(data.modules.value ?? [], data.query)
391
+ }
392
+ };
393
+ });
394
+ this.filterModules = this.updater((state, query) => {
395
+ return {
396
+ ...state,
397
+ filteredModules: {
398
+ status: state.allModules.status,
399
+ value: this.filterModulesByNameOrAuthor(state.allModules.value ?? [], query)
400
+ }
401
+ };
402
+ });
403
+ }
404
+ filterModulesByNameOrAuthor(modules, query) {
405
+ return query
406
+ ? modules.filter((module) => {
407
+ return (module.manifest.name.toLowerCase().includes(query.toLowerCase()) ||
408
+ module.manifest.author.toLowerCase().includes(query.toLowerCase()));
409
+ })
410
+ : modules;
411
+ }
412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
413
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListStore }); }
414
+ }
415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListStore, decorators: [{
416
+ type: Injectable
417
+ }], ctorParameters: () => [] });
418
+
419
+ class IsolatedModulesListNgRxFacade extends BaseNgRxFacade {
420
+ constructor(store) {
421
+ super(store);
422
+ this.modules$ = this.store.select((state) => state.filteredModules);
423
+ }
424
+ updateModules(modules, query) {
425
+ this.store.setModules({ modules, query });
426
+ }
427
+ filterModules(query) {
428
+ this.store.filterModules(query);
429
+ }
430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListNgRxFacade, deps: [{ token: IsolatedModulesListStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
431
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListNgRxFacade }); }
432
+ }
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsolatedModulesListNgRxFacade, decorators: [{
434
+ type: Injectable
435
+ }], ctorParameters: () => [{ type: IsolatedModulesListStore }] });
436
+ const isolatedModulesListNgRxFacade = (_injector) => {
437
+ return new IsolatedModulesListNgRxFacade(new IsolatedModulesListStore());
438
+ };
439
+
440
+ const initialState = {
441
+ modules: {
442
+ status: UIResourceStatus.IDLE,
443
+ value: []
444
+ },
445
+ filter: undefined
446
+ };
447
+ class IsolatedModulesListPageStore extends ComponentStore {
448
+ constructor(modulesService) {
449
+ super(initialState);
450
+ this.modulesService = modulesService;
451
+ this.onPageLoaded$ = this.effect((trigger$) => {
452
+ return trigger$.pipe(tap(() => this.onModulesLoading()), switchMap(() => from(this.loadModules()).pipe(first())), tapResponse((value) => this.setModules(value), () => this.onModulesLoadingError()));
453
+ });
454
+ this.setModules = this.updater((state, modules) => {
455
+ return {
456
+ ...state,
457
+ modules: {
458
+ status: UIResourceStatus.SUCCESS,
459
+ value: modules
460
+ }
461
+ };
462
+ });
463
+ this.onModulesLoading = this.updater((state) => {
464
+ return {
465
+ ...state,
466
+ modules: {
467
+ status: UIResourceStatus.LOADING,
468
+ value: state.modules.value
469
+ }
470
+ };
471
+ });
472
+ this.onModulesLoadingError = this.updater((state) => {
473
+ return {
474
+ ...state,
475
+ modules: {
476
+ status: UIResourceStatus.ERROR,
477
+ value: state.modules.value
478
+ }
479
+ };
480
+ });
481
+ this.setFilterQuery = this.updater((state, query) => {
482
+ return {
483
+ ...state,
484
+ filter: query
485
+ };
486
+ });
487
+ }
488
+ async loadModules() {
489
+ return this.modulesService.getModulesMetadata();
490
+ }
491
+ }
492
+
493
+ class IsolatedModulesListPageNgRxFacade extends BaseNgRxFacade {
494
+ constructor(store, uiEventService) {
495
+ super(store, uiEventService);
496
+ this.modules$ = this.store.select((state) => state.modules);
497
+ this.filter$ = this.store.select((state) => state.filter);
498
+ }
499
+ onViewInit() {
500
+ this.store.onPageLoaded$();
501
+ return super.onViewInit();
502
+ }
503
+ onViewWillEnter() {
504
+ this.store.onPageLoaded$();
505
+ }
506
+ onFilterQueryChanged(query) {
507
+ this.store.setFilterQuery(query);
508
+ }
509
+ }
510
+ const isolatedModulesListPageNgRxFacade = (injector) => {
511
+ return new IsolatedModulesListPageNgRxFacade(new IsolatedModulesListPageStore(injector.get(BaseModulesService)), injector.get(UiEventService));
512
+ };
513
+
514
+ /*
515
+ * Public API Surface of ngrx
516
+ */
517
+ // NgRx module
518
+
519
+ /**
520
+ * Generated bundle index. Do not edit.
521
+ */
522
+
523
+ export { AirGapAngularNgRxModule, BaseNgRxFacade, ComponentsModule, CurrencySymbolNgRxFacade, IsolatedModulesDetailsNgRxFacade, IsolatedModulesListNgRxFacade, IsolatedModulesListPageNgRxFacade, currencySymbolNgRxFacade, isolatedModulesDetailsNgRxFacade, isolatedModulesListNgRxFacade, isolatedModulesListPageNgRxFacade };
524
+ //# sourceMappingURL=wallfree-dev-angular-ngrx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallfree-dev-angular-ngrx.mjs","sources":["../../src/lib/components/components.module.ts","../../src/lib/airgap-angular-ngrx.module.ts","../../src/lib/base/base-ngrx.facade.ts","../../src/lib/components/currency-symbol/currency-symbol.store.ts","../../src/lib/components/currency-symbol/currency-symbol.facade.ts","../../src/lib/components/isolated-modules-details/isolated-modules-details.store.ts","../../src/lib/components/isolated-modules-details/isolated-modules-details.facade.ts","../../src/lib/components/isolated-modules-list/isolated-modules-list.store.ts","../../src/lib/components/isolated-modules-list/isolated-modules-list.facade.ts","../../src/lib/pages/isolated-modules-list/isolated-modules-list.store.ts","../../src/lib/pages/isolated-modules-list/isolated-modules-list.facade.ts","../../src/public-api.ts","../../src/wallfree-dev-angular-ngrx.ts"],"sourcesContent":["import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { IonicModule } from '@ionic/angular'\nimport { TranslateModule } from '@ngx-translate/core'\nimport { QRCodeModule } from 'angularx-qrcode'\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, IonicModule, TranslateModule, QRCodeModule, FormsModule],\n exports: []\n})\nexport class ComponentsModule {}\n","import { NgModule } from '@angular/core'\nimport { StoreModule } from '@ngrx/store'\nimport { ComponentsModule } from './components/components.module'\n\n@NgModule({\n declarations: [],\n imports: [\n StoreModule.forFeature('shared', {}),\n ComponentsModule\n ],\n exports: [ComponentsModule]\n})\nexport class AirGapAngularNgRxModule {}\n","import { BaseFacade, UIAction, UIActionStatus, UiEventService } from '@wallfree-dev/angular-core'\nimport { ToastOptions } from '@ionic/core'\nimport { ComponentStore } from '@ngrx/component-store'\nimport { Store } from '@ngrx/store'\n\nexport interface FacadeTypes {\n Toast: any\n}\n\nexport abstract class BaseNgRxFacade<S extends Store | ComponentStore<any>, T extends FacadeTypes = any> extends BaseFacade {\n protected toastElement: HTMLIonToastElement | undefined\n\n constructor(protected readonly store: S, protected readonly uiEventService?: UiEventService) {\n super()\n }\n\n protected async showOrHideToast(toast: UIAction<T['Toast']> | undefined): Promise<void> {\n if (this.uiEventService === undefined) {\n return\n }\n\n // TODO: Move error sentries to common components and catch toast errors\n\n this.toastElement?.dismiss()\n if (toast?.status === UIActionStatus.PENDING) {\n const defaultToastOptions: ToastOptions = {\n duration: 3000,\n position: 'bottom'\n }\n this.toastElement = await this.uiEventService.getTranslatedToast({ ...defaultToastOptions, ...this.getToastData(toast.value) })\n this.toastElement.present()\n\n return this.toastElement.onWillDismiss().then(() => {\n this.onToastDismissed(toast)\n })\n } else {\n this.toastElement = undefined\n }\n }\n\n protected onToastDismissed(_toast: UIAction<T['Toast']>): void {\n throw new Error('`onToastDismissed` not implemented')\n }\n\n protected getToastData(_toast: T['Toast']): ToastOptions {\n throw new Error('`getToastData` not implemented')\n }\n}\n","import { DEFAULT_CURRENCY_SYMBOL_URL, FilesystemService, SymbolInput, SymbolValue } from '@wallfree-dev/angular-core'\nimport { Injectable } from '@angular/core'\nimport { ComponentStore, tapResponse } from '@ngrx/component-store'\nimport { Observable, Subscriber } from 'rxjs'\nimport { map, repeat, switchMap, withLatestFrom } from 'rxjs/operators'\n\nimport { CurrencySymbolState } from './currency-symbol.types'\n\nconst initialStore: CurrencySymbolState = {\n src: DEFAULT_CURRENCY_SYMBOL_URL,\n\n input: undefined,\n fallbackInput: undefined,\n inputs: []\n}\n\n@Injectable()\nexport class CurrencySymbolStore extends ComponentStore<CurrencySymbolState> {\n constructor(private readonly filesystemService: FilesystemService) {\n super(initialStore)\n }\n\n public readonly onError$ = this.effect((trigger$: Observable<void>) => {\n return trigger$.pipe(\n withLatestFrom(this.state$),\n switchMap(([, state]: [void, CurrencySymbolState]) => {\n return this.loadFallbackImage(state).pipe(\n map((value: SymbolValue) => {\n if (value.kind === 'lazy' && value.url === undefined) {\n return !state.fallbackInput || value.symbolInput === state.fallbackInput\n ? { kind: 'default' }\n : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } // try again with fallback symbol\n } else {\n return value\n }\n }),\n tapResponse(\n (value: SymbolValue) => this.setSrc(value),\n () => this.setSrc({ kind: 'default' })\n )\n )\n }),\n repeat()\n )\n })\n\n public readonly setInitialSrc = this.updater((state: CurrencySymbolState, inputs: SymbolInput[]) => {\n const input: SymbolInput | undefined = inputs[0]\n const fallbackInput: SymbolInput | undefined = inputs[1]\n\n return {\n ...state,\n src: input ? this.getSymbolAssetURL(input, 'svg') /* use .svg by default */ : state.src,\n fallbackType: input ? { kind: 'asset', symbolInput: input, extension: 'png' } /* use .png as a fallback */ : state.fallbackType,\n\n input,\n fallbackInput,\n inputs\n }\n })\n\n private readonly setSrc = this.updater((state: CurrencySymbolState, value: SymbolValue) => {\n switch (value.kind) {\n case 'default':\n return {\n ...state,\n src: DEFAULT_CURRENCY_SYMBOL_URL,\n\n input: undefined,\n fallbackInput: undefined\n }\n case 'asset':\n const { current: assetCurrent, fallback: assetFallback } = this.getNextInputs(state, value.symbolInput)\n\n return {\n ...state,\n src: this.getSymbolAssetURL(value.symbolInput, value.extension),\n fallbackType:\n value.extension === 'svg'\n ? { kind: 'asset', symbolInput: value.symbolInput, extension: 'png' } /* use .png as a fallback */\n : { kind: 'isolated', symbolInput: value.symbolInput } /* try loading external isolated image as a fallback */,\n\n input: assetCurrent,\n fallbackInput: assetFallback\n }\n case 'isolated':\n const { current: isolatedCurrent, fallback: isolatedFallback } = this.getNextInputs(state, value.symbolInput)\n\n return {\n ...state,\n src: value.url ?? '',\n fallbackType:\n !state.fallbackInput || value.symbolInput === state.fallbackInput\n ? { kind: 'lazy', symbolInput: value.symbolInput } /* try loading external image as a fallback */\n : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } /* try again with fallback symbol */,\n\n input: isolatedCurrent,\n fallbackInput: isolatedFallback\n }\n case 'lazy':\n const { current: lazyCurrent, fallback: lazyFallback } = this.getNextInputs(state, value.symbolInput)\n\n return {\n ...state,\n src: value.url ?? '',\n fallbackType:\n !state.fallbackInput || value.symbolInput === state.fallbackInput\n ? { kind: 'default' }\n : { kind: 'asset', symbolInput: state.fallbackInput, extension: 'svg' } /* try again with fallback symbol */,\n\n input: lazyCurrent,\n fallbackInput: lazyFallback\n }\n default:\n return state\n }\n })\n\n private getNextInputs(state: CurrencySymbolState, input?: SymbolInput): { current?: SymbolInput; fallback?: SymbolInput } {\n if (!input) {\n return {}\n }\n\n const index = state.inputs.indexOf(input)\n\n return index > -1 ? { current: state.inputs[index], fallback: state.inputs[index + 1] } : {}\n }\n\n private loadFallbackImage(state: CurrencySymbolState): Observable<SymbolValue> {\n return new Observable((subscriber: Subscriber<SymbolValue>) => {\n new Promise<void>(async (resolve, reject) => {\n try {\n subscriber.next({ kind: 'default' })\n if (state.fallbackType?.kind === 'asset') {\n subscriber.next({ kind: 'asset', symbolInput: state.fallbackType.symbolInput, extension: state.fallbackType.extension })\n } else if (state.fallbackType?.kind === 'isolated') {\n const imageURI: string | undefined = await this.loadIsolatedImage(state.fallbackType.symbolInput)\n subscriber.next({ kind: 'isolated', symbolInput: state.fallbackType.symbolInput, url: imageURI })\n } else if (state.fallbackType?.kind === 'lazy') {\n // try loading external image\n const imageURI: string | undefined = await this.loadLazyImage(state.fallbackType.symbolInput)\n subscriber.next({ kind: 'lazy', symbolInput: state.fallbackType.symbolInput, url: imageURI })\n } else {\n // no image was found for the symbol, use the generic image\n subscriber.next({ kind: 'default' })\n }\n\n resolve()\n } catch (error) {\n reject(error)\n }\n }).finally(() => {\n subscriber.complete()\n })\n })\n }\n\n private async loadIsolatedImage(symbolInput: SymbolInput): Promise<string | undefined> {\n return this.filesystemService.readIsolatedSymbol(symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLocaleLowerCase())\n }\n\n private async loadLazyImage(symbolInput: SymbolInput): Promise<string | undefined> {\n const imagePath: string = this.getSymbolImagePath(symbolInput)\n\n return this.filesystemService.readLazyImage(imagePath)\n }\n\n private getSymbolAssetURL(symbolInput: SymbolInput, extension: 'svg' | 'png'): string {\n return `./assets/symbols/${symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLowerCase()}.${extension}`\n }\n\n private getSymbolImagePath(symbolInput: SymbolInput): string {\n return `/images/symbols/${symbolInput.caseSensitive ? symbolInput.value : symbolInput.value.toLowerCase()}`\n }\n}\n","import { FilesystemService, ICurrencySymbolFacade, ProtocolService, SymbolInput } from '@wallfree-dev/angular-core'\nimport { ICoinProtocol, ProtocolSymbols } from '@wallfree-dev/coinlib-core'\nimport { Injectable, Injector } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { BaseNgRxFacade } from '../../base/base-ngrx.facade'\n\nimport { CurrencySymbolStore } from './currency-symbol.store'\n\n@Injectable()\nexport class CurrencySymbolNgRxFacade extends BaseNgRxFacade<CurrencySymbolStore> implements ICurrencySymbolFacade {\n public readonly symbolSrc$: Observable<string>\n\n constructor(store: CurrencySymbolStore, private readonly protocolService: ProtocolService) {\n super(store)\n this.symbolSrc$ = this.store.select((state) => state.src)\n }\n\n public initWithSymbol(symbol: string | undefined, protocolIdentifier: ProtocolSymbols | undefined): void {\n this.getSymbolInputs(symbol, protocolIdentifier)\n .then((symbolInputs: SymbolInput[]) => this.store.setInitialSrc(symbolInputs))\n .catch(console.error)\n }\n\n public onSymbolChanged(symbol: string | undefined, protocolIdentifier: ProtocolSymbols | undefined): void {\n this.getSymbolInputs(symbol, protocolIdentifier)\n .then((symbolInputs: SymbolInput[]) => this.store.setInitialSrc(symbolInputs))\n .catch(console.error)\n }\n\n public onError(_symbol: string | undefined, _protocolIdentifier: ProtocolSymbols | undefined, _src?: string): void {\n this.store.onError$()\n }\n\n private async getSymbolInputs(symbol: string | undefined, protocolIdentifier: ProtocolSymbols | undefined): Promise<SymbolInput[]> {\n let assetSymbol: string | undefined\n try {\n const protocol: ICoinProtocol = await this.protocolService.getProtocol(protocolIdentifier)\n const [protocolSymbol, protocolAssetSymbol]: [string, string | undefined] = await Promise.all([\n protocol.getSymbol(),\n protocol.getAssetSymbol()\n ])\n\n assetSymbol = protocolSymbol.toLowerCase() === symbol.toLowerCase() ? protocolAssetSymbol : undefined\n } catch (e) {\n console.warn(e)\n }\n\n assetSymbol = assetSymbol ?? symbol\n\n const symbolInput: SymbolInput | undefined = assetSymbol ? { value: assetSymbol, caseSensitive: false } : undefined\n const protocolIdentifierInput: SymbolInput | undefined = protocolIdentifier\n ? { value: protocolIdentifier, caseSensitive: true }\n : undefined\n\n const symbolInputs: (SymbolInput | undefined)[] =\n protocolIdentifier && this.protocolService.isKnownProtocolSymbol(protocolIdentifier)\n ? [symbolInput, protocolIdentifierInput]\n : [protocolIdentifierInput, symbolInput]\n\n return symbolInputs.filter((symbolInputOrUndefined: SymbolInput | undefined) => symbolInputOrUndefined !== undefined)\n }\n}\n\nexport const currencySymbolNgRxFacade = (injector: Injector): CurrencySymbolNgRxFacade => {\n return new CurrencySymbolNgRxFacade(new CurrencySymbolStore(injector.get(FilesystemService)), injector.get(ProtocolService))\n}\n","import {\n IsolatedModuleManifest,\n IsolatedModuleMetadata,\n IsolatedModulePreviewMetadata,\n IsolatedModulesPlugin,\n ISOLATED_MODULES_PLUGIN,\n UIResourceStatus,\n VerifyDynamicModuleResult\n} from '@wallfree-dev/angular-core'\nimport { Inject, Injectable } from '@angular/core'\nimport { ComponentStore } from '@ngrx/component-store'\nimport { from, Observable, of } from 'rxjs'\nimport { first, map, switchMap, tap } from 'rxjs/operators'\nimport { IsolatedModulesDetailsState } from './isolated-modules-details.types'\n\nconst initialState: IsolatedModulesDetailsState = {\n manifest: {\n status: UIResourceStatus.IDLE,\n value: undefined\n },\n path: {\n status: UIResourceStatus.IDLE,\n value: undefined\n },\n isVerified: {\n status: UIResourceStatus.IDLE,\n value: undefined\n }\n}\n\n@Injectable()\nexport class IsolatedModulesDetailsStore extends ComponentStore<IsolatedModulesDetailsState> {\n constructor(@Inject(ISOLATED_MODULES_PLUGIN) private readonly isolatedModules: IsolatedModulesPlugin) {\n super(initialState)\n }\n\n public readonly loadModuleData = this.effect((metadata$: Observable<IsolatedModuleMetadata>) => {\n return metadata$.pipe(\n switchMap((metadata) =>\n metadata.type === 'preview'\n ? from(this.verifyModule(metadata)).pipe(\n first(),\n map((isVerified: boolean) => ({ manifest: metadata.manifest, isVerified }))\n )\n : of({ manifest: metadata.manifest, isVerified: true })\n ),\n tap({\n next: ({ manifest, isVerified }) => this.setData({ manifest, isVerified }),\n error: () => this.onError()\n })\n )\n })\n\n private readonly setData = this.updater(\n (state: IsolatedModulesDetailsState, data: { manifest: IsolatedModuleManifest; isVerified: boolean }) => {\n return {\n ...state,\n manifest: {\n status: UIResourceStatus.SUCCESS,\n value: data.manifest\n },\n isVerified: {\n status: UIResourceStatus.SUCCESS,\n value: data.isVerified\n }\n }\n }\n )\n\n private readonly onError = this.updater((state: IsolatedModulesDetailsState) => {\n return {\n ...state,\n manifest: {\n status: UIResourceStatus.ERROR,\n value: state.manifest.value\n },\n isVerified: {\n status: UIResourceStatus.ERROR,\n value: state.isVerified.value\n }\n }\n })\n\n private async verifyModule(metadata: IsolatedModulePreviewMetadata): Promise<boolean> {\n const { verified }: VerifyDynamicModuleResult = await this.isolatedModules.verifyDynamicModule({\n path: `${metadata.path}/${metadata.root}`.replace(/\\/+$/, ''),\n directory: metadata.directory\n })\n\n return verified\n }\n}\n","import {\n IIsolatedModulesListDetails,\n IsolatedModuleManifest,\n IsolatedModuleMetadata,\n IsolatedModulesDetailsFacade,\n ISOLATED_MODULES_PLUGIN,\n UIResource\n} from '@wallfree-dev/angular-core'\nimport { Injectable, Injector } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { BaseNgRxFacade } from '../../base/base-ngrx.facade'\nimport { IsolatedModulesDetailsStore } from './isolated-modules-details.store'\n\n@Injectable()\nexport class IsolatedModulesDetailsNgRxFacade extends BaseNgRxFacade<IsolatedModulesDetailsStore> implements IIsolatedModulesListDetails {\n public readonly manifest$: Observable<UIResource<IsolatedModuleManifest>>\n public readonly isVerified$: Observable<UIResource<boolean>>\n\n constructor(store: IsolatedModulesDetailsStore) {\n super(store)\n\n this.manifest$ = this.store.select((state) => state.manifest)\n this.isVerified$ = this.store.select((state) => state.isVerified)\n }\n\n public initWithData(metadata: IsolatedModuleMetadata): void {\n this.store.loadModuleData(metadata)\n }\n\n public onDataChanged(metadata: IsolatedModuleMetadata): void {\n this.store.loadModuleData(metadata)\n }\n}\n\nexport const isolatedModulesDetailsNgRxFacade = (injector: Injector): IsolatedModulesDetailsFacade => {\n return new IsolatedModulesDetailsNgRxFacade(new IsolatedModulesDetailsStore(injector.get(ISOLATED_MODULES_PLUGIN)))\n}\n","import { IsolatedModuleMetadata, UIResource, UIResourceStatus } from '@wallfree-dev/angular-core'\nimport { Injectable } from '@angular/core'\nimport { ComponentStore } from '@ngrx/component-store'\nimport { IsolatedModulesListState } from './isolated-modules-list.types'\n\nconst initialState: IsolatedModulesListState = {\n allModules: {\n status: UIResourceStatus.IDLE,\n value: []\n },\n filteredModules: {\n status: UIResourceStatus.IDLE,\n value: []\n }\n}\n\n@Injectable()\nexport class IsolatedModulesListStore extends ComponentStore<IsolatedModulesListState> {\n constructor() {\n super(initialState)\n }\n\n public readonly setModules = this.updater(\n (state: IsolatedModulesListState, data: { modules: UIResource<IsolatedModuleMetadata[]>; query?: string }) => {\n return {\n ...state,\n allModules: {\n status: data.modules.status,\n value: data.modules.value\n },\n filteredModules: {\n status: data.modules.status,\n value: this.filterModulesByNameOrAuthor(data.modules.value ?? [], data.query)\n }\n }\n }\n )\n\n public readonly filterModules = this.updater((state: IsolatedModulesListState, query: string | undefined) => {\n return {\n ...state,\n filteredModules: {\n status: state.allModules.status,\n value: this.filterModulesByNameOrAuthor(state.allModules.value ?? [], query)\n }\n }\n })\n\n private filterModulesByNameOrAuthor(modules: IsolatedModuleMetadata[], query: string | undefined): IsolatedModuleMetadata[] {\n return query\n ? modules.filter((module: IsolatedModuleMetadata) => {\n return (\n module.manifest.name.toLowerCase().includes(query.toLowerCase()) ||\n module.manifest.author.toLowerCase().includes(query.toLowerCase())\n )\n })\n : modules\n }\n}\n","import { IIsolatedModulesListFacade, IsolatedModuleMetadata, IsolatedModulesListFacade, UIResource } from '@wallfree-dev/angular-core'\nimport { Injectable, Injector } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { BaseNgRxFacade } from '../../base/base-ngrx.facade'\nimport { IsolatedModulesListStore } from './isolated-modules-list.store'\nimport { IsolatedModulesListState } from './isolated-modules-list.types'\n\n@Injectable()\nexport class IsolatedModulesListNgRxFacade extends BaseNgRxFacade<IsolatedModulesListStore> implements IIsolatedModulesListFacade {\n public readonly modules$: Observable<UIResource<IsolatedModuleMetadata[]>>\n\n constructor(store: IsolatedModulesListStore) {\n super(store)\n\n this.modules$ = this.store.select((state: IsolatedModulesListState) => state.filteredModules)\n }\n\n public updateModules(modules: UIResource<IsolatedModuleMetadata[]>, query: string): void {\n this.store.setModules({ modules, query })\n }\n\n public filterModules(query: string | undefined): void {\n this.store.filterModules(query)\n }\n}\n\nexport const isolatedModulesListNgRxFacade = (_injector: Injector): IsolatedModulesListFacade => {\n return new IsolatedModulesListNgRxFacade(new IsolatedModulesListStore())\n}\n","import { BaseModulesService, IsolatedModuleMetadata, UIResourceStatus } from '@wallfree-dev/angular-core'\nimport { ComponentStore, tapResponse } from '@ngrx/component-store'\nimport { from, Observable } from 'rxjs'\nimport { first, switchMap, tap } from 'rxjs/operators'\nimport { IsolatedModulesListPageState } from './isolated-modules-list.types'\n\nconst initialState: IsolatedModulesListPageState = {\n modules: {\n status: UIResourceStatus.IDLE,\n value: []\n },\n filter: undefined\n}\n\nexport class IsolatedModulesListPageStore extends ComponentStore<IsolatedModulesListPageState> {\n constructor(private readonly modulesService: BaseModulesService) {\n super(initialState)\n }\n\n public readonly onPageLoaded$ = this.effect((trigger$: Observable<void>) => {\n return trigger$.pipe(\n tap(() => this.onModulesLoading()),\n switchMap(() => from(this.loadModules()).pipe(first())),\n tapResponse(\n (value: IsolatedModuleMetadata[]) => this.setModules(value),\n () => this.onModulesLoadingError()\n )\n )\n })\n\n public readonly setModules = this.updater((state: IsolatedModulesListPageState, modules: IsolatedModuleMetadata[]) => {\n return {\n ...state,\n modules: {\n status: UIResourceStatus.SUCCESS,\n value: modules\n }\n }\n })\n\n public readonly onModulesLoading = this.updater((state: IsolatedModulesListPageState) => {\n return {\n ...state,\n modules: {\n status: UIResourceStatus.LOADING,\n value: state.modules.value\n }\n }\n })\n\n public readonly onModulesLoadingError = this.updater((state: IsolatedModulesListPageState) => {\n return {\n ...state,\n modules: {\n status: UIResourceStatus.ERROR,\n value: state.modules.value\n }\n }\n })\n\n public readonly setFilterQuery = this.updater((state: IsolatedModulesListPageState, query: string | undefined) => {\n return {\n ...state,\n filter: query\n }\n })\n\n private async loadModules(): Promise<IsolatedModuleMetadata[]> {\n return this.modulesService.getModulesMetadata()\n }\n}\n","import { BaseModulesService, IsolatedModuleMetadata, IsolatedModulesListPageFacade, UiEventService, UIResource } from '@wallfree-dev/angular-core'\nimport { Injector } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { BaseNgRxFacade } from '../../base/base-ngrx.facade'\n\nimport { IsolatedModulesListPageStore } from './isolated-modules-list.store'\nimport { IsolatedModulesListPageState } from './isolated-modules-list.types'\n\nexport class IsolatedModulesListPageNgRxFacade\n extends BaseNgRxFacade<IsolatedModulesListPageStore>\n implements IsolatedModulesListPageFacade\n{\n public readonly modules$: Observable<UIResource<IsolatedModuleMetadata[]>>\n public readonly filter$: Observable<string | undefined>\n\n constructor(store: IsolatedModulesListPageStore, uiEventService: UiEventService) {\n super(store, uiEventService)\n\n this.modules$ = this.store.select((state: IsolatedModulesListPageState) => state.modules)\n this.filter$ = this.store.select((state: IsolatedModulesListPageState) => state.filter)\n }\n\n public onViewInit() {\n this.store.onPageLoaded$()\n\n return super.onViewInit()\n }\n\n public onViewWillEnter(): void {\n this.store.onPageLoaded$()\n }\n\n public onFilterQueryChanged(query: string | undefined): void {\n this.store.setFilterQuery(query)\n }\n}\n\nexport const isolatedModulesListPageNgRxFacade = (injector: Injector): IsolatedModulesListPageFacade => {\n return new IsolatedModulesListPageNgRxFacade(\n new IsolatedModulesListPageStore(injector.get(BaseModulesService)),\n injector.get(UiEventService)\n )\n}\n","/*\n * Public API Surface of ngrx\n */\n\n// NgRx module\nexport * from './lib/airgap-angular-ngrx.module'\n\n// Base\nexport * from './lib/base/base-ngrx.facade'\n\n// Components\nexport * from './lib/components/components.module'\nexport * from './lib/components/currency-symbol/currency-symbol.facade'\nexport * from './lib/components/isolated-modules-details/isolated-modules-details.facade'\nexport * from './lib/components/isolated-modules-list/isolated-modules-list.facade'\n\n// Pages\nexport * from './lib/pages/isolated-modules-list/isolated-modules-list.facade'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.CurrencySymbolStore","i2","initialState","i1.IsolatedModulesDetailsStore","i1.IsolatedModulesListStore"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@wallfree-dev/angular-ngrx" />
5
+ export * from './public-api';
6
+ //# sourceMappingURL=wallfree-dev-angular-ngrx.d.ts.map
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@ngrx/store";
3
+ import * as i2 from "./components/components.module";
4
+ export declare class AirGapAngularNgRxModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<AirGapAngularNgRxModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AirGapAngularNgRxModule, never, [typeof i1.StoreFeatureModule, typeof i2.ComponentsModule], [typeof i2.ComponentsModule]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<AirGapAngularNgRxModule>;
8
+ }
9
+ //# sourceMappingURL=airgap-angular-ngrx.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airgap-angular-ngrx.module.d.ts","sourceRoot":"","sources":["../../src/lib/airgap-angular-ngrx.module.ts"],"names":[],"mappings":";;;AAIA,qBAQa,uBAAuB;yCAAvB,uBAAuB;0CAAvB,uBAAuB;0CAAvB,uBAAuB;CAAG"}