ts-data-forge 1.2.0 → 1.4.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 +145 -97
- package/dist/array/array-utils.d.mts +32 -0
- package/dist/array/array-utils.d.mts.map +1 -1
- package/dist/array/array-utils.mjs +32 -0
- package/dist/array/array-utils.mjs.map +1 -1
- package/dist/functional/optional.d.mts.map +1 -1
- package/dist/functional/optional.mjs +9 -3
- package/dist/functional/optional.mjs.map +1 -1
- package/dist/functional/result.d.mts.map +1 -1
- package/dist/functional/result.mjs +40 -14
- package/dist/functional/result.mjs.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/iterator/range.d.mts.map +1 -1
- package/dist/iterator/range.mjs +1 -1
- package/dist/iterator/range.mjs.map +1 -1
- package/dist/object/object.d.mts.map +1 -1
- package/dist/object/object.mjs +17 -6
- package/dist/object/object.mjs.map +1 -1
- package/dist/promise/index.d.mts +2 -0
- package/dist/promise/index.d.mts.map +1 -0
- package/dist/promise/index.mjs +2 -0
- package/dist/promise/index.mjs.map +1 -0
- package/dist/promise/promise.d.mts +32 -0
- package/dist/promise/promise.d.mts.map +1 -0
- package/dist/promise/promise.mjs +38 -0
- package/dist/promise/promise.mjs.map +1 -0
- package/package.json +18 -9
- package/src/array/array-utils-creation.test.mts +96 -0
- package/src/array/array-utils.mts +35 -0
- package/src/functional/optional.mts +9 -3
- package/src/functional/optional.test.mts +6 -3
- package/src/functional/result.mts +32 -10
- package/src/index.mts +1 -0
- package/src/iterator/range.mts +1 -1
- package/src/object/object.mts +29 -13
- package/src/others/memoize-function.test.mts +2 -1
- package/src/promise/index.mts +1 -0
- package/src/promise/promise.mts +38 -0
package/README.md
CHANGED
|
@@ -139,6 +139,7 @@ expectType<{ x: number }, { x: number }>('=');
|
|
|
139
139
|
// The following would cause a compile-time error:
|
|
140
140
|
// expectType<User, Admin>("="); // Error: Type 'User' is not strictly equal to type 'Admin'.
|
|
141
141
|
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
142
143
|
expectType<User, any>('!='); // Error: Comparisons with `any` are also strictly checked.
|
|
143
144
|
```
|
|
144
145
|
|
|
@@ -147,55 +148,53 @@ expectType<User, any>('!='); // Error: Comparisons with `any` are also strictly
|
|
|
147
148
|
Handle nullable values and error-prone operations safely.
|
|
148
149
|
|
|
149
150
|
```typescript
|
|
150
|
-
import {
|
|
151
|
+
import { match, Optional, pipe, Result } from 'ts-data-forge';
|
|
151
152
|
|
|
152
153
|
// Optional for nullable values
|
|
153
154
|
const maybeValue = Optional.some(42);
|
|
154
|
-
const nothing = Optional.none;
|
|
155
155
|
|
|
156
156
|
const doubled = Optional.map(maybeValue, (x) => x * 2);
|
|
157
|
-
|
|
157
|
+
|
|
158
|
+
assert.strictEqual(Optional.unwrapOr(doubled, 0), 84);
|
|
158
159
|
|
|
159
160
|
// Result for error handling
|
|
160
161
|
const success = Result.ok(42);
|
|
161
|
-
const failure = Result.err('Something went wrong');
|
|
162
162
|
|
|
163
163
|
const mapped = Result.map(success, (x) => x * 2);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
164
|
+
|
|
165
|
+
assert.deepStrictEqual(mapped, Result.ok(84));
|
|
167
166
|
|
|
168
167
|
// Advanced pipe usage
|
|
169
|
-
const processNumber = (input: number) =>
|
|
168
|
+
const processNumber = (input: number): Optional<number> =>
|
|
170
169
|
pipe(input)
|
|
171
170
|
.map((x) => x * 2) // Regular transformation
|
|
172
171
|
.map((x) => x + 10) // Chain transformations
|
|
173
|
-
.map((x) => (x > 50 ? Optional.some(x) : Optional.none)) //
|
|
174
|
-
|
|
172
|
+
.map((x) => (x > 50 ? Optional.some(x / 2) : Optional.none)).value; // Get the result
|
|
173
|
+
|
|
174
|
+
assert.deepStrictEqual(processNumber(30), Optional.some(35));
|
|
175
175
|
|
|
176
|
-
|
|
177
|
-
console.log(processNumber(10)); // Optional.none
|
|
176
|
+
assert.deepStrictEqual(processNumber(10), Optional.none);
|
|
178
177
|
|
|
179
178
|
// Pattern matching with match
|
|
180
179
|
type Status = 'loading' | 'success' | 'error';
|
|
181
180
|
|
|
182
|
-
const handleStatus = (status: Status, data?: string) =>
|
|
181
|
+
const handleStatus = (status: Status, data?: string): string =>
|
|
183
182
|
match(status, {
|
|
184
183
|
loading: 'Please wait...',
|
|
185
184
|
success: `Data: ${data ?? 'No data'}`,
|
|
186
185
|
error: 'An error occurred',
|
|
187
186
|
});
|
|
188
187
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
assert.strictEqual(handleStatus('loading'), 'Please wait...');
|
|
189
|
+
assert.strictEqual(handleStatus('success', 'Hello'), 'Data: Hello');
|
|
190
|
+
assert.strictEqual(handleStatus('error'), 'An error occurred');
|
|
192
191
|
|
|
193
192
|
// Pattern matching with Result
|
|
194
|
-
const processResult = (result: Result<number, string>) =>
|
|
193
|
+
const processResult = (result: Result<number, string>): string =>
|
|
195
194
|
Result.isOk(result) ? `Success: ${result.value}` : `Error: ${result.value}`;
|
|
196
195
|
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
assert.strictEqual(processResult(Result.ok(42)), 'Success: 42');
|
|
197
|
+
assert.strictEqual(processResult(Result.err('Failed')), 'Error: Failed');
|
|
199
198
|
```
|
|
200
199
|
|
|
201
200
|
### 3. Number Utilities with `Num` and Branded Number Types
|
|
@@ -206,32 +205,35 @@ The `Num` object provides safe and convenient functions for numerical operations
|
|
|
206
205
|
import { Num } from 'ts-data-forge';
|
|
207
206
|
|
|
208
207
|
// Basic conversions
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
assert.strictEqual(Num.from('123'), 123);
|
|
209
|
+
assert.strictEqual(Number.isNaN(Num.from('abc')), true);
|
|
211
210
|
|
|
212
211
|
// Range checking
|
|
213
212
|
const inRange = Num.isInRange(0, 10);
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
|
|
214
|
+
assert.strictEqual(inRange(5), true);
|
|
215
|
+
assert.strictEqual(inRange(0), true); // (inclusive lower bound)
|
|
216
|
+
assert.strictEqual(inRange(10), false); // (exclusive upper bound)
|
|
217
217
|
|
|
218
218
|
// Clamping values
|
|
219
219
|
const clamp = Num.clamp(0, 100);
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
|
|
221
|
+
assert.strictEqual(clamp(150), 100);
|
|
222
|
+
assert.strictEqual(clamp(-10), 0);
|
|
222
223
|
|
|
223
224
|
// Rounding utilities
|
|
224
225
|
const round2 = Num.round(2);
|
|
225
|
-
console.log(round2(3.14159)); // 3.14
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
227
|
+
assert.strictEqual(round2(3.14159), 3.14);
|
|
228
|
+
assert.strictEqual(Num.roundAt(3.14159, 3), 3.142);
|
|
229
|
+
assert.strictEqual(Num.roundToInt(3.7), 4);
|
|
229
230
|
|
|
230
231
|
// Type guards
|
|
231
|
-
|
|
232
|
+
const value = 5; // example value
|
|
232
233
|
if (Num.isNonZero(value)) {
|
|
233
234
|
// value is guaranteed to be non-zero
|
|
234
235
|
const result = Num.div(10, value); // Safe division
|
|
236
|
+
assert.strictEqual(result, 2);
|
|
235
237
|
}
|
|
236
238
|
```
|
|
237
239
|
|
|
@@ -241,22 +243,16 @@ if (Num.isNonZero(value)) {
|
|
|
241
243
|
|
|
242
244
|
```typescript
|
|
243
245
|
import {
|
|
244
|
-
asInt,
|
|
245
|
-
asUint,
|
|
246
246
|
asFiniteNumber,
|
|
247
|
-
|
|
247
|
+
asInt,
|
|
248
248
|
asInt16,
|
|
249
|
-
asUint32,
|
|
250
249
|
asNonZeroInt,
|
|
251
250
|
asPositiveInt,
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
SafeInt,
|
|
251
|
+
asSafeInt,
|
|
252
|
+
asUint,
|
|
253
|
+
asUint32,
|
|
256
254
|
Int16,
|
|
257
|
-
Uint32,
|
|
258
255
|
NonZeroInt,
|
|
259
|
-
PositiveInt,
|
|
260
256
|
} from 'ts-data-forge';
|
|
261
257
|
|
|
262
258
|
// Basic branded types
|
|
@@ -265,25 +261,42 @@ const unsigned = asUint(42); // Uint - non-negative integer
|
|
|
265
261
|
const finite = asFiniteNumber(3.14); // FiniteNumber - finite floating-point
|
|
266
262
|
const safeInt = asSafeInt(42); // SafeInt - integer in safe range
|
|
267
263
|
|
|
268
|
-
|
|
264
|
+
assert.strictEqual(integer, 42);
|
|
265
|
+
assert.strictEqual(unsigned, 42);
|
|
266
|
+
assert.strictEqual(finite, 3.14);
|
|
267
|
+
assert.strictEqual(safeInt, 42);
|
|
268
|
+
|
|
269
|
+
// This line would cause a runtime error:
|
|
270
|
+
assert.throw(() => {
|
|
271
|
+
asInt(3.14);
|
|
272
|
+
});
|
|
269
273
|
|
|
270
274
|
// Range-constrained types (16-bit, 32-bit)
|
|
271
275
|
const int16 = asInt16(1000); // Int16: [-32768, 32767]
|
|
272
276
|
const uint32 = asUint32(3000000000); // Uint32: [0, 4294967295]
|
|
277
|
+
assert.strictEqual(int16, 1000);
|
|
278
|
+
assert.strictEqual(uint32, 3000000000);
|
|
273
279
|
|
|
274
280
|
// Non-zero and positive variants
|
|
275
281
|
const nonZeroInt = asNonZeroInt(5); // NonZeroInt - excludes zero
|
|
276
282
|
const positiveInt = asPositiveInt(10); // PositiveInt - excludes zero and negatives
|
|
283
|
+
assert.strictEqual(nonZeroInt, 5);
|
|
284
|
+
assert.strictEqual(positiveInt, 10);
|
|
277
285
|
|
|
278
286
|
// Type-safe arithmetic with automatic clamping
|
|
279
287
|
const sum = Int16.add(int16, asInt16(2000)); // Int16 (3000)
|
|
280
288
|
const clamped = Int16.clamp(100000); // Int16 (32767 - clamped to MAX_VALUE)
|
|
289
|
+
assert.strictEqual(sum, 3000);
|
|
290
|
+
assert.strictEqual(clamped, 32767);
|
|
281
291
|
|
|
282
292
|
// Safe division with non-zero types
|
|
283
293
|
const ratio = NonZeroInt.div(asNonZeroInt(10), nonZeroInt); // No division by zero risk
|
|
294
|
+
assert.strictEqual(ratio, 2);
|
|
284
295
|
|
|
285
296
|
// Random generation within type constraints
|
|
286
297
|
const randomInt16 = Int16.random(); // Int16 (random value in valid range)
|
|
298
|
+
assert.strictEqual(-32768 <= randomInt16, true);
|
|
299
|
+
assert.strictEqual(randomInt16 <= 32767, true);
|
|
287
300
|
```
|
|
288
301
|
|
|
289
302
|
### 4. Array Utilities with `Arr`
|
|
@@ -291,39 +304,54 @@ const randomInt16 = Int16.random(); // Int16 (random value in valid range)
|
|
|
291
304
|
The `Arr` object provides a rich set of functions for array manipulation.
|
|
292
305
|
|
|
293
306
|
```typescript
|
|
294
|
-
import { Arr } from 'ts-data-forge';
|
|
307
|
+
import { Arr, expectType, Optional } from 'ts-data-forge';
|
|
295
308
|
|
|
296
309
|
const numbers: readonly number[] = [1, 2, 3, 4, 5, 2, 3];
|
|
297
|
-
const people = [
|
|
298
|
-
{ name: 'Alice', age: 30 },
|
|
299
|
-
{ name: 'Bob', age: 25 },
|
|
300
|
-
{ name: 'Charlie', age: 35 },
|
|
301
|
-
] as const;
|
|
302
310
|
|
|
303
311
|
// Reduction
|
|
304
312
|
const sum = Arr.sum(numbers);
|
|
305
|
-
console.log(sum); // 20
|
|
306
313
|
|
|
307
|
-
|
|
308
|
-
const zeros: readonly [0, 0, 0, 0, 0] = Arr.zeros(5); // [0, 0, 0, 0, 0]
|
|
309
|
-
const range: readonly [1, 2, 3] = Arr.range(1, 4); // [1, 2, 3]
|
|
314
|
+
assert.strictEqual(sum, 20);
|
|
310
315
|
|
|
311
316
|
// Type-safe length checking
|
|
312
317
|
if (Arr.isArrayAtLeastLength(numbers, 2)) {
|
|
313
|
-
// numbers is now guaranteed to have at least
|
|
318
|
+
// numbers is now guaranteed to have at least 2 elements
|
|
314
319
|
expectType<typeof numbers, readonly [number, number, ...number[]]>('=');
|
|
315
|
-
|
|
320
|
+
assert.strictEqual(numbers[1], 2); // Safe access to index 1
|
|
316
321
|
}
|
|
317
322
|
|
|
318
323
|
// Take first n elements
|
|
319
|
-
const firstThree = Arr.take(numbers, 3);
|
|
324
|
+
const firstThree = Arr.take(numbers, 3);
|
|
320
325
|
|
|
321
|
-
|
|
322
|
-
const oldestPerson = Arr.maxBy(people, (person) => person.age);
|
|
323
|
-
console.log(oldestPerson?.name); // 'Charlie'
|
|
326
|
+
assert.deepStrictEqual(firstThree, [1, 2, 3]);
|
|
324
327
|
|
|
325
328
|
// Remove duplicates
|
|
326
|
-
const unique = Arr.uniq(numbers);
|
|
329
|
+
const unique = Arr.uniq(numbers);
|
|
330
|
+
|
|
331
|
+
assert.deepStrictEqual(unique, [1, 2, 3, 4, 5]);
|
|
332
|
+
|
|
333
|
+
// Array creation
|
|
334
|
+
const zeros: readonly [0, 0, 0, 0, 0] = Arr.zeros(5);
|
|
335
|
+
assert.deepStrictEqual(zeros, [0, 0, 0, 0, 0]);
|
|
336
|
+
|
|
337
|
+
const range: readonly [1, 2, 3] = Arr.range(1, 4);
|
|
338
|
+
assert.deepStrictEqual(range, [1, 2, 3]);
|
|
339
|
+
|
|
340
|
+
const people = [
|
|
341
|
+
{ name: 'Alice', age: 30 },
|
|
342
|
+
{ name: 'Bob', age: 25 },
|
|
343
|
+
{ name: 'Charlie', age: 35 },
|
|
344
|
+
] as const;
|
|
345
|
+
|
|
346
|
+
// Find maximum by property
|
|
347
|
+
const oldestPerson = Arr.maxBy(people, (person) => person.age);
|
|
348
|
+
assert.deepStrictEqual(
|
|
349
|
+
oldestPerson,
|
|
350
|
+
Optional.some({ name: 'Charlie', age: 35 } as const),
|
|
351
|
+
);
|
|
352
|
+
if (Optional.isSome(oldestPerson)) {
|
|
353
|
+
assert.strictEqual(oldestPerson.value.name, 'Charlie');
|
|
354
|
+
}
|
|
327
355
|
```
|
|
328
356
|
|
|
329
357
|
### 5. Immutable Collections: `IMap` and `ISet`
|
|
@@ -331,7 +359,7 @@ const unique = Arr.uniq(numbers); // [1, 2, 3, 4, 5]
|
|
|
331
359
|
Type-safe, immutable data structures.
|
|
332
360
|
|
|
333
361
|
```typescript
|
|
334
|
-
import { IMap, ISet,
|
|
362
|
+
import { Arr, IMap, ISet, Optional } from 'ts-data-forge';
|
|
335
363
|
|
|
336
364
|
// IMap usage - immutable operations
|
|
337
365
|
const originalMap = IMap.create<string, number>([]);
|
|
@@ -339,34 +367,37 @@ const mapWithOne = originalMap.set('one', 1);
|
|
|
339
367
|
const mapWithTwo = mapWithOne.set('two', 2);
|
|
340
368
|
|
|
341
369
|
// Original map is unchanged
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
370
|
+
assert.strictEqual(originalMap.size, 0);
|
|
371
|
+
assert.deepStrictEqual(mapWithTwo.get('one'), Optional.some(1));
|
|
372
|
+
|
|
373
|
+
assert.strictEqual(mapWithTwo.has('three'), false);
|
|
345
374
|
|
|
346
375
|
// Using pipe for fluent updates
|
|
347
|
-
const
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
376
|
+
const sequence = Arr.seq(10); // [0, 1, 2, ..., 9]
|
|
377
|
+
const pairs = sequence.map(
|
|
378
|
+
(i) => [i, i.toString()] as readonly [number, string],
|
|
379
|
+
);
|
|
380
|
+
const skipped = Arr.skip(pairs, 1); // [[1, "1"], ..., [9, "9"]]
|
|
381
|
+
const idMap = IMap.create<number, string>(skipped);
|
|
351
382
|
|
|
352
|
-
|
|
383
|
+
assert.strictEqual(idMap.size, 9);
|
|
353
384
|
|
|
354
385
|
// Efficient batch updates with withMutations
|
|
355
386
|
const idMapUpdated = idMap.withMutations([
|
|
356
|
-
{ type: 'set', key: 99, value:
|
|
357
|
-
{ type: 'update', key: 5,
|
|
387
|
+
{ type: 'set', key: 99, value: '99' },
|
|
388
|
+
{ type: 'update', key: 5, updater: () => 'five' },
|
|
358
389
|
{ type: 'delete', key: 4 },
|
|
359
390
|
]);
|
|
360
391
|
|
|
361
|
-
|
|
392
|
+
assert.strictEqual(idMapUpdated.size, 9);
|
|
362
393
|
|
|
363
394
|
// ISet usage
|
|
364
395
|
const originalSet = ISet.create<number>([]);
|
|
365
396
|
const setWithItems = originalSet.add(1).add(2).add(1); // Duplicate ignored
|
|
366
397
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
398
|
+
assert.strictEqual(originalSet.size, 0); // (unchanged)
|
|
399
|
+
assert.strictEqual(setWithItems.has(1), true);
|
|
400
|
+
assert.strictEqual(setWithItems.size, 2);
|
|
370
401
|
```
|
|
371
402
|
|
|
372
403
|
### 6. Type Guards
|
|
@@ -374,9 +405,9 @@ console.log(setWithItems.size); // 2
|
|
|
374
405
|
Safe type narrowing with comprehensive type guards.
|
|
375
406
|
|
|
376
407
|
```typescript
|
|
377
|
-
import { isNonNullObject, isRecord
|
|
408
|
+
import { hasKey, isNonNullObject, isRecord } from 'ts-data-forge';
|
|
378
409
|
|
|
379
|
-
|
|
410
|
+
const processData = (data: unknown): string | undefined => {
|
|
380
411
|
if (isRecord(data)) {
|
|
381
412
|
// data is now UnknownRecord (= Readonly<Record<string, unknown>>)
|
|
382
413
|
if (
|
|
@@ -384,17 +415,24 @@ function processData(data: unknown) {
|
|
|
384
415
|
// data is now ReadonlyRecord<"name", unknown> & UnknownRecord
|
|
385
416
|
typeof data.name === 'string'
|
|
386
417
|
) {
|
|
387
|
-
|
|
418
|
+
return `Hello, ${data.name}!`;
|
|
388
419
|
}
|
|
389
420
|
}
|
|
390
|
-
|
|
421
|
+
return undefined;
|
|
422
|
+
};
|
|
391
423
|
|
|
392
424
|
// Non-null object checking
|
|
393
|
-
|
|
425
|
+
const value: unknown = { key: 'value' };
|
|
426
|
+
|
|
394
427
|
if (isNonNullObject(value)) {
|
|
395
428
|
// value is guaranteed to be a non-null object
|
|
396
|
-
|
|
429
|
+
assert.deepStrictEqual(Object.keys(value), ['key']);
|
|
397
430
|
}
|
|
431
|
+
|
|
432
|
+
// Example usage
|
|
433
|
+
assert.strictEqual(processData({ name: 'Alice' }), 'Hello, Alice!');
|
|
434
|
+
assert.strictEqual(processData({ age: 30 }), undefined);
|
|
435
|
+
assert.strictEqual(processData('not an object'), undefined);
|
|
398
436
|
```
|
|
399
437
|
|
|
400
438
|
### 7. Iteration with `range`
|
|
@@ -405,18 +443,27 @@ Generate ranges for iteration and array creation.
|
|
|
405
443
|
import { range } from 'ts-data-forge';
|
|
406
444
|
|
|
407
445
|
// Traditional for loop using range
|
|
446
|
+
const values: number[] = [];
|
|
408
447
|
for (const i of range(0, 5)) {
|
|
409
|
-
|
|
448
|
+
values.push(i);
|
|
410
449
|
}
|
|
411
450
|
|
|
451
|
+
assert.deepStrictEqual(values, [0, 1, 2, 3, 4]);
|
|
452
|
+
|
|
412
453
|
// Create arrays from ranges
|
|
413
|
-
const numbers = Array.from(range(1, 4));
|
|
414
|
-
const squares = Array.from(range(1, 6), (x) => x * x);
|
|
454
|
+
const numbers = Array.from(range(1, 4));
|
|
455
|
+
const squares = Array.from(range(1, 6), (x) => x * x);
|
|
456
|
+
|
|
457
|
+
assert.deepStrictEqual(numbers, [1, 2, 3]);
|
|
458
|
+
assert.deepStrictEqual(squares, [1, 4, 9, 16, 25]);
|
|
415
459
|
|
|
416
460
|
// Step ranges
|
|
461
|
+
const stepValues: number[] = [];
|
|
417
462
|
for (const i of range(0, 10, 2)) {
|
|
418
|
-
|
|
463
|
+
stepValues.push(i);
|
|
419
464
|
}
|
|
465
|
+
|
|
466
|
+
assert.deepStrictEqual(stepValues, [0, 2, 4, 6, 8]);
|
|
420
467
|
```
|
|
421
468
|
|
|
422
469
|
### 8. Mutability Utilities with `castMutable`
|
|
@@ -424,23 +471,23 @@ for (const i of range(0, 10, 2)) {
|
|
|
424
471
|
Safely work with readonly types when interfacing with mutable APIs.
|
|
425
472
|
|
|
426
473
|
```tsx
|
|
427
|
-
import { Autocomplete } from '@mui/material';
|
|
428
474
|
import { castMutable } from 'ts-data-forge';
|
|
429
475
|
|
|
430
|
-
|
|
476
|
+
// Example: Material-UI Autocomplete
|
|
477
|
+
import { Autocomplete, TextField } from '@mui/material';
|
|
431
478
|
|
|
432
|
-
const SomeComponent: React.FC = () =>
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
479
|
+
export const SomeComponent: React.FC = () => (
|
|
480
|
+
<Autocomplete
|
|
481
|
+
options={castMutable(readonlyOptions)}
|
|
482
|
+
renderInput={(params) => (
|
|
483
|
+
<TextField {...params} placeholder="Select an option" />
|
|
484
|
+
)}
|
|
485
|
+
/>
|
|
486
|
+
);
|
|
487
|
+
|
|
488
|
+
const readonlyOptions: readonly string[] = ['Option 1', 'Option 2', 'Option 3'];
|
|
442
489
|
|
|
443
|
-
// Immer.js example
|
|
490
|
+
// Immer.js example
|
|
444
491
|
import { produce } from 'immer';
|
|
445
492
|
|
|
446
493
|
type State = Readonly<{
|
|
@@ -458,7 +505,8 @@ const updatedState = produce(initialState, (draft) => {
|
|
|
458
505
|
draft.items = castMutable(newItems); // Safe cast for assignment
|
|
459
506
|
});
|
|
460
507
|
|
|
461
|
-
|
|
508
|
+
assert.deepStrictEqual(initialState.items, ['item1', 'item2']);
|
|
509
|
+
assert.deepStrictEqual(updatedState.items, ['newItem1', 'newItem2']);
|
|
462
510
|
```
|
|
463
511
|
|
|
464
512
|
## Modules Overview
|
|
@@ -508,6 +508,38 @@ export declare namespace Arr {
|
|
|
508
508
|
<const V>(len: SizeType.ArgArrNonNegative, init: V): readonly V[];
|
|
509
509
|
};
|
|
510
510
|
export const newArray: CreateFnOverload;
|
|
511
|
+
/**
|
|
512
|
+
* Creates an array from a generator function.
|
|
513
|
+
*
|
|
514
|
+
* This utility function provides enhanced type safety by constraining the generator function
|
|
515
|
+
* to prevent incorrect return values. The generator can only yield values of type T and
|
|
516
|
+
* must return void, which helps catch common mistakes like returning values instead of yielding.
|
|
517
|
+
*
|
|
518
|
+
* @template T - The type of elements in the generated array
|
|
519
|
+
* @param generatorFn - A function that returns a generator yielding elements of type T
|
|
520
|
+
* @returns A readonly array containing all yielded values from the generator
|
|
521
|
+
*
|
|
522
|
+
* @example
|
|
523
|
+
* ```typescript
|
|
524
|
+
* const nums:readonly number[] = Arr.generate<number>(function* () {
|
|
525
|
+
* yield 1;
|
|
526
|
+
* yield* [2, 3];
|
|
527
|
+
* });
|
|
528
|
+
*
|
|
529
|
+
* assert.deepStrictEqual(nums, [1, 2, 3]);
|
|
530
|
+
*
|
|
531
|
+
* // Type safety - prevents incorrect returns:
|
|
532
|
+
* const nums2 = Arr.generate<number>(function* () {
|
|
533
|
+
* yield 1;
|
|
534
|
+
* if (someCondition) {
|
|
535
|
+
* return; // OK - returning is allowed, but must be void
|
|
536
|
+
* }
|
|
537
|
+
* yield* [2, 3];
|
|
538
|
+
* // return 1; // NG - TypeScript error, cannot return T
|
|
539
|
+
* });
|
|
540
|
+
* ```
|
|
541
|
+
*/
|
|
542
|
+
export const generate: <T>(generatorFn: () => Generator<T, void, unknown>) => readonly T[];
|
|
511
543
|
/**
|
|
512
544
|
* Creates a shallow copy of an array, preserving the exact type signature.
|
|
513
545
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-utils.d.mts","sourceRoot":"","sources":["../../src/array/array-utils.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array-utils.d.mts","sourceRoot":"","sources":["../../src/array/array-utils.mts"],"names":[],"mappings":"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"}
|
|
@@ -528,6 +528,38 @@ var Arr;
|
|
|
528
528
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
529
529
|
Arr.create = ((len, init) => Array.from({ length: Math.max(0, len) }, () => init));
|
|
530
530
|
Arr.newArray = Arr.create;
|
|
531
|
+
/**
|
|
532
|
+
* Creates an array from a generator function.
|
|
533
|
+
*
|
|
534
|
+
* This utility function provides enhanced type safety by constraining the generator function
|
|
535
|
+
* to prevent incorrect return values. The generator can only yield values of type T and
|
|
536
|
+
* must return void, which helps catch common mistakes like returning values instead of yielding.
|
|
537
|
+
*
|
|
538
|
+
* @template T - The type of elements in the generated array
|
|
539
|
+
* @param generatorFn - A function that returns a generator yielding elements of type T
|
|
540
|
+
* @returns A readonly array containing all yielded values from the generator
|
|
541
|
+
*
|
|
542
|
+
* @example
|
|
543
|
+
* ```typescript
|
|
544
|
+
* const nums:readonly number[] = Arr.generate<number>(function* () {
|
|
545
|
+
* yield 1;
|
|
546
|
+
* yield* [2, 3];
|
|
547
|
+
* });
|
|
548
|
+
*
|
|
549
|
+
* assert.deepStrictEqual(nums, [1, 2, 3]);
|
|
550
|
+
*
|
|
551
|
+
* // Type safety - prevents incorrect returns:
|
|
552
|
+
* const nums2 = Arr.generate<number>(function* () {
|
|
553
|
+
* yield 1;
|
|
554
|
+
* if (someCondition) {
|
|
555
|
+
* return; // OK - returning is allowed, but must be void
|
|
556
|
+
* }
|
|
557
|
+
* yield* [2, 3];
|
|
558
|
+
* // return 1; // NG - TypeScript error, cannot return T
|
|
559
|
+
* });
|
|
560
|
+
* ```
|
|
561
|
+
*/
|
|
562
|
+
Arr.generate = (generatorFn) => Array.from(generatorFn());
|
|
531
563
|
/**
|
|
532
564
|
* Creates a shallow copy of an array, preserving the exact type signature.
|
|
533
565
|
*
|