@loopback/core 4.0.0-alpha.8 → 4.0.1

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.
Files changed (179) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +77 -2
  3. package/dist/application.d.ts +341 -0
  4. package/dist/application.js +554 -0
  5. package/dist/application.js.map +1 -0
  6. package/dist/component.d.ts +80 -0
  7. package/dist/component.js +59 -0
  8. package/dist/component.js.map +1 -0
  9. package/dist/extension-point.d.ts +121 -0
  10. package/dist/extension-point.js +227 -0
  11. package/dist/extension-point.js.map +1 -0
  12. package/dist/index.d.ts +21 -0
  13. package/dist/index.js +31 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/keys.d.ts +97 -0
  16. package/dist/keys.js +109 -0
  17. package/dist/keys.js.map +1 -0
  18. package/dist/lifecycle-registry.d.ts +91 -0
  19. package/dist/lifecycle-registry.js +191 -0
  20. package/dist/lifecycle-registry.js.map +1 -0
  21. package/dist/lifecycle.d.ts +47 -0
  22. package/dist/lifecycle.js +56 -0
  23. package/dist/lifecycle.js.map +1 -0
  24. package/dist/mixin-target.d.ts +60 -0
  25. package/{lib/internal-types.js → dist/mixin-target.js} +2 -3
  26. package/dist/mixin-target.js.map +1 -0
  27. package/dist/server.d.ts +16 -0
  28. package/{lib6/src/Component.js → dist/server.js} +2 -1
  29. package/dist/server.js.map +1 -0
  30. package/dist/service.d.ts +63 -0
  31. package/dist/service.js +151 -0
  32. package/dist/service.js.map +1 -0
  33. package/package.json +39 -37
  34. package/src/application.ts +719 -0
  35. package/src/component.ts +155 -0
  36. package/src/extension-point.ts +312 -0
  37. package/src/index.ts +29 -0
  38. package/src/keys.ts +144 -0
  39. package/src/lifecycle-registry.ts +268 -0
  40. package/src/lifecycle.ts +90 -0
  41. package/src/mixin-target.ts +69 -0
  42. package/src/server.ts +22 -0
  43. package/src/service.ts +211 -0
  44. package/index.d.ts +0 -6
  45. package/index.js +0 -9
  46. package/lib/Component.d.ts +0 -2
  47. package/lib/Component.js +0 -7
  48. package/lib/Sequence.d.ts +0 -14
  49. package/lib/Sequence.js +0 -58
  50. package/lib/application.d.ts +0 -52
  51. package/lib/application.js +0 -79
  52. package/lib/application.js.map +0 -1
  53. package/lib/component.js.map +0 -1
  54. package/lib/handlers/http.d.ts +0 -3
  55. package/lib/handlers/http.js +0 -13
  56. package/lib/handlers/http.js.map +0 -1
  57. package/lib/handlers/index.d.ts +0 -1
  58. package/lib/handlers/index.js +0 -11
  59. package/lib/handlers/index.js.map +0 -1
  60. package/lib/http-handler.d.ts +0 -16
  61. package/lib/http-handler.js +0 -62
  62. package/lib/http-handler.js.map +0 -1
  63. package/lib/index.d.ts +0 -16
  64. package/lib/index.js +0 -33
  65. package/lib/index.js.map +0 -1
  66. package/lib/internal-types.d.ts +0 -20
  67. package/lib/internal-types.js.map +0 -1
  68. package/lib/invoke.d.ts +0 -5
  69. package/lib/invoke.js +0 -30
  70. package/lib/parser.d.ts +0 -3
  71. package/lib/parser.js +0 -73
  72. package/lib/parser.js.map +0 -1
  73. package/lib/promisify.d.ts +0 -3
  74. package/lib/promisify.js +0 -34
  75. package/lib/promisify.js.map +0 -1
  76. package/lib/router/SwaggerRouter.d.ts +0 -39
  77. package/lib/router/SwaggerRouter.js +0 -205
  78. package/lib/router/metadata.d.ts +0 -12
  79. package/lib/router/metadata.js +0 -30
  80. package/lib/router/metadata.js.map +0 -1
  81. package/lib/router/routing-table.d.ts +0 -16
  82. package/lib/router/routing-table.js +0 -95
  83. package/lib/router/routing-table.js.map +0 -1
  84. package/lib/sequence.js.map +0 -1
  85. package/lib/server.d.ts +0 -23
  86. package/lib/server.js +0 -53
  87. package/lib/server.js.map +0 -1
  88. package/lib/src/Component.d.ts +0 -2
  89. package/lib/src/Component.js +0 -6
  90. package/lib/src/Sequence.d.ts +0 -6
  91. package/lib/src/Sequence.js +0 -26
  92. package/lib/src/application.d.ts +0 -27
  93. package/lib/src/application.js +0 -70
  94. package/lib/src/index.d.ts +0 -13
  95. package/lib/src/index.js +0 -29
  96. package/lib/src/invoke.d.ts +0 -5
  97. package/lib/src/invoke.js +0 -34
  98. package/lib/src/parser.d.ts +0 -3
  99. package/lib/src/parser.js +0 -72
  100. package/lib/src/promisify.d.ts +0 -3
  101. package/lib/src/promisify.js +0 -33
  102. package/lib/src/router/SwaggerRouter.d.ts +0 -53
  103. package/lib/src/router/SwaggerRouter.js +0 -101
  104. package/lib/src/router/metadata.d.ts +0 -13
  105. package/lib/src/router/metadata.js +0 -29
  106. package/lib/src/router/routing-table.d.ts +0 -13
  107. package/lib/src/router/routing-table.js +0 -83
  108. package/lib/src/server.d.ts +0 -17
  109. package/lib/src/server.js +0 -40
  110. package/lib/writer.d.ts +0 -4
  111. package/lib/writer.js +0 -24
  112. package/lib/writer.js.map +0 -1
  113. package/lib6/Component.d.ts +0 -2
  114. package/lib6/Component.js +0 -7
  115. package/lib6/Sequence.d.ts +0 -14
  116. package/lib6/Sequence.js +0 -68
  117. package/lib6/application.d.ts +0 -52
  118. package/lib6/application.js +0 -79
  119. package/lib6/application.js.map +0 -1
  120. package/lib6/component.js.map +0 -1
  121. package/lib6/handlers/http.d.ts +0 -3
  122. package/lib6/handlers/http.js +0 -21
  123. package/lib6/handlers/http.js.map +0 -1
  124. package/lib6/handlers/index.d.ts +0 -1
  125. package/lib6/handlers/index.js +0 -11
  126. package/lib6/handlers/index.js.map +0 -1
  127. package/lib6/http-handler.d.ts +0 -16
  128. package/lib6/http-handler.js +0 -72
  129. package/lib6/http-handler.js.map +0 -1
  130. package/lib6/index.d.ts +0 -16
  131. package/lib6/index.js +0 -33
  132. package/lib6/index.js.map +0 -1
  133. package/lib6/internal-types.d.ts +0 -20
  134. package/lib6/internal-types.js +0 -8
  135. package/lib6/internal-types.js.map +0 -1
  136. package/lib6/invoke.d.ts +0 -5
  137. package/lib6/invoke.js +0 -30
  138. package/lib6/parser.d.ts +0 -3
  139. package/lib6/parser.js +0 -83
  140. package/lib6/parser.js.map +0 -1
  141. package/lib6/promisify.d.ts +0 -3
  142. package/lib6/promisify.js +0 -34
  143. package/lib6/promisify.js.map +0 -1
  144. package/lib6/router/SwaggerRouter.d.ts +0 -39
  145. package/lib6/router/SwaggerRouter.js +0 -205
  146. package/lib6/router/metadata.d.ts +0 -12
  147. package/lib6/router/metadata.js +0 -30
  148. package/lib6/router/metadata.js.map +0 -1
  149. package/lib6/router/routing-table.d.ts +0 -16
  150. package/lib6/router/routing-table.js +0 -95
  151. package/lib6/router/routing-table.js.map +0 -1
  152. package/lib6/sequence.js.map +0 -1
  153. package/lib6/server.d.ts +0 -23
  154. package/lib6/server.js +0 -63
  155. package/lib6/server.js.map +0 -1
  156. package/lib6/src/Component.d.ts +0 -2
  157. package/lib6/src/Sequence.d.ts +0 -6
  158. package/lib6/src/Sequence.js +0 -36
  159. package/lib6/src/application.d.ts +0 -27
  160. package/lib6/src/application.js +0 -70
  161. package/lib6/src/index.d.ts +0 -13
  162. package/lib6/src/index.js +0 -29
  163. package/lib6/src/invoke.d.ts +0 -5
  164. package/lib6/src/invoke.js +0 -34
  165. package/lib6/src/parser.d.ts +0 -3
  166. package/lib6/src/parser.js +0 -82
  167. package/lib6/src/promisify.d.ts +0 -3
  168. package/lib6/src/promisify.js +0 -33
  169. package/lib6/src/router/SwaggerRouter.d.ts +0 -53
  170. package/lib6/src/router/SwaggerRouter.js +0 -101
  171. package/lib6/src/router/metadata.d.ts +0 -13
  172. package/lib6/src/router/metadata.js +0 -29
  173. package/lib6/src/router/routing-table.d.ts +0 -13
  174. package/lib6/src/router/routing-table.js +0 -83
  175. package/lib6/src/server.d.ts +0 -17
  176. package/lib6/src/server.js +0 -50
  177. package/lib6/writer.d.ts +0 -4
  178. package/lib6/writer.js +0 -24
  179. package/lib6/writer.js.map +0 -1
