diff options
author | eleanor-park <eleanor_park@brown.edu> | 2024-10-30 19:39:46 -0400 |
---|---|---|
committer | eleanor-park <eleanor_park@brown.edu> | 2024-10-30 19:39:46 -0400 |
commit | c11c760db62f78a07b624b98b209e6ee86036c8e (patch) | |
tree | c9587b50042a5115373e91ba8ecf9b76913cd321 /src/extensions/Extensions_Array.ts | |
parent | b5944e87f9d4f3149161de4de0d76db486461c76 (diff) | |
parent | 4c768162e0436115a05b9c8b0e4d837d626d45ba (diff) |
Merge branch 'master' into eleanor-gptdraw
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() { |