velocious 1.0.130 → 1.0.132
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 +103 -0
- package/build/src/configuration.d.ts +8 -0
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +13 -1
- package/build/src/database/drivers/base-table.d.ts +5 -0
- package/build/src/database/drivers/base-table.d.ts.map +1 -1
- package/build/src/database/drivers/base-table.js +11 -1
- package/build/src/database/drivers/base.d.ts +9 -0
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +12 -1
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +7 -3
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +2 -1
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +2 -1
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +3 -2
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migration/index.js +11 -2
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +15 -2
- package/build/src/database/table-data/index.d.ts +24 -24
- package/build/src/database/table-data/index.d.ts.map +1 -1
- package/build/src/database/table-data/index.js +13 -13
- package/build/src/http-client/response.d.ts +4 -0
- package/build/src/http-client/response.d.ts.map +1 -1
- package/build/src/http-client/response.js +19 -17
- package/build/src/http-client/websocket-client.d.ts +105 -0
- package/build/src/http-client/websocket-client.d.ts.map +1 -0
- package/build/src/http-client/websocket-client.js +237 -0
- package/build/src/http-server/client/index.d.ts +14 -0
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +72 -1
- package/build/src/http-server/client/params-to-object.d.ts +7 -7
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +4 -4
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts +21 -2
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/form-data-part.js +62 -4
- package/build/src/http-server/client/request-parser.js +2 -2
- package/build/src/http-server/client/request-runner.d.ts +4 -4
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +2 -2
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +21 -0
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts.map +1 -0
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +26 -0
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +21 -0
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts.map +1 -0
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +26 -0
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +29 -0
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -0
- package/build/src/http-server/client/uploaded-file/uploaded-file.js +34 -0
- package/build/src/http-server/client/websocket-request.d.ts +40 -0
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -0
- package/build/src/http-server/client/websocket-request.js +88 -0
- package/build/src/http-server/client/websocket-session.d.ts +73 -0
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -0
- package/build/src/http-server/client/websocket-session.js +231 -0
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-client.js +6 -3
- package/build/src/http-server/websocket-events-host.d.ts +22 -0
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -0
- package/build/src/http-server/websocket-events-host.js +29 -0
- package/build/src/http-server/websocket-events.d.ts +20 -0
- package/build/src/http-server/websocket-events.d.ts.map +1 -0
- package/build/src/http-server/websocket-events.js +23 -0
- package/build/src/http-server/worker-handler/index.d.ts +19 -4
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +24 -3
- package/build/src/http-server/worker-handler/worker-thread.d.ts +18 -2
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +23 -2
- package/build/src/routes/resolver.d.ts +5 -0
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +28 -2
- package/package.json +1 -1
|
@@ -62,75 +62,75 @@ export default class TableData {
|
|
|
62
62
|
getReferences(): TableReference[];
|
|
63
63
|
/**
|
|
64
64
|
* @param {string} name
|
|
65
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
65
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
66
66
|
* @returns {void}
|
|
67
67
|
*/
|
|
68
|
-
bigint(name: string, args
|
|
68
|
+
bigint(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
69
69
|
/**
|
|
70
70
|
* @param {string} name
|
|
71
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
71
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
72
72
|
* @returns {void}
|
|
73
73
|
*/
|
|
74
|
-
blob(name: string, args
|
|
74
|
+
blob(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
75
75
|
/**
|
|
76
76
|
* @param {string} name
|
|
77
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
77
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
78
78
|
* @returns {void}
|
|
79
79
|
*/
|
|
80
|
-
boolean(name: string, args
|
|
80
|
+
boolean(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
81
81
|
/**
|
|
82
82
|
* @param {string} name
|
|
83
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
83
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
84
84
|
* @returns {void}
|
|
85
85
|
*/
|
|
86
|
-
datetime(name: string, args
|
|
86
|
+
datetime(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
87
87
|
/**
|
|
88
88
|
* @param {string} name
|
|
89
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
89
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
90
90
|
* @returns {void}
|
|
91
91
|
*/
|
|
92
|
-
integer(name: string, args
|
|
92
|
+
integer(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
93
93
|
/**
|
|
94
94
|
* @param {string} name
|
|
95
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
95
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
96
96
|
* @returns {void}
|
|
97
97
|
*/
|
|
98
|
-
json(name: string, args
|
|
98
|
+
json(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
99
99
|
/**
|
|
100
100
|
* @param {string} name
|
|
101
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
101
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
102
102
|
* @returns {void}
|
|
103
103
|
*/
|
|
104
|
-
tinyint(name: string, args
|
|
104
|
+
tinyint(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
105
105
|
/**
|
|
106
106
|
* @param {string} name
|
|
107
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
107
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
108
108
|
* @returns {void}
|
|
109
109
|
*/
|
|
110
|
-
references(name: string, args
|
|
110
|
+
references(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
111
111
|
/**
|
|
112
112
|
* @param {string} name
|
|
113
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
113
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
114
114
|
* @returns {void}
|
|
115
115
|
*/
|
|
116
|
-
string(name: string, args
|
|
116
|
+
string(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
117
117
|
/**
|
|
118
118
|
* @param {string} name
|
|
119
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
119
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
120
120
|
* @returns {void}
|
|
121
121
|
*/
|
|
122
|
-
text(name: string, args
|
|
122
|
+
text(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
123
123
|
/**
|
|
124
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
124
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
125
125
|
* @returns {void}
|
|
126
126
|
*/
|
|
127
|
-
timestamps(args
|
|
127
|
+
timestamps(args?: import("./table-column.js").TableColumnArgsType): void;
|
|
128
128
|
/**
|
|
129
129
|
* @param {string} name
|
|
130
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
130
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
131
131
|
* @returns {void}
|
|
132
132
|
*/
|
|
133
|
-
uuid(name: string, args
|
|
133
|
+
uuid(name: string, args?: import("./table-column.js").TableColumnArgsType): void;
|
|
134
134
|
}
|
|
135
135
|
export type TableDataArgsType = {
|
|
136
136
|
ifNotExists: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/table-data/index.js"],"names":[],"mappings":"AAMA;;;GAGG;AAEH;IAaE;;;OAGG;IACH,kBAHW,MAAM,SACN,iBAAiB,EAO3B;IArBD,4BAA4B;IAC5B,UADW,WAAW,EAAE,CACX;IAEb,yDAAyD;IACzD,cADW,OAAO,wBAAwB,EAAE,OAAO,EAAE,CACpC;IAEjB,2BAA2B;IAC3B,UADW,UAAU,EAAE,CACV;IAEb,+BAA+B;IAC/B,aADW,cAAc,EAAE,CACX;IASd,wBAAgB;IAChB,cAAiB;IAGnB;;;OAGG;IACH,gBAHW,MAAM,GAAC,WAAW,SAClB,OAAO,mBAAmB,EAAE,mBAAmB,QAUzD;IAED;;OAEG;IACH,cAFa,WAAW,EAAE,CAEW;IAErC;;OAEG;IACH,0BAFW,OAAO,wBAAwB,EAAE,OAAO,QAEa;IAEhE;;OAEG;IACH,kBAFa,OAAO,wBAAwB,EAAE,OAAO,EAAE,CAEV;IAE7C;;OAEG;IACH,gBAFW,UAAU,QAEwB;IAE7C;;OAEG;IACH,cAFa,UAAU,EAAE,CAEY;IAErC;;OAEG;IACH,WAFa,MAAM,CAEY;IAE/B;;;OAGG;IACH,iBAHW,MAAM,GACJ,IAAI,CAEwB;IAEzC;;OAEG;IACH,kBAFa,OAAO,CAEuC;IAE3D;;OAEG;IACH,iBAFa,cAAc,EAAE,CAEc;IAE3C;;;;OAIG;IACH,aAJW,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/table-data/index.js"],"names":[],"mappings":"AAMA;;;GAGG;AAEH;IAaE;;;OAGG;IACH,kBAHW,MAAM,SACN,iBAAiB,EAO3B;IArBD,4BAA4B;IAC5B,UADW,WAAW,EAAE,CACX;IAEb,yDAAyD;IACzD,cADW,OAAO,wBAAwB,EAAE,OAAO,EAAE,CACpC;IAEjB,2BAA2B;IAC3B,UADW,UAAU,EAAE,CACV;IAEb,+BAA+B;IAC/B,aADW,cAAc,EAAE,CACX;IASd,wBAAgB;IAChB,cAAiB;IAGnB;;;OAGG;IACH,gBAHW,MAAM,GAAC,WAAW,SAClB,OAAO,mBAAmB,EAAE,mBAAmB,QAUzD;IAED;;OAEG;IACH,cAFa,WAAW,EAAE,CAEW;IAErC;;OAEG;IACH,0BAFW,OAAO,wBAAwB,EAAE,OAAO,QAEa;IAEhE;;OAEG;IACH,kBAFa,OAAO,wBAAwB,EAAE,OAAO,EAAE,CAEV;IAE7C;;OAEG;IACH,gBAFW,UAAU,QAEwB;IAE7C;;OAEG;IACH,cAFa,UAAU,EAAE,CAEY;IAErC;;OAEG;IACH,WAFa,MAAM,CAEY;IAE/B;;;OAGG;IACH,iBAHW,MAAM,GACJ,IAAI,CAEwB;IAEzC;;OAEG;IACH,kBAFa,OAAO,CAEuC;IAE3D;;OAEG;IACH,iBAFa,cAAc,EAAE,CAEc;IAE3C;;;;OAIG;IACH,aAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEoF;IAErG;;;;OAIG;IACH,WAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEgF;IAEjG;;;;OAIG;IACH,cAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEsF;IAEvG;;;;OAIG;IACH,eAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEwF;IAEzG;;;;OAIG;IACH,cAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEsF;IAEvG;;;;OAIG;IACH,WAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEgF;IAEjG;;;;OAIG;IACH,cAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEsF;IAEvG;;;;OAIG;IACH,iBAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAoBhB;IAED;;;;OAIG;IACH,aAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEoF;IAErG;;;;OAIG;IACH,WAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEgF;IAEjG;;;OAGG;IACH,kBAHW,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAKhB;IAED;;;;OAIG;IACH,WAJW,MAAM,SACN,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,IAAI,CAEgF;CAClG;;iBA9La,OAAO;;wBANG,mBAAmB;uBACpB,kBAAkB;2BACd,sBAAsB"}
|
|
@@ -77,49 +77,49 @@ export default class TableData {
|
|
|
77
77
|
getReferences() { return this._references; }
|
|
78
78
|
/**
|
|
79
79
|
* @param {string} name
|
|
80
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
80
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
81
81
|
* @returns {void}
|
|
82
82
|
*/
|
|
83
83
|
bigint(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "bigint" }, args)); }
|
|
84
84
|
/**
|
|
85
85
|
* @param {string} name
|
|
86
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
86
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
87
87
|
* @returns {void}
|
|
88
88
|
*/
|
|
89
89
|
blob(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "blob" }, args)); }
|
|
90
90
|
/**
|
|
91
91
|
* @param {string} name
|
|
92
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
92
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
93
93
|
* @returns {void}
|
|
94
94
|
*/
|
|
95
95
|
boolean(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "boolean" }, args)); }
|
|
96
96
|
/**
|
|
97
97
|
* @param {string} name
|
|
98
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
98
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
99
99
|
* @returns {void}
|
|
100
100
|
*/
|
|
101
101
|
datetime(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "datetime" }, args)); }
|
|
102
102
|
/**
|
|
103
103
|
* @param {string} name
|
|
104
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
104
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
105
105
|
* @returns {void}
|
|
106
106
|
*/
|
|
107
107
|
integer(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "integer" }, args)); }
|
|
108
108
|
/**
|
|
109
109
|
* @param {string} name
|
|
110
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
110
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
111
111
|
* @returns {void}
|
|
112
112
|
*/
|
|
113
113
|
json(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "json" }, args)); }
|
|
114
114
|
/**
|
|
115
115
|
* @param {string} name
|
|
116
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
116
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
117
117
|
* @returns {void}
|
|
118
118
|
*/
|
|
119
119
|
tinyint(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "tinyint" }, args)); }
|
|
120
120
|
/**
|
|
121
121
|
* @param {string} name
|
|
122
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
122
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
123
123
|
* @returns {void}
|
|
124
124
|
*/
|
|
125
125
|
references(name, args) {
|
|
@@ -140,18 +140,18 @@ export default class TableData {
|
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
142
|
* @param {string} name
|
|
143
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
143
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
144
144
|
* @returns {void}
|
|
145
145
|
*/
|
|
146
146
|
string(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "string" }, args)); }
|
|
147
147
|
/**
|
|
148
148
|
* @param {string} name
|
|
149
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
149
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
150
150
|
* @returns {void}
|
|
151
151
|
*/
|
|
152
152
|
text(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "text" }, args)); }
|
|
153
153
|
/**
|
|
154
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
154
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
155
155
|
* @returns {void}
|
|
156
156
|
*/
|
|
157
157
|
timestamps(args) {
|
|
@@ -160,9 +160,9 @@ export default class TableData {
|
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
162
|
* @param {string} name
|
|
163
|
-
* @param {import("./table-column.js").TableColumnArgsType} args
|
|
163
|
+
* @param {import("./table-column.js").TableColumnArgsType} [args]
|
|
164
164
|
* @returns {void}
|
|
165
165
|
*/
|
|
166
166
|
uuid(name, args) { this.addColumn(name, Object.assign({ isNewColumn: true, type: "uuid" }, args)); }
|
|
167
167
|
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvdGFibGUtZGF0YS9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxjQUFjLE1BQU0sc0JBQXNCLENBQUE7QUFFakQ7OztHQUdHO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTyxTQUFTO0lBQzVCLDRCQUE0QjtJQUM1QixRQUFRLEdBQUcsRUFBRSxDQUFBO0lBRWIseURBQXlEO0lBQ3pELFlBQVksR0FBRyxFQUFFLENBQUE7SUFFakIsMkJBQTJCO0lBQzNCLFFBQVEsR0FBRyxFQUFFLENBQUE7SUFFYiwrQkFBK0I7SUFDL0IsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVoQjs7O09BR0c7SUFDSCxZQUFZLElBQUksRUFBRSxJQUFJO1FBQ3BCLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUV6RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJO1FBQ2xCLElBQUksSUFBSSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFMUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtR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QUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXJHOzs7O09BSUc7SUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFakc7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLElBQUk7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztDQUNsRyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgVGFibGVDb2x1bW4gZnJvbSBcIi4vdGFibGUtY29sdW1uLmpzXCJcbmltcG9ydCBUYWJsZUluZGV4IGZyb20gXCIuL3RhYmxlLWluZGV4LmpzXCJcbmltcG9ydCBUYWJsZVJlZmVyZW5jZSBmcm9tIFwiLi90YWJsZS1yZWZlcmVuY2UuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFRhYmxlRGF0YUFyZ3NUeXBlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGlmTm90RXhpc3RzXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFibGVEYXRhIHtcbiAgLyoqIEB0eXBlIHtUYWJsZUNvbHVtbltdfSAqL1xuICBfY29sdW1ucyA9IFtdXG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL3RhYmxlLWZvcmVpZ24ta2V5LmpzXCIpLmRlZmF1bHRbXX0gKi9cbiAgX2ZvcmVpZ25LZXlzID0gW11cblxuICAvKiogQHR5cGUge1RhYmxlSW5kZXhbXX0gKi9cbiAgX2luZGV4ZXMgPSBbXVxuXG4gIC8qKiBAdHlwZSB7VGFibGVSZWZlcmVuY2VbXX0gKi9cbiAgX3JlZmVyZW5jZXMgPSBbXVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge1RhYmxlRGF0YUFyZ3NUeXBlfSBbYXJnc11cbiAgICovXG4gIGNvbnN0cnVjdG9yKG5hbWUsIGFyZ3MpIHtcbiAgICBpZiAoIW5hbWUpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YWJsZSBuYW1lOiAke25hbWV9YClcblxuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgICB0aGlzLl9uYW1lID0gbmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfFRhYmxlQ29sdW1ufSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqL1xuICBhZGRDb2x1bW4obmFtZSwgYXJncykge1xuICAgIGlmIChuYW1lIGluc3RhbmNlb2YgVGFibGVDb2x1bW4pIHtcbiAgICAgIHRoaXMuZ2V0Q29sdW1ucygpLnB1c2gobmFtZSlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29sdW1uID0gbmV3IFRhYmxlQ29sdW1uKG5hbWUsIGFyZ3MpXG5cbiAgICAgIHRoaXMuZ2V0Q29sdW1ucygpLnB1c2goY29sdW1uKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VGFibGVDb2x1bW5bXX1cbiAgICovXG4gIGdldENvbHVtbnMoKSB7IHJldHVybiB0aGlzLl9jb2x1bW5zIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3RhYmxlLWZvcmVpZ24ta2V5LmpzXCIpLmRlZmF1bHR9IGZvcmVpZ25LZXlcbiAgICovXG4gIGFkZEZvcmVpZ25LZXkoZm9yZWlnbktleSkgeyB0aGlzLl9mb3JlaWduS2V5cy5wdXNoKGZvcmVpZ25LZXkpIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vdGFibGUtZm9yZWlnbi1rZXkuanNcIikuZGVmYXVsdFtdfVxuICAgKi9cbiAgZ2V0Rm9yZWlnbktleXMoKSB7IHJldHVybiB0aGlzLl9mb3JlaWduS2V5cyB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7VGFibGVJbmRleH0gaW5kZXhcbiAgICovXG4gIGFkZEluZGV4KGluZGV4KSB7IHRoaXMuX2luZGV4ZXMucHVzaChpbmRleCkgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VGFibGVJbmRleFtdfVxuICAgKi9cbiAgZ2V0SW5kZXhlcygpIHsgcmV0dXJuIHRoaXMuX2luZGV4ZXMgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWUgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3TmFtZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNldE5hbWUobmV3TmFtZSkgeyB0aGlzLl9uYW1lID0gbmV3TmFtZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgZ2V0SWZOb3RFeGlzdHMoKSB7IHJldHVybiB0aGlzLmFyZ3M/LmlmTm90RXhpc3RzIHx8IGZhbHNlIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1RhYmxlUmVmZXJlbmNlW119XG4gICAqL1xuICBnZXRSZWZlcmVuY2VzKCkgeyByZXR1cm4gdGhpcy5fcmVmZXJlbmNlcyB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gYXJnc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGJpZ2ludChuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImJpZ2ludFwifSwgYXJncykpIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBhcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgYmxvYihuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImJsb2JcIn0sIGFyZ3MpKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gYXJnc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGJvb2xlYW4obmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJib29sZWFuXCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IGFyZ3NcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBkYXRldGltZShuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImRhdGV0aW1lXCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IGFyZ3NcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBpbnRlZ2VyKG5hbWUsIGFyZ3MpIHsgdGhpcy5hZGRDb2x1bW4obmFtZSwgT2JqZWN0LmFzc2lnbih7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwiaW50ZWdlclwifSwgYXJncykpIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBhcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAganNvbihuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImpzb25cIn0sIGFyZ3MpKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gYXJnc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHRpbnlpbnQobmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJ0aW55aW50XCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IGFyZ3NcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICByZWZlcmVuY2VzKG5hbWUsIGFyZ3MpIHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gYCR7bmFtZX1faWRgXG4gICAgY29uc3QgcmVmZXJlbmNlID0gbmV3IFRhYmxlUmVmZXJlbmNlKG5hbWUsIGFyZ3MpXG4gICAgY29uc3Qge3BvbHltb3JwaGljLCAuLi5yZXN0QXJnc30gPSBhcmdzXG4gICAgY29uc3QgY29sdW1uQXJncyA9IE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImJpZ2ludFwifSwgcmVzdEFyZ3MpXG4gICAgY29uc3QgY29sdW1uID0gbmV3IFRhYmxlQ29sdW1uKGNvbHVtbk5hbWUsIGNvbHVtbkFyZ3MpXG4gICAgY29uc3QgaW5kZXggPSBuZXcgVGFibGVJbmRleChbY29sdW1uXSlcblxuICAgIHRoaXMuZ2V0Q29sdW1ucygpLnB1c2goY29sdW1uKVxuICAgIHRoaXMuZ2V0SW5kZXhlcygpLnB1c2goaW5kZXgpXG4gICAgdGhpcy5nZXRSZWZlcmVuY2VzKCkucHVzaChyZWZlcmVuY2UpXG5cbiAgICBpZiAocG9seW1vcnBoaWMpIHtcbiAgICAgIGNvbnN0IHR5cGVDb2x1bW5OYW1lID0gYCR7bmFtZX1fdHlwZWBcbiAgICAgIGNvbnN0IHR5cGVDb2x1bW4gPSBuZXcgVGFibGVDb2x1bW4odHlwZUNvbHVtbk5hbWUsIHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJzdHJpbmdcIn0pXG5cbiAgICAgIHRoaXMuZ2V0Q29sdW1ucygpLnB1c2godHlwZUNvbHVtbilcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBhcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc3RyaW5nKG5hbWUsIGFyZ3MpIHsgdGhpcy5hZGRDb2x1bW4obmFtZSwgT2JqZWN0LmFzc2lnbih7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwic3RyaW5nXCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IGFyZ3NcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICB0ZXh0KG5hbWUsIGFyZ3MpIHsgdGhpcy5hZGRDb2x1bW4obmFtZSwgT2JqZWN0LmFzc2lnbih7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwidGV4dFwifSwgYXJncykpIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBhcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgdGltZXN0YW1wcyhhcmdzKSB7XG4gICAgdGhpcy5kYXRldGltZShcImNyZWF0ZWRfYXRcIiwgYXJncylcbiAgICB0aGlzLmRhdGV0aW1lKFwidXBkYXRlZF9hdFwiLCBhcmdzKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gYXJnc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHV1aWQobmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJ1dWlkXCJ9LCBhcmdzKSkgfVxufVxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvdGFibGUtZGF0YS9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxjQUFjLE1BQU0sc0JBQXNCLENBQUE7QUFFakQ7OztHQUdHO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTyxTQUFTO0lBQzVCLDRCQUE0QjtJQUM1QixRQUFRLEdBQUcsRUFBRSxDQUFBO0lBRWIseURBQXlEO0lBQ3pELFlBQVksR0FBRyxFQUFFLENBQUE7SUFFakIsMkJBQTJCO0lBQzNCLFFBQVEsR0FBRyxFQUFFLENBQUE7SUFFYiwrQkFBK0I7SUFDL0IsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVoQjs7O09BR0c7SUFDSCxZQUFZLElBQUksRUFBRSxJQUFJO1FBQ3BCLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUV6RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJO1FBQ2xCLElBQUksSUFBSSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFMUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtR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QUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXJHOzs7O09BSUc7SUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFakc7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLElBQUk7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztDQUNsRyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgVGFibGVDb2x1bW4gZnJvbSBcIi4vdGFibGUtY29sdW1uLmpzXCJcbmltcG9ydCBUYWJsZUluZGV4IGZyb20gXCIuL3RhYmxlLWluZGV4LmpzXCJcbmltcG9ydCBUYWJsZVJlZmVyZW5jZSBmcm9tIFwiLi90YWJsZS1yZWZlcmVuY2UuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFRhYmxlRGF0YUFyZ3NUeXBlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGlmTm90RXhpc3RzXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFibGVEYXRhIHtcbiAgLyoqIEB0eXBlIHtUYWJsZUNvbHVtbltdfSAqL1xuICBfY29sdW1ucyA9IFtdXG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL3RhYmxlLWZvcmVpZ24ta2V5LmpzXCIpLmRlZmF1bHRbXX0gKi9cbiAgX2ZvcmVpZ25LZXlzID0gW11cblxuICAvKiogQHR5cGUge1RhYmxlSW5kZXhbXX0gKi9cbiAgX2luZGV4ZXMgPSBbXVxuXG4gIC8qKiBAdHlwZSB7VGFibGVSZWZlcmVuY2VbXX0gKi9cbiAgX3JlZmVyZW5jZXMgPSBbXVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge1RhYmxlRGF0YUFyZ3NUeXBlfSBbYXJnc11cbiAgICovXG4gIGNvbnN0cnVjdG9yKG5hbWUsIGFyZ3MpIHtcbiAgICBpZiAoIW5hbWUpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YWJsZSBuYW1lOiAke25hbWV9YClcblxuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgICB0aGlzLl9uYW1lID0gbmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfFRhYmxlQ29sdW1ufSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqL1xuICBhZGRDb2x1bW4obmFtZSwgYXJncykge1xuICAgIGlmIChuYW1lIGluc3RhbmNlb2YgVGFibGVDb2x1bW4pIHtcbiAgICAgIHRoaXMuZ2V0Q29sdW1ucygpLnB1c2gobmFtZSlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29sdW1uID0gbmV3IFRhYmxlQ29sdW1uKG5hbWUsIGFyZ3MpXG5cbiAgICAgIHRoaXMuZ2V0Q29sdW1ucygpLnB1c2goY29sdW1uKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VGFibGVDb2x1bW5bXX1cbiAgICovXG4gIGdldENvbHVtbnMoKSB7IHJldHVybiB0aGlzLl9jb2x1bW5zIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3RhYmxlLWZvcmVpZ24ta2V5LmpzXCIpLmRlZmF1bHR9IGZvcmVpZ25LZXlcbiAgICovXG4gIGFkZEZvcmVpZ25LZXkoZm9yZWlnbktleSkgeyB0aGlzLl9mb3JlaWduS2V5cy5wdXNoKGZvcmVpZ25LZXkpIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vdGFibGUtZm9yZWlnbi1rZXkuanNcIikuZGVmYXVsdFtdfVxuICAgKi9cbiAgZ2V0Rm9yZWlnbktleXMoKSB7IHJldHVybiB0aGlzLl9mb3JlaWduS2V5cyB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7VGFibGVJbmRleH0gaW5kZXhcbiAgICovXG4gIGFkZEluZGV4KGluZGV4KSB7IHRoaXMuX2luZGV4ZXMucHVzaChpbmRleCkgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VGFibGVJbmRleFtdfVxuICAgKi9cbiAgZ2V0SW5kZXhlcygpIHsgcmV0dXJuIHRoaXMuX2luZGV4ZXMgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWUgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3TmFtZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNldE5hbWUobmV3TmFtZSkgeyB0aGlzLl9uYW1lID0gbmV3TmFtZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgZ2V0SWZOb3RFeGlzdHMoKSB7IHJldHVybiB0aGlzLmFyZ3M/LmlmTm90RXhpc3RzIHx8IGZhbHNlIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1RhYmxlUmVmZXJlbmNlW119XG4gICAqL1xuICBnZXRSZWZlcmVuY2VzKCkgeyByZXR1cm4gdGhpcy5fcmVmZXJlbmNlcyB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgYmlnaW50KG5hbWUsIGFyZ3MpIHsgdGhpcy5hZGRDb2x1bW4obmFtZSwgT2JqZWN0LmFzc2lnbih7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwiYmlnaW50XCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGJsb2IobmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJibG9iXCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGJvb2xlYW4obmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJib29sZWFuXCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGRhdGV0aW1lKG5hbWUsIGFyZ3MpIHsgdGhpcy5hZGRDb2x1bW4obmFtZSwgT2JqZWN0LmFzc2lnbih7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwiZGF0ZXRpbWVcIn0sIGFyZ3MpKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgaW50ZWdlcihuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImludGVnZXJcIn0sIGFyZ3MpKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAganNvbihuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcImpzb25cIn0sIGFyZ3MpKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgdGlueWludChuYW1lLCBhcmdzKSB7IHRoaXMuYWRkQ29sdW1uKG5hbWUsIE9iamVjdC5hc3NpZ24oe2lzTmV3Q29sdW1uOiB0cnVlLCB0eXBlOiBcInRpbnlpbnRcIn0sIGFyZ3MpKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgcmVmZXJlbmNlcyhuYW1lLCBhcmdzKSB7XG4gICAgY29uc3QgY29sdW1uTmFtZSA9IGAke25hbWV9X2lkYFxuICAgIGNvbnN0IHJlZmVyZW5jZSA9IG5ldyBUYWJsZVJlZmVyZW5jZShuYW1lLCBhcmdzKVxuICAgIGNvbnN0IHtwb2x5bW9ycGhpYywgLi4ucmVzdEFyZ3N9ID0gYXJnc1xuICAgIGNvbnN0IGNvbHVtbkFyZ3MgPSBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJiaWdpbnRcIn0sIHJlc3RBcmdzKVxuICAgIGNvbnN0IGNvbHVtbiA9IG5ldyBUYWJsZUNvbHVtbihjb2x1bW5OYW1lLCBjb2x1bW5BcmdzKVxuICAgIGNvbnN0IGluZGV4ID0gbmV3IFRhYmxlSW5kZXgoW2NvbHVtbl0pXG5cbiAgICB0aGlzLmdldENvbHVtbnMoKS5wdXNoKGNvbHVtbilcbiAgICB0aGlzLmdldEluZGV4ZXMoKS5wdXNoKGluZGV4KVxuICAgIHRoaXMuZ2V0UmVmZXJlbmNlcygpLnB1c2gocmVmZXJlbmNlKVxuXG4gICAgaWYgKHBvbHltb3JwaGljKSB7XG4gICAgICBjb25zdCB0eXBlQ29sdW1uTmFtZSA9IGAke25hbWV9X3R5cGVgXG4gICAgICBjb25zdCB0eXBlQ29sdW1uID0gbmV3IFRhYmxlQ29sdW1uKHR5cGVDb2x1bW5OYW1lLCB7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwic3RyaW5nXCJ9KVxuXG4gICAgICB0aGlzLmdldENvbHVtbnMoKS5wdXNoKHR5cGVDb2x1bW4pXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc3RyaW5nKG5hbWUsIGFyZ3MpIHsgdGhpcy5hZGRDb2x1bW4obmFtZSwgT2JqZWN0LmFzc2lnbih7aXNOZXdDb2x1bW46IHRydWUsIHR5cGU6IFwic3RyaW5nXCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHRleHQobmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJ0ZXh0XCJ9LCBhcmdzKSkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHRpbWVzdGFtcHMoYXJncykge1xuICAgIHRoaXMuZGF0ZXRpbWUoXCJjcmVhdGVkX2F0XCIsIGFyZ3MpXG4gICAgdGhpcy5kYXRldGltZShcInVwZGF0ZWRfYXRcIiwgYXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHV1aWQobmFtZSwgYXJncykgeyB0aGlzLmFkZENvbHVtbihuYW1lLCBPYmplY3QuYXNzaWduKHtpc05ld0NvbHVtbjogdHJ1ZSwgdHlwZTogXCJ1dWlkXCJ9LCBhcmdzKSkgfVxufVxuIl19
|
|
@@ -26,6 +26,10 @@ export default class Response {
|
|
|
26
26
|
tryToParse(): void;
|
|
27
27
|
statusLine: string;
|
|
28
28
|
completeResponse(): void;
|
|
29
|
+
/**
|
|
30
|
+
* @returns {number}
|
|
31
|
+
*/
|
|
32
|
+
_contentLengthNumber(): number;
|
|
29
33
|
}
|
|
30
34
|
import Header from "./header.js";
|
|
31
35
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/http-client/response.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,oCAHG;QAAqB,MAAM,EAAnB,MAAM;QACkB,UAAU,EAAlC,MAAa,IAAI;KAC3B,EAaA;IATC,uBAAuB;IACvB,SADW,MAAM,EAAE,CACF;IAEjB,eAAyC;IACzC,kBATsB,IAAI,CASE;IAC5B,cAA0B;IAE1B,qBAAqB;IACrB,UADW,MAAM,CACc;IAGjC,2BAA2B;IAC3B,WADY,MAAM,QAIjB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAclB;IAED,YAaC;IAED,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/http-client/response.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,oCAHG;QAAqB,MAAM,EAAnB,MAAM;QACkB,UAAU,EAAlC,MAAa,IAAI;KAC3B,EAaA;IATC,uBAAuB;IACvB,SADW,MAAM,EAAE,CACF;IAEjB,eAAyC;IACzC,kBATsB,IAAI,CASE;IAC5B,cAA0B;IAE1B,qBAAqB;IACrB,UADW,MAAM,CACc;IAGjC,2BAA2B;IAC3B,WADY,MAAM,QAIjB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAclB;IAED,YAaC;IAED,mBAsDC;IA3BS,mBAAsB;IA6BhC,yBAGC;IAED;;OAEG;IACH,wBAFa,MAAM,CAalB;CACF;mBAzIkB,aAAa"}
|
|
@@ -50,20 +50,7 @@ export default class Response {
|
|
|
50
50
|
tryToParse() {
|
|
51
51
|
while (true) {
|
|
52
52
|
if (this.state == "body") {
|
|
53
|
-
const
|
|
54
|
-
if (contentLengthValue === undefined) {
|
|
55
|
-
throw new Error("No content length given");
|
|
56
|
-
}
|
|
57
|
-
let contentLengthNumber;
|
|
58
|
-
if (typeof contentLengthValue == "number") {
|
|
59
|
-
contentLengthNumber = contentLengthValue;
|
|
60
|
-
}
|
|
61
|
-
else if (contentLengthValue == "string") {
|
|
62
|
-
contentLengthNumber = parseInt(contentLengthValue);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw new Error(`Content-Length is not a number: ${contentLengthValue}`);
|
|
66
|
-
}
|
|
53
|
+
const contentLengthNumber = this._contentLengthNumber();
|
|
67
54
|
if (this.response.byteLength >= contentLengthNumber) {
|
|
68
55
|
this.completeResponse();
|
|
69
56
|
break;
|
|
@@ -89,11 +76,12 @@ export default class Response {
|
|
|
89
76
|
}
|
|
90
77
|
else if (this.state == "headers") {
|
|
91
78
|
if (line == "") {
|
|
92
|
-
|
|
79
|
+
const contentLengthNumber = this._contentLengthNumber();
|
|
80
|
+
if (!contentLengthNumber) {
|
|
93
81
|
this.completeResponse();
|
|
94
82
|
break;
|
|
95
83
|
}
|
|
96
|
-
else
|
|
84
|
+
else {
|
|
97
85
|
this.state = "body";
|
|
98
86
|
}
|
|
99
87
|
}
|
|
@@ -116,5 +104,19 @@ export default class Response {
|
|
|
116
104
|
this.state = "done";
|
|
117
105
|
this.onComplete();
|
|
118
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* @returns {number}
|
|
109
|
+
*/
|
|
110
|
+
_contentLengthNumber() {
|
|
111
|
+
const header = this.headers.find((currentHeader) => currentHeader.getName().toLowerCase() == "content-length");
|
|
112
|
+
if (!header)
|
|
113
|
+
return 0;
|
|
114
|
+
const contentLengthValue = header.getValue();
|
|
115
|
+
if (typeof contentLengthValue === "number")
|
|
116
|
+
return contentLengthValue;
|
|
117
|
+
if (typeof contentLengthValue === "string")
|
|
118
|
+
return parseInt(contentLengthValue);
|
|
119
|
+
throw new Error(`Content-Length is not a number: ${contentLengthValue}`);
|
|
120
|
+
}
|
|
119
121
|
}
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvcmVzcG9uc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxNQUFNLENBQUMsT0FBTyxPQUFPLFFBQVE7SUFDM0I7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLFVBQVUsRUFBQztRQUN0QyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFFL0QsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFBO1FBRTFCLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixJQUFJLENBQUMsSUFBSTtRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFJO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBRTdDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFB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QUssRUFBRSxDQUFDLENBQUE7b0JBQ3BELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi9oZWFkZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5tZXRob2RcbiAgICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gYXJncy5vbkNvbXBsZXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bWV0aG9kID0gXCJHRVRcIiwgb25Db21wbGV0ZX0pIHtcbiAgICBpZiAoIW1ldGhvZCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1ldGhvZCBnaXZlbjogJHttZXRob2R9YClcblxuICAgIC8qKiBAdHlwZSB7SGVhZGVyW119ICovXG4gICAgdGhpcy5oZWFkZXJzID0gW11cblxuICAgIHRoaXMubWV0aG9kID0gbWV0aG9kLnRvVXBwZXJDYXNlKCkudHJpbSgpXG4gICAgdGhpcy5vbkNvbXBsZXRlID0gb25Db21wbGV0ZVxuICAgIHRoaXMuc3RhdGUgPSBcInN0YXR1cy1saW5lXCJcblxuICAgIC8qKiBAdHlwZSB7QnVmZmVyfSAqL1xuICAgIHRoaXMucmVzcG9uc2UgPSBCdWZmZXIuYWxsb2MoMCk7XG4gIH1cblxuICAvKiogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgKi9cbiAgZmVlZChkYXRhKSB7XG4gICAgdGhpcy5yZXNwb25zZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMucmVzcG9uc2UsIGRhdGFdKVxuICAgIHRoaXMudHJ5VG9QYXJzZSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybnMge0hlYWRlcn1cbiAgICovXG4gIGdldEhlYWRlcihuYW1lKSB7XG4gICAgY29uc3QgY29tcGFyZU5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCkudHJpbSgpXG5cbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiB0aGlzLmhlYWRlcnMpIHtcbiAgICAgIGNvbnN0IGhlYWRlckNvbXBhcmVOYW1lID0gaGVhZGVyLmdldE5hbWUoKS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuXG4gICAgICBpZiAoY29tcGFyZU5hbWUgPT0gaGVhZGVyQ29tcGFyZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGhlYWRlclxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgSGVhZGVyICR7bmFtZX0gbm90IGZvdW5kYClcbiAgfVxuXG4gIGpzb24oKSB7XG4gICAgY29uc3QgY29udGVudFR5cGVIZWFkZXIgPSB0aGlzLmdldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKT8uZ2V0VmFsdWUoKVxuXG4gICAgaWYgKHR5cGVvZiBjb250ZW50VHlwZUhlYWRlciAhPSBcInN0cmluZ1wiKSB0aHJvdyBuZXcgRXJyb3IoYENvbnRlbnQtVHlwZSB3YXNuJ3QgYSBzdHJpbmc6ICR7Y29udGVudFR5cGVIZWFkZXJ9YClcblxuICAgIGlmICghY29udGVudFR5cGVIZWFkZXIudG9Mb3dlckNhc2UoKS50cmltKCkuc3RhcnRzV2l0aChcImFwcGxpY2F0aW9uL2pzb25cIikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29udGVudC1UeXBlIGlzIG5vdCBKU09OOiAke2NvbnRlbnRUeXBlSGVhZGVyfWApXG4gICAgfVxuXG4gICAgY29uc3QgYm9keSA9IHRoaXMucmVzcG9uc2UudG9TdHJpbmcoKVxuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKGJvZHkpXG5cbiAgICByZXR1cm4ganNvblxuICB9XG5cbiAgdHJ5VG9QYXJzZSgpIHtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUgPT0gXCJib2R5XCIpIHtcbiAgICAgICAgY29uc3QgY29udGVudExlbmd0aFZhbHVlID0gdGhpcy5nZXRIZWFkZXIoXCJDb250ZW50LUxlbmd0aFwiKT8uZ2V0VmFsdWUoKVxuXG4gICAgICAgIGlmIChjb250ZW50TGVuZ3RoVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGNvbnRlbnQgbGVuZ3RoIGdpdmVuXCIpXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY29udGVudExlbmd0aE51bWJlclxuXG4gICAgICAgIGlmICh0eXBlb2YgY29udGVudExlbmd0aFZhbHVlID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICBjb250ZW50TGVuZ3RoTnVtYmVyID0gY29udGVudExlbmd0aFZhbHVlXG4gICAgICAgIH0gZWxzZSBpZiAoY29udGVudExlbmd0aFZhbHVlID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBjb250ZW50TGVuZ3RoTnVtYmVyID0gcGFyc2VJbnQoY29udGVudExlbmd0aFZhbHVlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29udGVudC1MZW5ndGggaXMgbm90IGEgbnVtYmVyOiAke2NvbnRlbnRMZW5ndGhWYWx1ZX1gKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2UuYnl0ZUxlbmd0aCA+PSBjb250ZW50TGVuZ3RoTnVtYmVyKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZVJlc3BvbnNlKClcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVzcG9uc2UudG9TdHJpbmcoKVxuICAgICAgICBsZXQgbGluZUVuZEluZGV4ID0gcmVzcG9uc2UuaW5kZXhPZihcIlxcclxcblwiKVxuICAgICAgICBsZXQgbGluZUVuZExlbmd0aCA9IDJcblxuICAgICAgICBpZiAobGluZUVuZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGxpbmVFbmRJbmRleCA9IHJlc3BvbnNlLmluZGV4T2YoXCJcXG5cIilcbiAgICAgICAgICBsaW5lRW5kTGVuZ3RoID0gMVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbmVFbmRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBicmVhayAvLyBXZSBuZWVkIHRvIGdldCBmZWQgbW9yZSB0byBjb250aW51ZSByZWFkaW5nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbGluZSA9IHJlc3BvbnNlLnN1YnN0cmluZygwLCBsaW5lRW5kSW5kZXgpXG5cbiAgICAgICAgICB0aGlzLnJlc3BvbnNlID0gdGhpcy5yZXNwb25zZS5zbGljZShsaW5lRW5kSW5kZXggKyBsaW5lRW5kTGVuZ3RoKVxuXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT0gXCJzdGF0dXMtbGluZVwiKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXR1c0xpbmUgPSBsaW5lXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gXCJoZWFkZXJzXCJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdGUgPT0gXCJoZWFkZXJzXCIpIHtcbiAgICAgICAgICAgIGlmIChsaW5lID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMubWV0aG9kID09IFwiR0VUXCIgfHwgdGhpcy5tZXRob2QgPT0gXCJIRUFEXCIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlUmVzcG9uc2UoKVxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tZXRob2QgPT0gXCJQT1NUXCIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gXCJib2R5XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyTWF0Y2ggPSBsaW5lLm1hdGNoKC9eKC4rPyk6XFxzKiguKykkLylcblxuICAgICAgICAgICAgICBpZiAoIWhlYWRlck1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyOiAke2xpbmV9YClcblxuICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBuZXcgSGVhZGVyKGhlYWRlck1hdGNoWzFdLCBoZWFkZXJNYXRjaFsyXSlcblxuICAgICAgICAgICAgICB0aGlzLmhlYWRlcnMucHVzaChoZWFkZXIpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBzdGF0ZTogJHt0aGlzLnN0YXRlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVSZXNwb25zZSgpIHtcbiAgICB0aGlzLnN0YXRlID0gXCJkb25lXCJcbiAgICB0aGlzLm9uQ29tcGxldGUoKVxuICB9XG59XG4iXX0=
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvcmVzcG9uc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxNQUFNLENBQUMsT0FBTyxPQUFPLFFBQVE7SUFDM0I7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLFVBQVUsRUFBQztRQUN0QyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFFL0QsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFBO1FBRTFCLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixJQUFJLENBQUMsSUFBSTtRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFJO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBRTdDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFB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SyxRQUFRO1lBQUUsT0FBTyxrQkFBa0IsQ0FBQTtRQUNyRSxJQUFJLE9BQU8sa0JBQWtCLEtBQUssUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFL0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgSGVhZGVyIGZyb20gXCIuL2hlYWRlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm1ldGhvZFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiB2b2lkfSBhcmdzLm9uQ29tcGxldGVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHttZXRob2QgPSBcIkdFVFwiLCBvbkNvbXBsZXRlfSkge1xuICAgIGlmICghbWV0aG9kKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWV0aG9kIGdpdmVuOiAke21ldGhvZH1gKVxuXG4gICAgLyoqIEB0eXBlIHtIZWFkZXJbXX0gKi9cbiAgICB0aGlzLmhlYWRlcnMgPSBbXVxuXG4gICAgdGhpcy5tZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKS50cmltKClcbiAgICB0aGlzLm9uQ29tcGxldGUgPSBvbkNvbXBsZXRlXG4gICAgdGhpcy5zdGF0ZSA9IFwic3RhdHVzLWxpbmVcIlxuXG4gICAgLyoqIEB0eXBlIHtCdWZmZXJ9ICovXG4gICAgdGhpcy5yZXNwb25zZSA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSAqL1xuICBmZWVkKGRhdGEpIHtcbiAgICB0aGlzLnJlc3BvbnNlID0gQnVmZmVyLmNvbmNhdChbdGhpcy5yZXNwb25zZSwgZGF0YV0pXG4gICAgdGhpcy50cnlUb1BhcnNlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcmV0dXJucyB7SGVhZGVyfVxuICAgKi9cbiAgZ2V0SGVhZGVyKG5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKS50cmltKClcblxuICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIHRoaXMuaGVhZGVycykge1xuICAgICAgY29uc3QgaGVhZGVyQ29tcGFyZU5hbWUgPSBoZWFkZXIuZ2V0TmFtZSgpLnRvTG93ZXJDYXNlKCkudHJpbSgpXG5cbiAgICAgIGlmIChjb21wYXJlTmFtZSA9PSBoZWFkZXJDb21wYXJlTmFtZSkge1xuICAgICAgICByZXR1cm4gaGVhZGVyXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBIZWFkZXIgJHtuYW1lfSBub3QgZm91bmRgKVxuICB9XG5cbiAganNvbigpIHtcbiAgICBjb25zdCBjb250ZW50VHlwZUhlYWRlciA9IHRoaXMuZ2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIpPy5nZXRWYWx1ZSgpXG5cbiAgICBpZiAodHlwZW9mIGNvbnRlbnRUeXBlSGVhZGVyICE9IFwic3RyaW5nXCIpIHRocm93IG5ldyBFcnJvcihgQ29udGVudC1UeXBlIHdhc24ndCBhIHN0cmluZzogJHtjb250ZW50VHlwZUhlYWRlcn1gKVxuXG4gICAgaWYgKCFjb250ZW50VHlwZUhlYWRlci50b0xvd2VyQ2FzZSgpLnRyaW0oKS5zdGFydHNXaXRoKFwiYXBwbGljYXRpb24vanNvblwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb250ZW50LVR5cGUgaXMgbm90IEpTT046ICR7Y29udGVudFR5cGVIZWFkZXJ9YClcbiAgICB9XG5cbiAgICBjb25zdCBib2R5ID0gdGhpcy5yZXNwb25zZS50b1N0cmluZygpXG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoYm9keSlcblxuICAgIHJldHVybiBqc29uXG4gIH1cblxuICB0cnlUb1BhcnNlKCkge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAodGhpcy5zdGF0ZSA9PSBcImJvZHlcIikge1xuICAgICAgICBjb25zdCBjb250ZW50TGVuZ3RoTnVtYmVyID0gdGhpcy5fY29udGVudExlbmd0aE51bWJlcigpXG5cbiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2UuYnl0ZUxlbmd0aCA+PSBjb250ZW50TGVuZ3RoTnVtYmVyKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZVJlc3BvbnNlKClcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVzcG9uc2UudG9TdHJpbmcoKVxuICAgICAgICBsZXQgbGluZUVuZEluZGV4ID0gcmVzcG9uc2UuaW5kZXhPZihcIlxcclxcblwiKVxuICAgICAgICBsZXQgbGluZUVuZExlbmd0aCA9IDJcblxuICAgICAgICBpZiAobGluZUVuZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGxpbmVFbmRJbmRleCA9IHJlc3BvbnNlLmluZGV4T2YoXCJcXG5cIilcbiAgICAgICAgICBsaW5lRW5kTGVuZ3RoID0gMVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbmVFbmRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBicmVhayAvLyBXZSBuZWVkIHRvIGdldCBmZWQgbW9yZSB0byBjb250aW51ZSByZWFkaW5nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbGluZSA9IHJlc3BvbnNlLnN1YnN0cmluZygwLCBsaW5lRW5kSW5kZXgpXG5cbiAgICAgICAgICB0aGlzLnJlc3BvbnNlID0gdGhpcy5yZXNwb25zZS5zbGljZShsaW5lRW5kSW5kZXggKyBsaW5lRW5kTGVuZ3RoKVxuXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT0gXCJzdGF0dXMtbGluZVwiKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXR1c0xpbmUgPSBsaW5lXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gXCJoZWFkZXJzXCJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdGUgPT0gXCJoZWFkZXJzXCIpIHtcbiAgICAgICAgICAgIGlmIChsaW5lID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29udGVudExlbmd0aE51bWJlciA9IHRoaXMuX2NvbnRlbnRMZW5ndGhOdW1iZXIoKVxuXG4gICAgICAgICAgICAgIGlmICghY29udGVudExlbmd0aE51bWJlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVSZXNwb25zZSgpXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gXCJib2R5XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyTWF0Y2ggPSBsaW5lLm1hdGNoKC9eKC4rPyk6XFxzKiguKykkLylcblxuICAgICAgICAgICAgICBpZiAoIWhlYWRlck1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyOiAke2xpbmV9YClcblxuICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBuZXcgSGVhZGVyKGhlYWRlck1hdGNoWzFdLCBoZWFkZXJNYXRjaFsyXSlcblxuICAgICAgICAgICAgICB0aGlzLmhlYWRlcnMucHVzaChoZWFkZXIpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBzdGF0ZTogJHt0aGlzLnN0YXRlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVSZXNwb25zZSgpIHtcbiAgICB0aGlzLnN0YXRlID0gXCJkb25lXCJcbiAgICB0aGlzLm9uQ29tcGxldGUoKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBfY29udGVudExlbmd0aE51bWJlcigpIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLmhlYWRlcnMuZmluZCgoY3VycmVudEhlYWRlcikgPT4gY3VycmVudEhlYWRlci5nZXROYW1lKCkudG9Mb3dlckNhc2UoKSA9PSBcImNvbnRlbnQtbGVuZ3RoXCIpXG5cbiAgICBpZiAoIWhlYWRlcikgcmV0dXJuIDBcblxuICAgIGNvbnN0IGNvbnRlbnRMZW5ndGhWYWx1ZSA9IGhlYWRlci5nZXRWYWx1ZSgpXG5cbiAgICBpZiAodHlwZW9mIGNvbnRlbnRMZW5ndGhWYWx1ZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuIGNvbnRlbnRMZW5ndGhWYWx1ZVxuICAgIGlmICh0eXBlb2YgY29udGVudExlbmd0aFZhbHVlID09PSBcInN0cmluZ1wiKSByZXR1cm4gcGFyc2VJbnQoY29udGVudExlbmd0aFZhbHVlKVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb250ZW50LUxlbmd0aCBpcyBub3QgYSBudW1iZXI6ICR7Y29udGVudExlbmd0aFZhbHVlfWApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small websocket client that mirrors simple HTTP-style calls and channel subscriptions.
|
|
3
|
+
*/
|
|
4
|
+
export default class VelociousWebsocketClient {
|
|
5
|
+
/**
|
|
6
|
+
* @param {object} [args]
|
|
7
|
+
* @param {boolean} [args.debug]
|
|
8
|
+
* @param {string} [args.url] Full websocket URL (default: ws://127.0.0.1:3006/websocket)
|
|
9
|
+
*/
|
|
10
|
+
constructor({ debug, url }?: {
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
url?: string;
|
|
13
|
+
});
|
|
14
|
+
debug: boolean;
|
|
15
|
+
pendingRequests: Map<any, any>;
|
|
16
|
+
subscribedChannels: Set<any>;
|
|
17
|
+
url: string;
|
|
18
|
+
listeners: Map<any, any>;
|
|
19
|
+
nextID: number;
|
|
20
|
+
/**
|
|
21
|
+
* Ensure a websocket connection is open.
|
|
22
|
+
* @returns {Promise<void>}
|
|
23
|
+
*/
|
|
24
|
+
connect(): Promise<void>;
|
|
25
|
+
connectPromise: Promise<any>;
|
|
26
|
+
socket: WebSocket;
|
|
27
|
+
/**
|
|
28
|
+
* Close the websocket and clear pending state.
|
|
29
|
+
* @returns {Promise<void>}
|
|
30
|
+
*/
|
|
31
|
+
close(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Perform a POST request over the websocket.
|
|
34
|
+
* @param {string} path
|
|
35
|
+
* @param {any} [body]
|
|
36
|
+
* @param {{headers?: Record<string, string>}} [options]
|
|
37
|
+
* @returns {Promise<VelociousWebsocketResponse>}
|
|
38
|
+
*/
|
|
39
|
+
post(path: string, body?: any, options?: {
|
|
40
|
+
headers?: Record<string, string>;
|
|
41
|
+
}): Promise<VelociousWebsocketResponse>;
|
|
42
|
+
/**
|
|
43
|
+
* Perform a GET request over the websocket.
|
|
44
|
+
* @param {string} path
|
|
45
|
+
* @param {{headers?: Record<string, string>}} [options]
|
|
46
|
+
* @returns {Promise<VelociousWebsocketResponse>}
|
|
47
|
+
*/
|
|
48
|
+
get(path: string, options?: {
|
|
49
|
+
headers?: Record<string, string>;
|
|
50
|
+
}): Promise<VelociousWebsocketResponse>;
|
|
51
|
+
/**
|
|
52
|
+
* Subscribe to a channel for server-sent events.
|
|
53
|
+
* @param {string} channel
|
|
54
|
+
* @param {(payload: any) => void} callback
|
|
55
|
+
* @returns {() => void} unsubscribe function
|
|
56
|
+
*/
|
|
57
|
+
on(channel: string, callback: (payload: any) => void): () => void;
|
|
58
|
+
/**
|
|
59
|
+
* @private
|
|
60
|
+
* @param {string} method
|
|
61
|
+
* @param {string} path
|
|
62
|
+
* @param {object} [options]
|
|
63
|
+
* @param {any} [options.body]
|
|
64
|
+
* @param {Record<string, string>} [options.headers]
|
|
65
|
+
* @returns {Promise<VelociousWebsocketResponse>}
|
|
66
|
+
*/
|
|
67
|
+
private request;
|
|
68
|
+
/**
|
|
69
|
+
* @private
|
|
70
|
+
* @param {MessageEvent<any>} event
|
|
71
|
+
*/
|
|
72
|
+
private onMessage;
|
|
73
|
+
/**
|
|
74
|
+
* Reject all pending requests when the socket closes unexpectedly.
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
private onClose;
|
|
78
|
+
/**
|
|
79
|
+
* @private
|
|
80
|
+
* @param {Record<string, any>} payload
|
|
81
|
+
*/
|
|
82
|
+
private _sendMessage;
|
|
83
|
+
/**
|
|
84
|
+
* @private
|
|
85
|
+
* @param {...any} args
|
|
86
|
+
* @returns {void}
|
|
87
|
+
*/
|
|
88
|
+
private _debug;
|
|
89
|
+
}
|
|
90
|
+
declare class VelociousWebsocketResponse {
|
|
91
|
+
/**
|
|
92
|
+
* @param {object} message
|
|
93
|
+
*/
|
|
94
|
+
constructor(message: object);
|
|
95
|
+
body: any;
|
|
96
|
+
headers: any;
|
|
97
|
+
id: any;
|
|
98
|
+
statusCode: any;
|
|
99
|
+
statusMessage: any;
|
|
100
|
+
type: any;
|
|
101
|
+
/** @returns {any} */
|
|
102
|
+
json(): any;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
105
|
+
//# sourceMappingURL=websocket-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACE;;;;OAIG;IACH,6BAHG;QAAuB,KAAK,GAApB,OAAO;QACO,GAAG,GAAjB,MAAM;KAChB,EAUA;IANC,eAAkB;IAClB,+BAAgC;IAChC,6BAAmC;IACnC,YAAiD;IACjD,yBAA0B;IAC1B,eAAe;IAGjB;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAzBC,6BAsBE;IArBA,kBAAqC;IA0BzC;;;OAGG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;;OAMG;IACH,WALW,MAAM,SACN,GAAG,YACH;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAI/C;IAED;;;;;OAKG;IACH,UAJW,MAAM,YACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAI/C;IAED;;;;;OAKG;IACH,YAJW,MAAM,YACN,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GACpB,MAAM,IAAI,CAyBtB;IAED;;;;;;;;OAQG;IACH,gBAiBC;IAED;;;OAGG;IACH,kBA6CC;IAED;;;OAGG;IACH,gBAOC;IAED;;;OAGG;IACH,qBASC;IAED;;;;OAIG;IACH,eAIC;CACF;AAED;IACE;;OAEG;IACH,qBAFW,MAAM,EAShB;IANC,UAAwB;IACxB,aAAoC;IACpC,QAAoB;IACpB,gBAA2C;IAC3C,mBAAkD;IAClD,UAAwB;IAG1B,qBAAqB;IACrB,QADc,GAAG,CAOhB;CACF"}
|