@@ -0,0 +1,63 @@
1
+ import { Binding, BindingFilter, BindingFromClassOptions, BindingTemplate, InjectionMetadata } from '@loopback/context';
2
+ import { ServiceOrProviderClass } from './application';
3
+ /**
4
+ * Representing an interface for services. In TypeScript, the `interface` does
5
+ * not have reflections at runtime. We use a string, a symbol or a Function as
6
+ * the type for the service interface.
7
+ */
8
+ export declare type ServiceInterface = string | symbol | Function;
9
+ /**
10
+ * Options to register a service binding
11
+ */
12
+ export interface ServiceOptions extends BindingFromClassOptions {
13
+ interface?: ServiceInterface;
14
+ }
15
+ /**
16
+ * `@service` injects a service instance that matches the class or interface.
17
+ *
18
+ * @param serviceInterface - Interface for the service. It can be in one of the
19
+ * following forms:
20
+ *
21
+ * - A class, such as MyService
22
+ * - A string that identifies the interface, such as `'MyService'`
23
+ * - A symbol that identifies the interface, such as `Symbol('MyService')`
24
+ *
25
+ * If not provided, the value is inferred from the design:type of the parameter
26
+ * or property
27
+ *
28
+ * @example
29
+ * ```ts
30
+ *
31
+ * const ctx = new Context();
32
+ * ctx.bind('my-service').toClass(MyService);
33
+ * ctx.bind('logger').toClass(Logger);
34
+ *
35
+ * export class MyController {
36
+ * constructor(@service(MyService) private myService: MyService) {}
37
+ *
38
+ * @service()
39
+ * private logger: Logger;
40
+ * }
41
+ *
42
+ * ctx.bind('my-controller').toClass(MyController);
43
+ * await myController = ctx.get<MyController>('my-controller');
44
+ * ```
45
+ */
46
+ export declare function service(serviceInterface?: ServiceInterface, metadata?: InjectionMetadata): (target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void;
47
+ /**
48
+ * Create a binding filter by service class
49
+ * @param serviceInterface - Service class matching the one used by `binding.toClass()`
50
+ * @param options - Options to control if subclasses should be skipped for matching
51
+ */
52
+ export declare function filterByServiceInterface(serviceInterface: ServiceInterface): BindingFilter;
53
+ /**
54
+ * Create a service binding from a class or provider
55
+ * @param cls - Service class or provider
56
+ * @param options - Service options
57
+ */
58
+ export declare function createServiceBinding<S>(cls: ServiceOrProviderClass<S>, options?: ServiceOptions): Binding<S>;
59
+ /**
60
+ * Create a binding template for a service interface
61
+ * @param serviceInterface - Service interface
62
+ */
63
+ export declare function asService(serviceInterface: ServiceInterface): BindingTemplate;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ // Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
3
+ // Node module: @loopback/core
4
+ // This file is licensed under the MIT License.
5
+ // License text available at https://opensource.org/licenses/MIT
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.asService = exports.createServiceBinding = exports.filterByServiceInterface = exports.service = void 0;
8
+ const context_1 = require("@loopback/context");
9
+ const keys_1 = require("./keys");
10
+ /**
11
+ * `@service` injects a service instance that matches the class or interface.
12
+ *
13
+ * @param serviceInterface - Interface for the service. It can be in one of the
14
+ * following forms:
15
+ *
16
+ * - A class, such as MyService
17
+ * - A string that identifies the interface, such as `'MyService'`
18
+ * - A symbol that identifies the interface, such as `Symbol('MyService')`
19
+ *
20
+ * If not provided, the value is inferred from the design:type of the parameter
21
+ * or property
22
+ *
23
+ * @example
24
+ * ```ts
25
+ *
26
+ * const ctx = new Context();
27
+ * ctx.bind('my-service').toClass(MyService);
28
+ * ctx.bind('logger').toClass(Logger);
29
+ *
30
+ * export class MyController {
31
+ * constructor(@service(MyService) private myService: MyService) {}
32
+ *
33
+ * @service()
34
+ * private logger: Logger;
35
+ * }
36
+ *
37
+ * ctx.bind('my-controller').toClass(MyController);
38
+ * await myController = ctx.get<MyController>('my-controller');
39
+ * ```
40
+ */
41
+ function service(serviceInterface, metadata) {
42
+ return (0, context_1.inject)('', { decorator: '@service', ...metadata }, (ctx, injection, session) => {
43
+ var _a;
44
+ let serviceType = serviceInterface;
45
+ if (!serviceType) {
46
+ if (typeof injection.methodDescriptorOrParameterIndex === 'number') {
47
+ serviceType = (_a = context_1.MetadataInspector.getDesignTypeForMethod(injection.target, injection.member)) === null || _a === void 0 ? void 0 : _a.parameterTypes[injection.methodDescriptorOrParameterIndex];
48
+ }
49
+ else {
50
+ serviceType = context_1.MetadataInspector.getDesignTypeForProperty(injection.target, injection.member);
51
+ }
52
+ }
53
+ if (serviceType === undefined) {
54
+ const targetName = context_1.DecoratorFactory.getTargetName(injection.target, injection.member, injection.methodDescriptorOrParameterIndex);
55
+ const msg = `No design-time type metadata found while inspecting ${targetName}. ` +
56
+ 'You can either use `@service(ServiceClass)` or ensure `emitDecoratorMetadata` is enabled in your TypeScript configuration. ' +
57
+ 'Run `tsc --showConfig` to print the final TypeScript configuration of your project.';
58
+ throw new Error(msg);
59
+ }
60
+ if (serviceType === Object || serviceType === Array) {
61
+ throw new Error('Service class cannot be inferred from design type. Use @service(ServiceClass).');
62
+ }
63
+ const view = new context_1.ContextView(ctx, filterByServiceInterface(serviceType));
64
+ const result = view.resolve({
65
+ optional: metadata === null || metadata === void 0 ? void 0 : metadata.optional,
66
+ asProxyWithInterceptors: metadata === null || metadata === void 0 ? void 0 : metadata.asProxyWithInterceptors,
67
+ session,
68
+ });
69
+ const serviceTypeName = typeof serviceType === 'string'
70
+ ? serviceType
71
+ : typeof serviceType === 'symbol'
72
+ ? serviceType.toString()
73
+ : serviceType.name;
74
+ return (0, context_1.transformValueOrPromise)(result, values => {
75
+ if (values.length === 1)
76
+ return values[0];
77
+ if (values.length >= 1) {
78
+ throw new Error(`More than one bindings found for ${serviceTypeName}`);
79
+ }
80
+ else {
81
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.optional) {
82
+ return undefined;
83
+ }
84
+ throw new Error(`No binding found for ${serviceTypeName}. Make sure a service ` +
85
+ `binding is created in context ${ctx.name} with serviceInterface (${serviceTypeName}).`);
86
+ }
87
+ });
88
+ });
89
+ }
90
+ exports.service = service;
91
+ /**
92
+ * Create a binding filter by service class
93
+ * @param serviceInterface - Service class matching the one used by `binding.toClass()`
94
+ * @param options - Options to control if subclasses should be skipped for matching
95
+ */
96
+ function filterByServiceInterface(serviceInterface) {
97
+ return binding => binding.valueConstructor === serviceInterface ||
98
+ binding.tagMap[keys_1.CoreTags.SERVICE_INTERFACE] === serviceInterface;
99
+ }
100
+ exports.filterByServiceInterface = filterByServiceInterface;
101
+ /**
102
+ * Create a service binding from a class or provider
103
+ * @param cls - Service class or provider
104
+ * @param options - Service options
105
+ */
106
+ function createServiceBinding(cls, options = {}) {
107
+ var _a;
108
+ let name = options.name;
109
+ if (!name && (0, context_1.isProviderClass)(cls)) {
110
+ // Trim `Provider` from the default service name
111
+ // This is needed to keep backward compatibility
112
+ const templateFn = (0, context_1.bindingTemplateFor)(cls);
113
+ const template = context_1.Binding.bind('template').apply(templateFn);
114
+ if (template.tagMap[context_1.ContextTags.PROVIDER] &&
115
+ !template.tagMap[context_1.ContextTags.NAME]) {
116
+ // The class is a provider and no `name` tag is found
117
+ name = cls.name.replace(/Provider$/, '');
118
+ }
119
+ }
120
+ if (!name && (0, context_1.isDynamicValueProviderClass)(cls)) {
121
+ // Trim `Provider` from the default service name
122
+ const templateFn = (0, context_1.bindingTemplateFor)(cls);
123
+ const template = context_1.Binding.bind('template').apply(templateFn);
124
+ if (template.tagMap[context_1.ContextTags.DYNAMIC_VALUE_PROVIDER] &&
125
+ !template.tagMap[context_1.ContextTags.NAME]) {
126
+ // The class is a provider and no `name` tag is found
127
+ name = cls.name.replace(/Provider$/, '');
128
+ }
129
+ }
130
+ const binding = (0, context_1.createBindingFromClass)(cls, {
131
+ name,
132
+ type: keys_1.CoreTags.SERVICE,
133
+ ...options,
134
+ }).apply(asService((_a = options.interface) !== null && _a !== void 0 ? _a : cls));
135
+ return binding;
136
+ }
137
+ exports.createServiceBinding = createServiceBinding;
138
+ /**
139
+ * Create a binding template for a service interface
140
+ * @param serviceInterface - Service interface
141
+ */
142
+ function asService(serviceInterface) {
143
+ return function serviceTemplate(binding) {
144
+ binding.tag({
145
+ [context_1.ContextTags.TYPE]: keys_1.CoreTags.SERVICE,
146
+ [keys_1.CoreTags.SERVICE_INTERFACE]: serviceInterface,
147
+ });
148
+ };
149
+ }
150
+ exports.asService = asService;
151
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,48 +1,50 @@
1
1
  {
2
2
  "name": "@loopback/core",
3
- "version": "4.0.0-alpha.8",
4
- "description": "",
3
+ "description": "Define and implement core constructs such as Application and Component",
4
+ "version": "4.0.1",
5
+ "license": "MIT",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "author": "IBM Corp. and LoopBack contributors",
9
+ "copyright.owner": "IBM Corp. and LoopBack contributors",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/loopbackio/loopback-next.git",
13
+ "directory": "packages/core"
14
+ },
15
+ "engines": {
16
+ "node": "14 || 16 || 17 || 18"
17
+ },
5
18
  "scripts": {
6
- "acceptance": "mocha --opts ../../test/mocha.opts 'test/acceptance/**/*.ts'",
7
- "build": "npm run build:lib && npm run build:lib6",
8
- "build:lib": "node ../../bin/compile-package es2017",
9
- "build:lib6": "node ../../bin/compile-package es2015",
10
- "clean": "rm -rf loopback-core*.tgz lib* package",
11
- "prepublish": "npm run build",
19
+ "acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
20
+ "build": "lb-tsc",
21
+ "clean": "lb-clean loopback-core*.tgz dist *.tsbuildinfo package",
12
22
  "pretest": "npm run build",
13
- "integration": "mocha --opts ../../test/mocha.opts 'test/integration/**/*.ts'",
14
- "test": "mocha --opts ../../test/mocha.opts 'test/unit/**/*.ts' 'test/integration/**/*.ts' 'test/acceptance/**/*.ts'",
15
- "unit": "mocha --opts ../../test/mocha.opts 'test/unit/**/*.ts'",
23
+ "integration": "lb-mocha \"dist/__tests__/integration/**/*.js\"",
24
+ "test": "lb-mocha \"dist/__tests__/**/*.js\"",
25
+ "unit": "lb-mocha \"dist/__tests__/unit/**/*.js\"",
16
26
  "verify": "npm pack && tar xf loopback-core*.tgz && tree package && npm run clean"
17
27
  },
