summaryrefslogtreecommitdiff
path: root/packages/webapi/src/lib/Storage.ts
diff options
context:
space:
mode:
authorGravatar Erika <3019731+Princesseuh@users.noreply.github.com> 2023-07-27 18:24:39 +0200
committerGravatar Emanuele Stoppa <my.burning@gmail.com> 2023-08-08 11:01:45 +0100
commit148e61d2492456811f8a3c8daaab1c3429a2ffdc (patch)
tree9cf41624687e5c4f44b41c16895f10c2644caf61 /packages/webapi/src/lib/Storage.ts
parent7d2f311d428e3d1c8c13b9bf2a708d6435713fc2 (diff)
downloadastro-148e61d2492456811f8a3c8daaab1c3429a2ffdc.tar.gz
astro-148e61d2492456811f8a3c8daaab1c3429a2ffdc.tar.zst
astro-148e61d2492456811f8a3c8daaab1c3429a2ffdc.zip
feat: remove webapi in favor of a smaller polyfill (#7840)
* feat: remove webapi in favor of a smaller polyfill * test: remove old test * test: 🤦‍♀️ * chore: changeset
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
-}