diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-06-15 22:44:54 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-06-15 22:44:54 +0200 |
commit | 2ee9431f1ba5bf67546bbf85758a01991c40673f (patch) | |
tree | 4581c4f3c966d742c66ea7f4bae4f9a3f8e2f5ff /packages/idb-bridge/src/util/fakeDOMStringList.ts | |
parent | 65eb8b96f894491d406f91070df53ccbd43d19c9 (diff) | |
download | wallet-core-2ee9431f1ba5bf67546bbf85758a01991c40673f.tar.xz |
idb wip
Diffstat (limited to 'packages/idb-bridge/src/util/fakeDOMStringList.ts')
-rw-r--r-- | packages/idb-bridge/src/util/fakeDOMStringList.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/packages/idb-bridge/src/util/fakeDOMStringList.ts b/packages/idb-bridge/src/util/fakeDOMStringList.ts new file mode 100644 index 000000000..5add17588 --- /dev/null +++ b/packages/idb-bridge/src/util/fakeDOMStringList.ts @@ -0,0 +1,37 @@ +/* + * Copyright 2017 Jeremy Scheff + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +import { FakeDOMStringList } from "./types"; + +// Would be nicer to sublcass Array, but I'd have to sacrifice Node 4 support to do that. + +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], + }); + + return arr2 as FakeDOMStringList; +}; + +export default fakeDOMStringList; |