@loopback/context 4.0.0-alpha.8 → 4.1.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/LICENSE +25 -0
- package/README.md +116 -0
- package/dist/binding-config.d.ts +40 -0
- package/dist/binding-config.js +33 -0
- package/dist/binding-config.js.map +1 -0
- package/dist/binding-decorator.d.ts +45 -0
- package/dist/binding-decorator.js +118 -0
- package/dist/binding-decorator.js.map +1 -0
- package/dist/binding-filter.d.ts +108 -0
- package/dist/binding-filter.js +162 -0
- package/dist/binding-filter.js.map +1 -0
- package/dist/binding-inspector.d.ts +150 -0
- package/dist/binding-inspector.js +249 -0
- package/dist/binding-inspector.js.map +1 -0
- package/dist/binding-key.d.ts +66 -0
- package/dist/binding-key.js +121 -0
- package/dist/binding-key.js.map +1 -0
- package/dist/binding-sorter.d.ts +71 -0
- package/dist/binding-sorter.js +89 -0
- package/dist/binding-sorter.js.map +1 -0
- package/dist/binding.d.ts +577 -0
- package/dist/binding.js +788 -0
- package/dist/binding.js.map +1 -0
- package/dist/context-event.d.ts +23 -0
- package/dist/context-event.js +7 -0
- package/dist/context-event.js.map +1 -0
- package/dist/context-observer.d.ts +36 -0
- package/dist/context-observer.js +7 -0
- package/dist/context-observer.js.map +1 -0
- package/dist/context-subscription.d.ts +147 -0
- package/dist/context-subscription.js +317 -0
- package/dist/context-subscription.js.map +1 -0
- package/dist/context-tag-indexer.d.ts +42 -0
- package/dist/context-tag-indexer.js +135 -0
- package/dist/context-tag-indexer.js.map +1 -0
- package/dist/context-view.d.ts +209 -0
- package/dist/context-view.js +240 -0
- package/dist/context-view.js.map +1 -0
- package/dist/context.d.ts +513 -0
- package/dist/context.js +717 -0
- package/dist/context.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +60 -0
- package/dist/index.js.map +1 -0
- package/dist/inject-config.d.ts +67 -0
- package/dist/inject-config.js +181 -0
- package/dist/inject-config.js.map +1 -0
- package/dist/inject.d.ts +250 -0
- package/dist/inject.js +535 -0
- package/dist/inject.js.map +1 -0
- package/dist/interception-proxy.d.ts +76 -0
- package/dist/interception-proxy.js +67 -0
- package/dist/interception-proxy.js.map +1 -0
- package/dist/interceptor-chain.d.ts +121 -0
- package/dist/interceptor-chain.js +148 -0
- package/dist/interceptor-chain.js.map +1 -0
- package/dist/interceptor.d.ts +138 -0
- package/dist/interceptor.js +299 -0
- package/dist/interceptor.js.map +1 -0
- package/dist/invocation.d.ts +101 -0
- package/dist/invocation.js +163 -0
- package/dist/invocation.js.map +1 -0
- package/dist/json-types.d.ts +28 -0
- package/{lib/src/provider.js → dist/json-types.js} +3 -3
- package/dist/json-types.js.map +1 -0
- package/dist/keys.d.ts +65 -0
- package/dist/keys.js +74 -0
- package/dist/keys.js.map +1 -0
- package/dist/provider.d.ts +31 -0
- package/{lib6/src → dist}/provider.js +2 -2
- package/dist/provider.js.map +1 -0
- package/dist/resolution-session.d.ts +180 -0
- package/dist/resolution-session.js +274 -0
- package/dist/resolution-session.js.map +1 -0
- package/dist/resolver.d.ts +46 -0
- package/dist/resolver.js +203 -0
- package/dist/resolver.js.map +1 -0
- package/dist/unique-id.d.ts +14 -0
- package/dist/unique-id.js +26 -0
- package/dist/unique-id.js.map +1 -0
- package/dist/value-promise.d.ts +134 -0
- package/dist/value-promise.js +277 -0
- package/dist/value-promise.js.map +1 -0
- package/package.json +49 -34
- package/src/binding-config.ts +73 -0
- package/src/binding-decorator.ts +136 -0
- package/src/binding-filter.ts +250 -0
- package/src/binding-inspector.ts +371 -0
- package/src/binding-key.ts +136 -0
- package/src/binding-sorter.ts +124 -0
- package/src/binding.ts +1107 -0
- package/src/context-event.ts +30 -0
- package/src/context-observer.ts +50 -0
- package/src/context-subscription.ts +402 -0
- package/src/context-tag-indexer.ts +147 -0
- package/src/context-view.ts +440 -0
- package/src/context.ts +1079 -0
- package/src/index.ts +58 -0
- package/src/inject-config.ts +239 -0
- package/src/inject.ts +796 -0
- package/src/interception-proxy.ts +127 -0
- package/src/interceptor-chain.ts +268 -0
- package/src/interceptor.ts +430 -0
- package/src/invocation.ts +269 -0
- package/src/json-types.ts +35 -0
- package/src/keys.ts +85 -0
- package/src/provider.ts +37 -0
- package/src/resolution-session.ts +414 -0
- package/src/resolver.ts +282 -0
- package/src/unique-id.ts +24 -0
- package/src/value-promise.ts +318 -0
- package/index.d.ts +0 -6
- package/index.js +0 -9
- package/lib/binding.d.ts +0 -75
- package/lib/binding.js +0 -103
- package/lib/binding.js.map +0 -1
- package/lib/context.d.ts +0 -14
- package/lib/context.js +0 -97
- package/lib/context.js.map +0 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -12
- package/lib/index.js.map +0 -1
- package/lib/inject.d.ts +0 -46
- package/lib/inject.js +0 -74
- package/lib/inject.js.map +0 -1
- package/lib/isPromise.d.ts +0 -1
- package/lib/isPromise.js +0 -15
- package/lib/isPromise.js.map +0 -1
- package/lib/reflect.d.ts +0 -39
- package/lib/reflect.js +0 -20
- package/lib/reflect.js.map +0 -1
- package/lib/resolver.d.ts +0 -30
- package/lib/resolver.js +0 -129
- package/lib/resolver.js.map +0 -1
- package/lib/src/binding.d.ts +0 -85
- package/lib/src/binding.js +0 -123
- package/lib/src/binding.js.map +0 -1
- package/lib/src/context.d.ts +0 -14
- package/lib/src/context.js +0 -97
- package/lib/src/context.js.map +0 -1
- package/lib/src/index.d.ts +0 -10
- package/lib/src/index.js +0 -27
- package/lib/src/index.js.map +0 -1
- package/lib/src/inject.d.ts +0 -46
- package/lib/src/inject.js +0 -74
- package/lib/src/inject.js.map +0 -1
- package/lib/src/isPromise.d.ts +0 -1
- package/lib/src/isPromise.js +0 -15
- package/lib/src/isPromise.js.map +0 -1
- package/lib/src/provider.d.ts +0 -29
- package/lib/src/provider.js.map +0 -1
- package/lib/src/reflect.d.ts +0 -38
- package/lib/src/reflect.js +0 -143
- package/lib/src/reflect.js.map +0 -1
- package/lib/src/resolver.d.ts +0 -34
- package/lib/src/resolver.js +0 -144
- package/lib/src/resolver.js.map +0 -1
- package/lib6/binding.d.ts +0 -75
- package/lib6/binding.js +0 -103
- package/lib6/binding.js.map +0 -1
- package/lib6/context.d.ts +0 -14
- package/lib6/context.js +0 -97
- package/lib6/context.js.map +0 -1
- package/lib6/index.d.ts +0 -1
- package/lib6/index.js +0 -12
- package/lib6/index.js.map +0 -1
- package/lib6/inject.d.ts +0 -46
- package/lib6/inject.js +0 -74
- package/lib6/inject.js.map +0 -1
- package/lib6/isPromise.d.ts +0 -1
- package/lib6/isPromise.js +0 -15
- package/lib6/isPromise.js.map +0 -1
- package/lib6/reflect.d.ts +0 -39
- package/lib6/reflect.js +0 -20
- package/lib6/reflect.js.map +0 -1
- package/lib6/resolver.d.ts +0 -30
- package/lib6/resolver.js +0 -129
- package/lib6/resolver.js.map +0 -1
- package/lib6/src/binding.d.ts +0 -85
- package/lib6/src/binding.js +0 -133
- package/lib6/src/binding.js.map +0 -1
- package/lib6/src/context.d.ts +0 -14
- package/lib6/src/context.js +0 -97
- package/lib6/src/context.js.map +0 -1
- package/lib6/src/index.d.ts +0 -10
- package/lib6/src/index.js +0 -27
- package/lib6/src/index.js.map +0 -1
- package/lib6/src/inject.d.ts +0 -46
- package/lib6/src/inject.js +0 -74
- package/lib6/src/inject.js.map +0 -1
- package/lib6/src/isPromise.d.ts +0 -1
- package/lib6/src/isPromise.js +0 -15
- package/lib6/src/isPromise.js.map +0 -1
- package/lib6/src/provider.d.ts +0 -29
- package/lib6/src/provider.js.map +0 -1
- package/lib6/src/reflect.d.ts +0 -38
- package/lib6/src/reflect.js +0 -143
- package/lib6/src/reflect.js.map +0 -1
- package/lib6/src/resolver.d.ts +0 -34
- package/lib6/src/resolver.js +0 -154
- package/lib6/src/resolver.js.map +0 -1
package/lib6/src/reflect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reflect.js","sourceRoot":"","sources":["../../src/reflect.ts"],"names":[],"mappings":"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"}
|
package/lib6/src/resolver.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Context } from './context';
|
|
2
|
-
import { BoundValue, ValueOrPromise } from './binding';
|
|
3
|
-
export declare type Constructor<T> = new (...args: any[]) => T;
|
|
4
|
-
/**
|
|
5
|
-
* Create an instance of a class which constructor has arguments
|
|
6
|
-
* decorated with `@inject`.
|
|
7
|
-
*
|
|
8
|
-
* The function returns a class when all dependencies were
|
|
9
|
-
* resolved synchronously, or a Promise otherwise.
|
|
10
|
-
*
|
|
11
|
-
* @param ctor The class constructor to call.
|
|
12
|
-
* @param ctx The context containing values for `@inject` resolution
|
|
13
|
-
*/
|
|
14
|
-
export declare function instantiateClass<T>(ctor: Constructor<T>, ctx: Context): T | Promise<T>;
|
|
15
|
-
/**
|
|
16
|
-
* Given a function with arguments decorated with `@inject`,
|
|
17
|
-
* return the list of arguments resolved using the values
|
|
18
|
-
* bound in `ctx`.
|
|
19
|
-
|
|
20
|
-
* The function returns an argument array when all dependencies were
|
|
21
|
-
* resolved synchronously, or a Promise otherwise.
|
|
22
|
-
*
|
|
23
|
-
* @param fn The function for which the arguments should be resolved.
|
|
24
|
-
* @param ctx The context containing values for `@inject` resolution
|
|
25
|
-
*/
|
|
26
|
-
export declare function resolveInjectedArguments(fn: Function, ctx: Context): BoundValue[] | Promise<BoundValue[]>;
|
|
27
|
-
export declare type KV = {
|
|
28
|
-
[p: string]: BoundValue;
|
|
29
|
-
};
|
|
30
|
-
export declare function resolveInjectedProperties(fn: Function, ctx: Context): KV | Promise<KV>;
|
|
31
|
-
/**
|
|
32
|
-
* resolve a ValueOrPromise<T> to T
|
|
33
|
-
*/
|
|
34
|
-
export declare function resolveValueOrPromise<T>(instanceOrPromise: ValueOrPromise<T>): Promise<T>;
|
package/lib6/src/resolver.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2013,2017. All Rights Reserved.
|
|
3
|
-
// Node module: loopback
|
|
4
|
-
// This file is licensed under the MIT License.
|
|
5
|
-
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
9
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
10
|
-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
11
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const isPromise_1 = require("./isPromise");
|
|
16
|
-
const inject_1 = require("./inject");
|
|
17
|
-
/**
|
|
18
|
-
* Create an instance of a class which constructor has arguments
|
|
19
|
-
* decorated with `@inject`.
|
|
20
|
-
*
|
|
21
|
-
* The function returns a class when all dependencies were
|
|
22
|
-
* resolved synchronously, or a Promise otherwise.
|
|
23
|
-
*
|
|
24
|
-
* @param ctor The class constructor to call.
|
|
25
|
-
* @param ctx The context containing values for `@inject` resolution
|
|
26
|
-
*/
|
|
27
|
-
function instantiateClass(ctor, ctx) {
|
|
28
|
-
const argsOrPromise = resolveInjectedArguments(ctor, ctx);
|
|
29
|
-
const propertiesOrPromise = resolveInjectedProperties(ctor, ctx);
|
|
30
|
-
let inst;
|
|
31
|
-
if (isPromise_1.isPromise(argsOrPromise)) {
|
|
32
|
-
// Instantiate the class asynchronously
|
|
33
|
-
inst = argsOrPromise.then(args => new ctor(...args));
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
// Instantiate the class synchronously
|
|
37
|
-
inst = new ctor(...argsOrPromise);
|
|
38
|
-
}
|
|
39
|
-
if (isPromise_1.isPromise(propertiesOrPromise)) {
|
|
40
|
-
return propertiesOrPromise.then((props) => {
|
|
41
|
-
if (isPromise_1.isPromise(inst)) {
|
|
42
|
-
// Inject the properties asynchrounously
|
|
43
|
-
return inst.then(obj => Object.assign(obj, props));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
// Inject the properties synchrounously
|
|
47
|
-
return Object.assign(inst, props);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
if (isPromise_1.isPromise(inst)) {
|
|
53
|
-
// Inject the properties asynchrounously
|
|
54
|
-
return inst.then(obj => Object.assign(obj, propertiesOrPromise));
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
// Inject the properties synchrounously
|
|
58
|
-
return Object.assign(inst, propertiesOrPromise);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.instantiateClass = instantiateClass;
|
|
63
|
-
/**
|
|
64
|
-
* Given a function with arguments decorated with `@inject`,
|
|
65
|
-
* return the list of arguments resolved using the values
|
|
66
|
-
* bound in `ctx`.
|
|
67
|
-
|
|
68
|
-
* The function returns an argument array when all dependencies were
|
|
69
|
-
* resolved synchronously, or a Promise otherwise.
|
|
70
|
-
*
|
|
71
|
-
* @param fn The function for which the arguments should be resolved.
|
|
72
|
-
* @param ctx The context containing values for `@inject` resolution
|
|
73
|
-
*/
|
|
74
|
-
function resolveInjectedArguments(fn, ctx) {
|
|
75
|
-
// NOTE: the array may be sparse, i.e.
|
|
76
|
-
// Object.keys(injectedArgs).length !== injectedArgs.length
|
|
77
|
-
// Example value:
|
|
78
|
-
// [ , 'key1', , 'key2']
|
|
79
|
-
const injectedArgs = inject_1.describeInjectedArguments(fn);
|
|
80
|
-
const args = new Array(fn.length);
|
|
81
|
-
let asyncResolvers = undefined;
|
|
82
|
-
for (let ix = 0; ix < fn.length; ix++) {
|
|
83
|
-
const bindingKey = injectedArgs[ix].bindingKey;
|
|
84
|
-
if (!bindingKey) {
|
|
85
|
-
throw new Error(`Cannot resolve injected arguments for function ${fn.name}: ` +
|
|
86
|
-
`The argument ${ix + 1} was not decorated for dependency injection.`);
|
|
87
|
-
}
|
|
88
|
-
const binding = ctx.getBinding(bindingKey);
|
|
89
|
-
const valueOrPromise = binding.getValue(ctx);
|
|
90
|
-
if (isPromise_1.isPromise(valueOrPromise)) {
|
|
91
|
-
if (!asyncResolvers)
|
|
92
|
-
asyncResolvers = [];
|
|
93
|
-
asyncResolvers.push(valueOrPromise.then((v) => args[ix] = v));
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
args[ix] = valueOrPromise;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (asyncResolvers) {
|
|
100
|
-
return Promise.all(asyncResolvers).then(() => args);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
return args;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
exports.resolveInjectedArguments = resolveInjectedArguments;
|
|
107
|
-
function resolveInjectedProperties(fn, ctx) {
|
|
108
|
-
const injectedProperties = inject_1.describeInjectedProperties(fn);
|
|
109
|
-
const properties = {};
|
|
110
|
-
let asyncResolvers = undefined;
|
|
111
|
-
const propertyResolver = (p) => ((v) => properties[p] = v);
|
|
112
|
-
for (const p in injectedProperties) {
|
|
113
|
-
const bindingKey = injectedProperties[p].bindingKey;
|
|
114
|
-
if (!bindingKey) {
|
|
115
|
-
throw new Error(`Cannot resolve injected property for class ${fn.name}: ` +
|
|
116
|
-
`The property ${p} was not decorated for dependency injection.`);
|
|
117
|
-
}
|
|
118
|
-
const binding = ctx.getBinding(bindingKey);
|
|
119
|
-
const valueOrPromise = binding.getValue(ctx);
|
|
120
|
-
if (isPromise_1.isPromise(valueOrPromise)) {
|
|
121
|
-
if (!asyncResolvers)
|
|
122
|
-
asyncResolvers = [];
|
|
123
|
-
asyncResolvers.push(valueOrPromise.then(propertyResolver(p)));
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
properties[p] = valueOrPromise;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (asyncResolvers) {
|
|
130
|
-
return Promise.all(asyncResolvers).then(() => properties);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
return properties;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
exports.resolveInjectedProperties = resolveInjectedProperties;
|
|
137
|
-
/**
|
|
138
|
-
* resolve a ValueOrPromise<T> to T
|
|
139
|
-
*/
|
|
140
|
-
function resolveValueOrPromise(instanceOrPromise) {
|
|
141
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
142
|
-
if (isPromise_1.isPromise(instanceOrPromise)) {
|
|
143
|
-
const providerPromise = instanceOrPromise;
|
|
144
|
-
const instance = yield providerPromise;
|
|
145
|
-
return instance;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
const instance = instanceOrPromise;
|
|
149
|
-
return instance;
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
exports.resolveValueOrPromise = resolveValueOrPromise;
|
|
154
|
-
//# sourceMappingURL=resolver.js.map
|
package/lib6/src/resolver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"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"}
|