diff --git a/.changeset/metal-moose-march.md b/.changeset/metal-moose-march.md new file mode 100644 index 0000000..a0961b7 --- /dev/null +++ b/.changeset/metal-moose-march.md @@ -0,0 +1,7 @@ +--- +"@total-typescript/ts-reset": patch +--- + +@author: none23 + +Fixed a bug where running .filter on a union of arrays would not work. 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 diff --git a/package.json b/package.json index 666bddf..7236cd2 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", @@ -118,5 +118,6 @@ "singleQuote": false, "tabWidth": 2, "useTabs": false - } + }, + "packageManager": "pnpm@9.7.1+sha512.faf344af2d6ca65c4c5c8c2224ea77a81a5e8859cbc4e06b1511ddce2f0151512431dd19e6aff31f2c6a8f5f2aced9bd2273e1fed7dd4de1868984059d2c4247" } 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: 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[]; } 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>]; +});