@azure/web-pubsub-client-protobuf 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -0
- package/dist/index.js +4392 -0
- package/dist/index.js.map +1 -0
- package/dist-esm/samples-dev/basicusage.js +63 -0
- package/dist-esm/samples-dev/basicusage.js.map +1 -0
- package/dist-esm/src/generated/clientProto.js +4137 -0
- package/dist-esm/src/index.js +17 -0
- package/dist-esm/src/index.js.map +1 -0
- package/dist-esm/src/logger.js +8 -0
- package/dist-esm/src/logger.js.map +1 -0
- package/dist-esm/src/webPubSubProtobufProtocol.js +33 -0
- package/dist-esm/src/webPubSubProtobufProtocol.js.map +1 -0
- package/dist-esm/src/webPubSubProtobufProtocolBase.js +187 -0
- package/dist-esm/src/webPubSubProtobufProtocolBase.js.map +1 -0
- package/dist-esm/src/webPubSubProtobufReliableProtocol.js +33 -0
- package/dist-esm/src/webPubSubProtobufReliableProtocol.js.map +1 -0
- package/dist-esm/test/client.spec.js +294 -0
- package/dist-esm/test/client.spec.js.map +1 -0
- package/package.json +123 -0
- package/types/web-pubsub-client-protobuf.d.ts +13 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.spec.js","sourceRoot":"","sources":["../../test/client.spec.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n AckMessage,\n ConnectedMessage,\n DisconnectedMessage,\n GroupDataMessage,\n JoinGroupMessage,\n LeaveGroupMessage,\n SendEventMessage,\n SendToGroupMessage,\n SequenceAckMessage,\n ServerDataMessage,\n WebPubSubMessage,\n} from \"@azure/web-pubsub-client\";\nimport { WebPubSubProtobufProtocol } from \"../src/index\";\nimport { assert } from \"chai\";\n\ndescribe(\"WebPubSubClient\", function () {\n const protocol = WebPubSubProtobufProtocol();\n\n describe(\"WriteMessage upstream messages\", () => {\n const tests = [\n {\n testName: \"JoinGroup1\",\n message: { kind: \"joinGroup\", group: \"group\" } as JoinGroupMessage,\n payload: \"MgcKBWdyb3Vw\",\n },\n {\n testName: \"JoinGroup2\",\n message: { kind: \"joinGroup\", group: \"group\", ackId: 44133 } as JoinGroupMessage,\n payload: \"MgsKBWdyb3VwEOXYAg==\",\n },\n {\n testName: \"leaveGroup1\",\n message: { kind: \"leaveGroup\", group: \"group\" } as LeaveGroupMessage,\n payload: \"OgcKBWdyb3Vw\",\n },\n {\n testName: \"leaveGroup2\",\n message: { kind: \"leaveGroup\", group: \"group\", ackId: 12345 } as LeaveGroupMessage,\n payload: \"OgoKBWdyb3VwELlg\",\n },\n {\n testName: \"sendToGroup1\",\n message: {\n kind: \"sendToGroup\",\n group: \"group\",\n data: \"xzy\",\n dataType: \"text\",\n } as SendToGroupMessage,\n payload: \"Cg4KBWdyb3VwGgUKA3h6eQ==\",\n },\n {\n testName: \"sendToGroup2\",\n message: {\n kind: \"sendToGroup\",\n group: \"group\",\n data: { value: \"xzy\" },\n dataType: \"json\",\n ackId: 12345,\n noEcho: true,\n } as SendToGroupMessage,\n payload: \"Ch8KBWdyb3VwELlgGhEiD3sidmFsdWUiOiJ4enkifSAB\",\n },\n {\n testName: \"sendToGroup3\",\n message: {\n kind: \"sendToGroup\",\n group: \"group\",\n data: new TextEncoder().encode(\"xyz\").buffer,\n dataType: \"binary\",\n ackId: 12345,\n noEcho: true,\n } as SendToGroupMessage,\n payload: \"ChMKBWdyb3VwELlgGgUSA3h5eiAB\",\n },\n {\n testName: \"sendToGroup4\",\n message: {\n kind: \"sendToGroup\",\n group: \"group\",\n data: { type_url: \"example\", value: new TextEncoder().encode(\"xyz\").buffer },\n dataType: \"protobuf\",\n ackId: 12345,\n noEcho: true,\n } as SendToGroupMessage,\n payload: \"Ch4KBWdyb3VwELlgGhAaDgoHZXhhbXBsZRIDeHl6IAE=\",\n },\n {\n testName: \"sendEvent1\",\n message: {\n kind: \"sendEvent\",\n event: \"event\",\n data: \"xzy\",\n dataType: \"text\",\n } as SendEventMessage,\n payload: \"Kg4KBWV2ZW50EgUKA3h6eQ==\",\n },\n {\n testName: \"sendEvent2\",\n message: {\n kind: \"sendEvent\",\n event: \"event\",\n data: { value: \"xzy\" },\n dataType: \"json\",\n ackId: 12345,\n } as SendEventMessage,\n payload: \"Kh0KBWV2ZW50EhEiD3sidmFsdWUiOiJ4enkifRi5YA==\",\n },\n {\n testName: \"sendEvent3\",\n message: {\n kind: \"sendEvent\",\n event: \"event\",\n data: new TextEncoder().encode(\"xyz\").buffer,\n dataType: \"binary\",\n ackId: 12345,\n } as SendEventMessage,\n payload: \"KhEKBWV2ZW50EgUSA3h5ehi5YA==\",\n },\n {\n testName: \"sendEvent4\",\n message: {\n kind: \"sendEvent\",\n event: \"event\",\n data: { type_url: \"example\", value: new TextEncoder().encode(\"xyz\").buffer },\n dataType: \"protobuf\",\n ackId: 12345,\n } as SendEventMessage,\n payload: \"KhwKBWV2ZW50EhAaDgoHZXhhbXBsZRIDeHl6GLlg\",\n },\n {\n testName: \"seqAck1\",\n message: { kind: \"sequenceAck\", sequenceId: 123456 } as SequenceAckMessage,\n payload: \"QgQIwMQH\",\n },\n ];\n\n tests.forEach(({ testName, message, payload }) => {\n it(`write message test ${testName}`, () => {\n const writeMessage = protocol.writeMessage(message) as ArrayBuffer;\n assert.equal(arrayBufferToBase64(writeMessage), payload);\n });\n });\n\n function arrayBufferToBase64(buffer: ArrayBuffer): string {\n return Buffer.from(buffer).toString(\"base64\");\n }\n });\n\n describe(\"Parse downstream messages\", () => {\n const tests = [\n {\n testName: \"ack1\",\n message: \"CgQIexAB\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"ack\");\n msg = msg as AckMessage;\n assert.equal(msg.ackId, 123);\n assert.equal(msg.success, true);\n assert.isUndefined(msg.error);\n },\n },\n {\n testName: \"ack2\",\n message: \"ChoIexAAGhQKCUZvcmJpZGRlbhIHbWVzc2FnZQ==\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"ack\");\n msg = msg as AckMessage;\n assert.equal(msg.ackId, 123);\n assert.equal(msg.success, false);\n assert.equal(msg.error!.name, \"Forbidden\");\n assert.equal(msg.error!.message, \"message\");\n },\n },\n {\n testName: \"group1\",\n message: \"EhwKBWdyb3VwEglncm91cE5hbWUaBQoDeHl6ILlg\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"groupData\");\n msg = msg as GroupDataMessage;\n assert.equal(msg.group, \"groupName\");\n assert.equal(msg.sequenceId, 12345);\n assert.equal(msg.dataType, \"text\");\n assert.equal(msg.data, \"xyz\");\n },\n },\n {\n testName: \"group2\",\n message: \"EiUKBWdyb3VwEglncm91cE5hbWUaESIPeyJ2YWx1ZSI6Inh5eiJ9\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"groupData\");\n msg = msg as GroupDataMessage;\n assert.equal(msg.group, \"groupName\");\n assert.isNull(msg.sequenceId);\n assert.equal(msg.dataType, \"json\");\n assert.deepEqual(msg.data, { value: \"xyz\" });\n },\n },\n {\n testName: \"group3\",\n message: \"EhkKBWdyb3VwEglncm91cE5hbWUaBRIDeHl6\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"groupData\");\n msg = msg as GroupDataMessage;\n assert.equal(msg.group, \"groupName\");\n assert.isNull(msg.sequenceId);\n assert.equal(msg.dataType, \"binary\");\n assert.equal(new TextDecoder().decode(msg.data as ArrayBuffer), \"xyz\");\n },\n },\n {\n testName: \"group4\",\n message: \"EiQKBWdyb3VwEglncm91cE5hbWUaEBoOCgdleGFtcGxlEgN4eXo=\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"groupData\");\n msg = msg as GroupDataMessage;\n assert.equal(msg.group, \"groupName\");\n assert.isNull(msg.sequenceId);\n assert.equal(msg.dataType, \"protobuf\");\n assert.equal((msg.data as any).type_url, \"example\");\n assert.equal(new TextDecoder().decode((msg.data as any).value as ArrayBuffer), \"xyz\");\n },\n },\n {\n testName: \"event1\",\n message: \"EhIKBnNlcnZlchoFCgN4eXoguWA=\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"serverData\");\n msg = msg as ServerDataMessage;\n assert.equal(msg.sequenceId, 12345);\n assert.equal(msg.dataType, \"text\");\n assert.equal(msg.data, \"xyz\");\n },\n },\n {\n testName: \"event2\",\n message: \"EhsKBnNlcnZlchoRIg97InZhbHVlIjoieHl6In0=\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"serverData\");\n msg = msg as ServerDataMessage;\n assert.isNull(msg.sequenceId);\n assert.equal(msg.dataType, \"json\");\n assert.deepEqual(msg.data, { value: \"xyz\" });\n },\n },\n {\n testName: \"event3\",\n message: \"Eg8KBnNlcnZlchoFEgN4eXo=\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"serverData\");\n msg = msg as ServerDataMessage;\n assert.isNull(msg.sequenceId);\n assert.equal(msg.dataType, \"binary\");\n assert.equal(new TextDecoder().decode(msg.data as ArrayBuffer), \"xyz\");\n },\n },\n {\n testName: \"event4\",\n message: \"EhoKBnNlcnZlchoQGg4KB2V4YW1wbGUSA3h5eg==\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"serverData\");\n msg = msg as ServerDataMessage;\n assert.isNull(msg.sequenceId);\n assert.equal(msg.dataType, \"protobuf\");\n assert.equal((msg.data as any).type_url, \"example\");\n assert.equal(new TextDecoder().decode((msg.data as any).value as ArrayBuffer), \"xyz\");\n },\n },\n {\n testName: \"system1\",\n message: \"GhQKEgoKY29ubmVjdGlvbhIEdXNlcg==\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"connected\");\n msg = msg as ConnectedMessage;\n assert.equal(msg.userId, \"user\");\n assert.equal(msg.connectionId, \"connection\");\n assert.isEmpty(msg.reconnectionToken);\n },\n },\n {\n testName: \"system2\",\n message: \"GhkKFwoKY29ubmVjdGlvbhIEdXNlchoDcmVj\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"connected\");\n msg = msg as ConnectedMessage;\n assert.equal(msg.userId, \"user\");\n assert.equal(msg.connectionId, \"connection\");\n assert.equal(msg.reconnectionToken, \"rec\");\n },\n },\n {\n testName: \"system3\",\n message: \"GgcSBRIDbXNn\",\n assertFunc: (msg: WebPubSubMessage) => {\n assert.equal(msg.kind, \"disconnected\");\n msg = msg as DisconnectedMessage;\n assert.equal(msg.message, \"msg\");\n },\n },\n ];\n\n tests.forEach(({ testName, message, assertFunc }) => {\n it(`parse message test ${testName}`, () => {\n const buffer = Buffer.from(message, \"base64\");\n const parsedMsg = protocol.parseMessages(buffer);\n assertFunc(parsedMsg!);\n });\n });\n });\n});\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@azure/web-pubsub-client-protobuf",
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
4
|
+
"description": "Azure Web PubSub Client Protobuf",
|
|
5
|
+
"sdk-type": "client",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist-esm/src/index.js",
|
|
8
|
+
"browser": {
|
|
9
|
+
"buffer": "buffer"
|
|
10
|
+
},
|
|
11
|
+
"types": "types/web-pubsub-client-protobuf.d.ts",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit",
|
|
14
|
+
"build:browser": "npm run build-protobuf && tsc -p . && npm run copy-files && dev-tool run bundle",
|
|
15
|
+
"build:node": "npm run build-protobuf && tsc -p . && npm run copy-files && dev-tool run bundle",
|
|
16
|
+
"build:samples": "dev-tool samples publish -f",
|
|
17
|
+
"build:test": "npm run build-protobuf && tsc -p . && npm run copy-files && dev-tool run bundle",
|
|
18
|
+
"build": "npm run clean && npm run build-protobuf && tsc -p . && npm run copy-files && dev-tool run bundle && api-extractor run --local",
|
|
19
|
+
"copy-files": "copyfiles ./src/generated/clientProto.js ./dist-esm/",
|
|
20
|
+
"build-protobuf": "pbjs -t static-module -w es6 -o ./src/generated/clientProto.js ./src/protos/client.proto && pbts -o ./src/generated/clientProto.d.ts ./src/generated/clientProto.js",
|
|
21
|
+
"check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
|
|
22
|
+
"format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
|
|
23
|
+
"clean": "rimraf dist dist-esm test-dist temp types *.tgz *.log",
|
|
24
|
+
"execute:samples": "dev-tool samples run samples-dev",
|
|
25
|
+
"extract-api": "tsc -p . && api-extractor run --local",
|
|
26
|
+
"integration-test:browser": "echo skipped",
|
|
27
|
+
"integration-test:node": "echo skipped",
|
|
28
|
+
"integration-test": "npm run integration-test:node && npm run integration-test:browser",
|
|
29
|
+
"lint:fix": "eslint package.json api-extractor.json README.md src test --ext .ts,.javascript,.js --fix --fix-type [problem,suggestion]",
|
|
30
|
+
"lint": "eslint package.json api-extractor.json README.md src test --ext .ts,.javascript,.js",
|
|
31
|
+
"pack": "npm pack 2>&1",
|
|
32
|
+
"test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser",
|
|
33
|
+
"test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node",
|
|
34
|
+
"test": "npm run build:test && npm run unit-test && npm run integration-test",
|
|
35
|
+
"unit-test:browser": "echo skipped",
|
|
36
|
+
"unit-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --full-trace \"test/{,!(browser)/**/}*.spec.ts\"",
|
|
37
|
+
"unit-test": "npm run unit-test:node && npm run unit-test:browser"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"dist/",
|
|
41
|
+
"dist-esm/",
|
|
42
|
+
"types/web-pubsub-client-protobuf.d.ts",
|
|
43
|
+
"types/web-pubsub-client-protobuf.d.ts.map",
|
|
44
|
+
"README.md",
|
|
45
|
+
"LICENSE"
|
|
46
|
+
],
|
|
47
|
+
"repository": "github:Azure/azure-sdk-for-js",
|
|
48
|
+
"keywords": [
|
|
49
|
+
"azure",
|
|
50
|
+
"cloud"
|
|
51
|
+
],
|
|
52
|
+
"author": "Microsoft Corporation",
|
|
53
|
+
"license": "MIT",
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/Azure/azure-sdk-for-js/issues"
|
|
56
|
+
},
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=14.0.0"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/web-pubsub/web-pubsub-client/README.md",
|
|
61
|
+
"sideEffects": false,
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"tslib": "^2.2.0",
|
|
64
|
+
"@azure/logger": "^1.0.0",
|
|
65
|
+
"@azure/web-pubsub-client": "1.0.0-beta.2",
|
|
66
|
+
"protobufjs": "~7.2.2",
|
|
67
|
+
"long": "^5.2.1"
|
|
68
|
+
},
|
|
69
|
+
"devDependencies": {
|
|
70
|
+
"@azure/dev-tool": "^1.0.0",
|
|
71
|
+
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
|
|
72
|
+
"@microsoft/api-extractor": "^7.31.1",
|
|
73
|
+
"@types/chai": "^4.1.6",
|
|
74
|
+
"@types/chai-as-promised": "^7.1.5",
|
|
75
|
+
"@types/express": "^4.16.0",
|
|
76
|
+
"@types/express-serve-static-core": "^4.17.19",
|
|
77
|
+
"@types/jsonwebtoken": "^9.0.0",
|
|
78
|
+
"@types/mocha": "^7.0.2",
|
|
79
|
+
"@types/node": "^14.0.0",
|
|
80
|
+
"@types/sinon": "^9.0.4",
|
|
81
|
+
"chai": "^4.2.0",
|
|
82
|
+
"cross-env": "^7.0.2",
|
|
83
|
+
"dotenv": "^16.0.0",
|
|
84
|
+
"eslint": "^8.0.0",
|
|
85
|
+
"esm": "^3.2.18",
|
|
86
|
+
"express": "^4.16.3",
|
|
87
|
+
"karma": "^6.2.0",
|
|
88
|
+
"karma-chrome-launcher": "^3.0.0",
|
|
89
|
+
"karma-coverage": "^2.0.0",
|
|
90
|
+
"karma-edge-launcher": "^0.4.2",
|
|
91
|
+
"karma-env-preprocessor": "^0.1.1",
|
|
92
|
+
"karma-firefox-launcher": "^1.1.0",
|
|
93
|
+
"karma-ie-launcher": "^1.0.0",
|
|
94
|
+
"karma-json-preprocessor": "^0.3.3",
|
|
95
|
+
"karma-json-to-file-reporter": "^1.0.1",
|
|
96
|
+
"karma-junit-reporter": "^2.0.1",
|
|
97
|
+
"karma-mocha": "^2.0.1",
|
|
98
|
+
"karma-mocha-reporter": "^2.2.5",
|
|
99
|
+
"karma-sourcemap-loader": "^0.3.8",
|
|
100
|
+
"mocha": "^7.1.1",
|
|
101
|
+
"mocha-junit-reporter": "^2.0.0",
|
|
102
|
+
"nyc": "^15.0.0",
|
|
103
|
+
"prettier": "^2.5.1",
|
|
104
|
+
"puppeteer": "^19.2.2",
|
|
105
|
+
"rimraf": "^3.0.0",
|
|
106
|
+
"sinon": "^9.0.2",
|
|
107
|
+
"source-map-support": "^0.5.9",
|
|
108
|
+
"typescript": "~4.8.0",
|
|
109
|
+
"@azure/web-pubsub": "^1.1.0",
|
|
110
|
+
"@azure/test-utils": "^1.0.0",
|
|
111
|
+
"mock-socket": "^9.1.5",
|
|
112
|
+
"util": "^0.12.1",
|
|
113
|
+
"@types/ws": "^7.4.5",
|
|
114
|
+
"protobufjs-cli": "^1.1.1",
|
|
115
|
+
"copyfiles": "2.4.1"
|
|
116
|
+
},
|
|
117
|
+
"//sampleConfiguration": {
|
|
118
|
+
"productName": "Azure Web PubSub Client",
|
|
119
|
+
"productSlugs": [
|
|
120
|
+
"azure"
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WebPubSubClientProtocol } from '@azure/web-pubsub-client';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Return the "protobuf.webpubsub.azure.v1" protocol
|
|
5
|
+
*/
|
|
6
|
+
export declare const WebPubSubProtobufProtocol: () => WebPubSubClientProtocol;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Return the "protobuf.reliable.webpubsub.azure.v1" protocol
|
|
10
|
+
*/
|
|
11
|
+
export declare const WebPubSubProtobufReliableProtocol: () => WebPubSubClientProtocol;
|
|
12
|
+
|
|
13
|
+
export { }
|