New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

func-cache

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

func-cache - npm Package Compare versions

Comparing version 2.0.5 to 2.0.7

dist/main.d.ts

158

dist/func-cache.cjs.development.js

@@ -9,2 +9,4 @@ 'use strict';

var util = _interopDefault(require('util'));
var fs = _interopDefault(require('fs/promises'));
var fs$1 = require('fs');

@@ -458,14 +460,156 @@ function _regeneratorRuntime() {

}
function localStorageCacher(tmpPath, options) {
var ls = (options == null ? void 0 : options.localStorage) || window.localStorage;
function fSCacher(tmpPath) {
return {
initialCache: JSON.parse(ls.getItem(tmpPath) || "{}"),
onDataUpdate: function onDataUpdate(ndata) {
ls.setItem(tmpPath, JSON.stringify(ndata));
}
initialCache: JSON.parse(
// @ts-ignore
fs$1.existsSync(tmpPath) ? fs$1.readFileSync(tmpPath, {
encoding: "utf-8"
}) : "{}"),
onDataUpdate: function () {
var _onDataUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ndata) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.next = 3;
return fs.unlink(tmpPath);
case 3:
_context.next = 7;
break;
case 5:
_context.prev = 5;
_context.t0 = _context["catch"](0);
case 7:
_context.next = 9;
return fs.writeFile(tmpPath, JSON.stringify(ndata), {
encoding: "utf-8",
flag: "w"
});
case 9:
case "end":
return _context.stop();
}
}, _callee, null, [[0, 5]]);
}));
function onDataUpdate(_x) {
return _onDataUpdate.apply(this, arguments);
}
return onDataUpdate;
}()
};
}
function redisCacher(_x, _x2) {
return _redisCacher.apply(this, arguments);
}
function _redisCacher() {
_redisCacher = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tmpPath, options) {
var red;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
red = options.client;
_context2.t0 = JSON;
_context2.next = 4;
return red.get(tmpPath);
case 4:
_context2.t1 = _context2.sent;
if (_context2.t1) {
_context2.next = 7;
break;
}
_context2.t1 = "{}";
case 7:
_context2.t2 = _context2.t1;
_context2.t3 = _context2.t0.parse.call(_context2.t0, _context2.t2);
_context2.t4 = function () {
var _onDataUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ndata) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return red.set(tmpPath, JSON.stringify(ndata));
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
function onDataUpdate(_x3) {
return _onDataUpdate.apply(this, arguments);
}
return onDataUpdate;
}();
return _context2.abrupt("return", {
initialCache: _context2.t3,
onDataUpdate: _context2.t4
});
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _redisCacher.apply(this, arguments);
}
function upstashCacher(_x, _x2) {
return _upstashCacher.apply(this, arguments);
}
function _upstashCacher() {
_upstashCacher = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tmpPath, options) {
var red;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
red = options.client;
_context2.t0 = JSON;
_context2.next = 4;
return red.get(tmpPath);
case 4:
_context2.t1 = _context2.sent;
if (_context2.t1) {
_context2.next = 7;
break;
}
_context2.t1 = "{}";
case 7:
_context2.t2 = _context2.t1;
_context2.t3 = _context2.t0.parse.call(_context2.t0, _context2.t2);
_context2.t4 = function () {
var _onDataUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ndata) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return red.set(tmpPath, JSON.stringify(ndata));
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
function onDataUpdate(_x3) {
return _onDataUpdate.apply(this, arguments);
}
return onDataUpdate;
}();
return _context2.abrupt("return", {
initialCache: _context2.t3,
onDataUpdate: _context2.t4
});
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _upstashCacher.apply(this, arguments);
}
exports.default = funCache;
exports.localStorageCacher = localStorageCacher;
exports.fSCacher = fSCacher;
exports.redisCacher = redisCacher;
exports.upstashCacher = upstashCacher;
//# sourceMappingURL=func-cache.cjs.development.js.map

2

dist/func-cache.cjs.production.min.js

@@ -1,2 +0,2 @@

