@ntangled/kit 0.0.0-alpha.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/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @ntangled/kit
2
+
3
+ A TypeScript utililty package.
package/dist/main.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * as s from './safe';
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC"}
package/dist/main.js ADDED
@@ -0,0 +1,2 @@
1
+ export * as s from './safe';
2
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC"}
package/dist/safe.d.ts ADDED
@@ -0,0 +1,26 @@
1
+ export type NonNull = NonNullable<unknown>;
2
+ /**
3
+ * @name px
4
+ * @alias safe promise executor
5
+ * @param callback
6
+ */
7
+ export declare const px: <Callback extends () => unknown>(callback: Callback) => Promise<[null, Awaited<ReturnType<Callback>>] | readonly [{}, null]>;
8
+ /**
9
+ * @name rx
10
+ * @alias safe result executor
11
+ * @param callback
12
+ */
13
+ export declare const rx: <Callback extends () => unknown>(callback: Callback) => readonly [{}, null] | [null, ReturnType<Callback>];
14
+ /**
15
+ * @name pw
16
+ * @alias safe promise wrapper
17
+ * @param callback
18
+ */
19
+ export declare const pw: <Callback extends (...params: any[]) => unknown>(callback: Callback) => (...params: Parameters<Callback>) => Promise<readonly [{}, null] | [null, Awaited<ReturnType<Callback>>]>;
20
+ /**
21
+ * @name rw
22
+ * @alias safe result wrapper
23
+ * @param callback
24
+ */
25
+ export declare const rw: <Callback extends (...params: any[]) => unknown>(callback: Callback) => (...params: Parameters<Callback>) => readonly [{}, null] | [null, ReturnType<Callback>];
26
+ //# sourceMappingURL=safe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../src/safe.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,EAAE,GAAU,QAAQ,SAAS,MAAM,OAAO,EAAE,UAAU,QAAQ,yEAQ1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,EAAE,GAAI,QAAQ,SAAS,MAAM,OAAO,EAAE,UAAU,QAAQ,uDAQpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,EAAE,GAAI,QAAQ,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,UAAU,QAAQ,MACtE,GAAG,QAAQ,UAAU,CAAC,QAAQ,CAAC,yEAS7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,EAAE,GAAI,QAAQ,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,UAAU,QAAQ,MAC5E,GAAG,QAAQ,UAAU,CAAC,QAAQ,CAAC,uDASvC,CAAC"}
package/dist/safe.js ADDED
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @name px
3
+ * @alias safe promise executor
4
+ * @param callback
5
+ */
6
+ export const px = async (callback) => {
7
+ try {
8
+ const result = await callback();
9
+ return [null, result];
10
+ }
11
+ catch (error) {
12
+ if (error === null)
13
+ return [new Error('null'), null];
14
+ return [error, null];
15
+ }
16
+ };
17
+ /**
18
+ * @name rx
19
+ * @alias safe result executor
20
+ * @param callback
21
+ */
22
+ export const rx = (callback) => {
23
+ try {
24
+ const result = callback();
25
+ return [null, result];
26
+ }
27
+ catch (error) {
28
+ if (error === null)
29
+ return [new Error('null'), null];
30
+ return [error, null];
31
+ }
32
+ };
33
+ /**
34
+ * @name pw
35
+ * @alias safe promise wrapper
36
+ * @param callback
37
+ */
38
+ export const pw = (callback) => {
39
+ return async (...params) => {
40
+ try {
41
+ const result = await callback(...params);
42
+ return [null, result];
43
+ }
44
+ catch (error) {
45
+ if (error === null)
46
+ return [new Error('null'), null];
47
+ return [error, null];
48
+ }
49
+ };
50
+ };
51
+ /**
52
+ * @name rw
53
+ * @alias safe result wrapper
54
+ * @param callback
55
+ */
56
+ export const rw = (callback) => {
57
+ return (...params) => {
58
+ try {
59
+ const result = callback(...params);
60
+ return [null, result];
61
+ }
62
+ catch (error) {
63
+ if (error === null)
64
+ return [new Error('null'), null];
65
+ return [error, null];
66
+ }
67
+ };
68
+ };
69
+ //# sourceMappingURL=safe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.js","sourceRoot":"","sources":["../src/safe.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,EAAkC,QAAkB,EAAE,EAAE;IAC9E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,MAAM,CAA0C,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAY,EAAE,IAAI,CAAU,CAAC;QACzE,OAAO,CAAC,KAAgB,EAAE,IAAI,CAAU,CAAC;IAC1C,CAAC;AACF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAiC,QAAkB,EAAE,EAAE;IACxE,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAiC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAY,EAAE,IAAI,CAAU,CAAC;QACzE,OAAO,CAAC,KAAgB,EAAE,IAAI,CAAU,CAAC;IAC1C,CAAC;AACF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAiD,QAAkB,EAAE,EAAE;IACxF,OAAO,KAAK,EAAE,GAAG,MAA4B,EAAE,EAAE;QAChD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,EAAE,MAAM,CAA0C,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAY,EAAE,IAAI,CAAU,CAAC;YACzE,OAAO,CAAC,KAAgB,EAAE,IAAI,CAAU,CAAC;QAC1C,CAAC;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAiD,QAAkB,EAAE,EAAE;IACxF,OAAO,CAAC,GAAG,MAA4B,EAAE,EAAE;QAC1C,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAiC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAY,EAAE,IAAI,CAAU,CAAC;YACzE,OAAO,CAAC,KAAgB,EAAE,IAAI,CAAU,CAAC;QAC1C,CAAC;IACF,CAAC,CAAC;AACH,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@ntangled/kit",
3
+ "version": "0.0.0-alpha.0",
4
+ "main": "dist/main.js",
5
+ "types": "dist/main.d.ts",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "prepublishOnly": "npm run build"
12
+ },
13
+ "license": "MIT",
14
+ "devDependencies": {
15
+ "typescript": "^5.9.3"
16
+ }
17
+ }