From 70f55d635bb5a8ec3c6ad4691ce8496529ef5d2b Mon Sep 17 00:00:00 2001 From: none23 Date: Wed, 21 Aug 2024 19:20:44 +0400 Subject: [PATCH 1/4] fix: filter error with `as const` unions Closes https://github.com/total-typescript/ts-reset/issues/193 --- src/entrypoints/filter-boolean.d.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/entrypoints/filter-boolean.d.ts b/src/entrypoints/filter-boolean.d.ts index 5f3f6a5..e96e8a6 100644 --- a/src/entrypoints/filter-boolean.d.ts +++ b/src/entrypoints/filter-boolean.d.ts @@ -1,9 +1,15 @@ /// interface Array { - filter(predicate: BooleanConstructor, thisArg?: any): TSReset.NonFalsy[]; + filter( + predicate: BooleanConstructor, + thisArg?: any, + ): TSReset.NonFalsy[]; } interface ReadonlyArray { - filter(predicate: BooleanConstructor, thisArg?: any): TSReset.NonFalsy[]; + filter( + predicate: BooleanConstructor, + thisArg?: any, + ): TSReset.NonFalsy[]; } From 19bf5945342ffa749f923321999c109088e1b9ec Mon Sep 17 00:00:00 2001 From: Matt Pocock Date: Sat, 24 Aug 2024 12:26:26 +0100 Subject: [PATCH 2/4] Added some tests --- src/tests/array-index-of.ts | 12 ++++++++++++ src/tests/filter-boolean.ts | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/src/tests/array-index-of.ts b/src/tests/array-index-of.ts index fd380af..3630569 100644 --- a/src/tests/array-index-of.ts +++ b/src/tests/array-index-of.ts @@ -65,6 +65,12 @@ doNotExecute(async () => { ); }); +doNotExecute(() => { + const arr: string[] | number[] = {} as any; + + const result = arr.indexOf("abc"); +}); + // lastIndexOf doNotExecute(async () => { @@ -131,3 +137,9 @@ doNotExecute(async () => { true, ); }); + +doNotExecute(() => { + const arr: string[] | number[] = {} as any; + + const result = arr.lastIndexOf("abc"); +}); diff --git a/src/tests/filter-boolean.ts b/src/tests/filter-boolean.ts index 4899b06..84b1d08 100644 --- a/src/tests/filter-boolean.ts +++ b/src/tests/filter-boolean.ts @@ -38,3 +38,11 @@ doNotExecute(() => { type tests = [Expect>]; }); + +doNotExecute(() => { + const arr: string[] | number[] = {} as any; + + const result = arr.filter((x) => typeof x === "string"); + + type tests = [Expect>]; +}); From 00cff55cf19f08da7d2aad7bf3c0462081a54f9c Mon Sep 17 00:00:00 2001 From: Matt Pocock Date: Sat, 24 Aug 2024 12:27:27 +0100 Subject: [PATCH 3/4] Fixed GH workflow --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 18e2fe8..886821a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,8 +13,6 @@ jobs: steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 - with: - version: 9 - uses: actions/setup-node@v3 with: node-version: 20.x From e5bfe19fafa8239133179f2118a75fe9ece3c4ff Mon Sep 17 00:00:00 2001 From: Matt Pocock Date: Sat, 24 Aug 2024 12:28:59 +0100 Subject: [PATCH 4/4] Upgraded TS --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 666bddf..da06285 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "prettier": "^3.2.5", "tsx": "^3.14.0", "turbo": "^1.13.3", - "typescript": "^5.4.5" + "typescript": "^5.5.4" }, "prettier": { "arrowParens": "always", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2fb12e5..a70dc2a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ importers: specifier: ^1.13.3 version: 1.13.3 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.5.4 + version: 5.5.4 packages: @@ -1173,8 +1173,8 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true @@ -2527,7 +2527,7 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript@5.4.5: {} + typescript@5.5.4: {} unbox-primitive@1.0.2: dependencies: