@tdengine/websocket 3.1.0 → 3.1.2
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/lib/example/all_type_query.d.ts +2 -0
- package/lib/example/all_type_query.d.ts.map +1 -0
- package/lib/example/all_type_query.js +89 -0
- package/lib/example/all_type_stmt.d.ts +2 -0
- package/lib/example/all_type_stmt.d.ts.map +1 -0
- package/lib/example/all_type_stmt.js +130 -0
- package/lib/example/basicBatchTmq.d.ts +2 -0
- package/lib/example/basicBatchTmq.d.ts.map +1 -0
- package/lib/example/basicBatchTmq.js +129 -0
- package/lib/example/basicSql.js +9 -7
- package/lib/example/basicStmt.js +34 -20
- package/lib/example/basicTmq.js +22 -20
- package/lib/example/logs/.007e668bb78549e9a304b8466671945ab2a1553e-audit.json +15 -0
- package/lib/example/logs/app-2024-10-12.log.gz +0 -0
- package/lib/example/logs/app-2024-11-06.log +542 -0
- package/lib/example/test.d.ts +2 -0
- package/lib/example/test.d.ts.map +1 -0
- package/lib/example/test.js +88 -0
- package/lib/src/client/wsClient.d.ts +2 -5
- package/lib/src/client/wsClient.d.ts.map +1 -1
- package/lib/src/client/wsClient.js +4 -54
- package/lib/src/client/wsConnector.js +3 -3
- package/lib/src/client/wsResponse.d.ts +10 -15
- package/lib/src/client/wsResponse.d.ts.map +1 -1
- package/lib/src/client/wsResponse.js +31 -19
- package/lib/src/common/constant.d.ts +23 -1
- package/lib/src/common/constant.d.ts.map +1 -1
- package/lib/src/common/constant.js +25 -22
- package/lib/src/common/log.js +1 -1
- package/lib/src/common/taosResult.d.ts +11 -5
- package/lib/src/common/taosResult.d.ts.map +1 -1
- package/lib/src/common/taosResult.js +106 -76
- package/lib/src/common/utils.d.ts +2 -0
- package/lib/src/common/utils.d.ts.map +1 -1
- package/lib/src/common/utils.js +34 -1
- package/lib/src/sql/wsRows.d.ts.map +1 -1
- package/lib/src/sql/wsRows.js +21 -10
- package/lib/src/sql/wsSql.d.ts.map +1 -1
- package/lib/src/sql/wsSql.js +29 -19
- package/lib/src/stmt/wsParams.js +40 -40
- package/lib/src/tmq/constant.d.ts +15 -0
- package/lib/src/tmq/constant.d.ts.map +1 -1
- package/lib/src/tmq/constant.js +17 -1
- package/lib/src/tmq/tmqResponse.d.ts +20 -8
- package/lib/src/tmq/tmqResponse.d.ts.map +1 -1
- package/lib/src/tmq/tmqResponse.js +214 -89
- package/lib/src/tmq/wsTmq.d.ts +0 -1
- package/lib/src/tmq/wsTmq.d.ts.map +1 -1
- package/lib/src/tmq/wsTmq.js +18 -32
- package/lib/test/bulkPulling/log.test.d.ts +2 -0
- package/lib/test/bulkPulling/log.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/log.test.js +44 -0
- package/lib/test/bulkPulling/schemaless.test.js +7 -6
- package/lib/test/bulkPulling/sql.test.js +38 -18
- package/lib/test/bulkPulling/stmt.func.test.js +72 -56
- package/lib/test/bulkPulling/stmt.type.test.js +1 -5
- package/lib/test/bulkPulling/tmq.test.js +22 -15
- package/lib/test/bulkPulling/wsConnectPool.test.js +9 -2
- package/lib/test/utils.d.ts +0 -1
- package/lib/test/utils.d.ts.map +1 -1
- package/lib/test/utils.js +17 -17
- package/package.json +2 -2
|
@@ -15,8 +15,9 @@ const topics = ['topic_ws_bean'];
|
|
|
15
15
|
let createTopic = `create topic if not exists ${topics[0]} as select * from ${db}.${stable}`;
|
|
16
16
|
let dropTopic = `DROP TOPIC IF EXISTS ${topics[0]};`;
|
|
17
17
|
// let dropTopic2 = `DROP TOPIC IF EXISTS ${topic2};`
|
|
18
|
+
let dsn = 'ws://root:taosdata@localhost:6041';
|
|
19
|
+
let tmqDsn = 'ws://localhost:6041';
|
|
18
20
|
beforeAll(async () => {
|
|
19
|
-
let dsn = 'ws://root:taosdata@localhost:6041';
|
|
20
21
|
let conf = new config_1.WSConfig(dsn);
|
|
21
22
|
const createDB = `create database if not exists ${db} keep 3650`;
|
|
22
23
|
const dropDB = `drop database if exists ${db}`;
|
|
@@ -59,7 +60,7 @@ describe('TDWebSocket.Tmq()', () => {
|
|
|
59
60
|
[constant_1.TMQConstants.CONNECT_PASS, "taosdata"],
|
|
60
61
|
[constant_1.TMQConstants.AUTO_OFFSET_RESET, "earliest"],
|
|
61
62
|
[constant_1.TMQConstants.CLIENT_ID, 'test_tmq_client'],
|
|
62
|
-
[constant_1.TMQConstants.WS_URL,
|
|
63
|
+
[constant_1.TMQConstants.WS_URL, tmqDsn],
|
|
63
64
|
[constant_1.TMQConstants.ENABLE_AUTO_COMMIT, 'true'],
|
|
64
65
|
[constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS, '1000']
|
|
65
66
|
]);
|
|
@@ -77,7 +78,7 @@ describe('TDWebSocket.Tmq()', () => {
|
|
|
77
78
|
[constant_1.TMQConstants.CONNECT_PASS, "test"],
|
|
78
79
|
[constant_1.TMQConstants.AUTO_OFFSET_RESET, "earliest1"],
|
|
79
80
|
[constant_1.TMQConstants.CLIENT_ID, 'test_tmq_client'],
|
|
80
|
-
[constant_1.TMQConstants.WS_URL,
|
|
81
|
+
[constant_1.TMQConstants.WS_URL, tmqDsn],
|
|
81
82
|
[constant_1.TMQConstants.ENABLE_AUTO_COMMIT, 'true'],
|
|
82
83
|
[constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS, '1000']
|
|
83
84
|
]);
|
|
@@ -100,7 +101,7 @@ describe('TDWebSocket.Tmq()', () => {
|
|
|
100
101
|
await consumer.subscribe(topics);
|
|
101
102
|
let assignment = await consumer.assignment();
|
|
102
103
|
console.log(assignment);
|
|
103
|
-
let counts =
|
|
104
|
+
let counts = 0;
|
|
104
105
|
let useTime = [];
|
|
105
106
|
for (let i = 0; i < 5; i++) {
|
|
106
107
|
let startTime = new Date().getTime();
|
|
@@ -108,13 +109,14 @@ describe('TDWebSocket.Tmq()', () => {
|
|
|
108
109
|
let currTime = new Date().getTime();
|
|
109
110
|
useTime.push(Math.abs(currTime - startTime));
|
|
110
111
|
for (let [key, value] of res) {
|
|
112
|
+
console.log(key, value.getMeta());
|
|
111
113
|
let data = value.getData();
|
|
112
|
-
if (data) {
|
|
113
|
-
|
|
114
|
+
if (data == null || data.length == 0) {
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
for (let record of data) {
|
|
118
|
+
console.log("-----===>>", record);
|
|
114
119
|
}
|
|
115
|
-
}
|
|
116
|
-
if (res.size == 0) {
|
|
117
|
-
break;
|
|
118
120
|
}
|
|
119
121
|
// await Sleep(100)
|
|
120
122
|
}
|
|
@@ -125,25 +127,30 @@ describe('TDWebSocket.Tmq()', () => {
|
|
|
125
127
|
let currTime = new Date().getTime();
|
|
126
128
|
useTime.push(Math.abs(currTime - startTime));
|
|
127
129
|
for (let [key, value] of res) {
|
|
130
|
+
console.log(key, value.getMeta());
|
|
128
131
|
let data = value.getData();
|
|
129
|
-
if (data) {
|
|
130
|
-
|
|
132
|
+
if (data == null || data.length == 0) {
|
|
133
|
+
break;
|
|
131
134
|
}
|
|
132
|
-
|
|
133
|
-
if (res.size == 0) {
|
|
134
|
-
break;
|
|
135
|
+
counts += data.length;
|
|
135
136
|
}
|
|
136
137
|
// await Sleep(100)
|
|
137
138
|
}
|
|
139
|
+
let topicArray = await consumer.subscription();
|
|
140
|
+
expect(topics.length).toEqual(topicArray.length);
|
|
141
|
+
for (let index = 0; index < topicArray.length; index++) {
|
|
142
|
+
expect(topics[index]).toEqual(topicArray[index]);
|
|
143
|
+
}
|
|
138
144
|
assignment = await consumer.commit();
|
|
139
145
|
console.log(assignment);
|
|
140
146
|
assignment = await consumer.committed(assignment);
|
|
147
|
+
assignment = await consumer.commitOffsets(assignment);
|
|
141
148
|
console.log(assignment);
|
|
142
149
|
await consumer.unsubscribe();
|
|
143
150
|
await consumer.close();
|
|
144
151
|
console.log("------------->", useTime);
|
|
145
152
|
console.log("------------->", counts);
|
|
146
|
-
expect(counts).toEqual(
|
|
153
|
+
expect(counts).toEqual(10);
|
|
147
154
|
});
|
|
148
155
|
test('Topic not exist', async () => {
|
|
149
156
|
let consumer = await wsTmq_1.WsConsumer.newConsumer(configMap);
|
|
@@ -6,6 +6,7 @@ const reqid_1 = require("../../src/common/reqid");
|
|
|
6
6
|
const wsSql_1 = require("../../src/sql/wsSql");
|
|
7
7
|
const constant_1 = require("../../src/tmq/constant");
|
|
8
8
|
const wsTmq_1 = require("../../src/tmq/wsTmq");
|
|
9
|
+
let dsn = 'ws://root:taosdata@localhost:6041';
|
|
9
10
|
let tags = ['California.SanFrancisco', 3];
|
|
10
11
|
let multi = [
|
|
11
12
|
[1709183268567, 1709183268568, 1709183268569],
|
|
@@ -78,7 +79,14 @@ async function tmqConnect() {
|
|
|
78
79
|
await consumer.subscribe(topics);
|
|
79
80
|
let res = await consumer.poll(500);
|
|
80
81
|
for (let [key, value] of res) {
|
|
81
|
-
console.log(key, value);
|
|
82
|
+
console.log(key, value.getMeta());
|
|
83
|
+
let data = value.getData();
|
|
84
|
+
if (data == null || data.length == 0) {
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
for (let record of data) {
|
|
88
|
+
console.log(record);
|
|
89
|
+
}
|
|
82
90
|
}
|
|
83
91
|
await consumer.commit();
|
|
84
92
|
let assignment = await consumer.assignment();
|
|
@@ -97,7 +105,6 @@ async function tmqConnect() {
|
|
|
97
105
|
}
|
|
98
106
|
}
|
|
99
107
|
beforeAll(async () => {
|
|
100
|
-
let dsn = 'ws://root:taosdata@localhost:6041';
|
|
101
108
|
let conf = new config_1.WSConfig(dsn);
|
|
102
109
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
103
110
|
await ws.exec(createTopic, reqid_1.ReqId.getReqID());
|
package/lib/test/utils.d.ts
CHANGED
|
@@ -13,6 +13,5 @@ export declare function createSTableJSON(stable: string): string;
|
|
|
13
13
|
export declare function createTable(table: string): string;
|
|
14
14
|
export declare function expectStableData(rows: Array<Array<any>>, tags: Array<any>): Array<Array<any>>;
|
|
15
15
|
export declare function hexToBytes(hex: string): ArrayBuffer;
|
|
16
|
-
export declare function createStmtData(varbinary?: string, geoHex?: string): Array<Array<any>>;
|
|
17
16
|
export declare function compareUint8Arrays(arr1: Uint8Array, arr2: Uint8Array): boolean;
|
|
18
17
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/test/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIxD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAapG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAgB,GAAG,MAAM,CAkCzH;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAqB7E;AAGD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,YAAY,CAsFzC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,YAAY,CAMxC,CAAA;AACD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,YAAY,CAkEvC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AACD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnD;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAM7F;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAQnD;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIxD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAapG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAgB,GAAG,MAAM,CAkCzH;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAqB7E;AAGD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,YAAY,CAsFzC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,YAAY,CAMxC,CAAA;AACD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,YAAY,CAkEvC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AACD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnD;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAM7F;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAQnD;AAqBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAY9E"}
|
package/lib/test/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.compareUint8Arrays = exports.
|
|
6
|
+
exports.compareUint8Arrays = exports.hexToBytes = exports.expectStableData = exports.createTable = exports.createSTableJSON = exports.createSTable = exports.createBaseTable = exports.createBaseSTableJSON = exports.createBaseSTable = exports.tagMeta = exports.jsonMeta = exports.tableMeta = exports.insertNTable = exports.insertStable = exports.getInsertBind = void 0;
|
|
7
7
|
const log_1 = __importDefault(require("../src/common/log"));
|
|
8
8
|
function getInsertBind(valuesLen, tagsLen, db, stable) {
|
|
9
9
|
let sql = `insert into ? using ${db}.${stable} tags ( ?`;
|
|
@@ -286,22 +286,22 @@ function hexToBytes(hex) {
|
|
|
286
286
|
return a.buffer;
|
|
287
287
|
}
|
|
288
288
|
exports.hexToBytes = hexToBytes;
|
|
289
|
-
function createStmtData(varbinary = "ab",
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
289
|
+
// export function createStmtData(varbinary:string = "ab",
|
|
290
|
+
// geoHex:string = "0101000020E6100000000000000000F03F0000000000000040"):Array<Array<any>> {
|
|
291
|
+
// let multi:any[][] = [
|
|
292
|
+
// [1709183268567, 1709183268568, 1709183268569],
|
|
293
|
+
// [10.2, 10.3, 10.4],
|
|
294
|
+
// [292, 293, 294],
|
|
295
|
+
// [0.32, 0.33, 0.34],
|
|
296
|
+
// ];
|
|
297
|
+
// let res = hexToBytes(geoHex)
|
|
298
|
+
// let geom = Array.from(new Uint8Array(res))
|
|
299
|
+
// multi.push([geom, geom, geom])
|
|
300
|
+
// res = new TextEncoder().encode(varbinary)
|
|
301
|
+
// let binary = Array.from(new Uint8Array(res))
|
|
302
|
+
// multi.push([binary, binary, binary])
|
|
303
|
+
// return multi
|
|
304
|
+
// }
|
|
305
305
|
function compareUint8Arrays(arr1, arr2) {
|
|
306
306
|
if (arr1.length !== arr2.length) {
|
|
307
307
|
log_1.default.debug(`${arr1.length} !== ${arr2.length}`);
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tdengine/websocket",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "TDengine Connector for nodejs and browser using WebSocket.",
|
|
5
5
|
"source": "index.ts",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
|
-
"module": "lib/
|
|
7
|
+
"module": "lib/index.js",
|
|
8
8
|
"types": "lib/index.d.ts",
|
|
9
9
|
"directories": {
|
|
10
10
|
"example": "example",
|