@warlock.js/core 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/builder/build-cli-app.d.ts.map +1 -1
- package/cjs/builder/build-cli-app.js +3 -1
- package/cjs/builder/build-cli-app.js.map +1 -1
- package/cjs/cache/drivers/base-cache-driver.d.ts.map +1 -1
- package/cjs/cache/drivers/base-cache-driver.js +1 -0
- package/cjs/cache/drivers/base-cache-driver.js.map +1 -1
- package/cjs/cache/drivers/index.d.ts +1 -0
- package/cjs/cache/drivers/index.d.ts.map +1 -1
- package/cjs/cache/drivers/lru-memory-cache-driver.d.ts +88 -0
- package/cjs/cache/drivers/lru-memory-cache-driver.d.ts.map +1 -0
- package/cjs/cache/drivers/lru-memory-cache-driver.js +155 -0
- package/cjs/cache/drivers/lru-memory-cache-driver.js.map +1 -0
- package/cjs/cache/drivers/memory-cache-driver.d.ts +4 -0
- package/cjs/cache/drivers/memory-cache-driver.d.ts.map +1 -1
- package/cjs/cache/drivers/memory-cache-driver.js +12 -1
- package/cjs/cache/drivers/memory-cache-driver.js.map +1 -1
- package/cjs/cache/drivers/redis-cache-driver.d.ts.map +1 -1
- package/cjs/cache/drivers/redis-cache-driver.js +2 -2
- package/cjs/cache/drivers/redis-cache-driver.js.map +1 -1
- package/cjs/cache/types.d.ts +19 -1
- package/cjs/cache/types.d.ts.map +1 -1
- package/cjs/config/default-configurations.js +1 -1
- package/cjs/config/default-configurations.js.map +1 -1
- package/cjs/console/commands/database/migrate.d.ts.map +1 -1
- package/cjs/console/commands/database/migrate.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/modules/uploads/output/upload-output.d.ts.map +1 -1
- package/cjs/modules/uploads/output/upload-output.js +1 -0
- package/cjs/modules/uploads/output/upload-output.js.map +1 -1
- package/cjs/postman/index.js +1 -1
- package/cjs/postman/index.js.map +1 -1
- package/cjs/repositories/repository-list-manager.d.ts.map +1 -1
- package/cjs/repositories/repository-list-manager.js +2 -0
- package/cjs/repositories/repository-list-manager.js.map +1 -1
- package/cjs/starters/build-http-production.d.ts.map +1 -1
- package/cjs/starters/build-http-production.js +2 -1
- package/cjs/starters/build-http-production.js.map +1 -1
- package/cjs/starters/start-http-production-server.js +1 -1
- package/cjs/starters/start-http-production-server.js.map +1 -1
- package/cjs/starters/start-http-server.js +1 -1
- package/cjs/starters/start-http-server.js.map +1 -1
- package/cjs/tests/init-testing.js +1 -1
- package/cjs/tests/init-testing.js.map +1 -1
- package/esm/builder/build-cli-app.d.ts.map +1 -1
- package/esm/builder/build-cli-app.js +3 -1
- package/esm/builder/build-cli-app.js.map +1 -1
- package/esm/cache/drivers/base-cache-driver.d.ts.map +1 -1
- package/esm/cache/drivers/base-cache-driver.js +1 -0
- package/esm/cache/drivers/base-cache-driver.js.map +1 -1
- package/esm/cache/drivers/index.d.ts +1 -0
- package/esm/cache/drivers/index.d.ts.map +1 -1
- package/esm/cache/drivers/lru-memory-cache-driver.d.ts +88 -0
- package/esm/cache/drivers/lru-memory-cache-driver.d.ts.map +1 -0
- package/esm/cache/drivers/lru-memory-cache-driver.js +155 -0
- package/esm/cache/drivers/lru-memory-cache-driver.js.map +1 -0
- package/esm/cache/drivers/memory-cache-driver.d.ts +4 -0
- package/esm/cache/drivers/memory-cache-driver.d.ts.map +1 -1
- package/esm/cache/drivers/memory-cache-driver.js +12 -1
- package/esm/cache/drivers/memory-cache-driver.js.map +1 -1
- package/esm/cache/drivers/redis-cache-driver.d.ts.map +1 -1
- package/esm/cache/drivers/redis-cache-driver.js +2 -2
- package/esm/cache/drivers/redis-cache-driver.js.map +1 -1
- package/esm/cache/types.d.ts +19 -1
- package/esm/cache/types.d.ts.map +1 -1
- package/esm/config/default-configurations.js +1 -1
- package/esm/config/default-configurations.js.map +1 -1
- package/esm/console/commands/database/migrate.d.ts.map +1 -1
- package/esm/console/commands/database/migrate.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/modules/uploads/output/upload-output.d.ts.map +1 -1
- package/esm/modules/uploads/output/upload-output.js +1 -0
- package/esm/modules/uploads/output/upload-output.js.map +1 -1
- package/esm/postman/index.js +1 -1
- package/esm/postman/index.js.map +1 -1
- package/esm/repositories/repository-list-manager.d.ts.map +1 -1
- package/esm/repositories/repository-list-manager.js +2 -0
- package/esm/repositories/repository-list-manager.js.map +1 -1
- package/esm/starters/build-http-production.d.ts.map +1 -1
- package/esm/starters/build-http-production.js +2 -1
- package/esm/starters/build-http-production.js.map +1 -1
- package/esm/starters/start-http-production-server.js +1 -1
- package/esm/starters/start-http-production-server.js.map +1 -1
- package/esm/starters/start-http-server.js +1 -1
- package/esm/starters/start-http-server.js.map +1 -1
- package/esm/tests/init-testing.js +1 -1
- package/esm/tests/init-testing.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-cli-app.d.ts","sourceRoot":"","sources":["../../src/builder/build-cli-app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-cli-app.d.ts","sourceRoot":"","sources":["../../src/builder/build-cli-app.ts"],"names":[],"mappings":"AAYA,wBAAsB,WAAW,oBAmBhC;AAED,wBAAsB,2BAA2B,oBAahD;AAED,wBAAsB,gBAAgB,oBAiGrC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var fs=require('@mongez/fs'),reinforcements=require('@mongez/reinforcements'),paths=require('../utils/paths.js'),appBuilder=require('./app-builder.js'),configLoaderBuilder=require('./config-loader-builder.js');async function buildCliApp() {
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),reinforcements=require('@mongez/reinforcements'),migrate=require('src/warlock/console/commands/database/migrate'),seeds=require('src/warlock/console/commands/database/seeds'),paths=require('../utils/paths.js'),appBuilder=require('./app-builder.js'),configLoaderBuilder=require('./config-loader-builder.js');async function buildCliApp() {
|
|
2
2
|
const { addImport, saveAs } = appBuilder.createAppBuilder();
|
|
3
3
|
await fs.ensureDirectoryAsync(paths.warlockPath());
|
|
4
4
|
const data = await Promise.all([
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
configLoaderBuilder.createConfigLoader(),
|
|
7
7
|
loadCommandFiles(),
|
|
8
8
|
createCliApplicationStarter(),
|
|
9
|
+
migrate.loadMigrationsFiles(),
|
|
10
|
+
seeds.loadSeedsFiles(),
|
|
9
11
|
]);
|
|
10
12
|
addImport(...data);
|
|
11
13
|
await saveAs("cli");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-cli-app.js","sources":["../../src/builder/build-cli-app.ts"],"sourcesContent":[null],"names":["createAppBuilder","ensureDirectoryAsync","warlockPath","createBootstrapFile","createConfigLoader","paths","globModuleDirectory","getFileAsync","srcPath","toSnakeCase"],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-cli-app.js","sources":["../../src/builder/build-cli-app.ts"],"sourcesContent":[null],"names":["createAppBuilder","ensureDirectoryAsync","warlockPath","createBootstrapFile","createConfigLoader","loadMigrationsFiles","loadSeedsFiles","paths","globModuleDirectory","getFileAsync","srcPath","toSnakeCase"],"mappings":"6VAYO,eAAe,WAAW,GAAA;IAC/B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAGA,2BAAgB,EAAE,CAAC;AAEjD,IAAA,MAAMC,uBAAoB,CAACC,iBAAW,EAAE,CAAC,CAAC;AAE1C,IAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC7B,QAAAC,8BAAmB,EAAE;AACrB,QAAAC,sCAAkB,EAAE;AACpB,QAAA,gBAAgB,EAAE;AAClB,QAAA,2BAA2B,EAAE;AAC7B,QAAAC,2BAAmB,EAAE;AACrB,QAAAC,oBAAc,EAAE;AACjB,KAAA,CAAC,CAAC;AAEH,IAAA,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAEnB,IAAA,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;AAEpB,IAAA,OAAOJ,iBAAW,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAEM,eAAe,2BAA2B,GAAA;IAC/C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAGF,2BAAgB,EAAE,CAAC;IAE7D,SAAS,CACP,CAAsF,oFAAA,CAAA,CACvF,CAAC;IAEF,UAAU,CAAC,CAA6B,2BAAA,CAAA,CAAC,CAAC;IAC1C,UAAU,CAAC,CAA4B,0BAAA,CAAA,CAAC,CAAC;AAEzC,IAAA,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE1C,IAAA,OAAO,sCAAsC,CAAC;AAChD,CAAC;AAEM,eAAe,gBAAgB,GAAA;IACpC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAGA,2BAAgB,EAAE,CAAC;AAE7D,IAAA,MAAMO,OAAK,GAAG,MAAMC,8BAAmB,CAAC,UAAU,CAAC,CAAC;IAEpD,SAAS,CAAC,CAA0C,wCAAA,CAAA,CAAC,CAAC;IACtD,SAAS,CAAC,CAAsC,oCAAA,CAAA,CAAC,CAAC;IAClD,SAAS,CACP,CAAoE,kEAAA,CAAA,CACrE,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,iBAAyB,EAAE,IAAY,KAAI;AAC1E,QAAA,MAAM,YAAY,GAAG,MAAMC,eAAY,CAACC,aAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEjE,MAAM,WAAW,GAAG,cAAc;AAChC,cAAE,CAAA;AACgB,sBAAA,EAAA,iBAAiB,MAAM,iBAAiB,CAAA;AAClD,YAAA,EAAA,iBAAiB,4BAA4B,iBAAiB,CAAA;AACrE,MAAA,CAAA;cACC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAG,UAAU;AACxB,cAAE,CAAA,uBAAA,EAA0B,iBAAiB,CAAA,CAAA,EAAI,iBAAiB,CAAY,UAAA,CAAA;cAC5E,EAAE,CAAC;QAEP,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,UAAU;AACxB,cAAE,CAAA;AACc,oBAAA,EAAA,iBAAiB,6BAA6B,iBAAiB,CAAA;;mCAElD,iBAAiB,CAAA;;;;;kBAKlC,iBAAiB,CAAA;;AAE5B,MAAA,CAAA;cACC,EAAE,CAAC;AAEP,QAAA,MAAM,OAAO,GAAG,CAAA;;SAEX,IAAI,CAAA;AACW,sBAAA,EAAA,iBAAiB,MAAM,iBAAiB,CAAA;;AAE7C,iBAAA,EAAA,iBAAiB,MAAM,iBAAiB,CAAA;;wBAEnC,iBAAiB,CAAA;uEAC8B,IAAI,CAAA;;;mBAGxD,iBAAiB,CAAA;yEACqC,IAAI,CAAA;;;AAGzD,kBAAA,EAAA,iBAAiB,wCAAwC,iBAAiB,CAAA;qBACzE,iBAAiB,CAAA;;;MAGhC,WAAW,CAAA;;MAEX,OAAO,CAAA;;MAEP,OAAO,CAAA;;8BAEiB,iBAAiB,CAAA;KAC1C,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,CAAC;AACtB,KAAC,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,OAAO,IAAY,KAAI;;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAY,CAAC;QAEjD,QAAQ,CAAC,GAAG,EAAE,CAAC;AAEf,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAG,CAAC;QAEnC,MAAM,iBAAiB,GAAGC,0BAAW,CAAC,UAAU,GAAG,GAAG,GAAG,eAAe,CAAC,CAAC;AAE1E,QAAA,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAEjD,OAAO,SAAS,CAAC,CAAe,YAAA,EAAA,iBAAiB,UAAU,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;AACvE,KAAC,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAACJ,OAAK,CAAC,GAAG,CAAC,OAAM,IAAI,KAAI,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAErE,IAAA,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAEzB,IAAA,OAAO,qBAAqB,CAAC;AAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/base-cache-driver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAuBtE,8BAAsB,eAAe,CAAC,UAAU,EAAE,OAAO,SAAS,aAAa,CAC7E,YAAW,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,YAAY,EAAG,UAAU,CAAC;IAEpC;;OAEG;IACH,IAAW,MAAM,IAOS,UAAU,CALnC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,MAAM,EAAE,UAAU,EAEnC;IAED;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACI,OAAO,EAAE,OAAO,CAAa;IAEpC;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAI3C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO;IAKlC;;OAEG;aACa,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhE;;OAEG;aACa,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1E;;OAEG;aACa,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAE9D;;OAEG;aACa,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAElE;;OAEG;aACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzD;;OAEG;IACH,IAAW,GAAG,QAEb;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,GAAE,MAAiB;IAMpC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"base-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/base-cache-driver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAuBtE,8BAAsB,eAAe,CAAC,UAAU,EAAE,OAAO,SAAS,aAAa,CAC7E,YAAW,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,YAAY,EAAG,UAAU,CAAC;IAEpC;;OAEG;IACH,IAAW,MAAM,IAOS,UAAU,CALnC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,MAAM,EAAE,UAAU,EAEnC;IAED;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACI,OAAO,EAAE,OAAO,CAAa;IAEpC;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAI3C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO;IAKlC;;OAEG;aACa,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhE;;OAEG;aACa,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1E;;OAEG;aACa,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAE9D;;OAEG;aACa,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAElE;;OAEG;aACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzD;;OAEG;IACH,IAAW,GAAG,QAEb;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,GAAE,MAAiB;IAMpC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAavD;;OAEG;cACa,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAM5D;;OAEG;IACU,OAAO;IAKpB;;OAEG;IACU,UAAU;CAGxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-cache-driver.js","sources":["../../../src/cache/drivers/base-cache-driver.ts"],"sourcesContent":[null],"names":["parseCacheKey","log"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-cache-driver.js","sources":["../../../src/cache/drivers/base-cache-driver.ts"],"sourcesContent":[null],"names":["parseCacheKey","log"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { GenericObject } from "@mongez/reinforcements";
|
|
2
|
+
import { CacheDriver, LRUMemoryCacheOptions } from "../types";
|
|
3
|
+
import { BaseCacheDriver } from "./base-cache-driver";
|
|
4
|
+
declare class CacheNode {
|
|
5
|
+
key: string;
|
|
6
|
+
value: any;
|
|
7
|
+
next: CacheNode | null;
|
|
8
|
+
prev: CacheNode | null;
|
|
9
|
+
constructor(key: string, value: any);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* LRU Memory Cache Driver
|
|
13
|
+
* The concept of LRU is to remove the least recently used data
|
|
14
|
+
* whenever the cache is full
|
|
15
|
+
* The question that resides here is how to tell the cache is full?
|
|
16
|
+
*/
|
|
17
|
+
export declare class LRUMemoryCacheDriver extends BaseCacheDriver<LRUMemoryCacheDriver, LRUMemoryCacheOptions> implements CacheDriver<LRUMemoryCacheDriver, LRUMemoryCacheOptions> {
|
|
18
|
+
/**
|
|
19
|
+
* {@inheritdoc}
|
|
20
|
+
*/
|
|
21
|
+
name: string;
|
|
22
|
+
/**
|
|
23
|
+
* Cache map
|
|
24
|
+
*/
|
|
25
|
+
protected cache: Map<string, CacheNode>;
|
|
26
|
+
/**
|
|
27
|
+
* Head of the cache
|
|
28
|
+
*/
|
|
29
|
+
protected head: CacheNode;
|
|
30
|
+
/**
|
|
31
|
+
* Tail of the cache
|
|
32
|
+
*/
|
|
33
|
+
protected tail: CacheNode;
|
|
34
|
+
/**
|
|
35
|
+
* List of data that will be cleared from cache
|
|
36
|
+
*/
|
|
37
|
+
protected temporaryData: Record<string, number>;
|
|
38
|
+
/**
|
|
39
|
+
* {@inheritdoc}
|
|
40
|
+
*/
|
|
41
|
+
constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Initialize the cache
|
|
44
|
+
*/
|
|
45
|
+
init(): void;
|
|
46
|
+
/**
|
|
47
|
+
* {@inheritdoc}
|
|
48
|
+
*/
|
|
49
|
+
removeNamespace(_namespace: string): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* {@inheritdoc}
|
|
52
|
+
*/
|
|
53
|
+
set(key: string | GenericObject, value: any, _ttl?: number): Promise<this>;
|
|
54
|
+
/**
|
|
55
|
+
* Move the node to the head
|
|
56
|
+
*/
|
|
57
|
+
protected moveHead(node: CacheNode): void;
|
|
58
|
+
/**
|
|
59
|
+
* Remove the node from the cache
|
|
60
|
+
*/
|
|
61
|
+
protected removeNode(node: CacheNode): void;
|
|
62
|
+
/**
|
|
63
|
+
* Add the node to the head
|
|
64
|
+
*/
|
|
65
|
+
protected addNode(node: CacheNode): void;
|
|
66
|
+
/**
|
|
67
|
+
* Remove the tail node
|
|
68
|
+
*/
|
|
69
|
+
protected removeTail(): void;
|
|
70
|
+
/**
|
|
71
|
+
* {@inheritdoc}
|
|
72
|
+
*/
|
|
73
|
+
get(key: string | GenericObject): Promise<any>;
|
|
74
|
+
/**
|
|
75
|
+
* {@inheritdoc}
|
|
76
|
+
*/
|
|
77
|
+
remove(key: string | GenericObject): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* {@inheritdoc}
|
|
80
|
+
*/
|
|
81
|
+
flush(): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Get lru capacity
|
|
84
|
+
*/
|
|
85
|
+
get capacity(): number;
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=lru-memory-cache-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lru-memory-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/lru-memory-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAM,SAAS;IAIJ,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,GAAG;IAJZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG;CAIpB;AAED;;;;;GAKG;AACH,qBAAa,oBACX,SAAQ,eAAe,CAAC,oBAAoB,EAAE,qBAAqB,CACnE,YAAW,WAAW,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAEnE;;OAEG;IACI,IAAI,SAAS;IAEpB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEpD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,CAA2B;IAEpD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,CAA2B;IAEpD;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAErD;;OAEG;;IAOH;;OAEG;IACI,IAAI;IAKX;;OAEG;IACU,eAAe,CAAC,UAAU,EAAE,MAAM;IAI/C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM;IA2BvE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS;IAKlC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS;IAKpC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS;IAOjC;;OAEG;IACH,SAAS,CAAC,UAAU;IAQpB;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAmB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAe/C;;OAEG;IACU,KAAK;IAUlB;;OAEG;IACH,IAAW,QAAQ,WAElB;CACF"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
'use strict';var baseCacheDriver=require('./base-cache-driver.js');class CacheNode {
|
|
2
|
+
key;
|
|
3
|
+
value;
|
|
4
|
+
next = null;
|
|
5
|
+
prev = null;
|
|
6
|
+
constructor(key, value) {
|
|
7
|
+
this.key = key;
|
|
8
|
+
this.value = value;
|
|
9
|
+
//
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* LRU Memory Cache Driver
|
|
14
|
+
* The concept of LRU is to remove the least recently used data
|
|
15
|
+
* whenever the cache is full
|
|
16
|
+
* The question that resides here is how to tell the cache is full?
|
|
17
|
+
*/
|
|
18
|
+
class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
19
|
+
/**
|
|
20
|
+
* {@inheritdoc}
|
|
21
|
+
*/
|
|
22
|
+
name = "lru";
|
|
23
|
+
/**
|
|
24
|
+
* Cache map
|
|
25
|
+
*/
|
|
26
|
+
cache = new Map();
|
|
27
|
+
/**
|
|
28
|
+
* Head of the cache
|
|
29
|
+
*/
|
|
30
|
+
head = new CacheNode("", null);
|
|
31
|
+
/**
|
|
32
|
+
* Tail of the cache
|
|
33
|
+
*/
|
|
34
|
+
tail = new CacheNode("", null);
|
|
35
|
+
/**
|
|
36
|
+
* List of data that will be cleared from cache
|
|
37
|
+
*/
|
|
38
|
+
temporaryData = {};
|
|
39
|
+
/**
|
|
40
|
+
* {@inheritdoc}
|
|
41
|
+
*/
|
|
42
|
+
constructor() {
|
|
43
|
+
super();
|
|
44
|
+
this.init();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Initialize the cache
|
|
48
|
+
*/
|
|
49
|
+
init() {
|
|
50
|
+
this.head.next = this.tail;
|
|
51
|
+
this.tail.prev = this.head;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* {@inheritdoc}
|
|
55
|
+
*/
|
|
56
|
+
async removeNamespace(_namespace) {
|
|
57
|
+
throw new Error("Namespace is not supported in LRU cache driver.");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* {@inheritdoc}
|
|
61
|
+
*/
|
|
62
|
+
async set(key, value, _ttl) {
|
|
63
|
+
key = await this.parseKey(key);
|
|
64
|
+
this.log("caching", key);
|
|
65
|
+
const node = this.cache.get(key);
|
|
66
|
+
if (node) {
|
|
67
|
+
node.value = value;
|
|
68
|
+
this.moveHead(node);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const node = new CacheNode(key, value);
|
|
72
|
+
this.cache.set(key, node);
|
|
73
|
+
this.addNode(node);
|
|
74
|
+
if (this.cache.size > this.capacity) {
|
|
75
|
+
this.removeTail();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this.log("cached", key);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Move the node to the head
|
|
83
|
+
*/
|
|
84
|
+
moveHead(node) {
|
|
85
|
+
this.removeNode(node);
|
|
86
|
+
this.addNode(node);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Remove the node from the cache
|
|
90
|
+
*/
|
|
91
|
+
removeNode(node) {
|
|
92
|
+
node.prev.next = node.next;
|
|
93
|
+
node.next.prev = node.prev;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add the node to the head
|
|
97
|
+
*/
|
|
98
|
+
addNode(node) {
|
|
99
|
+
node.next = this.head.next;
|
|
100
|
+
node.prev = this.head;
|
|
101
|
+
this.head.next.prev = node;
|
|
102
|
+
this.head.next = node;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Remove the tail node
|
|
106
|
+
*/
|
|
107
|
+
removeTail() {
|
|
108
|
+
const node = this.tail.prev;
|
|
109
|
+
this.removeNode(node);
|
|
110
|
+
this.cache.delete(node.key);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* {@inheritdoc}
|
|
114
|
+
*/
|
|
115
|
+
async get(key) {
|
|
116
|
+
const parsedKey = await this.parseKey(key);
|
|
117
|
+
this.log("fetching", parsedKey);
|
|
118
|
+
const node = this.cache.get(parsedKey);
|
|
119
|
+
if (!node) {
|
|
120
|
+
this.log("notFound", parsedKey);
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
this.moveHead(node);
|
|
124
|
+
this.log("fetched", parsedKey);
|
|
125
|
+
return node.value;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* {@inheritdoc}
|
|
129
|
+
*/
|
|
130
|
+
async remove(key) {
|
|
131
|
+
const parsedKey = await this.parseKey(key);
|
|
132
|
+
this.log("removing", parsedKey);
|
|
133
|
+
const node = this.cache.get(parsedKey);
|
|
134
|
+
if (node) {
|
|
135
|
+
this.removeNode(node);
|
|
136
|
+
this.cache.delete(parsedKey);
|
|
137
|
+
}
|
|
138
|
+
this.log("removed", parsedKey);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* {@inheritdoc}
|
|
142
|
+
*/
|
|
143
|
+
async flush() {
|
|
144
|
+
this.log("flushing");
|
|
145
|
+
this.cache.clear();
|
|
146
|
+
this.init();
|
|
147
|
+
this.log("flushed");
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get lru capacity
|
|
151
|
+
*/
|
|
152
|
+
get capacity() {
|
|
153
|
+
return this.options.capacity || 1000;
|
|
154
|
+
}
|
|
155
|
+
}exports.LRUMemoryCacheDriver=LRUMemoryCacheDriver;//# sourceMappingURL=lru-memory-cache-driver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lru-memory-cache-driver.js","sources":["../../../src/cache/drivers/lru-memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver"],"mappings":"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"}
|
|
@@ -42,5 +42,9 @@ export declare class MemoryCacheDriver extends BaseCacheDriver<MemoryCacheDriver
|
|
|
42
42
|
* {@inheritdoc}
|
|
43
43
|
*/
|
|
44
44
|
flush(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Set the temporary data
|
|
47
|
+
*/
|
|
48
|
+
protected setTemporaryData(key: string, ttl: number): void;
|
|
45
49
|
}
|
|
46
50
|
//# sourceMappingURL=memory-cache-driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/memory-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"memory-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/memory-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAa,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,iBACX,SAAQ,eAAe,CAAC,iBAAiB,EAAE,kBAAkB,CAC7D,YAAW,WAAW,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAE7D;;OAEG;IACI,IAAI,SAAY;IAEvB;;OAEG;IACI,IAAI,EAAE,aAAa,CAAM;IAEhC;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAErD;;OAEG;;IAOH;;OAEG;IACI,YAAY;IAiBnB;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAY9C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAmBtE;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAqB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAU/C;;OAEG;IACU,KAAK;IAWlB;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGpD"}
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
const data = this.prepareDataForStorage(value, ttl);
|
|
55
55
|
if (ttl) {
|
|
56
56
|
// it means we need to check for expiration
|
|
57
|
-
this.
|
|
57
|
+
this.setTemporaryData(key, ttl);
|
|
58
58
|
}
|
|
59
59
|
reinforcements.set(this.data, key, data);
|
|
60
60
|
this.log("cached", key);
|
|
@@ -71,6 +71,11 @@
|
|
|
71
71
|
this.log("notFound", parsedKey);
|
|
72
72
|
return null;
|
|
73
73
|
}
|
|
74
|
+
if (this.options.ttle && value.ttl) {
|
|
75
|
+
// reset the expiration time
|
|
76
|
+
this.setTemporaryData(parsedKey, value.ttl);
|
|
77
|
+
value.expiresAt = this.getTtl(value.ttl);
|
|
78
|
+
}
|
|
74
79
|
return this.parseCachedData(parsedKey, value);
|
|
75
80
|
}
|
|
76
81
|
/**
|
|
@@ -95,4 +100,10 @@
|
|
|
95
100
|
}
|
|
96
101
|
this.log("flushed");
|
|
97
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Set the temporary data
|
|
105
|
+
*/
|
|
106
|
+
setTemporaryData(key, ttl) {
|
|
107
|
+
this.temporaryData[key] = Date.now() + ttl * 1000;
|
|
108
|
+
}
|
|
98
109
|
}exports.MemoryCacheDriver=MemoryCacheDriver;//# sourceMappingURL=memory-cache-driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-cache-driver.js","sources":["../../../src/cache/drivers/memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","unset","set","get"],"mappings":"oHAIM,MAAO,iBACX,SAAQA,+BAAsD,CAAA;AAG9D;;AAEG;IACI,IAAI,GAAG,QAAQ,CAAC;AAEvB;;AAEG;IACI,IAAI,GAAkB,EAAE,CAAC;AAEhC;;AAEG;IACO,aAAa,GAA2B,EAAE,CAAC;AAErD;;AAEG;AACH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED;;AAEG;IACI,YAAY,GAAA;AACjB,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAK;AAChC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAEvB,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE;AAClC,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjB,oBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC/B,oBAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC1B,iBAAA;AACF,aAAA;SACF,EAAE,IAAI,CAAC,CAAC;;QAGT,QAAQ,CAAC,KAAK,EAAE,CAAC;KAClB;AAED;;AAEG;IACI,MAAM,eAAe,CAAC,SAAiB,EAAA;AAC5C,QAAA,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhC,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE3CC,oBAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAE9B,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE/B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,MAAM,GAAG,CAAC,GAA2B,EAAE,KAAU,EAAE,GAAY,EAAA;QACpE,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEpD,QAAA,IAAI,GAAG,EAAE;;AAEP,YAAA,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"memory-cache-driver.js","sources":["../../../src/cache/drivers/memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","unset","set","get"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/redis-cache-driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redis-cache-driver.d.ts","sourceRoot":"","sources":["../../../src/cache/drivers/redis-cache-driver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAa,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,gBACX,SAAQ,eAAe,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,YAAY,CACrE,YAAW,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,YAAY,CAAC;IAErE;;OAEG;IACI,IAAI,SAAW;IAEtB;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAmB9C;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAI3C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAgBtE;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAiB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAU/C;;OAEG;IACU,KAAK;IAYlB;;OAEG;IACU,OAAO;IAuCpB;;OAEG;IACU,UAAU;CASxB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var redis=require('redis'),utils=require('../utils.js'),baseCacheDriver=require('./base-cache-driver.js');class RedisCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
1
|
+
'use strict';var logger=require('@mongez/logger'),redis=require('redis'),utils=require('../utils.js'),baseCacheDriver=require('./base-cache-driver.js');class RedisCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
2
2
|
/**
|
|
3
3
|
* Cache driver name
|
|
4
4
|
*/
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
this.log("connected");
|
|
104
104
|
}
|
|
105
105
|
catch (error) {
|
|
106
|
-
|
|
106
|
+
logger.log.error("cache", "redis", error);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-cache-driver.js","sources":["../../../src/cache/drivers/redis-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","parseCacheKey","createClient"],"mappings":"
|
|
1
|
+
{"version":3,"file":"redis-cache-driver.js","sources":["../../../src/cache/drivers/redis-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","parseCacheKey","createClient","log"],"mappings":"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"}
|
package/cjs/cache/types.d.ts
CHANGED
|
@@ -13,6 +13,20 @@ export type MemoryCacheOptions = {
|
|
|
13
13
|
* @default Infinity
|
|
14
14
|
*/
|
|
15
15
|
ttl?: number;
|
|
16
|
+
/**
|
|
17
|
+
* TTLE stands for Time To Live Extension, it's a time in seconds to extend the TTL of the cache
|
|
18
|
+
* For example, if cache is set for one hour, and a cache hit happened after 50 minutes, the cache will be extended for another hour
|
|
19
|
+
* If enabled, it will replace the behavior of the ttl option
|
|
20
|
+
*/
|
|
21
|
+
ttle?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type LRUMemoryCacheOptions = {
|
|
24
|
+
/**
|
|
25
|
+
* The maximum number of items in the cache
|
|
26
|
+
*
|
|
27
|
+
* @default 1000
|
|
28
|
+
*/
|
|
29
|
+
capacity?: number;
|
|
16
30
|
};
|
|
17
31
|
export type FileCacheOptions = {
|
|
18
32
|
/**
|
|
@@ -142,9 +156,13 @@ export type CacheData = {
|
|
|
142
156
|
* The expiration date in milliseconds
|
|
143
157
|
*/
|
|
144
158
|
expiresAt?: number;
|
|
159
|
+
/**
|
|
160
|
+
* Time to live in seconds
|
|
161
|
+
*/
|
|
162
|
+
ttl?: number;
|
|
145
163
|
};
|
|
146
164
|
export type DriverClass = new () => CacheDriver<any, any>;
|
|
147
|
-
type DefaultDrivers = "redis" | "file" | "memory" | "null";
|
|
165
|
+
type DefaultDrivers = "redis" | "file" | "memory" | "null" | "lru";
|
|
148
166
|
type MergeWithDefaultDrivers<T> = T extends undefined ? DefaultDrivers : DefaultDrivers | T;
|
|
149
167
|
export type CacheConfigurations<T extends string | undefined = undefined, DriverName = MergeWithDefaultDrivers<T>> = {
|
|
150
168
|
/**
|
package/cjs/cache/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,SAAS,GACT,SAAS,GACT,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,GACZ,OAAO,GACP,WAAW,GACX,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACvC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-configurations.js","sources":["../../src/config/default-configurations.ts"],"sourcesContent":[null],"names":[],"mappings":"aAEa,MAAA,4BAA4B,GAAkB;AACzD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO;AACrC,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"default-configurations.js","sources":["../../src/config/default-configurations.ts"],"sourcesContent":[null],"names":[],"mappings":"aAEa,MAAA,4BAA4B,GAAkB;AACzD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO;AACrC,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,MAAM,EAAE,IAAI;AACb,KAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../src/console/commands/database/migrate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAsB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../src/console/commands/database/migrate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAsB,mBAAmB,oBAgDxC;AAED,wBAAgB,wBAAwB,YAkBvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sources":["../../../../src/console/commands/database/migrate.ts"],"sourcesContent":[null],"names":["preloadCommand","Command","listMigrations","migrate"],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.js","sources":["../../../../src/console/commands/database/migrate.ts"],"sourcesContent":[null],"names":["preloadCommand","Command","listMigrations","migrate"],"mappings":"2hBA2DgB,wBAAwB,GAAA;AACtC,IAAA,OAAOA,wBAAc,CACnB,IAAIC,mBAAO,CAAC,SAAS,CAAC;SACnB,WAAW,CAAC,8BAA8B,CAAC;AAC3C,SAAA,MAAM,CACL,eAAe,EACf,mDAAmD,CACpD;AACA,SAAA,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;AAC3C,SAAA,MAAM,CAAC,OAAM,OAAO,KAAG;QACtB,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,MAAMC,uBAAc,EAAE,CAAC;AACxB,SAAA;AAAM,aAAA;AACL,YAAA,MAAMC,gBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAChC,SAAA;AACH,KAAC,CAAC,EACJ,CAAC,UAAU,CAAC,CACb,CAAC;AACJ"}
|