MCPcopy
hub / github.com/ts-essentials/ts-essentials / testArray

Function testArray

lib/is-exact/index.test.ts:4–46  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2import { IsExact as Exact, isExact } from "..";
3
4function testArray() {
5 const readonlyArray: readonly number[] = [1, 2, 3];
6 const writableArray: number[] = [1, 2, 3];
7 const tuple: [number] = [1];
8 const readonlyTuple = [1, 2, 3] as const;
9
10 const isReadonlyArray = isExact<readonly number[]>();
11 const isWritableArray = isExact<number[]>();
12 const isTuple = isExact<[number]>();
13 const isReadonlyTuple = isExact<readonly [1, 2, 3]>();
14
15 isReadonlyArray(readonlyArray);
16 // @ts-expect-error: doesn't have `readonly`
17 isReadonlyArray(writableArray);
18 // @ts-expect-error: doesn't have `readonly` and is tuple
19 isReadonlyArray(tuple);
20 // @ts-expect-error: is tuple
21 isReadonlyArray(readonlyTuple);
22
23 // @ts-expect-error: has `readonly`
24 isWritableArray(readonlyArray);
25 isWritableArray(writableArray);
26 // @ts-expect-error: is tuple
27 isWritableArray(tuple);
28 // @ts-expect-error: has `readonly` and is tuple
29 isWritableArray(readonlyTuple);
30
31 // @ts-expect-error: has `readonly` and isn't tuple
32 isTuple(readonlyArray);
33 // @ts-expect-error: isn't tuple
34 isTuple(writableArray);
35 isTuple(tuple);
36 // @ts-expect-error: has `readonly`
37 isTuple(readonlyTuple);
38
39 // @ts-expect-error: isn't tuple
40 isReadonlyTuple(readonlyArray);
41 // @ts-expect-error: has NO `readonly` and isn't tuple
42 isReadonlyTuple(writableArray);
43 // @ts-expect-error: has NO `readonly`
44 isReadonlyTuple(tuple);
45 isReadonlyTuple(readonlyTuple);
46}
47
48function testObjects() {
49 type ABC = { a: number; b: number; c: number };

Callers

nothing calls this directly

Calls 2

isExactFunction · 0.85
isReadonlyArrayFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…