18
- "author": "IBM",
19
- "license": "MIT",
20
- "dependencies": {
21
- "@loopback/context": "^4.0.0-alpha.7",
22
- "@loopback/openapi-spec": "^4.0.0-alpha.5",
23
- "@types/bluebird": "^3.5.2",
24
- "@types/http-errors": "^1.5.34",
25
- "bluebird": "^3.5.0",
26
- "body": "^5.1.0",
27
- "debug": "^2.6.0",
28
- "http-errors": "^1.6.1",
29
- "path-to-regexp": "^1.7.0"
30
- },
31
- "devDependencies": {
32
- "@loopback/openapi-spec-builder": "^4.0.0-alpha.3",
33
- "@loopback/testlab": "^4.0.0-alpha.4",
34
- "mocha": "^3.2.0",
35
- "typescript": "^2.3.2"
28
+ "publishConfig": {
29
+ "access": "public"
36
30
  },
37
31
  "files": [
38
32
  "README.md",
39
- "index.js",
40
- "index.d.ts",
41
- "lib",
42
- "lib6"
33
+ "dist",
34
+ "src",
35
+ "!*/__tests__"
43
36
  ],
44
- "repository": {
45
- "type": "git",
46
- "url": "https://github.com/strongloop/loopback-next.git"
47
- }
37
+ "dependencies": {
38
+ "@loopback/context": "^5.0.1",
39
+ "debug": "^4.3.4",
40
+ "tslib": "^2.4.0"
41
+ },
42
+ "devDependencies": {
43
+ "@loopback/build": "^9.0.1",
44
+ "@loopback/eslint-config": "^13.0.1",
45
+ "@loopback/testlab": "^5.0.1",
46
+ "@types/debug": "^4.1.7",
47
+ "@types/node": "^14.18.21"
48
+ },
49
+ "gitHead": "ccf7863d0639de966d6c6129b4aa94ba1dce2c33"
48
50
  }