functype 0.18.0 → 0.20.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 +13 -11
- package/README.processed.md +2 -11
- package/dist/Brand-B-0nKo7I.d.ts +55 -0
- package/dist/Brand-Cfr5zy8F.js +2 -0
- package/dist/Brand-Cfr5zy8F.js.map +1 -0
- package/dist/Tuple-CKxIyX7l.d.ts +178 -0
- package/dist/Tuple-CgX4p79w.js +2 -0
- package/dist/Tuple-CgX4p79w.js.map +1 -0
- package/dist/branded/index.d.ts +2 -54
- package/dist/branded/index.js +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +660 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/do/index.d.ts +4 -240
- package/dist/do/index.js +1 -0
- package/dist/either/index.d.ts +4 -2
- package/dist/either/index.js +1 -0
- package/dist/fpromise/index.d.ts +4 -373
- package/dist/fpromise/index.js +1 -0
- package/dist/index-Bnjlo4cT.d.ts +3575 -0
- package/dist/index.d.ts +4 -1934
- package/dist/index.js +1 -0
- package/dist/list/index.d.ts +4 -2
- package/dist/list/index.js +1 -0
- package/dist/map/index.d.ts +4 -58
- package/dist/map/index.js +1 -0
- package/dist/option/index.d.ts +4 -2
- package/dist/option/index.js +1 -0
- package/dist/set/index.d.ts +4 -2
- package/dist/set/index.js +1 -0
- package/dist/src-BOxI0-73.js +20 -0
- package/dist/src-BOxI0-73.js.map +1 -0
- package/dist/try/index.d.ts +4 -2
- package/dist/try/index.js +1 -0
- package/dist/tuple/index.d.ts +2 -75
- package/dist/tuple/index.js +1 -0
- package/package.json +31 -42
- package/dist/Either-Ccg0S1uS.d.ts +0 -1015
- package/dist/Typeable-DiGVtDnq.d.ts +0 -96
- package/dist/branded/index.mjs +0 -2
- package/dist/branded/index.mjs.map +0 -1
- package/dist/chunk-6ZIR6EKC.mjs +0 -38
- package/dist/chunk-6ZIR6EKC.mjs.map +0 -1
- package/dist/chunk-7JJIUQXK.mjs +0 -3
- package/dist/chunk-7JJIUQXK.mjs.map +0 -1
- package/dist/chunk-OR6V4TCO.mjs +0 -2
- package/dist/chunk-OR6V4TCO.mjs.map +0 -1
- package/dist/do/index.mjs +0 -2
- package/dist/do/index.mjs.map +0 -1
- package/dist/either/index.mjs +0 -2
- package/dist/either/index.mjs.map +0 -1
- package/dist/fpromise/index.mjs +0 -2
- package/dist/fpromise/index.mjs.map +0 -1
- package/dist/index.mjs +0 -2
- package/dist/index.mjs.map +0 -1
- package/dist/list/index.mjs +0 -2
- package/dist/list/index.mjs.map +0 -1
- package/dist/map/index.mjs +0 -2
- package/dist/map/index.mjs.map +0 -1
- package/dist/option/index.mjs +0 -2
- package/dist/option/index.mjs.map +0 -1
- package/dist/set/index.mjs +0 -2
- package/dist/set/index.mjs.map +0 -1
- package/dist/try/index.mjs +0 -2
- package/dist/try/index.mjs.map +0 -1
- package/dist/tuple/index.mjs +0 -2
- package/dist/tuple/index.mjs.map +0 -1
package/dist/try/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../Brand-Cfr5zy8F.js";import"../Tuple-CgX4p79w.js";import{dt as e}from"../src-BOxI0-73.js";export{e as Try};
|
package/dist/tuple/index.d.ts
CHANGED
|
@@ -1,75 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
interface Tuple<T extends Type[]> extends Foldable<T[number]>, Pipe<Tuple<T>>, Serializable<Tuple<T>>, Typeable<"Tuple"> {
|
|
4
|
-
get<K extends number>(index: K): T[K];
|
|
5
|
-
map<U extends Type[]>(f: (value: T) => U): Tuple<U>;
|
|
6
|
-
flatMap<U extends Type[]>(f: (value: T) => Tuple<U>): Tuple<U>;
|
|
7
|
-
toArray(): T;
|
|
8
|
-
length: number;
|
|
9
|
-
[Symbol.iterator](): Iterator<T[number]>;
|
|
10
|
-
toString(): string;
|
|
11
|
-
toValue(): {
|
|
12
|
-
_tag: "Tuple";
|
|
13
|
-
value: T;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Tuple provides a type-safe, fixed-length array with functional operations.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* // Creating tuples
|
|
21
|
-
* const t1 = Tuple([1, "hello", true])
|
|
22
|
-
* const t2 = Tuple.of(1, "hello", true)
|
|
23
|
-
* const pair = Tuple.pair("key", 42)
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* // Type-safe access
|
|
27
|
-
* const triple = Tuple.triple("x", 10, true)
|
|
28
|
-
* const first = triple.get(0) // string
|
|
29
|
-
* const second = triple.get(1) // number
|
|
30
|
-
* const third = triple.get(2) // boolean
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* // Functional operations
|
|
34
|
-
* const doubled = Tuple([1, 2, 3])
|
|
35
|
-
* .map(arr => arr.map(x => x * 2))
|
|
36
|
-
* .toArray() // [2, 4, 6]
|
|
37
|
-
*/
|
|
38
|
-
declare const Tuple: (<T extends Type[]>(values: T) => Tuple<T>) & {
|
|
39
|
-
/**
|
|
40
|
-
* Create a Tuple from multiple arguments
|
|
41
|
-
* @example
|
|
42
|
-
* const t = Tuple.of(1, "hello", true)
|
|
43
|
-
* // TypeScript infers: Tuple<[number, string, boolean]>
|
|
44
|
-
*/
|
|
45
|
-
of: <T extends Type[]>(...values: T) => Tuple<T>;
|
|
46
|
-
/**
|
|
47
|
-
* Create a Tuple of size 2 (pair)
|
|
48
|
-
* @example
|
|
49
|
-
* const pair = Tuple.pair("key", 42)
|
|
50
|
-
* // TypeScript infers: Tuple<[string, number]>
|
|
51
|
-
*/
|
|
52
|
-
pair: <A extends Type, B extends Type>(first: A, second: B) => Tuple<[A, B]>;
|
|
53
|
-
/**
|
|
54
|
-
* Create a Tuple of size 3 (triple)
|
|
55
|
-
* @example
|
|
56
|
-
* const triple = Tuple.triple("x", 10, true)
|
|
57
|
-
* // TypeScript infers: Tuple<[string, number, boolean]>
|
|
58
|
-
*/
|
|
59
|
-
triple: <A extends Type, B extends Type, C extends Type>(first: A, second: B, third: C) => Tuple<[A, B, C]>;
|
|
60
|
-
/**
|
|
61
|
-
* Create an empty Tuple
|
|
62
|
-
* @example
|
|
63
|
-
* const empty = Tuple.empty()
|
|
64
|
-
* // TypeScript infers: Tuple<[]>
|
|
65
|
-
*/
|
|
66
|
-
empty: () => Tuple<[]>;
|
|
67
|
-
/**
|
|
68
|
-
* Create a Tuple from an array (alias for constructor)
|
|
69
|
-
* @example
|
|
70
|
-
* const t = Tuple.from([1, 2, 3])
|
|
71
|
-
*/
|
|
72
|
-
from: <T extends Type[]>(values: T) => Tuple<T>;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export { Tuple };
|
|
1
|
+
import { t as Tuple } from "../Tuple-CKxIyX7l.js";
|
|
2
|
+
export { Tuple };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"../Tuple-CgX4p79w.js";export{e as Tuple};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "functype",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A functional programming library for TypeScript, using immutable data structures and type classes",
|
|
6
6
|
"author": "jordan.burke@gmail.com",
|
|
@@ -13,148 +13,136 @@
|
|
|
13
13
|
"url": "https://github.com/jordanburke/functype",
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@eslint/compat": "^1.4.1",
|
|
16
|
-
"@eslint/eslintrc": "^3.3.1",
|
|
17
|
-
"@eslint/js": "^9.39.1",
|
|
18
16
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
19
17
|
"@semantic-release/github": "^11.0.6",
|
|
20
18
|
"@semantic-release/npm": "^12.0.2",
|
|
21
19
|
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
22
20
|
"@types/node": "^22.19.1",
|
|
23
|
-
"@typescript-eslint/eslint-plugin": "^8.46.4",
|
|
24
|
-
"@typescript-eslint/parser": "^8.46.4",
|
|
25
|
-
"@vitest/coverage-v8": "^4.0.9",
|
|
26
|
-
"@vitest/ui": "^4.0.9",
|
|
27
|
-
"cross-env": "^10.1.0",
|
|
28
|
-
"eslint": "^9.39.1",
|
|
29
21
|
"eslint-config-functype": "1.3.0",
|
|
30
|
-
"eslint-config-prettier": "^10.1.8",
|
|
31
22
|
"eslint-plugin-functional": "^9.0.2",
|
|
32
|
-
"eslint-plugin-prettier": "^5.5.4",
|
|
33
|
-
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
34
23
|
"fast-check": "^4.3.0",
|
|
35
24
|
"globals": "^16.5.0",
|
|
36
|
-
"prettier": "^3.6.2",
|
|
37
|
-
"rimraf": "^6.1.0",
|
|
38
25
|
"semantic-release": "^24.2.9",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"typescript": "5.9.2",
|
|
44
|
-
"vitest": "^4.0.9"
|
|
26
|
+
"tsdown": "^0.16.8",
|
|
27
|
+
"tsx": "^4.21.0",
|
|
28
|
+
"typedoc": "^0.28.15",
|
|
29
|
+
"typescript-template-configs": "^4.0.0"
|
|
45
30
|
},
|
|
46
31
|
"types": "./dist/index.d.ts",
|
|
47
|
-
"module": "./dist/index.
|
|
32
|
+
"module": "./dist/index.js",
|
|
48
33
|
"exports": {
|
|
49
34
|
".": {
|
|
50
35
|
"import": {
|
|
51
36
|
"types": "./dist/index.d.ts",
|
|
52
|
-
"default": "./dist/index.
|
|
37
|
+
"default": "./dist/index.js"
|
|
53
38
|
}
|
|
54
39
|
},
|
|
55
40
|
"./option": {
|
|
56
41
|
"import": {
|
|
57
42
|
"types": "./dist/option/index.d.ts",
|
|
58
|
-
"default": "./dist/option/index.
|
|
43
|
+
"default": "./dist/option/index.js"
|
|
59
44
|
}
|
|
60
45
|
},
|
|
61
46
|
"./either": {
|
|
62
47
|
"import": {
|
|
63
48
|
"types": "./dist/either/index.d.ts",
|
|
64
|
-
"default": "./dist/either/index.
|
|
49
|
+
"default": "./dist/either/index.js"
|
|
65
50
|
}
|
|
66
51
|
},
|
|
67
52
|
"./try": {
|
|
68
53
|
"import": {
|
|
69
54
|
"types": "./dist/try/index.d.ts",
|
|
70
|
-
"default": "./dist/try/index.
|
|
55
|
+
"default": "./dist/try/index.js"
|
|
71
56
|
}
|
|
72
57
|
},
|
|
73
58
|
"./list": {
|
|
74
59
|
"import": {
|
|
75
60
|
"types": "./dist/list/index.d.ts",
|
|
76
|
-
"default": "./dist/list/index.
|
|
61
|
+
"default": "./dist/list/index.js"
|
|
77
62
|
}
|
|
78
63
|
},
|
|
79
64
|
"./conditional": {
|
|
80
65
|
"import": {
|
|
81
66
|
"types": "./dist/conditional/index.d.ts",
|
|
82
|
-
"default": "./dist/conditional/index.
|
|
67
|
+
"default": "./dist/conditional/index.js"
|
|
83
68
|
}
|
|
84
69
|
},
|
|
85
70
|
"./do": {
|
|
86
71
|
"import": {
|
|
87
72
|
"types": "./dist/do/index.d.ts",
|
|
88
|
-
"default": "./dist/do/index.
|
|
73
|
+
"default": "./dist/do/index.js"
|
|
89
74
|
}
|
|
90
75
|
},
|
|
91
76
|
"./lazy": {
|
|
92
77
|
"import": {
|
|
93
78
|
"types": "./dist/lazy/index.d.ts",
|
|
94
|
-
"default": "./dist/lazy/index.
|
|
79
|
+
"default": "./dist/lazy/index.js"
|
|
95
80
|
}
|
|
96
81
|
},
|
|
97
82
|
"./task": {
|
|
98
83
|
"import": {
|
|
99
84
|
"types": "./dist/core/task/index.d.ts",
|
|
100
|
-
"default": "./dist/core/task/index.
|
|
85
|
+
"default": "./dist/core/task/index.js"
|
|
101
86
|
}
|
|
102
87
|
},
|
|
103
88
|
"./fpromise": {
|
|
104
89
|
"import": {
|
|
105
90
|
"types": "./dist/fpromise/index.d.ts",
|
|
106
|
-
"default": "./dist/fpromise/index.
|
|
91
|
+
"default": "./dist/fpromise/index.js"
|
|
107
92
|
}
|
|
108
93
|
},
|
|
109
94
|
"./functype": {
|
|
110
95
|
"import": {
|
|
111
96
|
"types": "./dist/functype/index.d.ts",
|
|
112
|
-
"default": "./dist/functype/index.
|
|
97
|
+
"default": "./dist/functype/index.js"
|
|
113
98
|
}
|
|
114
99
|
},
|
|
115
100
|
"./typeclass": {
|
|
116
101
|
"import": {
|
|
117
102
|
"types": "./dist/typeclass/index.d.ts",
|
|
118
|
-
"default": "./dist/typeclass/index.
|
|
103
|
+
"default": "./dist/typeclass/index.js"
|
|
119
104
|
}
|
|
120
105
|
},
|
|
121
106
|
"./map": {
|
|
122
107
|
"import": {
|
|
123
108
|
"types": "./dist/map/index.d.ts",
|
|
124
|
-
"default": "./dist/map/index.
|
|
109
|
+
"default": "./dist/map/index.js"
|
|
125
110
|
}
|
|
126
111
|
},
|
|
127
112
|
"./set": {
|
|
128
113
|
"import": {
|
|
129
114
|
"types": "./dist/set/index.d.ts",
|
|
130
|
-
"default": "./dist/set/index.
|
|
115
|
+
"default": "./dist/set/index.js"
|
|
131
116
|
}
|
|
132
117
|
},
|
|
133
118
|
"./tuple": {
|
|
134
119
|
"import": {
|
|
135
120
|
"types": "./dist/tuple/index.d.ts",
|
|
136
|
-
"default": "./dist/tuple/index.
|
|
121
|
+
"default": "./dist/tuple/index.js"
|
|
137
122
|
}
|
|
138
123
|
},
|
|
139
124
|
"./branded": {
|
|
140
125
|
"import": {
|
|
141
126
|
"types": "./dist/branded/index.d.ts",
|
|
142
|
-
"default": "./dist/branded/index.
|
|
127
|
+
"default": "./dist/branded/index.js"
|
|
143
128
|
}
|
|
144
129
|
},
|
|
145
130
|
"./companion": {
|
|
146
131
|
"import": {
|
|
147
132
|
"types": "./dist/companion/index.d.ts",
|
|
148
|
-
"default": "./dist/companion/index.
|
|
133
|
+
"default": "./dist/companion/index.js"
|
|
149
134
|
}
|
|
150
135
|
},
|
|
151
136
|
"./serialization": {
|
|
152
137
|
"import": {
|
|
153
138
|
"types": "./dist/serialization/index.d.ts",
|
|
154
|
-
"default": "./dist/serialization/index.
|
|
139
|
+
"default": "./dist/serialization/index.js"
|
|
155
140
|
}
|
|
156
141
|
}
|
|
157
142
|
},
|
|
143
|
+
"bin": {
|
|
144
|
+
"functype": "./dist/cli/index.js"
|
|
145
|
+
},
|
|
158
146
|
"files": [
|
|
159
147
|
"dist"
|
|
160
148
|
],
|
|
@@ -174,9 +162,10 @@
|
|
|
174
162
|
"test:watch": "vitest",
|
|
175
163
|
"test:coverage": "vitest run --coverage",
|
|
176
164
|
"test:ui": "vitest --ui",
|
|
177
|
-
"build": "rimraf dist && cross-env NODE_ENV=production
|
|
178
|
-
"
|
|
179
|
-
"
|
|
165
|
+
"build": "rimraf dist && pnpm extract:interfaces && cross-env NODE_ENV=production tsdown",
|
|
166
|
+
"extract:interfaces": "tsx scripts/extract-interfaces.ts",
|
|
167
|
+
"build:watch": "tsdown --watch",
|
|
168
|
+
"dev": "tsdown --watch",
|
|
180
169
|
"compile": "tsc --noEmit",
|
|
181
170
|
"clean": "rimraf dist",
|
|
182
171
|
"bench": "vitest bench",
|