}
static async work (data: any[]): Promise<any[]> {
- return new Promise(async (resolve, reject): Promise<void> => {
- const results: SafeOutput[] = []
- for (const d of data) {
- console.log(d)
- const { name, method, password, data } = d as SafeInput
- console.log(globalThis.sessionStorage)
- const backup = this.#storage.getItem(name)
- let result
- try {
- const passwordBytes = obj.toBytes(password ?? [])
- switch (d.method) {
- case 'put': {
- result = await this.put(name, passwordBytes, data)
- break
- }
- case 'overwrite': {
- result = await this.overwrite(name, passwordBytes, data)
- break
- }
- case 'get': {
- result = await this.get(name, passwordBytes)
- break
- }
- case 'destroy': {
- result = await this.destroy(name)
- break
- }
- default: {
- result = `unknown Safe method ${method}`
- }
+ const results: SafeOutput[] = []
+ for (const d of data) {
+ console.log(d)
+ const { name, method, password, data } = d as SafeInput
+ console.log(globalThis.sessionStorage)
+ const backup = this.#storage.getItem(name)
+ let result
+ try {
+ const passwordBytes = obj.toBytes(password ?? [])
+ switch (d.method) {
+ case 'put': {
+ result = await this.put(name, passwordBytes, data)
+ break
+ }
+ case 'overwrite': {
+ result = await this.overwrite(name, passwordBytes, data)
+ break
+ }
+ case 'get': {
+ result = await this.get(name, passwordBytes)
+ break
+ }
+ case 'destroy': {
+ result = await this.destroy(name)
+ break
+ }
+ default: {
+ result = `unknown Safe method ${method}`
}
- results.push({ name, method, result })
- } catch (err) {
- console.log(err)
- if (backup != null) this.#storage.setItem(d.name, backup)
- result = false
}
+ results.push({ name, method, result })
+ } catch (err) {
+ console.log(err)
+ if (backup != null) this.#storage.setItem(d.name, backup)
+ result = false
}
- resolve(results)
- })
+ }
+ return results
}
/**