UNPKG

@nasriya/cachify

Version:

A lightweight, extensible in-memory caching library for storing anything, with built-in TTL and customizable cache types.

25 lines (24 loc) 920 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const atomix_1 = __importDefault(require("@nasriya/atomix")); const validators_1 = require("./assert/validators"); const hasOwnProp = atomix_1.default.dataTypes.record.hasOwnProperty; const assert = { type: validators_1.basicValidators, objectProp: (obj, prop, options = { required: false }) => { if (hasOwnProp(obj, prop)) { options?.validator?.(obj[prop], prop, options.context); options?.onValidResult?.(); } else if (options.required) { throw new RangeError(`The "${options.context ?? 'options'}" object (when provided) must contain a "${prop}" property.`); } } }; const utils = { assert }; exports.default = utils;