UNPKG

@tmawallet/sdk

Version:
56 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TelegramCloudStorage = void 0; const sdk_1 = require("@twa-dev/sdk"); const AbstractStorage_1 = require("./AbstractStorage"); function promisify(fn) { return (...args) => new Promise((resolve, reject) => { fn(...args, (err, result) => { if (err) { reject(err); } else { resolve(result); } }); }); } class TelegramCloudStorage extends AbstractStorage_1.AbstractStorage { _getItem = promisify(sdk_1.default.CloudStorage.getItem).bind(sdk_1.default.CloudStorage); _getItems = promisify(sdk_1.default.CloudStorage.getItems).bind(sdk_1.default.CloudStorage); _setItem = promisify(sdk_1.default.CloudStorage.setItem).bind(sdk_1.default.CloudStorage); _removeItem = promisify(sdk_1.default.CloudStorage.removeItem).bind(sdk_1.default.CloudStorage); _removeItems = promisify(sdk_1.default.CloudStorage.removeItems).bind(sdk_1.default.CloudStorage); _getKeys = promisify(sdk_1.default.CloudStorage.getKeys).bind(sdk_1.default.CloudStorage); async getItem(key) { const result = await this._getItem(key); return result ?? ''; } async getItems(keys) { const result = await this._getItems(keys); return keys.reduce((acc, key) => { acc[key] = result?.[key] ?? ''; return acc; }, {}); } async setItem(key, value) { await this._setItem(key, value); } async setItems(items) { for (const [key, value] of Object.entries(items)) { await this._setItem(key, value); } } async removeItem(key) { await this._removeItem(key); } async removeItems(keys) { await this._removeItems(keys); } async getKeys() { const result = await this._getKeys(); return result ?? []; } } exports.TelegramCloudStorage = TelegramCloudStorage; //# sourceMappingURL=TelegramCloudStorage.js.map