From 69b62c62a0e417985f6e104edd9b8a7fd75a0f81 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 17 Feb 2021 11:45:28 +0100 Subject: idb: fix renaming, make renaming tests pass --- packages/idb-bridge/src/util/fakeDOMStringList.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'packages/idb-bridge/src/util') diff --git a/packages/idb-bridge/src/util/fakeDOMStringList.ts b/packages/idb-bridge/src/util/fakeDOMStringList.ts index 09ef77003..0549e1283 100644 --- a/packages/idb-bridge/src/util/fakeDOMStringList.ts +++ b/packages/idb-bridge/src/util/fakeDOMStringList.ts @@ -14,10 +14,12 @@ * permissions and limitations under the License. */ +import { DOMStringList } from "../idbtypes"; + /** @public */ export interface FakeDOMStringList extends Array { contains: (value: string) => boolean; - item: (i: number) => string | undefined; + item: (i: number) => string | null; } // Would be nicer to sublcass Array, but I'd have to sacrifice Node 4 support to do that. @@ -26,13 +28,16 @@ export const fakeDOMStringList = (arr: string[]): FakeDOMStringList => { const arr2 = arr.slice(); Object.defineProperty(arr2, "contains", { - // tslint:disable-next-line object-literal-shorthand value: (value: string) => arr2.indexOf(value) >= 0, }); Object.defineProperty(arr2, "item", { - // tslint:disable-next-line object-literal-shorthand - value: (i: number) => arr2[i], + value: (i: number) => { + if (i < 0 || i >= arr2.length) { + return null; + } + return arr2[i]; + }, }); return arr2 as FakeDOMStringList; -- cgit v1.2.3