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>];
+});