@loopback/core 2.15.1 → 2.17.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/README.md CHANGED
@@ -24,7 +24,7 @@ servers.
24
24
 
25
25
  For a typical example of how to create a REST server with your application, see
26
26
  the
27
- [@loopback/rest package.](https://github.com/strongloop/loopback-next/tree/master/packages/rest)
27
+ [@loopback/rest package.](https://github.com/loopbackio/loopback-next/tree/master/packages/rest)
28
28
 
29
29
  ## Advanced Use
30
30
 
@@ -71,8 +71,8 @@ dynamic configuration updates.
71
71
 
72
72
  ## Contributions
73
73
 
74
- - [Guidelines](https://github.com/strongloop/loopback-next/blob/master/docs/CONTRIBUTING.md)
75
- - [Join the team](https://github.com/strongloop/loopback-next/issues/110)
74
+ - [Guidelines](https://github.com/loopbackio/loopback-next/blob/master/docs/CONTRIBUTING.md)
75
+ - [Join the team](https://github.com/loopbackio/loopback-next/issues/110)
76
76
 
77
77
  ## Tests
78
78
 
@@ -81,7 +81,7 @@ Run `npm test` from the root folder.
81
81
  ## Contributors
82
82
 
83
83
  See
84
- [all contributors](https://github.com/strongloop/loopback-next/graphs/contributors).
84
+ [all contributors](https://github.com/loopbackio/loopback-next/graphs/contributors).
85
85
 
86
86
  ## License
87
87
 
package/dist/keys.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAA6C;AAY7C;;GAEG;AACH,IAAiB,YAAY,CAgF5B;AAhFD,WAAiB,YAAY;IAC3B,cAAc;IACd;;OAEG;IACU,iCAAoB,GAAG,oBAAU,CAAC,MAAM,CACnD,sBAAsB,CACvB,CAAC;IAEF;;OAEG;IACU,+BAAkB,GAAkC,oBAAU,CAAC,MAAM,CAChF,oBAAoB,CACrB,CAAC;IAEF;;OAEG;IACU,iCAAoB,GAAG,oBAAU,CAAC,MAAM,CACnD,sBAAsB,CACvB,CAAC;IAEF,SAAS;IACT;;OAEG;IACU,oBAAO,GAAG,SAAS,CAAC;IAEjC,YAAY;IACZ;;OAEG;IACU,uBAAU,GAAG,YAAY,CAAC;IAEvC,aAAa;IACA,wBAAW,GAAG,aAAa,CAAC;IAEzC;;;OAGG;IACU,6BAAgB,GAAgC,oBAAU,CAAC,MAAM,CAC5E,yBAAyB,CAC1B,CAAC;IAEF;;;OAGG;IACU,mCAAsB,GAAG,oBAAU,CAAC,MAAM,CACrD,8BAA8B,CAC/B,CAAC;IAEF;;;OAGG;IACU,mCAAsB,GAAG,wBAAwB,CAAC;IAE/D;;;OAGG;IACU,+BAAkB,GAAG,oBAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE7D,iCAAoB,GAAG,oBAAoB,CAAC;IACzD;;OAEG;IACU,yCAA4B,GAAG,oBAAU,CAAC,MAAM,CAC3D,4BAA4B,CAC7B,CAAC;IAEF;;OAEG;IACU,wCAA2B,GAAG,oBAAU,CAAC,MAAM,CAC1D,2BAA2B,CAC5B,CAAC;AACJ,CAAC,EAhFgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAgF5B;AAED,IAAiB,QAAQ,CA6CxB;AA7CD,WAAiB,QAAQ;IACvB;;OAEG;IACU,kBAAS,GAAG,WAAW,CAAC;IAErC;;OAEG;IACU,eAAM,GAAG,QAAQ,CAAC;IAE/B;;OAEG;IACU,mBAAU,GAAG,YAAY,CAAC;IAEvC;;OAEG;IACU,gBAAO,GAAG,SAAS,CAAC;IACjC;;OAEG;IACU,0BAAiB,GAAG,kBAAkB,CAAC;IAEpD;;OAEG;IACU,4BAAmB,GAAG,mBAAmB,CAAC;IAEvD;;OAEG;IACU,kCAAyB,GAAG,wBAAwB,CAAC;IAElE;;;OAGG;IACU,sBAAa,GAAG,cAAc,CAAC;IAE5C;;OAEG;IACU,wBAAe,GAAG,gBAAgB,CAAC;AAClD,CAAC,EA7CgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA6CxB"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAA6C;AAY7C;;GAEG;AACH,IAAiB,YAAY,CA4E5B;AA5ED,WAAiB,YAAY;IAC3B,cAAc;IACd;;OAEG;IACU,iCAAoB,GAAG,oBAAU,CAAC,MAAM,CACnD,sBAAsB,CACvB,CAAC;IAEF;;OAEG;IACU,+BAAkB,GAC7B,oBAAU,CAAC,MAAM,CAAoB,oBAAoB,CAAC,CAAC;IAE7D;;OAEG;IACU,iCAAoB,GAAG,oBAAU,CAAC,MAAM,CACnD,sBAAsB,CACvB,CAAC;IAEF,SAAS;IACT;;OAEG;IACU,oBAAO,GAAG,SAAS,CAAC;IAEjC,YAAY;IACZ;;OAEG;IACU,uBAAU,GAAG,YAAY,CAAC;IAEvC,aAAa;IACA,wBAAW,GAAG,aAAa,CAAC;IAEzC;;;OAGG;IACU,6BAAgB,GAC3B,oBAAU,CAAC,MAAM,CAAkB,yBAAyB,CAAC,CAAC;IAEhE;;;OAGG;IACU,mCAAsB,GAAG,oBAAU,CAAC,MAAM,CACrD,8BAA8B,CAC/B,CAAC;IAEF;;;OAGG;IACU,mCAAsB,GAAG,wBAAwB,CAAC;IAE/D;;;OAGG;IACU,+BAAkB,GAAG,oBAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE7D,iCAAoB,GAAG,oBAAoB,CAAC;IACzD;;OAEG;IACU,yCAA4B,GACvC,oBAAU,CAAC,MAAM,CAA4B,4BAA4B,CAAC,CAAC;IAE7E;;OAEG;IACU,wCAA2B,GACtC,oBAAU,CAAC,MAAM,CAA2B,2BAA2B,CAAC,CAAC;AAC7E,CAAC,EA5EgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA4E5B;AAED,IAAiB,QAAQ,CA6CxB;AA7CD,WAAiB,QAAQ;IACvB;;OAEG;IACU,kBAAS,GAAG,WAAW,CAAC;IAErC;;OAEG;IACU,eAAM,GAAG,QAAQ,CAAC;IAE/B;;OAEG;IACU,mBAAU,GAAG,YAAY,CAAC;IAEvC;;OAEG;IACU,gBAAO,GAAG,SAAS,CAAC;IACjC;;OAEG;IACU,0BAAiB,GAAG,kBAAkB,CAAC;IAEpD;;OAEG;IACU,4BAAmB,GAAG,mBAAmB,CAAC;IAEvD;;OAEG;IACU,kCAAyB,GAAG,wBAAwB,CAAC;IAElE;;;OAGG;IACU,sBAAa,GAAG,cAAc,CAAC;IAE5C;;OAEG;IACU,wBAAe,GAAG,gBAAgB,CAAC;AAClD,CAAC,EA7CgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA6CxB"}
@@ -21,6 +21,12 @@ export declare type LifeCycleObserverOptions = {
21
21
  * observers are notified in the reverse order during `stop`.
22
22
  */
23
23
  orderedGroups: string[];
24
+ /**
25
+ * Override and disable lifecycle observer groups. This setting applies to
26
+ * both ordered groups (i.e. those defined in `orderedGroups`) and unordered
27
+ * groups.
28
+ */
29
+ disabledGroups?: string[];
24
30
  /**
25
31
  * Notify observers of the same group in parallel, default to `true`
26
32
  */
@@ -124,6 +124,7 @@ let LifeCycleObserverRegistry = class LifeCycleObserverRegistry {
124
124
  * @param groups - Observer groups
125
125
  */
126
126
  async notifyGroups(events, groups, reverse = false) {
127
+ var _a;
127
128
  const observers = await this.observersView.values();
128
129
  const bindings = this.observersView.bindings;
129
130
  const found = observers.some(observer => events.some(e => typeof observer[e] === 'function'));
@@ -134,6 +135,10 @@ let LifeCycleObserverRegistry = class LifeCycleObserverRegistry {
134
135
  groups = [...groups].reverse();
135
136
  }
136
137
  for (const group of groups) {
138
+ if ((_a = this.options.disabledGroups) === null || _a === void 0 ? void 0 : _a.includes(group.group)) {
139
+ debug('Notification skipped (Group is disabled): %s', group.group);
140
+ continue;
141
+ }
137
142
  const observersForGroup = [];
138
143
  const bindingsInGroup = reverse
139
144
  ? group.bindings.reverse()
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-registry.js","sourceRoot":"","sources":["../src/lifecycle-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-registry.js","sourceRoot":"","sources":["../src/lifecycle-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,19 @@
1
1
  {
2
2
  "name": "@loopback/core",
3
- "version": "2.15.1",
4
3
  "description": "Define and implement core constructs such as Application and Component",
4
+ "version": "2.17.0",
5
+ "license": "MIT",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
8
+ "author": "IBM Corp.",
9
+ "copyright.owner": "IBM Corp.",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/loopbackio/loopback-next.git",
13
+ "directory": "packages/core"
14
+ },
7
15
  "engines": {
8
- "node": "^10.16 || 12 || 14 || 15"
16
+ "node": "^10.16 || 12 || 14 || 16"
9
17
  },
10
18
  "scripts": {
11
19
  "acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -17,34 +25,26 @@
17
25
  "unit": "lb-mocha \"dist/__tests__/unit/**/*.js\"",
18
26
  "verify": "npm pack && tar xf loopback-core*.tgz && tree package && npm run clean"
19
27
  },
20
- "author": "IBM Corp.",
21
- "copyright.owner": "IBM Corp.",
22
- "license": "MIT",
23
28
  "publishConfig": {
24
29
  "access": "public"
25
30
  },
26
- "dependencies": {
27
- "@loopback/context": "^3.15.1",
28
- "debug": "^4.3.1",
29
- "tslib": "^2.1.0"
30
- },
31
- "devDependencies": {
32
- "@loopback/build": "^6.3.1",
33
- "@loopback/eslint-config": "^10.1.1",
34
- "@loopback/testlab": "^3.3.1",
35
- "@types/debug": "^4.1.5",
36
- "@types/node": "^10.17.56"
37
- },
38
31
  "files": [
39
32
  "README.md",
40
33
  "dist",
41
34
  "src",
42
35
  "!*/__tests__"
43
36
  ],
44
- "repository": {
45
- "type": "git",
46
- "url": "https://github.com/strongloop/loopback-next.git",
47
- "directory": "packages/core"
37
+ "dependencies": {
38
+ "@loopback/context": "^3.17.2",
39
+ "debug": "^4.3.2",
40
+ "tslib": "^2.3.1"
41
+ },
42
+ "devDependencies": {
43
+ "@loopback/build": "^7.0.1",
44
+ "@loopback/eslint-config": "^11.0.1",
45
+ "@loopback/testlab": "^3.4.3",
46
+ "@types/debug": "^4.1.7",
47
+ "@types/node": "^10.17.60"
48
48
  },
49
- "gitHead": "156ca0fcf8fa246ca380ab28b44b3708896be2b6"
49
+ "gitHead": "1df36bb1ee2e513d9e197bd6010c4cfb296d50b8"
50
50
  }
package/src/keys.ts CHANGED
@@ -30,9 +30,8 @@ export namespace CoreBindings {
30
30
  /**
31
31
  * Binding key for application configuration
32
32
  */
33
- export const APPLICATION_CONFIG: BindingKey<ApplicationConfig> = BindingKey.create<ApplicationConfig>(
34
- 'application.config',
35
- );
33
+ export const APPLICATION_CONFIG: BindingKey<ApplicationConfig> =
34
+ BindingKey.create<ApplicationConfig>('application.config');
36
35
 
37
36
  /**
38
37
  * Binding key for the content of `package.json`
@@ -60,9 +59,8 @@ export namespace CoreBindings {
60
59
  * Binding key for the controller class resolved in the current request
61
60
  * context
62
61
  */
63
- export const CONTROLLER_CLASS: BindingKey<ControllerClass> = BindingKey.create<ControllerClass>(
64
- 'controller.current.ctor',
65
- );
62
+ export const CONTROLLER_CLASS: BindingKey<ControllerClass> =
63
+ BindingKey.create<ControllerClass>('controller.current.ctor');
66
64
 
67
65
  /**
68
66
  * Binding key for the controller method resolved in the current request
@@ -88,16 +86,14 @@ export namespace CoreBindings {
88
86
  /**
89
87
  * Binding key for life cycle observer options
90
88
  */
91
- export const LIFE_CYCLE_OBSERVER_REGISTRY = BindingKey.create<LifeCycleObserverRegistry>(
92
- 'lifeCycleObserver.registry',
93
- );
89
+ export const LIFE_CYCLE_OBSERVER_REGISTRY =
90
+ BindingKey.create<LifeCycleObserverRegistry>('lifeCycleObserver.registry');
94
91
 
95
92
  /**
96
93
  * Binding key for life cycle observer options
97
94
  */
98
- export const LIFE_CYCLE_OBSERVER_OPTIONS = BindingKey.create<LifeCycleObserverOptions>(
99
- 'lifeCycleObserver.options',
100
- );
95
+ export const LIFE_CYCLE_OBSERVER_OPTIONS =
96
+ BindingKey.create<LifeCycleObserverOptions>('lifeCycleObserver.options');
101
97
  }
102
98
 
103
99
  export namespace CoreTags {
@@ -38,6 +38,12 @@ export type LifeCycleObserverOptions = {
38
38
  * observers are notified in the reverse order during `stop`.
39
39
  */
40
40
  orderedGroups: string[];
41
+ /**
42
+ * Override and disable lifecycle observer groups. This setting applies to
43
+ * both ordered groups (i.e. those defined in `orderedGroups`) and unordered
44
+ * groups.
45
+ */
46
+ disabledGroups?: string[];
41
47
  /**
42
48
  * Notify observers of the same group in parallel, default to `true`
43
49
  */
@@ -116,10 +122,8 @@ export class LifeCycleObserverRegistry implements LifeCycleObserver {
116
122
  bindings: Readonly<Binding<LifeCycleObserver>>[],
117
123
  ) {
118
124
  // Group bindings in a map
119
- const groupMap: Map<
120
- string,
121
- Readonly<Binding<LifeCycleObserver>>[]
122
- > = new Map();
125
+ const groupMap: Map<string, Readonly<Binding<LifeCycleObserver>>[]> =
126
+ new Map();
123
127
  sortBindingsByPhase(
124
128
  bindings,
125
129
  CoreTags.LIFE_CYCLE_OBSERVER_GROUP,
@@ -213,6 +217,10 @@ export class LifeCycleObserverRegistry implements LifeCycleObserver {
213
217
  groups = [...groups].reverse();
214
218
  }
215
219
  for (const group of groups) {
220
+ if (this.options.disabledGroups?.includes(group.group)) {
221
+ debug('Notification skipped (Group is disabled): %s', group.group);
222
+ continue;
223
+ }
216
224
  const observersForGroup: LifeCycleObserver[] = [];
217
225
  const bindingsInGroup = reverse
218
226
  ? group.bindings.reverse()
@@ -61,11 +61,9 @@ import {Constructor} from '@loopback/context';
61
61
  * }
62
62
  * ```
63
63
  */
64
- export type MixinTarget<T extends object> = Constructor<
65
- {
66
- // Enumerate only public members to avoid the following compiler error:
67
- // Property '(name)' of exported class expression
68
- // may not be private or protected.ts(4094)
69
- [P in keyof T]: T[P];
70
- }
71
- >;
64
+ export type MixinTarget<T extends object> = Constructor<{
65
+ // Enumerate only public members to avoid the following compiler error:
66
+ // Property '(name)' of exported class expression
67
+ // may not be private or protected.ts(4094)
68
+ [P in keyof T]: T[P];
69
+ }>;