@stemy/backend 2.6.1 → 2.7.3
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 +2 -2
- package/bundles/stemy-backend.umd.js +5553 -5465
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/bundles/stemy-backend.umd.min.js +1 -1
- package/bundles/stemy-backend.umd.min.js.map +1 -1
- package/common-types.d.ts +226 -214
- package/esm2015/common-types.js +18 -18
- package/esm2015/public_api.js +338 -338
- package/esm2015/rest-controllers/assets.controller.js +116 -116
- package/esm2015/rest-controllers/auth.controller.js +75 -75
- package/esm2015/rest-controllers/gallery.controller.js +37 -37
- package/esm2015/rest-controllers/progresses.controller.js +57 -57
- package/esm2015/rest-middlewares/container.middleware.js +32 -32
- package/esm2015/rest-middlewares/error-handler.middleware.js +83 -83
- package/esm2015/rest-middlewares/language.middleware.js +28 -28
- package/esm2015/rest-middlewares/request-ended.middleware.js +25 -25
- package/esm2015/rest-middlewares/request-started.middleware.js +24 -24
- package/esm2015/rest-openapi.js +44 -44
- package/esm2015/services/asset-processor.js +101 -101
- package/esm2015/services/asset-resolver.js +53 -53
- package/esm2015/services/assets.js +110 -110
- package/esm2015/services/backend-provider.js +32 -32
- package/esm2015/services/cache-processor.js +34 -34
- package/esm2015/services/cache.js +94 -94
- package/esm2015/services/configuration.js +55 -55
- package/esm2015/services/endpoint-provider.js +29 -29
- package/esm2015/services/entities/asset.js +166 -112
- package/esm2015/services/entities/lazy-asset.js +93 -93
- package/esm2015/services/entities/progress.js +181 -181
- package/esm2015/services/fixtures.js +45 -45
- package/esm2015/services/gallery-cache.js +36 -36
- package/esm2015/services/gallery-image.js +48 -48
- package/esm2015/services/gallery.js +138 -138
- package/esm2015/services/id-generator.js +63 -63
- package/esm2015/services/job-manager.js +203 -203
- package/esm2015/services/lazy-assets.js +74 -74
- package/esm2015/services/mail-sender.js +59 -59
- package/esm2015/services/memory-cache.js +84 -84
- package/esm2015/services/mongo-connector.js +61 -61
- package/esm2015/services/progresses.js +91 -91
- package/esm2015/services/template-renderer.js +89 -89
- package/esm2015/services/translation-provider.js +31 -31
- package/esm2015/services/translator.js +85 -85
- package/esm2015/services/user-manager.js +47 -47
- package/esm2015/socket-controllers/progress.controller.js +82 -82
- package/esm2015/socket-middlewares/compression.middleware.js +19 -19
- package/esm2015/static.js +33 -33
- package/esm2015/stemy-backend.js +4 -4
- package/esm2015/utilities/di-container.js +84 -84
- package/esm2015/utilities/lazy-asset-generator.js +40 -40
- package/esm2015/utilities/tree.js +111 -111
- package/esm2015/utils.js +618 -601
- package/esm2015/validators.js +51 -51
- package/fesm2015/stemy-backend.js +3656 -3585
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +33 -33
- package/rest-controllers/assets.controller.d.ts +16 -16
- package/rest-controllers/auth.controller.d.ts +14 -14
- package/rest-controllers/gallery.controller.d.ts +7 -7
- package/rest-controllers/progresses.controller.d.ts +9 -9
- package/rest-middlewares/container.middleware.d.ts +8 -8
- package/rest-middlewares/error-handler.middleware.d.ts +13 -13
- package/rest-middlewares/language.middleware.d.ts +8 -8
- package/rest-middlewares/request-ended.middleware.d.ts +5 -5
- package/rest-middlewares/request-started.middleware.d.ts +5 -5
- package/rest-openapi.d.ts +3 -3
- package/services/asset-processor.d.ts +12 -12
- package/services/asset-resolver.d.ts +9 -9
- package/services/assets.d.ts +19 -19
- package/services/backend-provider.d.ts +11 -11
- package/services/cache-processor.d.ts +4 -4
- package/services/cache.d.ts +23 -23
- package/services/configuration.d.ts +10 -10
- package/services/endpoint-provider.d.ts +4 -4
- package/services/entities/asset.d.ts +25 -23
- package/services/entities/lazy-asset.d.ts +29 -29
- package/services/entities/progress.d.ts +49 -49
- package/services/fixtures.d.ts +6 -6
- package/services/gallery-cache.d.ts +9 -9
- package/services/gallery-image.d.ts +11 -11
- package/services/gallery.d.ts +13 -13
- package/services/id-generator.d.ts +11 -11
- package/services/job-manager.d.ts +27 -27
- package/services/lazy-assets.d.ts +19 -19
- package/services/mail-sender.d.ts +20 -20
- package/services/memory-cache.d.ts +10 -10
- package/services/mongo-connector.d.ts +14 -14
- package/services/progresses.d.ts +18 -18
- package/services/template-renderer.d.ts +14 -14
- package/services/translation-provider.d.ts +10 -10
- package/services/translator.d.ts +15 -15
- package/services/user-manager.d.ts +6 -6
- package/socket-controllers/progress.controller.d.ts +10 -10
- package/socket-middlewares/compression.middleware.d.ts +4 -4
- package/static.d.ts +2 -2
- package/stemy-backend.d.ts +4 -4
- package/stemy-backend.metadata.json +1 -1
- package/utilities/di-container.d.ts +43 -43
- package/utilities/lazy-asset-generator.d.ts +15 -15
- package/utilities/tree.d.ts +14 -14
- package/utils.d.ts +76 -73
- package/validators.d.ts +7 -7
- package/di-container.d.ts +0 -40
- package/esm2015/di-container.js +0 -75
- package/esm2015/models/lazy-asset.js +0 -12
- package/esm2015/models/progress.js +0 -23
- package/esm2015/rest-middlewares/injector.middleware.js +0 -26
- package/esm2015/services/lazy-asset-helper.js +0 -74
- package/esm2015/services/logger.js +0 -14
- package/esm2015/services/progress-helper.js +0 -168
- package/models/lazy-asset.d.ts +0 -45
- package/models/progress.d.ts +0 -56
- package/rest-middlewares/injector.middleware.d.ts +0 -8
- package/services/lazy-asset-helper.d.ts +0 -15
- package/services/logger.d.ts +0 -2
- package/services/progress-helper.d.ts +0 -37
package/common-types.d.ts
CHANGED
|
@@ -1,214 +1,226 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Server } from "http";
|
|
3
|
-
import { Request, Express } from "express";
|
|
4
|
-
import { Socket, Server as SocketServer } from "socket.io";
|
|
5
|
-
import { RoutingControllersOptions } from "routing-controllers";
|
|
6
|
-
import { SocketControllersOptions } from "socket-controllers";
|
|
7
|
-
import { ClassProvider, DependencyContainer, InjectionToken, TokenProvider, ValueProvider, RegistrationOptions } from "tsyringe";
|
|
8
|
-
import { SchemaObject } from "openapi3-ts";
|
|
9
|
-
import { Readable } from "stream";
|
|
10
|
-
import { Moment } from "moment";
|
|
11
|
-
export declare const Type: FunctionConstructor;
|
|
12
|
-
export interface Type<T = object> extends Function {
|
|
13
|
-
new (...args: any[]): T;
|
|
14
|
-
}
|
|
15
|
-
export interface FactoryProvider<T> {
|
|
16
|
-
useFactory: (dc: IDependencyContainer) => T;
|
|
17
|
-
}
|
|
18
|
-
export interface ITree {
|
|
19
|
-
readonly path: string;
|
|
20
|
-
resolveService(): any;
|
|
21
|
-
resolveLeaves(): Map<string, ITree>;
|
|
22
|
-
resolveServices(): Map<string, any>;
|
|
23
|
-
resolveAncestor(path: string): ITree;
|
|
24
|
-
resolvePath(path: string, throwError?: boolean): ITree;
|
|
25
|
-
}
|
|
26
|
-
export interface IDependencyContainer extends DependencyContainer {
|
|
27
|
-
readonly parent: IDependencyContainer;
|
|
28
|
-
readonly tree: ITree;
|
|
29
|
-
readonly registeredTokens: ReadonlyArray<InjectionToken>;
|
|
30
|
-
createChildContainer(): IDependencyContainer;
|
|
31
|
-
register<T>(token: InjectionToken<T>, provider: ValueProvider<T>): IDependencyContainer;
|
|
32
|
-
register<T>(token: InjectionToken<T>, provider: FactoryProvider<T>): IDependencyContainer;
|
|
33
|
-
register<T>(token: InjectionToken<T>, provider: TokenProvider<T>, options?: RegistrationOptions): IDependencyContainer;
|
|
34
|
-
register<T>(token: InjectionToken<T>, provider: ClassProvider<T>, options?: RegistrationOptions): IDependencyContainer;
|
|
35
|
-
register<T>(token: InjectionToken<T>, provider: Type<T>, options?: RegistrationOptions): IDependencyContainer;
|
|
36
|
-
registerSingleton<T>(from: InjectionToken<T>, to: InjectionToken<T>): IDependencyContainer;
|
|
37
|
-
registerSingleton<T>(token: Type<T>): IDependencyContainer;
|
|
38
|
-
registerType<T>(from: InjectionToken<T>, to: InjectionToken<T>): IDependencyContainer;
|
|
39
|
-
registerInstance<T>(token: InjectionToken<T>, instance: T): IDependencyContainer;
|
|
40
|
-
get<T>(token: InjectionToken<T>): T;
|
|
41
|
-
}
|
|
42
|
-
export interface ClassBasedProvider<T> extends ClassProvider<T> {
|
|
43
|
-
provide: InjectionToken;
|
|
44
|
-
}
|
|
45
|
-
export interface ValueBasedProvider<T> extends ValueProvider<T> {
|
|
46
|
-
provide: InjectionToken;
|
|
47
|
-
}
|
|
48
|
-
export interface FactoryBasedProvider<T> extends FactoryProvider<T> {
|
|
49
|
-
provide: InjectionToken;
|
|
50
|
-
}
|
|
51
|
-
export interface TokenBasedProvider<T> extends TokenProvider<T> {
|
|
52
|
-
provide: InjectionToken;
|
|
53
|
-
}
|
|
54
|
-
export declare type SyringeProvider<T> = Type<T> | ClassProvider<T> | ValueProvider<T> | FactoryProvider<T> | TokenProvider<T>;
|
|
55
|
-
export declare type Provider<T> = Type<T> | ClassBasedProvider<T> | ValueBasedProvider<T> | FactoryBasedProvider<T> | TokenBasedProvider<T>;
|
|
56
|
-
export declare const FIXTURE: InjectionToken<IFixture>;
|
|
57
|
-
export declare const JOB: InjectionToken<IJob>;
|
|
58
|
-
export declare const EXPRESS: InjectionToken<Express>;
|
|
59
|
-
export declare const HTTP_SERVER: InjectionToken<Server>;
|
|
60
|
-
export declare const SOCKET_SERVER: InjectionToken<SocketServer>;
|
|
61
|
-
export declare const PARAMETER: InjectionToken<Parameter>;
|
|
62
|
-
export declare const DI_CONTAINER: InjectionToken<IDependencyContainer>;
|
|
63
|
-
export interface IFixture {
|
|
64
|
-
load(): Promise<any>;
|
|
65
|
-
}
|
|
66
|
-
export declare type SchemaConverter = (meta: any, options: any) => SchemaObject;
|
|
67
|
-
export declare type ParamResolver = (value: string) => any;
|
|
68
|
-
export declare class Parameter {
|
|
69
|
-
readonly name: string;
|
|
70
|
-
defaultValue: any;
|
|
71
|
-
resolver: ParamResolver;
|
|
72
|
-
constructor(name: string, defaultValue: any, resolver?: ParamResolver);
|
|
73
|
-
}
|
|
74
|
-
export interface IJob {
|
|
75
|
-
process(): Promise<any>;
|
|
76
|
-
}
|
|
77
|
-
export interface IJobTask {
|
|
78
|
-
start: () => this;
|
|
79
|
-
stop: () => this;
|
|
80
|
-
destroy: () => void;
|
|
81
|
-
getStatus: () => string;
|
|
82
|
-
}
|
|
83
|
-
export declare type JobParams = {
|
|
84
|
-
[name: string]: string | number | boolean;
|
|
85
|
-
};
|
|
86
|
-
export interface JobScheduleRange {
|
|
87
|
-
min: number;
|
|
88
|
-
max: number;
|
|
89
|
-
}
|
|
90
|
-
export declare type JobScheduleTime = string | number | JobScheduleRange | Array<string | number>;
|
|
91
|
-
export interface IProgress {
|
|
92
|
-
id?: string;
|
|
93
|
-
message?: any;
|
|
94
|
-
error?: any;
|
|
95
|
-
percent?: number;
|
|
96
|
-
current: number;
|
|
97
|
-
remaining: number;
|
|
98
|
-
createSubProgress(progressValue: number, max?: number, message?: string): Promise<IProgress>;
|
|
99
|
-
setMax(max: number): Promise<any>;
|
|
100
|
-
setError(error: string): Promise<any>;
|
|
101
|
-
advance(value?: number): Promise<any>;
|
|
102
|
-
save(): Promise<any>;
|
|
103
|
-
toJSON(): any;
|
|
104
|
-
}
|
|
105
|
-
export interface
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
export interface
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
export interface
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Server } from "http";
|
|
3
|
+
import { Request, Express } from "express";
|
|
4
|
+
import { Socket, Server as SocketServer } from "socket.io";
|
|
5
|
+
import { RoutingControllersOptions } from "routing-controllers";
|
|
6
|
+
import { SocketControllersOptions } from "socket-controllers";
|
|
7
|
+
import { ClassProvider, DependencyContainer, InjectionToken, TokenProvider, ValueProvider, RegistrationOptions } from "tsyringe";
|
|
8
|
+
import { SchemaObject } from "openapi3-ts";
|
|
9
|
+
import { Readable } from "stream";
|
|
10
|
+
import { Moment } from "moment";
|
|
11
|
+
export declare const Type: FunctionConstructor;
|
|
12
|
+
export interface Type<T = object> extends Function {
|
|
13
|
+
new (...args: any[]): T;
|
|
14
|
+
}
|
|
15
|
+
export interface FactoryProvider<T> {
|
|
16
|
+
useFactory: (dc: IDependencyContainer) => T;
|
|
17
|
+
}
|
|
18
|
+
export interface ITree {
|
|
19
|
+
readonly path: string;
|
|
20
|
+
resolveService(): any;
|
|
21
|
+
resolveLeaves(): Map<string, ITree>;
|
|
22
|
+
resolveServices(): Map<string, any>;
|
|
23
|
+
resolveAncestor(path: string): ITree;
|
|
24
|
+
resolvePath(path: string, throwError?: boolean): ITree;
|
|
25
|
+
}
|
|
26
|
+
export interface IDependencyContainer extends DependencyContainer {
|
|
27
|
+
readonly parent: IDependencyContainer;
|
|
28
|
+
readonly tree: ITree;
|
|
29
|
+
readonly registeredTokens: ReadonlyArray<InjectionToken>;
|
|
30
|
+
createChildContainer(): IDependencyContainer;
|
|
31
|
+
register<T>(token: InjectionToken<T>, provider: ValueProvider<T>): IDependencyContainer;
|
|
32
|
+
register<T>(token: InjectionToken<T>, provider: FactoryProvider<T>): IDependencyContainer;
|
|
33
|
+
register<T>(token: InjectionToken<T>, provider: TokenProvider<T>, options?: RegistrationOptions): IDependencyContainer;
|
|
34
|
+
register<T>(token: InjectionToken<T>, provider: ClassProvider<T>, options?: RegistrationOptions): IDependencyContainer;
|
|
35
|
+
register<T>(token: InjectionToken<T>, provider: Type<T>, options?: RegistrationOptions): IDependencyContainer;
|
|
36
|
+
registerSingleton<T>(from: InjectionToken<T>, to: InjectionToken<T>): IDependencyContainer;
|
|
37
|
+
registerSingleton<T>(token: Type<T>): IDependencyContainer;
|
|
38
|
+
registerType<T>(from: InjectionToken<T>, to: InjectionToken<T>): IDependencyContainer;
|
|
39
|
+
registerInstance<T>(token: InjectionToken<T>, instance: T): IDependencyContainer;
|
|
40
|
+
get<T>(token: InjectionToken<T>): T;
|
|
41
|
+
}
|
|
42
|
+
export interface ClassBasedProvider<T> extends ClassProvider<T> {
|
|
43
|
+
provide: InjectionToken;
|
|
44
|
+
}
|
|
45
|
+
export interface ValueBasedProvider<T> extends ValueProvider<T> {
|
|
46
|
+
provide: InjectionToken;
|
|
47
|
+
}
|
|
48
|
+
export interface FactoryBasedProvider<T> extends FactoryProvider<T> {
|
|
49
|
+
provide: InjectionToken;
|
|
50
|
+
}
|
|
51
|
+
export interface TokenBasedProvider<T> extends TokenProvider<T> {
|
|
52
|
+
provide: InjectionToken;
|
|
53
|
+
}
|
|
54
|
+
export declare type SyringeProvider<T> = Type<T> | ClassProvider<T> | ValueProvider<T> | FactoryProvider<T> | TokenProvider<T>;
|
|
55
|
+
export declare type Provider<T> = Type<T> | ClassBasedProvider<T> | ValueBasedProvider<T> | FactoryBasedProvider<T> | TokenBasedProvider<T>;
|
|
56
|
+
export declare const FIXTURE: InjectionToken<IFixture>;
|
|
57
|
+
export declare const JOB: InjectionToken<IJob>;
|
|
58
|
+
export declare const EXPRESS: InjectionToken<Express>;
|
|
59
|
+
export declare const HTTP_SERVER: InjectionToken<Server>;
|
|
60
|
+
export declare const SOCKET_SERVER: InjectionToken<SocketServer>;
|
|
61
|
+
export declare const PARAMETER: InjectionToken<Parameter>;
|
|
62
|
+
export declare const DI_CONTAINER: InjectionToken<IDependencyContainer>;
|
|
63
|
+
export interface IFixture {
|
|
64
|
+
load(): Promise<any>;
|
|
65
|
+
}
|
|
66
|
+
export declare type SchemaConverter = (meta: any, options: any) => SchemaObject;
|
|
67
|
+
export declare type ParamResolver = (value: string) => any;
|
|
68
|
+
export declare class Parameter {
|
|
69
|
+
readonly name: string;
|
|
70
|
+
defaultValue: any;
|
|
71
|
+
resolver: ParamResolver;
|
|
72
|
+
constructor(name: string, defaultValue: any, resolver?: ParamResolver);
|
|
73
|
+
}
|
|
74
|
+
export interface IJob {
|
|
75
|
+
process(): Promise<any>;
|
|
76
|
+
}
|
|
77
|
+
export interface IJobTask {
|
|
78
|
+
start: () => this;
|
|
79
|
+
stop: () => this;
|
|
80
|
+
destroy: () => void;
|
|
81
|
+
getStatus: () => string;
|
|
82
|
+
}
|
|
83
|
+
export declare type JobParams = {
|
|
84
|
+
[name: string]: string | number | boolean;
|
|
85
|
+
};
|
|
86
|
+
export interface JobScheduleRange {
|
|
87
|
+
min: number;
|
|
88
|
+
max: number;
|
|
89
|
+
}
|
|
90
|
+
export declare type JobScheduleTime = string | number | JobScheduleRange | Array<string | number>;
|
|
91
|
+
export interface IProgress {
|
|
92
|
+
id?: string;
|
|
93
|
+
message?: any;
|
|
94
|
+
error?: any;
|
|
95
|
+
percent?: number;
|
|
96
|
+
current: number;
|
|
97
|
+
remaining: number;
|
|
98
|
+
createSubProgress(progressValue: number, max?: number, message?: string): Promise<IProgress>;
|
|
99
|
+
setMax(max: number): Promise<any>;
|
|
100
|
+
setError(error: string): Promise<any>;
|
|
101
|
+
advance(value?: number): Promise<any>;
|
|
102
|
+
save(): Promise<any>;
|
|
103
|
+
toJSON(): any;
|
|
104
|
+
}
|
|
105
|
+
export interface IAssetCropInfo {
|
|
106
|
+
x: number;
|
|
107
|
+
y: number;
|
|
108
|
+
w: number;
|
|
109
|
+
h: number;
|
|
110
|
+
}
|
|
111
|
+
export interface IAssetMeta {
|
|
112
|
+
filename?: string;
|
|
113
|
+
classified?: boolean;
|
|
114
|
+
downloadCount?: number;
|
|
115
|
+
firstDownload?: Date;
|
|
116
|
+
lastDownload?: Date;
|
|
117
|
+
crop?: IAssetCropInfo;
|
|
118
|
+
cropBefore?: IAssetCropInfo;
|
|
119
|
+
cropAfter?: IAssetCropInfo;
|
|
120
|
+
[prop: string]: any;
|
|
121
|
+
}
|
|
122
|
+
export interface IAssetImageParams {
|
|
123
|
+
rotation?: number;
|
|
124
|
+
canvasScaleX?: number;
|
|
125
|
+
canvasScaleY?: number;
|
|
126
|
+
scaleX?: number;
|
|
127
|
+
scaleY?: number;
|
|
128
|
+
lazy?: boolean;
|
|
129
|
+
crop?: string | boolean;
|
|
130
|
+
cropBefore?: string | IAssetCropInfo;
|
|
131
|
+
cropAfter?: string | IAssetCropInfo;
|
|
132
|
+
}
|
|
133
|
+
export interface IAsset {
|
|
134
|
+
id?: string;
|
|
135
|
+
filename?: string;
|
|
136
|
+
contentType?: string;
|
|
137
|
+
metadata?: IAssetMeta;
|
|
138
|
+
stream: Readable;
|
|
139
|
+
unlink(): Promise<string>;
|
|
140
|
+
getBuffer(): Promise<Buffer>;
|
|
141
|
+
download(metadata?: IAssetMeta): Promise<Readable>;
|
|
142
|
+
downloadImage(params?: IAssetImageParams, metadata?: IAssetMeta): Promise<Readable>;
|
|
143
|
+
getImage(params?: IAssetImageParams): Promise<Readable>;
|
|
144
|
+
toJSON(): any;
|
|
145
|
+
}
|
|
146
|
+
export interface ILazyAsset {
|
|
147
|
+
id: string;
|
|
148
|
+
jobName: string;
|
|
149
|
+
jobParams: any;
|
|
150
|
+
jobQue: string;
|
|
151
|
+
progressId?: string;
|
|
152
|
+
assetId?: string;
|
|
153
|
+
unlink(): Promise<string>;
|
|
154
|
+
startWorking(): void;
|
|
155
|
+
loadAsset(): Promise<IAsset>;
|
|
156
|
+
writeAsset(asset: IAsset): Promise<IAsset>;
|
|
157
|
+
toJSON(): any;
|
|
158
|
+
}
|
|
159
|
+
export interface IUser {
|
|
160
|
+
_id?: string;
|
|
161
|
+
id?: string;
|
|
162
|
+
email: string;
|
|
163
|
+
password: string;
|
|
164
|
+
roles: string[];
|
|
165
|
+
}
|
|
166
|
+
export interface IClientSocket extends Socket {
|
|
167
|
+
interestedProgresses: Set<string>;
|
|
168
|
+
}
|
|
169
|
+
export interface IRequestBase<T> extends Request {
|
|
170
|
+
id?: string;
|
|
171
|
+
started?: Moment;
|
|
172
|
+
ended?: Moment;
|
|
173
|
+
container?: DependencyContainer;
|
|
174
|
+
language?: string;
|
|
175
|
+
user?: T;
|
|
176
|
+
}
|
|
177
|
+
export interface IRequest extends IRequestBase<IUser> {
|
|
178
|
+
}
|
|
179
|
+
export interface IGalleryImage {
|
|
180
|
+
folder: string;
|
|
181
|
+
thumb: string;
|
|
182
|
+
big: string;
|
|
183
|
+
serve(id: string): Promise<Buffer>;
|
|
184
|
+
}
|
|
185
|
+
export interface IGallerySize {
|
|
186
|
+
width?: number;
|
|
187
|
+
height?: number;
|
|
188
|
+
}
|
|
189
|
+
export interface IGalleryImageHandler {
|
|
190
|
+
getOriginal(): Promise<Buffer>;
|
|
191
|
+
writeResult(isThumb: boolean, buffer: Buffer): Promise<any>;
|
|
192
|
+
hasResult(isThumb: boolean): Promise<boolean>;
|
|
193
|
+
serveResult(isThumb: boolean): Promise<Buffer>;
|
|
194
|
+
}
|
|
195
|
+
export interface ITranslations {
|
|
196
|
+
[key: string]: any;
|
|
197
|
+
}
|
|
198
|
+
export interface IPaginationMeta {
|
|
199
|
+
total: number;
|
|
200
|
+
[key: string]: any;
|
|
201
|
+
}
|
|
202
|
+
export interface IPaginationBase<T> {
|
|
203
|
+
count: number;
|
|
204
|
+
items: T[];
|
|
205
|
+
meta?: IPaginationMeta;
|
|
206
|
+
}
|
|
207
|
+
export interface IPagination extends IPaginationBase<any> {
|
|
208
|
+
}
|
|
209
|
+
export interface IPaginationParams {
|
|
210
|
+
page: number;
|
|
211
|
+
limit: number;
|
|
212
|
+
sort?: string;
|
|
213
|
+
populate?: string[];
|
|
214
|
+
[key: string]: any;
|
|
215
|
+
}
|
|
216
|
+
export declare type FontFormat = "opentype" | "truetype" | "woff" | "woff2" | "datafork";
|
|
217
|
+
export interface IBackendConfig {
|
|
218
|
+
rootFolder?: string;
|
|
219
|
+
routePrefix?: string;
|
|
220
|
+
params?: Parameter[];
|
|
221
|
+
fixtures?: Type<IFixture>[];
|
|
222
|
+
jobs?: Type<IJob>[];
|
|
223
|
+
restOptions?: RoutingControllersOptions;
|
|
224
|
+
socketOptions?: SocketControllersOptions;
|
|
225
|
+
customValidation?: SchemaConverter | SchemaObject;
|
|
226
|
+
}
|
package/esm2015/common-types.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
// --- DI functions ---
|
|
2
|
-
export const Type = Function;
|
|
3
|
-
// --- Injection tokens ---
|
|
4
|
-
export const FIXTURE = Symbol.for("fixture-token");
|
|
5
|
-
export const JOB = Symbol.for("job-token");
|
|
6
|
-
export const EXPRESS = Symbol.for("express-token");
|
|
7
|
-
export const HTTP_SERVER = Symbol.for("http-server-token");
|
|
8
|
-
export const SOCKET_SERVER = Symbol.for("socket-server-token");
|
|
9
|
-
export const PARAMETER = Symbol.for("parameter-token");
|
|
10
|
-
export const DI_CONTAINER = Symbol.for("di-container-token");
|
|
11
|
-
export class Parameter {
|
|
12
|
-
constructor(name, defaultValue, resolver = null) {
|
|
13
|
-
this.name = name;
|
|
14
|
-
this.defaultValue = defaultValue;
|
|
15
|
-
this.resolver = resolver;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsdUJBQXVCO0FBRXZCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUM7QUF3RDdCLDJCQUEyQjtBQUUzQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUF5QixNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBNEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTJCLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVuRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWlDLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUU3RixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQWVuRyxNQUFNLE9BQU8sU0FBUztJQUVsQixZQUFxQixJQUFZLEVBQVMsWUFBaUIsRUFBUyxXQUEwQixJQUFJO1FBQTdFLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBSztRQUFTLGFBQVEsR0FBUixRQUFRLENBQXNCO0lBRWxHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VydmVyfSBmcm9tIFwiaHR0cFwiO1xuaW1wb3J0IHtSZXF1ZXN0LCBFeHByZXNzfSBmcm9tIFwiZXhwcmVzc1wiO1xuaW1wb3J0IHtTb2NrZXQsIFNlcnZlciBhcyBTb2NrZXRTZXJ2ZXJ9IGZyb20gXCJzb2NrZXQuaW9cIjtcbmltcG9ydCB7Um91dGluZ0NvbnRyb2xsZXJzT3B0aW9uc30gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnNcIjtcbmltcG9ydCB7U29ja2V0Q29udHJvbGxlcnNPcHRpb25zfSBmcm9tIFwic29ja2V0LWNvbnRyb2xsZXJzXCI7XG5pbXBvcnQge1xuICAgIENsYXNzUHJvdmlkZXIsXG4gICAgRGVwZW5kZW5jeUNvbnRhaW5lcixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBUb2tlblByb3ZpZGVyLFxuICAgIFZhbHVlUHJvdmlkZXIsXG4gICAgUmVnaXN0cmF0aW9uT3B0aW9uc1xufSBmcm9tIFwidHN5cmluZ2VcIjtcbmltcG9ydCB7U2NoZW1hT2JqZWN0fSBmcm9tIFwib3BlbmFwaTMtdHNcIjtcbmltcG9ydCBCdWZmZXIgZnJvbSBcImJ1ZmZlclwiO1xuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcblxuLy8gLS0tIERJIGZ1bmN0aW9ucyAtLS1cblxuZXhwb3J0IGNvbnN0IFR5cGUgPSBGdW5jdGlvbjtcblxuZXhwb3J0IGludGVyZmFjZSBUeXBlPFQgPSBvYmplY3Q+IGV4dGVuZHMgRnVuY3Rpb24ge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlQcm92aWRlcjxUPiB7XG4gICAgdXNlRmFjdG9yeTogKGRjOiBJRGVwZW5kZW5jeUNvbnRhaW5lcikgPT4gVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJlZSB7XG4gICAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICAgIHJlc29sdmVTZXJ2aWNlKCk6IGFueTtcbiAgICByZXNvbHZlTGVhdmVzKCk6IE1hcDxzdHJpbmcsIElUcmVlPjtcbiAgICByZXNvbHZlU2VydmljZXMoKTogTWFwPHN0cmluZywgYW55PjtcbiAgICByZXNvbHZlQW5jZXN0b3IocGF0aDogc3RyaW5nKTogSVRyZWU7XG4gICAgcmVzb2x2ZVBhdGgocGF0aDogc3RyaW5nLCB0aHJvd0Vycm9yPzogYm9vbGVhbik6IElUcmVlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZXBlbmRlbmN5Q29udGFpbmVyIGV4dGVuZHMgRGVwZW5kZW5jeUNvbnRhaW5lciB7XG4gICAgcmVhZG9ubHkgcGFyZW50OiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcbiAgICByZWFkb25seSB0cmVlOiBJVHJlZTtcbiAgICByZWFkb25seSByZWdpc3RlcmVkVG9rZW5zOiBSZWFkb25seUFycmF5PEluamVjdGlvblRva2VuPjtcbiAgICBjcmVhdGVDaGlsZENvbnRhaW5lcigpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogRmFjdG9yeVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogVG9rZW5Qcm92aWRlcjxUPiwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBDbGFzc1Byb3ZpZGVyPFQ+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xuICAgIHJlZ2lzdGVyPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcHJvdmlkZXI6IFR5cGU8VD4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXI7XG4gICAgcmVnaXN0ZXJTaW5nbGV0b248VD4oZnJvbTogSW5qZWN0aW9uVG9rZW48VD4sIHRvOiBJbmplY3Rpb25Ub2tlbjxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xuICAgIHJlZ2lzdGVyU2luZ2xldG9uPFQ+KHRva2VuOiBUeXBlPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XG4gICAgcmVnaXN0ZXJUeXBlPFQ+KGZyb206IEluamVjdGlvblRva2VuPFQ+LCB0bzogSW5qZWN0aW9uVG9rZW48VD4pOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcbiAgICByZWdpc3Rlckluc3RhbmNlPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgaW5zdGFuY2U6IFQpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcbiAgICBnZXQ8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+KTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGFzc0Jhc2VkUHJvdmlkZXI8VD4gZXh0ZW5kcyBDbGFzc1Byb3ZpZGVyPFQ+IHtcbiAgICBwcm92aWRlOiBJbmplY3Rpb25Ub2tlbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gZXh0ZW5kcyBWYWx1ZVByb3ZpZGVyPFQ+IHtcbiAgICBwcm92aWRlOiBJbmplY3Rpb25Ub2tlbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYWN0b3J5QmFzZWRQcm92aWRlcjxUPiBleHRlbmRzIEZhY3RvcnlQcm92aWRlcjxUPiB7XG4gICAgcHJvdmlkZTogSW5qZWN0aW9uVG9rZW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5CYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgVG9rZW5Qcm92aWRlcjxUPiB7XG4gICAgcHJvdmlkZTogSW5qZWN0aW9uVG9rZW47XG59XG5cbmV4cG9ydCB0eXBlIFN5cmluZ2VQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc1Byb3ZpZGVyPFQ+IHwgVmFsdWVQcm92aWRlcjxUPiB8IEZhY3RvcnlQcm92aWRlcjxUPiB8IFRva2VuUHJvdmlkZXI8VD47XG5cbmV4cG9ydCB0eXBlIFByb3ZpZGVyPFQ+ID0gVHlwZTxUPiB8IENsYXNzQmFzZWRQcm92aWRlcjxUPiB8IFZhbHVlQmFzZWRQcm92aWRlcjxUPiB8IEZhY3RvcnlCYXNlZFByb3ZpZGVyPFQ+IHwgVG9rZW5CYXNlZFByb3ZpZGVyPFQ+O1xuXG4vLyAtLS0gSW5qZWN0aW9uIHRva2VucyAtLS1cblxuZXhwb3J0IGNvbnN0IEZJWFRVUkU6IEluamVjdGlvblRva2VuPElGaXh0dXJlPiA9IFN5bWJvbC5mb3IoXCJmaXh0dXJlLXRva2VuXCIpO1xuXG5leHBvcnQgY29uc3QgSk9COiBJbmplY3Rpb25Ub2tlbjxJSm9iPiA9IFN5bWJvbC5mb3IoXCJqb2ItdG9rZW5cIik7XG5cbmV4cG9ydCBjb25zdCBFWFBSRVNTOiBJbmplY3Rpb25Ub2tlbjxFeHByZXNzPiA9IFN5bWJvbC5mb3IoXCJleHByZXNzLXRva2VuXCIpO1xuXG5leHBvcnQgY29uc3QgSFRUUF9TRVJWRVI6IEluamVjdGlvblRva2VuPFNlcnZlcj4gPSBTeW1ib2wuZm9yKFwiaHR0cC1zZXJ2ZXItdG9rZW5cIik7XG5cbmV4cG9ydCBjb25zdCBTT0NLRVRfU0VSVkVSOiBJbmplY3Rpb25Ub2tlbjxTb2NrZXRTZXJ2ZXI+ID0gU3ltYm9sLmZvcihcInNvY2tldC1zZXJ2ZXItdG9rZW5cIik7XG5cbmV4cG9ydCBjb25zdCBQQVJBTUVURVI6IEluamVjdGlvblRva2VuPFBhcmFtZXRlcj4gPSBTeW1ib2wuZm9yKFwicGFyYW1ldGVyLXRva2VuXCIpO1xuXG5leHBvcnQgY29uc3QgRElfQ09OVEFJTkVSOiBJbmplY3Rpb25Ub2tlbjxJRGVwZW5kZW5jeUNvbnRhaW5lcj4gPSBTeW1ib2wuZm9yKFwiZGktY29udGFpbmVyLXRva2VuXCIpO1xuXG4vLyAtLS0gSW50ZXJmYWNlcyBhbmQgdXRpbGl0eSBjbGFzc2VzIC0tLVxuXG5leHBvcnQgaW50ZXJmYWNlIElGaXh0dXJlIHtcbiAgICBsb2FkKCk6IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IHR5cGUgU2NoZW1hQ29udmVydGVyID0gKFxuICAgIG1ldGE6IGFueSxcbiAgICBvcHRpb25zOiBhbnlcbikgPT4gU2NoZW1hT2JqZWN0O1xuXG5leHBvcnQgdHlwZSBQYXJhbVJlc29sdmVyID0gKHZhbHVlOiBzdHJpbmcpID0+IGFueTtcblxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlciB7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBuYW1lOiBzdHJpbmcsIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueSwgcHVibGljIHJlc29sdmVyOiBQYXJhbVJlc29sdmVyID0gbnVsbCkge1xuXG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElKb2Ige1xuICAgIHByb2Nlc3MoKTogUHJvbWlzZTxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElKb2JUYXNrIHtcbiAgICBzdGFydDogKCkgPT4gdGhpcztcbiAgICBzdG9wOiAoKSA9PiB0aGlzO1xuICAgIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gICAgZ2V0U3RhdHVzOiAoKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEpvYlBhcmFtcyA9IHtbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSm9iU2NoZWR1bGVSYW5nZSB7XG4gICAgbWluOiBudW1iZXI7XG4gICAgbWF4OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEpvYlNjaGVkdWxlVGltZSA9IHN0cmluZyB8IG51bWJlciB8IEpvYlNjaGVkdWxlUmFuZ2UgfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbWVzc2FnZT86IGFueTtcbiAgICBlcnJvcj86IGFueTtcbiAgICBwZXJjZW50PzogbnVtYmVyO1xuICAgIGN1cnJlbnQ6IG51bWJlcjtcbiAgICByZW1haW5pbmc6IG51bWJlcjtcbiAgICBjcmVhdGVTdWJQcm9ncmVzcyhwcm9ncmVzc1ZhbHVlOiBudW1iZXIsIG1heD86IG51bWJlciwgbWVzc2FnZT86IHN0cmluZyk6IFByb21pc2U8SVByb2dyZXNzPjtcbiAgICBzZXRNYXgobWF4OiBudW1iZXIpOiBQcm9taXNlPGFueT47XG4gICAgc2V0RXJyb3IoZXJyb3I6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgICBhZHZhbmNlKHZhbHVlPzogbnVtYmVyKTogUHJvbWlzZTxhbnk+O1xuICAgIHNhdmUoKTogUHJvbWlzZTxhbnk+O1xuICAgIHRvSlNPTigpOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0TWV0YSB7XG4gICAgZmlsZW5hbWU/OiBzdHJpbmc7XG4gICAgY2xhc3NpZmllZD86IGJvb2xlYW47XG4gICAgZG93bmxvYWRDb3VudD86IG51bWJlcjtcbiAgICBmaXJzdERvd25sb2FkPzogRGF0ZTtcbiAgICBsYXN0RG93bmxvYWQ/OiBEYXRlO1xuICAgIFtwcm9wOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0SW1hZ2VQYXJhbXMge1xuICAgIHJvdGF0aW9uPzogbnVtYmVyO1xuICAgIGNhbnZhc1NjYWxlWD86IG51bWJlcjtcbiAgICBjYW52YXNTY2FsZVk/OiBudW1iZXI7XG4gICAgc2NhbGVYPzogbnVtYmVyO1xuICAgIHNjYWxlWT86IG51bWJlcjtcbiAgICBsYXp5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXQge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIGZpbGVuYW1lPzogc3RyaW5nO1xuICAgIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzogSUFzc2V0TWV0YTtcbiAgICBzdHJlYW06IFJlYWRhYmxlLFxuICAgIHVubGluaygpOiBQcm9taXNlPHN0cmluZz47XG4gICAgZ2V0QnVmZmVyKCk6IFByb21pc2U8QnVmZmVyPjtcbiAgICBkb3dubG9hZChtZXRhZGF0YT86IElBc3NldE1ldGEpOiBQcm9taXNlPFJlYWRhYmxlPjtcbiAgICBkb3dubG9hZEltYWdlKHBhcmFtcz86IElBc3NldEltYWdlUGFyYW1zLCBtZXRhZGF0YT86IElBc3NldE1ldGEpOiBQcm9taXNlPFJlYWRhYmxlPjtcbiAgICBnZXRJbWFnZShwYXJhbXM/OiBJQXNzZXRJbWFnZVBhcmFtcyk6IFByb21pc2U8UmVhZGFibGU+O1xuICAgIHRvSlNPTigpOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxhenlBc3NldCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBqb2JOYW1lOiBzdHJpbmc7XG4gICAgam9iUGFyYW1zOiBhbnk7XG4gICAgam9iUXVlOiBzdHJpbmc7XG4gICAgcHJvZ3Jlc3NJZD86IHN0cmluZztcbiAgICBhc3NldElkPzogc3RyaW5nO1xuICAgIHVubGluaygpOiBQcm9taXNlPHN0cmluZz47XG4gICAgc3RhcnRXb3JraW5nKCk6IHZvaWQ7XG4gICAgbG9hZEFzc2V0KCk6IFByb21pc2U8SUFzc2V0PjtcbiAgICB3cml0ZUFzc2V0KGFzc2V0OiBJQXNzZXQpOiBQcm9taXNlPElBc3NldD47XG4gICAgdG9KU09OKCk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXNlciB7XG4gICAgX2lkPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICByb2xlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaWVudFNvY2tldCBleHRlbmRzIFNvY2tldCB7XG4gICAgaW50ZXJlc3RlZFByb2dyZXNzZXM6IFNldDxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXF1ZXN0QmFzZTxUPiBleHRlbmRzIFJlcXVlc3Qge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHN0YXJ0ZWQ/OiBNb21lbnQ7XG4gICAgZW5kZWQ/OiBNb21lbnQ7XG4gICAgY29udGFpbmVyPzogRGVwZW5kZW5jeUNvbnRhaW5lcjtcbiAgICBsYW5ndWFnZT86IHN0cmluZztcbiAgICB1c2VyPzogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVxdWVzdCBleHRlbmRzIElSZXF1ZXN0QmFzZTxJVXNlcj4ge1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdhbGxlcnlJbWFnZSB7XG4gICAgZm9sZGVyOiBzdHJpbmc7XG4gICAgdGh1bWI6IHN0cmluZztcbiAgICBiaWc6IHN0cmluZztcbiAgICBzZXJ2ZShpZDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdhbGxlcnlTaXplIHtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdhbGxlcnlJbWFnZUhhbmRsZXIge1xuICAgIGdldE9yaWdpbmFsKCk6IFByb21pc2U8QnVmZmVyPjtcbiAgICB3cml0ZVJlc3VsdChpc1RodW1iOiBib29sZWFuLCBidWZmZXI6IEJ1ZmZlcik6IFByb21pc2U8YW55PjtcbiAgICBoYXNSZXN1bHQoaXNUaHVtYjogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj47XG4gICAgc2VydmVSZXN1bHQoaXNUaHVtYjogYm9vbGVhbik6IFByb21pc2U8QnVmZmVyPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNsYXRpb25zIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb25NZXRhIHtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFnaW5hdGlvbkJhc2U8VD4ge1xuICAgIGNvdW50OiBudW1iZXJcbiAgICBpdGVtczogVFtdO1xuICAgIG1ldGE/OiBJUGFnaW5hdGlvbk1ldGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb24gZXh0ZW5kcyBJUGFnaW5hdGlvbkJhc2U8YW55PiB7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFnaW5hdGlvblBhcmFtcyB7XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIGxpbWl0OiBudW1iZXI7XG4gICAgc29ydD86IHN0cmluZztcbiAgICBwb3B1bGF0ZT86IHN0cmluZ1tdO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgRm9udEZvcm1hdCA9IFwib3BlbnR5cGVcIiB8IFwidHJ1ZXR5cGVcIiB8IFwid29mZlwiIHwgXCJ3b2ZmMlwiIHwgXCJkYXRhZm9ya1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZW5kQ29uZmlnIHtcbiAgICByb290Rm9sZGVyPzogc3RyaW5nO1xuICAgIHJvdXRlUHJlZml4Pzogc3RyaW5nO1xuICAgIHBhcmFtcz86IFBhcmFtZXRlcltdO1xuICAgIGZpeHR1cmVzPzogVHlwZTxJRml4dHVyZT5bXTtcbiAgICBqb2JzPzogVHlwZTxJSm9iPltdO1xuICAgIHJlc3RPcHRpb25zPzogUm91dGluZ0NvbnRyb2xsZXJzT3B0aW9ucztcbiAgICBzb2NrZXRPcHRpb25zPzogU29ja2V0Q29udHJvbGxlcnNPcHRpb25zO1xuICAgIGN1c3RvbVZhbGlkYXRpb24/OiBTY2hlbWFDb252ZXJ0ZXIgfCBTY2hlbWFPYmplY3Q7XG59XG4iXX0=
|
|
1
|
+
// --- DI functions ---
|
|
2
|
+
export const Type = Function;
|
|
3
|
+
// --- Injection tokens ---
|
|
4
|
+
export const FIXTURE = Symbol.for("fixture-token");
|
|
5
|
+
export const JOB = Symbol.for("job-token");
|
|
6
|
+
export const EXPRESS = Symbol.for("express-token");
|
|
7
|
+
export const HTTP_SERVER = Symbol.for("http-server-token");
|
|
8
|
+
export const SOCKET_SERVER = Symbol.for("socket-server-token");
|
|
9
|
+
export const PARAMETER = Symbol.for("parameter-token");
|
|
10
|
+
export const DI_CONTAINER = Symbol.for("di-container-token");
|
|
11
|
+
export class Parameter {
|
|
12
|
+
constructor(name, defaultValue, resolver = null) {
|
|
13
|
+
this.name = name;
|
|
14
|
+
this.defaultValue = defaultValue;
|
|
15
|
+
this.resolver = resolver;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsdUJBQXVCO0FBRXZCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUM7QUF3RDdCLDJCQUEyQjtBQUUzQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUF5QixNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBNEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTJCLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUVuRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWlDLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUU3RixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQWVuRyxNQUFNLE9BQU8sU0FBUztJQUVsQixZQUFxQixJQUFZLEVBQVMsWUFBaUIsRUFBUyxXQUEwQixJQUFJO1FBQTdFLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBSztRQUFTLGFBQVEsR0FBUixRQUFRLENBQXNCO0lBRWxHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VydmVyfSBmcm9tIFwiaHR0cFwiO1xyXG5pbXBvcnQge1JlcXVlc3QsIEV4cHJlc3N9IGZyb20gXCJleHByZXNzXCI7XHJcbmltcG9ydCB7U29ja2V0LCBTZXJ2ZXIgYXMgU29ja2V0U2VydmVyfSBmcm9tIFwic29ja2V0LmlvXCI7XHJcbmltcG9ydCB7Um91dGluZ0NvbnRyb2xsZXJzT3B0aW9uc30gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtTb2NrZXRDb250cm9sbGVyc09wdGlvbnN9IGZyb20gXCJzb2NrZXQtY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtcclxuICAgIENsYXNzUHJvdmlkZXIsXHJcbiAgICBEZXBlbmRlbmN5Q29udGFpbmVyLFxyXG4gICAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgICBUb2tlblByb3ZpZGVyLFxyXG4gICAgVmFsdWVQcm92aWRlcixcclxuICAgIFJlZ2lzdHJhdGlvbk9wdGlvbnNcclxufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5pbXBvcnQgQnVmZmVyIGZyb20gXCJidWZmZXJcIjtcclxuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xyXG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xyXG5cclxuLy8gLS0tIERJIGZ1bmN0aW9ucyAtLS1cclxuXHJcbmV4cG9ydCBjb25zdCBUeXBlID0gRnVuY3Rpb247XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGU8VCA9IG9iamVjdD4gZXh0ZW5kcyBGdW5jdGlvbiB7XHJcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYWN0b3J5UHJvdmlkZXI8VD4ge1xyXG4gICAgdXNlRmFjdG9yeTogKGRjOiBJRGVwZW5kZW5jeUNvbnRhaW5lcikgPT4gVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVHJlZSB7XHJcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XHJcbiAgICByZXNvbHZlU2VydmljZSgpOiBhbnk7XHJcbiAgICByZXNvbHZlTGVhdmVzKCk6IE1hcDxzdHJpbmcsIElUcmVlPjtcclxuICAgIHJlc29sdmVTZXJ2aWNlcygpOiBNYXA8c3RyaW5nLCBhbnk+O1xyXG4gICAgcmVzb2x2ZUFuY2VzdG9yKHBhdGg6IHN0cmluZyk6IElUcmVlO1xyXG4gICAgcmVzb2x2ZVBhdGgocGF0aDogc3RyaW5nLCB0aHJvd0Vycm9yPzogYm9vbGVhbik6IElUcmVlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEZXBlbmRlbmN5Q29udGFpbmVyIGV4dGVuZHMgRGVwZW5kZW5jeUNvbnRhaW5lciB7XHJcbiAgICByZWFkb25seSBwYXJlbnQ6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVhZG9ubHkgdHJlZTogSVRyZWU7XHJcbiAgICByZWFkb25seSByZWdpc3RlcmVkVG9rZW5zOiBSZWFkb25seUFycmF5PEluamVjdGlvblRva2VuPjtcclxuICAgIGNyZWF0ZUNoaWxkQ29udGFpbmVyKCk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogVmFsdWVQcm92aWRlcjxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogRmFjdG9yeVByb3ZpZGVyPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlcjxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiBUb2tlblByb3ZpZGVyPFQ+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXI8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBwcm92aWRlcjogQ2xhc3NQcm92aWRlcjxUPiwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVyPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiwgcHJvdmlkZXI6IFR5cGU8VD4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPihmcm9tOiBJbmplY3Rpb25Ub2tlbjxUPiwgdG86IEluamVjdGlvblRva2VuPFQ+KTogSURlcGVuZGVuY3lDb250YWluZXI7XHJcbiAgICByZWdpc3RlclNpbmdsZXRvbjxUPih0b2tlbjogVHlwZTxUPik6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgcmVnaXN0ZXJUeXBlPFQ+KGZyb206IEluamVjdGlvblRva2VuPFQ+LCB0bzogSW5qZWN0aW9uVG9rZW48VD4pOiBJRGVwZW5kZW5jeUNvbnRhaW5lcjtcclxuICAgIHJlZ2lzdGVySW5zdGFuY2U8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBpbnN0YW5jZTogVCk6IElEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgZ2V0PFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPik6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NCYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgQ2xhc3NQcm92aWRlcjxUPiB7XHJcbiAgICBwcm92aWRlOiBJbmplY3Rpb25Ub2tlbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gZXh0ZW5kcyBWYWx1ZVByb3ZpZGVyPFQ+IHtcclxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlCYXNlZFByb3ZpZGVyPFQ+IGV4dGVuZHMgRmFjdG9yeVByb3ZpZGVyPFQ+IHtcclxuICAgIHByb3ZpZGU6IEluamVjdGlvblRva2VuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuQmFzZWRQcm92aWRlcjxUPiBleHRlbmRzIFRva2VuUHJvdmlkZXI8VD4ge1xyXG4gICAgcHJvdmlkZTogSW5qZWN0aW9uVG9rZW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN5cmluZ2VQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc1Byb3ZpZGVyPFQ+IHwgVmFsdWVQcm92aWRlcjxUPiB8IEZhY3RvcnlQcm92aWRlcjxUPiB8IFRva2VuUHJvdmlkZXI8VD47XHJcblxyXG5leHBvcnQgdHlwZSBQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBDbGFzc0Jhc2VkUHJvdmlkZXI8VD4gfCBWYWx1ZUJhc2VkUHJvdmlkZXI8VD4gfCBGYWN0b3J5QmFzZWRQcm92aWRlcjxUPiB8IFRva2VuQmFzZWRQcm92aWRlcjxUPjtcclxuXHJcbi8vIC0tLSBJbmplY3Rpb24gdG9rZW5zIC0tLVxyXG5cclxuZXhwb3J0IGNvbnN0IEZJWFRVUkU6IEluamVjdGlvblRva2VuPElGaXh0dXJlPiA9IFN5bWJvbC5mb3IoXCJmaXh0dXJlLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEpPQjogSW5qZWN0aW9uVG9rZW48SUpvYj4gPSBTeW1ib2wuZm9yKFwiam9iLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVYUFJFU1M6IEluamVjdGlvblRva2VuPEV4cHJlc3M+ID0gU3ltYm9sLmZvcihcImV4cHJlc3MtdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgSFRUUF9TRVJWRVI6IEluamVjdGlvblRva2VuPFNlcnZlcj4gPSBTeW1ib2wuZm9yKFwiaHR0cC1zZXJ2ZXItdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgU09DS0VUX1NFUlZFUjogSW5qZWN0aW9uVG9rZW48U29ja2V0U2VydmVyPiA9IFN5bWJvbC5mb3IoXCJzb2NrZXQtc2VydmVyLXRva2VuXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUjogSW5qZWN0aW9uVG9rZW48UGFyYW1ldGVyPiA9IFN5bWJvbC5mb3IoXCJwYXJhbWV0ZXItdG9rZW5cIik7XHJcblxyXG5leHBvcnQgY29uc3QgRElfQ09OVEFJTkVSOiBJbmplY3Rpb25Ub2tlbjxJRGVwZW5kZW5jeUNvbnRhaW5lcj4gPSBTeW1ib2wuZm9yKFwiZGktY29udGFpbmVyLXRva2VuXCIpO1xyXG5cclxuLy8gLS0tIEludGVyZmFjZXMgYW5kIHV0aWxpdHkgY2xhc3NlcyAtLS1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpeHR1cmUge1xyXG4gICAgbG9hZCgpOiBQcm9taXNlPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNjaGVtYUNvbnZlcnRlciA9IChcclxuICAgIG1ldGE6IGFueSxcclxuICAgIG9wdGlvbnM6IGFueVxyXG4pID0+IFNjaGVtYU9iamVjdDtcclxuXHJcbmV4cG9ydCB0eXBlIFBhcmFtUmVzb2x2ZXIgPSAodmFsdWU6IHN0cmluZykgPT4gYW55O1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgbmFtZTogc3RyaW5nLCBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnksIHB1YmxpYyByZXNvbHZlcjogUGFyYW1SZXNvbHZlciA9IG51bGwpIHtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpvYiB7XHJcbiAgICBwcm9jZXNzKCk6IFByb21pc2U8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSm9iVGFzayB7XHJcbiAgICBzdGFydDogKCkgPT4gdGhpcztcclxuICAgIHN0b3A6ICgpID0+IHRoaXM7XHJcbiAgICBkZXN0cm95OiAoKSA9PiB2b2lkO1xyXG4gICAgZ2V0U3RhdHVzOiAoKSA9PiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEpvYlBhcmFtcyA9IHtbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEpvYlNjaGVkdWxlUmFuZ2Uge1xyXG4gICAgbWluOiBudW1iZXI7XHJcbiAgICBtYXg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSm9iU2NoZWR1bGVUaW1lID0gc3RyaW5nIHwgbnVtYmVyIHwgSm9iU2NoZWR1bGVSYW5nZSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIG1lc3NhZ2U/OiBhbnk7XHJcbiAgICBlcnJvcj86IGFueTtcclxuICAgIHBlcmNlbnQ/OiBudW1iZXI7XHJcbiAgICBjdXJyZW50OiBudW1iZXI7XHJcbiAgICByZW1haW5pbmc6IG51bWJlcjtcclxuICAgIGNyZWF0ZVN1YlByb2dyZXNzKHByb2dyZXNzVmFsdWU6IG51bWJlciwgbWF4PzogbnVtYmVyLCBtZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTxJUHJvZ3Jlc3M+O1xyXG4gICAgc2V0TWF4KG1heDogbnVtYmVyKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgc2V0RXJyb3IoZXJyb3I6IHN0cmluZyk6IFByb21pc2U8YW55PjtcclxuICAgIGFkdmFuY2UodmFsdWU/OiBudW1iZXIpOiBQcm9taXNlPGFueT47XHJcbiAgICBzYXZlKCk6IFByb21pc2U8YW55PjtcclxuICAgIHRvSlNPTigpOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0Q3JvcEluZm8ge1xyXG4gICAgeDogbnVtYmVyO1xyXG4gICAgeTogbnVtYmVyO1xyXG4gICAgdzogbnVtYmVyO1xyXG4gICAgaDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBc3NldE1ldGEge1xyXG4gICAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgICBjbGFzc2lmaWVkPzogYm9vbGVhbjtcclxuICAgIGRvd25sb2FkQ291bnQ/OiBudW1iZXI7XHJcbiAgICBmaXJzdERvd25sb2FkPzogRGF0ZTtcclxuICAgIGxhc3REb3dubG9hZD86IERhdGU7XHJcbiAgICBjcm9wPzogSUFzc2V0Q3JvcEluZm87XHJcbiAgICBjcm9wQmVmb3JlPzogSUFzc2V0Q3JvcEluZm87XHJcbiAgICBjcm9wQWZ0ZXI/OiBJQXNzZXRDcm9wSW5mbztcclxuICAgIFtwcm9wOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0SW1hZ2VQYXJhbXMge1xyXG4gICAgcm90YXRpb24/OiBudW1iZXI7XHJcbiAgICBjYW52YXNTY2FsZVg/OiBudW1iZXI7XHJcbiAgICBjYW52YXNTY2FsZVk/OiBudW1iZXI7XHJcbiAgICBzY2FsZVg/OiBudW1iZXI7XHJcbiAgICBzY2FsZVk/OiBudW1iZXI7XHJcbiAgICBsYXp5PzogYm9vbGVhbjtcclxuICAgIGNyb3A/OiBzdHJpbmcgfCBib29sZWFuO1xyXG4gICAgY3JvcEJlZm9yZT86IHN0cmluZyB8IElBc3NldENyb3BJbmZvO1xyXG4gICAgY3JvcEFmdGVyPzogc3RyaW5nIHwgSUFzc2V0Q3JvcEluZm87XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2V0IHtcclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgICBjb250ZW50VHlwZT86IHN0cmluZztcclxuICAgIG1ldGFkYXRhPzogSUFzc2V0TWV0YTtcclxuICAgIHN0cmVhbTogUmVhZGFibGUsXHJcbiAgICB1bmxpbmsoKTogUHJvbWlzZTxzdHJpbmc+O1xyXG4gICAgZ2V0QnVmZmVyKCk6IFByb21pc2U8QnVmZmVyPjtcclxuICAgIGRvd25sb2FkKG1ldGFkYXRhPzogSUFzc2V0TWV0YSk6IFByb21pc2U8UmVhZGFibGU+O1xyXG4gICAgZG93bmxvYWRJbWFnZShwYXJhbXM/OiBJQXNzZXRJbWFnZVBhcmFtcywgbWV0YWRhdGE/OiBJQXNzZXRNZXRhKTogUHJvbWlzZTxSZWFkYWJsZT47XHJcbiAgICBnZXRJbWFnZShwYXJhbXM/OiBJQXNzZXRJbWFnZVBhcmFtcyk6IFByb21pc2U8UmVhZGFibGU+O1xyXG4gICAgdG9KU09OKCk6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTGF6eUFzc2V0IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBqb2JOYW1lOiBzdHJpbmc7XHJcbiAgICBqb2JQYXJhbXM6IGFueTtcclxuICAgIGpvYlF1ZTogc3RyaW5nO1xyXG4gICAgcHJvZ3Jlc3NJZD86IHN0cmluZztcclxuICAgIGFzc2V0SWQ/OiBzdHJpbmc7XHJcbiAgICB1bmxpbmsoKTogUHJvbWlzZTxzdHJpbmc+O1xyXG4gICAgc3RhcnRXb3JraW5nKCk6IHZvaWQ7XHJcbiAgICBsb2FkQXNzZXQoKTogUHJvbWlzZTxJQXNzZXQ+O1xyXG4gICAgd3JpdGVBc3NldChhc3NldDogSUFzc2V0KTogUHJvbWlzZTxJQXNzZXQ+O1xyXG4gICAgdG9KU09OKCk6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVXNlciB7XHJcbiAgICBfaWQ/OiBzdHJpbmc7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGVtYWlsOiBzdHJpbmc7XHJcbiAgICBwYXNzd29yZDogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDbGllbnRTb2NrZXQgZXh0ZW5kcyBTb2NrZXQge1xyXG4gICAgaW50ZXJlc3RlZFByb2dyZXNzZXM6IFNldDxzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXF1ZXN0QmFzZTxUPiBleHRlbmRzIFJlcXVlc3Qge1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBzdGFydGVkPzogTW9tZW50O1xyXG4gICAgZW5kZWQ/OiBNb21lbnQ7XHJcbiAgICBjb250YWluZXI/OiBEZXBlbmRlbmN5Q29udGFpbmVyO1xyXG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XHJcbiAgICB1c2VyPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVxdWVzdCBleHRlbmRzIElSZXF1ZXN0QmFzZTxJVXNlcj4ge1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR2FsbGVyeUltYWdlIHtcclxuICAgIGZvbGRlcjogc3RyaW5nO1xyXG4gICAgdGh1bWI6IHN0cmluZztcclxuICAgIGJpZzogc3RyaW5nO1xyXG4gICAgc2VydmUoaWQ6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHYWxsZXJ5U2l6ZSB7XHJcbiAgICB3aWR0aD86IG51bWJlcjtcclxuICAgIGhlaWdodD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR2FsbGVyeUltYWdlSGFuZGxlciB7XHJcbiAgICBnZXRPcmlnaW5hbCgpOiBQcm9taXNlPEJ1ZmZlcj47XHJcbiAgICB3cml0ZVJlc3VsdChpc1RodW1iOiBib29sZWFuLCBidWZmZXI6IEJ1ZmZlcik6IFByb21pc2U8YW55PjtcclxuICAgIGhhc1Jlc3VsdChpc1RodW1iOiBib29sZWFuKTogUHJvbWlzZTxib29sZWFuPjtcclxuICAgIHNlcnZlUmVzdWx0KGlzVGh1bWI6IGJvb2xlYW4pOiBQcm9taXNlPEJ1ZmZlcj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0aW9ucyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb25NZXRhIHtcclxuICAgIHRvdGFsOiBudW1iZXI7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRpb25CYXNlPFQ+IHtcclxuICAgIGNvdW50OiBudW1iZXJcclxuICAgIGl0ZW1zOiBUW107XHJcbiAgICBtZXRhPzogSVBhZ2luYXRpb25NZXRhO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uIGV4dGVuZHMgSVBhZ2luYXRpb25CYXNlPGFueT4ge1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGFnaW5hdGlvblBhcmFtcyB7XHJcbiAgICBwYWdlOiBudW1iZXI7XHJcbiAgICBsaW1pdDogbnVtYmVyO1xyXG4gICAgc29ydD86IHN0cmluZztcclxuICAgIHBvcHVsYXRlPzogc3RyaW5nW107XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvbnRGb3JtYXQgPSBcIm9wZW50eXBlXCIgfCBcInRydWV0eXBlXCIgfCBcIndvZmZcIiB8IFwid29mZjJcIiB8IFwiZGF0YWZvcmtcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRDb25maWcge1xyXG4gICAgcm9vdEZvbGRlcj86IHN0cmluZztcclxuICAgIHJvdXRlUHJlZml4Pzogc3RyaW5nO1xyXG4gICAgcGFyYW1zPzogUGFyYW1ldGVyW107XHJcbiAgICBmaXh0dXJlcz86IFR5cGU8SUZpeHR1cmU+W107XHJcbiAgICBqb2JzPzogVHlwZTxJSm9iPltdO1xyXG4gICAgcmVzdE9wdGlvbnM/OiBSb3V0aW5nQ29udHJvbGxlcnNPcHRpb25zO1xyXG4gICAgc29ja2V0T3B0aW9ucz86IFNvY2tldENvbnRyb2xsZXJzT3B0aW9ucztcclxuICAgIGN1c3RvbVZhbGlkYXRpb24/OiBTY2hlbWFDb252ZXJ0ZXIgfCBTY2hlbWFPYmplY3Q7XHJcbn1cclxuIl19
|