@araminix/lib 0.0.0-stage → 1.0.0
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/LICENSE +21 -0
- package/README.md +193 -2
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/src/Socket.d.ts +26 -0
- package/dist/src/Socket.d.ts.map +1 -0
- package/dist/src/Socket.js +61 -0
- package/dist/src/Socket.js.map +1 -0
- package/dist/src/client.d.ts +74 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +226 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/connection.d.ts +77 -0
- package/dist/src/connection.d.ts.map +1 -0
- package/dist/src/connection.js +387 -0
- package/dist/src/connection.js.map +1 -0
- package/dist/src/messages.d.ts +40 -0
- package/dist/src/messages.d.ts.map +1 -0
- package/dist/src/messages.js +33 -0
- package/dist/src/messages.js.map +1 -0
- package/dist/src/stream.d.ts +89 -0
- package/dist/src/stream.d.ts.map +1 -0
- package/dist/src/stream.js +254 -0
- package/dist/src/stream.js.map +1 -0
- package/dist/src/utils/index.d.ts +18 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +56 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/logger.d.ts +38 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +129 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/result.d.ts +29 -0
- package/dist/src/utils/result.d.ts.map +1 -0
- package/dist/src/utils/result.js +64 -0
- package/dist/src/utils/result.js.map +1 -0
- package/package.json +62 -3
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export function ok() {
|
|
2
|
+
return new Ok(undefined);
|
|
3
|
+
}
|
|
4
|
+
export function err() {
|
|
5
|
+
return new Err(undefined);
|
|
6
|
+
}
|
|
7
|
+
export class Ok {
|
|
8
|
+
v;
|
|
9
|
+
constructor(v) {
|
|
10
|
+
this.v = v;
|
|
11
|
+
}
|
|
12
|
+
isOk() {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
isErr() {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
unwrap() {
|
|
19
|
+
return this.v;
|
|
20
|
+
}
|
|
21
|
+
serialize() {
|
|
22
|
+
return {
|
|
23
|
+
ok: true,
|
|
24
|
+
v: this.v,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class Err {
|
|
29
|
+
e;
|
|
30
|
+
constructor(e) {
|
|
31
|
+
this.e = e;
|
|
32
|
+
}
|
|
33
|
+
isOk() {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
isErr() {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
unwrap() {
|
|
40
|
+
throw this.e;
|
|
41
|
+
}
|
|
42
|
+
serialize() {
|
|
43
|
+
return {
|
|
44
|
+
ok: false,
|
|
45
|
+
e: this.e,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export function deal() {
|
|
50
|
+
let resolve;
|
|
51
|
+
const promise = new Promise((res) => {
|
|
52
|
+
let pending = true;
|
|
53
|
+
resolve = (result) => {
|
|
54
|
+
if (!pending) {
|
|
55
|
+
return err();
|
|
56
|
+
}
|
|
57
|
+
pending = false;
|
|
58
|
+
res(result);
|
|
59
|
+
return ok();
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
return [promise, resolve];
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/utils/result.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,EAAE;IACd,OAAO,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,GAAG;IACf,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,OAAO,EAAE;IACF,CAAC,CAAI;IAEd,YAAY,CAAI;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,SAAS;QACL,OAAO;YACH,EAAE,EAAE,IAAI;YACR,CAAC,EAAE,IAAI,CAAC,CAAC;SACZ,CAAC;IACN,CAAC;CACJ;AAED,MAAM,OAAO,GAAG;IACH,CAAC,CAAI;IAEd,YAAY,CAAI;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAI;QACA,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,MAAM,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,SAAS;QACL,OAAO;YACH,EAAE,EAAE,KAAK;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;SACZ,CAAC;IACN,CAAC;CACJ;AAID,MAAM,UAAU,IAAI;IAChB,IAAI,OAA0B,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC,MAAS,EAAK,EAAE;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,CAAC;YACZ,OAAO,EAAE,EAAE,CAAC;QAChB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@araminix/lib",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Universal, type-safe multiplexed WebSocket streaming and functional communication protocol",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"access": "public"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/araminix/lib.git"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/araminix/lib/issues"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://github.com/araminix/lib#readme",
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"!dist/tests",
|
|
22
|
+
"README.md",
|
|
23
|
+
"LICENSE"
|
|
24
|
+
],
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"araminix",
|
|
33
|
+
"websocket",
|
|
34
|
+
"streaming",
|
|
35
|
+
"multiplexing",
|
|
36
|
+
"realtime",
|
|
37
|
+
"functional",
|
|
38
|
+
"result-monad",
|
|
39
|
+
"typescript",
|
|
40
|
+
"isomorphic"
|
|
41
|
+
],
|
|
42
|
+
"author": "Amin Abbasi",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"axios": "1.20.0",
|
|
46
|
+
"fp-ts": "2.16.11",
|
|
47
|
+
"gach": "1.7.5",
|
|
48
|
+
"io-ts": "2.2.22",
|
|
49
|
+
"websocket": "1.0.35"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@trivago/prettier-plugin-sort-imports": "6.0.2",
|
|
53
|
+
"@types/node": "26.6.5",
|
|
54
|
+
"@types/websocket": "1.0.10",
|
|
55
|
+
"prettier": "3.9.10",
|
|
56
|
+
"typescript": "7.0.2"
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "tsc",
|
|
60
|
+
"format": "prettier --write .",
|
|
61
|
+
"format:check": "prettier --check .",
|
|
62
|
+
"test": "node --test dist/tests/result.test.js dist/tests/utils.test.js dist/tests/messages.test.js dist/tests/logger.test.js dist/tests/stream.test.js dist/tests/socket.test.js",
|
|
63
|
+
"test:coverage": "node --experimental-test-coverage --test dist/tests/result.test.js dist/tests/utils.test.js dist/tests/messages.test.js dist/tests/logger.test.js dist/tests/stream.test.js dist/tests/socket.test.js"
|
|
64
|
+
}
|
|
6
65
|
}
|