@equinor/fusion-framework-module-context 0.0.0-context-error-20240131144633

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 (61) hide show
  1. package/CHANGELOG.md +522 -0
  2. package/LICENSE +21 -0
  3. package/dist/esm/ContextConfigBuilder.js +79 -0
  4. package/dist/esm/ContextConfigBuilder.js.map +1 -0
  5. package/dist/esm/ContextProvider.js +279 -0
  6. package/dist/esm/ContextProvider.js.map +1 -0
  7. package/dist/esm/client/ContextClient.js +62 -0
  8. package/dist/esm/client/ContextClient.js.map +1 -0
  9. package/dist/esm/configurator.js +86 -0
  10. package/dist/esm/configurator.js.map +1 -0
  11. package/dist/esm/errors.js +26 -0
  12. package/dist/esm/errors.js.map +1 -0
  13. package/dist/esm/index.js +6 -0
  14. package/dist/esm/index.js.map +1 -0
  15. package/dist/esm/module.js +55 -0
  16. package/dist/esm/module.js.map +1 -0
  17. package/dist/esm/selectors.js +44 -0
  18. package/dist/esm/selectors.js.map +1 -0
  19. package/dist/esm/types.js +2 -0
  20. package/dist/esm/types.js.map +1 -0
  21. package/dist/esm/utils/enable-context.js +10 -0
  22. package/dist/esm/utils/enable-context.js.map +1 -0
  23. package/dist/esm/utils/index.js +3 -0
  24. package/dist/esm/utils/index.js.map +1 -0
  25. package/dist/esm/utils/resolve-context-from-path.js +17 -0
  26. package/dist/esm/utils/resolve-context-from-path.js.map +1 -0
  27. package/dist/esm/utils/resolve-initial-context.js +16 -0
  28. package/dist/esm/utils/resolve-initial-context.js.map +1 -0
  29. package/dist/esm/version.js +2 -0
  30. package/dist/esm/version.js.map +1 -0
  31. package/dist/tsconfig.tsbuildinfo +1 -0
  32. package/dist/types/ContextConfigBuilder.d.ts +25 -0
  33. package/dist/types/ContextProvider.d.ts +99 -0
  34. package/dist/types/client/ContextClient.d.ts +22 -0
  35. package/dist/types/configurator.d.ts +41 -0
  36. package/dist/types/errors.d.ts +8 -0
  37. package/dist/types/index.d.ts +5 -0
  38. package/dist/types/module.d.ts +20 -0
  39. package/dist/types/selectors.d.ts +4 -0
  40. package/dist/types/types.d.ts +34 -0
  41. package/dist/types/utils/enable-context.d.ts +4 -0
  42. package/dist/types/utils/index.d.ts +2 -0
  43. package/dist/types/utils/resolve-context-from-path.d.ts +8 -0
  44. package/dist/types/utils/resolve-initial-context.d.ts +7 -0
  45. package/dist/types/version.d.ts +1 -0
  46. package/package.json +65 -0
  47. package/src/ContextConfigBuilder.ts +131 -0
  48. package/src/ContextProvider.ts +555 -0
  49. package/src/client/ContextClient.ts +71 -0
  50. package/src/configurator.ts +158 -0
  51. package/src/errors.ts +19 -0
  52. package/src/index.ts +18 -0
  53. package/src/module.ts +91 -0
  54. package/src/selectors.ts +41 -0
  55. package/src/types.ts +33 -0
  56. package/src/utils/enable-context.ts +31 -0
  57. package/src/utils/index.ts +2 -0
  58. package/src/utils/resolve-context-from-path.ts +34 -0
  59. package/src/utils/resolve-initial-context.ts +29 -0
  60. package/src/version.ts +2 -0
  61. package/tsconfig.json +33 -0
