@typewirets/core 0.1.0 → 0.2.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 +33 -0
- package/README.md +21 -0
- package/dist/cjs/index.d.ts +65 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +121 -17
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +1 -0
- package/dist/esm/index.d.ts +65 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +121 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +65 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +121 -17
- package/dist/types/index.js.map +1 -1
- package/package.json +8 -9
- package/src/index.ts +0 -1544
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
- **New: `container.preload(opts?)` creates singletons ahead of time,** so they can be read with `getInstanceSync` afterwards. Without options it creates every singleton bound at the time of the call; with `{ wires }`, only those wires and their imports. Creations run in parallel, wires that aren't singletons are skipped, and values already created are kept, so a later call creates only what is new. A failure rejects with that creation's own error, and the other creations still finish and are cached. New type: `PreloadOpts`. See "Preloading" in the README.
|
|
6
|
+
- **`container.getAllAsync()` is deprecated** in favour of `preload`. It resolves bindings one at a time and also creates a value for every transient binding. It still works.
|
|
7
|
+
- **A singleton is created once, even when `getSync` runs while it is being created.** `getSync` (and `getInstanceSync`) used to start a second creation when an async creation was already in flight, so early callers and later callers held different instances. It now throws `AsyncOnlyBinding`, marked `retriable` also when called as `container.getSync`, and leaves the in-flight creation alone. This mostly hit `createWith` wires, which always create asynchronously ([#21](https://github.com/typewirets/typewirets/issues/21)).
|
|
8
|
+
- **A creation started before `unbind` no longer touches the cache.** Its value still goes to the callers that asked for it, but the new binding's value is the one cached, and a failing old creation no longer clears the new binding's in-flight creation ([#21](https://github.com/typewirets/typewirets/issues/21)).
|
|
9
|
+
- **A failing creation started by `getSync` no longer causes an unhandled rejection.** When `getSync` or `getInstanceSync` started an async creation that later failed, and no `get` was waiting for it, Node reported an unhandled rejection, which ends the process by default. A `get` that joins the creation still receives the error.
|
|
10
|
+
- A test now pins that a value still being created when a wire is re-applied is kept ([#17](https://github.com/typewirets/typewirets/issues/17)).
|
|
11
|
+
- **Node.js 22 or later is required.** `engines.node` is now `>=22`, because Node.js 20 reached end-of-life on 30 April 2026. CI tests Node.js 22, 24 and 26.
|
|
12
|
+
|
|
13
|
+
### Also in this release: changes prepared as 0.1.1, which was never published
|
|
14
|
+
|
|
15
|
+
Fixes three singleton-cache behaviours that diverged from the typewire contract shared with the Python and Go ports, and fixes loading the package with CommonJS `require()`.
|
|
16
|
+
|
|
17
|
+
- **A singleton whose value is falsy is still cached.** The cache lookup tested the stored value for truthiness, so a creator returning `0`, `""`, `false`, `null` or `undefined` ran again on every resolve. The lookup now checks whether an entry exists.
|
|
18
|
+
- **An override applied after the singleton is cached has no effect on that value.** `apply` (including `wire.withCreator(...).apply(container)`) unbound the existing token before binding the new wire, which also threw away the cached value. `apply` now only calls `bind`, and the container decides what happens to a value it already holds. `TypeWireContainer.bind` replaces the binding but keeps a value that already exists or is still being created, so the new binding only affects values not yet created in that container. An override applied before the first resolve still takes effect. To discard a cached value on purpose, call `container.unbind(wire.type)` before re-applying.
|
|
19
|
+
- **An override of an import applied after the importer is cached leaves the importer's value alone.** Because of the same `apply` change, the import keeps the instance already built through the importer, so callers that hold the importer and callers that resolve the import directly get the same value.
|
|
20
|
+
- **CommonJS `require()` works.** The package is `"type": "module"`, so Node loaded the CommonJS build in `dist/cjs` as an ES module: `require()` from plain Node (TypeScript compiled to CommonJS, ts-node) threw `ReferenceError: exports is not defined`. Bundlers, Jest and ESM `import` were not affected. The build now writes `dist/cjs/package.json` with `{"type":"commonjs"}`.
|
|
21
|
+
|
|
22
|
+
#### Notes for `BindingContext` implementers
|
|
23
|
+
|
|
24
|
+
- `bind` must replace an existing binding for the same type, because `apply` no longer unbinds first. Its return type is now `void | Promise<void>`, and `apply` awaits it.
|
|
25
|
+
- The Inversify adapter's `bind` now does the unbind itself, so its behaviour is unchanged: re-applying still discards Inversify's cached instance.
|
|
26
|
+
|
|
27
|
+
## 0.2.0-rc.1
|
|
28
|
+
|
|
29
|
+
Release candidate for 0.2.0, with the same changes. They are listed under 0.2.0.
|
|
30
|
+
|
|
31
|
+
## 0.1.0
|
|
32
|
+
|
|
33
|
+
- Initial release.
|
package/README.md
CHANGED
|
@@ -109,6 +109,27 @@ const userServiceWire = typeWireOf({
|
|
|
109
109
|
});
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
+
### Preloading
|
|
113
|
+
|
|
114
|
+
Getting a value is async: `getInstance` returns a promise, because any creator, or an override applied later with `withCreator`, may be async. To read values synchronously, create them ahead of time with `container.preload`, then use `getInstanceSync`:
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
const container = new TypeWireContainer();
|
|
118
|
+
await shellWireGroup.apply(container);
|
|
119
|
+
|
|
120
|
+
// Startup: the wires the app needs first, and their imports, in parallel.
|
|
121
|
+
await container.preload({ wires: shellWireGroup.wires });
|
|
122
|
+
|
|
123
|
+
const config = configWire.getInstanceSync(container); // no await
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
- `container.preload()` with no options creates every singleton bound at the time of the call. That suits small apps, servers and tests.
|
|
127
|
+
- `preload({ wires })` creates those wires and their imports. Call it once per phase of your app (startup, after login, when a feature loads), so each phase waits only for what it needs.
|
|
128
|
+
- Values already created are kept, so a later `preload` creates only what's new. Wires that aren't singletons are skipped, because their values aren't cached.
|
|
129
|
+
- If a creation fails, `preload` rejects with that creation's error; the other creations still finish and are cached.
|
|
130
|
+
|
|
131
|
+
`container.getAllAsync()` is deprecated in favour of `preload`: it resolves bindings one at a time and also creates every transient binding.
|
|
132
|
+
|
|
112
133
|
### Composing Services
|
|
113
134
|
|
|
114
135
|
TypeWire makes it easy to compose and override services:
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -102,11 +102,13 @@ export interface ResolutionContext {
|
|
|
102
102
|
*/
|
|
103
103
|
export interface BindingContext {
|
|
104
104
|
/**
|
|
105
|
-
* Binds a Typewire to the container
|
|
105
|
+
* Binds a Typewire to the container, replacing any existing binding for the
|
|
106
|
+
* same type. What happens to a value the container already created for that
|
|
107
|
+
* type is up to the container.
|
|
106
108
|
*
|
|
107
109
|
* @param typeWire The Typewire to bind
|
|
108
110
|
*/
|
|
109
|
-
bind(typeWire: AnyTypeWire): void
|
|
111
|
+
bind(typeWire: AnyTypeWire): void | Promise<void>;
|
|
110
112
|
/**
|
|
111
113
|
* Removes a binding from the container.
|
|
112
114
|
*
|
|
@@ -402,6 +404,14 @@ export declare class StandardTypeWire<T> implements TypeWire<T> {
|
|
|
402
404
|
/**
|
|
403
405
|
* Registers this provider with a dependency binder.
|
|
404
406
|
*
|
|
407
|
+
* The binder owns its cached values: on a `TypeWireContainer`, re-applying a
|
|
408
|
+
* wire for a token that is already bound replaces the binding but keeps any
|
|
409
|
+
* value already created (or being created) for that token, so the new
|
|
410
|
+
* binding only takes effect for values not yet created in that container.
|
|
411
|
+
* Call `unbind` first to discard the cached value. An override that changes
|
|
412
|
+
* the scope (for example singleton to transient) does not reuse the cached
|
|
413
|
+
* value, because resolution follows the new binding's scope.
|
|
414
|
+
*
|
|
405
415
|
* @param binder The dependency binder to register with
|
|
406
416
|
* @returns A promise that resolves when registration is complete
|
|
407
417
|
*/
|
|
@@ -511,6 +521,17 @@ export interface TypeWireContianerOpts {
|
|
|
511
521
|
* @template T The type of the action's result
|
|
512
522
|
* @throws {TypeWireError | Error} If the action fails
|
|
513
523
|
*/
|
|
524
|
+
/**
|
|
525
|
+
* Options for {@link TypeWireContainer.preload}.
|
|
526
|
+
*/
|
|
527
|
+
export interface PreloadOpts {
|
|
528
|
+
/**
|
|
529
|
+
* The wires to create, with the imports they resolve. Omit to create every
|
|
530
|
+
* singleton bound at the time of the call. Wires whose binding is not a
|
|
531
|
+
* singleton are skipped. To preload a group, pass its `wires`.
|
|
532
|
+
*/
|
|
533
|
+
wires?: readonly AnyTypeWire[];
|
|
534
|
+
}
|
|
514
535
|
export type SyncAction<T> = () => T;
|
|
515
536
|
/**
|
|
516
537
|
* An asynchronous action that can be passed to the ResolutionMonitor.
|
|
@@ -726,7 +747,8 @@ export declare class TypeWireContainer implements ResolutionContext, BindingCont
|
|
|
726
747
|
*/
|
|
727
748
|
private getNextRequestId;
|
|
728
749
|
/**
|
|
729
|
-
* Binds a provider to the container.
|
|
750
|
+
* Binds a provider to the container, replacing any existing binding for the same type.
|
|
751
|
+
* A singleton instance already created for the type is kept; use `unbind` to discard it.
|
|
730
752
|
* @param provider The provider to bind
|
|
731
753
|
*/
|
|
732
754
|
bind(wire: AnyTypeWire): void;
|
|
@@ -760,8 +782,48 @@ export declare class TypeWireContainer implements ResolutionContext, BindingCont
|
|
|
760
782
|
* @throws Error if the dependency is not found or if a circular dependency is detected
|
|
761
783
|
*/
|
|
762
784
|
get<T>(typeSymbol: TypeSymbol<T>): Promise<T>;
|
|
785
|
+
/**
|
|
786
|
+
* Creates singleton values ahead of time, so they can be read synchronously
|
|
787
|
+
* with `getInstanceSync` (or `useTypeWire` in React) afterwards.
|
|
788
|
+
*
|
|
789
|
+
* Without `wires`, every singleton bound when you call it is created. With
|
|
790
|
+
* `wires`, only those wires and the imports they resolve are created. Wires
|
|
791
|
+
* whose binding is not a singleton (for example transient) are skipped:
|
|
792
|
+
* their values aren't cached, so there is nothing to read later. Values
|
|
793
|
+
* already created are kept, so calling `preload` again creates only what is
|
|
794
|
+
* new. Wires bound after the call are not included.
|
|
795
|
+
*
|
|
796
|
+
* Creations run in parallel. If one fails, the returned promise rejects
|
|
797
|
+
* with that creation's own error, as `Promise.all` does, and the other
|
|
798
|
+
* creations still finish and are cached. A wire in `wires` that isn't bound
|
|
799
|
+
* rejects with a `BindingNotFound` error.
|
|
800
|
+
*
|
|
801
|
+
* @param opts Optional settings; see {@link PreloadOpts}
|
|
802
|
+
* @returns A promise that resolves once every selected value is created
|
|
803
|
+
*
|
|
804
|
+
* @example
|
|
805
|
+
* ```typescript
|
|
806
|
+
* // At startup: everything the shell needs.
|
|
807
|
+
* await container.preload({ wires: [configWire, authWire] });
|
|
808
|
+
*
|
|
809
|
+
* // Later, when a feature loads:
|
|
810
|
+
* await reportsWireGroup.apply(container);
|
|
811
|
+
* await container.preload({ wires: reportsWireGroup.wires });
|
|
812
|
+
*
|
|
813
|
+
* // Small apps and tests: every bound singleton.
|
|
814
|
+
* await container.preload();
|
|
815
|
+
*
|
|
816
|
+
* const config = configWire.getInstanceSync(container);
|
|
817
|
+
* ```
|
|
818
|
+
*/
|
|
819
|
+
preload(opts?: PreloadOpts): Promise<void>;
|
|
763
820
|
/**
|
|
764
821
|
* Gets all instances from the container asynchronously.
|
|
822
|
+
*
|
|
823
|
+
* @deprecated Use {@link TypeWireContainer.preload} to create singletons
|
|
824
|
+
* ahead of time, then read them with `getInstanceSync`. This method resolves
|
|
825
|
+
* bindings one at a time and also creates a value for every transient
|
|
826
|
+
* binding.
|
|
765
827
|
* @returns A promise that resolves to a map of all instances
|
|
766
828
|
*/
|
|
767
829
|
getAllAsync(): Promise<Map<symbol, unknown>>;
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,IAAI;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AAEH,KAAK,OAAO,GAAG,GAAG,CAAC;AAEnB;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AAwBhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEzC;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -115,6 +115,14 @@ class StandardTypeWire {
|
|
|
115
115
|
/**
|
|
116
116
|
* Registers this provider with a dependency binder.
|
|
117
117
|
*
|
|
118
|
+
* The binder owns its cached values: on a `TypeWireContainer`, re-applying a
|
|
119
|
+
* wire for a token that is already bound replaces the binding but keeps any
|
|
120
|
+
* value already created (or being created) for that token, so the new
|
|
121
|
+
* binding only takes effect for values not yet created in that container.
|
|
122
|
+
* Call `unbind` first to discard the cached value. An override that changes
|
|
123
|
+
* the scope (for example singleton to transient) does not reuse the cached
|
|
124
|
+
* value, because resolution follows the new binding's scope.
|
|
125
|
+
*
|
|
118
126
|
* @param binder The dependency binder to register with
|
|
119
127
|
* @returns A promise that resolves when registration is complete
|
|
120
128
|
*/
|
|
@@ -126,10 +134,7 @@ class StandardTypeWire {
|
|
|
126
134
|
}
|
|
127
135
|
}
|
|
128
136
|
}
|
|
129
|
-
|
|
130
|
-
await binder.unbind(this.type);
|
|
131
|
-
}
|
|
132
|
-
binder.bind(this);
|
|
137
|
+
await binder.bind(this);
|
|
133
138
|
}
|
|
134
139
|
/**
|
|
135
140
|
* Retrieves an instance of type T synchronously.
|
|
@@ -591,7 +596,8 @@ class ResolutionState {
|
|
|
591
596
|
return this.bindings.has(typeSymbol.symbol);
|
|
592
597
|
}
|
|
593
598
|
/**
|
|
594
|
-
* Registers a
|
|
599
|
+
* Registers a TypeWire binding, replacing any existing binding for the same symbol.
|
|
600
|
+
* A singleton instance or in-flight resolution already held for the symbol is kept.
|
|
595
601
|
* @param wire The TypeWire instance to register
|
|
596
602
|
*/
|
|
597
603
|
bind(wire) {
|
|
@@ -607,6 +613,15 @@ class ResolutionState {
|
|
|
607
613
|
this.singletons.delete(typeSymbol.symbol);
|
|
608
614
|
this.resolutions.delete(typeSymbol.symbol);
|
|
609
615
|
}
|
|
616
|
+
/**
|
|
617
|
+
* Checks if a singleton instance is cached for a type symbol.
|
|
618
|
+
* A cached instance may be any value, including falsy ones such as `0` or `null`.
|
|
619
|
+
* @param typeSymbol The type symbol to check
|
|
620
|
+
* @returns true if a singleton instance is cached, false otherwise
|
|
621
|
+
*/
|
|
622
|
+
hasSingletonValue(typeSymbol) {
|
|
623
|
+
return this.singletons.has(typeSymbol.symbol);
|
|
624
|
+
}
|
|
610
625
|
/**
|
|
611
626
|
* Gets the cached singleton instance for a type symbol.
|
|
612
627
|
* @template T The type of the singleton instance
|
|
@@ -629,21 +644,36 @@ class ResolutionState {
|
|
|
629
644
|
* Registers a new resolution promise and sets up handlers to update the singleton cache.
|
|
630
645
|
* This method ensures that singleton instances are properly cached once resolved
|
|
631
646
|
* and that in-progress resolutions are tracked.
|
|
647
|
+
*
|
|
648
|
+
* A resolution only touches the cache while it is still the current one for its
|
|
649
|
+
* symbol. If the symbol was unbound while it was in flight, its value goes to
|
|
650
|
+
* its own callers but is never cached, and it never removes a newer resolution.
|
|
651
|
+
* The first value cached for a binding is kept: nothing else writes the cache
|
|
652
|
+
* while a current resolution is in flight, because `get` and `getSync` both
|
|
653
|
+
* check for one before creating.
|
|
632
654
|
* @template T The type of the instance being resolved
|
|
633
655
|
* @param typeSymbol The type symbol being resolved
|
|
634
656
|
* @param created The promise that will resolve to the instance
|
|
635
657
|
* @returns The updated promise that includes caching logic
|
|
636
658
|
*/
|
|
637
659
|
registerResolution(typeSymbol, created) {
|
|
660
|
+
const symbol = typeSymbol.symbol;
|
|
661
|
+
// Reads `updated` before its declaration below. That is safe: `isCurrent` is
|
|
662
|
+
// only called from the `then`/`finally` callbacks, which always run later.
|
|
663
|
+
const isCurrent = () => this.resolutions.get(symbol) === updated;
|
|
638
664
|
const updated = created
|
|
639
665
|
.then((value) => {
|
|
640
|
-
|
|
666
|
+
if (isCurrent()) {
|
|
667
|
+
this.singletons.set(symbol, value);
|
|
668
|
+
}
|
|
641
669
|
return value;
|
|
642
670
|
})
|
|
643
671
|
.finally(() => {
|
|
644
|
-
|
|
672
|
+
if (isCurrent()) {
|
|
673
|
+
this.resolutions.delete(symbol);
|
|
674
|
+
}
|
|
645
675
|
});
|
|
646
|
-
this.resolutions.set(
|
|
676
|
+
this.resolutions.set(symbol, updated);
|
|
647
677
|
return updated;
|
|
648
678
|
}
|
|
649
679
|
/**
|
|
@@ -657,6 +687,15 @@ class ResolutionState {
|
|
|
657
687
|
this.singletons.set(typeSymbol.symbol, result);
|
|
658
688
|
}
|
|
659
689
|
}
|
|
690
|
+
/**
|
|
691
|
+
* The error `getSync` throws for a singleton whose value is being created
|
|
692
|
+
* asynchronously. It is retriable: once the value is cached, `getSync` succeeds.
|
|
693
|
+
*/
|
|
694
|
+
function singletonNotReady() {
|
|
695
|
+
const err = TypeWireError.asyncBindingOnly();
|
|
696
|
+
err.retriable = true;
|
|
697
|
+
return err;
|
|
698
|
+
}
|
|
660
699
|
/**
|
|
661
700
|
* Provides an isolated resolution context for a single dependency resolution chain.
|
|
662
701
|
*
|
|
@@ -696,9 +735,8 @@ class ScopedResolutionContext {
|
|
|
696
735
|
const creator = binding.creator;
|
|
697
736
|
const scope = binding.scope ?? ScopeSingleton;
|
|
698
737
|
if (scope === ScopeSingleton) {
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
return singleton;
|
|
738
|
+
if (this.resolutionState.hasSingletonValue(typeSymbol)) {
|
|
739
|
+
return this.resolutionState.getSingletonValue(typeSymbol);
|
|
702
740
|
}
|
|
703
741
|
const resolver = this.resolutionState.getRunningResolver(typeSymbol);
|
|
704
742
|
if (resolver) {
|
|
@@ -725,6 +763,11 @@ class ScopedResolutionContext {
|
|
|
725
763
|
* @returns An instance of type T
|
|
726
764
|
* @throws Error if the dependency is not found, if the creator is asynchronous,
|
|
727
765
|
* or if a circular dependency is detected
|
|
766
|
+
* @throws {TypeWireError} with reason `AsyncOnlyBinding` while a singleton's value
|
|
767
|
+
* is still being created, even if the binding now in place has a
|
|
768
|
+
* synchronous creator (for example, after a re-apply). The creator is not
|
|
769
|
+
* run again. The error is `retriable`: retry once the value is cached, or
|
|
770
|
+
* use `get`.
|
|
728
771
|
*/
|
|
729
772
|
getSync(typeSymbol) {
|
|
730
773
|
return this.resolutionRequestMonitor.monitor(typeSymbol, () => {
|
|
@@ -732,14 +775,23 @@ class ScopedResolutionContext {
|
|
|
732
775
|
const creator = binding.creator;
|
|
733
776
|
const scope = binding.scope ?? ScopeSingleton;
|
|
734
777
|
if (scope === ScopeSingleton) {
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
778
|
+
if (this.resolutionState.hasSingletonValue(typeSymbol)) {
|
|
779
|
+
return this.resolutionState.getSingletonValue(typeSymbol);
|
|
780
|
+
}
|
|
781
|
+
// getSync cannot wait for a creation already in flight, and must not
|
|
782
|
+
// start a second one: tell the caller to retry later or use `get`.
|
|
783
|
+
if (this.resolutionState.getRunningResolver(typeSymbol)) {
|
|
784
|
+
throw singletonNotReady();
|
|
738
785
|
}
|
|
739
786
|
const result = creator(this);
|
|
740
787
|
if (isPromise(result)) {
|
|
741
|
-
this.
|
|
742
|
-
|
|
788
|
+
// No caller here awaits this creation. A later `get` joins it and
|
|
789
|
+
// receives any failure; without one, the failure must not surface as
|
|
790
|
+
// an unhandled rejection (which ends a Node process by default).
|
|
791
|
+
this.resolutionState
|
|
792
|
+
.registerResolution(typeSymbol, result)
|
|
793
|
+
.catch(() => { });
|
|
794
|
+
throw singletonNotReady();
|
|
743
795
|
}
|
|
744
796
|
this.resolutionState.registerSingleton(typeSymbol, result);
|
|
745
797
|
return result;
|
|
@@ -801,7 +853,8 @@ class TypeWireContainer {
|
|
|
801
853
|
return nextSequence;
|
|
802
854
|
}
|
|
803
855
|
/**
|
|
804
|
-
* Binds a provider to the container.
|
|
856
|
+
* Binds a provider to the container, replacing any existing binding for the same type.
|
|
857
|
+
* A singleton instance already created for the type is kept; use `unbind` to discard it.
|
|
805
858
|
* @param provider The provider to bind
|
|
806
859
|
*/
|
|
807
860
|
bind(wire) {
|
|
@@ -851,8 +904,59 @@ class TypeWireContainer {
|
|
|
851
904
|
const context = this.getScopedResolutionContext();
|
|
852
905
|
return context.get(typeSymbol);
|
|
853
906
|
}
|
|
907
|
+
/**
|
|
908
|
+
* Creates singleton values ahead of time, so they can be read synchronously
|
|
909
|
+
* with `getInstanceSync` (or `useTypeWire` in React) afterwards.
|
|
910
|
+
*
|
|
911
|
+
* Without `wires`, every singleton bound when you call it is created. With
|
|
912
|
+
* `wires`, only those wires and the imports they resolve are created. Wires
|
|
913
|
+
* whose binding is not a singleton (for example transient) are skipped:
|
|
914
|
+
* their values aren't cached, so there is nothing to read later. Values
|
|
915
|
+
* already created are kept, so calling `preload` again creates only what is
|
|
916
|
+
* new. Wires bound after the call are not included.
|
|
917
|
+
*
|
|
918
|
+
* Creations run in parallel. If one fails, the returned promise rejects
|
|
919
|
+
* with that creation's own error, as `Promise.all` does, and the other
|
|
920
|
+
* creations still finish and are cached. A wire in `wires` that isn't bound
|
|
921
|
+
* rejects with a `BindingNotFound` error.
|
|
922
|
+
*
|
|
923
|
+
* @param opts Optional settings; see {@link PreloadOpts}
|
|
924
|
+
* @returns A promise that resolves once every selected value is created
|
|
925
|
+
*
|
|
926
|
+
* @example
|
|
927
|
+
* ```typescript
|
|
928
|
+
* // At startup: everything the shell needs.
|
|
929
|
+
* await container.preload({ wires: [configWire, authWire] });
|
|
930
|
+
*
|
|
931
|
+
* // Later, when a feature loads:
|
|
932
|
+
* await reportsWireGroup.apply(container);
|
|
933
|
+
* await container.preload({ wires: reportsWireGroup.wires });
|
|
934
|
+
*
|
|
935
|
+
* // Small apps and tests: every bound singleton.
|
|
936
|
+
* await container.preload();
|
|
937
|
+
*
|
|
938
|
+
* const config = configWire.getInstanceSync(container);
|
|
939
|
+
* ```
|
|
940
|
+
*/
|
|
941
|
+
async preload(opts) {
|
|
942
|
+
const targets = opts?.wires
|
|
943
|
+
? opts.wires.map((wire) => wire.type)
|
|
944
|
+
: this.resolutionState.getAllBindings().map((wire) => wire.type);
|
|
945
|
+
await Promise.all(targets.map(async (typeSymbol) => {
|
|
946
|
+
const binding = this.resolutionState.getBinding(typeSymbol);
|
|
947
|
+
if ((binding.scope ?? ScopeSingleton) !== ScopeSingleton) {
|
|
948
|
+
return;
|
|
949
|
+
}
|
|
950
|
+
await this.get(typeSymbol);
|
|
951
|
+
}));
|
|
952
|
+
}
|
|
854
953
|
/**
|
|
855
954
|
* Gets all instances from the container asynchronously.
|
|
955
|
+
*
|
|
956
|
+
* @deprecated Use {@link TypeWireContainer.preload} to create singletons
|
|
957
|
+
* ahead of time, then read them with `getInstanceSync`. This method resolves
|
|
958
|
+
* bindings one at a time and also creates a value for every transient
|
|
959
|
+
* binding.
|
|
856
960
|
* @returns A promise that resolves to a map of all instances
|
|
857
961
|
*/
|
|
858
962
|
async getAllAsync() {
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAyXH,0CAIC;AA0CD,8CAKC;AAsJD,oCAEC;AA4CD,gCAoDC;AA7mBD;;;;GAIG;AACH,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC;;;;GAIG;AACH,SAAS,cAAc,CAAC,UAAgC;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,iBAAiB,CAAC;AAC5D,CAAC;AA0ND;;;;;;GAMG;AACH,MAAa,qBAAqB;IAChC;;;;OAIG;IACH,YAAqB,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,eAAe,CAAC,QAA2B;QAC/C,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,QAA2B;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,UAAyB;QACtC,OAAO,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAsB;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAjCD,sDAiCC;AA4CD,SAAgB,eAAe,CAC7B,KAA0B;IAE1B,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AA0CD,SAAgB,iBAAiB,CAC/B,UAA8B;IAE9B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAmBD;;;;GAIG;AACH,MAAa,gBAAgB;IAC3B;;;;;;OAMG;IACH,YACW,IAAmB,EACnB,OAAmB,EACnB,KAAc,EACd,OAAuB;QAHvB,SAAI,GAAJ,IAAI,CAAe;QACnB,YAAO,GAAP,OAAO,CAAY;QACnB,UAAK,GAAL,KAAK,CAAS;QACd,YAAO,GAAP,OAAO,CAAgB;IAC/B,CAAC;IACJ;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAsB;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,QAA2B;QACzC,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,gEAAgE;gBAChE,0CAA0C;gBAC1C,8DAA8D;gBAC9D,EAAE;gBACF,gEAAgE;gBAChE,0EAA0E;gBAC1E,WAAW;gBACX,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;oBAC/C,GAAG,CAAC,SAAS,GAAG,SAAS,KAAK,cAAc,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,QAA2B;QACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,MAA2B;QACrC,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAClC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;CACF;AArGD,4CAqGC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAI,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,YAAY,CAAI,KAAa;IAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACnC,CAAC;AAsCD;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,IAAwB;IAExB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC5D,MAAM,WAAW,GACf,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEzE,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,KAAK,CACb,mEAAmE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,IAA+B,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,GAAG,EAAE,CAAC;YACV,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAgB,CAAC;gBACzC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,EAAE,GAAsB,EAAE,EAAE;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,QAA4B,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,QAAQ,GAAG,EAAa,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,EAAa,CAAC;gBAC3B,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAgB,CAAC;oBACzC,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,UAAU,CAAC,EAAa,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC;AA4BD;;;;;;;GAOG;AACH,SAAS,sCAAsC,CAC7C,IAAuB;IAEvB,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAqED;;;;;;;GAOG;AACH,MAAa,yBAAyB;IAkBpC;;;OAGG;IACH,YAAY,IAGX;QAtBD;;WAEG;QACc,kBAAa,GAAgB,IAAI,GAAG,EAAE,CAAC;QAExD;;WAEG;QACc,oBAAe,GAA0B,EAAE,CAAC;QAe3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,GAAG,CAAC,UAA+B;QACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,UAA+B;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,UAA+B;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAI,UAAyB,EAAE,MAAqB;QACzD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrB,MAAM,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrB,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjB,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;wBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,KAAK,EAAE,IAAI,CAAC,eAAe;wBAC3B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;qBAChD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAChB,UAAyB,EACzB,MAAsB;QAEtB,IAAI,CAAC;YACH,gCAAgC;YAChC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrB,MAAM,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAC3C,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAErB,gCAAgC;YAChC,OAAO,MAAM,MAAM,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjB,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;wBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,KAAK,EAAE,IAAI,CAAC,eAAe;wBAC3B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;qBAChD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AA/HD,8DA+HC;AAaD;;GAEG;AACH,MAAM,qBAAqB,GAAgB,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,sBAAsB,GAAgB,kBAAkB,CAAC;AAE/D;;GAEG;AACH,MAAM,wBAAwB,GAAgB,oBAAoB,CAAC;AAEnE;;;GAGG;AACH,MAAa,aAAc,SAAQ,KAAK;IAWtC;;;;OAIG;IACH,YAAY,MAAmB,EAAE,OAAgB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;YACpC,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;YACvC,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;YACvC,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAgB;QACrC,OAAO,IAAI,aAAa,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAgB;QACxC,OAAO,IAAI,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAgB;QACtC,OAAO,IAAI,aAAa,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF;AArED,sCAqEC;AAsBD;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAsB;IAC5C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,sBAAsB;YACzB,OAAO,8DAA8D,CAAC;QACxE,KAAK,qBAAqB;YACxB,OAAO,oFAAoF,CAAC;QAC9F,KAAK,wBAAwB;YAC3B,OAAO,yFAAyF,CAAC;QACnG;YACE,OAAO,2DAA2D,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,KAA4B,EAC5B,oBAA6B;IAE7B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,gBAAgB,GAAG,oBAAoB,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,gBAAgB,KAAK,CAAC,IAAI,MAAM,GAAG,gBAAgB,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,kBAAkB;IAClB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAsB;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IAEF,OAAO,qBAAqB,cAAc,CAAC,QAAQ,CAAC;UAC5C,IAAI,CAAC,MAAM;eACN,cAAc,CAAC,IAAI,CAAC;mBAChB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;CAChD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,eAAe;IAArB;QACE;;;;WAIG;QACc,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAC;QAEtE;;;;WAIG;QACc,eAAU,GAAyB,IAAI,GAAG,EAAE,CAAC;QAE9D;;;;WAIG;QACc,gBAAW,GAAkC,IAAI,GAAG,EAAE,CAAC;IA8G1E,CAAC;IA5GC;;;;;;OAMG;IACH,UAAU,CAAI,UAAyB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,OAAsB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,UAAyB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAiB;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,UAAyB;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAI,UAAyB;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAkB,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAI,UAAyB;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAA2B,CAAC;IAC3E,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAChB,UAAyB,EACzB,OAAmB;QAEnB,MAAM,OAAO,GAAG,OAAO;aACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAI,UAAyB,EAAE,MAAS;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,uBAAuB;IAC3B;IACE;;OAEG;IACc,eAAgC;IAEjD;;;OAGG;IACc,wBAAkD;QANlD,oBAAe,GAAf,eAAe,CAAiB;QAMhC,6BAAwB,GAAxB,wBAAwB,CAA0B;IAClE,CAAC;IAEJ;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CAAI,UAAyB;QACpC,OAAO,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC;YAE9C,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,SAAc,CAAC;gBACxB,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;oBAC9B,OAAO,MAAW,CAAC;gBACrB,CAAC;gBAED,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC5D,OAAO,OAAY,CAAC;gBACtB,CAAC;gBAED,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC7B,OAAO,MAAW,CAAC;YACrB,CAAC;YAED,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAM,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAI,UAAyB;QAClC,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC;YAE9C,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,SAAc,CAAC;gBACxB,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC5D,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACzC,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC3D,OAAO,MAAW,CAAC;YACrB,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACzC,CAAC;YAED,OAAO,MAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAa,iBAAiB;IAqB5B;;;OAGG;IACH,YAAY,IAA4B;QATxC;;WAEG;QACK,oBAAe,GAAG,CAAC,CAAC;QAO1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,wBAAwB;YAC3B,IAAI,EAAE,+BAA+B;gBACrC,sCAAsC,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,EAAE,oBAAoB,CAAC;IACzD,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,4BAA4B;QAC5B,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACpD,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAiB;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,UAAyB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,UAAyB;QACpC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACK,0BAA0B;QAChC,MAAM,gBAAgB,GAAG;YACvB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SACpB,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAChE,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CAAI,UAAyB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAI,UAAyB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACF;AAxID,8CAwIC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -102,11 +102,13 @@ export interface ResolutionContext {
|
|
|
102
102
|
*/
|
|
103
103
|
export interface BindingContext {
|
|
104
104
|
/**
|
|
105
|
-
* Binds a Typewire to the container
|
|
105
|
+
* Binds a Typewire to the container, replacing any existing binding for the
|
|
106
|
+
* same type. What happens to a value the container already created for that
|
|
107
|
+
* type is up to the container.
|
|
106
108
|
*
|
|
107
109
|
* @param typeWire The Typewire to bind
|
|
108
110
|
*/
|
|
109
|
-
bind(typeWire: AnyTypeWire): void
|
|
111
|
+
bind(typeWire: AnyTypeWire): void | Promise<void>;
|
|
110
112
|
/**
|
|
111
113
|
* Removes a binding from the container.
|
|
112
114
|
*
|
|
@@ -402,6 +404,14 @@ export declare class StandardTypeWire<T> implements TypeWire<T> {
|
|
|
402
404
|
/**
|
|
403
405
|
* Registers this provider with a dependency binder.
|
|
404
406
|
*
|
|
407
|
+
* The binder owns its cached values: on a `TypeWireContainer`, re-applying a
|
|
408
|
+
* wire for a token that is already bound replaces the binding but keeps any
|
|
409
|
+
* value already created (or being created) for that token, so the new
|
|
410
|
+
* binding only takes effect for values not yet created in that container.
|
|
411
|
+
* Call `unbind` first to discard the cached value. An override that changes
|
|
412
|
+
* the scope (for example singleton to transient) does not reuse the cached
|
|
413
|
+
* value, because resolution follows the new binding's scope.
|
|
414
|
+
*
|
|
405
415
|
* @param binder The dependency binder to register with
|
|
406
416
|
* @returns A promise that resolves when registration is complete
|
|
407
417
|
*/
|
|
@@ -511,6 +521,17 @@ export interface TypeWireContianerOpts {
|
|
|
511
521
|
* @template T The type of the action's result
|
|
512
522
|
* @throws {TypeWireError | Error} If the action fails
|
|
513
523
|
*/
|
|
524
|
+
/**
|
|
525
|
+
* Options for {@link TypeWireContainer.preload}.
|
|
526
|
+
*/
|
|
527
|
+
export interface PreloadOpts {
|
|
528
|
+
/**
|
|
529
|
+
* The wires to create, with the imports they resolve. Omit to create every
|
|
530
|
+
* singleton bound at the time of the call. Wires whose binding is not a
|
|
531
|
+
* singleton are skipped. To preload a group, pass its `wires`.
|
|
532
|
+
*/
|
|
533
|
+
wires?: readonly AnyTypeWire[];
|
|
534
|
+
}
|
|
514
535
|
export type SyncAction<T> = () => T;
|
|
515
536
|
/**
|
|
516
537
|
* An asynchronous action that can be passed to the ResolutionMonitor.
|
|
@@ -726,7 +747,8 @@ export declare class TypeWireContainer implements ResolutionContext, BindingCont
|
|
|
726
747
|
*/
|
|
727
748
|
private getNextRequestId;
|
|
728
749
|
/**
|
|
729
|
-
* Binds a provider to the container.
|
|
750
|
+
* Binds a provider to the container, replacing any existing binding for the same type.
|
|
751
|
+
* A singleton instance already created for the type is kept; use `unbind` to discard it.
|
|
730
752
|
* @param provider The provider to bind
|
|
731
753
|
*/
|
|
732
754
|
bind(wire: AnyTypeWire): void;
|
|
@@ -760,8 +782,48 @@ export declare class TypeWireContainer implements ResolutionContext, BindingCont
|
|
|
760
782
|
* @throws Error if the dependency is not found or if a circular dependency is detected
|
|
761
783
|
*/
|
|
762
784
|
get<T>(typeSymbol: TypeSymbol<T>): Promise<T>;
|
|
785
|
+
/**
|
|
786
|
+
* Creates singleton values ahead of time, so they can be read synchronously
|
|
787
|
+
* with `getInstanceSync` (or `useTypeWire` in React) afterwards.
|
|
788
|
+
*
|
|
789
|
+
* Without `wires`, every singleton bound when you call it is created. With
|
|
790
|
+
* `wires`, only those wires and the imports they resolve are created. Wires
|
|
791
|
+
* whose binding is not a singleton (for example transient) are skipped:
|
|
792
|
+
* their values aren't cached, so there is nothing to read later. Values
|
|
793
|
+
* already created are kept, so calling `preload` again creates only what is
|
|
794
|
+
* new. Wires bound after the call are not included.
|
|
795
|
+
*
|
|
796
|
+
* Creations run in parallel. If one fails, the returned promise rejects
|
|
797
|
+
* with that creation's own error, as `Promise.all` does, and the other
|
|
798
|
+
* creations still finish and are cached. A wire in `wires` that isn't bound
|
|
799
|
+
* rejects with a `BindingNotFound` error.
|
|
800
|
+
*
|
|
801
|
+
* @param opts Optional settings; see {@link PreloadOpts}
|
|
802
|
+
* @returns A promise that resolves once every selected value is created
|
|
803
|
+
*
|
|
804
|
+
* @example
|
|
805
|
+
* ```typescript
|
|
806
|
+
* // At startup: everything the shell needs.
|
|
807
|
+
* await container.preload({ wires: [configWire, authWire] });
|
|
808
|
+
*
|
|
809
|
+
* // Later, when a feature loads:
|
|
810
|
+
* await reportsWireGroup.apply(container);
|
|
811
|
+
* await container.preload({ wires: reportsWireGroup.wires });
|
|
812
|
+
*
|
|
813
|
+
* // Small apps and tests: every bound singleton.
|
|
814
|
+
* await container.preload();
|
|
815
|
+
*
|
|
816
|
+
* const config = configWire.getInstanceSync(container);
|
|
817
|
+
* ```
|
|
818
|
+
*/
|
|
819
|
+
preload(opts?: PreloadOpts): Promise<void>;
|
|
763
820
|
/**
|
|
764
821
|
* Gets all instances from the container asynchronously.
|
|
822
|
+
*
|
|
823
|
+
* @deprecated Use {@link TypeWireContainer.preload} to create singletons
|
|
824
|
+
* ahead of time, then read them with `getInstanceSync`. This method resolves
|
|
825
|
+
* bindings one at a time and also creates a value for every transient
|
|
826
|
+
* binding.
|
|
765
827
|
* @returns A promise that resolves to a map of all instances
|
|
766
828
|
*/
|
|
767
829
|
getAllAsync(): Promise<Map<symbol, unknown>>;
|