@nymphjs/client-node 1.0.0-alpha.2 → 1.0.0-alpha.23
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/CHANGELOG.md +92 -0
- package/README.md +9 -7
- package/dist/index.d.ts +8 -4
- package/dist/index.js +27 -43
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +34 -30
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,98 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
|
|
15
|
+
|
|
16
|
+
# [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
19
|
+
|
|
20
|
+
# [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
21
|
+
|
|
22
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
23
|
+
|
|
24
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
29
|
+
|
|
30
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
33
|
+
|
|
34
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
35
|
+
|
|
36
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
37
|
+
|
|
38
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
|
|
42
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
43
|
+
|
|
44
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
45
|
+
|
|
46
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
47
|
+
|
|
48
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
49
|
+
|
|
50
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
51
|
+
|
|
52
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
55
|
+
|
|
56
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
57
|
+
|
|
58
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
59
|
+
|
|
60
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
61
|
+
|
|
62
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
63
|
+
|
|
64
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
65
|
+
|
|
66
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
67
|
+
|
|
68
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
69
|
+
|
|
70
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
71
|
+
|
|
72
|
+
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
75
|
+
|
|
76
|
+
# [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
|
|
77
|
+
|
|
78
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
79
|
+
|
|
80
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
81
|
+
|
|
82
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
83
|
+
|
|
84
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
85
|
+
|
|
86
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
87
|
+
|
|
88
|
+
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
89
|
+
|
|
90
|
+
**Note:** Version bump only for package @nymphjs/client-node
|
|
91
|
+
|
|
92
|
+
# [1.0.0-alpha.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2021-09-22)
|
|
93
|
+
|
|
94
|
+
### Features
|
|
95
|
+
|
|
96
|
+
- allow multiple instances of Nymph Client ([81eacd7](https://github.com/sciactive/nymphjs/commit/81eacd7caff6f3c209d7d6dbfdac0414a1857c6d))
|
|
97
|
+
|
|
6
98
|
# [1.0.0-alpha.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2021-09-21)
|
|
7
99
|
|
|
8
100
|
**Note:** Version bump only for package @nymphjs/client-node
|
package/README.md
CHANGED
|
@@ -12,23 +12,25 @@ npm install --save @nymphjs/client-node
|
|
|
12
12
|
|
|
13
13
|
This package is the Nymph client for Node.js. You can find CJS in `dist`, or TS source in `src`. There is also a **[browser client](https://github.com/sciactive/nymphjs/packages/client)**.
|
|
14
14
|
|
|
15
|
-
This package provides fetch and WebSocket ponyfills to Nymph
|
|
15
|
+
This package provides fetch and WebSocket ponyfills to Nymph and handles Tilmeld auth tokens.
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
19
|
To use, require it instead of `@nymphjs/client`:
|
|
20
20
|
|
|
21
|
-
```
|
|
22
|
-
const { Nymph } = require('@nymphjs/client-node');
|
|
21
|
+
```ts
|
|
22
|
+
const { Nymph, PubSub } = require('@nymphjs/client-node');
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Then
|
|
25
|
+
Then set up Nymph and PubSub like normal:
|
|
26
26
|
|
|
27
|
-
```
|
|
28
|
-
|
|
27
|
+
```ts
|
|
28
|
+
const nymphOptions = {
|
|
29
29
|
restUrl: 'https://yournymphrestserver/path/to/your/endpoint',
|
|
30
30
|
pubsubUrl: 'wss://yournymphpubsubserver',
|
|
31
|
-
}
|
|
31
|
+
};
|
|
32
|
+
const nymph = new Nymph(nymphOptions);
|
|
33
|
+
const pubsub = new PubSub(nymphOptions, nymph);
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
# License
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { Nymph, PubSub, NymphOptions } from '@nymphjs/client';
|
|
2
|
+
declare class NodeNymph extends Nymph {
|
|
3
|
+
constructor(nymphOptions: NymphOptions);
|
|
4
|
+
}
|
|
5
|
+
declare class NodePubSub extends PubSub {
|
|
6
|
+
constructor(nymphOptions: NymphOptions, nymph: Nymph);
|
|
7
|
+
}
|
|
8
|
+
export { NodeNymph as Nymph, NodePubSub as PubSub };
|
package/dist/index.js
CHANGED
|
@@ -1,53 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
4
|
};
|
|
24
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.Nymph = void 0;
|
|
6
|
+
exports.PubSub = exports.Nymph = void 0;
|
|
26
7
|
const websocket_1 = require("websocket");
|
|
27
8
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
9
|
+
const client_1 = require("@nymphjs/client");
|
|
10
|
+
class NodeNymph extends client_1.Nymph {
|
|
11
|
+
constructor(nymphOptions) {
|
|
12
|
+
super(Object.assign({ fetch: node_fetch_1.default }, nymphOptions));
|
|
13
|
+
let authToken = null;
|
|
14
|
+
this.on('request', (_url, options) => {
|
|
15
|
+
if (authToken) {
|
|
16
|
+
options.headers['X-TILMELDAUTH'] =
|
|
17
|
+
authToken;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
this.on('response', (response) => {
|
|
21
|
+
if (response.headers.has('X-TILMELDAUTH')) {
|
|
22
|
+
authToken = response.headers.get('X-TILMELDAUTH');
|
|
23
|
+
if (authToken === '') {
|
|
24
|
+
authToken = null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
42
28
|
}
|
|
43
|
-
}
|
|
44
|
-
Nymph
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
authToken = null;
|
|
49
|
-
}
|
|
29
|
+
}
|
|
30
|
+
exports.Nymph = NodeNymph;
|
|
31
|
+
class NodePubSub extends client_1.PubSub {
|
|
32
|
+
constructor(nymphOptions, nymph) {
|
|
33
|
+
super(Object.assign({ WebSocket: websocket_1.w3cwebsocket }, nymphOptions), nymph);
|
|
50
34
|
}
|
|
51
|
-
}
|
|
52
|
-
exports.
|
|
35
|
+
}
|
|
36
|
+
exports.PubSub = NodePubSub;
|
|
53
37
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,yCAAyC;AACzC,4DAA+B;AAC/B,4CAA8D;AAG9D,MAAM,SAAU,SAAQ,cAAK;IAC3B,YAAY,YAA0B;QACpC,KAAK,iBACH,KAAK,EAAE,oBAAsD,IAC1D,YAAY,EACf,CAAC;QAGH,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAY,EAAE,OAAoB,EAAE,EAAE;YACxD,IAAI,SAAS,EAAE;gBACZ,OAAO,CAAC,OAAkC,CAAC,eAAe,CAAC;oBAC1D,SAAS,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAkB,EAAE,EAAE;YACzC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBACzC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAClD,IAAI,SAAS,KAAK,EAAE,EAAE;oBACpB,SAAS,GAAG,IAAI,CAAC;iBAClB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAcqB,0BAAK;AAZ3B,MAAM,UAAW,SAAQ,eAAM;IAC7B,YAAY,YAA0B,EAAE,KAAY;QAClD,KAAK,iBAED,SAAS,EAAE,wBAA2C,IACnD,YAAY,GAEjB,KAAK,CACN,CAAC;IACJ,CAAC;CACF;AAE0C,4BAAM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/client-node",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.23",
|
|
4
4
|
"description": "NymphJS - Node Client",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,18 +30,18 @@
|
|
|
30
30
|
},
|
|
31
31
|
"license": "Apache-2.0",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@nymphjs/client": "^1.0.0-alpha.
|
|
34
|
-
"node-fetch": "^2.6.
|
|
33
|
+
"@nymphjs/client": "^1.0.0-alpha.23",
|
|
34
|
+
"node-fetch": "^2.6.6",
|
|
35
35
|
"websocket": "^1.0.34"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@tsconfig/recommended": "^1.0.1",
|
|
39
|
-
"@types/jest": "^27.0.
|
|
39
|
+
"@types/jest": "^27.0.3",
|
|
40
40
|
"@types/node-fetch": "^2.5.12",
|
|
41
41
|
"@types/websocket": "^1.0.4",
|
|
42
|
-
"jest": "^27.
|
|
43
|
-
"ts-jest": "^27.
|
|
44
|
-
"typescript": "^4.
|
|
42
|
+
"jest": "^27.4.5",
|
|
43
|
+
"ts-jest": "^27.1.1",
|
|
44
|
+
"typescript": "^4.5.4"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "4d0ec97a49f09228581fbc3773d5709531ccab73"
|
|
47
47
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,41 +1,45 @@
|
|
|
1
1
|
// Nymph expects fetch and WebSocket.
|
|
2
2
|
import { w3cwebsocket } from 'websocket';
|
|
3
3
|
import fetch from 'node-fetch';
|
|
4
|
-
import
|
|
5
|
-
import { NymphOptions } from '@nymphjs/client';
|
|
6
|
-
|
|
7
|
-
const { Nymph, PubSub } = NymphClient;
|
|
4
|
+
import { Nymph, PubSub, NymphOptions } from '@nymphjs/client';
|
|
8
5
|
|
|
9
6
|
// Make a shortcut for PubSub init.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
...nymphOptions,
|
|
15
|
-
});
|
|
16
|
-
if (nymphOptions.pubsubUrl) {
|
|
17
|
-
PubSub.init({
|
|
18
|
-
WebSocket: w3cwebsocket as any as typeof WebSocket,
|
|
7
|
+
class NodeNymph extends Nymph {
|
|
8
|
+
constructor(nymphOptions: NymphOptions) {
|
|
9
|
+
super({
|
|
10
|
+
fetch: fetch as unknown as WindowOrWorkerGlobalScope['fetch'],
|
|
19
11
|
...nymphOptions,
|
|
20
12
|
});
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
13
|
|
|
24
|
-
// Save the Tilmeld auth token and send it in the header.
|
|
25
|
-
let authToken: string | null = null;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
// Save the Tilmeld auth token and send it in the header.
|
|
15
|
+
let authToken: string | null = null;
|
|
16
|
+
this.on('request', (_url: string, options: RequestInit) => {
|
|
17
|
+
if (authToken) {
|
|
18
|
+
(options.headers as Record<string, string>)['X-TILMELDAUTH'] =
|
|
19
|
+
authToken;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
this.on('response', (response: Response) => {
|
|
23
|
+
if (response.headers.has('X-TILMELDAUTH')) {
|
|
24
|
+
authToken = response.headers.get('X-TILMELDAUTH');
|
|
25
|
+
if (authToken === '') {
|
|
26
|
+
authToken = null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
29
30
|
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
class NodePubSub extends PubSub {
|
|
34
|
+
constructor(nymphOptions: NymphOptions, nymph: Nymph) {
|
|
35
|
+
super(
|
|
36
|
+
{
|
|
37
|
+
WebSocket: w3cwebsocket as unknown as typeof WebSocket,
|
|
38
|
+
...nymphOptions,
|
|
39
|
+
},
|
|
40
|
+
nymph
|
|
41
|
+
);
|
|
37
42
|
}
|
|
38
|
-
}
|
|
43
|
+
}
|
|
39
44
|
|
|
40
|
-
export { Nymph };
|
|
41
|
-
export default Nymph;
|
|
45
|
+
export { NodeNymph as Nymph, NodePubSub as PubSub };
|