@wirestate/lit 0.6.1 → 0.7.0-experimental.2
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 +17 -2
- package/README.md +88 -70
- package/cjs/development/index.js +412 -320
- package/cjs/development/index.js.map +1 -1
- package/cjs/production/index.js +1 -1
- package/cjs/production/index.js.map +1 -1
- package/esm/development/commands/on-command-controller.js +8 -7
- package/esm/development/commands/on-command-controller.js.map +1 -1
- package/esm/development/commands/on-command.js +7 -6
- package/esm/development/commands/on-command.js.map +1 -1
- package/esm/development/commands/use-on-command.js +7 -7
- package/esm/development/consumption/injection.js +8 -8
- package/esm/development/consumption/injection.js.map +1 -1
- package/esm/development/consumption/use-container.js +40 -0
- package/esm/development/consumption/use-container.js.map +1 -0
- package/esm/development/consumption/use-injection.js +8 -8
- package/esm/development/consumption/use-injection.js.map +1 -1
- package/esm/development/consumption/use-scope.js +44 -0
- package/esm/development/consumption/use-scope.js.map +1 -0
- package/esm/development/context/container-context.js +17 -0
- package/esm/development/context/container-context.js.map +1 -0
- package/esm/development/events/on-event-controller.js +11 -9
- package/esm/development/events/on-event-controller.js.map +1 -1
- package/esm/development/events/on-event.js +11 -8
- package/esm/development/events/on-event.js.map +1 -1
- package/esm/development/events/use-on-events.js +8 -8
- package/esm/development/index.js +9 -7
- package/esm/development/index.js.map +1 -1
- package/esm/development/provision/container-provide.js +68 -0
- package/esm/development/provision/container-provide.js.map +1 -0
- package/esm/development/provision/container-provider.js +74 -0
- package/esm/development/provision/container-provider.js.map +1 -0
- package/esm/development/provision/sub-container-provide.js +56 -0
- package/esm/development/provision/sub-container-provide.js.map +1 -0
- package/esm/development/provision/sub-container-provider.js +93 -0
- package/esm/development/provision/sub-container-provider.js.map +1 -0
- package/esm/development/provision/use-container-provision.js +44 -0
- package/esm/development/provision/use-container-provision.js.map +1 -0
- package/esm/development/provision/use-sub-container-provider.js +34 -0
- package/esm/development/provision/use-sub-container-provider.js.map +1 -0
- package/esm/development/queries/on-query-controller.js +9 -8
- package/esm/development/queries/on-query-controller.js.map +1 -1
- package/esm/development/queries/on-query.js +7 -6
- package/esm/development/queries/on-query.js.map +1 -1
- package/esm/development/queries/use-on-query.js +7 -7
- package/esm/production/commands/on-command-controller.js +1 -1
- package/esm/production/commands/on-command-controller.js.map +1 -1
- package/esm/production/commands/on-command.js.map +1 -1
- package/esm/production/consumption/injection.js +1 -1
- package/esm/production/consumption/injection.js.map +1 -1
- package/esm/production/consumption/use-container.js +1 -0
- package/esm/production/consumption/use-container.js.map +1 -0
- package/esm/production/consumption/use-injection.js +1 -1
- package/esm/production/consumption/use-injection.js.map +1 -1
- package/esm/production/consumption/use-scope.js +1 -0
- package/esm/production/consumption/use-scope.js.map +1 -0
- package/esm/production/context/container-context.js +1 -0
- package/esm/production/context/container-context.js.map +1 -0
- package/esm/production/events/on-event-controller.js +1 -1
- package/esm/production/events/on-event-controller.js.map +1 -1
- package/esm/production/events/on-event.js.map +1 -1
- package/esm/production/index.js +1 -1
- package/esm/production/provision/container-provide.js +1 -0
- package/esm/production/provision/container-provide.js.map +1 -0
- package/esm/production/provision/container-provider.js +1 -0
- package/esm/production/provision/container-provider.js.map +1 -0
- package/esm/production/provision/sub-container-provide.js +1 -0
- package/esm/production/provision/sub-container-provide.js.map +1 -0
- package/esm/production/provision/sub-container-provider.js +1 -0
- package/esm/production/provision/sub-container-provider.js.map +1 -0
- package/esm/production/provision/use-container-provision.js +1 -0
- package/esm/production/provision/use-container-provision.js.map +1 -0
- package/esm/production/provision/use-sub-container-provider.js +1 -0
- package/esm/production/provision/use-sub-container-provider.js.map +1 -0
- package/esm/production/queries/on-query-controller.js +1 -1
- package/esm/production/queries/on-query-controller.js.map +1 -1
- package/esm/production/queries/on-query.js.map +1 -1
- package/index.d.ts +413 -291
- package/package.json +2 -2
- package/esm/development/context/ioc-context.js +0 -17
- package/esm/development/context/ioc-context.js.map +0 -1
- package/esm/development/provision/injectables-provide.js +0 -47
- package/esm/development/provision/injectables-provide.js.map +0 -1
- package/esm/development/provision/injectables-provider-controller.js +0 -123
- package/esm/development/provision/injectables-provider-controller.js.map +0 -1
- package/esm/development/provision/ioc-provide.js +0 -55
- package/esm/development/provision/ioc-provide.js.map +0 -1
- package/esm/development/provision/ioc-provider-controller.js +0 -72
- package/esm/development/provision/ioc-provider-controller.js.map +0 -1
- package/esm/development/provision/use-injectables-provider.js +0 -33
- package/esm/development/provision/use-injectables-provider.js.map +0 -1
- package/esm/development/provision/use-ioc-provision.js +0 -29
- package/esm/development/provision/use-ioc-provision.js.map +0 -1
- package/esm/production/context/ioc-context.js +0 -1
- package/esm/production/context/ioc-context.js.map +0 -1
- package/esm/production/provision/injectables-provide.js +0 -1
- package/esm/production/provision/injectables-provide.js.map +0 -1
- package/esm/production/provision/injectables-provider-controller.js +0 -1
- package/esm/production/provision/injectables-provider-controller.js.map +0 -1
- package/esm/production/provision/ioc-provide.js +0 -1
- package/esm/production/provision/ioc-provide.js.map +0 -1
- package/esm/production/provision/ioc-provider-controller.js +0 -1
- package/esm/production/provision/ioc-provider-controller.js.map +0 -1
- package/esm/production/provision/use-injectables-provider.js +0 -1
- package/esm/production/provision/use-injectables-provider.js.map +0 -1
- package/esm/production/provision/use-ioc-provision.js +0 -1
- package/esm/production/provision/use-ioc-provision.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirestate/lit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0-experimental.2",
|
|
4
4
|
"description": "Lit elements integration for wirestate",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"author": "Syrotenko Igor",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@wirestate/core": ">=0.
|
|
50
|
+
"@wirestate/core": ">=0.7.0-experimental.1",
|
|
51
51
|
"@lit/reactive-element": ">=2.0.0",
|
|
52
52
|
"@lit/context": ">=1.0.0",
|
|
53
53
|
"reflect-metadata": ">=0.2.0",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { createContext } from '@lit/context';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Context key for the IoC container.
|
|
5
|
-
*
|
|
6
|
-
* @group context
|
|
7
|
-
*/
|
|
8
|
-
var IOC_CONTAINER_KEY = Symbol("ContainerContext");
|
|
9
|
-
/**
|
|
10
|
-
* Lit context for providing and consuming the IoC container.
|
|
11
|
-
*
|
|
12
|
-
* @group context
|
|
13
|
-
*/
|
|
14
|
-
var ContainerContext = createContext(IOC_CONTAINER_KEY);
|
|
15
|
-
|
|
16
|
-
export { ContainerContext, IOC_CONTAINER_KEY };
|
|
17
|
-
//# sourceMappingURL=ioc-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-context.js","sources":["../../../../../../../../src/wirestate-lit/context/ioc-context.ts"],"sourcesContent":[null],"names":["IOC_CONTAINER_KEY","Symbol","ContainerContext","createContext"],"mappings":";;AAGA;;;;AAIG;IACUA,iBAAiB,GAAkBC,MAAM,CAAC,kBAAkB;AAsBzE;;;;AAIG;IACUC,gBAAgB,GAAGC,aAAa,CAAaH,iBAAiB;;;;"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { InjectablesProviderController } from './injectables-provider-controller.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Decorator that binds a set of injectables to the nearest IoC container for the host element's lifetime.
|
|
5
|
-
*
|
|
6
|
-
* Entries are bound when the host connects and unbound when it disconnects.
|
|
7
|
-
* The decorated accessor or property holds the resulting {@link InjectablesProviderController} instance.
|
|
8
|
-
*
|
|
9
|
-
* @group provision
|
|
10
|
-
*
|
|
11
|
-
* @param options - provisioning options
|
|
12
|
-
* @returns injectables provider decorator instance
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* class MyComponent extends LitElement {
|
|
17
|
-
* @injectablesProvide({ entries: [AuthService, UserService], activate: [AuthService] })
|
|
18
|
-
* public services!: InjectablesProviderController<MyComponent>;
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
function injectablesProvide(options) {
|
|
23
|
-
return function (protoOrTarget, nameOrContext) {
|
|
24
|
-
if (typeof nameOrContext === "object") {
|
|
25
|
-
// Standard decorators:
|
|
26
|
-
nameOrContext.addInitializer(function () {
|
|
27
|
-
protoOrTarget.set.call(this, new InjectablesProviderController(this, options));
|
|
28
|
-
});
|
|
29
|
-
} else {
|
|
30
|
-
var controller_1;
|
|
31
|
-
protoOrTarget.constructor.addInitializer(function (element) {
|
|
32
|
-
controller_1 = new InjectablesProviderController(element, options);
|
|
33
|
-
});
|
|
34
|
-
return {
|
|
35
|
-
get: function () {
|
|
36
|
-
return controller_1;
|
|
37
|
-
},
|
|
38
|
-
set: function () {},
|
|
39
|
-
configurable: true,
|
|
40
|
-
enumerable: true
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export { injectablesProvide };
|
|
47
|
-
//# sourceMappingURL=injectables-provide.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injectables-provide.js","sources":["../../../../../../../../src/wirestate-lit/provision/injectables-provide.ts"],"sourcesContent":[null],"names":["injectablesProvide","options","protoOrTarget","nameOrContext","addInitializer","set","call","InjectablesProviderController","controller_1","constructor","element","get","configurable","enumerable"],"mappings":";;AA0BA;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAUA,kBAAkBA,CAChCC,OAA6C,EAAA;AAE7C,EAAA,OAAQ,UACNC,aAA4G,EAC5GC,aAEkG,EAAA;AAElG,IAAA,IAAI,OAAOA,aAAa,KAAK,QAAQ,EAAE;AACrC;MACAA,aAAa,CAACC,cAAc,CAAC,YAAA;AAC3BF,QAAAA,aAAa,CAACG,GAAG,CAACC,IAAI,CAAC,IAAI,EAAE,IAAIC,6BAA6B,CAAC,IAAuB,EAAEN,OAAO,CAAC,CAAC;AACnG,MAAA,CAAC,CAAC;AACJ,IAAA,CAAC,MAAM;AACL,MAAA,IAAIO,YAAmD;AAEtDN,MAAAA,aAAa,CAACO,WAAsC,CAACL,cAAc,CAAC,UAACM,OAAwB,EAAA;AAC5FF,QAAAA,YAAU,GAAG,IAAID,6BAA6B,CAACG,OAAY,EAAET,OAAO,CAAC;AACvE,MAAA,CAAC,CAAC;MAEF,OAAO;QACLU,GAAG,EAAA,YAAA;AACD,UAAA,OAAOH,YAA8C;QACvD,CAAC;AACDH,QAAAA,GAAG,eAAU,CAAC;AACdO,QAAAA,YAAY,EAAE,IAAI;AAClBC,QAAAA,UAAU,EAAE;OACb;AACH,IAAA;EACF,CAAC;AACH;;;;"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { ContextConsumer } from '@lit/context';
|
|
2
|
-
import { WirestateError, applySeeds, bindEntry, getEntryToken, unapplySeeds } from '@wirestate/core';
|
|
3
|
-
import { ContainerContext } from '../context/ioc-context.js';
|
|
4
|
-
import { ERROR_CODE_INVALID_ARGUMENTS } from '../error/error-code.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Controller that binds a set of injectables to an IoC container when the host connects
|
|
8
|
-
* and unbinds them when the host disconnects.
|
|
9
|
-
*
|
|
10
|
-
* When no `into` context is provided, the controller uses the nearest {@link IocProviderController}
|
|
11
|
-
* ancestor via Lit context. Seeds are applied before entries so that `@Inject(SEEDS_TOKEN)`
|
|
12
|
-
* works during service activation.
|
|
13
|
-
*
|
|
14
|
-
* @group provision
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* class MyComponent extends LitElement {
|
|
19
|
-
* private services = new InjectablesProviderController(this, {
|
|
20
|
-
* entries: [AuthService, UserService],
|
|
21
|
-
* activate: [AuthService],
|
|
22
|
-
* seeds: [[AuthService, { role: "admin" }]],
|
|
23
|
-
* });
|
|
24
|
-
* }
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
var InjectablesProviderController = /** @class */function () {
|
|
28
|
-
/**
|
|
29
|
-
* @param host - the host element
|
|
30
|
-
* @param options - provisioning options
|
|
31
|
-
* @param options.entries - list of service entries to bind to the container
|
|
32
|
-
* @param options.into - target IoC context; if omitted, uses the nearest provider context
|
|
33
|
-
* @param options.activate - list of service identifiers to activate immediately after binding
|
|
34
|
-
* @param options.seeds - seed data applied before binding
|
|
35
|
-
*/
|
|
36
|
-
function InjectablesProviderController(host, options) {
|
|
37
|
-
var _this = this;
|
|
38
|
-
var _a, _b, _c;
|
|
39
|
-
this.host = host;
|
|
40
|
-
/**
|
|
41
|
-
* Tracks the context to which entries are currently bound, for correct cleanup on disconnect.
|
|
42
|
-
*/
|
|
43
|
-
this.boundContext = null;
|
|
44
|
-
this.host.addController(this);
|
|
45
|
-
this.entries = options.entries;
|
|
46
|
-
this.activate = (_a = options.activate) !== null && _a !== void 0 ? _a : null;
|
|
47
|
-
this.seeds = (_b = options.seeds) !== null && _b !== void 0 ? _b : null;
|
|
48
|
-
this.into = (_c = options.into) !== null && _c !== void 0 ? _c : null;
|
|
49
|
-
if (!this.into) {
|
|
50
|
-
// subscribe: false — binding happens once per connect, not on every revision update.
|
|
51
|
-
this.consumer = new ContextConsumer(host, {
|
|
52
|
-
context: ContainerContext,
|
|
53
|
-
subscribe: false,
|
|
54
|
-
callback: function (context) {
|
|
55
|
-
if (!host.isConnected) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
_this.bind(context);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
InjectablesProviderController.prototype.hostConnected = function () {
|
|
64
|
-
var _a;
|
|
65
|
-
if (!this.into) {
|
|
66
|
-
// ContextConsumer with subscribe:false only invokes the user callback once (provided flag stays true
|
|
67
|
-
// after disconnect). On reconnect we fall back to the cached consumer.value so bind() still fires.
|
|
68
|
-
if ((_a = this.consumer) === null || _a === void 0 ? void 0 : _a.value) {
|
|
69
|
-
this.bind(this.consumer.value);
|
|
70
|
-
}
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
var context = typeof this.into === "function" ? this.into() : this.into;
|
|
74
|
-
if (!context) {
|
|
75
|
-
throw new WirestateError(ERROR_CODE_INVALID_ARGUMENTS, "InjectablesProviderController: the 'into' option resolved to null or undefined. " + "Ensure the value or resolver function returns a valid IocContext.");
|
|
76
|
-
}
|
|
77
|
-
this.bind(context);
|
|
78
|
-
};
|
|
79
|
-
InjectablesProviderController.prototype.hostDisconnected = function () {
|
|
80
|
-
if (!this.boundContext) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
this.unbind(this.boundContext);
|
|
84
|
-
};
|
|
85
|
-
InjectablesProviderController.prototype.bind = function (context) {
|
|
86
|
-
if (this.boundContext) {
|
|
87
|
-
// Re-binding without unbinding first would leave stale entries; unbind the previous context.
|
|
88
|
-
this.unbind(this.boundContext);
|
|
89
|
-
}
|
|
90
|
-
this.boundContext = context;
|
|
91
|
-
// Seeds must be applied before binding so @Inject(SEEDS_TOKEN) resolves during activation.
|
|
92
|
-
if (this.seeds) {
|
|
93
|
-
applySeeds(context.container, this.seeds);
|
|
94
|
-
}
|
|
95
|
-
for (var _i = 0, _a = this.entries; _i < _a.length; _i++) {
|
|
96
|
-
var entry = _a[_i];
|
|
97
|
-
bindEntry(context.container, entry);
|
|
98
|
-
}
|
|
99
|
-
if (this.activate) {
|
|
100
|
-
for (var _b = 0, _c = this.activate; _b < _c.length; _b++) {
|
|
101
|
-
var token = _c[_b];
|
|
102
|
-
context.container.get(token);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
InjectablesProviderController.prototype.unbind = function (context) {
|
|
107
|
-
for (var _i = 0, _a = this.entries; _i < _a.length; _i++) {
|
|
108
|
-
var entry = _a[_i];
|
|
109
|
-
var token = getEntryToken(entry);
|
|
110
|
-
if (context.container.isBound(token)) {
|
|
111
|
-
context.container.unbind(token);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (this.seeds) {
|
|
115
|
-
unapplySeeds(context.container, this.seeds);
|
|
116
|
-
}
|
|
117
|
-
this.boundContext = null;
|
|
118
|
-
};
|
|
119
|
-
return InjectablesProviderController;
|
|
120
|
-
}();
|
|
121
|
-
|
|
122
|
-
export { InjectablesProviderController };
|
|
123
|
-
//# sourceMappingURL=injectables-provider-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injectables-provider-controller.js","sources":["../../../../../../../../src/wirestate-lit/provision/injectables-provider-controller.ts"],"sourcesContent":[null],"names":["InjectablesProviderController","host","options","_this","boundContext","addController","entries","activate","_a","seeds","_b","into","_c","consumer","ContextConsumer","context","ContainerContext","subscribe","callback","isConnected","bind","prototype","hostConnected","value","WirestateError","ERROR_CODE_INVALID_ARGUMENTS","hostDisconnected","unbind","applySeeds","container","_i","length","entry","bindEntry","token","get","getEntryToken","isBound","unapplySeeds"],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { IocProviderController } from './ioc-provider-controller.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Decorator to provide an IoC container to child components.
|
|
5
|
-
*
|
|
6
|
-
* @group provision
|
|
7
|
-
*
|
|
8
|
-
* @param options - provisioning options including container and seed data
|
|
9
|
-
* @param options.container - optional existing container to use, if not provided, a new one will be created
|
|
10
|
-
* @param options.seed - optional seed data to apply to the container
|
|
11
|
-
* @returns IOC provision controller instance
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* class MyRootElement extends LitElement {
|
|
16
|
-
* @iocProvide({ seed: { someData: 'value' } })
|
|
17
|
-
* private ioc!: IocProviderController;
|
|
18
|
-
* }
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
function iocProvide(_a) {
|
|
22
|
-
var _b = _a === void 0 ? {} : _a,
|
|
23
|
-
container = _b.container,
|
|
24
|
-
seed = _b.seed;
|
|
25
|
-
return function (protoOrTarget, nameOrContext) {
|
|
26
|
-
if (typeof nameOrContext === "object") {
|
|
27
|
-
// Standard decorators:
|
|
28
|
-
nameOrContext.addInitializer(function () {
|
|
29
|
-
protoOrTarget.set.call(this, new IocProviderController(this, {
|
|
30
|
-
container: container,
|
|
31
|
-
seed: seed
|
|
32
|
-
}));
|
|
33
|
-
});
|
|
34
|
-
} else {
|
|
35
|
-
var controller_1;
|
|
36
|
-
protoOrTarget.constructor.addInitializer(function (element) {
|
|
37
|
-
controller_1 = new IocProviderController(element, {
|
|
38
|
-
container: container,
|
|
39
|
-
seed: seed
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
return {
|
|
43
|
-
get: function () {
|
|
44
|
-
return controller_1;
|
|
45
|
-
},
|
|
46
|
-
set: function () {},
|
|
47
|
-
configurable: true,
|
|
48
|
-
enumerable: true
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { iocProvide };
|
|
55
|
-
//# sourceMappingURL=ioc-provide.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-provide.js","sources":["../../../../../../../../src/wirestate-lit/provision/ioc-provide.ts"],"sourcesContent":[null],"names":["iocProvide","_a","_b","container","seed","protoOrTarget","nameOrContext","addInitializer","set","call","IocProviderController","controller_1","constructor","element","get","configurable","enumerable"],"mappings":";;AAwBA;;;;;;;;;;;;;;;;;AAiBG;AACG,SAAUA,UAAUA,CAA4BC,EAGlB,EAAA;EAHkB,IAAAC,EAAA,GAAAD,EAAA,KAAA,MAAA,GAGpB,EAAE,GAAAA,EAAA;IAFlCE,SAAS,GAAAD,EAAA,CAAAC,SAAA;IACTC,IAAI,GAAAF,EAAA,CAAAE,IAAA;AAEJ,EAAA,OAAQ,UACNC,aAAsF,EACtFC,aAAqG,EAAA;AAErG,IAAA,IAAI,OAAOA,aAAa,KAAK,QAAQ,EAAE;AACrC;MACAA,aAAa,CAACC,cAAc,CAAC,YAAA;QAC3BF,aAAa,CAACG,GAAG,CAACC,IAAI,CAAC,IAAI,EAAE,IAAIC,qBAAqB,CAAC,IAAoB,EAAE;AAAEP,UAAAA,SAAS,EAAAA,SAAA;AAAEC,UAAAA,IAAI,EAAAA;AAAA,SAAE,CAAC,CAAC;AACpG,MAAA,CAAC,CAAC;AACJ,IAAA,CAAC,MAAM;AACL,MAAA,IAAIO,YAA2C;AAE9CN,MAAAA,aAAa,CAACO,WAAsC,CAACL,cAAc,CAAC,UAACM,OAAwB,EAAA;AAC5FF,QAAAA,YAAU,GAAG,IAAID,qBAAqB,CAACG,OAAY,EAAE;AAAEV,UAAAA,SAAS,EAAAA,SAAA;AAAEC,UAAAA,IAAI,EAAAA;AAAA,SAAE,CAAC;AAC3E,MAAA,CAAC,CAAC;MAEF,OAAO;QACLU,GAAG,EAAA,YAAA;AACD,UAAA,OAAOH,YAAsC;QAC/C,CAAC;AACDH,QAAAA,GAAG,eAAU,CAAC;AACdO,QAAAA,YAAY,EAAE,IAAI;AAClBC,QAAAA,UAAU,EAAE;OACb;AACH,IAAA;EACF,CAAC;AACH;;;;"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { ContextProvider } from '@lit/context';
|
|
2
|
-
import { applySharedSeed, createIocContainer } from '@wirestate/core';
|
|
3
|
-
import { ContainerContext } from '../context/ioc-context.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Controller that provides an IoC container context to the host element and its children.
|
|
7
|
-
*
|
|
8
|
-
* It manages the lifecycle of the container and handles revision updates to notify consumers.
|
|
9
|
-
*
|
|
10
|
-
* @group provision
|
|
11
|
-
*/
|
|
12
|
-
var IocProviderController = /** @class */function () {
|
|
13
|
-
/**
|
|
14
|
-
* @param host - the host element
|
|
15
|
-
* @param options - provisioning options
|
|
16
|
-
* @param options.container - optional existing container to use. If not provided, a new one will be created
|
|
17
|
-
* @param options.seed - optional seed data to apply to the container
|
|
18
|
-
*/
|
|
19
|
-
function IocProviderController(host, _a) {
|
|
20
|
-
var _b = _a === void 0 ? {} : _a,
|
|
21
|
-
container = _b.container,
|
|
22
|
-
seed = _b.seed;
|
|
23
|
-
var _this = this;
|
|
24
|
-
this.host = host;
|
|
25
|
-
this.revision = 1;
|
|
26
|
-
this.host.addController(this);
|
|
27
|
-
this.container = container !== null && container !== void 0 ? container : createIocContainer();
|
|
28
|
-
this.seed = seed;
|
|
29
|
-
this.provider = new ContextProvider(host, {
|
|
30
|
-
context: ContainerContext,
|
|
31
|
-
initialValue: {
|
|
32
|
-
container: this.container,
|
|
33
|
-
revision: this.revision,
|
|
34
|
-
nextRevision: function () {
|
|
35
|
-
return _this.nextRevision();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
Object.defineProperty(IocProviderController.prototype, "value", {
|
|
41
|
-
/**
|
|
42
|
-
* @returns current {@link IocContext} value served to child consumers
|
|
43
|
-
*/
|
|
44
|
-
get: function () {
|
|
45
|
-
return this.provider.value;
|
|
46
|
-
},
|
|
47
|
-
enumerable: false,
|
|
48
|
-
configurable: true
|
|
49
|
-
});
|
|
50
|
-
IocProviderController.prototype.hostConnected = function () {
|
|
51
|
-
if (this.seed) {
|
|
52
|
-
applySharedSeed(this.container, this.seed);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
IocProviderController.prototype.hostDisconnected = function () {};
|
|
56
|
-
IocProviderController.prototype.nextRevision = function () {
|
|
57
|
-
var _this = this;
|
|
58
|
-
this.revision += 1;
|
|
59
|
-
this.provider.setValue({
|
|
60
|
-
container: this.container,
|
|
61
|
-
revision: this.revision,
|
|
62
|
-
nextRevision: function () {
|
|
63
|
-
return _this.nextRevision();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
return this.revision;
|
|
67
|
-
};
|
|
68
|
-
return IocProviderController;
|
|
69
|
-
}();
|
|
70
|
-
|
|
71
|
-
export { IocProviderController };
|
|
72
|
-
//# sourceMappingURL=ioc-provider-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-provider-controller.js","sources":["../../../../../../../../src/wirestate-lit/provision/ioc-provider-controller.ts"],"sourcesContent":[null],"names":["IocProviderController","host","_a","_b","container","seed","_this","revision","addController","createIocContainer","provider","ContextProvider","context","ContainerContext","initialValue","nextRevision","Object","defineProperty","prototype","get","value","hostConnected","applySharedSeed","hostDisconnected","setValue"],"mappings":";;;;AA0BA;;;;;;AAMG;AACH,IAAAA,qBAAA,gBAAA,YAAA;AAmBE;;;;;AAKG;AACH,EAAA,SAAAA,qBAAAA,CACmBC,IAAO,EACxBC,EAAsD,EAAA;IAAtD,IAAAC,EAAA,GAAAD,EAAA,KAAA,MAAA,GAAoD,EAAE,GAAAA,EAAA;MAApDE,SAAS,GAAAD,EAAA,CAAAC,SAAA;MAAEC,IAAI,GAAAF,EAAA,CAAAE,IAAA;IAFnB,IAAAC,KAAA,GAAA,IAAA;IACmB,IAAA,CAAAL,IAAI,GAAJA,IAAI;IArBb,IAAA,CAAAM,QAAQ,GAAW,CAAC;AAwB5B,IAAA,IAAI,CAACN,IAAI,CAACO,aAAa,CAAC,IAAI,CAAC;AAE7B,IAAA,IAAI,CAACJ,SAAS,GAAGA,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAATA,SAAS,GAAIK,kBAAkB,EAAE;IAClD,IAAI,CAACJ,IAAI,GAAGA,IAAI;AAShB,IAAA,IAAI,CAACK,QAAQ,GAAG,IAAIC,eAAe,CAACV,IAAI,EAAE;AACxCW,MAAAA,OAAO,EAAEC,gBAAgB;AACzBC,MAAAA,YAAY,EAAE;QACZV,SAAS,EAAE,IAAI,CAACA,SAAS;QACzBG,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBQ,YAAY,EAAE;AAAM,UAAA,OAAAT,KAAI,CAACS,YAAY,EAAE;AAAnB,QAAA;AACrB;AACF,KAAA,CAAC;AACJ,EAAA;EAlCAC,MAAA,CAAAC,cAAA,CAAWjB,qBAAA,CAAAkB,SAAA,EAAA,OAAK,EAAA;AAHhB;;AAEG;IACHC,GAAA,EAAA,YAAA;AACE,MAAA,OAAO,IAAI,CAACT,QAAQ,CAACU,KAAK;IAC5B,CAAC;;;AAAA,GAAA,CAAA;AAkCMpB,EAAAA,qBAAA,CAAAkB,SAAA,CAAAG,aAAa,GAApB,YAAA;IAGE,IAAI,IAAI,CAAChB,IAAI,EAAE;MAMbiB,eAAe,CAAC,IAAI,CAAClB,SAAS,EAAE,IAAI,CAACC,IAAI,CAAC;AAC5C,IAAA;EACF,CAAC;AAEML,EAAAA,qBAAA,CAAAkB,SAAA,CAAAK,gBAAgB,GAAvB,YAAA,CAEA,CAAC;AAEMvB,EAAAA,qBAAA,CAAAkB,SAAA,CAAAH,YAAY,GAAnB,YAAA;IAAA,IAAAT,KAAA,GAAA,IAAA;IAQE,IAAI,CAACC,QAAQ,IAAI,CAAC;AAElB,IAAA,IAAI,CAACG,QAAQ,CAACc,QAAQ,CAAC;MACrBpB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBQ,YAAY,EAAE;AAAM,QAAA,OAAAT,KAAI,CAACS,YAAY,EAAE;AAAnB,MAAA;AACrB,KAAA,CAAC;IAEF,OAAO,IAAI,CAACR,QAAQ;EACtB,CAAC;AACH,EAAA,OAAAP,qBAAC;AAAD,CAAC;;;;"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { InjectablesProviderController } from './injectables-provider-controller.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Binds a set of injectables to the nearest IoC container for the host element's lifetime.
|
|
5
|
-
*
|
|
6
|
-
* Entries are bound when the host connects and unbound when it disconnects.
|
|
7
|
-
*
|
|
8
|
-
* @group provision
|
|
9
|
-
*
|
|
10
|
-
* @param host - the host element
|
|
11
|
-
* @param options - provisioning options
|
|
12
|
-
* @param options.entries - list of service entries to bind to the container
|
|
13
|
-
* @param options.into - target IoC context; if omitted, uses the nearest provider context
|
|
14
|
-
* @param options.activate - list of service identifiers to activate immediately after binding
|
|
15
|
-
* @param options.seeds - seed data applied before binding
|
|
16
|
-
* @returns the controller instance
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* class MyComponent extends LitElement {
|
|
21
|
-
* private services = useInjectablesProvider(this, {
|
|
22
|
-
* entries: [AuthService, UserService],
|
|
23
|
-
* activate: [AuthService],
|
|
24
|
-
* });
|
|
25
|
-
* }
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
function useInjectablesProvider(host, options) {
|
|
29
|
-
return new InjectablesProviderController(host, options);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export { useInjectablesProvider };
|
|
33
|
-
//# sourceMappingURL=use-injectables-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-injectables-provider.js","sources":["../../../../../../../../src/wirestate-lit/provision/use-injectables-provider.ts"],"sourcesContent":[null],"names":["useInjectablesProvider","host","options","InjectablesProviderController"],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACG,SAAUA,sBAAsBA,CACpCC,IAAO,EACPC,OAA6C,EAAA;AAE7C,EAAA,OAAO,IAAIC,6BAA6B,CAAIF,IAAI,EAAEC,OAAO,CAAC;AAC5D;;;;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { IocProviderController } from './ioc-provider-controller.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Hook (controller) to provide an IoC container to the host element and its children.
|
|
5
|
-
*
|
|
6
|
-
* @group provision
|
|
7
|
-
*
|
|
8
|
-
* @param host - the host element
|
|
9
|
-
* @param options - provisioning options
|
|
10
|
-
* @param options.container - optional existing container to use
|
|
11
|
-
* @param options.seed - optional seed data to apply to the container
|
|
12
|
-
* @returns ioc provision controller instance
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* class MyRootElement extends LitElement {
|
|
17
|
-
* private ioc = useIocProvision(this, { seed: { initialData: '...' } });
|
|
18
|
-
* }
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
function useIocProvision(host, options) {
|
|
22
|
-
if (options === void 0) {
|
|
23
|
-
options = {};
|
|
24
|
-
}
|
|
25
|
-
return new IocProviderController(host, options);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export { useIocProvision };
|
|
29
|
-
//# sourceMappingURL=use-ioc-provision.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-ioc-provision.js","sources":["../../../../../../../../src/wirestate-lit/provision/use-ioc-provision.ts"],"sourcesContent":[null],"names":["useIocProvision","host","options","IocProviderController"],"mappings":";;AAuBA;;;;;;;;;;;;;;;;;AAiBG;AACG,SAAUA,eAAeA,CAC7BC,IAAO,EACPC,OAAoC,EAAA;AAApC,EAAA,IAAAA,OAAA,KAAA,MAAA,EAAA;IAAAA,OAAA,GAAA,EAAoC;AAAA,EAAA;AAEpC,EAAA,OAAO,IAAIC,qBAAqB,CAACF,IAAI,EAAEC,OAAO,CAAC;AACjD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createContext as t}from"@lit/context";var o=Symbol("ContainerContext"),r=t(o);export{r as ContainerContext,o as IOC_CONTAINER_KEY};//# sourceMappingURL=ioc-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-context.js","sources":["../../../../../../../../src/wirestate-lit/context/ioc-context.ts"],"sourcesContent":[null],"names":["createContext","IOC_CONTAINER_KEY","Symbol","ContainerContext"],"mappings":"wBAGAA,MAAA,mBAKaC,EAAmCC,OAAO,oBA2B1CC,EAAmBH,EAA0BC,UAAiBE,sBAAAF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{InjectablesProviderController as n}from"./injectables-provider-controller.js";function t(t){return function(e,r){var i;if("object"!=typeof r)return e.constructor.addInitializer((function(e){i=new n(e,t)})),{get:function(){return i},set:function(){},configurable:!0,enumerable:!0};r.addInitializer((function(){e.set.call(this,new n(this,t))}))}}export{t as injectablesProvide};//# sourceMappingURL=injectables-provide.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injectables-provide.js","sources":["../../../../../../../../src/wirestate-lit/provision/injectables-provide.ts"],"sourcesContent":[null],"names":["InjectablesProviderController","injectablesProvide","options","protoOrTarget","nameOrContext","controller_1","constructor","addInitializer","element","get","set","configurable","enumerable","call","this"],"mappings":"wCA0BAA,MAAA,uCAmBM,SAAUC,EACdC,GAEA,OAAQ,SACNC,EACAC,GAUE,IAAIC,EANN,GAA6B,iBAAlBD,EAYT,OAJCD,EAAcG,YAAuCC,gBAAe,SAACC,GACpEH,EAAa,IAAIL,EAA8BQ,EAAcN,EAC/D,IAEO,CACLO,IAAG,WACD,OAAOJ,CACT,EACAK,eAAa,EACbC,cAAc,EACdC,YAAY,GAhBdR,EAAcG,gBAAe,WAC3BJ,EAAcO,IAAIG,KAAKC,KAAM,IAAId,EAA8Bc,KAAyBZ,GAC1F,GAiBJ,CACF,QAAAD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ContextConsumer as t}from"@lit/context";import{WirestateError as n,applySeeds as o,bindEntry as i,getEntryToken as e,unapplySeeds as s}from"@wirestate/core";import{ContainerContext as r}from"../context/ioc-context.js";import{ERROR_CODE_INVALID_ARGUMENTS as h}from"../error/error-code.js";var u=function(){function u(n,o){var i,e,s,h=this;this.host=n,this.boundContext=null,this.host.addController(this),this.entries=o.entries,this.activate=null!==(i=o.activate)&&void 0!==i?i:null,this.seeds=null!==(e=o.seeds)&&void 0!==e?e:null,this.into=null!==(s=o.into)&&void 0!==s?s:null,this.into||(this.consumer=new t(n,{context:r,subscribe:!1,callback:function(t){n.isConnected&&h.bind(t)}}))}return u.prototype.hostConnected=function(){var t;if(this.into){var o="function"==typeof this.into?this.into():this.into;if(!o)throw new n(h,"InjectablesProviderController: the 'into' option resolved to null or undefined. Ensure the value or resolver function returns a valid IocContext.");this.bind(o)}else(null===(t=this.consumer)||void 0===t?void 0:t.value)&&this.bind(this.consumer.value)},u.prototype.hostDisconnected=function(){this.boundContext&&this.unbind(this.boundContext)},u.prototype.bind=function(t){this.boundContext&&this.unbind(this.boundContext),this.boundContext=t,this.seeds&&o(t.container,this.seeds);for(var n=0,e=this.entries;n<e.length;n++){var s=e[n];i(t.container,s)}if(this.activate)for(var r=0,h=this.activate;r<h.length;r++){var u=h[r];t.container.get(u)}},u.prototype.unbind=function(t){for(var n=0,o=this.entries;n<o.length;n++){var i=o[n],r=e(i);t.container.isBound(r)&&t.container.unbind(r)}this.seeds&&s(t.container,this.seeds),this.boundContext=null},u}();export{u as InjectablesProviderController};//# sourceMappingURL=injectables-provider-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injectables-provider-controller.js","sources":["../../../../../../../../src/wirestate-lit/provision/injectables-provider-controller.ts"],"sourcesContent":[null],"names":["ContextConsumer","WirestateError","applySeeds","bindEntry","getEntryToken","unapplySeeds","ContainerContext","ERROR_CODE_INVALID_ARGUMENTS","InjectablesProviderController","host","options","_this","this","boundContext","addController","entries","activate","_a","seeds","_b","into","_c","consumer","context","subscribe","callback","isConnected","bind","prototype","hostConnected","value","hostDisconnected","unbind","container","_i","length","entry","token","get","isBound"],"mappings":"0BAiDAA,MAAA,wCAAAC,gBAAAC,eAAAC,mBAAAC,kBAAAC,MAAA,6CAAAC,MAAA,mEAAAC,MAAA,yBAqBA,IAAAC,EAAA,WAuBE,SAAAA,EACmBC,EACjBC,GAFF,UAAAC,EAAAC,KACmBA,KAAAH,KAAAA,EAXXG,KAAAC,aAAkC,KAgBxCD,KAAKH,KAAKK,cAAcF,MAExBA,KAAKG,QAAUL,EAAQK,QACvBH,KAAKI,SAA2B,QAAhBC,EAAAP,EAAQM,gBAAQ,IAAAC,EAAAA,EAAI,KACpCL,KAAKM,MAAqB,QAAbC,EAAAT,EAAQQ,aAAK,IAAAC,EAAAA,EAAI,KAC9BP,KAAKQ,KAAmB,QAAZC,EAAAX,EAAQU,YAAI,IAAAC,EAAAA,EAAI,KAEvBT,KAAKQ,OAERR,KAAKU,SAAW,IAAItB,EAAgBS,EAAM,CACxCc,QAASjB,EACTkB,WAAW,EACXC,SAAU,SAACF,GACJd,EAAKiB,aAMVf,EAAKgB,KAAKJ,EACZ,IAGN,CAiFF,OA/ESf,EAAAoB,UAAAC,cAAP,iBAGE,GAAKjB,KAAKQ,KAAV,CAUA,IAAMG,EAAkD,mBAAdX,KAAKQ,KAAsBR,KAAKQ,OAASR,KAAKQ,KAExF,IAAKG,EACH,MAAM,IAAItB,EACRM,EACA,qJAKJK,KAAKe,KAAKJ,EAZV,MALmB,UAAbX,KAAKU,gBAAQ,IAAAL,OAAA,EAAAA,EAAEa,QACjBlB,KAAKe,KAAKf,KAAKU,SAASQ,MAiB9B,EAEOtB,EAAAoB,UAAAG,iBAAP,WAGOnB,KAAKC,cAIVD,KAAKoB,OAAOpB,KAAKC,aACnB,EAEQL,EAAAoB,UAAAD,KAAR,SAAaJ,GACPX,KAAKC,cAEPD,KAAKoB,OAAOpB,KAAKC,cAGnBD,KAAKC,aAAeU,EAKhBX,KAAKM,OACPhB,EAAWqB,EAAQU,UAAWrB,KAAKM,OAGrC,IAAoB,IAAAgB,EAAA,EAAAjB,EAAAL,KAAKG,QAALmB,EAAAjB,EAAAkB,OAAAD,IAAc,CAA7B,IAAME,EAAKnB,EAAAiB,GACd/B,EAAUoB,EAAQU,UAAWG,EAC/B,CAEA,GAAIxB,KAAKI,SACP,IAAoB,IAAAG,EAAA,EAAAE,EAAAT,KAAKI,SAALG,EAAAE,EAAAc,OAAAhB,IAAe,CAA9B,IAAMkB,EAAKhB,EAAAF,GACdI,EAAQU,UAAUK,IAAID,EACxB,CAEJ,EAEQ7B,EAAAoB,UAAAI,OAAR,SAAeT,GAGb,IAAoB,IAAAW,EAAA,EAAAjB,EAAAL,KAAKG,QAALmB,EAAAjB,EAAAkB,OAAAD,IAAc,CAA7B,IAAME,EAAKnB,EAAAiB,GACRG,EAA2BjC,EAAcgC,GAE3Cb,EAAQU,UAAUM,QAAQF,IAC5Bd,EAAQU,UAAUD,OAAOK,EAE7B,CAEIzB,KAAKM,OACPb,EAAakB,EAAQU,UAAWrB,KAAKM,OAGvCN,KAAKC,aAAe,IACtB,EACFL,CAAA,CArIA,UAqICA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{IocProviderController as n}from"./ioc-provider-controller.js";function e(e){var t=void 0===e?{}:e,r=t.container,i=t.seed;return function(e,t){var o;if("object"!=typeof t)return e.constructor.addInitializer((function(e){o=new n(e,{container:r,seed:i})})),{get:function(){return o},set:function(){},configurable:!0,enumerable:!0};t.addInitializer((function(){e.set.call(this,new n(this,{container:r,seed:i}))}))}}export{e as iocProvide};//# sourceMappingURL=ioc-provide.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-provide.js","sources":["../../../../../../../../src/wirestate-lit/provision/ioc-provide.ts"],"sourcesContent":[null],"names":["IocProviderController","iocProvide","_a","_b","container","seed","protoOrTarget","nameOrContext","controller_1","constructor","addInitializer","element","get","set","configurable","enumerable","call","this"],"mappings":"gCAwBAA,MAAA,+BAkBM,SAAUC,EAAsCC,GAAA,IAAAC,OAAA,IAAAD,EAGpB,CAAA,EAAEA,EAFlCE,EAASD,EAAAC,UACTC,EAAIF,EAAAE,KAEJ,OAAQ,SACNC,EACAC,GAQE,IAAIC,EANN,GAA6B,iBAAlBD,EAYT,OAJCD,EAAcG,YAAuCC,gBAAe,SAACC,GACpEH,EAAa,IAAIR,EAAsBW,EAAc,CAAEP,UAASA,EAAEC,KAAIA,GACxE,IAEO,CACLO,IAAG,WACD,OAAOJ,CACT,EACAK,eAAa,EACbC,cAAc,EACdC,YAAY,GAhBdR,EAAcG,gBAAe,WAC3BJ,EAAcO,IAAIG,KAAKC,KAAM,IAAIjB,EAAsBiB,KAAsB,CAAEb,UAASA,EAAEC,KAAIA,IAChG,GAiBJ,CACF,QAAAJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ContextProvider as t}from"@lit/context";import{applySharedSeed as i,createIocContainer as e}from"@wirestate/core";import{ContainerContext as n}from"../context/ioc-context.js";var o=function(){function o(i,o){var r=void 0===o?{}:o,s=r.container,c=r.seed,h=this;this.host=i,this.revision=1,this.host.addController(this),this.container=null!=s?s:e(),this.seed=c,this.provider=new t(i,{context:n,initialValue:{container:this.container,revision:this.revision,nextRevision:function(){return h.nextRevision()}}})}return Object.defineProperty(o.prototype,"value",{get:function(){return this.provider.value},enumerable:!1,configurable:!0}),o.prototype.hostConnected=function(){this.seed&&i(this.container,this.seed)},o.prototype.hostDisconnected=function(){},o.prototype.nextRevision=function(){var t=this;return this.revision+=1,this.provider.setValue({container:this.container,revision:this.revision,nextRevision:function(){return t.nextRevision()}}),this.revision},o}();export{o as IocProviderController};//# sourceMappingURL=ioc-provider-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-provider-controller.js","sources":["../../../../../../../../src/wirestate-lit/provision/ioc-provider-controller.ts"],"sourcesContent":[null],"names":["ContextProvider","applySharedSeed","createIocContainer","ContainerContext","IocProviderController","host","_a","_b","container","seed","_this","this","revision","addController","provider","context","initialValue","nextRevision","Object","defineProperty","prototype","get","value","hostConnected","hostDisconnected","setValue"],"mappings":"0BA0BAA,MAAA,yCAAAC,wBAAAC,MAAA,6CAAAC,MAAA,4BAOA,IAAAC,EAAA,WAyBE,SAAAA,EACmBC,EACjBC,GAAA,IAAAC,OAAA,IAAAD,EAAoD,CAAA,EAAEA,EAApDE,EAASD,EAAAC,UAAEC,EAAIF,EAAAE,KAFnBC,EAAAC,KACmBA,KAAAN,KAAAA,EArBTM,KAAAC,SAAmB,EAwB3BD,KAAKN,KAAKQ,cAAcF,MAExBA,KAAKH,UAAYA,QAAAA,EAAaN,IAC9BS,KAAKF,KAAOA,EASZE,KAAKG,SAAW,IAAId,EAAgBK,EAAM,CACxCU,QAASZ,EACTa,aAAc,CACZR,UAAWG,KAAKH,UAChBI,SAAUD,KAAKC,SACfK,aAAc,WAAM,OAAAP,EAAKO,cAAL,IAG1B,CAqCF,OAvEEC,OAAAC,eAAWf,EAAAgB,UAAA,QAAK,CAAhBC,IAAA,WACE,OAAOV,KAAKG,SAASQ,KACvB,kCAkCOlB,EAAAgB,UAAAG,cAAP,WAGMZ,KAAKF,MAMPR,EAAgBU,KAAKH,UAAWG,KAAKF,KAEzC,EAEOL,EAAAgB,UAAAI,iBAAP,WAEA,EAEOpB,EAAAgB,UAAAH,aAAP,WAAA,IAAAP,EAAAC,KAgBE,OARAA,KAAKC,UAAY,EAEjBD,KAAKG,SAASW,SAAS,CACrBjB,UAAWG,KAAKH,UAChBI,SAAUD,KAAKC,SACfK,aAAc,WAAM,OAAAP,EAAKO,cAAL,IAGfN,KAAKC,QACd,EACFR,CAAA,CAtFA,UAsFCA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{InjectablesProviderController as r}from"./injectables-provider-controller.js";function e(e,o){return new r(e,o)}export{e as useInjectablesProvider};//# sourceMappingURL=use-injectables-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-injectables-provider.js","sources":["../../../../../../../../src/wirestate-lit/provision/use-injectables-provider.ts"],"sourcesContent":[null],"names":["InjectablesProviderController","useInjectablesProvider","host","options"],"mappings":"wCAIAA,MAAA,uCAyBM,SAAUC,EACdC,EACAC,GAEA,OAAO,IAAIH,EAAiCE,EAAMC,EACpD,QAAAF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{IocProviderController as o}from"./ioc-provider-controller.js";function r(r,e){return void 0===e&&(e={}),new o(r,e)}export{r as useIocProvision};//# sourceMappingURL=use-ioc-provision.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-ioc-provision.js","sources":["../../../../../../../../src/wirestate-lit/provision/use-ioc-provision.ts"],"sourcesContent":[null],"names":["IocProviderController","useIocProvision","host","options"],"mappings":"gCAuBAA,MAAA,+BAkBM,SAAUC,EACdC,EACAC,GAEA,YAFA,IAAAA,IAAAA,EAAA,CAAA,GAEO,IAAIH,EAAsBE,EAAMC,EACzC,QAAAF"}
|