@soundscript/cli-darwin-arm64 0.1.2 → 0.1.4
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/bin/soundscript +0 -0
- package/package.json +5 -4
- package/src/bundled/portable-web-globals.d.ts +153 -0
- package/src/bundled/sound-libs/lib.es2015.iterable.d.ts +49 -49
- package/src/bundled/sound-libs/lib.es2015.promise.d.ts +2 -2
- package/src/bundled/sound-libs/lib.es2016.array.include.d.ts +8 -8
- package/src/bundled/sound-libs/lib.es2020.bigint.d.ts +60 -60
- package/src/bundled/sound-libs/lib.es2022.array.d.ts +10 -10
- package/src/bundled/sound-libs/lib.es2023.array.d.ts +70 -70
- package/src/bundled/sound-libs/lib.es5.d.ts +210 -210
- package/src/stdlib/async.d.ts +3 -3
- package/src/stdlib/codec.d.ts +3 -2
- package/src/stdlib/decode.d.ts +6 -4
- package/src/stdlib/encode.d.ts +11 -9
- package/src/stdlib/fetch.d.ts +1 -1
- package/src/stdlib/json.d.ts +29 -2
- package/src/stdlib/numerics.d.ts +521 -43
- package/src/stdlib/result.d.ts +21 -5
- package/src/stdlib/typeclasses.d.ts +2 -2
- package/src/stdlib/value.d.ts +9 -0
- package/src/stdlib/component.d.ts +0 -40
package/src/stdlib/numerics.d.ts
CHANGED
|
@@ -1,45 +1,523 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export type f64 = number;
|
|
6
|
-
export type f32 = number & { readonly __soundscript_builtin_f32_brand: 'f32' };
|
|
7
|
-
export type i8 = number & { readonly __soundscript_builtin_i8_brand: 'i8' };
|
|
8
|
-
export type i16 = number & { readonly __soundscript_builtin_i16_brand: 'i16' };
|
|
9
|
-
export type i32 = number & { readonly __soundscript_builtin_i32_brand: 'i32' };
|
|
10
|
-
export type i64 = bigint & { readonly __soundscript_builtin_i64_brand: 'i64' };
|
|
11
|
-
export type u8 = number & { readonly __soundscript_builtin_u8_brand: 'u8' };
|
|
12
|
-
export type u16 = number & { readonly __soundscript_builtin_u16_brand: 'u16' };
|
|
13
|
-
export type u32 = number & { readonly __soundscript_builtin_u32_brand: 'u32' };
|
|
14
|
-
export type u64 = bigint & { readonly __soundscript_builtin_u64_brand: 'u64' };
|
|
15
|
-
type integral_number = number & {
|
|
16
|
-
readonly __soundscript_builtin_int_refinement_brand: 'Int';
|
|
17
|
-
};
|
|
18
|
-
export type Int = integral_number | i8 | i16 | i32 | i64 | u8 | u16 | u32 | u64 | bigint;
|
|
19
|
-
export type Float = number & {
|
|
20
|
-
readonly __soundscript_builtin_float_refinement_brand: 'Float';
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export function isInt(value: Numeric): value is Int;
|
|
24
|
-
export function isFloat(value: Numeric): value is Float;
|
|
25
|
-
export function equals(left: Numeric, right: Numeric): boolean;
|
|
26
|
-
export function fitsF32(value: Numeric): value is f32;
|
|
27
|
-
export function fitsI8(value: Numeric): value is i8;
|
|
28
|
-
export function fitsI16(value: Numeric): value is i16;
|
|
29
|
-
export function fitsI32(value: Numeric): value is i32;
|
|
30
|
-
export function fitsI64(value: Numeric): value is i64;
|
|
31
|
-
export function fitsU8(value: Numeric): value is u8;
|
|
32
|
-
export function fitsU16(value: Numeric): value is u16;
|
|
33
|
-
export function fitsU32(value: Numeric): value is u32;
|
|
34
|
-
export function fitsU64(value: Numeric): value is u64;
|
|
1
|
+
import type { Eq, Order } from 'sts:compare';
|
|
2
|
+
import { Failure } from 'sts:failures';
|
|
3
|
+
import type { HashEq } from 'sts:hash';
|
|
4
|
+
import type { Result } from 'sts:result';
|
|
35
5
|
|
|
6
|
+
type MachineNumericKind =
|
|
7
|
+
| 'f64'
|
|
8
|
+
| 'f32'
|
|
9
|
+
| 'i8'
|
|
10
|
+
| 'i16'
|
|
11
|
+
| 'i32'
|
|
12
|
+
| 'i64'
|
|
13
|
+
| 'u8'
|
|
14
|
+
| 'u16'
|
|
15
|
+
| 'u32'
|
|
16
|
+
| 'u64';
|
|
17
|
+
|
|
18
|
+
type HostKind =
|
|
19
|
+
| 'bigint'
|
|
20
|
+
| 'boolean'
|
|
21
|
+
| 'function'
|
|
22
|
+
| 'number'
|
|
23
|
+
| 'object'
|
|
24
|
+
| 'string'
|
|
25
|
+
| 'symbol'
|
|
26
|
+
| 'undefined';
|
|
27
|
+
|
|
28
|
+
export interface MachineNumericValue<Leaf extends MachineNumericKind> {
|
|
29
|
+
readonly __soundscript_numeric_kind: Leaf;
|
|
30
|
+
toJSON(): { $numeric: Leaf; value: string };
|
|
31
|
+
toString(): string;
|
|
32
|
+
valueOf(): never;
|
|
33
|
+
[Symbol.toPrimitive](hint: string): string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export type f64 = MachineNumericValue<'f64'>;
|
|
37
|
+
export type f32 = MachineNumericValue<'f32'>;
|
|
38
|
+
export type i8 = MachineNumericValue<'i8'>;
|
|
39
|
+
export type i16 = MachineNumericValue<'i16'>;
|
|
40
|
+
export type i32 = MachineNumericValue<'i32'>;
|
|
41
|
+
export type i64 = MachineNumericValue<'i64'>;
|
|
42
|
+
export type u8 = MachineNumericValue<'u8'>;
|
|
43
|
+
export type u16 = MachineNumericValue<'u16'>;
|
|
44
|
+
export type u32 = MachineNumericValue<'u32'>;
|
|
45
|
+
export type u64 = MachineNumericValue<'u64'>;
|
|
46
|
+
|
|
47
|
+
export type Numeric = f64 | f32 | i8 | i16 | i32 | i64 | u8 | u16 | u32 | u64;
|
|
48
|
+
export type Int = i8 | i16 | i32 | i64 | u8 | u16 | u32 | u64;
|
|
49
|
+
export type Float = f32 | f64;
|
|
50
|
+
|
|
51
|
+
export type MachineNumericOrHostKind = MachineNumericKind | HostKind;
|
|
52
|
+
export type NumericLikeInput = Numeric | number | bigint;
|
|
53
|
+
|
|
54
|
+
export interface NumericFactory<T extends Numeric> {
|
|
55
|
+
(value: NumericLikeInput): T;
|
|
56
|
+
readonly MAX_VALUE: T;
|
|
57
|
+
readonly MIN_VALUE: T;
|
|
58
|
+
compare(left: T, right: T): number;
|
|
59
|
+
format(value: T): string;
|
|
60
|
+
parse(text: string): T;
|
|
61
|
+
tryParse(text: string): T | undefined;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface FloatFactory<T extends Float> extends NumericFactory<T> {
|
|
65
|
+
isFinite(value: T): boolean;
|
|
66
|
+
isNaN(value: T): boolean;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface IntegerFactory<T extends Int> extends NumericFactory<T> {
|
|
70
|
+
checkedAdd(left: T, right: T): Result<T, NumericOverflowFailure>;
|
|
71
|
+
checkedSub(left: T, right: T): Result<T, NumericOverflowFailure>;
|
|
72
|
+
checkedMul(left: T, right: T): Result<T, NumericOverflowFailure>;
|
|
73
|
+
checkedDiv(left: T, right: T): Result<T, NumericOverflowFailure | NumericDivisionByZeroFailure>;
|
|
74
|
+
checkedRem(left: T, right: T): Result<T, NumericDivisionByZeroFailure>;
|
|
75
|
+
checkedNeg(value: T): Result<T, NumericOverflowFailure>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export class NumericOverflowFailure extends Failure {
|
|
79
|
+
readonly leaf: 'i8' | 'i16' | 'i32' | 'i64' | 'u8' | 'u16' | 'u32' | 'u64';
|
|
80
|
+
readonly operation: 'add' | 'sub' | 'mul' | 'div' | 'rem' | 'neg';
|
|
81
|
+
constructor(
|
|
82
|
+
leaf: 'i8' | 'i16' | 'i32' | 'i64' | 'u8' | 'u16' | 'u32' | 'u64',
|
|
83
|
+
operation: 'add' | 'sub' | 'mul' | 'div' | 'rem' | 'neg',
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export class NumericDivisionByZeroFailure extends Failure {
|
|
88
|
+
readonly leaf: 'i8' | 'i16' | 'i32' | 'i64' | 'u8' | 'u16' | 'u32' | 'u64';
|
|
89
|
+
readonly operation: 'div' | 'rem';
|
|
90
|
+
constructor(
|
|
91
|
+
leaf: 'i8' | 'i16' | 'i32' | 'i64' | 'u8' | 'u16' | 'u32' | 'u64',
|
|
92
|
+
operation: 'div' | 'rem',
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export const F64: FloatFactory<f64>;
|
|
97
|
+
export const F32: FloatFactory<f32>;
|
|
98
|
+
export const I8: IntegerFactory<i8>;
|
|
99
|
+
export const I16: IntegerFactory<i16>;
|
|
100
|
+
export const I32: IntegerFactory<i32>;
|
|
101
|
+
export const I64: IntegerFactory<i64>;
|
|
102
|
+
export const U8: IntegerFactory<u8>;
|
|
103
|
+
export const U16: IntegerFactory<u16>;
|
|
104
|
+
export const U32: IntegerFactory<u32>;
|
|
105
|
+
export const U64: IntegerFactory<u64>;
|
|
106
|
+
|
|
107
|
+
export function kindOf(value: unknown): MachineNumericOrHostKind;
|
|
108
|
+
export function isNumeric(value: unknown): value is Numeric;
|
|
109
|
+
export function isInt(value: unknown): value is Int;
|
|
110
|
+
export function isFloat(value: unknown): value is Float;
|
|
111
|
+
export function isF64(value: unknown): value is f64;
|
|
112
|
+
export function isF32(value: unknown): value is f32;
|
|
113
|
+
export function isI8(value: unknown): value is i8;
|
|
114
|
+
export function isI16(value: unknown): value is i16;
|
|
115
|
+
export function isI32(value: unknown): value is i32;
|
|
116
|
+
export function isI64(value: unknown): value is i64;
|
|
117
|
+
export function isU8(value: unknown): value is u8;
|
|
118
|
+
export function isU16(value: unknown): value is u16;
|
|
119
|
+
export function isU32(value: unknown): value is u32;
|
|
120
|
+
export function isU64(value: unknown): value is u64;
|
|
121
|
+
|
|
122
|
+
export function fitsF32(value: unknown): boolean;
|
|
123
|
+
export function fitsI8(value: unknown): boolean;
|
|
124
|
+
export function fitsI16(value: unknown): boolean;
|
|
125
|
+
export function fitsI32(value: unknown): boolean;
|
|
126
|
+
export function fitsI64(value: unknown): boolean;
|
|
127
|
+
export function fitsU8(value: unknown): boolean;
|
|
128
|
+
export function fitsU16(value: unknown): boolean;
|
|
129
|
+
export function fitsU32(value: unknown): boolean;
|
|
130
|
+
export function fitsU64(value: unknown): boolean;
|
|
131
|
+
|
|
132
|
+
export function toHostNumber(value: Numeric): number;
|
|
133
|
+
export function toHostBigInt(value: Int): bigint;
|
|
134
|
+
export function format(value: Numeric | number | bigint): string;
|
|
135
|
+
export function keyOf(value: Numeric): string;
|
|
136
|
+
export function readF64(view: DataView, byteOffset: number, littleEndian?: boolean): f64;
|
|
137
|
+
export function readF32(view: DataView, byteOffset: number, littleEndian?: boolean): f32;
|
|
138
|
+
export function readI8(view: DataView, byteOffset: number): i8;
|
|
139
|
+
export function readI16(view: DataView, byteOffset: number, littleEndian?: boolean): i16;
|
|
140
|
+
export function readI32(view: DataView, byteOffset: number, littleEndian?: boolean): i32;
|
|
141
|
+
export function readI64(view: DataView, byteOffset: number, littleEndian?: boolean): i64;
|
|
142
|
+
export function readU8(view: DataView, byteOffset: number): u8;
|
|
143
|
+
export function readU16(view: DataView, byteOffset: number, littleEndian?: boolean): u16;
|
|
144
|
+
export function readU32(view: DataView, byteOffset: number, littleEndian?: boolean): u32;
|
|
145
|
+
export function readU64(view: DataView, byteOffset: number, littleEndian?: boolean): u64;
|
|
146
|
+
export function writeF64(
|
|
147
|
+
view: DataView,
|
|
148
|
+
byteOffset: number,
|
|
149
|
+
value: NumericLikeInput,
|
|
150
|
+
littleEndian?: boolean,
|
|
151
|
+
): void;
|
|
152
|
+
export function writeF32(
|
|
153
|
+
view: DataView,
|
|
154
|
+
byteOffset: number,
|
|
155
|
+
value: NumericLikeInput,
|
|
156
|
+
littleEndian?: boolean,
|
|
157
|
+
): void;
|
|
158
|
+
export function writeI8(view: DataView, byteOffset: number, value: NumericLikeInput): void;
|
|
159
|
+
export function writeI16(
|
|
160
|
+
view: DataView,
|
|
161
|
+
byteOffset: number,
|
|
162
|
+
value: NumericLikeInput,
|
|
163
|
+
littleEndian?: boolean,
|
|
164
|
+
): void;
|
|
165
|
+
export function writeI32(
|
|
166
|
+
view: DataView,
|
|
167
|
+
byteOffset: number,
|
|
168
|
+
value: NumericLikeInput,
|
|
169
|
+
littleEndian?: boolean,
|
|
170
|
+
): void;
|
|
171
|
+
export function writeI64(
|
|
172
|
+
view: DataView,
|
|
173
|
+
byteOffset: number,
|
|
174
|
+
value: NumericLikeInput,
|
|
175
|
+
littleEndian?: boolean,
|
|
176
|
+
): void;
|
|
177
|
+
export function writeU8(view: DataView, byteOffset: number, value: NumericLikeInput): void;
|
|
178
|
+
export function writeU16(
|
|
179
|
+
view: DataView,
|
|
180
|
+
byteOffset: number,
|
|
181
|
+
value: NumericLikeInput,
|
|
182
|
+
littleEndian?: boolean,
|
|
183
|
+
): void;
|
|
184
|
+
export function writeU32(
|
|
185
|
+
view: DataView,
|
|
186
|
+
byteOffset: number,
|
|
187
|
+
value: NumericLikeInput,
|
|
188
|
+
littleEndian?: boolean,
|
|
189
|
+
): void;
|
|
190
|
+
export function writeU64(
|
|
191
|
+
view: DataView,
|
|
192
|
+
byteOffset: number,
|
|
193
|
+
value: NumericLikeInput,
|
|
194
|
+
littleEndian?: boolean,
|
|
195
|
+
): void;
|
|
196
|
+
|
|
197
|
+
export class I8Array implements Iterable<i8> {
|
|
198
|
+
[index: number]: i8;
|
|
199
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
200
|
+
static fromHostView(view: Int8Array): I8Array;
|
|
201
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
202
|
+
readonly buffer: ArrayBufferLike;
|
|
203
|
+
readonly byteLength: number;
|
|
204
|
+
readonly byteOffset: number;
|
|
205
|
+
readonly length: number;
|
|
206
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
207
|
+
at(index: number): i8 | undefined;
|
|
208
|
+
entries(): IterableIterator<[number, i8]>;
|
|
209
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
210
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
211
|
+
keys(): IterableIterator<number>;
|
|
212
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
213
|
+
values(): IterableIterator<i8>;
|
|
214
|
+
copyWithin(target: number, start: number, end?: number): I8Array;
|
|
215
|
+
fill(value: NumericLikeInput, start?: number, end?: number): I8Array;
|
|
216
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
217
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
218
|
+
slice(begin?: number, end?: number): I8Array;
|
|
219
|
+
subarray(begin?: number, end?: number): I8Array;
|
|
220
|
+
toHostView(): Int8Array;
|
|
221
|
+
[Symbol.iterator](): IterableIterator<i8>;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export class U8Array implements Iterable<u8> {
|
|
225
|
+
[index: number]: u8;
|
|
226
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
227
|
+
static fromHostView(view: Uint8Array): U8Array;
|
|
228
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
229
|
+
readonly buffer: ArrayBufferLike;
|
|
230
|
+
readonly byteLength: number;
|
|
231
|
+
readonly byteOffset: number;
|
|
232
|
+
readonly length: number;
|
|
233
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
234
|
+
at(index: number): u8 | undefined;
|
|
235
|
+
entries(): IterableIterator<[number, u8]>;
|
|
236
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
237
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
238
|
+
keys(): IterableIterator<number>;
|
|
239
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
240
|
+
values(): IterableIterator<u8>;
|
|
241
|
+
copyWithin(target: number, start: number, end?: number): U8Array;
|
|
242
|
+
fill(value: NumericLikeInput, start?: number, end?: number): U8Array;
|
|
243
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
244
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
245
|
+
slice(begin?: number, end?: number): U8Array;
|
|
246
|
+
subarray(begin?: number, end?: number): U8Array;
|
|
247
|
+
toHostView(): Uint8Array;
|
|
248
|
+
[Symbol.iterator](): IterableIterator<u8>;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export class I16Array implements Iterable<i16> {
|
|
252
|
+
[index: number]: i16;
|
|
253
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
254
|
+
static fromHostView(view: Int16Array): I16Array;
|
|
255
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
256
|
+
readonly buffer: ArrayBufferLike;
|
|
257
|
+
readonly byteLength: number;
|
|
258
|
+
readonly byteOffset: number;
|
|
259
|
+
readonly length: number;
|
|
260
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
261
|
+
at(index: number): i16 | undefined;
|
|
262
|
+
entries(): IterableIterator<[number, i16]>;
|
|
263
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
264
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
265
|
+
keys(): IterableIterator<number>;
|
|
266
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
267
|
+
values(): IterableIterator<i16>;
|
|
268
|
+
copyWithin(target: number, start: number, end?: number): I16Array;
|
|
269
|
+
fill(value: NumericLikeInput, start?: number, end?: number): I16Array;
|
|
270
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
271
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
272
|
+
slice(begin?: number, end?: number): I16Array;
|
|
273
|
+
subarray(begin?: number, end?: number): I16Array;
|
|
274
|
+
toHostView(): Int16Array;
|
|
275
|
+
[Symbol.iterator](): IterableIterator<i16>;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export class U16Array implements Iterable<u16> {
|
|
279
|
+
[index: number]: u16;
|
|
280
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
281
|
+
static fromHostView(view: Uint16Array): U16Array;
|
|
282
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
283
|
+
readonly buffer: ArrayBufferLike;
|
|
284
|
+
readonly byteLength: number;
|
|
285
|
+
readonly byteOffset: number;
|
|
286
|
+
readonly length: number;
|
|
287
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
288
|
+
at(index: number): u16 | undefined;
|
|
289
|
+
entries(): IterableIterator<[number, u16]>;
|
|
290
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
291
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
292
|
+
keys(): IterableIterator<number>;
|
|
293
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
294
|
+
values(): IterableIterator<u16>;
|
|
295
|
+
copyWithin(target: number, start: number, end?: number): U16Array;
|
|
296
|
+
fill(value: NumericLikeInput, start?: number, end?: number): U16Array;
|
|
297
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
298
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
299
|
+
slice(begin?: number, end?: number): U16Array;
|
|
300
|
+
subarray(begin?: number, end?: number): U16Array;
|
|
301
|
+
toHostView(): Uint16Array;
|
|
302
|
+
[Symbol.iterator](): IterableIterator<u16>;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export class I32Array implements Iterable<i32> {
|
|
306
|
+
[index: number]: i32;
|
|
307
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
308
|
+
static fromHostView(view: Int32Array): I32Array;
|
|
309
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
310
|
+
readonly buffer: ArrayBufferLike;
|
|
311
|
+
readonly byteLength: number;
|
|
312
|
+
readonly byteOffset: number;
|
|
313
|
+
readonly length: number;
|
|
314
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
315
|
+
at(index: number): i32 | undefined;
|
|
316
|
+
entries(): IterableIterator<[number, i32]>;
|
|
317
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
318
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
319
|
+
keys(): IterableIterator<number>;
|
|
320
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
321
|
+
values(): IterableIterator<i32>;
|
|
322
|
+
copyWithin(target: number, start: number, end?: number): I32Array;
|
|
323
|
+
fill(value: NumericLikeInput, start?: number, end?: number): I32Array;
|
|
324
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
325
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
326
|
+
slice(begin?: number, end?: number): I32Array;
|
|
327
|
+
subarray(begin?: number, end?: number): I32Array;
|
|
328
|
+
toHostView(): Int32Array;
|
|
329
|
+
[Symbol.iterator](): IterableIterator<i32>;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export class U32Array implements Iterable<u32> {
|
|
333
|
+
[index: number]: u32;
|
|
334
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
335
|
+
static fromHostView(view: Uint32Array): U32Array;
|
|
336
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
337
|
+
readonly buffer: ArrayBufferLike;
|
|
338
|
+
readonly byteLength: number;
|
|
339
|
+
readonly byteOffset: number;
|
|
340
|
+
readonly length: number;
|
|
341
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
342
|
+
at(index: number): u32 | undefined;
|
|
343
|
+
entries(): IterableIterator<[number, u32]>;
|
|
344
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
345
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
346
|
+
keys(): IterableIterator<number>;
|
|
347
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
348
|
+
values(): IterableIterator<u32>;
|
|
349
|
+
copyWithin(target: number, start: number, end?: number): U32Array;
|
|
350
|
+
fill(value: NumericLikeInput, start?: number, end?: number): U32Array;
|
|
351
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
352
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
353
|
+
slice(begin?: number, end?: number): U32Array;
|
|
354
|
+
subarray(begin?: number, end?: number): U32Array;
|
|
355
|
+
toHostView(): Uint32Array;
|
|
356
|
+
[Symbol.iterator](): IterableIterator<u32>;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
export class I64Array implements Iterable<i64> {
|
|
360
|
+
[index: number]: i64;
|
|
361
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
362
|
+
static fromHostView(view: BigInt64Array): I64Array;
|
|
363
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
364
|
+
readonly buffer: ArrayBufferLike;
|
|
365
|
+
readonly byteLength: number;
|
|
366
|
+
readonly byteOffset: number;
|
|
367
|
+
readonly length: number;
|
|
368
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
369
|
+
at(index: number): i64 | undefined;
|
|
370
|
+
entries(): IterableIterator<[number, i64]>;
|
|
371
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
372
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
373
|
+
keys(): IterableIterator<number>;
|
|
374
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
375
|
+
values(): IterableIterator<i64>;
|
|
376
|
+
copyWithin(target: number, start: number, end?: number): I64Array;
|
|
377
|
+
fill(value: NumericLikeInput, start?: number, end?: number): I64Array;
|
|
378
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
379
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
380
|
+
slice(begin?: number, end?: number): I64Array;
|
|
381
|
+
subarray(begin?: number, end?: number): I64Array;
|
|
382
|
+
toHostView(): BigInt64Array;
|
|
383
|
+
[Symbol.iterator](): IterableIterator<i64>;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export class U64Array implements Iterable<u64> {
|
|
387
|
+
[index: number]: u64;
|
|
388
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
389
|
+
static fromHostView(view: BigUint64Array): U64Array;
|
|
390
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
391
|
+
readonly buffer: ArrayBufferLike;
|
|
392
|
+
readonly byteLength: number;
|
|
393
|
+
readonly byteOffset: number;
|
|
394
|
+
readonly length: number;
|
|
395
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
396
|
+
at(index: number): u64 | undefined;
|
|
397
|
+
entries(): IterableIterator<[number, u64]>;
|
|
398
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
399
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
400
|
+
keys(): IterableIterator<number>;
|
|
401
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
402
|
+
values(): IterableIterator<u64>;
|
|
403
|
+
copyWithin(target: number, start: number, end?: number): U64Array;
|
|
404
|
+
fill(value: NumericLikeInput, start?: number, end?: number): U64Array;
|
|
405
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
406
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
407
|
+
slice(begin?: number, end?: number): U64Array;
|
|
408
|
+
subarray(begin?: number, end?: number): U64Array;
|
|
409
|
+
toHostView(): BigUint64Array;
|
|
410
|
+
[Symbol.iterator](): IterableIterator<u64>;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export class F32Array implements Iterable<f32> {
|
|
414
|
+
[index: number]: f32;
|
|
415
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
416
|
+
static fromHostView(view: Float32Array): F32Array;
|
|
417
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
418
|
+
readonly buffer: ArrayBufferLike;
|
|
419
|
+
readonly byteLength: number;
|
|
420
|
+
readonly byteOffset: number;
|
|
421
|
+
readonly length: number;
|
|
422
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
423
|
+
at(index: number): f32 | undefined;
|
|
424
|
+
entries(): IterableIterator<[number, f32]>;
|
|
425
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
426
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
427
|
+
keys(): IterableIterator<number>;
|
|
428
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
429
|
+
values(): IterableIterator<f32>;
|
|
430
|
+
copyWithin(target: number, start: number, end?: number): F32Array;
|
|
431
|
+
fill(value: NumericLikeInput, start?: number, end?: number): F32Array;
|
|
432
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
433
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
434
|
+
slice(begin?: number, end?: number): F32Array;
|
|
435
|
+
subarray(begin?: number, end?: number): F32Array;
|
|
436
|
+
toHostView(): Float32Array;
|
|
437
|
+
[Symbol.iterator](): IterableIterator<f32>;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
export class F64Array implements Iterable<f64> {
|
|
441
|
+
[index: number]: f64;
|
|
442
|
+
static readonly BYTES_PER_ELEMENT: number;
|
|
443
|
+
static fromHostView(view: Float64Array): F64Array;
|
|
444
|
+
readonly BYTES_PER_ELEMENT: number;
|
|
445
|
+
readonly buffer: ArrayBufferLike;
|
|
446
|
+
readonly byteLength: number;
|
|
447
|
+
readonly byteOffset: number;
|
|
448
|
+
readonly length: number;
|
|
449
|
+
constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number);
|
|
450
|
+
at(index: number): f64 | undefined;
|
|
451
|
+
entries(): IterableIterator<[number, f64]>;
|
|
452
|
+
includes(searchElement: NumericLikeInput, fromIndex?: number): boolean;
|
|
453
|
+
indexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
454
|
+
keys(): IterableIterator<number>;
|
|
455
|
+
lastIndexOf(searchElement: NumericLikeInput, fromIndex?: number): number;
|
|
456
|
+
values(): IterableIterator<f64>;
|
|
457
|
+
copyWithin(target: number, start: number, end?: number): F64Array;
|
|
458
|
+
fill(value: NumericLikeInput, start?: number, end?: number): F64Array;
|
|
459
|
+
setAt(index: number, value: NumericLikeInput): void;
|
|
460
|
+
set(source: ArrayLike<NumericLikeInput> | Iterable<NumericLikeInput>, offset?: number): void;
|
|
461
|
+
slice(begin?: number, end?: number): F64Array;
|
|
462
|
+
subarray(begin?: number, end?: number): F64Array;
|
|
463
|
+
toHostView(): Float64Array;
|
|
464
|
+
[Symbol.iterator](): IterableIterator<f64>;
|
|
465
|
+
}
|
|
466
|
+
export function equalAs<T extends Numeric>(
|
|
467
|
+
leaf: NumericFactory<T>,
|
|
468
|
+
left: NumericLikeInput,
|
|
469
|
+
right: NumericLikeInput,
|
|
470
|
+
): boolean;
|
|
471
|
+
export function compareAs<T extends Numeric>(
|
|
472
|
+
leaf: NumericFactory<T>,
|
|
473
|
+
left: NumericLikeInput,
|
|
474
|
+
right: NumericLikeInput,
|
|
475
|
+
): number;
|
|
476
|
+
export function eqAs<T extends Numeric>(leaf: NumericFactory<T>): Eq<NumericLikeInput>;
|
|
477
|
+
export function orderAs<T extends Numeric>(leaf: NumericFactory<T>): Order<NumericLikeInput>;
|
|
478
|
+
export function hashEqAs<T extends Numeric>(leaf: NumericFactory<T>): HashEq<NumericLikeInput>;
|
|
479
|
+
export function minAs<T extends Numeric>(
|
|
480
|
+
leaf: NumericFactory<T>,
|
|
481
|
+
values: Iterable<NumericLikeInput>,
|
|
482
|
+
): T | undefined;
|
|
483
|
+
export function maxAs<T extends Numeric>(
|
|
484
|
+
leaf: NumericFactory<T>,
|
|
485
|
+
values: Iterable<NumericLikeInput>,
|
|
486
|
+
): T | undefined;
|
|
487
|
+
export function clampAs<T extends Numeric>(
|
|
488
|
+
leaf: NumericFactory<T>,
|
|
489
|
+
value: NumericLikeInput,
|
|
490
|
+
minimum: NumericLikeInput,
|
|
491
|
+
maximum: NumericLikeInput,
|
|
492
|
+
): T;
|
|
493
|
+
export function binarySearchAs<T extends Numeric>(
|
|
494
|
+
leaf: NumericFactory<T>,
|
|
495
|
+
values: ArrayLike<NumericLikeInput>,
|
|
496
|
+
target: NumericLikeInput,
|
|
497
|
+
): number;
|
|
498
|
+
|
|
499
|
+
type BinaryNumericOperator =
|
|
500
|
+
| '+'
|
|
501
|
+
| '-'
|
|
502
|
+
| '*'
|
|
503
|
+
| '/'
|
|
504
|
+
| '%'
|
|
505
|
+
| '**'
|
|
506
|
+
| '&'
|
|
507
|
+
| '|'
|
|
508
|
+
| '^'
|
|
509
|
+
| '<<'
|
|
510
|
+
| '>>'
|
|
511
|
+
| '>>>';
|
|
512
|
+
type UnaryNumericOperator = '+' | '-' | '~';
|
|
513
|
+
|
|
514
|
+
export function __numericBinary<T extends Numeric>(
|
|
515
|
+
operator: BinaryNumericOperator,
|
|
516
|
+
left: T,
|
|
517
|
+
right: T,
|
|
518
|
+
): T;
|
|
519
|
+
export function __numericUnary<T extends Numeric>(
|
|
520
|
+
operator: UnaryNumericOperator,
|
|
521
|
+
value: T,
|
|
522
|
+
): T;
|
|
36
523
|
export function __numericWasmLeaf<T>(value: unknown): T;
|
|
37
|
-
export function F32(value: number): f32;
|
|
38
|
-
export function I8(value: number): i8;
|
|
39
|
-
export function I16(value: number): i16;
|
|
40
|
-
export function I32(value: number): i32;
|
|
41
|
-
export function I64(value: number | bigint): i64;
|
|
42
|
-
export function U8(value: number): u8;
|
|
43
|
-
export function U16(value: number): u16;
|
|
44
|
-
export function U32(value: number): u32;
|
|
45
|
-
export function U64(value: number | bigint): u64;
|
package/src/stdlib/result.d.ts
CHANGED
|
@@ -2,17 +2,32 @@ import type { Bind, Kind, Kind2, TypeLambda } from 'sts:hkt';
|
|
|
2
2
|
import type { Applicative, Functor, Monad } from 'sts:typeclasses';
|
|
3
3
|
|
|
4
4
|
// #[variance(T: out)]
|
|
5
|
-
export
|
|
5
|
+
export class Ok<T> {
|
|
6
|
+
readonly tag: 'ok';
|
|
7
|
+
readonly value: T;
|
|
8
|
+
constructor(value: T);
|
|
9
|
+
}
|
|
6
10
|
// #[variance(E: out)]
|
|
7
|
-
export
|
|
11
|
+
export class Err<E> {
|
|
12
|
+
readonly tag: 'err';
|
|
13
|
+
readonly error: E;
|
|
14
|
+
constructor(error: E);
|
|
15
|
+
}
|
|
8
16
|
|
|
9
17
|
// #[variance(T: out, E: out)]
|
|
10
18
|
export type Result<T, E> = Ok<T> | Err<E>;
|
|
11
19
|
// #[variance(T: out)]
|
|
12
|
-
export
|
|
13
|
-
|
|
20
|
+
export class Some<T> {
|
|
21
|
+
readonly tag: 'some';
|
|
22
|
+
readonly value: T;
|
|
23
|
+
constructor(value: T);
|
|
24
|
+
}
|
|
25
|
+
export class None {
|
|
26
|
+
readonly tag: 'none';
|
|
27
|
+
constructor();
|
|
28
|
+
}
|
|
14
29
|
// #[variance(T: out)]
|
|
15
|
-
export type Option<T> =
|
|
30
|
+
export type Option<T> = Some<T> | None;
|
|
16
31
|
|
|
17
32
|
export interface OptionF extends TypeLambda {
|
|
18
33
|
readonly type: Option<this['Args'][0]>;
|
|
@@ -50,3 +65,4 @@ export function resultApplicative<E>(): Applicative<Bind<ResultF, [E]>>;
|
|
|
50
65
|
export function resultMonad<E>(): Monad<Bind<ResultF, [E]>>;
|
|
51
66
|
|
|
52
67
|
export function Try<T, E>(value: Result<T, E>): T;
|
|
68
|
+
export function Try<T>(value: Option<T>): T;
|
|
@@ -29,7 +29,7 @@ export interface Monad<F extends TypeLambda> extends Applicative<F> {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export interface AsyncMonad<F extends TypeLambda> extends Monad<F> {
|
|
32
|
-
fromPromise<A>(promise:
|
|
32
|
+
fromPromise<A>(promise: Promise<A>): Kind<F, A>;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export function monadGen<F extends TypeLambda, T>(
|
|
@@ -46,7 +46,7 @@ export interface DoRuntime {
|
|
|
46
46
|
): Kind<F, T>;
|
|
47
47
|
<F extends TypeLambda, T>(
|
|
48
48
|
monad: AsyncMonad<F>,
|
|
49
|
-
body: (bind: Binder<F>) => T |
|
|
49
|
+
body: (bind: Binder<F>) => T | Promise<T>,
|
|
50
50
|
): Kind<F, T>;
|
|
51
51
|
readonly macroBind: <F extends TypeLambda>(
|
|
52
52
|
monad: Monad<F>,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function __valueShallowToken(value: unknown): string;
|
|
2
|
+
export function __valueDeepToken(value: unknown): string;
|
|
3
|
+
export function __valueKey(...tokens: readonly string[]): string;
|
|
4
|
+
export function __valueReadonly(target: object, key: PropertyKey, value: unknown): void;
|
|
5
|
+
export function __valueFactory<T extends object, TArgs extends readonly unknown[]>(
|
|
6
|
+
keyOf: (...args: TArgs) => string,
|
|
7
|
+
allocate: () => T,
|
|
8
|
+
init: (instance: T, ...args: TArgs) => void,
|
|
9
|
+
): (...args: TArgs) => T;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export interface ComponentContextKey<T> {
|
|
2
|
-
readonly __ss_component_context_key: symbol;
|
|
3
|
-
readonly __ss_component_context_type__?: (_value: T) => T;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export interface ComponentEvent<Detail = unknown, Target = unknown> {
|
|
7
|
-
readonly currentTarget: Target;
|
|
8
|
-
readonly detail: Detail;
|
|
9
|
-
readonly target: Target;
|
|
10
|
-
readonly type: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function state<T>(value: T): T;
|
|
14
|
-
export function awaited<T, PendingResult, FulfilledResult, RejectedResult = never>(
|
|
15
|
-
promise: PromiseLike<T>,
|
|
16
|
-
pending: PendingResult | (() => PendingResult),
|
|
17
|
-
fulfilled: (value: T) => FulfilledResult,
|
|
18
|
-
rejected?: (error: unknown) => RejectedResult,
|
|
19
|
-
): PendingResult | FulfilledResult | RejectedResult;
|
|
20
|
-
export function boundary<RenderResult, FallbackResult>(
|
|
21
|
-
render: () => RenderResult,
|
|
22
|
-
fallback: (error: unknown) => FallbackResult,
|
|
23
|
-
): RenderResult | FallbackResult;
|
|
24
|
-
export function context<T>(): ComponentContextKey<T>;
|
|
25
|
-
export function dispatch<T = undefined>(type: string, detail?: T): void;
|
|
26
|
-
export function derived<T>(compute: () => T): T;
|
|
27
|
-
export function effect<T>(callback: () => T): T;
|
|
28
|
-
export function onMount<T>(callback: () => T): T;
|
|
29
|
-
export function prop<T = never>(): T;
|
|
30
|
-
export function prop<T>(value: T): T;
|
|
31
|
-
export function provide<T, R>(context: ComponentContextKey<T>, value: T, content: R): R;
|
|
32
|
-
export function provide<T, R>(
|
|
33
|
-
context: ComponentContextKey<T>,
|
|
34
|
-
value: T,
|
|
35
|
-
content: () => R,
|
|
36
|
-
): R;
|
|
37
|
-
export function useContext<T>(value: ComponentContextKey<T>): T;
|
|
38
|
-
export function useStore<T>(value: T): T;
|
|
39
|
-
export function component<T>(value: T): T;
|
|
40
|
-
export function store<T>(value: T): T;
|