@delon/mock 12.3.0 → 13.0.0-beta.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.
@@ -1,338 +0,0 @@
1
- /**
2
- * @license ng-alain(cipchk@qq.com) v12.3.0
3
- * (c) 2020 cipchk https://ng-alain.com/
4
- * License: MIT
5
- */
6
- (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@delon/util/config'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@delon/util/other')) :
8
- typeof define === 'function' && define.amd ? define('@delon/mock', ['exports', '@angular/core', '@delon/util/config', '@angular/common/http', 'rxjs', 'rxjs/operators', '@delon/util/other'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.delon = global.delon || {}, global.delon.mock = {}), global.ng.core, global.i1, global.ng.common.http, global.rxjs, global.rxjs.operators, global.other));
10
- })(this, (function (exports, i0, i1, http, rxjs, operators, other) { 'use strict';
11
-
12
- function _interopNamespace(e) {
13
- if (e && e.__esModule) return e;
14
- var n = Object.create(null);
15
- if (e) {
16
- Object.keys(e).forEach(function (k) {
17
- if (k !== 'default') {
18
- var d = Object.getOwnPropertyDescriptor(e, k);
19
- Object.defineProperty(n, k, d.get ? d : {
20
- enumerable: true,
21
- get: function () { return e[k]; }
22
- });
23
- }
24
- });
25
- }
26
- n["default"] = e;
27
- return Object.freeze(n);
28
- }
29
-
30
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
31
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
32
-
33
- var MockOptions = /** @class */ (function () {
34
- function MockOptions() {
35
- }
36
- return MockOptions;
37
- }());
38
-
39
- var MockStatusError = /** @class */ (function () {
40
- function MockStatusError(status, error) {
41
- this.status = status;
42
- this.error = error;
43
- }
44
- return MockStatusError;
45
- }());
46
-
47
- var MOCK_DEFULAT_CONFIG = {
48
- delay: 300,
49
- force: false,
50
- log: true,
51
- executeOtherInterceptors: true
52
- };
53
-
54
- var MockService = /** @class */ (function () {
55
- function MockService(cogSrv, options) {
56
- this.cached = [];
57
- this.config = cogSrv.merge('mock', MOCK_DEFULAT_CONFIG);
58
- this.setData(options === null || options === void 0 ? void 0 : options.data);
59
- }
60
- /**
61
- * Reset request data
62
- *
63
- * 重新设置请求数据
64
- */
65
- MockService.prototype.setData = function (data) {
66
- this.applyMock(data);
67
- };
68
- // #region parse rule
69
- MockService.prototype.applyMock = function (data) {
70
- this.cached = [];
71
- try {
72
- this.realApplyMock(data);
73
- }
74
- catch (e) {
75
- this.outputError(e);
76
- }
77
- };
78
- MockService.prototype.realApplyMock = function (data) {
79
- var _this = this;
80
- if (!data)
81
- return;
82
- Object.keys(data).forEach(function (key) {
83
- var rules = data[key];
84
- if (!rules)
85
- return;
86
- Object.keys(rules).forEach(function (ruleKey) {
87
- var value = rules[ruleKey];
88
- if (!(typeof value === 'function' || typeof value === 'object' || typeof value === 'string')) {
89
- throw Error("mock value of [" + key + "-" + ruleKey + "] should be function or object or string, but got " + typeof value);
90
- }
91
- var rule = _this.genRule(ruleKey, value);
92
- if (['GET', 'POST', 'PUT', 'HEAD', 'DELETE', 'PATCH', 'OPTIONS'].indexOf(rule.method) === -1) {
93
- throw Error("method of " + key + "-" + ruleKey + " is not valid");
94
- }
95
- var item = _this.cached.find(function (w) { return w.url === rule.url && w.method === rule.method; });
96
- if (item) {
97
- item.callback = rule.callback;
98
- }
99
- else {
100
- _this.cached.push(rule);
101
- }
102
- });
103
- });
104
- // regular ordering
105
- this.cached.sort(function (a, b) { return (b.martcher || '').toString().length - (a.martcher || '').toString().length; });
106
- };
107
- MockService.prototype.genRule = function (key, callback) {
108
- var method = 'GET';
109
- var url = key;
110
- if (key.indexOf(' ') > -1) {
111
- var splited = key.split(' ');
112
- method = splited[0].toLowerCase();
113
- url = splited[1];
114
- }
115
- var martcher = null;
116
- var segments = [];
117
- if (~url.indexOf(':')) {
118
- segments = url
119
- .split('/')
120
- .filter(function (segment) { return segment.startsWith(':'); })
121
- .map(function (v) { return v.substring(1); });
122
- var reStr = url
123
- .split('/')
124
- .map(function (segment) { return (segment.startsWith(':') ? "([^/]+)" : segment); })
125
- .join('/');
126
- martcher = new RegExp("^" + reStr, 'i');
127
- }
128
- else if (/(\([^)]+\))/i.test(url)) {
129
- martcher = new RegExp(url, 'i');
130
- }
131
- return {
132
- url: url,
133
- martcher: martcher,
134
- segments: segments,
135
- callback: callback,
136
- method: method.toUpperCase()
137
- };
138
- };
139
- MockService.prototype.outputError = function (error) {
140
- var filePath = error.message.split(': ')[0];
141
- var errors = error.stack
142
- .split('\n')
143
- .filter(function (line) { return line.trim().indexOf('at ') !== 0; })
144
- .map(function (line) { return line.replace(filePath + ": ", ''); });
145
- errors.splice(1, 0, '');
146
- console.group();
147
- console.warn("==========Failed to parse mock config.==========");
148
- console.log(errors.join('\n'));
149
- console.groupEnd();
150
- throw error;
151
- };
152
- // #endregion
153
- MockService.prototype.getRule = function (method, url) {
154
- method = (method || 'GET').toUpperCase();
155
- var params = {};
156
- var list = this.cached.filter(function (w) { return w.method === method && (w.martcher ? w.martcher.test(url) : w.url === url); });
157
- if (list.length === 0)
158
- return null;
159
- var ret = list.find(function (w) { return w.url === url; }) || list[0];
160
- if (ret.martcher) {
161
- var execArr = ret.martcher.exec(url);
162
- execArr.slice(1).map(function (value, index) {
163
- params[ret.segments[index]] = value;
164
- });
165
- }
166
- return {
167
- url: url,
168
- method: ret.method,
169
- params: params,
170
- callback: ret.callback
171
- };
172
- };
173
- MockService.prototype.clearCache = function () {
174
- this.cached = [];
175
- };
176
- Object.defineProperty(MockService.prototype, "rules", {
177
- get: function () {
178
- return this.cached;
179
- },
180
- enumerable: false,
181
- configurable: true
182
- });
183
- MockService.prototype.ngOnDestroy = function () {
184
- this.clearCache();
185
- };
186
- return MockService;
187
- }());
188
- MockService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function MockService_Factory() { return new MockService(i0__namespace.ɵɵinject(i1__namespace.AlainConfigService), i0__namespace.ɵɵinject(MockOptions)); }, token: MockService, providedIn: "root" });
189
- MockService.decorators = [
190
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
191
- ];
192
- MockService.ctorParameters = function () { return [
193
- { type: i1.AlainConfigService },
194
- { type: MockOptions }
195
- ]; };
196
-
197
- var HttpMockInterceptorHandler = /** @class */ (function () {
198
- function HttpMockInterceptorHandler(next, interceptor) {
199
- this.next = next;
200
- this.interceptor = interceptor;
201
- }
202
- HttpMockInterceptorHandler.prototype.handle = function (req) {
203
- return this.interceptor.intercept(req, this.next);
204
- };
205
- return HttpMockInterceptorHandler;
206
- }());
207
- var MockInterceptor = /** @class */ (function () {
208
- function MockInterceptor(injector) {
209
- this.injector = injector;
210
- }
211
- MockInterceptor.prototype.intercept = function (req, next) {
212
- var src = this.injector.get(MockService);
213
- var config = src.config;
214
- var rule = src.getRule(req.method, req.url.split('?')[0]);
215
- if (!rule && !config.force) {
216
- return next.handle(req);
217
- }
218
- var res;
219
- switch (typeof rule.callback) {
220
- case 'function':
221
- var mockRequest_1 = {
222
- original: req,
223
- body: req.body,
224
- queryString: {},
225
- headers: {},
226
- params: rule.params
227
- };
228
- var urlParams = req.url.split('?');
229
- if (urlParams.length > 1) {
230
- urlParams[1].split('&').forEach(function (item) {
231
- var itemArr = item.split('=');
232
- var key = itemArr[0];
233
- var value = itemArr[1];
234
- // is array
235
- if (Object.keys(mockRequest_1.queryString).includes(key)) {
236
- if (!Array.isArray(mockRequest_1.queryString[key])) {
237
- mockRequest_1.queryString[key] = [mockRequest_1.queryString[key]];
238
- }
239
- mockRequest_1.queryString[key].push(value);
240
- }
241
- else {
242
- mockRequest_1.queryString[key] = value;
243
- }
244
- });
245
- }
246
- req.params.keys().forEach(function (key) { return (mockRequest_1.queryString[key] = req.params.get(key)); });
247
- req.headers.keys().forEach(function (key) { return (mockRequest_1.headers[key] = req.headers.get(key)); });
248
- try {
249
- res = rule.callback.call(this, mockRequest_1);
250
- }
251
- catch (e) {
252
- res = new http.HttpErrorResponse({
253
- url: req.url,
254
- headers: req.headers,
255
- status: e instanceof MockStatusError ? e.status : 400,
256
- statusText: e.statusText || 'Unknown Error',
257
- error: e.error
258
- });
259
- }
260
- break;
261
- default:
262
- res = rule.callback;
263
- break;
264
- }
265
- if (!(res instanceof http.HttpResponseBase)) {
266
- res = new http.HttpResponse({
267
- status: 200,
268
- url: req.url,
269
- body: res
270
- });
271
- }
272
- if (res.body) {
273
- res.body = other.deepCopy(res.body);
274
- }
275
- if (config.log) {
276
- console.log("%c\uD83D\uDC7D" + req.method + "->" + req.urlWithParams + "->request", 'background:#000;color:#bada55', req);
277
- console.log("%c\uD83D\uDC7D" + req.method + "->" + req.urlWithParams + "->response", 'background:#000;color:#bada55', res);
278
- }
279
- var res$ = res instanceof http.HttpErrorResponse ? rxjs.throwError(res) : rxjs.of(res);
280
- if (config.executeOtherInterceptors) {
281
- var interceptors = this.injector.get(http.HTTP_INTERCEPTORS, []);
282
- var lastInterceptors = interceptors.slice(interceptors.indexOf(this) + 1);
283
- if (lastInterceptors.length > 0) {
284
- var chain = lastInterceptors.reduceRight(function (_next, _interceptor) { return new HttpMockInterceptorHandler(_next, _interceptor); }, {
285
- handle: function () { return res$; }
286
- });
287
- return chain.handle(req).pipe(operators.delay(config.delay));
288
- }
289
- }
290
- return res$.pipe(operators.delay(config.delay));
291
- };
292
- return MockInterceptor;
293
- }());
294
- MockInterceptor.decorators = [
295
- { type: i0.Injectable }
296
- ];
297
- MockInterceptor.ctorParameters = function () { return [
298
- { type: i0.Injector }
299
- ]; };
300
-
301
- var DelonMockModule = /** @class */ (function () {
302
- function DelonMockModule() {
303
- }
304
- DelonMockModule.forRoot = function (options) {
305
- return {
306
- ngModule: DelonMockModule,
307
- providers: [
308
- { provide: MockOptions, useValue: options },
309
- { provide: http.HTTP_INTERCEPTORS, useClass: MockInterceptor, multi: true }
310
- ]
311
- };
312
- };
313
- DelonMockModule.forChild = function () {
314
- return {
315
- ngModule: DelonMockModule,
316
- providers: [{ provide: http.HTTP_INTERCEPTORS, useClass: MockInterceptor, multi: true }]
317
- };
318
- };
319
- return DelonMockModule;
320
- }());
321
- DelonMockModule.decorators = [
322
- { type: i0.NgModule, args: [{},] }
323
- ];
324
-
325
- /**
326
- * Generated bundle index. Do not edit.
327
- */
328
-
329
- exports.DelonMockModule = DelonMockModule;
330
- exports.MockInterceptor = MockInterceptor;
331
- exports.MockOptions = MockOptions;
332
- exports.MockService = MockService;
333
- exports.MockStatusError = MockStatusError;
334
-
335
- Object.defineProperty(exports, '__esModule', { value: true });
336
-
337
- }));
338
- //# sourceMappingURL=mock.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock.umd.js","sources":["../../../../packages/mock/src/interface.ts","../../../../packages/mock/src/status.error.ts","../../../../packages/mock/src/mock.config.ts","../../../../packages/mock/src/mock.service.ts","../../../../packages/mock/src/mock.interceptor.ts","../../../../packages/mock/src/mock.module.ts","../../../../packages/mock/mock.ts"],"sourcesContent":["import { HttpRequest } from '@angular/common/http';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport class MockOptions {\n data?: NzSafeAny;\n}\n\nexport interface MockCachedRule {\n [key: string]: NzSafeAny;\n\n method: string;\n\n url: string;\n\n martcher: RegExp | null;\n\n segments: string[];\n\n callback(req: MockRequest): NzSafeAny;\n}\n\nexport interface MockRule {\n [key: string]: NzSafeAny;\n\n method: string;\n\n url: string;\n\n /** 路由参数 */\n params?: NzSafeAny;\n\n callback(req: MockRequest): NzSafeAny;\n}\n\nexport interface MockRequest {\n /** 路由参数 */\n params?: NzSafeAny;\n /** URL参数 */\n queryString?: NzSafeAny;\n headers?: NzSafeAny;\n body?: NzSafeAny;\n /** 原始 `HttpRequest` */\n original: HttpRequest<NzSafeAny>;\n}\n","import type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport class MockStatusError {\n statusText: string;\n\n constructor(public status: number, public error?: NzSafeAny) {}\n}\n","import { AlainMockConfig } from '@delon/util/config';\n\nexport const MOCK_DEFULAT_CONFIG: AlainMockConfig = {\n delay: 300,\n force: false,\n log: true,\n executeOtherInterceptors: true\n};\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { AlainConfigService, AlainMockConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MockCachedRule, MockOptions, MockRule } from './interface';\nimport { MOCK_DEFULAT_CONFIG } from './mock.config';\n\n@Injectable({ providedIn: 'root' })\nexport class MockService implements OnDestroy {\n private cached: MockCachedRule[] = [];\n readonly config: AlainMockConfig;\n\n constructor(cogSrv: AlainConfigService, options: MockOptions) {\n this.config = cogSrv.merge('mock', MOCK_DEFULAT_CONFIG)!;\n this.setData(options?.data);\n }\n\n /**\n * Reset request data\n *\n * 重新设置请求数据\n */\n setData(data: NzSafeAny): void {\n this.applyMock(data);\n }\n\n // #region parse rule\n\n private applyMock(data: NzSafeAny): void {\n this.cached = [];\n try {\n this.realApplyMock(data);\n } catch (e) {\n this.outputError(e);\n }\n }\n\n private realApplyMock(data: NzSafeAny): void {\n if (!data) return;\n Object.keys(data).forEach((key: string) => {\n const rules = data[key];\n if (!rules) return;\n Object.keys(rules).forEach((ruleKey: string) => {\n const value = rules[ruleKey];\n if (!(typeof value === 'function' || typeof value === 'object' || typeof value === 'string')) {\n throw Error(\n `mock value of [${key}-${ruleKey}] should be function or object or string, but got ${typeof value}`\n );\n }\n const rule = this.genRule(ruleKey, value);\n if (['GET', 'POST', 'PUT', 'HEAD', 'DELETE', 'PATCH', 'OPTIONS'].indexOf(rule.method) === -1) {\n throw Error(`method of ${key}-${ruleKey} is not valid`);\n }\n const item = this.cached.find(w => w.url === rule.url && w.method === rule.method);\n if (item) {\n item.callback = rule.callback;\n } else {\n this.cached.push(rule);\n }\n });\n });\n // regular ordering\n this.cached.sort((a, b) => (b.martcher || '').toString().length - (a.martcher || '').toString().length);\n }\n\n private genRule(key: string, callback: NzSafeAny): MockCachedRule {\n let method = 'GET';\n let url = key;\n\n if (key.indexOf(' ') > -1) {\n const splited = key.split(' ');\n method = splited[0].toLowerCase();\n url = splited[1];\n }\n\n let martcher: RegExp | null = null;\n let segments: string[] = [];\n if (~url.indexOf(':')) {\n segments = url!\n .split('/')\n .filter(segment => segment.startsWith(':'))\n .map(v => v.substring(1));\n const reStr = url!\n .split('/')\n .map(segment => (segment.startsWith(':') ? `([^/]+)` : segment))\n .join('/');\n martcher = new RegExp(`^${reStr}`, 'i');\n } else if (/(\\([^)]+\\))/i.test(url)) {\n martcher = new RegExp(url, 'i');\n }\n\n return {\n url,\n martcher,\n segments,\n callback,\n method: method.toUpperCase()\n };\n }\n\n private outputError(error: NzSafeAny): void {\n const filePath = error.message.split(': ')[0];\n const errors = (error.stack as string)\n .split('\\n')\n .filter(line => line.trim().indexOf('at ') !== 0)\n .map(line => line.replace(`${filePath}: `, ''));\n errors.splice(1, 0, '');\n\n console.group();\n console.warn(`==========Failed to parse mock config.==========`);\n console.log(errors.join('\\n'));\n console.groupEnd();\n\n throw error;\n }\n\n // #endregion\n\n getRule(method: string, url: string): MockRule | null {\n method = (method || 'GET').toUpperCase();\n const params: NzSafeAny = {};\n const list = this.cached.filter(w => w.method === method && (w.martcher ? w.martcher.test(url) : w.url === url));\n if (list.length === 0) return null;\n const ret = list.find(w => w.url === url) || list[0];\n if (ret.martcher) {\n const execArr = ret.martcher.exec(url);\n execArr!.slice(1).map((value: string, index: number) => {\n params[ret.segments[index]] = value;\n });\n }\n return {\n url,\n method: ret.method,\n params,\n callback: ret.callback\n };\n }\n\n clearCache(): void {\n this.cached = [];\n }\n\n get rules(): MockCachedRule[] {\n return this.cached;\n }\n\n ngOnDestroy(): void {\n this.clearCache();\n }\n}\n","import {\n HttpBackend,\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n HttpResponseBase,\n HTTP_INTERCEPTORS\n} from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { Observable, of, throwError } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { deepCopy } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MockRequest } from './interface';\nimport { MockService } from './mock.service';\nimport { MockStatusError } from './status.error';\n\nclass HttpMockInterceptorHandler implements HttpHandler {\n constructor(private next: HttpHandler, private interceptor: HttpInterceptor) {}\n\n handle(req: HttpRequest<NzSafeAny>): Observable<HttpEvent<NzSafeAny>> {\n return this.interceptor.intercept(req, this.next);\n }\n}\n\n@Injectable()\nexport class MockInterceptor implements HttpInterceptor {\n constructor(private injector: Injector) {}\n\n intercept(req: HttpRequest<NzSafeAny>, next: HttpHandler): Observable<HttpEvent<NzSafeAny>> {\n const src = this.injector.get(MockService);\n const config = src.config;\n const rule = src.getRule(req.method, req.url.split('?')[0]);\n if (!rule && !config.force) {\n return next.handle(req);\n }\n\n let res: NzSafeAny;\n switch (typeof rule!.callback) {\n case 'function':\n const mockRequest: MockRequest = {\n original: req,\n body: req.body,\n queryString: {},\n headers: {},\n params: rule!.params\n };\n const urlParams = req.url.split('?');\n if (urlParams.length > 1) {\n urlParams[1].split('&').forEach(item => {\n const itemArr = item.split('=');\n const key = itemArr[0];\n const value = itemArr[1];\n // is array\n if (Object.keys(mockRequest.queryString).includes(key)) {\n if (!Array.isArray(mockRequest.queryString[key])) {\n mockRequest.queryString[key] = [mockRequest.queryString[key]];\n }\n mockRequest.queryString[key].push(value);\n } else {\n mockRequest.queryString[key] = value;\n }\n });\n }\n req.params.keys().forEach(key => (mockRequest.queryString[key] = req.params.get(key)));\n req.headers.keys().forEach(key => (mockRequest.headers[key] = req.headers.get(key)));\n\n try {\n res = rule!.callback.call(this, mockRequest);\n } catch (e) {\n res = new HttpErrorResponse({\n url: req.url,\n headers: req.headers,\n status: e instanceof MockStatusError ? e.status : 400,\n statusText: e.statusText || 'Unknown Error',\n error: e.error\n });\n }\n break;\n default:\n res = rule!.callback;\n break;\n }\n\n if (!(res instanceof HttpResponseBase)) {\n res = new HttpResponse({\n status: 200,\n url: req.url,\n body: res\n });\n }\n\n if (res.body) {\n res.body = deepCopy(res.body);\n }\n\n if (config.log) {\n console.log(`%c👽${req.method}->${req.urlWithParams}->request`, 'background:#000;color:#bada55', req);\n console.log(`%c👽${req.method}->${req.urlWithParams}->response`, 'background:#000;color:#bada55', res);\n }\n\n const res$ = res instanceof HttpErrorResponse ? throwError(res) : of(res);\n\n if (config.executeOtherInterceptors) {\n const interceptors = this.injector.get(HTTP_INTERCEPTORS, []);\n const lastInterceptors = interceptors.slice(interceptors.indexOf(this) + 1);\n if (lastInterceptors.length > 0) {\n const chain = lastInterceptors.reduceRight(\n (_next, _interceptor) => new HttpMockInterceptorHandler(_next, _interceptor),\n {\n handle: () => res$\n } as HttpBackend\n );\n return chain.handle(req).pipe(delay(config.delay!));\n }\n }\n\n return res$.pipe(delay(config.delay!));\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { MockOptions } from './interface';\nimport { MockInterceptor } from './mock.interceptor';\n\n@NgModule({})\nexport class DelonMockModule {\n static forRoot(options?: MockOptions): ModuleWithProviders<DelonMockModule> {\n return {\n ngModule: DelonMockModule,\n providers: [\n { provide: MockOptions, useValue: options },\n { provide: HTTP_INTERCEPTORS, useClass: MockInterceptor, multi: true }\n ]\n };\n }\n\n static forChild(): ModuleWithProviders<DelonMockModule> {\n return {\n ngModule: DelonMockModule,\n providers: [{ provide: HTTP_INTERCEPTORS, useClass: MockInterceptor, multi: true }]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Injectable","AlainConfigService","HttpErrorResponse","HttpResponseBase","HttpResponse","deepCopy","throwError","of","HTTP_INTERCEPTORS","delay","Injector","NgModule"],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- import { HttpErrorResponse, HttpResponse, HttpResponseBase, HTTP_INTERCEPTORS } from '@angular/common/http';
2
- import { Injectable, Injector } from '@angular/core';
3
- import { of, throwError } from 'rxjs';
4
- import { delay } from 'rxjs/operators';
5
- import { deepCopy } from '@delon/util/other';
6
- import { MockService } from './mock.service';
7
- import { MockStatusError } from './status.error';
8
- class HttpMockInterceptorHandler {
9
- constructor(next, interceptor) {
10
- this.next = next;
11
- this.interceptor = interceptor;
12
- }
13
- handle(req) {
14
- return this.interceptor.intercept(req, this.next);
15
- }
16
- }
17
- export class MockInterceptor {
18
- constructor(injector) {
19
- this.injector = injector;
20
- }
21
- intercept(req, next) {
22
- const src = this.injector.get(MockService);
23
- const config = src.config;
24
- const rule = src.getRule(req.method, req.url.split('?')[0]);
25
- if (!rule && !config.force) {
26
- return next.handle(req);
27
- }
28
- let res;
29
- switch (typeof rule.callback) {
30
- case 'function':
31
- const mockRequest = {
32
- original: req,
33
- body: req.body,
34
- queryString: {},
35
- headers: {},
36
- params: rule.params
37
- };
38
- const urlParams = req.url.split('?');
39
- if (urlParams.length > 1) {
40
- urlParams[1].split('&').forEach(item => {
41
- const itemArr = item.split('=');
42
- const key = itemArr[0];
43
- const value = itemArr[1];
44
- // is array
45
- if (Object.keys(mockRequest.queryString).includes(key)) {
46
- if (!Array.isArray(mockRequest.queryString[key])) {
47
- mockRequest.queryString[key] = [mockRequest.queryString[key]];
48
- }
49
- mockRequest.queryString[key].push(value);
50
- }
51
- else {
52
- mockRequest.queryString[key] = value;
53
- }
54
- });
55
- }
56
- req.params.keys().forEach(key => (mockRequest.queryString[key] = req.params.get(key)));
57
- req.headers.keys().forEach(key => (mockRequest.headers[key] = req.headers.get(key)));
58
- try {
59
- res = rule.callback.call(this, mockRequest);
60
- }
61
- catch (e) {
62
- res = new HttpErrorResponse({
63
- url: req.url,
64
- headers: req.headers,
65
- status: e instanceof MockStatusError ? e.status : 400,
66
- statusText: e.statusText || 'Unknown Error',
67
- error: e.error
68
- });
69
- }
70
- break;
71
- default:
72
- res = rule.callback;
73
- break;
74
- }
75
- if (!(res instanceof HttpResponseBase)) {
76
- res = new HttpResponse({
77
- status: 200,
78
- url: req.url,
79
- body: res
80
- });
81
- }
82
- if (res.body) {
83
- res.body = deepCopy(res.body);
84
- }
85
- if (config.log) {
86
- console.log(`%c👽${req.method}->${req.urlWithParams}->request`, 'background:#000;color:#bada55', req);
87
- console.log(`%c👽${req.method}->${req.urlWithParams}->response`, 'background:#000;color:#bada55', res);
88
- }
89
- const res$ = res instanceof HttpErrorResponse ? throwError(res) : of(res);
90
- if (config.executeOtherInterceptors) {
91
- const interceptors = this.injector.get(HTTP_INTERCEPTORS, []);
92
- const lastInterceptors = interceptors.slice(interceptors.indexOf(this) + 1);
93
- if (lastInterceptors.length > 0) {
94
- const chain = lastInterceptors.reduceRight((_next, _interceptor) => new HttpMockInterceptorHandler(_next, _interceptor), {
95
- handle: () => res$
96
- });
97
- return chain.handle(req).pipe(delay(config.delay));
98
- }
99
- }
100
- return res$.pipe(delay(config.delay));
101
- }
102
- }
103
- MockInterceptor.decorators = [
104
- { type: Injectable }
105
- ];
106
- MockInterceptor.ctorParameters = () => [
107
- { type: Injector }
108
- ];
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vY2svc3JjL21vY2suaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUtqQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNsQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxNQUFNLDBCQUEwQjtJQUM5QixZQUFvQixJQUFpQixFQUFVLFdBQTRCO1FBQXZELFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7SUFBRyxDQUFDO0lBRS9FLE1BQU0sQ0FBQyxHQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFMUMsU0FBUyxDQUFDLEdBQTJCLEVBQUUsSUFBaUI7UUFDdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7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d0JBQXdCLEVBQUU7WUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUUsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQ3hDLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLEVBQzVFO29CQUNFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO2lCQUNKLENBQ2pCLENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQU0sQ0FBQyxDQUFDLENBQUM7YUFDckQ7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQU0sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7O1lBN0ZGLFVBQVU7OztZQW5CVSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEJhY2tlbmQsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxuICBIdHRwUmVzcG9uc2UsXG4gIEh0dHBSZXNwb25zZUJhc2UsXG4gIEhUVFBfSU5URVJDRVBUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGRlZXBDb3B5IH0gZnJvbSAnQGRlbG9uL3V0aWwvb3RoZXInO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBNb2NrUmVxdWVzdCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IE1vY2tTZXJ2aWNlIH0gZnJvbSAnLi9tb2NrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ja1N0YXR1c0Vycm9yIH0gZnJvbSAnLi9zdGF0dXMuZXJyb3InO1xuXG5jbGFzcyBIdHRwTW9ja0ludGVyY2VwdG9ySGFuZGxlciBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZXh0OiBIdHRwSGFuZGxlciwgcHJpdmF0ZSBpbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yKSB7fVxuXG4gIGhhbmRsZShyZXE6IEh0dHBSZXF1ZXN0PE56U2FmZUFueT4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxOelNhZmVBbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJjZXB0b3IuaW50ZXJjZXB0KHJlcSwgdGhpcy5uZXh0KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9ja0ludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8TnpTYWZlQW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxOelNhZmVBbnk+PiB7XG4gICAgY29uc3Qgc3JjID0gdGhpcy5pbmplY3Rvci5nZXQoTW9ja1NlcnZpY2UpO1xuICAgIGNvbnN0IGNvbmZpZyA9IHNyYy5jb25maWc7XG4gICAgY29uc3QgcnVsZSA9IHNyYy5nZXRSdWxlKHJlcS5tZXRob2QsIHJlcS51cmwuc3BsaXQoJz8nKVswXSk7XG4gICAgaWYgKCFydWxlICYmICFjb25maWcuZm9yY2UpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIGxldCByZXM6IE56U2FmZUFueTtcbiAgICBzd2l0Y2ggKHR5cGVvZiBydWxlIS5jYWxsYmFjaykge1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICBjb25zdCBtb2NrUmVxdWVzdDogTW9ja1JlcXVlc3QgPSB7XG4gICAgICAgICAgb3JpZ2luYWw6IHJlcSxcbiAgICAgICAgICBib2R5OiByZXEuYm9keSxcbiAgICAgICAgICBxdWVyeVN0cmluZzoge30sXG4gICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgcGFyYW1zOiBydWxlIS5wYXJhbXNcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgdXJsUGFyYW1zID0gcmVxLnVybC5zcGxpdCgnPycpO1xuICAgICAgICBpZiAodXJsUGFyYW1zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB1cmxQYXJhbXNbMV0uc3BsaXQoJyYnKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbUFyciA9IGl0ZW0uc3BsaXQoJz0nKTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGl0ZW1BcnJbMF07XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1BcnJbMV07XG4gICAgICAgICAgICAvLyBpcyBhcnJheVxuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG1vY2tSZXF1ZXN0LnF1ZXJ5U3RyaW5nKS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShtb2NrUmVxdWVzdC5xdWVyeVN0cmluZ1trZXldKSkge1xuICAgICAgICAgICAgICAgIG1vY2tSZXF1ZXN0LnF1ZXJ5U3RyaW5nW2tleV0gPSBbbW9ja1JlcXVlc3QucXVlcnlTdHJpbmdba2V5XV07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbW9ja1JlcXVlc3QucXVlcnlTdHJpbmdba2V5XS5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG1vY2tSZXF1ZXN0LnF1ZXJ5U3RyaW5nW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXEucGFyYW1zLmtleXMoKS5mb3JFYWNoKGtleSA9PiAobW9ja1JlcXVlc3QucXVlcnlTdHJpbmdba2V5XSA9IHJlcS5wYXJhbXMuZ2V0KGtleSkpKTtcbiAgICAgICAgcmVxLmhlYWRlcnMua2V5cygpLmZvckVhY2goa2V5ID0+IChtb2NrUmVxdWVzdC5oZWFkZXJzW2tleV0gPSByZXEuaGVhZGVycy5nZXQoa2V5KSkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVzID0gcnVsZSEuY2FsbGJhY2suY2FsbCh0aGlzLCBtb2NrUmVxdWVzdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXMgPSBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe1xuICAgICAgICAgICAgdXJsOiByZXEudXJsLFxuICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMsXG4gICAgICAgICAgICBzdGF0dXM6IGUgaW5zdGFuY2VvZiBNb2NrU3RhdHVzRXJyb3IgPyBlLnN0YXR1cyA6IDQwMCxcbiAgICAgICAgICAgIHN0YXR1c1RleHQ6IGUuc3RhdHVzVGV4dCB8fCAnVW5rbm93biBFcnJvcicsXG4gICAgICAgICAgICBlcnJvcjogZS5lcnJvclxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzID0gcnVsZSEuY2FsbGJhY2s7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICghKHJlcyBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZUJhc2UpKSB7XG4gICAgICByZXMgPSBuZXcgSHR0cFJlc3BvbnNlKHtcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIHVybDogcmVxLnVybCxcbiAgICAgICAgYm9keTogcmVzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocmVzLmJvZHkpIHtcbiAgICAgIHJlcy5ib2R5ID0gZGVlcENvcHkocmVzLmJvZHkpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcubG9nKSB7XG4gICAgICBjb25zb2xlLmxvZyhgJWPwn5G9JHtyZXEubWV0aG9kfS0+JHtyZXEudXJsV2l0aFBhcmFtc30tPnJlcXVlc3RgLCAnYmFja2dyb3VuZDojMDAwO2NvbG9yOiNiYWRhNTUnLCByZXEpO1xuICAgICAgY29uc29sZS5sb2coYCVj8J+RvSR7cmVxLm1ldGhvZH0tPiR7cmVxLnVybFdpdGhQYXJhbXN9LT5yZXNwb25zZWAsICdiYWNrZ3JvdW5kOiMwMDA7Y29sb3I6I2JhZGE1NScsIHJlcyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzJCA9IHJlcyBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gdGhyb3dFcnJvcihyZXMpIDogb2YocmVzKTtcblxuICAgIGlmIChjb25maWcuZXhlY3V0ZU90aGVySW50ZXJjZXB0b3JzKSB7XG4gICAgICBjb25zdCBpbnRlcmNlcHRvcnMgPSB0aGlzLmluamVjdG9yLmdldChIVFRQX0lOVEVSQ0VQVE9SUywgW10pO1xuICAgICAgY29uc3QgbGFzdEludGVyY2VwdG9ycyA9IGludGVyY2VwdG9ycy5zbGljZShpbnRlcmNlcHRvcnMuaW5kZXhPZih0aGlzKSArIDEpO1xuICAgICAgaWYgKGxhc3RJbnRlcmNlcHRvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBjaGFpbiA9IGxhc3RJbnRlcmNlcHRvcnMucmVkdWNlUmlnaHQoXG4gICAgICAgICAgKF9uZXh0LCBfaW50ZXJjZXB0b3IpID0+IG5ldyBIdHRwTW9ja0ludGVyY2VwdG9ySGFuZGxlcihfbmV4dCwgX2ludGVyY2VwdG9yKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBoYW5kbGU6ICgpID0+IHJlcyRcbiAgICAgICAgICB9IGFzIEh0dHBCYWNrZW5kXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBjaGFpbi5oYW5kbGUocmVxKS5waXBlKGRlbGF5KGNvbmZpZy5kZWxheSEpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzJC5waXBlKGRlbGF5KGNvbmZpZy5kZWxheSEpKTtcbiAgfVxufVxuIl19
@@ -1,25 +0,0 @@
1
- import { HTTP_INTERCEPTORS } from '@angular/common/http';
2
- import { NgModule } from '@angular/core';
3
- import { MockOptions } from './interface';
4
- import { MockInterceptor } from './mock.interceptor';
5
- export class DelonMockModule {
6
- static forRoot(options) {
7
- return {
8
- ngModule: DelonMockModule,
9
- providers: [
10
- { provide: MockOptions, useValue: options },
11
- { provide: HTTP_INTERCEPTORS, useClass: MockInterceptor, multi: true }
12
- ]
13
- };
14
- }
15
- static forChild() {
16
- return {
17
- ngModule: DelonMockModule,
18
- providers: [{ provide: HTTP_INTERCEPTORS, useClass: MockInterceptor, multi: true }]
19
- };
20
- }
21
- }
22
- DelonMockModule.decorators = [
23
- { type: NgModule, args: [{},] }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb2NrL3NyYy9tb2NrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdyRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXFCO1FBQ2xDLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQzNDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTthQUN2RTtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDcEYsQ0FBQztJQUNKLENBQUM7OztZQWpCRixRQUFRLFNBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTW9ja09wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBNb2NrSW50ZXJjZXB0b3IgfSBmcm9tICcuL21vY2suaW50ZXJjZXB0b3InO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgRGVsb25Nb2NrTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IE1vY2tPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEZWxvbk1vY2tNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERlbG9uTW9ja01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE1vY2tPcHRpb25zLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogTW9ja0ludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JDaGlsZCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERlbG9uTW9ja01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVsb25Nb2NrTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IE1vY2tJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfV1cbiAgICB9O1xuICB9XG59XG4iXX0=