@loopback/core 2.4.1 → 2.7.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.
@@ -4,6 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LifeCycleObserverRegistry = exports.DEFAULT_ORDERED_GROUPS = void 0;
7
8
  const tslib_1 = require("tslib");
8
9
  const context_1 = require("@loopback/context");
9
10
  const keys_1 = require("./keys");
@@ -14,154 +15,157 @@ exports.DEFAULT_ORDERED_GROUPS = ['server'];
14
15
  /**
15
16
  * A context-based registry for life cycle observers
16
17
  */
17
- let LifeCycleObserverRegistry = class LifeCycleObserverRegistry {
18
- constructor(observersView, options = {
19
- parallel: true,
20
- orderedGroups: exports.DEFAULT_ORDERED_GROUPS,
21
- }) {
22
- this.observersView = observersView;
23
- this.options = options;
24
- }
25
- setOrderedGroups(groups) {
26
- this.options.orderedGroups = groups;
27
- }
28
- /**
29
- * Get observer groups ordered by the group
30
- */
31
- getObserverGroupsByOrder() {
32
- const bindings = this.observersView.bindings;
33
- const groups = this.sortObserverBindingsByGroup(bindings);
34
- if (debug.enabled) {
35
- debug('Observer groups: %j', groups.map(g => ({
36
- group: g.group,
37
- bindings: g.bindings.map(b => b.key),
38
- })));
18
+ let LifeCycleObserverRegistry = /** @class */ (() => {
19
+ let LifeCycleObserverRegistry = class LifeCycleObserverRegistry {
20
+ constructor(observersView, options = {
21
+ parallel: true,
22
+ orderedGroups: exports.DEFAULT_ORDERED_GROUPS,
23
+ }) {
24
+ this.observersView = observersView;
25
+ this.options = options;
39
26
  }
40
- return groups;
41
- }
42
- /**
43
- * Get the group for a given life cycle observer binding
44
- * @param binding - Life cycle observer binding
45
- */
46
- getObserverGroup(binding) {
47
- // First check if there is an explicit group name in the tag
48
- let group = binding.tagMap[keys_1.CoreTags.LIFE_CYCLE_OBSERVER_GROUP];
49
- if (!group) {
50
- // Fall back to a tag that matches one of the groups
51
- group = this.options.orderedGroups.find(g => binding.tagMap[g] === g);
27
+ setOrderedGroups(groups) {
28
+ this.options.orderedGroups = groups;
52
29
  }
53
- group = group || '';
54
- debug('Binding %s is configured with observer group %s', binding.key, group);
55
- return group;
56
- }
57
- /**
58
- * Sort the life cycle observer bindings so that we can start/stop them
59
- * in the right order. By default, we can start other observers before servers
60
- * and stop them in the reverse order
61
- * @param bindings - Life cycle observer bindings
62
- */
63
- sortObserverBindingsByGroup(bindings) {
64
- // Group bindings in a map
65
- const groupMap = new Map();
66
- context_1.sortBindingsByPhase(bindings, keys_1.CoreTags.LIFE_CYCLE_OBSERVER_GROUP, this.options.orderedGroups);
67
- for (const binding of bindings) {
68
- const group = this.getObserverGroup(binding);
69
- let bindingsInGroup = groupMap.get(group);
70
- if (bindingsInGroup == null) {
71
- bindingsInGroup = [];
72
- groupMap.set(group, bindingsInGroup);
30
+ /**
31
+ * Get observer groups ordered by the group
32
+ */
33
+ getObserverGroupsByOrder() {
34
+ const bindings = this.observersView.bindings;
35
+ const groups = this.sortObserverBindingsByGroup(bindings);
36
+ if (debug.enabled) {
37
+ debug('Observer groups: %j', groups.map(g => ({
38
+ group: g.group,
39
+ bindings: g.bindings.map(b => b.key),
40
+ })));
73
41
  }
74
- bindingsInGroup.push(binding);
42
+ return groups;
75
43
  }
76
- // Create an array for group entries
77
- const groups = [];
78
- for (const [group, bindingsInGroup] of groupMap) {
79
- groups.push({ group, bindings: bindingsInGroup });
44
+ /**
45
+ * Get the group for a given life cycle observer binding
46
+ * @param binding - Life cycle observer binding
47
+ */
48
+ getObserverGroup(binding) {
49
+ // First check if there is an explicit group name in the tag
50
+ let group = binding.tagMap[keys_1.CoreTags.LIFE_CYCLE_OBSERVER_GROUP];
51
+ if (!group) {
52
+ // Fall back to a tag that matches one of the groups
53
+ group = this.options.orderedGroups.find(g => binding.tagMap[g] === g);
54
+ }
55
+ group = group || '';
56
+ debug('Binding %s is configured with observer group %s', binding.key, group);
57
+ return group;
80
58
  }
81
- return groups;
82
- }
83
- /**
84
- * Notify an observer group of the given event
85
- * @param group - A group of bindings for life cycle observers
86
- * @param event - Event name
87
- */
88
- async notifyObservers(observers, bindings, event) {
89
- if (!this.options.parallel) {
90
- let index = 0;
91
- for (const observer of observers) {
92
- debug('Invoking %s observer for binding %s', event, bindings[index].key);
93
- index++;
94
- await this.invokeObserver(observer, event);
59
+ /**
60
+ * Sort the life cycle observer bindings so that we can start/stop them
61
+ * in the right order. By default, we can start other observers before servers
62
+ * and stop them in the reverse order
63
+ * @param bindings - Life cycle observer bindings
64
+ */
65
+ sortObserverBindingsByGroup(bindings) {
66
+ // Group bindings in a map
67
+ const groupMap = new Map();
68
+ context_1.sortBindingsByPhase(bindings, keys_1.CoreTags.LIFE_CYCLE_OBSERVER_GROUP, this.options.orderedGroups);
69
+ for (const binding of bindings) {
70
+ const group = this.getObserverGroup(binding);
71
+ let bindingsInGroup = groupMap.get(group);
72
+ if (bindingsInGroup == null) {
73
+ bindingsInGroup = [];
74
+ groupMap.set(group, bindingsInGroup);
75
+ }
76
+ bindingsInGroup.push(binding);
95
77
  }
96
- return;
78
+ // Create an array for group entries
79
+ const groups = [];
80
+ for (const [group, bindingsInGroup] of groupMap) {
81
+ groups.push({ group, bindings: bindingsInGroup });
82
+ }
83
+ return groups;
97
84
  }
98
- // Parallel invocation
99
- const notifiers = observers.map((observer, index) => {
100
- debug('Invoking %s observer for binding %s', event, bindings[index].key);
101
- return this.invokeObserver(observer, event);
102
- });
103
- await Promise.all(notifiers);
104
- }
105
- /**
106
- * Invoke an observer for the given event
107
- * @param observer - A life cycle observer
108
- * @param event - Event name
109
- */
110
- async invokeObserver(observer, event) {
111
- if (typeof observer[event] === 'function') {
112
- await observer[event]();
85
+ /**
86
+ * Notify an observer group of the given event
87
+ * @param group - A group of bindings for life cycle observers
88
+ * @param event - Event name
89
+ */
90
+ async notifyObservers(observers, bindings, event) {
91
+ if (!this.options.parallel) {
92
+ let index = 0;
93
+ for (const observer of observers) {
94
+ debug('Invoking %s observer for binding %s', event, bindings[index].key);
95
+ index++;
96
+ await this.invokeObserver(observer, event);
97
+ }
98
+ return;
99
+ }
100
+ // Parallel invocation
101
+ const notifiers = observers.map((observer, index) => {
102
+ debug('Invoking %s observer for binding %s', event, bindings[index].key);
103
+ return this.invokeObserver(observer, event);
104
+ });
105
+ await Promise.all(notifiers);
113
106
  }
114
- }
115
- /**
116
- * Emit events to the observer groups
117
- * @param events - Event names
118
- * @param groups - Observer groups
119
- */
120
- async notifyGroups(events, groups, reverse = false) {
121
- const observers = await this.observersView.values();
122
- const bindings = this.observersView.bindings;
123
- if (reverse) {
124
- // Do not reverse the original `groups` in place
125
- groups = [...groups].reverse();
107
+ /**
108
+ * Invoke an observer for the given event
109
+ * @param observer - A life cycle observer
110
+ * @param event - Event name
111
+ */
112
+ async invokeObserver(observer, event) {
113
+ if (typeof observer[event] === 'function') {
114
+ await observer[event]();
115
+ }
126
116
  }
127
- for (const group of groups) {
128
- const observersForGroup = [];
129
- const bindingsInGroup = reverse
130
- ? group.bindings.reverse()
131
- : group.bindings;
132
- for (const binding of bindingsInGroup) {
133
- const index = bindings.indexOf(binding);
134
- observersForGroup.push(observers[index]);
117
+ /**
118
+ * Emit events to the observer groups
119
+ * @param events - Event names
120
+ * @param groups - Observer groups
121
+ */
122
+ async notifyGroups(events, groups, reverse = false) {
123
+ const observers = await this.observersView.values();
124
+ const bindings = this.observersView.bindings;
125
+ if (reverse) {
126
+ // Do not reverse the original `groups` in place
127
+ groups = [...groups].reverse();
135
128
  }
136
- for (const event of events) {
137
- debug('Beginning notification %s of %s...', event);
138
- await this.notifyObservers(observersForGroup, group.bindings, event);
139
- debug('Finished notification %s of %s', event);
129
+ for (const group of groups) {
130
+ const observersForGroup = [];
131
+ const bindingsInGroup = reverse
132
+ ? group.bindings.reverse()
133
+ : group.bindings;
134
+ for (const binding of bindingsInGroup) {
135
+ const index = bindings.indexOf(binding);
136
+ observersForGroup.push(observers[index]);
137
+ }
138
+ for (const event of events) {
139
+ debug('Beginning notification %s of %s...', event);
140
+ await this.notifyObservers(observersForGroup, group.bindings, event);
141
+ debug('Finished notification %s of %s', event);
142
+ }
140
143
  }
141
144
  }
142
- }
143
- /**
144
- * Notify all life cycle observers by group of `start`
145
- */
146
- async start() {
147
- debug('Starting the %s...');
148
- const groups = this.getObserverGroupsByOrder();
149
- await this.notifyGroups(['start'], groups);
150
- }
151
- /**
152
- * Notify all life cycle observers by group of `stop`
153
- */
154
- async stop() {
155
- debug('Stopping the %s...');
156
- const groups = this.getObserverGroupsByOrder();
157
- // Stop in the reverse order
158
- await this.notifyGroups(['stop'], groups, true);
159
- }
160
- };
161
- LifeCycleObserverRegistry = tslib_1.__decorate([
162
- tslib_1.__param(0, context_1.inject.view(lifecycle_1.lifeCycleObserverFilter)),
163
- tslib_1.__param(1, context_1.inject(keys_1.CoreBindings.LIFE_CYCLE_OBSERVER_OPTIONS, { optional: true })),
164
- tslib_1.__metadata("design:paramtypes", [context_1.ContextView, Object])
165
- ], LifeCycleObserverRegistry);
145
+ /**
146
+ * Notify all life cycle observers by group of `start`
147
+ */
148
+ async start() {
149
+ debug('Starting the %s...');
150
+ const groups = this.getObserverGroupsByOrder();
151
+ await this.notifyGroups(['start'], groups);
152
+ }
153
+ /**
154
+ * Notify all life cycle observers by group of `stop`
155
+ */
156
+ async stop() {
157
+ debug('Stopping the %s...');
158
+ const groups = this.getObserverGroupsByOrder();
159
+ // Stop in the reverse order
160
+ await this.notifyGroups(['stop'], groups, true);
161
+ }
162
+ };
163
+ LifeCycleObserverRegistry = tslib_1.__decorate([
164
+ tslib_1.__param(0, context_1.inject.view(lifecycle_1.lifeCycleObserverFilter)),
165
+ tslib_1.__param(1, context_1.inject(keys_1.CoreBindings.LIFE_CYCLE_OBSERVER_OPTIONS, { optional: true })),
166
+ tslib_1.__metadata("design:paramtypes", [context_1.ContextView, Object])
167
+ ], LifeCycleObserverRegistry);
168
+ return LifeCycleObserverRegistry;
169
+ })();
166
170
  exports.LifeCycleObserverRegistry = LifeCycleObserverRegistry;
167
171
  //# sourceMappingURL=lifecycle-registry.js.map
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { Binding, BindingSpec, Constructor, ValueOrPromise } from '@loopback/context';
1
+ import { Binding, BindingSpec, BindingTagFilter, Constructor, ValueOrPromise } from '@loopback/context';
2
2
  /**
3
3
  * Observers to handle life cycle start/stop events
4
4
  */
@@ -33,7 +33,7 @@ export declare function asLifeCycleObserver<T = unknown>(binding: Binding<T>): B
33
33
  * Find all life cycle observer bindings. By default, a binding tagged with
34
34
  * `CoreTags.LIFE_CYCLE_OBSERVER`. It's used as `BindingFilter`.
35
35
  */
36
- export declare const lifeCycleObserverFilter: import("@loopback/context").BindingTagFilter;
36
+ export declare const lifeCycleObserverFilter: BindingTagFilter;
37
37
  /**
38
38
  * Sugar decorator to mark a class as life cycle observer
39
39
  * @param group - Optional observer group name
package/dist/lifecycle.js CHANGED
@@ -4,6 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.lifeCycleObserver = exports.lifeCycleObserverFilter = exports.asLifeCycleObserver = exports.isLifeCycleObserverClass = exports.isLifeCycleObserver = void 0;
7
8
  const context_1 = require("@loopback/context");
8
9
  const keys_1 = require("./keys");
9
10
  const lifeCycleMethods = ['start', 'stop'];
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAEhE,+CAO2B;AAC3B,iCAAgC;AAgBhC,MAAM,gBAAgB,GAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAExE;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,MAAM,SAAS,GAAG,GAAiC,CAAC;IACpD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;AACxE,CAAC;AAHD,kDAGC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,IAA0B;IAE1B,OAAO,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC;AAJD,4DAIC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAc,OAAmB;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAQ,CAAC,mBAAmB,CAAC,CAAC;AACnD,CAAC;AAFD,kDAEC;AAED;;;GAGG;AACU,QAAA,uBAAuB,GAAG,qBAAW,CAChD,eAAQ,CAAC,mBAAmB,CAC7B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,KAAoB;IACnE,OAAO,cAAI,CACT,mBAAmB,EACnB;QACE,IAAI,EAAE;YACJ,CAAC,eAAQ,CAAC,yBAAyB,CAAC,EAAE,KAAK;SAC5C;KACF,EACD,GAAG,KAAK,CACT,CAAC;AACJ,CAAC;AAVD,8CAUC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAQ2B;AAC3B,iCAAgC;AAgBhC,MAAM,gBAAgB,GAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAExE;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,MAAM,SAAS,GAAG,GAAiC,CAAC;IACpD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;AACxE,CAAC;AAHD,kDAGC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,IAA0B;IAE1B,OAAO,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC;AAJD,4DAIC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAc,OAAmB;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAQ,CAAC,mBAAmB,CAAC,CAAC;AACnD,CAAC;AAFD,kDAEC;AAED;;;GAGG;AACU,QAAA,uBAAuB,GAAqB,qBAAW,CAClE,eAAQ,CAAC,mBAAmB,CAC7B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,KAAoB;IACnE,OAAO,cAAI,CACT,mBAAmB,EACnB;QACE,IAAI,EAAE;YACJ,CAAC,eAAQ,CAAC,yBAAyB,CAAC,EAAE,KAAK;SAC5C;KACF,EACD,GAAG,KAAK,CACT,CAAC;AACJ,CAAC;AAVD,8CAUC"}
@@ -0,0 +1,59 @@
1
+ import { Constructor } from '@loopback/context';
2
+ /**
3
+ * A replacement for `typeof Target` to be used in mixin class definitions.
4
+ * This is a workaround for TypeScript limitation described in
5
+ * - https://github.com/microsoft/TypeScript/issues/17293
6
+ * - https://github.com/microsoft/TypeScript/issues/17744
7
+ * - https://github.com/microsoft/TypeScript/issues/36060
8
+ *
9
+ * @example
10
+ *
11
+ * ```ts
12
+ * export function MyMixin<T extends MixinTarget<Application>>(superClass: T) {
13
+ * return class extends superClass {
14
+ * // contribute new class members
15
+ * }
16
+ * };
17
+ * ```
18
+ *
19
+ * TypeScript does not allow class mixins to access protected members from
20
+ * the base class. You can use the following approach as a workaround:
21
+ *
22
+ * ```ts
23
+ * // @ts-ignore
24
+ * (this as unknown as {YourBaseClass}).protectedMember
25
+ * ```
26
+ *
27
+ * The directive `@ts-ignore` suppresses compiler error about accessing
28
+ * a protected member from outside. Unfortunately, it also disables other
29
+ * compile-time checks (e.g. to verify that a protected method was invoked
30
+ * with correct arguments, and so on). This is the same behavior you
31
+ * would get by using `Constructor<any>` instead of `MixinTarget<Application>`.
32
+ * The major improvement is that TypeScript can still infer the return
33
+ * type of the protected member, therefore `any` is NOT introduced to subsequent
34
+ * code.
35
+ *
36
+ * TypeScript also does not allow mixin class to overwrite a method inherited
37
+ * from a mapped type, see https://github.com/microsoft/TypeScript/issues/38496
38
+ * As a workaround, use `@ts-ignore` to disable the error.
39
+ *
40
+ * ```ts
41
+ * export function RepositoryMixin<T extends MixinTarget<Application>>(
42
+ * superClass: T,
43
+ * ) {
44
+ * return class extends superClass {
45
+ * // @ts-ignore
46
+ * public component<C extends Component = Component>(
47
+ * componentCtor: Constructor<C>,
48
+ * nameOrOptions?: string | BindingFromClassOptions,
49
+ * ) {
50
+ * const binding = super.component(componentCtor, nameOrOptions);
51
+ * // ...
52
+ * return binding;
53
+ * }
54
+ * }
55
+ * ```
56
+ */
57
+ export declare type MixinTarget<T extends object> = Constructor<{
58
+ [P in keyof T]: T[P];
59
+ }>;
@@ -1,6 +1,7 @@
1
+ "use strict";
1
2
  // Copyright IBM Corp. 2017,2020. All Rights Reserved.
2
3
  // Node module: @loopback/core
3
4
  // This file is licensed under the MIT License.
4
5
  // License text available at https://opensource.org/licenses/MIT
5
-
6
- export * from './dist';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=mixin-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin-target.js","sourceRoot":"","sources":["../src/mixin-target.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE"}
package/dist/service.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Binding, BindingFilter, BindingTemplate, Constructor, InjectionMetadata, Provider } from '@loopback/context';
1
+ import { Binding, BindingFilter, BindingFromClassOptions, BindingTemplate, Constructor, InjectionMetadata, Provider } from '@loopback/context';
2
2
  /**
3
3
  * Representing an interface for services. In TypeScript, the `interface` does
4
4
  * not have reflections at runtime. We use a string, a symbol or a Function as
@@ -8,10 +8,9 @@ export declare type ServiceInterface = string | symbol | Function;
8
8
  /**
9
9
  * Options to register a service binding
10
10
  */
11
- export declare type ServiceOptions = {
12
- name?: string;
11
+ export interface ServiceOptions extends BindingFromClassOptions {
13
12
  interface?: ServiceInterface;
14
- };
13
+ }
15
14
  /**
16
15
  * `@service` injects a service instance that matches the class or interface.
17
16
  *
@@ -55,7 +54,7 @@ export declare function filterByServiceInterface(serviceInterface: ServiceInterf
55
54
  * @param cls - Service class or provider
56
55
  * @param options - Service options
57
56
  */
58
- export declare function createServiceBinding<S>(cls: Constructor<S> | Constructor<Provider<S>>, options?: ServiceOptions): Binding<S>;
57
+ export declare function createServiceBinding<S>(cls: Constructor<S | Provider<S>>, options?: ServiceOptions): Binding<S>;
59
58
  /**
60
59
  * Create a binding template for a service interface
61
60
  * @param serviceInterface - Service interface
package/dist/service.js CHANGED
@@ -4,6 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.asService = exports.createServiceBinding = exports.filterByServiceInterface = exports.service = void 0;
7
8
  const context_1 = require("@loopback/context");
8
9
  const keys_1 = require("./keys");
9
10
  /**
@@ -107,6 +108,7 @@ function createServiceBinding(cls, options = {}) {
107
108
  const binding = context_1.createBindingFromClass(cls, {
108
109
  name,
109
110
  type: keys_1.CoreTags.SERVICE,
111
+ ...options,
110
112
  }).apply(asService((_a = options.interface) !== null && _a !== void 0 ? _a : cls));
111
113
  return binding;
112
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "name": "@loopback/core",
3
- "version": "2.4.1",
3
+ "version": "2.7.0",
4
4
  "description": "LoopBack 4 core",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
5
7
  "engines": {
6
8
  "node": ">=10"
7
9
  },
@@ -19,22 +21,19 @@
19
21
  "copyright.owner": "IBM Corp.",
20
22
  "license": "MIT",
21
23
  "dependencies": {
22
- "@loopback/context": "^3.5.1",
24
+ "@loopback/context": "^3.8.1",
23
25
  "debug": "^4.1.1",
24
- "p-event": "^4.1.0",
25
- "tslib": "^1.11.1"
26
+ "tslib": "^2.0.0"
26
27
  },
27
28
  "devDependencies": {
28
- "@loopback/build": "^5.2.0",
29
- "@loopback/eslint-config": "^6.0.4",
30
- "@loopback/testlab": "^3.1.1",
29
+ "@loopback/build": "^5.4.1",
30
+ "@loopback/eslint-config": "^7.0.1",
31
+ "@loopback/testlab": "^3.1.5",
31
32
  "@types/debug": "^4.1.5",
32
- "@types/node": "^10.17.21"
33
+ "@types/node": "^10.17.24"
33
34
  },
34
35
  "files": [
35
36
  "README.md",
36
- "index.js",
37
- "index.d.ts",
38
37
  "dist",
39
38
  "src",
40
39
  "!*/__tests__"
@@ -44,5 +43,5 @@
44
43
  "url": "https://github.com/strongloop/loopback-next.git",
45
44
  "directory": "packages/core"
46
45
  },
47
- "gitHead": "11f282df0bbdf25c505a2131e6d82b85005a22a2"
46
+ "gitHead": "62aea854bf85c5a5995b59e6908fe5409f7eea96"
48
47
  }