@decaf-ts/for-http 0.1.0 → 0.2.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.
- package/dist/for-http.cjs +10 -74
- package/dist/for-http.esm.cjs +11 -74
- package/lib/RestRepository.cjs +1 -1
- package/lib/RestRepository.d.ts +5 -2
- package/lib/RestService.cjs +1 -1
- package/lib/RestService.d.ts +4 -3
- package/lib/adapter.cjs +9 -11
- package/lib/adapter.d.ts +14 -12
- package/lib/axios/axios.cjs +52 -0
- package/lib/{axios.d.ts → axios/axios.d.ts} +7 -4
- package/lib/axios/constants.cjs +5 -0
- package/lib/axios/constants.d.ts +1 -0
- package/lib/axios/index.cjs +22 -0
- package/lib/axios/index.d.ts +3 -0
- package/lib/axios/types.cjs +3 -0
- package/lib/axios/types.d.ts +2 -0
- package/lib/esm/RestRepository.d.ts +5 -2
- package/lib/esm/RestRepository.js +1 -1
- package/lib/esm/RestService.d.ts +4 -3
- package/lib/esm/RestService.js +1 -1
- package/lib/esm/adapter.d.ts +14 -12
- package/lib/esm/adapter.js +10 -12
- package/lib/esm/{axios.d.ts → axios/axios.d.ts} +7 -4
- package/lib/esm/axios/axios.js +48 -0
- package/lib/esm/axios/constants.d.ts +1 -0
- package/lib/esm/axios/constants.js +2 -0
- package/lib/esm/axios/index.d.ts +3 -0
- package/lib/esm/axios/index.js +6 -0
- package/lib/esm/axios/types.d.ts +2 -0
- package/lib/esm/axios/types.js +2 -0
- package/lib/esm/index.d.ts +1 -19
- package/lib/esm/index.js +2 -20
- package/lib/esm/types.d.ts +4 -0
- package/lib/esm/types.js +1 -1
- package/lib/index.cjs +2 -20
- package/lib/index.d.ts +1 -19
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +4 -0
- package/package.json +11 -5
- package/lib/axios.cjs +0 -50
- package/lib/esm/axios.js +0 -46
package/lib/index.d.ts
CHANGED
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
export * from "./adapter";
|
|
2
|
-
export * from "./axios";
|
|
3
2
|
export * from "./RestRepository";
|
|
4
3
|
export * from "./RestService";
|
|
5
4
|
export * from "./types";
|
|
6
|
-
|
|
7
|
-
* @summary Module summary
|
|
8
|
-
* @description Module description
|
|
9
|
-
* @module ts-workspace
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* @summary Namespace summary
|
|
13
|
-
* @description Namespace description
|
|
14
|
-
* @namespace Namespace
|
|
15
|
-
* @memberOf module:ts-workspace
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* @summary stores the current package version
|
|
19
|
-
* @description this is how you should document a constant
|
|
20
|
-
* @const VERSION
|
|
21
|
-
* @memberOf module:ts-workspace
|
|
22
|
-
*/
|
|
23
|
-
export declare const VERSION = "0.1.0";
|
|
5
|
+
export declare const VERSION = "0.2.1";
|
package/lib/types.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgdHlwZSBIdHRwQ29uZmlnID0ge1xuICBwcm90b2NvbDogXCJodHRwXCIgfCBcImh0dHBzXCI7XG4gIGhvc3Q6IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEZsYWdzIGV4dGVuZHMgUmVwb3NpdG9yeUZsYWdzIHtcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG4iXX0=
|
package/lib/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/for-http",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "http wrappers for decaf-ts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
|
-
"
|
|
8
|
-
|
|
7
|
+
".": {
|
|
8
|
+
"require": "./lib/index.cjs",
|
|
9
|
+
"import": "./lib/esm/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./axios": {
|
|
12
|
+
"require": "./lib/axios/index.cjs",
|
|
13
|
+
"import": "./lib/esm/axios/index.js"
|
|
14
|
+
}
|
|
9
15
|
},
|
|
10
|
-
"types": "
|
|
16
|
+
"types": "lib/index.d.ts",
|
|
11
17
|
"scripts": {
|
|
12
18
|
"do-install": "TOKEN=$(cat .token) npm install",
|
|
13
|
-
"update-dependencies": "npm update
|
|
19
|
+
"update-dependencies": "PREFIX=\"decaf-ts\"; npm ls | grep \"$PREFIX\" | awk -F/ '{print $NF}' | sed 's/@.*//' | xargs -I package npm update @\"$PREFIX\"/package",
|
|
14
20
|
"update-scripts": "npx update-scripts",
|
|
15
21
|
"on-first-run": "npx update-scripts --boot",
|
|
16
22
|
"set-git-auth": "git config url.\"https://api:$(cat .token)@github.com/\".insteadOf \"https://github.com/\" && git config url.\"https://ssh:$(cat .token)@github.com/\".insteadOf \"ssh://git@github.com/\" && git config url.\"https://git:$(cat .token)@github.com/\".insteadOf \"git@github.com:\"",
|
package/lib/axios.cjs
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AxiosHttpAdapter = void 0;
|
|
4
|
-
const adapter_1 = require("./adapter.cjs");
|
|
5
|
-
class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
6
|
-
constructor(native, config, flavour = "axios") {
|
|
7
|
-
super(native, config, flavour);
|
|
8
|
-
}
|
|
9
|
-
async request(details) {
|
|
10
|
-
return this.native.request(details);
|
|
11
|
-
}
|
|
12
|
-
async create(tableName, id, model) {
|
|
13
|
-
try {
|
|
14
|
-
const url = this.url(tableName);
|
|
15
|
-
return this.native.post(url, model);
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
throw this.parseError(e);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
async read(tableName, id) {
|
|
22
|
-
try {
|
|
23
|
-
const url = this.url(tableName, { id: id });
|
|
24
|
-
return this.native.get(url);
|
|
25
|
-
}
|
|
26
|
-
catch (e) {
|
|
27
|
-
throw this.parseError(e);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async update(tableName, id, model) {
|
|
31
|
-
try {
|
|
32
|
-
const url = this.url(tableName);
|
|
33
|
-
return this.native.put(url, model);
|
|
34
|
-
}
|
|
35
|
-
catch (e) {
|
|
36
|
-
throw this.parseError(e);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
async delete(tableName, id) {
|
|
40
|
-
try {
|
|
41
|
-
const url = this.url(tableName, { id: id });
|
|
42
|
-
return this.native.delete(url);
|
|
43
|
-
}
|
|
44
|
-
catch (e) {
|
|
45
|
-
throw this.parseError(e);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.AxiosHttpAdapter = AxiosHttpAdapter;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXhpb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQXdDO0FBSXhDLE1BQWEsZ0JBQWlCLFNBQVEscUJBQXNDO0lBQzFFLFlBQVksTUFBYSxFQUFFLE1BQWtCLEVBQUUsVUFBa0IsT0FBTztRQUN0RSxLQUFLLENBQUMsTUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVEsS0FBSyxDQUFDLE9BQU8sQ0FBSSxPQUEyQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUNWLFNBQWlCLEVBQ2pCLEVBQW1CLEVBQ25CLEtBQTBCO1FBRTFCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBQ0QsS0FBSyxDQUFDLElBQUksQ0FDUixTQUFpQixFQUNqQixFQUE0QjtRQUU1QixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFxQixFQUFFLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsU0FBaUIsRUFDakIsRUFBbUIsRUFDbkIsS0FBMEI7UUFFMUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUNWLFNBQWlCLEVBQ2pCLEVBQTRCO1FBRTVCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF6REQsNENBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEFkYXB0ZXIgfSBmcm9tIFwiLi9hZGFwdGVyXCI7XG5pbXBvcnQgeyBBeGlvcywgQXhpb3NSZXF1ZXN0Q29uZmlnIH0gZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgeyBIdHRwQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIEF4aW9zSHR0cEFkYXB0ZXIgZXh0ZW5kcyBIdHRwQWRhcHRlcjxBeGlvcywgQXhpb3NSZXF1ZXN0Q29uZmlnPiB7XG4gIGNvbnN0cnVjdG9yKG5hdGl2ZTogQXhpb3MsIGNvbmZpZzogSHR0cENvbmZpZywgZmxhdm91cjogc3RyaW5nID0gXCJheGlvc1wiKSB7XG4gICAgc3VwZXIobmF0aXZlIGFzIGFueSwgY29uZmlnLCBmbGF2b3VyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHJlcXVlc3Q8Vj4oZGV0YWlsczogQXhpb3NSZXF1ZXN0Q29uZmlnKTogUHJvbWlzZTxWPiB7XG4gICAgcmV0dXJuIHRoaXMubmF0aXZlLnJlcXVlc3QoZGV0YWlscyk7XG4gIH1cblxuICBhc3luYyBjcmVhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwodGFibGVOYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5wb3N0KHVybCwgbW9kZWwpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxuICBhc3luYyByZWFkKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnRcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKHRhYmxlTmFtZSwgeyBpZDogaWQgYXMgc3RyaW5nIHwgbnVtYmVyIH0pO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldCh1cmwpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnVybCh0YWJsZU5hbWUpO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnB1dCh1cmwsIG1vZGVsKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludFxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwodGFibGVOYW1lLCB7IGlkOiBpZCBhcyBzdHJpbmcgfCBudW1iZXIgfSk7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVsZXRlKHVybCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/lib/esm/axios.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { HttpAdapter } from "./adapter";
|
|
2
|
-
export class AxiosHttpAdapter extends HttpAdapter {
|
|
3
|
-
constructor(native, config, flavour = "axios") {
|
|
4
|
-
super(native, config, flavour);
|
|
5
|
-
}
|
|
6
|
-
async request(details) {
|
|
7
|
-
return this.native.request(details);
|
|
8
|
-
}
|
|
9
|
-
async create(tableName, id, model) {
|
|
10
|
-
try {
|
|
11
|
-
const url = this.url(tableName);
|
|
12
|
-
return this.native.post(url, model);
|
|
13
|
-
}
|
|
14
|
-
catch (e) {
|
|
15
|
-
throw this.parseError(e);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async read(tableName, id) {
|
|
19
|
-
try {
|
|
20
|
-
const url = this.url(tableName, { id: id });
|
|
21
|
-
return this.native.get(url);
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
throw this.parseError(e);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
async update(tableName, id, model) {
|
|
28
|
-
try {
|
|
29
|
-
const url = this.url(tableName);
|
|
30
|
-
return this.native.put(url, model);
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
throw this.parseError(e);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async delete(tableName, id) {
|
|
37
|
-
try {
|
|
38
|
-
const url = this.url(tableName, { id: id });
|
|
39
|
-
return this.native.delete(url);
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
throw this.parseError(e);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXhpb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl4QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBc0M7SUFDMUUsWUFBWSxNQUFhLEVBQUUsTUFBa0IsRUFBRSxVQUFrQixPQUFPO1FBQ3RFLEtBQUssQ0FBQyxNQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFUSxLQUFLLENBQUMsT0FBTyxDQUFJLE9BQTJCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsU0FBaUIsRUFDakIsRUFBbUIsRUFDbkIsS0FBMEI7UUFFMUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFDRCxLQUFLLENBQUMsSUFBSSxDQUNSLFNBQWlCLEVBQ2pCLEVBQTRCO1FBRTVCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixTQUFpQixFQUNqQixFQUFtQixFQUNuQixLQUEwQjtRQUUxQixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsU0FBaUIsRUFDakIsRUFBNEI7UUFFNUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBcUIsRUFBRSxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlclwiO1xuaW1wb3J0IHsgQXhpb3MsIEF4aW9zUmVxdWVzdENvbmZpZyB9IGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IHsgSHR0cENvbmZpZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBBeGlvc0h0dHBBZGFwdGVyIGV4dGVuZHMgSHR0cEFkYXB0ZXI8QXhpb3MsIEF4aW9zUmVxdWVzdENvbmZpZz4ge1xuICBjb25zdHJ1Y3RvcihuYXRpdmU6IEF4aW9zLCBjb25maWc6IEh0dHBDb25maWcsIGZsYXZvdXI6IHN0cmluZyA9IFwiYXhpb3NcIikge1xuICAgIHN1cGVyKG5hdGl2ZSBhcyBhbnksIGNvbmZpZywgZmxhdm91cik7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByZXF1ZXN0PFY+KGRldGFpbHM6IEF4aW9zUmVxdWVzdENvbmZpZyk6IFByb21pc2U8Vj4ge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZS5yZXF1ZXN0KGRldGFpbHMpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKHRhYmxlTmFtZSk7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUucG9zdCh1cmwsIG1vZGVsKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cbiAgYXN5bmMgcmVhZChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnVybCh0YWJsZU5hbWUsIHsgaWQ6IGlkIGFzIHN0cmluZyB8IG51bWJlciB9KTtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXQodXJsKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwodGFibGVOYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5wdXQodXJsLCBtb2RlbCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnRcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKHRhYmxlTmFtZSwgeyBpZDogaWQgYXMgc3RyaW5nIHwgbnVtYmVyIH0pO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmRlbGV0ZSh1cmwpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|