{"version":3,"sources":["../../src/storage/list-local-storage.ts"],"names":[],"mappings":"AAKO,MAAM,gBAAA,CAAqD;AAAA,EAC3C,KAAA;AAAA,EAEnB,WAAA,CAAY,IAAA,GAAY,EAAC,EAAG;AACxB,IAAA,IAAA,CAAK,KAAA,GAAQ,CAAC,GAAG,IAAI,CAAA;AAAA,EACzB;AAAA,EAEA,IAAI,GAAA,EAA4B;AAC5B,IAAA,OAAO,IAAA,CAAK,MAAM,GAAG,CAAA;AAAA,EACzB;AAAA,EAEA,GAAA,CAAI,KAAa,KAAA,EAAgB;AAC7B,IAAA,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,EACtB;AAAA,EAEA,OAAO,GAAA,EAAmB;AACtB,IAAA,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,GAAA,EAAK,CAAC,CAAA;AAAA,EAC5B;AAAA,EAEA,KAAK,KAAA,EAAgB;AACjB,IAAA,IAAA,CAAK,KAAA,CAAM,KAAK,KAAK,CAAA;AAAA,EACzB;AAAA,EAEA,GAAA,GAAqB;AACjB,IAAA,OAAO,IAAA,CAAK,MAAM,GAAA,EAAI;AAAA,EAC1B;AAAA,EAEA,MAAA,GAAc;AACV,IAAA,OAAO,CAAC,GAAG,IAAA,CAAK,KAAK,CAAA;AAAA,EACzB;AAAA,EAEA,MAAA,GAAiB;AACb,IAAA,OAAO,KAAK,KAAA,CAAM,MAAA;AAAA,EACtB;AAAA,EAEA,MAAM,SAAA,EAAsD;AACxD,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,SAAS,CAAA;AAAA,EACtC;AACJ","file":"list-local-storage.mjs","sourcesContent":["import type { IListStorage } from './storage';\n\n/**\n * An in-memory list storage.\n */\nexport class ListLocalStorage<T = any> implements IListStorage<T> {\n    protected readonly _list: T[];\n\n    constructor(data: T[] = []) {\n        this._list = [...data];\n    }\n\n    get(key: number): T | undefined {\n        return this._list[key];\n    }\n\n    set(key: number, value: T): void {\n        this._list[key] = value;\n    }\n\n    delete(key: number): void {\n        this._list.splice(key, 1);\n    }\n\n    push(value: T): void {\n        this._list.push(value);\n    }\n\n    pop(): T | undefined {\n        return this._list.pop();\n    }\n\n    values(): T[] {\n        return [...this._list];\n    }\n\n    length(): number {\n        return this._list.length;\n    }\n\n    where(predicate: (value: T, index: number) => boolean): T[] {\n        return this._list.filter(predicate);\n    }\n}\n"]}