@@ -0,0 +1,279 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
15
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
16
+ if (kind === "m") throw new TypeError("Private method is not writable");
17
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
18
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
19
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
20
+ };
21
+ var _ContextProvider_contextClient, _ContextProvider_contextQuery, _ContextProvider_contextRelated, _ContextProvider_event, _ContextProvider_subscriptions, _ContextProvider_contextType, _ContextProvider_contextFilter, _ContextProvider_contextParameterFn, _ContextProvider_contextQueue;
22
+ import { EMPTY, lastValueFrom, Observable, of, Subject, Subscription, throwError } from 'rxjs';
23
+ import { catchError, filter, finalize, map, pairwise, switchMap, takeUntil, tap, } from 'rxjs/operators';
24
+ import { ContextClient } from './client/ContextClient';
25
+ import Query from '@equinor/fusion-query';
26
+ export class ContextProvider {
27
+ get contextClient() {
28
+ return __classPrivateFieldGet(this, _ContextProvider_contextClient, "f");
29
+ }
30
+ get queryClient() {
31
+ return __classPrivateFieldGet(this, _ContextProvider_contextQuery, "f");
32
+ }
33
+ get currentContext$() {
34
+ return __classPrivateFieldGet(this, _ContextProvider_contextClient, "f").currentContext$;
35
+ }
36
+ get currentContext() {
37
+ return __classPrivateFieldGet(this, _ContextProvider_contextClient, "f").currentContext;
38
+ }
39
+ set currentContext(context) {
40
+ console.warn('@deprecated', 'ContextProvider.currentContext', 'use setCurrentContextById|setCurrentContext|clearCurrentContext');
41
+ if (context === undefined) {
42
+ throw Error('not allowed to set current context as undefined undefined!');
43
+ }
44
+ this.setCurrentContextAsync(context);
45
+ }
46
+ constructor(args) {
47
+ var _a, _b, _c;
48
+ _ContextProvider_contextClient.set(this, void 0);
49
+ _ContextProvider_contextQuery.set(this, void 0);
50
+ _ContextProvider_contextRelated.set(this, void 0);
51
+ _ContextProvider_event.set(this, void 0);
52
+ _ContextProvider_subscriptions.set(this, new Subscription());
53
+ _ContextProvider_contextType.set(this, void 0);
54
+ _ContextProvider_contextFilter.set(this, void 0);
55
+ _ContextProvider_contextParameterFn.set(this, void 0);
56
+ _ContextProvider_contextQueue.set(this, new Subject());
57
+ const { config, event } = args;
58
+ if (args.parentContext) {
59
+ console.warn('@deprecated', 'parentContext as arg is deprecated, use ContextProvider.connectParentContext');
60
+ }
61
+ __classPrivateFieldSet(this, _ContextProvider_event, event, "f");
62
+ config.resolveContext && (this.resolveContext = (_a = config.resolveContext) === null || _a === void 0 ? void 0 : _a.bind(this));
63
+ config.validateContext && (this.validateContext = (_b = config.validateContext) === null || _b === void 0 ? void 0 : _b.bind(this));
64
+ __classPrivateFieldSet(this, _ContextProvider_contextType, config.contextType, "f");
65
+ __classPrivateFieldSet(this, _ContextProvider_contextFilter, config.contextFilter, "f");
66
+ __classPrivateFieldSet(this, _ContextProvider_contextClient, new ContextClient(config.client.get), "f");
67
+ __classPrivateFieldSet(this, _ContextProvider_contextQuery, new Query(config.client.query), "f");
68
+ if (config.client.related) {
69
+ __classPrivateFieldSet(this, _ContextProvider_contextRelated, new Query(config.client.related), "f");
70
+ }
71
+ __classPrivateFieldSet(this, _ContextProvider_contextParameterFn, (_c = config.contextParameterFn) !== null && _c !== void 0 ? _c : ((args) => ({
72
+ search: args.search,
73
+ filter: { type: args.type },
74
+ })), "f");
75
+ if (__classPrivateFieldGet(this, _ContextProvider_event, "f")) {
76
+ __classPrivateFieldGet(this, _ContextProvider_subscriptions, "f").add(this.currentContext$.pipe(pairwise()).subscribe(([previous, next]) => {
77
+ var _a;
78
+ (_a = __classPrivateFieldGet(this, _ContextProvider_event, "f")) === null || _a === void 0 ? void 0 : _a.dispatchEvent('onCurrentContextChanged', {
79
+ source: this,
80
+ canBubble: true,
81
+ detail: { previous, next },
82
+ });
83
+ }));
84
+ __classPrivateFieldGet(this, _ContextProvider_subscriptions, "f").add(__classPrivateFieldGet(this, _ContextProvider_event, "f").addEventListener('onCurrentContextChanged', (e) => {
85
+ if (e.source !== this && e.detail.next !== undefined) {
86
+ this.setCurrentContext(e.detail.next);
87
+ }
88
+ }));
89
+ }
90
+ __classPrivateFieldGet(this, _ContextProvider_subscriptions, "f").add(__classPrivateFieldGet(this, _ContextProvider_contextQueue, "f")
91
+ .pipe(switchMap((next) => next), tap((x) => console.debug('ContextProvider::#contextQueue', x)))
92
+ .subscribe((context) => __classPrivateFieldGet(this, _ContextProvider_contextClient, "f").setCurrentContext(context !== null && context !== void 0 ? context : null)));
93
+ }
94
+ connectParentContext(provider, opt) {
95
+ const parentContext$ = provider.currentContext$.pipe(filter((x) => x !== undefined), filter((next, index) => {
96
+ var _a;
97
+ if ((opt === null || opt === void 0 ? void 0 : opt.skipFirst) && index <= 1) {
98
+ console.debug('ContextProvider::connectParentContext', 'skipping first item', next);
99
+ return false;
100
+ }
101
+ return ((_a = this.currentContext) === null || _a === void 0 ? void 0 : _a.id) !== (next === null || next === void 0 ? void 0 : next.id);
102
+ }), switchMap((next) => __awaiter(this, void 0, void 0, function* () {
103
+ var _a;
104
+ if (next) {
105
+ const onParentContextChanged = yield ((_a = __classPrivateFieldGet(this, _ContextProvider_event, "f")) === null || _a === void 0 ? void 0 : _a.dispatchEvent('onParentContextChanged', {
106
+ source: this,
107
+ detail: next,
108
+ cancelable: true,
109
+ }));
110
+ return { next, canceled: onParentContextChanged === null || onParentContextChanged === void 0 ? void 0 : onParentContextChanged.canceled };
111
+ }
112
+ return { next };
113
+ })), filter((x) => !x.canceled), switchMap(({ next }) => {
114
+ return this.setCurrentContext(next, {
115
+ validate: true,
116
+ resolve: true,
117
+ }).pipe(catchError((err) => {
118
+ console.warn('ContextProvider::onParentContextChanged', 'setCurrentContext', err);
119
+ return EMPTY;
120
+ }));
121
+ }), catchError((err) => {
122
+ console.warn('ContextProvider::onParentContextChanged', 'unhandled exception', err);
123
+ return EMPTY;
124
+ }));
125
+ const subscription = parentContext$.subscribe();
126
+ __classPrivateFieldGet(this, _ContextProvider_subscriptions, "f").add(subscription);
127
+ return subscription;
128
+ }
129
+ setCurrentContextById(id) {
130
+ return new Observable((subscriber) => {
131
+ try {
132
+ __classPrivateFieldGet(this, _ContextProvider_contextClient, "f")
133
+ .resolveContext(id)
134
+ .pipe(filter((item) => !!item), switchMap((item) => this.setCurrentContext(item)))
135
+ .subscribe(subscriber);
136
+ }
137
+ catch (err) {
138
+ subscriber.error(err);
139
+ }
140
+ });
141
+ }
142
+ setCurrentContextByIdAsync(id) {
143
+ return lastValueFrom(this.setCurrentContextById(id));
144
+ }
145
+ setCurrentContext(context, opt) {
146
+ const abort$ = new Subject();
147
+ const subject$ = new Subject();
148
+ const task$ = this._setCurrentContext(context, opt).pipe(tap((x) => subject$.next(x)), takeUntil(abort$), finalize(() => subject$.complete()), catchError((err) => {
149
+ subject$.error(err);
150
+ return EMPTY;
151
+ }));
152
+ __classPrivateFieldGet(this, _ContextProvider_contextQueue, "f").next(task$);
153
+ return subject$.pipe(finalize(() => abort$.next(true)));
154
+ }
155
+ _setCurrentContext(context, opt) {
156
+ return new Observable((subscriber) => {
157
+ var _a;
158
+ if (context === this.currentContext) {
159
+ subscriber.next(context);
160
+ return subscriber.complete();
161
+ }
162
+ if (context && (opt === null || opt === void 0 ? void 0 : opt.validate) && !this.validateContext(context)) {
163
+ if (!opt.resolve) {
164
+ (_a = __classPrivateFieldGet(this, _ContextProvider_event, "f")) === null || _a === void 0 ? void 0 : _a.dispatchEvent('onSetContextValidationFailed', {
165
+ source: this,
166
+ detail: { context },
167
+ });
168
+ return subscriber.error(Error('failed to validate provided context'));
169
+ }
170
+ if (opt.resolve) {
171
+ return of(context)
172
+ .pipe(switchMap((context) => __awaiter(this, void 0, void 0, function* () {
173
+ var _b;
174
+ const event = yield ((_b = __classPrivateFieldGet(this, _ContextProvider_event, "f")) === null || _b === void 0 ? void 0 : _b.dispatchEvent('onSetContextResolve', {
175
+ source: this,
176
+ cancelable: true,
177
+ detail: { context },
178
+ }));
179
+ if (event === null || event === void 0 ? void 0 : event.canceled) {
180
+ throw Error('resolving of context was canceled');
181
+ }
182
+ return context;
183
+ })), switchMap((context) => this.resolveContext(context).pipe(map((resolved) => ({
184
+ context,
185
+ resolved,
186
+ })))), switchMap(({ context, resolved }) => __awaiter(this, void 0, void 0, function* () {
187
+ var _c;
188
+ const event = yield ((_c = __classPrivateFieldGet(this, _ContextProvider_event, "f")) === null || _c === void 0 ? void 0 : _c.dispatchEvent('onSetContextResolved', {
189
+ source: this,
190
+ cancelable: true,
191
+ detail: { context, resolved },
192
+ }));
193
+ if (event === null || event === void 0 ? void 0 : event.canceled) {
194
+ throw Error('resolving of context was canceled');
195
+ }
196
+ return resolved;
197
+ })), switchMap((resolved) => this._setCurrentContext(resolved)))
198
+ .subscribe(subscriber);
199
+ }
200
+ }
201
+ return of(context)
202
+ .pipe(switchMap((context) => __awaiter(this, void 0, void 0, function* () {
203
+ var _d;
204
+ const event = yield ((_d = __classPrivateFieldGet(this, _ContextProvider_event, "f")) === null || _d === void 0 ? void 0 : _d.dispatchEvent('onCurrentContextChange', {
205
+ source: this,
206
+ canBubble: true,
207
+ cancelable: true,
208
+ detail: { context: context },
209
+ }));
210
+ if (event === null || event === void 0 ? void 0 : event.canceled) {
211
+ throw Error('change of context was aborted');
212
+ }
213
+ return context;
214
+ })))
215
+ .subscribe((context) => {
216
+ subscriber.next(context);
217
+ subscriber.complete();
218
+ });
219
+ });
220
+ }
221
+ setCurrentContextAsync(context, opt) {
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ return lastValueFrom(this.setCurrentContext(context, opt));
224
+ });
225
+ }
226
+ queryContext(search) {
227
+ const query$ = this.queryClient
228
+ .query(__classPrivateFieldGet(this, _ContextProvider_contextParameterFn, "f").call(this, { search, type: __classPrivateFieldGet(this, _ContextProvider_contextType, "f") }))
229
+ .pipe(map((x) => x.value));
230
+ return __classPrivateFieldGet(this, _ContextProvider_contextFilter, "f") ? query$.pipe(map(__classPrivateFieldGet(this, _ContextProvider_contextFilter, "f"))) : query$;
231
+ }
232
+ queryContextAsync(search) {
233
+ return lastValueFrom(this.queryContext(search));
234
+ }
235
+ validateContext(item) {
236
+ if (!__classPrivateFieldGet(this, _ContextProvider_contextType, "f"))
237
+ return true;
238
+ return __classPrivateFieldGet(this, _ContextProvider_contextType, "f").map((x) => x.toLowerCase()).includes(item.type.id.toLowerCase());
239
+ }
240
+ resolveContext(item) {
241
+ return this.relatedContexts({ item, filter: { type: __classPrivateFieldGet(this, _ContextProvider_contextType, "f") } }).pipe(map((x) => x.filter((item) => this.validateContext(item))), map((values) => {
242
+ const value = values.shift();
243
+ if (!value) {
244
+ throw Error('failed to resolve context');
245
+ }
246
+ if (values.length) {
247
+ console.warn('ContextProvider::relatedContext', 'multiple items found 🤣', values);
248
+ }
249
+ return value;
250
+ }));
251
+ }
252
+ resolveContextAsync(item) {
253
+ return lastValueFrom(this.resolveContext(item));
254
+ }
255
+ relatedContexts(args) {
256
+ if (!__classPrivateFieldGet(this, _ContextProvider_contextRelated, "f")) {
257
+ return throwError(() => Error('ContextProvider::relatedContexts - no client defined for resolving related context'));
258
+ }
259
+ return __classPrivateFieldGet(this, _ContextProvider_contextRelated, "f").query(args).pipe(map(({ value }) => value), catchError((err) => {
260
+ if (err.cause) {
261
+ throw err.cause;
262
+ }
263
+ throw err;
264
+ }));
265
+ }
266
+ relatedContextsAsync(args) {
267
+ return lastValueFrom(this.relatedContexts(args));
268
+ }
269
+ clearCurrentContext() {
270
+ this.setCurrentContext(null);
271
+ }
272
+ dispose() {
273
+ __classPrivateFieldGet(this, _ContextProvider_subscriptions, "f").unsubscribe();
274
+ __classPrivateFieldGet(this, _ContextProvider_contextClient, "f").dispose();
275
+ }
276
+ }
277
+ _ContextProvider_contextClient = new WeakMap(), _ContextProvider_contextQuery = new WeakMap(), _ContextProvider_contextRelated = new WeakMap(), _ContextProvider_event = new WeakMap(), _ContextProvider_subscriptions = new WeakMap(), _ContextProvider_contextType = new WeakMap(), _ContextProvider_contextFilter = new WeakMap(), _ContextProvider_contextParameterFn = new WeakMap(), _ContextProvider_contextQueue = new WeakMap();
278
+ export default ContextProvider;
279
+ //# sourceMappingURL=ContextProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextProvider.js","sourceRoot":"","sources":["../../src/ContextProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _ContextClient_client, _ContextClient_currentContext$;
13
+ import { Observable, BehaviorSubject, EMPTY, lastValueFrom, firstValueFrom } from 'rxjs';
14
+ import { catchError, map } from 'rxjs/operators';
15
+ import equal from 'fast-deep-equal';
16
+ import { Query } from '@equinor/fusion-query';
17
+ export class ContextClient extends Observable {
18
+ get currentContext() {
19
+ return __classPrivateFieldGet(this, _ContextClient_currentContext$, "f").value;
20
+ }
21
+ get currentContext$() {
22
+ return __classPrivateFieldGet(this, _ContextClient_currentContext$, "f").asObservable();
23
+ }
24
+ get client() {
25
+ return __classPrivateFieldGet(this, _ContextClient_client, "f");
26
+ }
27
+ constructor(options) {
28
+ super((observer) => __classPrivateFieldGet(this, _ContextClient_currentContext$, "f").subscribe(observer));
29
+ _ContextClient_client.set(this, void 0);
30
+ _ContextClient_currentContext$.set(this, void 0);
31
+ __classPrivateFieldSet(this, _ContextClient_client, new Query(options), "f");
32
+ __classPrivateFieldSet(this, _ContextClient_currentContext$, new BehaviorSubject(undefined), "f");
33
+ }
34
+ setCurrentContext(idOrItem) {
35
+ if (typeof idOrItem === 'string') {
36
+ this.resolveContext(idOrItem)
37
+ .pipe(catchError(() => EMPTY))
38
+ .subscribe((value) => this.setCurrentContext(value));
39
+ }
40
+ else if (!equal(idOrItem, __classPrivateFieldGet(this, _ContextClient_currentContext$, "f").value)) {
41
+ __classPrivateFieldGet(this, _ContextClient_currentContext$, "f").next(idOrItem);
42
+ }
43
+ }
44
+ resolveContext(id) {
45
+ return __classPrivateFieldGet(this, _ContextClient_client, "f").query({ id }).pipe(map((x) => x.value), catchError((err) => {
46
+ if (err.cause) {
47
+ throw err.cause;
48
+ }
49
+ throw err;
50
+ }));
51
+ }
52
+ resolveContextAsync(id, opt) {
53
+ const fn = (opt === null || opt === void 0 ? void 0 : opt.awaitResolve) ? lastValueFrom : firstValueFrom;
54
+ return fn(this.resolveContext(id));
55
+ }
56
+ dispose() {
57
+ __classPrivateFieldGet(this, _ContextClient_currentContext$, "f").complete();
58
+ }
59
+ }
60
+ _ContextClient_client = new WeakMap(), _ContextClient_currentContext$ = new WeakMap();
61
+ export default ContextClient;
62
+ //# sourceMappingURL=ContextClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextClient.js","sourceRoot":"","sources":["../../../src/client/ContextClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAoB,MAAM,uBAAuB,CAAC;AAMhE,MAAM,OAAO,aAAc,SAAQ,UAA8B;IAK7D,IAAI,cAAc;QACd,OAAO,uBAAA,IAAI,sCAAiB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,eAAe;QACf,OAAO,uBAAA,IAAI,sCAAiB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,uBAAA,IAAI,6BAAQ,CAAC;IACxB,CAAC;IAED,YAAY,OAA4D;QACpE,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,uBAAA,IAAI,sCAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAjBnE,wCAA4C;QAE5C,iDAAkE;QAgB9D,uBAAA,IAAI,yBAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,CAAC;QAClC,uBAAA,IAAI,kCAAoB,IAAI,eAAe,CAAiC,SAAS,CAAC,MAAA,CAAC;IAC3F,CAAC;IAEM,iBAAiB,CAAC,QAAsC;QAC3D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAE/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;iBAExB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;iBAC7B,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,uBAAA,IAAI,sCAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,uBAAA,IAAI,sCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,EAAU;QAC5B,OAAO,uBAAA,IAAI,6BAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAEnB,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,GAAG,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEM,mBAAmB,CAAC,EAAU,EAAE,GAA+B;QAClE,MAAM,EAAE,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAC9D,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAEM,OAAO;QACV,uBAAA,IAAI,sCAAiB,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;CACJ;;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,86 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
15
+ var _ContextModuleConfigurator_configBuilders;
16
+ import { getContextSelector, queryContextSelector, relatedContextSelector } from './selectors';
17
+ import { ContextConfigBuilder } from './ContextConfigBuilder';
18
+ import resolveInitialContext from './utils/resolve-initial-context';
19
+ export class ContextModuleConfigurator {
20
+ constructor() {
21
+ this.defaultExpireTime = 1 * 60 * 1000;
22
+ _ContextModuleConfigurator_configBuilders.set(this, []);
23
+ }
24
+ addConfigBuilder(init) {
25
+ __classPrivateFieldGet(this, _ContextModuleConfigurator_configBuilders, "f").push(init);
26
+ }
27
+ _getServiceProvider(init) {
28
+ var _a;
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ if (init.hasModule('services')) {
31
+ return init.requireInstance('services');
32
+ }
33
+ else {
34
+ const parentServiceModule = (_a = init.ref) === null || _a === void 0 ? void 0 : _a.services;
35
+ if (parentServiceModule) {
36
+ return parentServiceModule;
37
+ }
38
+ throw Error('no service services provider configures [ServicesModule]');
39
+ }
40
+ });
41
+ }
42
+ createConfig(init) {
43
+ var _a, _b;
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const config = yield __classPrivateFieldGet(this, _ContextModuleConfigurator_configBuilders, "f").reduce((cur, cb) => __awaiter(this, void 0, void 0, function* () {
46
+ const builder = new ContextConfigBuilder(init, yield cur);
47
+ yield Promise.resolve(cb(builder));
48
+ return Object.assign(cur, builder.config);
49
+ }), Promise.resolve({}));
50
+ (_a = config.resolveInitialContext) !== null && _a !== void 0 ? _a : (config.resolveInitialContext = resolveInitialContext());
51
+ (_b = config.client) !== null && _b !== void 0 ? _b : (config.client = yield (() => __awaiter(this, void 0, void 0, function* () {
52
+ const apiProvider = yield this._getServiceProvider(init);
53
+ const contextClient = yield apiProvider.createContextClient('json$');
54
+ return {
55
+ get: {
56
+ client: {
57
+ fn: (args) => contextClient.get('v1', args, { selector: getContextSelector }),
58
+ },
59
+ key: ({ id }) => id,
60
+ expire: this.defaultExpireTime,
61
+ },
62
+ query: {
63
+ client: {
64
+ fn: (query) => contextClient.query('v1', { query }, { selector: queryContextSelector }),
65
+ },
66
+ key: (args) => JSON.stringify(args),
67
+ expire: this.defaultExpireTime,
68
+ },
69
+ related: {
70
+ client: {
71
+ fn: (args) => {
72
+ return contextClient.related('v1', { id: args.item.id, query: { filter: args.filter } }, { selector: relatedContextSelector });
73
+ },
74
+ },
75
+ key: (args) => JSON.stringify(args),
76
+ expire: this.defaultExpireTime,
77
+ },
78
+ };
79
+ }))());
80
+ return config;
81
+ });
82
+ }
83
+ }
84
+ _ContextModuleConfigurator_configBuilders = new WeakMap();
85
+ export default ContextModuleConfigurator;
86
+ //# sourceMappingURL=configurator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator.js","sourceRoot":"","sources":["../../src/configurator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _FusionContextSearchError_details;
13
+ export class FusionContextSearchError extends Error {
14
+ get title() {
15
+ return __classPrivateFieldGet(this, _FusionContextSearchError_details, "f").title;
16
+ }
17
+ constructor(details, options) {
18
+ var _a;
19
+ super((_a = details.description) !== null && _a !== void 0 ? _a : details.title, options);
20
+ _FusionContextSearchError_details.set(this, void 0);
21
+ __classPrivateFieldSet(this, _FusionContextSearchError_details, details, "f");
22
+ this.name = 'FusionContextSearchError';
23
+ }
24
+ }
25
+ _FusionContextSearchError_details = new WeakMap();
26
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAG/C,IAAI,KAAK;QACL,OAAO,uBAAA,IAAI,yCAAS,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,YACI,OAGC,EACD,OAAsB;;QAEtB,KAAK,CAAC,MAAA,OAAO,CAAC,WAAW,mCAAI,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAbzD,oDAAS;QAcL,uBAAA,IAAI,qCAAY,OAAO,MAAA,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAC3C,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export { ContextModuleConfigurator, } from './configurator';
2
+ export { ContextProvider } from './ContextProvider';
3
+ export { default, module as contextModule, moduleKey as contextModuleKey, } from './module';
4
+ export { enableContext } from './utils/enable-context';
5
+ export * from './types';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,GAG5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAoB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EACH,OAAO,EAEP,MAAM,IAAI,aAAa,EACvB,SAAS,IAAI,gBAAgB,GAChC,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,cAAc,SAAS,CAAC"}
@@ -0,0 +1,55 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { catchError, EMPTY, from, Observable, switchMap, filter, Subscription } from 'rxjs';
11
+ import { ContextModuleConfigurator } from './configurator';
12
+ import { ContextProvider } from './ContextProvider';
13
+ export const moduleKey = 'context';
14
+ export const module = {
15
+ name: moduleKey,
16
+ configure: () => new ContextModuleConfigurator(),
17
+ initialize: function (args) {
18
+ var _a;
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const config = yield args.config.createConfig(args);
21
+ const event = args.hasModule('event') ? yield args.requireInstance('event') : undefined;
22
+ const parentProvider = (_a = args.ref) === null || _a === void 0 ? void 0 : _a.context;
23
+ const provider = new ContextProvider({ config, event, parentContext: parentProvider });
24
+ const subscription = new Subscription(() => provider.dispose());
25
+ this.postInitialize = (args) => new Observable((subscriber) => {
26
+ const resolveInitialContext$ = config.resolveInitialContext
27
+ ? from(config.resolveInitialContext(args)).pipe(filter((item) => !!item), switchMap((item) => args.modules.context.setCurrentContext(item, {
28
+ validate: true,
29
+ resolve: true,
30
+ })))
31
+ : EMPTY;
32
+ subscriber.add(resolveInitialContext$
33
+ .pipe(catchError((err) => {
34
+ console.warn('ContextModule.postInitialize', 'failed to resolve initial context', err);
35
+ return EMPTY;
36
+ }))
37
+ .subscribe({
38
+ next: (item) => {
39
+ console.debug('ContextModule.postInitialize', `initial context was resolved to [${item ? item.id : 'none'}]`, item);
40
+ },
41
+ complete: () => {
42
+ if (config.connectParentContext !== false && parentProvider) {
43
+ provider.connectParentContext(parentProvider);
44
+ }
45
+ subscriber.complete();
46
+ },
47
+ }));
48
+ });
49
+ this.dispose = () => subscription.unsubscribe();
50
+ return provider;
51
+ });
52
+ },
53
+ };
54
+ export default module;
55
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAQ5F,OAAO,EAA8B,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAoB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKtE,MAAM,CAAC,MAAM,SAAS,GAAqB,SAAS,CAAC;AASrD,MAAM,CAAC,MAAM,MAAM,GAAkB;IACjC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,yBAAyB,EAAE;IAChD,UAAU,EAAE,UAAgB,IAAI;;;YAC5B,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,MAAoC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACnF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,MAAM,cAAc,GAAG,MAAC,IAAI,CAAC,GAAwC,0CAAE,OAAO,CAAC;YAC/E,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC;YAEvF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAEhE,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,CAC3B,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1B,MAAM,sBAAsB,GAAG,MAAM,CAAC,qBAAqB;oBACvD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7C,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE;wBACzC,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,IAAI;qBAChB,CAAC,CACL,CACJ;oBACH,CAAC,CAAC,KAAK,CAAC;gBAEZ,UAAU,CAAC,GAAG,CACV,sBAAsB;qBACjB,IAAI,CACD,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;oBACf,OAAO,CAAC,IAAI,CACR,8BAA8B,EAC9B,mCAAmC,EACnC,GAAG,CACN,CAAC;oBACF,OAAO,KAAK,CAAC;gBACjB,CAAC,CAAC,CACL;qBACA,SAAS,CAAC;oBACP,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBACX,OAAO,CAAC,KAAK,CACT,8BAA8B,EAC9B,oCAAoC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAC9D,IAAI,CACP,CAAC;oBACN,CAAC;oBACD,QAAQ,EAAE,GAAG,EAAE;wBACX,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,IAAI,cAAc,EAAE,CAAC;4BAC1D,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;wBAClD,CAAC;wBACD,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC1B,CAAC;iBACJ,CAAC,CACT,CAAC;YACN,CAAC,CAAC,CAAC;YAEP,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAEhD,OAAO,QAAQ,CAAC;;KACnB;CACJ,CAAC;AAQF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,44 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ const parseContextType = (type) => {
11
+ var _a;
12
+ return ({
13
+ id: type.id,
14
+ isChildType: type.isChildType,
15
+ parentTypeIds: (_a = type.parentTypeIds) !== null && _a !== void 0 ? _a : [],
16
+ });
17
+ };
18
+ const parseContextItem = (item) => {
19
+ var _a, _b, _c, _d;
20
+ return {
21
+ id: item.id,
22
+ externalId: (_a = item.externalId) !== null && _a !== void 0 ? _a : undefined,
23
+ isActive: item.isActive,
24
+ isDeleted: item.isDeleted,
25
+ created: new Date(item.created),
26
+ source: (_b = item.source) !== null && _b !== void 0 ? _b : undefined,
27
+ title: (_c = item.title) !== null && _c !== void 0 ? _c : undefined,
28
+ type: parseContextType(item.type),
29
+ value: (_d = item.value) !== null && _d !== void 0 ? _d : {},
30
+ };
31
+ };
32
+ export const getContextSelector = (response) => __awaiter(void 0, void 0, void 0, function* () {
33
+ const result = (yield response.json());
34
+ return parseContextItem(result);
35
+ });
36
+ export const queryContextSelector = (response) => __awaiter(void 0, void 0, void 0, function* () {
37
+ const result = (yield response.json());
38
+ return result.map(parseContextItem);
39
+ });
40
+ export const relatedContextSelector = (response) => __awaiter(void 0, void 0, void 0, function* () {
41
+ const result = (yield response.json());
42
+ return result.map(parseContextItem);
43
+ });
44
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/selectors.ts"],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,gBAAgB,GAAG,CAAC,IAAsC,EAAmB,EAAE;;IAAC,OAAA,CAAC;QACnF,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,EAAE;KAC1C,CAAC,CAAA;CAAA,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,IAAqC,EAAe,EAAE;;IAC5E,OAAO;QACH,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,SAAS;QACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,SAAS;QAChC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS;QAC9B,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAEjC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE;KAC1B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAO,QAAkB,EAAwB,EAAE;IACjF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAC;IACnE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAO,QAAkB,EAA0B,EAAE;IACrF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA+B,CAAC;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAO,QAAkB,EAA0B,EAAE;IACvF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiC,CAAC;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC,CAAA,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}