summaryrefslogtreecommitdiff
path: root/packages/webapi/src/lib/Storage.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/webapi/src/lib/Storage.ts')
-rw-r--r--packages/webapi/src/lib/Storage.ts67
1 files changed, 0 insertions, 67 deletions
diff --git a/packages/webapi/src/lib/Storage.ts b/packages/webapi/src/lib/Storage.ts
deleted file mode 100644
index 7f9426552..000000000
--- a/packages/webapi/src/lib/Storage.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import * as _ from './utils'
-
-export class Storage {
- clear(): void {
- _.internalsOf<StorageInternals>(this, 'Storage', 'clear').storage.clear()
- }
-
- getItem(key: string): string | null {
- return getStringOrNull(
- _.internalsOf<StorageInternals>(this, 'Storage', 'getItem').storage.get(
- String(key)
- )
- )
- }
-
- key(index: number): string | null {
- return getStringOrNull(
- [
- ..._.internalsOf<StorageInternals>(
- this,
- 'Storage',
- 'key'
- ).storage.keys(),
- ][Number(index) || 0]
- )
- }
-
- removeItem(key: string): void {
- _.internalsOf<StorageInternals>(this, 'Storage', 'getItem').storage.delete(
- String(key)
- )
- }
-
- setItem(key: string, value: any): void {
- _.internalsOf<StorageInternals>(this, 'Storage', 'getItem').storage.set(
- String(key),
- String(value)
- )
- }
-
- get length() {
- return _.internalsOf<StorageInternals>(this, 'Storage', 'size').storage.size
- }
-}
-
-const getStringOrNull = (value: string | void) =>
- typeof value === 'string' ? value : null
-
-export const initStorage = (target: Target, exclude: Set<string>) => {
- if (exclude.has('Storage') || exclude.has('localStorage')) return
-
- target.localStorage = Object.create(Storage.prototype)
-
- const storageInternals = new Map<string, string>()
-
- _.INTERNALS.set(target.localStorage, {
- storage: storageInternals,
- } as StorageInternals)
-}
-
-interface StorageInternals {
- storage: Map<string, string>
-}
-
-interface Target {
- localStorage: Storage
-}