@equinor/fusion-framework-module-context 8.0.2 → 9.0.0-next.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.
- package/CHANGELOG.md +82 -0
- package/README.md +78 -2
- package/dist/esm/ContextModuleConfig.js +2 -0
- package/dist/esm/ContextModuleConfig.js.map +1 -0
- package/dist/esm/ContextModuleConfigurator.interface.js +2 -0
- package/dist/esm/ContextModuleConfigurator.interface.js.map +1 -0
- package/dist/esm/ContextModuleConfigurator.js +211 -0
- package/dist/esm/ContextModuleConfigurator.js.map +1 -0
- package/dist/esm/ContextProvider.js +1 -1
- package/dist/esm/ContextProvider.js.map +1 -1
- package/dist/esm/__tests__/ContextModuleConfigurator.test.js +282 -0
- package/dist/esm/__tests__/ContextModuleConfigurator.test.js.map +1 -0
- package/dist/esm/__tests__/mock/context-mock.test.js +101 -0
- package/dist/esm/__tests__/mock/context-mock.test.js.map +1 -0
- package/dist/esm/__tests__/mock/create-context-item-factory.test.js +45 -0
- package/dist/esm/__tests__/mock/create-context-item-factory.test.js.map +1 -0
- package/dist/esm/__tests__/mock/create-context-items.test.js +46 -0
- package/dist/esm/__tests__/mock/create-context-items.test.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mock/ContextMockConfigurator.js +206 -0
- package/dist/esm/mock/ContextMockConfigurator.js.map +1 -0
- package/dist/esm/mock/fixtures/create-context-item-factory.js +50 -0
- package/dist/esm/mock/fixtures/create-context-item-factory.js.map +1 -0
- package/dist/esm/mock/fixtures/create-context-items.js +53 -0
- package/dist/esm/mock/fixtures/create-context-items.js.map +1 -0
- package/dist/esm/mock/fixtures/index.js +22 -0
- package/dist/esm/mock/fixtures/index.js.map +1 -0
- package/dist/esm/mock/fixtures/string-to-seed.js +15 -0
- package/dist/esm/mock/fixtures/string-to-seed.js.map +1 -0
- package/dist/esm/mock/index.js +31 -0
- package/dist/esm/mock/index.js.map +1 -0
- package/dist/esm/mock/module.js +41 -0
- package/dist/esm/mock/module.js.map +1 -0
- package/dist/esm/module.js +35 -6
- package/dist/esm/module.js.map +1 -1
- package/dist/esm/{get-context-selector.js → selectors/get-context-selector.js} +1 -4
- package/dist/esm/selectors/get-context-selector.js.map +1 -0
- package/dist/esm/selectors/index.js +13 -0
- package/dist/esm/selectors/index.js.map +1 -0
- package/dist/esm/{query-context-selector.js → selectors/query-context-selector.js} +1 -1
- package/dist/esm/selectors/query-context-selector.js.map +1 -0
- package/dist/esm/{related-context-selector.js → selectors/related-context-selector.js} +1 -1
- package/dist/esm/selectors/related-context-selector.js.map +1 -0
- package/dist/esm/utils/enable-context.js +1 -1
- package/dist/esm/utils/enable-context.js.map +1 -1
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/parse-context-item.js.map +1 -0
- package/dist/esm/utils/resolve-initial-context.js +16 -7
- package/dist/esm/utils/resolve-initial-context.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/{configurator.d.ts → ContextModuleConfig.d.ts} +4 -64
- package/dist/types/ContextModuleConfigurator.d.ts +97 -0
- package/dist/types/{ContextConfigBuilder.d.ts → ContextModuleConfigurator.interface.d.ts} +27 -47
- package/dist/types/ContextProvider.d.ts +1 -1
- package/dist/types/__tests__/ContextModuleConfigurator.test.d.ts +1 -0
- package/dist/types/__tests__/mock/context-mock.test.d.ts +1 -0
- package/dist/types/__tests__/mock/create-context-item-factory.test.d.ts +1 -0
- package/dist/types/__tests__/mock/create-context-items.test.d.ts +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/mock/ContextMockConfigurator.d.ts +155 -0
- package/dist/types/mock/fixtures/create-context-item-factory.d.ts +40 -0
- package/dist/types/mock/fixtures/create-context-items.d.ts +59 -0
- package/dist/types/mock/fixtures/index.d.ts +21 -0
- package/dist/types/mock/fixtures/string-to-seed.d.ts +12 -0
- package/dist/types/mock/index.d.ts +30 -0
- package/dist/types/mock/module.d.ts +38 -0
- package/dist/types/module.d.ts +5 -3
- package/dist/types/{get-context-selector.d.ts → selectors/get-context-selector.d.ts} +1 -3
- package/dist/types/selectors/index.d.ts +12 -0
- package/dist/types/{query-context-selector.d.ts → selectors/query-context-selector.d.ts} +1 -1
- package/dist/types/{related-context-selector.d.ts → selectors/related-context-selector.d.ts} +1 -1
- package/dist/types/utils/enable-context.d.ts +4 -5
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/{parse-context-item.d.ts → utils/parse-context-item.d.ts} +1 -1
- package/dist/types/utils/resolve-initial-context.d.ts +7 -4
- package/dist/types/version.d.ts +1 -1
- package/docs/data-model.md +134 -0
- package/docs/lifecycle.md +163 -0
- package/docs/recipes.md +89 -0
- package/package.json +36 -8
- package/src/ContextModuleConfig.ts +147 -0
- package/src/ContextModuleConfigurator.interface.ts +145 -0
- package/src/ContextModuleConfigurator.ts +295 -0
- package/src/ContextProvider.ts +1 -2
- package/src/__tests__/ContextModuleConfigurator.test.ts +412 -0
- package/src/__tests__/mock/context-mock.test.ts +137 -0
- package/src/__tests__/mock/create-context-item-factory.test.ts +60 -0
- package/src/__tests__/mock/create-context-items.test.ts +58 -0
- package/src/index.ts +3 -5
- package/src/mock/ContextMockConfigurator.ts +244 -0
- package/src/mock/fixtures/create-context-item-factory.ts +62 -0
- package/src/mock/fixtures/create-context-items.ts +80 -0
- package/src/mock/fixtures/index.ts +28 -0
- package/src/mock/fixtures/string-to-seed.ts +18 -0
- package/src/mock/index.ts +33 -0
- package/src/mock/module.ts +54 -0
- package/src/module.ts +45 -17
- package/src/{get-context-selector.ts → selectors/get-context-selector.ts} +2 -6
- package/src/selectors/index.ts +12 -0
- package/src/{query-context-selector.ts → selectors/query-context-selector.ts} +2 -2
- package/src/{related-context-selector.ts → selectors/related-context-selector.ts} +2 -2
- package/src/utils/enable-context.ts +6 -10
- package/src/utils/index.ts +2 -0
- package/src/{parse-context-item.ts → utils/parse-context-item.ts} +1 -1
- package/src/utils/resolve-initial-context.ts +26 -8
- package/src/version.ts +1 -1
- package/tsconfig.json +6 -0
- package/vitest.config.ts +11 -0
- package/dist/esm/ContextConfigBuilder.js +0 -175
- package/dist/esm/ContextConfigBuilder.js.map +0 -1
- package/dist/esm/configurator.js +0 -99
- package/dist/esm/configurator.js.map +0 -1
- package/dist/esm/get-context-selector.js.map +0 -1
- package/dist/esm/parse-context-item.js.map +0 -1
- package/dist/esm/query-context-selector.js.map +0 -1
- package/dist/esm/related-context-selector.js.map +0 -1
- package/src/ContextConfigBuilder.ts +0 -258
- package/src/configurator.ts +0 -295
- /package/dist/esm/{parse-context-item.js → utils/parse-context-item.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,87 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 9.0.0-next.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 2836e0b: Add `./mock` and `./mock/fixtures` subpaths for seeding context in tests without a real context API.
|
|
8
|
+
|
|
9
|
+
**BREAKING CHANGE:** `ContextModuleConfigurator` now extends `BaseConfigBuilder` (aligning with `module-event`, `module-http`, `module-msal`, and `module-service-discovery`). Its public `createConfig` method now returns `Observable<ContextModuleConfig>` instead of `Promise<ContextModuleConfig>`. Code calling `await configurator.createConfig(init)` directly should switch to `createConfigAsync`, which keeps the previous Promise-based behavior:
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
// Before
|
|
13
|
+
const config = await configurator.createConfig(init);
|
|
14
|
+
// After
|
|
15
|
+
const config = await configurator.createConfigAsync(init);
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
No other public export changes as part of this refactor.
|
|
19
|
+
|
|
20
|
+
`./mock` exports `enableContextMock` and `ContextMockConfigurator` — a `ContextModuleConfigurator` backed by an in-memory pool instead of a real client. Only the data source is substituted; `validateContext`, `resolveContext`, and parent-context propagation all still run through the real `ContextProvider`:
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { enableContextMock } from "@equinor/fusion-framework-module-context/mock";
|
|
24
|
+
|
|
25
|
+
enableContextMock(configurator, (mock) => {
|
|
26
|
+
mock.setCurrentContext({
|
|
27
|
+
id: "my-ctx",
|
|
28
|
+
type: { id: "ProjectMaster" },
|
|
29
|
+
value: {},
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`ContextMockConfigurator` also has `setContexts`, `addContext`, `setRelatedContexts` for the common cases, and `setResolver` as an escape hatch for custom resolution. Seeding an initial context this way overrides `resolveInitialContext` directly, so a test doesn't need a fake navigation module or parent framework instance just to start an app with a known context selected.
|
|
35
|
+
|
|
36
|
+
`./mock/fixtures` exports `createContextItems` and `createContextItemFactory`, generating realistic `ContextItem`s via an optional `@faker-js/faker` peer dependency — kept on a separate entry point so `enableContextMock` never pulls faker in for tests that don't need it:
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { createContextItems } from "@equinor/fusion-framework-module-context/mock/fixtures";
|
|
40
|
+
|
|
41
|
+
const [project] = createContextItems([{ type: "ProjectMaster" }]);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Also exports `parseContextItem` from the `./utils` subpath (parses a raw API context entity into a `ContextItem`), and reorganizes internal selector/configurator files without changing any existing public export.
|
|
45
|
+
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- e8aae1f: Internal: publish every package on the `next` pre-release tag so the whole framework can be installed as a coherent set.
|
|
49
|
+
|
|
50
|
+
Packages without their own changes are bumped only to receive a `-next.N` version and the `next` dist-tag on npm. Install with:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pnpm add @equinor/fusion-framework-react-app@next
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
- 2836e0b: Declare `@equinor/fusion-framework-module-telemetry` as an optional peer dependency.
|
|
57
|
+
|
|
58
|
+
The context module imports `TelemetryLevel`/`TelemetryScope` at runtime to report context
|
|
59
|
+
resolution failures when a telemetry module is registered, but telemetry was previously
|
|
60
|
+
undeclared outside of this package's own dev dependencies. A consumer installing only
|
|
61
|
+
`@equinor/fusion-framework-module-context` without telemetry could fail to resolve this
|
|
62
|
+
import at runtime.
|
|
63
|
+
|
|
64
|
+
- 2836e0b: Restructure documentation so the README is an entry point rather than a manual, matching the convention already used by `@equinor/fusion-framework-module` and `@equinor/fusion-framework-module-http`.
|
|
65
|
+
|
|
66
|
+
Long-form content moves into `docs/data-model.md` (the `ContextItem`/`ContextItemType` shape and query/related parameter types), `docs/lifecycle.md` (setting/resolving context, initial-context resolution, parent/child propagation), and `docs/recipes.md` (OData query parameters, path rewriting, accepting a family of related context types, skipping the default initial-context lookup, custom search errors). The README keeps the elevator pitch, a "How it fits together" section on module dependencies, and a documentation table linking to the rest.
|
|
67
|
+
|
|
68
|
+
- 2836e0b: Fix `ContextModule.postInitialize` logging a `console.warn` for the valid "no initial context" case (no context in the path and no parent context). The default `resolveInitialContext` resolver used RxJS `first()` without a default value, so completing with no emissions threw an `EmptyError` that got logged as if resolution had actually failed. `first()` now falls back to `undefined`, so a genuinely empty result completes silently and only real resolution failures are logged.
|
|
69
|
+
- Updated dependencies [e8aae1f]
|
|
70
|
+
- Updated dependencies [2836e0b]
|
|
71
|
+
- Updated dependencies [2836e0b]
|
|
72
|
+
- Updated dependencies [2836e0b]
|
|
73
|
+
- Updated dependencies [2836e0b]
|
|
74
|
+
- Updated dependencies [2836e0b]
|
|
75
|
+
- @equinor/fusion-framework-module@6.1.3-next.0
|
|
76
|
+
- @equinor/fusion-framework-module-telemetry@8.0.0-next.0
|
|
77
|
+
- @equinor/fusion-query@7.0.4-next.0
|
|
78
|
+
|
|
79
|
+
## 8.0.3
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- 73bfe52: Restore path-based resolution as a fallback in `resolveInitialContext`, composed with parent-context resolution. The context-navigation plugin introduced in #4751 removed this from the module, but consumers not yet migrated to the plugin lost initial-context resolution from the URL. `resolveInitialContext` now accepts a `path` option (`extract`/`validate`) used to resolve context from the URL before falling back to the parent context.
|
|
84
|
+
|
|
3
85
|
## 8.0.2
|
|
4
86
|
|
|
5
87
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -19,13 +19,36 @@ Use this module when your application or portal needs to:
|
|
|
19
19
|
> **Portal developers** will use `@equinor/fusion-framework-react/context`
|
|
20
20
|
> for the same purpose at the portal level.
|
|
21
21
|
|
|
22
|
+
## How it fits together
|
|
23
|
+
|
|
24
|
+
A context module instance never lives in isolation. It depends on the
|
|
25
|
+
`@equinor/fusion-framework-module-services` module for its default HTTP client, optionally
|
|
26
|
+
uses `@equinor/fusion-framework-module-event` to dispatch and listen for context change events,
|
|
27
|
+
and optionally reads the current URL through `@equinor/fusion-framework-module-navigation` to
|
|
28
|
+
resolve a context from the path. None of these need manual setup — `enableContext` requires
|
|
29
|
+
only `services`; `event` and `navigation` are picked up automatically when present.
|
|
30
|
+
|
|
31
|
+
The module is also **hierarchy-aware by default**: when a Portal and an App both enable
|
|
32
|
+
context, the App's instance automatically connects to the Portal's and mirrors its context —
|
|
33
|
+
no wiring required beyond enabling the module on both sides. See
|
|
34
|
+
[Lifecycle](docs/lifecycle.md#parentchild-propagation) for exactly how that sync works, and
|
|
35
|
+
when it can be overridden or disabled.
|
|
36
|
+
|
|
37
|
+
## Documentation
|
|
38
|
+
|
|
39
|
+
| Topic | Description |
|
|
40
|
+
|---|---|
|
|
41
|
+
| [Data model](docs/data-model.md) | The shape of a `ContextItem`, how context types relate to each other, and query/related parameters |
|
|
42
|
+
| [Lifecycle](docs/lifecycle.md) | `setCurrentContext`'s validate/resolve decision flow, automatic initial-context resolution on startup, and parent/child context propagation |
|
|
43
|
+
| [Recipes](docs/recipes.md) | OData query parameters, path rewriting, accepting a family of context types, and custom search errors |
|
|
44
|
+
|
|
22
45
|
## Key concepts
|
|
23
46
|
|
|
24
47
|
| Concept | Description |
|
|
25
48
|
|---|---|
|
|
26
49
|
| **ContextItem** | A typed record representing a single context entity (project, facility, etc.). |
|
|
27
50
|
| **ContextProvider** | Runtime service exposing query, set, validate, resolve, and event APIs. |
|
|
28
|
-
| **
|
|
51
|
+
| **ContextModuleConfigurator** | Fluent builder for configuring context types, filters, clients, and hooks. |
|
|
29
52
|
| **enableContext** | Helper that registers the module on a modules configurator. |
|
|
30
53
|
| **Context resolution** | Automatic lookup of related context items when a context type does not match the configured types. |
|
|
31
54
|
| **Parent connection** | Bi-directional sync between a parent portal context and a child app context. |
|
|
@@ -66,7 +89,7 @@ modules.context.clearCurrentContext();
|
|
|
66
89
|
|
|
67
90
|
## Configuration
|
|
68
91
|
|
|
69
|
-
All configuration flows through `enableContext` → `
|
|
92
|
+
All configuration flows through `enableContext` → `ContextModuleConfigurator`:
|
|
70
93
|
|
|
71
94
|
```ts
|
|
72
95
|
enableContext(configurator, (builder) => {
|
|
@@ -234,6 +257,57 @@ try {
|
|
|
234
257
|
}
|
|
235
258
|
```
|
|
236
259
|
|
|
260
|
+
## Testing
|
|
261
|
+
|
|
262
|
+
`@equinor/fusion-framework-module-context/mock` provides `enableContextMock`, a purpose-built test double backed by an in-memory pool of seeded context items — no context API, no HTTP mock, and no service-discovery mock required. Real `ContextProvider` behaviour (`validateContext`, `resolveContext`, parent-context propagation) still runs against the seeded data; only the data source is substituted.
|
|
263
|
+
|
|
264
|
+
### Defaults
|
|
265
|
+
|
|
266
|
+
- The context pool starts empty and no current context is selected.
|
|
267
|
+
- Querying the empty pool returns no items.
|
|
268
|
+
- Looking up an unseeded id throws an error that names the id and the seeding methods.
|
|
269
|
+
- Related-context lookup uses the seeded pool, excludes the source item, and filters by the requested type.
|
|
270
|
+
- `setCurrentContext` both seeds the item and selects it for initial app resolution; `setContexts` only seeds items.
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
import { enableContextMock } from '@equinor/fusion-framework-module-context/mock';
|
|
274
|
+
|
|
275
|
+
enableContextMock(configurator, (mock) => {
|
|
276
|
+
mock.setCurrentContext({ id: 'my-ctx', type: { id: 'ProjectMaster' }, value: {} });
|
|
277
|
+
});
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
- **Friendly layer** — `setCurrentContext`, `setContexts`, `addContext`, `setRelatedContexts` — a context-domain vocabulary for the common case: seed a known item, get it back.
|
|
281
|
+
- **Escape hatch** — `setResolver` — a raw resolution function for a custom `resolveContext` strategy or a shape the friendly layer did not cover.
|
|
282
|
+
|
|
283
|
+
When used with `@equinor/fusion-framework/mock`, `FrameworkMockConfigurator.context` returns this same configurator, so seeding happens directly through `configurator.context` with no callback needed.
|
|
284
|
+
|
|
285
|
+
This is one of two ways to fake context data in tests. The other is mocking the context API's HTTP responses directly (with `configurator.http.addMiddleware(...)`, optionally paired with `@equinor/fusion-framework-module-http/mock`'s `createOpenApiMockMiddleware` for faker-generated data straight from context's OpenAPI spec) — which exercises the real `ContextModuleConfigurator`/services/HTTP pipeline instead of substituting it. Reach for `enableContextMock` to seed one known item with no transport involved; reach for the HTTP middleware when a test needs to cover that pipeline itself. Fixture generators for realistic seeded data (`createContextItemFactory`, `createContextItems`) are available from `@equinor/fusion-framework-module-context/mock/fixtures`.
|
|
286
|
+
|
|
287
|
+
### Generate deterministic context fixtures
|
|
288
|
+
|
|
289
|
+
The optional `/mock/fixtures` entry point uses `@faker-js/faker` to produce realistic but
|
|
290
|
+
repeatable titles and readable ids. Install Faker only when importing this entry point.
|
|
291
|
+
|
|
292
|
+
```ts
|
|
293
|
+
import { enableContextMock } from '@equinor/fusion-framework-module-context/mock';
|
|
294
|
+
import { createContextItems } from '@equinor/fusion-framework-module-context/mock/fixtures';
|
|
295
|
+
|
|
296
|
+
const [project, contract] = createContextItems([
|
|
297
|
+
{ type: 'ProjectMaster' },
|
|
298
|
+
{ type: 'Contract', parentTypeIds: ['ProjectMaster'] },
|
|
299
|
+
]);
|
|
300
|
+
|
|
301
|
+
enableContextMock(configurator, (mock) => {
|
|
302
|
+
mock.setContexts([project, contract]);
|
|
303
|
+
mock.setCurrentContext(project);
|
|
304
|
+
});
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Use `createContextItemFactory(prefix?)` for sequential fixtures of one type. Use
|
|
308
|
+
`createContextItems` for multiple types and parent/child type metadata. Generated values are
|
|
309
|
+
deterministic per id; use `setRelatedContexts` when relations must differ per specific item.
|
|
310
|
+
|
|
237
311
|
## Utilities
|
|
238
312
|
|
|
239
313
|
Additional helpers are available from `@equinor/fusion-framework-module-context/utils`:
|
|
@@ -252,4 +326,6 @@ Additional helpers are available from `@equinor/fusion-framework-module-context/
|
|
|
252
326
|
| `@equinor/fusion-framework-module-context` | Main entry — module, provider, configurator, types |
|
|
253
327
|
| `@equinor/fusion-framework-module-context/errors.js` | `FusionContextSearchError` |
|
|
254
328
|
| `@equinor/fusion-framework-module-context/utils` | Utility functions for path resolution and enablement |
|
|
329
|
+
| `@equinor/fusion-framework-module-context/mock` | `enableContextMock`, `ContextMockConfigurator` — in-memory test double |
|
|
330
|
+
| `@equinor/fusion-framework-module-context/mock/fixtures` | Fixture factories for generating seeded context items |
|
|
255
331
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextModuleConfig.js","sourceRoot":"","sources":["../../src/ContextModuleConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextModuleConfigurator.interface.js","sourceRoot":"","sources":["../../src/ContextModuleConfigurator.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { from, lastValueFrom } from 'rxjs';
|
|
2
|
+
import { BaseConfigBuilder, } from '@equinor/fusion-framework-module';
|
|
3
|
+
import { getContextSelector, queryContextSelector, relatedContextSelector } from './selectors';
|
|
4
|
+
import resolveInitialContext from './utils/resolve-initial-context';
|
|
5
|
+
/**
|
|
6
|
+
* Default implementation of {@link IContextModuleConfigurator}.
|
|
7
|
+
*
|
|
8
|
+
* Collects {@link ContextConfigBuilderCallback} registrations and, when
|
|
9
|
+
* {@link createConfigAsync} is called, runs them in order — each callback
|
|
10
|
+
* receives this configurator itself and populates the config through its
|
|
11
|
+
* setter methods, which register into {@link BaseConfigBuilder._set} — to
|
|
12
|
+
* produce the final {@link ContextModuleConfig}.
|
|
13
|
+
*
|
|
14
|
+
* If no custom client is configured, the configurator falls back to
|
|
15
|
+
* creating one from the {@link ServicesModule} API provider.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* Extends {@link BaseConfigBuilder} and fully reuses its `_set`/`_buildConfig`
|
|
19
|
+
* machinery. Setters always pass an `async () => value` callback to `_set`,
|
|
20
|
+
* never the raw value directly — `_set` decides whether it received a value
|
|
21
|
+
* or a deferred callback by checking `typeof value_or_cb === 'function'`, so
|
|
22
|
+
* fields that are themselves functions (e.g. `validateContext`) would
|
|
23
|
+
* otherwise be misread as callbacks and invoked instead of stored.
|
|
24
|
+
*/
|
|
25
|
+
export class ContextModuleConfigurator extends BaseConfigBuilder {
|
|
26
|
+
/** Default cache TTL (in ms) for context query results. */
|
|
27
|
+
defaultExpireTime = 1 * 60 * 1000;
|
|
28
|
+
#configBuilders = [];
|
|
29
|
+
#init;
|
|
30
|
+
/** @inheritdoc */
|
|
31
|
+
addConfigBuilder(init) {
|
|
32
|
+
this.#configBuilders.push(init);
|
|
33
|
+
}
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
requireInstance(module) {
|
|
36
|
+
// requireInstance is only meaningful once module initialization has begun and #init is set
|
|
37
|
+
if (!this.#init) {
|
|
38
|
+
throw Error('requireInstance can only be called during module configuration');
|
|
39
|
+
}
|
|
40
|
+
// #init's requireInstance is narrowed to this module's own declared deps; widen for the public any-module overload above
|
|
41
|
+
return this.#init.requireInstance(module);
|
|
42
|
+
}
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
setContextType(type) {
|
|
45
|
+
this._set('contextType', async () => type);
|
|
46
|
+
}
|
|
47
|
+
/** @inheritdoc */
|
|
48
|
+
setContextFilter(filter) {
|
|
49
|
+
this._set('contextFilter', async () => filter);
|
|
50
|
+
}
|
|
51
|
+
/** @inheritdoc */
|
|
52
|
+
connectParentContext(connect) {
|
|
53
|
+
this._set('connectParentContext', async () => connect);
|
|
54
|
+
}
|
|
55
|
+
/** @inheritdoc */
|
|
56
|
+
setContextParameterFn(fn) {
|
|
57
|
+
this._set('contextParameterFn', async () => fn);
|
|
58
|
+
}
|
|
59
|
+
/** @inheritdoc */
|
|
60
|
+
setValidateContext(fn) {
|
|
61
|
+
this._set('validateContext', async () => fn);
|
|
62
|
+
}
|
|
63
|
+
/** @inheritdoc */
|
|
64
|
+
setResolveContext(fn) {
|
|
65
|
+
this._set('resolveContext', async () => fn);
|
|
66
|
+
}
|
|
67
|
+
/** @inheritdoc */
|
|
68
|
+
setContextPathExtractor(fn) {
|
|
69
|
+
this._set('extractContextIdFromPath', async () => fn);
|
|
70
|
+
}
|
|
71
|
+
/** @inheritdoc */
|
|
72
|
+
setContextPathGenerator(fn) {
|
|
73
|
+
this._set('generatePathFromContext', async () => fn);
|
|
74
|
+
}
|
|
75
|
+
/** @inheritdoc */
|
|
76
|
+
setResolveInitialContext(fn) {
|
|
77
|
+
this._set('resolveInitialContext', async () => fn);
|
|
78
|
+
}
|
|
79
|
+
/** @inheritdoc */
|
|
80
|
+
setContextClient(client, expire = 1 * 60 * 1000) {
|
|
81
|
+
const clientConfig = {
|
|
82
|
+
get: typeof client.get === 'function'
|
|
83
|
+
? {
|
|
84
|
+
key: ({ id }) => id,
|
|
85
|
+
client: {
|
|
86
|
+
fn: client.get,
|
|
87
|
+
},
|
|
88
|
+
expire,
|
|
89
|
+
}
|
|
90
|
+
: client.get,
|
|
91
|
+
query: typeof client.query === 'function'
|
|
92
|
+
? {
|
|
93
|
+
// TODO(#5118) - might cast to checksum
|
|
94
|
+
key: (args) => JSON.stringify(args),
|
|
95
|
+
client: {
|
|
96
|
+
fn: client.query,
|
|
97
|
+
},
|
|
98
|
+
expire,
|
|
99
|
+
}
|
|
100
|
+
: client.query,
|
|
101
|
+
};
|
|
102
|
+
// only override the related-context client config if one was provided
|
|
103
|
+
if (client.related) {
|
|
104
|
+
clientConfig.related =
|
|
105
|
+
typeof client.related === 'function'
|
|
106
|
+
? {
|
|
107
|
+
// TODO(#5118) - might cast to checksum
|
|
108
|
+
key: (args) => JSON.stringify(args),
|
|
109
|
+
client: {
|
|
110
|
+
fn: client.related,
|
|
111
|
+
},
|
|
112
|
+
expire,
|
|
113
|
+
}
|
|
114
|
+
: client.related;
|
|
115
|
+
}
|
|
116
|
+
this._set('client', async () => clientConfig);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Resolves the services API provider, preferring the local module
|
|
120
|
+
* instance and falling back to the parent module.
|
|
121
|
+
*
|
|
122
|
+
* @param init - Module initializer arguments.
|
|
123
|
+
* @returns The resolved API provider.
|
|
124
|
+
* @throws Error if no services module is available.
|
|
125
|
+
*/
|
|
126
|
+
async _getServiceProvider(init) {
|
|
127
|
+
// prefer the local services module instance if available
|
|
128
|
+
if (init.hasModule('services')) {
|
|
129
|
+
return init.requireInstance('services');
|
|
130
|
+
}
|
|
131
|
+
const parentServiceModule = init.ref?.services;
|
|
132
|
+
// fall back to the parent module's services instance
|
|
133
|
+
if (!parentServiceModule) {
|
|
134
|
+
throw Error('no service services provider configures [ServicesModule]');
|
|
135
|
+
}
|
|
136
|
+
return parentServiceModule;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Runs all registered config builders, then resolves the accumulated
|
|
140
|
+
* `_set` registrations into the final {@link ContextModuleConfig}.
|
|
141
|
+
*
|
|
142
|
+
* @param init - Module initializer arguments including dependency instances.
|
|
143
|
+
* @param initial - Optional partial config inherited from a parent module.
|
|
144
|
+
* @returns The fully resolved context module configuration.
|
|
145
|
+
*/
|
|
146
|
+
async _createConfig(init, initial) {
|
|
147
|
+
// requireInstance resolves lazily against this init for the remainder of config building
|
|
148
|
+
this.#init = init;
|
|
149
|
+
// run each registered config builder in sequence; each calls setXxx(), registering into _set
|
|
150
|
+
await this.#configBuilders.reduce((prev, cb) => prev.then(() => cb(this)), Promise.resolve());
|
|
151
|
+
// resolve every registered _set callback into the actual config object
|
|
152
|
+
const config = await lastValueFrom(from(this._buildConfig(init, initial)));
|
|
153
|
+
// route through _processConfig, so a subclass overriding it (e.g. ContextMockConfigurator) still runs
|
|
154
|
+
return lastValueFrom(from(this._processConfig(config, init)));
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Defaults `resolveInitialContext` and `client` when a builder callback
|
|
158
|
+
* didn't set them.
|
|
159
|
+
*
|
|
160
|
+
* If no `resolveInitialContext` was set, the default path + parent
|
|
161
|
+
* resolver is used. If no `client` was set, one is created from the
|
|
162
|
+
* {@link ServicesModule} API provider.
|
|
163
|
+
*
|
|
164
|
+
* @param config - The config accumulated from registered builder callbacks.
|
|
165
|
+
* @param init - Module initializer arguments including dependency instances.
|
|
166
|
+
* @returns The fully resolved context module configuration.
|
|
167
|
+
*/
|
|
168
|
+
async _processConfig(config, init) {
|
|
169
|
+
config.resolveInitialContext ??= resolveInitialContext({
|
|
170
|
+
path: {
|
|
171
|
+
extract: config.extractContextIdFromPath,
|
|
172
|
+
validate: config.extractContextIdFromPath ? () => true : undefined,
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
// TODO(#5119) - make less lazy
|
|
176
|
+
config.client ??= await (async () => {
|
|
177
|
+
const apiProvider = await this._getServiceProvider(init);
|
|
178
|
+
const contextClient = await apiProvider.createContextClient('json$');
|
|
179
|
+
return {
|
|
180
|
+
get: {
|
|
181
|
+
client: {
|
|
182
|
+
fn: (args) => contextClient.get('v1', args, { selector: getContextSelector }),
|
|
183
|
+
},
|
|
184
|
+
key: ({ id }) => id,
|
|
185
|
+
expire: this.defaultExpireTime,
|
|
186
|
+
},
|
|
187
|
+
query: {
|
|
188
|
+
client: {
|
|
189
|
+
fn: (query) => contextClient.query('v1', { query }, { selector: queryContextSelector }),
|
|
190
|
+
},
|
|
191
|
+
// TODO(#5118) - might cast to checksum
|
|
192
|
+
key: (args) => JSON.stringify(args),
|
|
193
|
+
expire: this.defaultExpireTime,
|
|
194
|
+
},
|
|
195
|
+
related: {
|
|
196
|
+
client: {
|
|
197
|
+
fn: (args) => {
|
|
198
|
+
return contextClient.related('v1', { id: args.item.id, query: { filter: args.filter } }, { selector: relatedContextSelector });
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
// TODO(#5118) - might cast to checksum
|
|
202
|
+
key: (args) => JSON.stringify(args),
|
|
203
|
+
expire: this.defaultExpireTime,
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
})();
|
|
207
|
+
return config;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
export default ContextModuleConfigurator;
|
|
211
|
+
//# sourceMappingURL=ContextModuleConfigurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextModuleConfigurator.js","sourceRoot":"","sources":["../../src/ContextModuleConfigurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -163,7 +163,7 @@ export class ContextProvider extends BaseModuleProvider {
|
|
|
163
163
|
this.#subscriptions.add(this.#contextQueue
|
|
164
164
|
.pipe(
|
|
165
165
|
// resolve context item from queue
|
|
166
|
-
switchMap((next) => next)
|
|
166
|
+
switchMap((next) => next))
|
|
167
167
|
.subscribe((context) => {
|
|
168
168
|
// set context from resolved context item from queue
|
|
169
169
|
this.#contextClient.setCurrentContext(context ?? null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextProvider.js","sourceRoot":"","sources":["../../src/ContextProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextProvider.js","sourceRoot":"","sources":["../../src/ContextProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC/F,OAAO,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,SAAS,EACT,SAAS,EACT,GAAG,GACJ,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQvD,OAAO,KAAK,MAAM,uBAAuB,CAAC;AA2R1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,eACX,SAAQ,kBAAuC;IAG/C,cAAc,CAAgB;IAC9B,aAAa,CAAoD;IACjE,eAAe,CAAuD;IAEtE,MAAM,CAA2B;IAEjC,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;IAEpC,YAAY,CAAsC;IAClD,cAAc,CAAuC;IACrD,mBAAmB,CAAsD;IAEzE,aAAa,GAAG,IAAI,OAAO,EAAoD,CAAC;IAEhF;;;OAGG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,IAAI,cAAc,CAAC,OAAuC;QACxD,OAAO,CAAC,IAAI,CACV,aAAa,EACb,gCAAgC,EAChC,iEAAiE,CAClE,CAAC;QACF,sFAAsF;QACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,IAKX;QACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE/B,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3B,sDAAsD;QACtD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACV,aAAa,EACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,iDAAiD;QACjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,yCAAyC;QACzC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,kDAAkD;QAClD,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACpC,6GAA6G;YAC7G,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAClE,CAAC;QACD,iDAAiD;QACjD,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACnC,6GAA6G;YAC7G,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAE3C,iBAAiB;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,qEAAqE;QACrE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,mBAAmB;YACtB,MAAM,CAAC,kBAAkB;gBACzB,sBAAsB;gBACtB,CAAC,CAAC,IAAwE,EAAE,EAAE,CAAC,CAAC;oBAC9E,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;iBAC5B,CAAC,CAAC,CAAC;QAEN,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,CAAC,GAAG;YACrB,kCAAkC;YAClC,IAAI,CAAC,eAAe;gBAClB,iEAAiE;iBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBAChB,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;gBAC9B,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,yBAAyB,EAAE;oBACpD,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC,CAAC,CACL,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG;YACrB,qDAAqD;YACrD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC5D,gEAAgE;gBAChE,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,IAAI,CAAC,aAAa;aACf,IAAI;QACH,kCAAkC;QAClC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAC1B;aACA,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACrB,oDAAoD;YACpD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,CACzB,QAA0B,EAC1B,GAA4B;QAE5B,uEAAuE;QACvE,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI;QAClD,mDAAmD;QACnD,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,EACvD,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrB,2CAA2C;YAC3C,sEAAsE;YACtE,IAAI,GAAG,EAAE,SAAS,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gBACpF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,qCAAqC;YACrC,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QAC9C,CAAC,CAAC,EACF,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,yCAAyC;YACzC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YACD,0FAA0F;YAC1F,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,wBAAwB,EAAE;gBACxF,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC;QAC9D,CAAC,CAAC;QACF,sCAAsC;QACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC1B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACrB,qDAAqD;YACrD,OAAO,CACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;gBAC3B,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd,CAAC;gBACA,kFAAkF;iBACjF,IAAI,CACH,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;gBAClF,2CAA2C;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CACH,CACJ,CAAC;QACJ,CAAC,CAAC,EACF,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;YACpF,2CAA2C;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QAEF,sCAAsC;QACtC,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAEhD,wCAAwC;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,qBAAqB,CAAC,EAAU;QACrC,OAAO,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc;oBACjB,6BAA6B;qBAC5B,cAAc,CAAC,EAAE,CAAC;oBACnB,sDAAsD;qBACrD,IAAI;gBACH,mCAAmC;gBACnC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,qDAAqD;gBACrD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAClD;qBACA,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gDAAgD;gBAChD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACI,0BAA0B,CAAC,EAAU;QAC1C,oCAAoC;QACpC,OAAO,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,iBAAiB,CACtB,OAAU,EACV,GAA+C;QAE/C,sCAAsC;QACtC,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAE7B,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAK,CAAC;QAElC,wFAAwF;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI;QACtD,gDAAgD;QAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,uBAAuB;QACvB,SAAS,CAAC,MAAM,CAAC;QACjB,0CAA0C;QAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACnC,wDAAwD;QACxD,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,uBAAuB;YACvB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,2BAA2B;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAyD,CAAC,CAAC;QAEnF,uDAAuD;QACvD,OAAO,QAAQ,CAAC,IAAI;QAClB,6DAA6D;QAC7D,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAClC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACO,kBAAkB,CAC1B,OAAU,EACV,GAA+C;QAE/C,OAAO,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;YACnC,4DAA4D;YAC5D,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC;YACD,uDAAuD;YACvD,IAAI,OAAO,IAAI,GAAG,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,2CAA2C;gBAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjB,sFAAsF;oBACtF,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,8BAA8B,EAAE;wBACzD,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,EAAE,OAAO,EAAE;qBACpB,CAAC,CAAC;oBACH,0BAA0B;oBAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,kFAAkF;gBAClF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,+EAA+E;oBAC/E,oEAAoE;oBACpE,OAAO,EAAE,CAAC,OAAO,CAAC;yBACf,IAAI;oBACH,+DAA+D;oBAC/D,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBAC1B,+CAA+C;wBAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB,EAAE;4BACpE,MAAM,EAAE,IAAI;4BACZ,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,EAAE,OAAO,EAAE;yBACpB,CAAC,CAAC;wBACH,8CAA8C;wBAC9C,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;4BACpB,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;wBACnD,CAAC;wBACD,OAAO,OAAO,CAAC;oBACjB,CAAC,CAAC;oBACF,kBAAkB;oBAClB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;oBACpB,6EAA6E;oBAC7E,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACjB,OAAO;wBACP,QAAQ;qBACT,CAAC,CAAC,CACJ,CACF;oBACD,mDAAmD;oBACnD,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;wBACxC,+CAA+C;wBAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,EAAE;4BACrE,MAAM,EAAE,IAAI;4BACZ,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;yBAC9B,CAAC,CAAC;wBACH,8CAA8C;wBAC9C,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;4BACpB,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;wBACnD,CAAC;wBACD,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC;oBACF,0EAA0E;oBAC1E,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAwB,CAAC,CAAC,CAC3E;yBACA,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,OAAO,EAAE,CAAC,OAAO,CAAC;iBACf,IAAI;YACH,wDAAwD;YACxD,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,wBAAwB,EAAE;oBACvE,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;iBAC7B,CAAC,CAAC;gBAEH,8CAA8C;gBAC9C,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;oBACpB,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CACH;iBACA,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrB,6BAA6B;gBAC7B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,yCAAyC;gBACzC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,sBAAsB,CACjC,OAAU,EACV,GAA+C;QAE/C,OAAO,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;OAWG;IACI,YAAY,CAAC,MAAc;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW;aAC5B,KAAK;QACJ,4BAA4B;QAC5B,IAAI,CAAC,mBAAmB,CAAC;YACvB,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,YAAY;SACxB,CAA2B,CAC7B;YACD,4EAA4E;aAC3E,IAAI,CACH,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,4EAA4E;YAC5E,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACpC,MAAM,GAAG,CAAC,KAAK,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACpB,CAAC;QAEJ,oCAAoC;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,CAAC;IAED;;;;;;;OAOG;IACI,iBAAiB,CAAC,MAAc;QACrC,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,IAA0C;QAC/D,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACpC,4DAA4D;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,cAAc,CACnB,IAA0C;QAE1C,4HAA4H;QAC5H,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI;QAC7E,mCAAmC;QACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACR,4EAA4E;QAC5E,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAC/C,EACD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACb,8DAA8D;YAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAE7B,uCAAuC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,CAAC;YAED,6CAA6C;YAC7C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;YACrF,CAAC;YAED,mCAAmC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,mBAAmB,CACxB,IAA0C;QAE1C,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;OAUG;IACI,eAAe,CACpB,IAA8B;QAE9B,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,GAAG,EAAE,CACrB,KAAK,CAAC,oFAAoF,CAAC,CAC5F,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EACzB,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,gEAAgE;YAChE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,GAAG,CAAC,KAAK,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,oBAAoB,CACzB,IAA8B;QAE9B,OAAO,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,mBAAmB;QACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
|