@pixui-dev/pxw 0.1.16
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/bin/pxw.js +217 -0
- package/bin/wpbuild.js +10 -0
- package/config/default.conf +21 -0
- package/config/devops.js +358 -0
- package/config/h5es.js +10 -0
- package/config/index.html +181 -0
- package/config/pfbs.js +207 -0
- package/config/testhelp.js +0 -0
- package/config/util.js +140 -0
- package/config/webpack.js +291 -0
- package/lib/assets/border.png +0 -0
- package/lib/assets/check.html +62 -0
- package/lib/assets/pixui.png +0 -0
- package/lib/assets/preact.js +4354 -0
- package/lib/assets/preact.png +0 -0
- package/lib/check/main.less +63 -0
- package/lib/check/main.tsx +41 -0
- package/lib/check/tool.js +3 -0
- package/lib/check/util.tsx +110 -0
- package/lib/grpc-web/dist/ChunkParser.js +117 -0
- package/lib/grpc-web/dist/ChunkParser.js.map +1 -0
- package/lib/grpc-web/dist/Code.js +58 -0
- package/lib/grpc-web/dist/Code.js.map +1 -0
- package/lib/grpc-web/dist/client.js +299 -0
- package/lib/grpc-web/dist/client.js.map +1 -0
- package/lib/grpc-web/dist/debug.js +16 -0
- package/lib/grpc-web/dist/debug.js.map +1 -0
- package/lib/grpc-web/dist/detach.js +7 -0
- package/lib/grpc-web/dist/detach.js.map +1 -0
- package/lib/grpc-web/dist/index.js +29 -0
- package/lib/grpc-web/dist/index.js.map +1 -0
- package/lib/grpc-web/dist/invoke.js +32 -0
- package/lib/grpc-web/dist/invoke.js.map +1 -0
- package/lib/grpc-web/dist/message.js +3 -0
- package/lib/grpc-web/dist/message.js.map +1 -0
- package/lib/grpc-web/dist/metadata.js +5 -0
- package/lib/grpc-web/dist/metadata.js.map +1 -0
- package/lib/grpc-web/dist/service.js +3 -0
- package/lib/grpc-web/dist/service.js.map +1 -0
- package/lib/grpc-web/dist/transports/Transport.js +15 -0
- package/lib/grpc-web/dist/transports/Transport.js.map +1 -0
- package/lib/grpc-web/dist/transports/http/fetch.js +117 -0
- package/lib/grpc-web/dist/transports/http/fetch.js.map +1 -0
- package/lib/grpc-web/dist/transports/http/http.js +15 -0
- package/lib/grpc-web/dist/transports/http/http.js.map +1 -0
- package/lib/grpc-web/dist/transports/http/xhr.js +136 -0
- package/lib/grpc-web/dist/transports/http/xhr.js.map +1 -0
- package/lib/grpc-web/dist/transports/http/xhrUtil.js +36 -0
- package/lib/grpc-web/dist/transports/http/xhrUtil.js.map +1 -0
- package/lib/grpc-web/dist/transports/websocket/websocket.js +95 -0
- package/lib/grpc-web/dist/transports/websocket/websocket.js.map +1 -0
- package/lib/grpc-web/dist/typings/ChunkParser.d.ts +17 -0
- package/lib/grpc-web/dist/typings/Code.d.ts +20 -0
- package/lib/grpc-web/dist/typings/client.d.ts +25 -0
- package/lib/grpc-web/dist/typings/debug.d.ts +1 -0
- package/lib/grpc-web/dist/typings/detach.d.ts +1 -0
- package/lib/grpc-web/dist/typings/index.d.ts +45 -0
- package/lib/grpc-web/dist/typings/invoke.d.ts +20 -0
- package/lib/grpc-web/dist/typings/message.d.ts +8 -0
- package/lib/grpc-web/dist/typings/metadata.d.ts +2 -0
- package/lib/grpc-web/dist/typings/service.d.ts +16 -0
- package/lib/grpc-web/dist/typings/transports/Transport.d.ts +22 -0
- package/lib/grpc-web/dist/typings/transports/http/fetch.d.ts +6 -0
- package/lib/grpc-web/dist/typings/transports/http/http.d.ts +5 -0
- package/lib/grpc-web/dist/typings/transports/http/xhr.d.ts +27 -0
- package/lib/grpc-web/dist/typings/transports/http/xhrUtil.d.ts +3 -0
- package/lib/grpc-web/dist/typings/transports/websocket/websocket.d.ts +2 -0
- package/lib/grpc-web/dist/typings/unary.d.ts +23 -0
- package/lib/grpc-web/dist/typings/util.d.ts +2 -0
- package/lib/grpc-web/dist/unary.js +44 -0
- package/lib/grpc-web/dist/unary.js.map +1 -0
- package/lib/grpc-web/dist/util.js +11 -0
- package/lib/grpc-web/dist/util.js.map +1 -0
- package/lib/grpcTransport/PixHttp2Transport.ts +107 -0
- package/lib/grpcTransport/PixLuaTransport.ts +82 -0
- package/lib/h5es-types/v1.9.2/h5es.d.ts +1698 -0
- package/lib/h5es-types/v3.5.0/h5es.d.ts +1788 -0
- package/lib/pi_component/tinyList/tinyList.js +483 -0
- package/lib/pi_component/tinyList/tinyList.tsx +517 -0
- package/lib/pika-svelte/compiler.js +29829 -0
- package/lib/pika-svelte/easing/index.js +158 -0
- package/lib/pika-svelte/index.js +72 -0
- package/lib/pika-svelte/internal/index.js +1926 -0
- package/lib/pika-svelte/motion/index.js +210 -0
- package/lib/pika-svelte/package.json +145 -0
- package/lib/pika-svelte/register.js +57 -0
- package/lib/pika-svelte/rollup.config.js +126 -0
- package/lib/pika-svelte/store/index.js +123 -0
- package/lib/pika-svelte/transition/index.js +185 -0
- package/lib/preact-router.js +395 -0
- package/lib/preact.js +4355 -0
- package/lib/preact.tq.js +4385 -0
- package/lib/react-window/src/FixedSizeGrid.js +172 -0
- package/lib/react-window/src/FixedSizeList.js +91 -0
- package/lib/react-window/src/VariableSizeGrid.js +329 -0
- package/lib/react-window/src/VariableSizeList.js +231 -0
- package/lib/react-window/src/__tests__/FixedSizeGrid.js +942 -0
- package/lib/react-window/src/__tests__/FixedSizeList.js +749 -0
- package/lib/react-window/src/__tests__/VariableSizeGrid.js +598 -0
- package/lib/react-window/src/__tests__/VariableSizeList.js +345 -0
- package/lib/react-window/src/__tests__/__snapshots__/FixedSizeGrid.js.snap +912 -0
- package/lib/react-window/src/__tests__/__snapshots__/FixedSizeList.js.snap +568 -0
- package/lib/react-window/src/__tests__/__snapshots__/VariableSizeGrid.js.snap +542 -0
- package/lib/react-window/src/__tests__/__snapshots__/VariableSizeList.js.snap +331 -0
- package/lib/react-window/src/__tests__/areEqual.js +28 -0
- package/lib/react-window/src/__tests__/shouldComponentUpdate.js +32 -0
- package/lib/react-window/src/areEqual.js +13 -0
- package/lib/react-window/src/createGridComponent.js +657 -0
- package/lib/react-window/src/createListComponent.js +574 -0
- package/lib/react-window/src/domHelpers.js +69 -0
- package/lib/react-window/src/index.js +9 -0
- package/lib/react-window/src/shallowDiffers.js +17 -0
- package/lib/react-window/src/shouldComponentUpdate.js +11 -0
- package/lib/react-window/src/test.js.flow +382 -0
- package/lib/react-window/src/timer.js +36 -0
- package/lib/svelte-tab/Tab.svelte +31 -0
- package/lib/svelte-tab/TabList.svelte +10 -0
- package/lib/svelte-tab/TabPanel.svelte +13 -0
- package/lib/svelte-tab/Tabs.svelte +68 -0
- package/lib/svelte-tab/tabs.js +4 -0
- package/lib/types/css.d.ts +7476 -0
- package/lib/types/dom.ts +17 -0
- package/lib/types/ext.d.ts +81 -0
- package/lib/types/internal.d.ts +94 -0
- package/lib/types/jsx.d.ts +309 -0
- package/lib/types/preact.d.ts +340 -0
- package/package.json +111 -0
- package/tsconfig.json +30 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __extends =
|
|
3
|
+
(this && this.__extends) ||
|
|
4
|
+
(function () {
|
|
5
|
+
var extendStatics = function (d, b) {
|
|
6
|
+
extendStatics =
|
|
7
|
+
Object.setPrototypeOf ||
|
|
8
|
+
({ __proto__: [] } instanceof Array &&
|
|
9
|
+
function (d, b) {
|
|
10
|
+
d.__proto__ = b;
|
|
11
|
+
}) ||
|
|
12
|
+
function (d, b) {
|
|
13
|
+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
14
|
+
};
|
|
15
|
+
return extendStatics(d, b);
|
|
16
|
+
};
|
|
17
|
+
return function (d, b) {
|
|
18
|
+
extendStatics(d, b);
|
|
19
|
+
function __() {
|
|
20
|
+
this.constructor = d;
|
|
21
|
+
}
|
|
22
|
+
d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
26
|
+
var metadata_1 = require('../../metadata');
|
|
27
|
+
var debug_1 = require('../../debug');
|
|
28
|
+
var xhrUtil_1 = require('./xhrUtil');
|
|
29
|
+
function XhrTransport(init) {
|
|
30
|
+
return function (opts) {
|
|
31
|
+
if (xhrUtil_1.detectMozXHRSupport()) {
|
|
32
|
+
return new MozChunkedArrayBufferXHR(opts, init);
|
|
33
|
+
}
|
|
34
|
+
else if (xhrUtil_1.detectXHROverrideMimeTypeSupport()) {
|
|
35
|
+
return new XHR(opts, init);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new Error('This environment\'s XHR implementation cannot support binary transfer.');
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
exports.XhrTransport = XhrTransport;
|
|
43
|
+
var XHR = (function () {
|
|
44
|
+
function XHR(transportOptions, init) {
|
|
45
|
+
this.options = transportOptions;
|
|
46
|
+
this.init = init;
|
|
47
|
+
}
|
|
48
|
+
XHR.prototype.onProgressEvent = function () {
|
|
49
|
+
this.options.debug && debug_1.debug('XHR.onProgressEvent.length: ', this.xhr.response.length);
|
|
50
|
+
var rawText = this.xhr.response.substr(this.index);
|
|
51
|
+
this.index = this.xhr.response.length;
|
|
52
|
+
var asArrayBuffer = stringToArrayBuffer(rawText);
|
|
53
|
+
this.options.onChunk(asArrayBuffer);
|
|
54
|
+
};
|
|
55
|
+
XHR.prototype.onLoadEvent = function () {
|
|
56
|
+
this.options.debug && debug_1.debug('XHR.onLoadEvent');
|
|
57
|
+
this.options.onEnd();
|
|
58
|
+
};
|
|
59
|
+
XHR.prototype.onStateChange = function () {
|
|
60
|
+
this.options.debug && debug_1.debug('XHR.onStateChange', this.xhr.readyState);
|
|
61
|
+
if (this.xhr.readyState === XMLHttpRequest.HEADERS_RECEIVED) {
|
|
62
|
+
this.options.onHeaders(new metadata_1.Metadata(this.xhr.getAllResponseHeaders()), this.xhr.status);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
XHR.prototype.sendMessage = function (msgBytes) {
|
|
66
|
+
this.xhr.send(msgBytes);
|
|
67
|
+
};
|
|
68
|
+
XHR.prototype.finishSend = function () {};
|
|
69
|
+
XHR.prototype.start = function (metadata) {
|
|
70
|
+
var _this = this;
|
|
71
|
+
this.metadata = metadata;
|
|
72
|
+
var xhr = new XMLHttpRequest();
|
|
73
|
+
this.xhr = xhr;
|
|
74
|
+
xhr.open('POST', this.options.url);
|
|
75
|
+
this.configureXhr();
|
|
76
|
+
this.metadata.forEach(function (key, values) {
|
|
77
|
+
xhr.setRequestHeader(key, values.join(', '));
|
|
78
|
+
});
|
|
79
|
+
xhr.withCredentials = Boolean(this.init.withCredentials);
|
|
80
|
+
xhr.addEventListener('readystatechange', this.onStateChange.bind(this));
|
|
81
|
+
xhr.addEventListener('progress', this.onProgressEvent.bind(this));
|
|
82
|
+
xhr.addEventListener('loadend', this.onLoadEvent.bind(this));
|
|
83
|
+
xhr.addEventListener('error', function (err) {
|
|
84
|
+
_this.options.debug && debug_1.debug('XHR.error', err);
|
|
85
|
+
_this.options.onEnd(err.error);
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
XHR.prototype.configureXhr = function () {
|
|
89
|
+
this.xhr.responseType = 'text';
|
|
90
|
+
this.xhr.overrideMimeType('text/plain; charset=x-user-defined');
|
|
91
|
+
};
|
|
92
|
+
XHR.prototype.cancel = function () {
|
|
93
|
+
this.options.debug && debug_1.debug('XHR.abort');
|
|
94
|
+
this.xhr.abort();
|
|
95
|
+
};
|
|
96
|
+
return XHR;
|
|
97
|
+
})();
|
|
98
|
+
exports.XHR = XHR;
|
|
99
|
+
var MozChunkedArrayBufferXHR = (function (_super) {
|
|
100
|
+
__extends(MozChunkedArrayBufferXHR, _super);
|
|
101
|
+
function MozChunkedArrayBufferXHR() {
|
|
102
|
+
return (_super !== null && _super.apply(this, arguments)) || this;
|
|
103
|
+
}
|
|
104
|
+
MozChunkedArrayBufferXHR.prototype.configureXhr = function () {
|
|
105
|
+
this.options.debug && debug_1.debug('MozXHR.configureXhr: setting responseType to \'moz-chunked-arraybuffer\'');
|
|
106
|
+
this.xhr.responseType = 'moz-chunked-arraybuffer';
|
|
107
|
+
};
|
|
108
|
+
MozChunkedArrayBufferXHR.prototype.onProgressEvent = function () {
|
|
109
|
+
var resp = this.xhr.response;
|
|
110
|
+
this.options.debug && debug_1.debug('MozXHR.onProgressEvent: ', new Uint8Array(resp));
|
|
111
|
+
this.options.onChunk(new Uint8Array(resp));
|
|
112
|
+
};
|
|
113
|
+
return MozChunkedArrayBufferXHR;
|
|
114
|
+
})(XHR);
|
|
115
|
+
exports.MozChunkedArrayBufferXHR = MozChunkedArrayBufferXHR;
|
|
116
|
+
function codePointAtPolyfill(str, index) {
|
|
117
|
+
var code = str.charCodeAt(index);
|
|
118
|
+
if (code >= 0xd800 && code <= 0xdbff) {
|
|
119
|
+
var surr = str.charCodeAt(index + 1);
|
|
120
|
+
if (surr >= 0xdc00 && surr <= 0xdfff) {
|
|
121
|
+
code = 0x10000 + ((code - 0xd800) << 10) + (surr - 0xdc00);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return code;
|
|
125
|
+
}
|
|
126
|
+
function stringToArrayBuffer(str) {
|
|
127
|
+
var asArray = new Uint8Array(str.length);
|
|
128
|
+
var arrayIndex = 0;
|
|
129
|
+
for (var i = 0; i < str.length; i++) {
|
|
130
|
+
var codePoint = String.prototype.codePointAt ? str.codePointAt(i) : codePointAtPolyfill(str, i);
|
|
131
|
+
asArray[arrayIndex++] = codePoint & 0xff;
|
|
132
|
+
}
|
|
133
|
+
return asArray;
|
|
134
|
+
}
|
|
135
|
+
exports.stringToArrayBuffer = stringToArrayBuffer;
|
|
136
|
+
//# sourceMappingURL=xhr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../../src/transports/http/xhr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3
|
+
var xhr;
|
|
4
|
+
function getXHR() {
|
|
5
|
+
if (xhr !== undefined) return xhr;
|
|
6
|
+
if (XMLHttpRequest) {
|
|
7
|
+
xhr = new XMLHttpRequest();
|
|
8
|
+
try {
|
|
9
|
+
xhr.open('GET', 'https://localhost');
|
|
10
|
+
}
|
|
11
|
+
catch (e) {}
|
|
12
|
+
}
|
|
13
|
+
return xhr;
|
|
14
|
+
}
|
|
15
|
+
function xhrSupportsResponseType(type) {
|
|
16
|
+
var xhr = getXHR();
|
|
17
|
+
if (!xhr) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
xhr.responseType = type;
|
|
22
|
+
return xhr.responseType === type;
|
|
23
|
+
}
|
|
24
|
+
catch (e) {}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
exports.xhrSupportsResponseType = xhrSupportsResponseType;
|
|
28
|
+
function detectMozXHRSupport() {
|
|
29
|
+
return typeof XMLHttpRequest !== 'undefined' && xhrSupportsResponseType('moz-chunked-arraybuffer');
|
|
30
|
+
}
|
|
31
|
+
exports.detectMozXHRSupport = detectMozXHRSupport;
|
|
32
|
+
function detectXHROverrideMimeTypeSupport() {
|
|
33
|
+
return typeof XMLHttpRequest !== 'undefined' && XMLHttpRequest.prototype.hasOwnProperty('overrideMimeType');
|
|
34
|
+
}
|
|
35
|
+
exports.detectXHROverrideMimeTypeSupport = detectXHROverrideMimeTypeSupport;
|
|
36
|
+
//# sourceMappingURL=xhrUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xhrUtil.js","sourceRoot":"","sources":["../../../src/transports/http/xhrUtil.ts"],"names":[],"mappings":";;AAAA,IAAI,GAAmB,CAAC;AAExB,SAAS,MAAM;IACb,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAElC,IAAI,cAAc,EAAE;QAClB,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3B,IAAI;YACF,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;SACrC;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAY;IAClD,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,KAAK,CAAC;KACd;IACD,IAAI;QACD,GAAW,CAAC,YAAY,GAAG,IAAI,CAAC;QACjC,OAAO,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE,GAAE;IACd,OAAO,KAAK,CAAA;AACd,CAAC;AAVD,0DAUC;AAED,SAAgB,mBAAmB;IACjC,OAAO,OAAO,cAAc,KAAK,WAAW,IAAI,uBAAuB,CAAC,yBAAyB,CAAC,CAAA;AACpG,CAAC;AAFD,kDAEC;AAED,SAAgB,gCAAgC;IAC9C,OAAO,OAAO,cAAc,KAAK,WAAW,IAAI,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;AAC7G,CAAC;AAFD,4EAEC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3
|
+
var debug_1 = require('../../debug');
|
|
4
|
+
var ChunkParser_1 = require('../../ChunkParser');
|
|
5
|
+
var WebsocketSignal;
|
|
6
|
+
(function (WebsocketSignal) {
|
|
7
|
+
WebsocketSignal[(WebsocketSignal['FINISH_SEND'] = 1)] = 'FINISH_SEND';
|
|
8
|
+
})(WebsocketSignal || (WebsocketSignal = {}));
|
|
9
|
+
var finishSendFrame = new Uint8Array([1]);
|
|
10
|
+
function WebsocketTransport() {
|
|
11
|
+
return function (opts) {
|
|
12
|
+
return websocketRequest(opts);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.WebsocketTransport = WebsocketTransport;
|
|
16
|
+
function websocketRequest(options) {
|
|
17
|
+
options.debug && debug_1.debug('websocketRequest', options);
|
|
18
|
+
var webSocketAddress = constructWebSocketAddress(options.url);
|
|
19
|
+
var sendQueue = [];
|
|
20
|
+
var ws;
|
|
21
|
+
function sendToWebsocket(toSend) {
|
|
22
|
+
if (toSend === WebsocketSignal.FINISH_SEND) {
|
|
23
|
+
ws.send(finishSendFrame);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
options.debug && debug_1.debug('sendToWebsocket', toSend);
|
|
27
|
+
var byteArray = toSend;
|
|
28
|
+
var c = new Int8Array(byteArray.byteLength + 1);
|
|
29
|
+
c.set(new Uint8Array([0]));
|
|
30
|
+
c.set(byteArray, 1);
|
|
31
|
+
ws.send(c);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
sendMessage: function (msgBytes) {
|
|
36
|
+
if (!ws || ws.readyState === ws.CONNECTING) {
|
|
37
|
+
sendQueue.push(msgBytes);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
sendToWebsocket(msgBytes);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
finishSend: function () {
|
|
44
|
+
if (!ws || ws.readyState === ws.CONNECTING) {
|
|
45
|
+
sendQueue.push(WebsocketSignal.FINISH_SEND);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
sendToWebsocket(WebsocketSignal.FINISH_SEND);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
start: function (metadata) {
|
|
52
|
+
ws = new WebSocket(webSocketAddress, ['grpc-websockets']);
|
|
53
|
+
ws.binaryType = 'arraybuffer';
|
|
54
|
+
ws.onopen = function () {
|
|
55
|
+
options.debug && debug_1.debug('websocketRequest.onopen');
|
|
56
|
+
ws.send(headersToBytes(metadata));
|
|
57
|
+
sendQueue.forEach(function (toSend) {
|
|
58
|
+
sendToWebsocket(toSend);
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
ws.onclose = function (closeEvent) {
|
|
62
|
+
options.debug && debug_1.debug('websocketRequest.onclose', closeEvent);
|
|
63
|
+
options.onEnd();
|
|
64
|
+
};
|
|
65
|
+
ws.onerror = function (error) {
|
|
66
|
+
options.debug && debug_1.debug('websocketRequest.onerror', error);
|
|
67
|
+
};
|
|
68
|
+
ws.onmessage = function (e) {
|
|
69
|
+
options.debug && debug_1.debug('ws.onmessage', e.data);
|
|
70
|
+
options.onChunk(new Uint8Array(e.data));
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
cancel: function () {
|
|
74
|
+
options.debug && debug_1.debug('websocket.abort');
|
|
75
|
+
ws.close();
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function constructWebSocketAddress(url) {
|
|
80
|
+
if (url.substr(0, 8) === 'https://') {
|
|
81
|
+
return 'wss://' + url.substr(8);
|
|
82
|
+
}
|
|
83
|
+
else if (url.substr(0, 7) === 'http://') {
|
|
84
|
+
return 'ws://' + url.substr(7);
|
|
85
|
+
}
|
|
86
|
+
throw new Error('Websocket transport constructed with non-https:// or http:// host.');
|
|
87
|
+
}
|
|
88
|
+
function headersToBytes(headers) {
|
|
89
|
+
var asString = '';
|
|
90
|
+
headers.forEach(function (key, values) {
|
|
91
|
+
asString += key + ': ' + values.join(', ') + '\r\n';
|
|
92
|
+
});
|
|
93
|
+
return ChunkParser_1.encodeASCII(asString);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=websocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Metadata } from './metadata';
|
|
2
|
+
export declare function decodeASCII(input: Uint8Array): string;
|
|
3
|
+
export declare function encodeASCII(input: string): Uint8Array;
|
|
4
|
+
export declare enum ChunkType {
|
|
5
|
+
MESSAGE = 1,
|
|
6
|
+
TRAILERS = 2,
|
|
7
|
+
}
|
|
8
|
+
export declare type Chunk = {
|
|
9
|
+
chunkType: ChunkType;
|
|
10
|
+
trailers?: Metadata;
|
|
11
|
+
data?: Uint8Array;
|
|
12
|
+
};
|
|
13
|
+
export declare class ChunkParser {
|
|
14
|
+
buffer: Uint8Array | null;
|
|
15
|
+
position: number;
|
|
16
|
+
parse(bytes: Uint8Array, flush?: boolean): Chunk[];
|
|
17
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare enum Code {
|
|
2
|
+
OK = 0,
|
|
3
|
+
Canceled = 1,
|
|
4
|
+
Unknown = 2,
|
|
5
|
+
InvalidArgument = 3,
|
|
6
|
+
DeadlineExceeded = 4,
|
|
7
|
+
NotFound = 5,
|
|
8
|
+
AlreadyExists = 6,
|
|
9
|
+
PermissionDenied = 7,
|
|
10
|
+
ResourceExhausted = 8,
|
|
11
|
+
FailedPrecondition = 9,
|
|
12
|
+
Aborted = 10,
|
|
13
|
+
OutOfRange = 11,
|
|
14
|
+
Unimplemented = 12,
|
|
15
|
+
Internal = 13,
|
|
16
|
+
Unavailable = 14,
|
|
17
|
+
DataLoss = 15,
|
|
18
|
+
Unauthenticated = 16,
|
|
19
|
+
}
|
|
20
|
+
export declare function httpStatusToCode(httpStatus: number): Code;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Metadata } from './metadata';
|
|
2
|
+
import { Code } from './Code';
|
|
3
|
+
import { TransportFactory } from './transports/Transport';
|
|
4
|
+
import { MethodDefinition } from './service';
|
|
5
|
+
import { ProtobufMessage } from './message';
|
|
6
|
+
export interface RpcOptions {
|
|
7
|
+
transport?: TransportFactory;
|
|
8
|
+
debug?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ClientRpcOptions extends RpcOptions {
|
|
11
|
+
host: string;
|
|
12
|
+
}
|
|
13
|
+
export interface Client<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> {
|
|
14
|
+
start(metadata?: Metadata.ConstructorArg): void;
|
|
15
|
+
send(message: TRequest): void;
|
|
16
|
+
finishSend(): void;
|
|
17
|
+
close(): void;
|
|
18
|
+
onHeaders(callback: (headers: Metadata) => void): void;
|
|
19
|
+
onMessage(callback: (message: TResponse) => void): void;
|
|
20
|
+
onEnd(callback: (code: Code, message: string, trailers: Metadata) => void): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function client<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage, M extends MethodDefinition<TRequest, TResponse>>(
|
|
23
|
+
methodDescriptor: M,
|
|
24
|
+
props: ClientRpcOptions,
|
|
25
|
+
): Client<TRequest, TResponse>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function debug(...args: any[]): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function detach(cb: () => void): void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { BrowserHeaders } from 'browser-headers';
|
|
2
|
+
import * as impTransport from './transports/Transport';
|
|
3
|
+
import * as impTransportFetch from './transports/http/fetch';
|
|
4
|
+
import * as impTransportWebSocket from './transports/websocket/websocket';
|
|
5
|
+
import * as impTransportXhr from './transports/http/xhr';
|
|
6
|
+
import * as impTransportHttp from './transports/http/http';
|
|
7
|
+
import * as impCode from './Code';
|
|
8
|
+
import * as impInvoke from './invoke';
|
|
9
|
+
import * as impUnary from './unary';
|
|
10
|
+
import * as impClient from './client';
|
|
11
|
+
import * as impService from './service';
|
|
12
|
+
import * as impMessage from './message';
|
|
13
|
+
export declare namespace grpc {
|
|
14
|
+
interface ProtobufMessageClass<T extends ProtobufMessage> extends impMessage.ProtobufMessageClass<T> {}
|
|
15
|
+
interface ProtobufMessage extends impMessage.ProtobufMessage {}
|
|
16
|
+
interface Transport extends impTransport.Transport {}
|
|
17
|
+
interface TransportOptions extends impTransport.TransportOptions {}
|
|
18
|
+
interface TransportFactory extends impTransport.TransportFactory {}
|
|
19
|
+
const setDefaultTransport: typeof impTransport.setDefaultTransportFactory;
|
|
20
|
+
const CrossBrowserHttpTransport: typeof impTransportHttp.CrossBrowserHttpTransport;
|
|
21
|
+
interface CrossBrowserHttpTransportInit extends impTransportHttp.CrossBrowserHttpTransportInit {}
|
|
22
|
+
const FetchReadableStreamTransport: typeof impTransportFetch.FetchReadableStreamTransport;
|
|
23
|
+
interface FetchReadableStreamInit extends impTransportFetch.FetchTransportInit {}
|
|
24
|
+
const XhrTransport: typeof impTransportXhr.XhrTransport;
|
|
25
|
+
interface XhrTransportInit extends impTransportXhr.XhrTransportInit {}
|
|
26
|
+
const WebsocketTransport: typeof impTransportWebSocket.WebsocketTransport;
|
|
27
|
+
interface UnaryMethodDefinition<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends impService.UnaryMethodDefinition<TRequest, TResponse> {}
|
|
28
|
+
interface MethodDefinition<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends impService.MethodDefinition<TRequest, TResponse> {}
|
|
29
|
+
interface ServiceDefinition extends impService.ServiceDefinition {}
|
|
30
|
+
export import Code = impCode.Code;
|
|
31
|
+
export import Metadata = BrowserHeaders;
|
|
32
|
+
interface Client<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends impClient.Client<TRequest, TResponse> {}
|
|
33
|
+
function client<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage, M extends MethodDefinition<TRequest, TResponse>>(
|
|
34
|
+
methodDescriptor: M,
|
|
35
|
+
props: ClientRpcOptions,
|
|
36
|
+
): Client<TRequest, TResponse>;
|
|
37
|
+
interface RpcOptions extends impClient.RpcOptions {}
|
|
38
|
+
interface ClientRpcOptions extends impClient.ClientRpcOptions {}
|
|
39
|
+
const invoke: typeof impInvoke.invoke;
|
|
40
|
+
interface Request extends impInvoke.Request {}
|
|
41
|
+
interface InvokeRpcOptions<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends impInvoke.InvokeRpcOptions<TRequest, TResponse> {}
|
|
42
|
+
const unary: typeof impUnary.unary;
|
|
43
|
+
interface UnaryOutput<TResponse extends ProtobufMessage> extends impUnary.UnaryOutput<TResponse> {}
|
|
44
|
+
interface UnaryRpcOptions<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends impUnary.UnaryRpcOptions<TRequest, TResponse> {}
|
|
45
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Code } from './Code';
|
|
2
|
+
import { MethodDefinition } from './service';
|
|
3
|
+
import { Metadata } from './metadata';
|
|
4
|
+
import { RpcOptions } from './client';
|
|
5
|
+
import { ProtobufMessage } from './message';
|
|
6
|
+
export interface Request {
|
|
7
|
+
close: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface InvokeRpcOptions<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends RpcOptions {
|
|
10
|
+
host: string;
|
|
11
|
+
request: TRequest;
|
|
12
|
+
metadata?: Metadata.ConstructorArg;
|
|
13
|
+
onHeaders?: (headers: Metadata) => void;
|
|
14
|
+
onMessage?: (res: TResponse) => void;
|
|
15
|
+
onEnd: (code: Code, message: string, trailers: Metadata) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function invoke<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage, M extends MethodDefinition<TRequest, TResponse>>(
|
|
18
|
+
methodDescriptor: M,
|
|
19
|
+
props: InvokeRpcOptions<TRequest, TResponse>,
|
|
20
|
+
): Request;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ProtobufMessage, ProtobufMessageClass } from './message';
|
|
2
|
+
export interface ServiceDefinition {
|
|
3
|
+
serviceName: string;
|
|
4
|
+
}
|
|
5
|
+
export interface MethodDefinition<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> {
|
|
6
|
+
methodName: string;
|
|
7
|
+
service: ServiceDefinition;
|
|
8
|
+
requestStream: boolean;
|
|
9
|
+
responseStream: boolean;
|
|
10
|
+
requestType: ProtobufMessageClass<TRequest>;
|
|
11
|
+
responseType: ProtobufMessageClass<TResponse>;
|
|
12
|
+
}
|
|
13
|
+
export interface UnaryMethodDefinition<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends MethodDefinition<TRequest, TResponse> {
|
|
14
|
+
requestStream: false;
|
|
15
|
+
responseStream: false;
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Metadata } from '../metadata';
|
|
2
|
+
import { MethodDefinition } from '../service';
|
|
3
|
+
import { ProtobufMessage } from '../message';
|
|
4
|
+
export interface Transport {
|
|
5
|
+
sendMessage(msgBytes: Uint8Array): void;
|
|
6
|
+
finishSend(): void;
|
|
7
|
+
cancel(): void;
|
|
8
|
+
start(metadata: Metadata): void;
|
|
9
|
+
}
|
|
10
|
+
export declare function setDefaultTransportFactory(t: TransportFactory): void;
|
|
11
|
+
export declare function makeDefaultTransport(options: TransportOptions): Transport;
|
|
12
|
+
export interface TransportOptions {
|
|
13
|
+
methodDefinition: MethodDefinition<ProtobufMessage, ProtobufMessage>;
|
|
14
|
+
debug: boolean;
|
|
15
|
+
url: string;
|
|
16
|
+
onHeaders: (headers: Metadata, status: number) => void;
|
|
17
|
+
onChunk: (chunkBytes: Uint8Array, flush?: boolean) => void;
|
|
18
|
+
onEnd: (err?: Error) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface TransportFactory {
|
|
21
|
+
(options: TransportOptions): Transport;
|
|
22
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TransportFactory } from '../Transport';
|
|
2
|
+
declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
3
|
+
export declare type FetchTransportInit = Omit<RequestInit, 'headers' | 'method' | 'body' | 'signal'>;
|
|
4
|
+
export declare function FetchReadableStreamTransport(init: FetchTransportInit): TransportFactory;
|
|
5
|
+
export declare function detectFetchSupport(): boolean;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Metadata } from '../../metadata';
|
|
2
|
+
import { Transport, TransportFactory, TransportOptions } from '../Transport';
|
|
3
|
+
export interface XhrTransportInit {
|
|
4
|
+
withCredentials?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function XhrTransport(init: XhrTransportInit): TransportFactory;
|
|
7
|
+
export declare class XHR implements Transport {
|
|
8
|
+
options: TransportOptions;
|
|
9
|
+
init: XhrTransportInit;
|
|
10
|
+
xhr: XMLHttpRequest;
|
|
11
|
+
metadata: Metadata;
|
|
12
|
+
index: 0;
|
|
13
|
+
constructor(transportOptions: TransportOptions, init: XhrTransportInit);
|
|
14
|
+
onProgressEvent(): void;
|
|
15
|
+
onLoadEvent(): void;
|
|
16
|
+
onStateChange(): void;
|
|
17
|
+
sendMessage(msgBytes: Uint8Array): void;
|
|
18
|
+
finishSend(): void;
|
|
19
|
+
start(metadata: Metadata): void;
|
|
20
|
+
protected configureXhr(): void;
|
|
21
|
+
cancel(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class MozChunkedArrayBufferXHR extends XHR {
|
|
24
|
+
protected configureXhr(): void;
|
|
25
|
+
onProgressEvent(): void;
|
|
26
|
+
}
|
|
27
|
+
export declare function stringToArrayBuffer(str: string): Uint8Array;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Metadata } from './metadata';
|
|
2
|
+
import { Code } from './Code';
|
|
3
|
+
import { UnaryMethodDefinition } from './service';
|
|
4
|
+
import { Request } from './invoke';
|
|
5
|
+
import { RpcOptions } from './client';
|
|
6
|
+
import { ProtobufMessage } from './message';
|
|
7
|
+
export interface UnaryOutput<TResponse> {
|
|
8
|
+
status: Code;
|
|
9
|
+
statusMessage: string;
|
|
10
|
+
headers: Metadata;
|
|
11
|
+
message: TResponse | null;
|
|
12
|
+
trailers: Metadata;
|
|
13
|
+
}
|
|
14
|
+
export interface UnaryRpcOptions<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage> extends RpcOptions {
|
|
15
|
+
host: string;
|
|
16
|
+
request: TRequest;
|
|
17
|
+
metadata?: Metadata.ConstructorArg;
|
|
18
|
+
onEnd: (output: UnaryOutput<TResponse>) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function unary<TRequest extends ProtobufMessage, TResponse extends ProtobufMessage, M extends UnaryMethodDefinition<TRequest, TResponse>>(
|
|
21
|
+
methodDescriptor: M,
|
|
22
|
+
props: UnaryRpcOptions<TRequest, TResponse>,
|
|
23
|
+
): Request;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3
|
+
var metadata_1 = require('./metadata');
|
|
4
|
+
var client_1 = require('./client');
|
|
5
|
+
function unary(methodDescriptor, props) {
|
|
6
|
+
if (methodDescriptor.responseStream) {
|
|
7
|
+
throw new Error('.unary cannot be used with server-streaming methods. Use .invoke or .client instead.');
|
|
8
|
+
}
|
|
9
|
+
if (methodDescriptor.requestStream) {
|
|
10
|
+
throw new Error('.unary cannot be used with client-streaming methods. Use .client instead.');
|
|
11
|
+
}
|
|
12
|
+
var responseHeaders = null;
|
|
13
|
+
var responseMessage = null;
|
|
14
|
+
var grpcClient = client_1.client(methodDescriptor, {
|
|
15
|
+
host: props.host,
|
|
16
|
+
transport: props.transport,
|
|
17
|
+
debug: props.debug,
|
|
18
|
+
});
|
|
19
|
+
grpcClient.onHeaders(function (headers) {
|
|
20
|
+
responseHeaders = headers;
|
|
21
|
+
});
|
|
22
|
+
grpcClient.onMessage(function (res) {
|
|
23
|
+
responseMessage = res;
|
|
24
|
+
});
|
|
25
|
+
grpcClient.onEnd(function (status, statusMessage, trailers) {
|
|
26
|
+
props.onEnd({
|
|
27
|
+
status: status,
|
|
28
|
+
statusMessage: statusMessage,
|
|
29
|
+
headers: responseHeaders ? responseHeaders : new metadata_1.Metadata(),
|
|
30
|
+
message: responseMessage,
|
|
31
|
+
trailers: trailers,
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
grpcClient.start(props.metadata);
|
|
35
|
+
grpcClient.send(props.request);
|
|
36
|
+
grpcClient.finishSend();
|
|
37
|
+
return {
|
|
38
|
+
close: function () {
|
|
39
|
+
grpcClient.close();
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
exports.unary = unary;
|
|
44
|
+
//# sourceMappingURL=unary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unary.js","sourceRoot":"","sources":["../src/unary.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAIpC,mCAA4C;AAkB5C,SAAgB,KAAK,CAA4H,gBAAmB,EAAE,KAA2C;IAC/M,IAAI,gBAAgB,CAAC,cAAc,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;KACzG;IACD,IAAI,gBAAgB,CAAC,aAAa,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;KAC9F;IACD,IAAI,eAAe,GAAoB,IAAI,CAAC;IAC5C,IAAI,eAAe,GAAqB,IAAI,CAAC;IAG7C,IAAM,UAAU,GAAG,eAAM,CAAC,gBAAgB,EAAE;QAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,UAAU,CAAC,SAAS,CAAC,UAAC,OAAiB;QACrC,eAAe,GAAG,OAAO,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,SAAS,CAAC,UAAC,GAAc;QAClC,eAAe,GAAG,GAAG,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,KAAK,CAAC,UAAC,MAAY,EAAE,aAAqB,EAAE,QAAkB;QACvE,KAAK,CAAC,KAAK,CAAC;YACV,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,mBAAQ,EAAE;YAC3D,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,UAAU,CAAC,UAAU,EAAE,CAAC;IAExB,OAAO;QACL,KAAK,EAAE;YACL,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAzCD,sBAyCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
3
|
+
function frameRequest(request) {
|
|
4
|
+
var bytes = request.serializeBinary();
|
|
5
|
+
var frame = new ArrayBuffer(bytes.byteLength + 5);
|
|
6
|
+
new DataView(frame, 1, 4).setUint32(0, bytes.length, false);
|
|
7
|
+
new Uint8Array(frame, 5).set(bytes);
|
|
8
|
+
return new Uint8Array(frame);
|
|
9
|
+
}
|
|
10
|
+
exports.frameRequest = frameRequest;
|
|
11
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAEA,SAAgB,YAAY,CAAC,OAAwB;IACnD,IAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAkB,CAAC;IAC7E,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAND,oCAMC"}
|