UNPKG

node-disk-storage

Version:

fast and secure local storage persistent data for node js

124 lines (123 loc) 4.75 kB
/** * node-disk-storage * @author Copyright(c) 2021 by Restu wahyu saputra * MIT Licensed */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "is-any-type", "../utils/storage", "../utils/validator"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NDS = void 0; const is_any_type_1 = require("is-any-type"); const store = __importStar(require("../utils/storage")); const validator_1 = require("../utils/validator"); class NDS { minSize; maxSize; items = []; options; constructor(options = {}) { this.options = options; this.minSize = options.minSize || 1; this.maxSize = options.maxSize || 26; } /** * set data using key and value, into disk * * @param { String } input - required * @param { any } value - required * @return Promise<boolean | undefined> */ async set(key, value) { if (is_any_type_1.assert.isBoolean((0, validator_1.validatorKeyVal)({ key, value }))) { const options = { minSize: this.minSize, maxSize: this.maxSize }; if (is_any_type_1.assert.isBoolean((0, validator_1.sizeValidator)(options, value))) { this.items.push({ key, value }); return Promise.resolve(await store.setItem(this.items, this.options)); } } } /** * get specific data using key, after saving data into disk * * @param { String } key - required * @return Promise<string | undefined> */ async get(key) { if (is_any_type_1.assert.isBoolean((0, validator_1.validatorKey)(key))) { return Promise.resolve(await store.getItem(key, this.options)); } } /** * remove specific data already exist using key, after saving data into disk * * @param { String } key - required * @return Promise<boolean | undefined> */ async remove(key) { if (is_any_type_1.assert.isBoolean((0, validator_1.validatorKey)(key))) { return Promise.resolve(await store.removeItem(key, this.options)); } } /** * get specific keys exist, after saving data into disk * @param { String } key - required * @return Promise<boolean | undefined> */ async key(key) { if (is_any_type_1.assert.isBoolean((0, validator_1.validatorKey)(key))) { return Promise.resolve(await store.keysItem(key, this.options)); } } /** * clear all keys exist, after saving data into disk * * @return Promise<boolean | undefined> */ async clear() { return Promise.resolve(await store.clearItem(this.options)); } /** * get all keys exist, after saving data into disk * * @return Promise<string[] | undefined> */ async keys() { return Promise.resolve(await store.allKeysItem(this.options)); } } exports.NDS = NDS; });