"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("debounce")),r=t(require("util"));function n(){n=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=Object.create((e&&e.prototype instanceof p?e:p).prototype),a=new j(n||[]);return o(i,"_invoke",{value:x(t,r,a)}),i}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var h={};function p(){}function v(){}function d(){}var y={};f(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(S([])));m&&m!==e&&r.call(m,a)&&(y=m);var w=d.prototype=p.prototype=Object.create(y);function b(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,e){var n;o(this,"_invoke",{value:function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,c){var u=s(t[o],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return n("throw",t,a,c)}))}c(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}})}function x(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=L(a,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function L(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,L(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,h;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function S(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:k}}function k(){return{value:void 0,done:!0}}return v.prototype=d,o(w,"constructor",{value:d,configurable:!0}),o(d,"constructor",{value:v,configurable:!0}),v.displayName=f(d,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,f(t,u,"GeneratorFunction")),t.prototype=Object.create(w),t},t.awrap=function(t){return{__await:t}},b(_.prototype),f(_.prototype,c,(function(){return this})),t.AsyncIterator=_,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new _(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},b(w),f(w,u,"Generator"),f(w,a,(function(){return this})),f(w,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function o(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise((function(n,i){var a=t.apply(e,r);function c(t){o(a,n,i,c,u,"next",t)}function u(t){o(a,n,i,c,u,"throw",t)}c(void 0)}))}}function a(){return(a=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}exports.default=function(t,o){void 0===o&&(o={lifeTime:0,debounceTimer:1e3,async:!1});var c=a({____timeOfCreation:Date.now()},o.initialCache),u=o.onDataUpdate?e((function(){try{null==o.onDataUpdate||o.onDataUpdate(c)}catch(t){o.debug&&console.error(t)}}),o.debounceTimer):void 0,f=function(){0!==o.lifeTime&&Date.now()-c.____timeOfCreation>o.lifeTime&&(c={____timeOfCreation:c.____timeOfCreation})},l=function(t,e){return f(),e in c||(c[e]=t(),null==u||u()),c[e]},s=function(){var t=i(n().mark((function t(e,r){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(f(),!(r in c)){t.next=3;break}return t.abrupt("return",c[r]);case 3:return t.next=5,e();case 5:return c[r]=t.sent,null==u||u(),t.abrupt("return",c[r]);case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}();if(o.async||r.types.isAsyncFunction(t))return i(n().mark((function e(){var r,o,i,a=arguments;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=a.length,o=new Array(r),i=0;i<r;i++)o[i]=a[i];return e.next=3,s((function(){return t.apply(void 0,o)}),o.join(","));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));var h=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return l(t.apply(void 0,r),r.join(","))};return h.clearCache=function(){c={____timeOfCreation:Date.now()}},h.noCache=function(){return t.apply(void 0,arguments)},h},exports.localStorageCacher=function(t,e){var r=(null==e?void 0:e.localStorage)||window.localStorage;return{initialCache:JSON.parse(r.getItem(t)||"{}"),onDataUpdate:function(e){r.setItem(t,JSON.stringify(e))}}};
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("debounce")),r=t(require("util")),n=t(require("fs/promises")),o=require("fs");function i(){i=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function f(t,e,r,o){var i=Object.create((e&&e.prototype instanceof p?e:p).prototype),a=new j(o||[]);return n(i,"_invoke",{value:_(t,r,a)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var h={};function p(){}function v(){}function d(){}var y={};s(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(k([])));m&&m!==e&&r.call(m,a)&&(y=m);var w=d.prototype=p.prototype=Object.create(y);function x(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var o;n(this,"_invoke",{value:function(n,i){function a(){return new e((function(o,a){!function n(o,i,a,c){var u=l(t[o],t,i);if("throw"!==u.type){var s=u.arg,f=s.value;return f&&"object"==typeof f&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(f).then((function(t){s.value=t,a(s)}),(function(t){return n("throw",t,a,c)}))}c(u.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function _(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=l(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,h;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function k(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return v.prototype=d,n(w,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:v,configurable:!0}),v.displayName=s(d,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,u,"GeneratorFunction")),t.prototype=Object.create(w),t},t.awrap=function(t){return{__await:t}},x(b.prototype),s(b.prototype,c,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new b(f(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},x(w),s(w,u,"Generator"),s(w,a,(function(){return this})),s(w,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=k,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:k(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function a(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function c(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function c(t){a(i,n,o,c,u,"next",t)}function u(t){a(i,n,o,c,u,"throw",t)}c(void 0)}))}}function u(){return(u=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function s(){return(s=c(i().mark((function t(e,r){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.client,t.t0=JSON,t.next=4,n.get(e);case 4:if(t.t1=t.sent,t.t1){t.next=7;break}t.t1="{}";case 7:return t.t2=t.t1,t.t3=t.t0.parse.call(t.t0,t.t2),t.t4=function(){var t=c(i().mark((function t(r){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.set(e,JSON.stringify(r));case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),t.abrupt("return",{initialCache:t.t3,onDataUpdate:t.t4});case 11:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function f(){return(f=c(i().mark((function t(e,r){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.client,t.t0=JSON,t.next=4,n.get(e);case 4:if(t.t1=t.sent,t.t1){t.next=7;break}t.t1="{}";case 7:return t.t2=t.t1,t.t3=t.t0.parse.call(t.t0,t.t2),t.t4=function(){var t=c(i().mark((function t(r){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.set(e,JSON.stringify(r));case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),t.abrupt("return",{initialCache:t.t3,onDataUpdate:t.t4});case 11:case"end":return t.stop()}}),t)})))).apply(this,arguments)}exports.default=function(t,n){void 0===n&&(n={lifeTime:0,debounceTimer:1e3,async:!1});var o=u({____timeOfCreation:Date.now()},n.initialCache),a=n.onDataUpdate?e((function(){try{null==n.onDataUpdate||n.onDataUpdate(o)}catch(t){n.debug&&console.error(t)}}),n.debounceTimer):void 0,s=function(){0!==n.lifeTime&&Date.now()-o.____timeOfCreation>n.lifeTime&&(o={____timeOfCreation:o.____timeOfCreation})},f=function(t,e){return s(),e in o||(o[e]=t(),null==a||a()),o[e]},l=function(){var t=c(i().mark((function t(e,r){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(s(),!(r in o)){t.next=3;break}return t.abrupt("return",o[r]);case 3:return t.next=5,e();case 5:return o[r]=t.sent,null==a||a(),t.abrupt("return",o[r]);case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}();if(n.async||r.types.isAsyncFunction(t))return c(i().mark((function e(){var r,n,o,a=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=a.length,n=new Array(r),o=0;o<r;o++)n[o]=a[o];return e.next=3,l((function(){return t.apply(void 0,n)}),n.join(","));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));var h=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return f(t.apply(void 0,r),r.join(","))};return h.clearCache=function(){o={____timeOfCreation:Date.now()}},h.noCache=function(){return t.apply(void 0,arguments)},h},exports.fSCacher=function(t){return{initialCache:JSON.parse(o.existsSync(t)?o.readFileSync(t,{encoding:"utf-8"}):"{}"),onDataUpdate:(e=c(i().mark((function e(r){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n.unlink(t);case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:return e.next=9,n.writeFile(t,JSON.stringify(r),{encoding:"utf-8",flag:"w"});case 9:case"end":return e.stop()}}),e,null,[[0,5]])}))),function(t){return e.apply(this,arguments)})};var e},exports.redisCacher=function(t,e){return s.apply(this,arguments)},exports.upstashCacher=function(t,e){return f.apply(this,arguments)};
//# sourceMappingURL=func-cache.cjs.production.min.js.map
import debounce from 'debounce';
import util from 'util';
import fs from 'fs/promises';
import { existsSync, readFileSync } from 'fs';

@@ -451,14 +453,154 @@ function _regeneratorRuntime() {

}
function localStorageCacher(tmpPath, options) {
var ls = (options == null ? void 0 : options.localStorage) || window.localStorage;
function fSCacher(tmpPath) {
return {
initialCache: JSON.parse(ls.getItem(tmpPath) || "{}"),
onDataUpdate: function onDataUpdate(ndata) {
ls.setItem(tmpPath, JSON.stringify(ndata));
}
initialCache: JSON.parse(
// @ts-ignore
existsSync(tmpPath) ? readFileSync(tmpPath, {
encoding: "utf-8"
}) : "{}"),
onDataUpdate: function () {
var _onDataUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ndata) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.next = 3;
return fs.unlink(tmpPath);
case 3:
_context.next = 7;
break;
case 5:
_context.prev = 5;
_context.t0 = _context["catch"](0);
case 7:
_context.next = 9;
return fs.writeFile(tmpPath, JSON.stringify(ndata), {
encoding: "utf-8",
flag: "w"
});
case 9:
case "end":
return _context.stop();
}
}, _callee, null, [[0, 5]]);
}));
function onDataUpdate(_x) {
return _onDataUpdate.apply(this, arguments);
}
return onDataUpdate;
}()
};
}
function redisCacher(_x, _x2) {
return _redisCacher.apply(this, arguments);
}
function _redisCacher() {
_redisCacher = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tmpPath, options) {
var red;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
red = options.client;
_context2.t0 = JSON;
_context2.next = 4;
return red.get(tmpPath);
case 4:
_context2.t1 = _context2.sent;
if (_context2.t1) {
_context2.next = 7;
break;
}
_context2.t1 = "{}";
case 7:
_context2.t2 = _context2.t1;
_context2.t3 = _context2.t0.parse.call(_context2.t0, _context2.t2);
_context2.t4 = function () {
var _onDataUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ndata) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return red.set(tmpPath, JSON.stringify(ndata));
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
function onDataUpdate(_x3) {
return _onDataUpdate.apply(this, arguments);
}
return onDataUpdate;
}();
return _context2.abrupt("return", {
initialCache: _context2.t3,
onDataUpdate: _context2.t4
});
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _redisCacher.apply(this, arguments);
}
function upstashCacher(_x, _x2) {
return _upstashCacher.apply(this, arguments);
}
function _upstashCacher() {
_upstashCacher = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tmpPath, options) {
var red;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
red = options.client;
_context2.t0 = JSON;
_context2.next = 4;
return red.get(tmpPath);
case 4:
_context2.t1 = _context2.sent;
if (_context2.t1) {
_context2.next = 7;
break;
}
_context2.t1 = "{}";
case 7:
_context2.t2 = _context2.t1;
_context2.t3 = _context2.t0.parse.call(_context2.t0, _context2.t2);
_context2.t4 = function () {
var _onDataUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ndata) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return red.set(tmpPath, JSON.stringify(ndata));
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
function onDataUpdate(_x3) {
return _onDataUpdate.apply(this, arguments);
}
return onDataUpdate;
}();
return _context2.abrupt("return", {
initialCache: _context2.t3,
onDataUpdate: _context2.t4
});
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _upstashCacher.apply(this, arguments);
}
export default funCache;
export { localStorageCacher };
export { fSCacher, redisCacher, upstashCacher };
//# sourceMappingURL=func-cache.esm.js.map

@@ -1,20 +0,3 @@

export interface FCOptions {
lifeTime: number;
onDataUpdate?: (nData: any) => void;
initialCache?: any;
/** debounce time wait to call onDataUpdate, default 1000ms */
debounceTimer?: number;
/** incase the call is async, (sometimes the script doesn't detect it's async and wont run the await for it) default: false */
async?: boolean;
/** shows logs */
debug?: boolean;
}
export default function funCache<T extends Function>(func: T, options?: FCOptions): T & {
clearCache: () => void;
};
export declare function localStorageCacher(tmpPath: string, options?: {
localStorage?: Storage;
}): {
initialCache: any;
onDataUpdate: (ndata: any) => void;
};
import funCache from "./main";
export * from "./tools";
export default funCache;

@@ -1,4 +0,4 @@

export default function fSCacher(tmpPath: string): {
export declare function fSCacher(tmpPath: string): {
initialCache: any;
onDataUpdate: (ndata: any) => Promise<void>;
};
import redis from 'redis';
export default function redisCacher(tmpPath: string, options: {
export declare function redisCacher(tmpPath: string, options: {
client: redis.RedisClientType;

@@ -4,0 +4,0 @@ }): Promise<{

import redis from '@upstash/redis';
export default function upstashCacher(tmpPath: string, options: {
export declare function upstashCacher(tmpPath: string, options: {
client: redis.Redis;

@@ -4,0 +4,0 @@ }): Promise<{

{
"name": "func-cache",
"version": "2.0.5",
"version": "2.0.7",
"private": false,

@@ -27,3 +27,4 @@ "description": "TypeScript library for caching static functions",

"dist/",
"tools/",
"src/tools",
"dist/tools",
"LICENSE",

@@ -55,5 +56,5 @@ "README.md"

"semantic-release-cli": "5.4.3",
"tsdx": "0.14.1",
"tsdx": "^0.14.1",
"tslib": "^2.3.1",
"typescript": "4.0.7"
"typescript": "^5.0.4"
},

@@ -124,3 +125,25 @@ "peerDependencies": {},

"redis": "^4.6.5"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/func-cache.cjs.production.min.cjs"
},
"./fs": {
"types": "./dist/tools/fs.d.ts",
"import": "./dist/tools/fs.d.ts",
"require": "./dist/tools/fs.d.ts"
},
"./redis": {
"types": "./dist/tools/redis.d.ts",
"import": "./dist/tools/redis.d.ts",
"require": "./dist/tools/redis.d.ts"
},
"./upstash": {
"types": "./dist/tools/upstash.d.ts",
"import": "./dist/tools/upstash.d.ts",
"require": "./dist/tools/upstash.d.ts"
}
}
}
import { aforSec } from "aforwait"
import funCache from "..";
import fSCacher from "../tools/fs";
import funCache from ".";
import { fSCacher } from "./tools/fs";

@@ -5,0 +5,0 @@

@@ -1,94 +0,4 @@

import debounce from "debounce";
import util from "util";
export interface FCOptions {
lifeTime: number;
onDataUpdate?: (nData: any) => void;
initialCache?: any;
import funCache from "./main";
export * from "./tools";
/** debounce time wait to call onDataUpdate, default 1000ms */
debounceTimer?: number;
/** incase the call is async, (sometimes the script doesn't detect it's async and wont run the await for it) default: false */
async?: boolean;
/** shows logs */
debug?: boolean;
}
export default function funCache<T extends Function>(func: T, options: FCOptions = { lifeTime: 0, debounceTimer: 1000, async: false }): T & { clearCache: () => void } {
let cached: any = {
____timeOfCreation: Date.now(),
...options.initialCache
};
const updateData = options.onDataUpdate ? debounce(() => {
try {
options.onDataUpdate?.(cached);
} catch (err) {
if (options.debug) {
console.error(err)
}
}
}, options.debounceTimer) : undefined;
const checkExpiry = () => {
if (options.lifeTime !== 0 && Date.now() - cached.____timeOfCreation > options.lifeTime)
cached = { ____timeOfCreation: cached.____timeOfCreation }
}
const cache = (getnewval: Function, str: any) => {
checkExpiry();
if (str in cached) return cached[str];
cached[str] = getnewval();
updateData?.();
return cached[str]
}
const asyncCache = async (getnewval: Function, str: any) => {
checkExpiry();
if (str in cached) return cached[str];
cached[str] = await getnewval();
updateData?.();
return cached[str]
}
if (options.async || util.types.isAsyncFunction(func)) {
return (async (...args: any) =>
await asyncCache(() => func(...args), args.join(","))
) as any
}
const cachedFN = ((...args: any) =>
cache(func(...args), args.join(","))
) as any;
cachedFN.clearCache = () => {
cached = { ____timeOfCreation: Date.now() }
}
cachedFN.noCache = (...args: any) => func(...args);
return cachedFN;
}
export function localStorageCacher(tmpPath: string, options?: { localStorage?: Storage }) {
const ls = options?.localStorage || window.localStorage;
return {
initialCache: JSON.parse(
ls.getItem(tmpPath) || "{}"
),
onDataUpdate: (ndata: any) => {
ls.setItem(tmpPath, JSON.stringify(ndata))
},
};
}
export default funCache;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc