diff options
author | bobzel <zzzman@gmail.com> | 2024-10-28 20:08:35 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2024-10-28 20:08:35 -0400 |
commit | c45e21a8960298b77c3508b047cfbd9fdcf2c602 (patch) | |
tree | a0fabfd203267963e7a8a648ac01793b08bbdcf4 /src/extensions/Extensions_Array.ts | |
parent | 8ac260db2fdffc37ff9b6e91971f287df6a70528 (diff) | |
parent | 63f9f9573dab9745d2f570e1917b325a474fdd93 (diff) |
Merge branch 'master' into alyssa-starter
Diffstat (limited to 'src/extensions/Extensions_Array.ts')
-rw-r--r-- | src/extensions/Extensions_Array.ts | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/extensions/Extensions_Array.ts b/src/extensions/Extensions_Array.ts index a50fb330f..d61585e28 100644 --- a/src/extensions/Extensions_Array.ts +++ b/src/extensions/Extensions_Array.ts @@ -1,14 +1,13 @@ export default class ArrayExtension { private readonly property: string; - private readonly body: <T>(this: Array<T>) => any; + private readonly body: <T>(this: Array<T>, args: unknown) => unknown; - constructor(property: string, body: <T>(this: Array<T>) => any) { + constructor(property: string, body: <T>(this: Array<T>, args: unknown) => unknown) { this.property = property; this.body = body; } assign() { - // eslint-disable-next-line no-extend-native Object.defineProperty(Array.prototype, this.property, { value: this.body, enumerable: false, @@ -28,6 +27,11 @@ const extensions = [ } return this[this.length - 1]; }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + new ArrayExtension('getIndex', function (val: any) { + const index = this.indexOf(val); + return index === -1 ? undefined : index; + }), ]; function Assign() { |