node-storage-polyfill
Version:
A Web Storage API polyfill for Node.js environments
62 lines • 3.67 kB
JavaScript
;
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spread = (this && this.__spread) || function () {
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
var Storage = /** @class */ (function () {
function Storage() {
}
Storage.prototype._length = function (storageMap) {
return storageMap.size;
};
Storage.prototype.clear = function (storageMap) {
storageMap.clear();
return storageMap;
};
Storage.prototype.getItem = function (key, storageMap) {
var stringKey = String(key);
if (storageMap.has(key)) {
return String(storageMap.get(stringKey));
}
return null;
};
Storage.prototype.key = function (index, storageMap) {
if (index === undefined) {
// This is the TypeError implemented in Chrome, Firefox throws "Storage.key: At least 1
// argument required, but only 0 passed".
throw new TypeError("Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.");
}
var keys = __spread(storageMap.keys());
if (index >= keys.length) {
return null;
}
return keys[index];
};
Storage.prototype.removeItem = function (key, storageMap) {
storageMap.delete(key);
return storageMap;
};
Storage.prototype.setItem = function (key, value, storageMap) {
return storageMap.set(String(key), String(value));
};
return Storage;
}());
exports.default = Storage;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtJQUFBO0lBZ0RBLENBQUM7SUE3Q0MseUJBQU8sR0FBUCxVQUFRLFVBQXlCO1FBQy9CLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsdUJBQUssR0FBTCxVQUFNLFVBQXlCO1FBQzdCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQseUJBQU8sR0FBUCxVQUFRLEdBQVcsRUFBRSxVQUF5QjtRQUM1QyxJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFOUIsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUMxQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHFCQUFHLEdBQUgsVUFBSSxLQUFhLEVBQUUsVUFBeUI7UUFDMUMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLHVGQUF1RjtZQUN2Rix5Q0FBeUM7WUFDekMsTUFBTSxJQUFJLFNBQVMsQ0FDakIsZ0ZBQWdGLENBQ2pGLENBQUM7U0FDSDtRQUVELElBQU0sSUFBSSxZQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCw0QkFBVSxHQUFWLFVBQVcsR0FBVyxFQUFFLFVBQXlCO1FBQy9DLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELHlCQUFPLEdBQVAsVUFBUSxHQUFXLEVBQUUsS0FBYSxFQUFFLFVBQXlCO1FBQzNELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNILGNBQUM7QUFBRCxDQUFDLEFBaERELElBZ0RDO0FBRUQsa0JBQWUsT0FBTyxDQUFDIn0=