alado 2.0.1 → 2.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/.github/FUNDING.yml +1 -2
- package/.github/ISSUE_TEMPLATE/bug_report.yml +2 -2
- package/.github/ISSUE_TEMPLATE/feature_request.yml +1 -1
- package/README.md +22 -14
- package/dist/alado-server/alado-server.js.map +1 -1
- package/dist/decorators/http.js.map +1 -1
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.js +1 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/transform-property.d.ts +1 -0
- package/dist/decorators/transform-property.js +22 -0
- package/dist/decorators/transform-property.js.map +1 -0
- package/dist/injector/injector.js.map +1 -1
- package/package.json +1 -1
package/.github/FUNDING.yml
CHANGED
|
@@ -6,7 +6,7 @@ body:
|
|
|
6
6
|
id: title
|
|
7
7
|
attributes:
|
|
8
8
|
label: Summary
|
|
9
|
-
placeholder:
|
|
9
|
+
placeholder: 'Short description of the bug'
|
|
10
10
|
validations:
|
|
11
11
|
required: true
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ body:
|
|
|
14
14
|
id: steps
|
|
15
15
|
attributes:
|
|
16
16
|
label: Steps to Reproduce
|
|
17
|
-
description:
|
|
17
|
+
description: 'What did you do? What did you expect?'
|
|
18
18
|
placeholder: |
|
|
19
19
|
1. Run npm start
|
|
20
20
|
2. Observe crash
|
package/README.md
CHANGED
|
@@ -6,8 +6,8 @@ it provides out-of-the-box such fully-functioning features as routing, CORS, aut
|
|
|
6
6
|
parsing query and path parameters, and the request body, file uploading, request authentication, etc.
|
|
7
7
|
|
|
8
8
|
# Documentation for version 2.0.0 and above:
|
|
9
|
-
Version 2.0.0 comes with decorators that simplify the project structure and minimize the amount of code you need to write.
|
|
10
9
|
|
|
10
|
+
Version 2.0.0 comes with decorators that simplify the project structure and minimize the amount of code you need to write.
|
|
11
11
|
|
|
12
12
|
There is an example of the API creating with Alado (version >= 2.0.0):
|
|
13
13
|
[https://github.com/databikers/alado-decorators-api-example](https://github.com/databikers/alado-decorators-api-example)
|
|
@@ -26,6 +26,7 @@ head(path: string, options: HttpDecoratorOptions = {})
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
#### Arguments
|
|
29
|
+
|
|
29
30
|
- **path**: Route string (e.g., `/users/:id`).
|
|
30
31
|
- **options**: `HttpDecoratorOptions` object, may include:
|
|
31
32
|
- `appId`: Identifier of the application instance.
|
|
@@ -43,6 +44,7 @@ defineRequest(request: Partial<Record<keyof [Request](#request), AnyClass>>)
|
|
|
43
44
|
```
|
|
44
45
|
|
|
45
46
|
#### Arguments
|
|
47
|
+
|
|
46
48
|
- **request**: A partial mapping of keys from [Request](#request) to your DTO classes.
|
|
47
49
|
- Keys can include:
|
|
48
50
|
- `headers`, `query`, `path`, `body`: each a record of property definitions.
|
|
@@ -78,6 +80,7 @@ defineResponse(response: [Response](#response)<any>)
|
|
|
78
80
|
```
|
|
79
81
|
|
|
80
82
|
#### Arguments
|
|
83
|
+
|
|
81
84
|
- **response**: Response schema definition, including:
|
|
82
85
|
- `title`: Short descriptive title.
|
|
83
86
|
- `description`: Explanation of the response.
|
|
@@ -96,6 +99,7 @@ interface Response<T> {
|
|
|
96
99
|
body?: T;
|
|
97
100
|
}
|
|
98
101
|
```
|
|
102
|
+
|
|
99
103
|
---
|
|
100
104
|
|
|
101
105
|
### `withAuth` decorator
|
|
@@ -105,6 +109,7 @@ withAuth(requestAuthentication: [RequestAuthentication](#requestauthentication))
|
|
|
105
109
|
```
|
|
106
110
|
|
|
107
111
|
#### Arguments
|
|
112
|
+
|
|
108
113
|
- **requestAuthentication**: Defines authentication requirements, including:
|
|
109
114
|
- `inputProperty`: Field name in request used for auth input.
|
|
110
115
|
- `outputProperty`: Field name in request to store auth result.
|
|
@@ -126,7 +131,6 @@ interface RequestAuthentication {
|
|
|
126
131
|
}
|
|
127
132
|
```
|
|
128
133
|
|
|
129
|
-
|
|
130
134
|
```typescript
|
|
131
135
|
import { RequestAuthentication } from 'alado';
|
|
132
136
|
import { DataStore } from '@data-store';
|
|
@@ -143,7 +147,6 @@ export const bearerAuth: RequestAuthentication = {
|
|
|
143
147
|
message: 'Unauthorized',
|
|
144
148
|
},
|
|
145
149
|
};
|
|
146
|
-
|
|
147
150
|
```
|
|
148
151
|
|
|
149
152
|
#### `AladoServerError`
|
|
@@ -154,11 +157,11 @@ type AladoServerError = {
|
|
|
154
157
|
message: string;
|
|
155
158
|
};
|
|
156
159
|
```
|
|
160
|
+
|
|
157
161
|
---
|
|
158
162
|
|
|
159
163
|
Example of controller:
|
|
160
164
|
|
|
161
|
-
|
|
162
165
|
```ts
|
|
163
166
|
export class UserController {
|
|
164
167
|
@post('/user', { tags: ['User'] })
|
|
@@ -178,7 +181,7 @@ export class UserController {
|
|
|
178
181
|
body: user,
|
|
179
182
|
};
|
|
180
183
|
}
|
|
181
|
-
|
|
184
|
+
|
|
182
185
|
@patch('/user/:id', { tags: ['User'] })
|
|
183
186
|
@withAuth(bearerAuth)
|
|
184
187
|
@defineResponse({
|
|
@@ -247,7 +250,6 @@ export class UserController {
|
|
|
247
250
|
body: {},
|
|
248
251
|
};
|
|
249
252
|
}
|
|
250
|
-
|
|
251
253
|
}
|
|
252
254
|
```
|
|
253
255
|
|
|
@@ -262,6 +264,7 @@ fileUploadProperty(filePropertyDefinition: [FilePropertyDefinition](#filepropert
|
|
|
262
264
|
```
|
|
263
265
|
|
|
264
266
|
#### Arguments
|
|
267
|
+
|
|
265
268
|
- **filePropertyDefinition**: Object describing file upload rules, including:
|
|
266
269
|
- `mimetypes`: Array of allowed MIME types.
|
|
267
270
|
- `maxSize`: Maximum file size (bytes).
|
|
@@ -290,6 +293,7 @@ documentProperty(propertyDocumentation: [PropertyDocumentation](#propertydocumen
|
|
|
290
293
|
```
|
|
291
294
|
|
|
292
295
|
#### Arguments
|
|
296
|
+
|
|
293
297
|
- **propertyDocumentation**: Documentation metadata for a property, including:
|
|
294
298
|
- `schema`: JSON Schema–like definition (`type`, `format`, validation structure).
|
|
295
299
|
- `description`: Human-readable explanation.
|
|
@@ -343,6 +347,14 @@ interface PropertyDefinitionSchema {
|
|
|
343
347
|
|
|
344
348
|
---
|
|
345
349
|
|
|
350
|
+
### `transformProperty`
|
|
351
|
+
|
|
352
|
+
```ts
|
|
353
|
+
transformProperty(propertyTransformer: (value:any) => any | Promise<any>)
|
|
354
|
+
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
|
|
346
358
|
### `validateProperty`
|
|
347
359
|
|
|
348
360
|
```ts
|
|
@@ -350,6 +362,7 @@ validateProperty(propertyValidation: [PropertyValidation](#propertyvalidation))
|
|
|
350
362
|
```
|
|
351
363
|
|
|
352
364
|
#### Arguments
|
|
365
|
+
|
|
353
366
|
- **propertyValidation**: Validation rules, including:
|
|
354
367
|
- `required`: Whether the property is mandatory.
|
|
355
368
|
- `handler`: Function to validate the property value (sync or async).
|
|
@@ -366,6 +379,7 @@ interface PropertyValidation {
|
|
|
366
379
|
```
|
|
367
380
|
|
|
368
381
|
---
|
|
382
|
+
|
|
369
383
|
DTOs examples:
|
|
370
384
|
|
|
371
385
|
```typescript
|
|
@@ -389,10 +403,8 @@ export class Id {
|
|
|
389
403
|
})
|
|
390
404
|
id: string = '7ef5ed25-53b1-432f-96ec-8e35d830eb9c';
|
|
391
405
|
}
|
|
392
|
-
|
|
393
406
|
```
|
|
394
407
|
|
|
395
|
-
|
|
396
408
|
```typescript
|
|
397
409
|
import { fileUploadProperty } from 'alado';
|
|
398
410
|
|
|
@@ -416,7 +428,6 @@ export class UserFilesDto {
|
|
|
416
428
|
})
|
|
417
429
|
avatar: string = '/path/to/image.png';
|
|
418
430
|
}
|
|
419
|
-
|
|
420
431
|
```
|
|
421
432
|
|
|
422
433
|
```typescript
|
|
@@ -459,7 +470,6 @@ export class CredentialsDto {
|
|
|
459
470
|
}
|
|
460
471
|
|
|
461
472
|
export const credentialsDto = new CredentialsDto();
|
|
462
|
-
|
|
463
473
|
```
|
|
464
474
|
|
|
465
475
|
---
|
|
@@ -475,14 +485,14 @@ import { UserController } from '@user';
|
|
|
475
485
|
|
|
476
486
|
export const app = initializeApplication({
|
|
477
487
|
serverOptions: aladoServerOptions,
|
|
478
|
-
controllers: [UserController]
|
|
488
|
+
controllers: [UserController],
|
|
479
489
|
});
|
|
480
490
|
|
|
481
491
|
app.start(() => console.log('Application has been successfully started'));
|
|
482
|
-
|
|
483
492
|
```
|
|
484
493
|
|
|
485
494
|
#### Arguments
|
|
495
|
+
|
|
486
496
|
- **initializeApplicationOptions**: Object containing:
|
|
487
497
|
- **serverOptions** ([AladoServerOptions](#aladoserveroptions)): Configuration for starting the server (e.g., `appId`, port, logger).
|
|
488
498
|
- **controllers**: Array of controller classes to initialize at startup.
|
|
@@ -515,8 +525,6 @@ interface AladoServerLogger {
|
|
|
515
525
|
}
|
|
516
526
|
```
|
|
517
527
|
|
|
518
|
-
|
|
519
|
-
|
|
520
528
|
There is an example of the API creating with Alado (version < 2.0.0):
|
|
521
529
|
|
|
522
530
|
The basis of use is a combination of interface simplicity and separation of the “routine” part of writing API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alado-server.js","sourceRoot":"","sources":["../../src/alado-server/alado-server.ts"],"names":[],"mappings":";;;AAEA,mCAAsG;AAGtG,qCAAiC;AACjC,uCAA6C;AAC7C,qCAA+D;AAE/D,MAAa,WAAW;IACL,KAAK,CAAS;IACd,MAAM,CAAS;IACf,MAAM,CAAS;IACf,gBAAgB,CAAM;IAC/B,IAAI,CAAS;IACb,IAAI,CAAS;IACb,OAAO,CAAS;IACP,MAAM,CAAqB;IAE5C,YAAY,OAA2B;QACrC,IAAA,8BAAoB,EAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAU,CAAC;QACzC,IAAI,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAK,OAA6B,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,gCAAuB,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CACtB;YACE,IAAI,EAAE;gBACJ,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM;gBAC5B,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,IAAI,GAAG;gBAClD,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,IAAI,EAAE;gBACnD,cAAc,EAAE,IAAI,GAAG,EAAY;gBACnC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,IAAI,EAAE;gBACjD,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,IAAI,KAAK;aAC/D;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,oBAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,uBAAc,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAA,4BAAiB,EAC7B;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EACD;YACE,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,OAAO,CAAC,aAAa;SACzB,CACF,CAAC;IACJ,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"alado-server.js","sourceRoot":"","sources":["../../src/alado-server/alado-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/decorators/http.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,yCAAqC;AAGrC,+DAA2D;AAE3D,SAAS,cAAc,CAAC,UAAsB,EAAE,IAAY,EAAE,UAAgC,EAAE;IAC9F,IAAA,wCAAkB,GAAE,CAAC;IACrB,MAAM,kBAAkB,GAAW,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;IAC3D,MAAM,gBAAgB,GAAW,UAAU,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAW,OAAO,EAAE,KAAK,IAAI,mBAAU,CAAC;IACnD,MAAM,GAAG,GAAgB,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,UAAU,QAAa,EAAE,MAAc;QAC5C,MAAM,GAAG,GAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QAC7D,MAAM,EAAE,GAAG,CAAC,GAAgB,EAAQ,EAAE;YACpC,GAAG,CAAC,gBAAwE,CAAC,CAC3E,IAAI,EACJ;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,kBAAkB;gBAC1C,IAAI,EAAE,oBAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,SAAS;gBACrD,OAAO,EAAE;oBACP,kBAAkB,EAAE,KAAY;oBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAK,KAAa;oBAC5C,UAAU,EAAE;wBACV,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kBAAkB;wBACtD,WAAW,EAAE,kBAAkB;wBAC/B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;qBACzB;iBACF;gBACD,OAAO,EAAE,oBAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE;gBACpD,QAAQ,EAAE,oBAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE;aACvD,EACD,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChC,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,EAAE,CAAC,GAAG,CAAC,CAAC;YACR,MAAM,SAAS,GAAG,oBAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;oBAC3B,EAAE,CAAC,GAAG,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oBAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,oBAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5F,oBAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/decorators/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './initialize-application';
|
|
2
2
|
export * from './document-property';
|
|
3
3
|
export * from './validate-property';
|
|
4
|
+
export * from './transform-property';
|
|
4
5
|
export * from './file-upload-property';
|
|
5
6
|
export * from './with-auth';
|
|
6
7
|
export * from './define-request';
|
package/dist/decorators/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./initialize-application"), exports);
|
|
18
18
|
__exportStar(require("./document-property"), exports);
|
|
19
19
|
__exportStar(require("./validate-property"), exports);
|
|
20
|
+
__exportStar(require("./transform-property"), exports);
|
|
20
21
|
__exportStar(require("./file-upload-property"), exports);
|
|
21
22
|
__exportStar(require("./with-auth"), exports);
|
|
22
23
|
__exportStar(require("./define-request"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,8CAA4B;AAC5B,mDAAiC;AACjC,oDAAkC;AAClC,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,yDAAuC;AACvC,8CAA4B;AAC5B,mDAAiC;AACjC,oDAAkC;AAClC,yCAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function transformProperty(propertyTransformer: (value: any) => any | Promise<any>): (...args: any[]) => void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformProperty = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function transformProperty(propertyTransformer) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
if (!_injector_1.injector.injected.propertyDefinitionsMapping) {
|
|
10
|
+
_injector_1.injector.injected.propertyDefinitionsMapping = {};
|
|
11
|
+
}
|
|
12
|
+
const key = args[0].constructor.name;
|
|
13
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key] =
|
|
14
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key] || {};
|
|
15
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]] =
|
|
16
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]] || {};
|
|
17
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]].transform =
|
|
18
|
+
propertyTransformer;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.transformProperty = transformProperty;
|
|
22
|
+
//# sourceMappingURL=transform-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-property.js","sourceRoot":"","sources":["../../src/decorators/transform-property.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AACrC,+DAA2D;AAE3D,SAAgB,iBAAiB,CAAC,mBAAuD;IACvF,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,IAAI,CAAC,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YAClD,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC;YAC/C,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAK,EAAyC,CAAC;QAClG,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;YAClE,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,IAAK,EAAyB,CAAC;QACpG,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAwB,CAAC,SAAS;YACpG,mBAAmB,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAdD,8CAcC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../../src/injector/injector.ts"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAA8B,IAAI,GAAG,EAAe,CAAC;AAE/D,MAAM,MAAM,GAAG,CAAI,YAAwB,EAAQ,EAAE;IACnD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,QAAkB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAwB,IAAI,KAAK,CAC7C,EAAE,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAkB,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAkB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF,CACF,CAAC;AAEF,MAAa,QAAQ;IACZ,MAAM,CAAC,IAAgB;QAC5B,OAAO,MAAM,CAAI,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,QAAa,CAAC;IACvB,CAAC;CACF;AARD,4BAQC;
|
|
1
|
+
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../../src/injector/injector.ts"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAA8B,IAAI,GAAG,EAAe,CAAC;AAE/D,MAAM,MAAM,GAAG,CAAI,YAAwB,EAAQ,EAAE;IACnD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,QAAkB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAwB,IAAI,KAAK,CAC7C,EAAE,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAkB,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAkB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF,CACF,CAAC;AAEF,MAAa,QAAQ;IACZ,MAAM,CAAC,IAAgB;QAC5B,OAAO,MAAM,CAAI,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,QAAa,CAAC;IACvB,CAAC;CACF;AARD,4BAQC;AAEY,QAAA,QAAQ,GAAG,IAAI,QAAQ,EAAmB,CAAC"}
|