equipped 5.0.10 → 5.0.12
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/CHANGELOG.md +14 -0
- package/dist/cjs/cache/index.cjs +1 -0
- package/dist/cjs/cache/index.cjs.map +1 -1
- package/dist/cjs/cache/index.min.cjs +1 -1
- package/dist/cjs/cache/index.min.cjs.map +1 -1
- package/dist/cjs/cache/types/in-memory.cjs +47 -0
- package/dist/cjs/cache/types/in-memory.cjs.map +1 -0
- package/dist/cjs/cache/types/in-memory.min.cjs +2 -0
- package/dist/cjs/cache/types/in-memory.min.cjs.map +1 -0
- package/dist/cjs/cache/types/redis.cjs +9 -6
- package/dist/cjs/cache/types/redis.cjs.map +1 -1
- package/dist/cjs/cache/types/redis.min.cjs +1 -1
- package/dist/cjs/cache/types/redis.min.cjs.map +1 -1
- package/dist/cjs/dbs/pipes.cjs.map +1 -1
- package/dist/cjs/dbs/pipes.min.cjs.map +1 -1
- package/dist/cjs/instance/index.cjs.map +1 -1
- package/dist/cjs/instance/index.min.cjs +2 -2
- package/dist/cjs/instance/index.min.cjs.map +1 -1
- package/dist/cjs/instance/settings.cjs +11 -8
- package/dist/cjs/instance/settings.cjs.map +1 -1
- package/dist/cjs/instance/settings.min.cjs +1 -1
- package/dist/cjs/instance/settings.min.cjs.map +1 -1
- package/dist/cjs/server/impls/base.cjs +1 -0
- package/dist/cjs/server/impls/base.cjs.map +1 -1
- package/dist/cjs/server/impls/base.min.cjs +1 -1
- package/dist/cjs/server/impls/base.min.cjs.map +1 -1
- package/dist/cjs/server/requests-auth/tokens.cjs +6 -7
- package/dist/cjs/server/requests-auth/tokens.cjs.map +1 -1
- package/dist/cjs/server/requests-auth/tokens.min.cjs +1 -1
- package/dist/cjs/server/requests-auth/tokens.min.cjs.map +1 -1
- package/dist/cjs/server/types.cjs.map +1 -1
- package/dist/cjs/server/types.min.cjs +1 -1
- package/dist/cjs/server/types.min.cjs.map +1 -1
- package/dist/cjs/validations/index.cjs.map +1 -1
- package/dist/cjs/validations/index.min.cjs +1 -1
- package/dist/cjs/validations/index.min.cjs.map +1 -1
- package/dist/cjs/validations/valleyed.cjs +10 -11
- package/dist/cjs/validations/valleyed.cjs.map +1 -1
- package/dist/cjs/validations/valleyed.min.cjs +1 -1
- package/dist/cjs/validations/valleyed.min.cjs.map +1 -1
- package/dist/esm/cache/index.min.mjs +1 -1
- package/dist/esm/cache/index.min.mjs.map +1 -1
- package/dist/esm/cache/index.mjs +1 -0
- package/dist/esm/cache/index.mjs.map +1 -1
- package/dist/esm/cache/types/in-memory.min.mjs +2 -0
- package/dist/esm/cache/types/in-memory.min.mjs.map +1 -0
- package/dist/esm/cache/types/in-memory.mjs +47 -0
- package/dist/esm/cache/types/in-memory.mjs.map +1 -0
- package/dist/esm/cache/types/redis.min.mjs +1 -1
- package/dist/esm/cache/types/redis.min.mjs.map +1 -1
- package/dist/esm/cache/types/redis.mjs +9 -6
- package/dist/esm/cache/types/redis.mjs.map +1 -1
- package/dist/esm/dbs/pipes.min.mjs.map +1 -1
- package/dist/esm/dbs/pipes.mjs.map +1 -1
- package/dist/esm/instance/index.min.mjs +3 -3
- package/dist/esm/instance/index.min.mjs.map +1 -1
- package/dist/esm/instance/index.mjs.map +1 -1
- package/dist/esm/instance/settings.min.mjs +1 -1
- package/dist/esm/instance/settings.min.mjs.map +1 -1
- package/dist/esm/instance/settings.mjs +8 -5
- package/dist/esm/instance/settings.mjs.map +1 -1
- package/dist/esm/server/impls/base.min.mjs +1 -1
- package/dist/esm/server/impls/base.min.mjs.map +1 -1
- package/dist/esm/server/impls/base.mjs +1 -0
- package/dist/esm/server/impls/base.mjs.map +1 -1
- package/dist/esm/server/requests-auth/tokens.min.mjs +1 -1
- package/dist/esm/server/requests-auth/tokens.min.mjs.map +1 -1
- package/dist/esm/server/requests-auth/tokens.mjs +6 -7
- package/dist/esm/server/requests-auth/tokens.mjs.map +1 -1
- package/dist/esm/server/types.min.mjs +1 -1
- package/dist/esm/server/types.min.mjs.map +1 -1
- package/dist/esm/server/types.mjs.map +1 -1
- package/dist/esm/validations/index.min.mjs +1 -1
- package/dist/esm/validations/index.min.mjs.map +1 -1
- package/dist/esm/validations/index.mjs.map +1 -1
- package/dist/esm/validations/valleyed.min.mjs +1 -1
- package/dist/esm/validations/valleyed.min.mjs.map +1 -1
- package/dist/esm/validations/valleyed.mjs +10 -11
- package/dist/esm/validations/valleyed.mjs.map +1 -1
- package/dist/types/cache/index.d.ts +13 -2
- package/dist/types/cache/index.js +1 -0
- package/dist/types/cache/types/in-memory.js +46 -0
- package/dist/types/cache/types/redis.js +9 -6
- package/dist/types/dbs/index.d.ts +3 -3
- package/dist/types/errors/index.d.ts +3 -3
- package/dist/types/events/index.d.ts +2 -2
- package/dist/types/{index-BmX5WyqC.d.ts → index-BtF0VClz.d.ts} +31 -24
- package/dist/types/{index-U2VdDArL.d.ts → index-CegB2bgP.d.ts} +5 -5
- package/dist/types/index.d.ts +4 -4
- package/dist/types/instance/index.d.ts +4 -4
- package/dist/types/instance/settings.js +8 -5
- package/dist/types/jobs/index.d.ts +1 -1
- package/dist/types/{kafka-CW925i4B.d.ts → kafka-DrqkU2KH.d.ts} +2 -2
- package/dist/types/{requests-Ck6goOVY.d.ts → requests-DBqR41Uw.d.ts} +9 -9
- package/dist/types/server/impls/base.js +1 -0
- package/dist/types/server/index.d.ts +6 -6
- package/dist/types/server/requests-auth/tokens.js +6 -7
- package/dist/types/{validationError-KBRp_OT7.d.ts → validationError-DC5N8F5e.d.ts} +1 -1
- package/dist/types/validations/index.d.ts +9 -8
- package/dist/types/validations/valleyed.js +10 -11
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [5.0.12](https://github.com/kevinand11/equipped/compare/v5.0.11...v5.0.12) (2025-07-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* upgrade valleyed ([f5afa37](https://github.com/kevinand11/equipped/commit/f5afa373894fb16a405e1f82e191a2a294bb4497))
|
|
11
|
+
|
|
12
|
+
### [5.0.11](https://github.com/kevinand11/equipped/compare/v5.0.10...v5.0.11) (2025-06-28)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* add inmemory cache, make cache optional on instance and pass cache impl to CacheTokenImpl ([4338693](https://github.com/kevinand11/equipped/commit/43386931a1da6b1680d48e76a522d5398236c946))
|
|
18
|
+
|
|
5
19
|
### [5.0.10](https://github.com/kevinand11/equipped/compare/v5.0.9...v5.0.10) (2025-06-27)
|
|
6
20
|
|
|
7
21
|
|
package/dist/cjs/cache/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basecjs = require('./base.cjs'); _createStarExport(_basecjs);
|
|
2
2
|
var _pipescjs = require('./pipes.cjs'); _createStarExport(_pipescjs);
|
|
3
|
+
var _inmemorycjs = require('./types/in-memory.cjs'); _createStarExport(_inmemorycjs);
|
|
3
4
|
var _rediscjs = require('./types/redis.cjs'); _createStarExport(_rediscjs);
|
|
4
5
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,maAAc;AACd,qEAAc;AACd,2EAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/index.cjs","sourcesContent":["export * from './base'\nexport * from './pipes'\nexport * from './types/redis'\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,maAAc;AACd,qEAAc;AACd,qFAAc;AACd,2EAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/index.cjs","sourcesContent":["export * from './base'\nexport * from './pipes'\nexport * from './types/in-memory'\nexport * from './types/redis'\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basemincjs = require('./base.min.cjs'); _createStarExport(_basemincjs);var _pipesmincjs = require('./pipes.min.cjs'); _createStarExport(_pipesmincjs);var _redismincjs = require('./types/redis.min.cjs'); _createStarExport(_redismincjs);
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basemincjs = require('./base.min.cjs'); _createStarExport(_basemincjs);var _pipesmincjs = require('./pipes.min.cjs'); _createStarExport(_pipesmincjs);var _inmemorymincjs = require('./types/in-memory.min.cjs'); _createStarExport(_inmemorymincjs);var _redismincjs = require('./types/redis.min.cjs'); _createStarExport(_redismincjs);
|
|
2
2
|
//# sourceMappingURL=index.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,6aACA,+EACc,qFAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/index.min.cjs","sourcesContent":["export * from './base'\nexport * from './pipes'\nexport * from './types/redis'\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,6aACA,+EACc,+FACA,qFAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/index.min.cjs","sourcesContent":["export * from './base'\nexport * from './pipes'\nexport * from './types/in-memory'\nexport * from './types/redis'\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexcjs = require('../../instance/index.cjs');
|
|
2
|
+
var _basecjs = require('../base.cjs');
|
|
3
|
+
class InMemoryCache extends _basecjs.Cache {
|
|
4
|
+
__init() {this.cache = /* @__PURE__ */ new Map()}
|
|
5
|
+
constructor() {
|
|
6
|
+
super();InMemoryCache.prototype.__init.call(this);;
|
|
7
|
+
let interval;
|
|
8
|
+
_indexcjs.Instance.on(
|
|
9
|
+
"start",
|
|
10
|
+
async () => {
|
|
11
|
+
interval = setInterval(() => {
|
|
12
|
+
const now = Date.now();
|
|
13
|
+
for (const [key, record] of this.cache.entries()) {
|
|
14
|
+
if (record.expiredAt <= now) this.cache.delete(key);
|
|
15
|
+
}
|
|
16
|
+
}, 5e3);
|
|
17
|
+
},
|
|
18
|
+
1
|
|
19
|
+
);
|
|
20
|
+
_indexcjs.Instance.on("close", async () => clearInterval(interval), 1);
|
|
21
|
+
}
|
|
22
|
+
getScopedKey(key) {
|
|
23
|
+
return _indexcjs.Instance.get().getScopedName(key, ":");
|
|
24
|
+
}
|
|
25
|
+
async delete(key) {
|
|
26
|
+
this.cache.delete(this.getScopedKey(key));
|
|
27
|
+
}
|
|
28
|
+
async get(key) {
|
|
29
|
+
const record = this.cache.get(this.getScopedKey(key));
|
|
30
|
+
if (record && record.expiredAt > Date.now()) return record.data;
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
async set(key, data, ttlInSecs) {
|
|
34
|
+
this.cache.set(this.getScopedKey(key), { data, expiredAt: Date.now() + ttlInSecs * 1e3 });
|
|
35
|
+
}
|
|
36
|
+
async getOrSet(key, fn, ttlInSecs) {
|
|
37
|
+
const cached = await this.get(key);
|
|
38
|
+
if (cached) return JSON.parse(cached);
|
|
39
|
+
const result = await fn();
|
|
40
|
+
await this.set(key, JSON.stringify(result), ttlInSecs);
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
exports.InMemoryCache = InMemoryCache;
|
|
47
|
+
//# sourceMappingURL=in-memory.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cache/types/in-memory.ts","/home/runner/work/equipped/equipped/dist/cjs/cache/types/in-memory.cjs"],"names":[],"mappings":"AAAA,6HAAyB;AACzB,sCAAsB;AAOf,MAAM,cAAA,QAAsB,eAAM;AAAA,iBACvB,MAAA,kBAAQ,IAAI,GAAA,CAAwB,EAAA;AAAA,EAErD,WAAA,CAAA,EAAc;AACb,IAAA,KAAA,CAAM,4CAAA;AACN,IAAA,IAAI,QAAA;AACJ,IAAA,kBAAA,CAAS,EAAA;AAAA,MACR,OAAA;AAAA,MACA,MAAA,CAAA,EAAA,GAAY;AACX,QAAA,SAAA,EAAW,WAAA,CAAY,CAAA,EAAA,GAAM;AAC5B,UAAA,MAAM,IAAA,EAAM,IAAA,CAAK,GAAA,CAAI,CAAA;AACrB,UAAA,IAAA,CAAA,MAAW,CAAC,GAAA,EAAK,MAAM,EAAA,GAAK,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG;AACjD,YAAA,GAAA,CAAI,MAAA,CAAO,UAAA,GAAa,GAAA,EAAK,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,GAAG,CAAA;AAAA,UACnD;AAAA,QACD,CAAA,EAAG,GAAI,CAAA;AAAA,MACR,CAAA;AAAA,MACA;AAAA,IACD,CAAA;AACA,IAAA,kBAAA,CAAS,EAAA,CAAG,OAAA,EAAS,MAAA,CAAA,EAAA,GAAY,aAAA,CAAc,QAAQ,CAAA,EAAG,CAAC,CAAA;AAAA,EAC5D;AAAA,EAEQ,YAAA,CAAa,GAAA,EAAqB;AACzC,IAAA,OAAO,kBAAA,CAAS,GAAA,CAAI,CAAA,CAAE,aAAA,CAAc,GAAA,EAAK,GAAG,CAAA;AAAA,EAC7C;AAAA,EAEA,MAAM,MAAA,CAAO,GAAA,EAAa;AACzB,IAAA,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,YAAA,CAAa,GAAG,CAAC,CAAA;AAAA,EACzC;AAAA,EAEA,MAAM,GAAA,CAAI,GAAA,EAAa;AACtB,IAAA,MAAM,OAAA,EAAS,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,IAAA,CAAK,YAAA,CAAa,GAAG,CAAC,CAAA;AACpD,IAAA,GAAA,CAAI,OAAA,GAAU,MAAA,CAAO,UAAA,EAAY,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,OAAO,MAAA,CAAO,IAAA;AAC3D,IAAA,OAAO,IAAA;AAAA,EACR;AAAA,EAEA,MAAM,GAAA,CAAI,GAAA,EAAa,IAAA,EAAc,SAAA,EAAmB;AACvD,IAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,IAAA,CAAK,YAAA,CAAa,GAAG,CAAA,EAAG,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,UAAA,EAAY,IAAK,CAAC,CAAA;AAAA,EAC1F;AAAA,EAEA,MAAM,QAAA,CAAY,GAAA,EAAa,EAAA,EAAsB,SAAA,EAA+B;AACnF,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA;AACjC,IAAA,GAAA,CAAI,MAAA,EAAQ,OAAO,IAAA,CAAK,KAAA,CAAM,MAAM,CAAA;AAEpC,IAAA,MAAM,OAAA,EAAS,MAAM,EAAA,CAAG,CAAA;AACxB,IAAA,MAAM,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,SAAA,CAAU,MAAM,CAAA,EAAG,SAAS,CAAA;AACrD,IAAA,OAAO,MAAA;AAAA,EACR;AACD;ACZA;AACE;AACF,sCAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/types/in-memory.cjs","sourcesContent":["import { Instance } from '../../instance'\nimport { Cache } from '../base'\n\ntype CacheEntry = {\n\tdata: string\n\texpiredAt: number\n}\n\nexport class InMemoryCache extends Cache {\n\tprivate readonly cache = new Map<string, CacheEntry>()\n\n\tconstructor() {\n\t\tsuper()\n\t\tlet interval: ReturnType<typeof setInterval> | undefined\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\tasync () => {\n\t\t\t\tinterval = setInterval(() => {\n\t\t\t\t\tconst now = Date.now()\n\t\t\t\t\tfor (const [key, record] of this.cache.entries()) {\n\t\t\t\t\t\tif (record.expiredAt <= now) this.cache.delete(key)\n\t\t\t\t\t}\n\t\t\t\t}, 5000)\n\t\t\t},\n\t\t\t1,\n\t\t)\n\t\tInstance.on('close', async () => clearInterval(interval), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tthis.cache.delete(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\tconst record = this.cache.get(this.getScopedKey(key))\n\t\tif (record && record.expiredAt > Date.now()) return record.data\n\t\treturn null\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs: number) {\n\t\tthis.cache.set(this.getScopedKey(key), { data, expiredAt: Date.now() + ttlInSecs * 1000 })\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs: number): Promise<T> {\n\t\tconst cached = await this.get(key)\n\t\tif (cached) return JSON.parse(cached) as T\n\n\t\tconst result = await fn()\n\t\tawait this.set(key, JSON.stringify(result), ttlInSecs)\n\t\treturn result\n\t}\n}\n",null]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexmincjs = require('../../instance/index.min.cjs');var _basemincjs = require('../base.min.cjs');class h extends _basemincjs.Cache{__init() {this.cache=new Map}constructor(){super();h.prototype.__init.call(this);;let e;_indexmincjs.Instance.on("start",async()=>{e=setInterval(()=>{const t=Date.now();for(const[r,n]of this.cache.entries())n.expiredAt<=t&&this.cache.delete(r)},5e3)},1),_indexmincjs.Instance.on("close",async()=>clearInterval(e),1)}getScopedKey(e){return _indexmincjs.Instance.get().getScopedName(e,":")}async delete(e){this.cache.delete(this.getScopedKey(e))}async get(e){const t=this.cache.get(this.getScopedKey(e));return t&&t.expiredAt>Date.now()?t.data:null}async set(e,t,r){this.cache.set(this.getScopedKey(e),{data:t,expiredAt:Date.now()+r*1e3})}async getOrSet(e,t,r){const n=await this.get(e);if(n)return JSON.parse(n);const a=await t();return await this.set(e,JSON.stringify(a),r),a}}exports.InMemoryCache = h;
|
|
2
|
+
//# sourceMappingURL=in-memory.min.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cache/types/in-memory.ts"],"names":["interval","now","key","record","Instance","data","ttlInSecs","fn","cached","result"],"mappings":"AAAA,oIACS,6CAQS,MAAY,EAE7B,QAAA,iBAAA,gBAAA,KACC,CAAA,IAAM,IACN,WAEC,CAAA,CAAA,CAAA,KACA,CAAA,gCAAA,CAAA,IAAY,CACXA,CAAAA,qBAAW,CAAA,EAAA,CAAA,OAAA,CAAY,KACtB,CAAA,CAAA,EAAA,CAAA,CAAMC,CAAAA,WAAe,CACrB,CAAA,CAAA,EAAA,CAAA,MAAYC,CAAKC,CAAM,IAAK,CAAA,GAAA,CAAK,CAAA,CAAA,GAAA,CAAM,KAAA,CAAA,CAAA,CAAQ,CAAA,CAC1CA,GAAO,IAAA,CAAA,KAAaF,CAAAA,OAAU,CAAA,CAAA,CAAA,CAAA,CAAA,SAAgB,EAEpD,CAAG,EAAA,IAEJ,CACD,KACS,CAAA,MAAG,CAAA,CAAA,CAAS,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,OAAcD,CAAQ,KAGhD,CAAA,CAAA,EAAA,aACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOI,CAAAA,YAAe,CAAA,CAAA,CAAA,CAAA,OAAmB,qBAAA,CAAA,GAG1C,CAAA,CAAA,CAAA,aACC,CAAA,CAAA,CAAA,GAAK,CAAA,CAAA,MAAM,MAAO,CAAA,CAAA,CAAK,CAAA,IAAA,CAAA,KAAA,CAAA,MAGxB,CAAA,IAAM,CAAA,YACCD,CAAAA,CAAS,CAAA,CAAA,CAAA,MAAK,GAAM,CAAA,CAAA,CAAI,CAAA,MAAK,CAAA,CAAA,IAAA,CAAA,KAAgB,CAAC,GACpD,CAAA,IAAA,CAAIA,YAAiB,CAAA,CAAA,CAAY,CAAA,CAAA,OAAS,CAAA,EAAUA,CAAO,CAAA,SAI5D,CAAA,IAAA,CAAM,GAAA,CAAID,CAAAA,CAAaG,CAAAA,CAAcC,IACpC,CAAA,IAAK,CAAA,MAAM,GAAI,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,KAAgB,CAAA,GAAK,CAAA,IAAAD,CAAM,YAAW,CAAA,CAAA,CAAK,CAAA,CAAA,IAAQC,CAAAA,CAAY,CAAA,SAGpF,CAAA,IAAM,CAAA,GAAA,CAAA,CAAYJ,CAAAA,CAAaK,CAAAA,GAAqD,CACnF,CAAA,CAAA,MAAe,QAAM,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAIL,CAAG,MAC7BM,CAAQ,CAAA,MAAO,IAAA,CAAK,GAAA,CAAA,CAAA,CAAMA,CAAM,EAEpC,CAAA,CAAA,CAAA,OAAe,IAAMD,CAAAA,KACrB,CAAA,CAAA,CAAA,CAAA,MAAA,CAAM,CAAA,MAAK,CAAA,CAAIL,CAAAA,CAAK,OAAK,MAAA,IAAgB,CAAGI,GACrCG,CACR,CACD,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,0BAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/types/in-memory.min.cjs","sourcesContent":["import { Instance } from '../../instance'\nimport { Cache } from '../base'\n\ntype CacheEntry = {\n\tdata: string\n\texpiredAt: number\n}\n\nexport class InMemoryCache extends Cache {\n\tprivate readonly cache = new Map<string, CacheEntry>()\n\n\tconstructor() {\n\t\tsuper()\n\t\tlet interval: ReturnType<typeof setInterval> | undefined\n\t\tInstance.on(\n\t\t\t'start',\n\t\t\tasync () => {\n\t\t\t\tinterval = setInterval(() => {\n\t\t\t\t\tconst now = Date.now()\n\t\t\t\t\tfor (const [key, record] of this.cache.entries()) {\n\t\t\t\t\t\tif (record.expiredAt <= now) this.cache.delete(key)\n\t\t\t\t\t}\n\t\t\t\t}, 5000)\n\t\t\t},\n\t\t\t1,\n\t\t)\n\t\tInstance.on('close', async () => clearInterval(interval), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tthis.cache.delete(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\tconst record = this.cache.get(this.getScopedKey(key))\n\t\tif (record && record.expiredAt > Date.now()) return record.data\n\t\treturn null\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs: number) {\n\t\tthis.cache.set(this.getScopedKey(key), { data, expiredAt: Date.now() + ttlInSecs * 1000 })\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs: number): Promise<T> {\n\t\tconst cached = await this.get(key)\n\t\tif (cached) return JSON.parse(cached) as T\n\n\t\tconst result = await fn()\n\t\tawait this.set(key, JSON.stringify(result), ttlInSecs)\n\t\treturn result\n\t}\n}\n"]}
|
|
@@ -28,21 +28,24 @@ class RedisCache extends _basecjs.Cache {
|
|
|
28
28
|
if (!extraConfig) _indexcjs3.Instance.on("start", async () => this.client.connect(), 1);
|
|
29
29
|
_indexcjs3.Instance.on("close", async () => this.client.quit(), 1);
|
|
30
30
|
}
|
|
31
|
+
getScopedKey(key) {
|
|
32
|
+
return _indexcjs3.Instance.get().getScopedName(key, ":");
|
|
33
|
+
}
|
|
31
34
|
async delete(key) {
|
|
32
|
-
await this.client.del(
|
|
35
|
+
await this.client.del(this.getScopedKey(key));
|
|
33
36
|
}
|
|
34
37
|
async get(key) {
|
|
35
|
-
return await this.client.get(
|
|
38
|
+
return await this.client.get(this.getScopedKey(key));
|
|
36
39
|
}
|
|
37
40
|
async set(key, data, ttlInSecs) {
|
|
38
|
-
if (ttlInSecs > 0) await this.client.setex(
|
|
39
|
-
else this.client.set(
|
|
41
|
+
if (ttlInSecs > 0) await this.client.setex(this.getScopedKey(key), ttlInSecs, data);
|
|
42
|
+
else this.client.set(this.getScopedKey(key), data);
|
|
40
43
|
}
|
|
41
44
|
async getOrSet(key, fn, ttlInSecs) {
|
|
42
|
-
const cached = await this.get(
|
|
45
|
+
const cached = await this.get(this.getScopedKey(key));
|
|
43
46
|
if (cached) return JSON.parse(cached);
|
|
44
47
|
const result = await fn();
|
|
45
|
-
await this.set(
|
|
48
|
+
await this.set(this.getScopedKey(key), JSON.stringify(result), ttlInSecs);
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cache/types/redis.ts","/home/runner/work/equipped/equipped/dist/cjs/cache/types/redis.cjs"],"names":[],"mappings":"AAAA,2GAA6C;AAE7C,kDAA8B;AAC9B,qDAAyB;AACzB,sCAAsB;AAGf,MAAM,WAAA,QAAmB,eAAM;AAAA,EACrC;AAAA,EAEA,WAAA,CAAY,QAAA,EAAuB,WAAA,EAAqC;AACvE,IAAA,KAAA,CAAM,CAAA;AACN,IAAA,MAAM,KAAA,EAAO;AAAA,MACZ,GAAI,QAAA,CAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,CAAS,KAAK,EAAA,EAAI,CAAC,CAAA;AAAA,MAC/C,GAAI,QAAA,CAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,CAAS,KAAK,EAAA,EAAI,CAAC;AAAA,IAChD,CAAA;AACA,IAAA,MAAM,OAAA,EAAS;AAAA,MACd,GAAG,WAAA;AAAA,MACH,GAAI,QAAA,CAAS,SAAA,EAAW,EAAE,QAAA,EAAU,QAAA,CAAS,SAAS,EAAA,EAAI,CAAC,CAAA;AAAA,MAC3D,GAAI,QAAA,CAAS,SAAA,EAAW,EAAE,QAAA,EAAU,QAAA,CAAS,SAAS,EAAA,EAAI,CAAC,CAAA;AAAA,MAC3D,GAAI,QAAA,CAAS,IAAA,EAAM,EAAE,GAAA,EAAK,CAAC,EAAE,EAAA,EAAI,CAAC,CAAA;AAAA,MAClC,WAAA,EAAa;AAAA,IACd,CAAA;AACA,IAAA,IAAA,CAAK,OAAA,EAAS,QAAA,CAAS,QAAA,EACpB,IAAI,qBAAA,CAAQ,CAAC,IAAI,CAAA,EAAG;AAAA,MACpB,GAAG,WAAA;AAAA,MACH,YAAA,EAAc,MAAA;AAAA,MACd,WAAA,EAAa;AAAA,IACd,CAAC,EAAA,EACA,IAAI,mBAAA,CAAM,EAAE,GAAG,MAAA,EAAQ,GAAG,KAAK,CAAC,CAAA;AACnC,IAAA,IAAA,CAAK,MAAA,CAAO,EAAA,CAAG,OAAA,EAAS,MAAA,CAAO,KAAA,EAAA,GAAU;AACxC,MAAA,mBAAA,CAAS,KAAA,CAAM,IAAI,4BAAA,CAAc,CAAA,uBAAA,CAAA,EAA2B,CAAC,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,IACvE,CAAC,CAAA;AACD,IAAA,GAAA,CAAI,CAAC,WAAA,EAAa,mBAAA,CAAS,EAAA,CAAG,OAAA,EAAS,MAAA,CAAA,EAAA,GAAY,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,CAAA,EAAG,CAAC,CAAA;AAC3E,IAAA,mBAAA,CAAS,EAAA,CAAG,OAAA,EAAS,MAAA,CAAA,EAAA,GAAY,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,CAAA,EAAG,CAAC,CAAA;AAAA,EACvD;AAAA,EAEA,MAAM,MAAA,CAAO,GAAA,EAAa;AACzB,IAAA,MAAM,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,
|
|
1
|
+
{"version":3,"sources":["../../../../src/cache/types/redis.ts","/home/runner/work/equipped/equipped/dist/cjs/cache/types/redis.cjs"],"names":[],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/types/redis.cjs","sourcesContent":["import { Cluster, Redis, RedisOptions } from 'ioredis'\n\nimport { EquippedError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { Cache } from '../base'\nimport { RedisConfig } from '../pipes'\n\nexport class RedisCache extends Cache {\n\tclient: Redis | Cluster\n\n\tconstructor(settings: RedisConfig, extraConfig?: Partial<RedisOptions>) {\n\t\tsuper()\n\t\tconst node = {\n\t\t\t...(settings.host ? { host: settings.host } : {}),\n\t\t\t...(settings.port ? { port: settings.port } : {}),\n\t\t}\n\t\tconst common = {\n\t\t\t...extraConfig,\n\t\t\t...(settings.password ? { password: settings.password } : {}),\n\t\t\t...(settings.username ? { username: settings.username } : {}),\n\t\t\t...(settings.tls ? { tls: {} } : {}),\n\t\t\tlazyConnect: true,\n\t\t}\n\t\tthis.client = settings.cluster\n\t\t\t? new Cluster([node], {\n\t\t\t\t\t...extraConfig,\n\t\t\t\t\tredisOptions: common,\n\t\t\t\t\tlazyConnect: true,\n\t\t\t\t})\n\t\t\t: new Redis({ ...common, ...node })\n\t\tthis.client.on('error', async (error) => {\n\t\t\tInstance.crash(new EquippedError(`Redis failed with error`, {}, error))\n\t\t})\n\t\tif (!extraConfig) Instance.on('start', async () => this.client.connect(), 1)\n\t\tInstance.on('close', async () => this.client.quit(), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tawait this.client.del(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\treturn await this.client.get(this.getScopedKey(key))\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs: number) {\n\t\tif (ttlInSecs > 0) await this.client.setex(this.getScopedKey(key), ttlInSecs, data)\n\t\telse this.client.set(this.getScopedKey(key), data)\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs: number) {\n\t\tconst cached = await this.get(this.getScopedKey(key))\n\t\tif (cached) return JSON.parse(cached)\n\n\t\tconst result = await fn()\n\t\tawait this.set(this.getScopedKey(key), JSON.stringify(result), ttlInSecs)\n\t}\n}\n",null]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _ioredis = require('ioredis');var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../../instance/index.min.cjs');var _basemincjs = require('../base.min.cjs');class
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _ioredis = require('ioredis');var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../../instance/index.min.cjs');var _basemincjs = require('../base.min.cjs');class f extends _basemincjs.Cache{constructor(e,t){super();const s={...e.host?{host:e.host}:{},...e.port?{port:e.port}:{}},r={...t,...e.password?{password:e.password}:{},...e.username?{username:e.username}:{},...e.tls?{tls:{}}:{},lazyConnect:!0};this.client=e.cluster?new (0, _ioredis.Cluster)([s],{...t,redisOptions:r,lazyConnect:!0}):new (0, _ioredis.Redis)({...r,...s}),this.client.on("error",async o=>{_indexmincjs3.Instance.crash(new (0, _indexmincjs.EquippedError)("Redis failed with error",{},o))}),t||_indexmincjs3.Instance.on("start",async()=>this.client.connect(),1),_indexmincjs3.Instance.on("close",async()=>this.client.quit(),1)}getScopedKey(e){return _indexmincjs3.Instance.get().getScopedName(e,":")}async delete(e){await this.client.del(this.getScopedKey(e))}async get(e){return await this.client.get(this.getScopedKey(e))}async set(e,t,s){s>0?await this.client.setex(this.getScopedKey(e),s,t):this.client.set(this.getScopedKey(e),t)}async getOrSet(e,t,s){const r=await this.get(this.getScopedKey(e));if(r)return JSON.parse(r);const o=await t();await this.set(this.getScopedKey(e),JSON.stringify(o),s)}}exports.RedisCache = f;
|
|
2
2
|
//# sourceMappingURL=redis.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cache/types/redis.ts"],"names":["settings","node","common","extraConfig","Redis","error","Instance","key","
|
|
1
|
+
{"version":3,"sources":["../../../../src/cache/types/redis.ts"],"names":["settings","node","common","extraConfig","Redis","error","Instance","key","data","ttlInSecs","fn"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/cache/types/redis.min.cjs","sourcesContent":["import { Cluster, Redis, RedisOptions } from 'ioredis'\n\nimport { EquippedError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { Cache } from '../base'\nimport { RedisConfig } from '../pipes'\n\nexport class RedisCache extends Cache {\n\tclient: Redis | Cluster\n\n\tconstructor(settings: RedisConfig, extraConfig?: Partial<RedisOptions>) {\n\t\tsuper()\n\t\tconst node = {\n\t\t\t...(settings.host ? { host: settings.host } : {}),\n\t\t\t...(settings.port ? { port: settings.port } : {}),\n\t\t}\n\t\tconst common = {\n\t\t\t...extraConfig,\n\t\t\t...(settings.password ? { password: settings.password } : {}),\n\t\t\t...(settings.username ? { username: settings.username } : {}),\n\t\t\t...(settings.tls ? { tls: {} } : {}),\n\t\t\tlazyConnect: true,\n\t\t}\n\t\tthis.client = settings.cluster\n\t\t\t? new Cluster([node], {\n\t\t\t\t\t...extraConfig,\n\t\t\t\t\tredisOptions: common,\n\t\t\t\t\tlazyConnect: true,\n\t\t\t\t})\n\t\t\t: new Redis({ ...common, ...node })\n\t\tthis.client.on('error', async (error) => {\n\t\t\tInstance.crash(new EquippedError(`Redis failed with error`, {}, error))\n\t\t})\n\t\tif (!extraConfig) Instance.on('start', async () => this.client.connect(), 1)\n\t\tInstance.on('close', async () => this.client.quit(), 1)\n\t}\n\n\tprivate getScopedKey(key: string): string {\n\t\treturn Instance.get().getScopedName(key, ':')\n\t}\n\n\tasync delete(key: string) {\n\t\tawait this.client.del(this.getScopedKey(key))\n\t}\n\n\tasync get(key: string) {\n\t\treturn await this.client.get(this.getScopedKey(key))\n\t}\n\n\tasync set(key: string, data: string, ttlInSecs: number) {\n\t\tif (ttlInSecs > 0) await this.client.setex(this.getScopedKey(key), ttlInSecs, data)\n\t\telse this.client.set(this.getScopedKey(key), data)\n\t}\n\n\tasync getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs: number) {\n\t\tconst cached = await this.get(this.getScopedKey(key))\n\t\tif (cached) return JSON.parse(cached)\n\n\t\tconst result = await fn()\n\t\tawait this.set(this.getScopedKey(key), JSON.stringify(result), ttlInSecs)\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/dbs/pipes.ts","/home/runner/work/equipped/equipped/dist/cjs/dbs/pipes.cjs"],"names":["QueryKeys","Conditions"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/dbs/pipes.ts","/home/runner/work/equipped/equipped/dist/cjs/dbs/pipes.cjs"],"names":["QueryKeys","Conditions"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/dbs/pipes.cjs","sourcesContent":["import { ConditionalObjectKeys, Pipe, PipeInput, PipeOutput, v } from 'valleyed'\n\nimport { Instance } from '../instance'\n\nexport enum QueryKeys {\n\tand = 'and',\n\tor = 'or',\n}\n\nexport enum Conditions {\n\tlt = 'lt',\n\tlte = 'lte',\n\tgt = 'gt',\n\tgte = 'gte',\n\teq = 'eq',\n\tne = 'ne',\n\tin = 'in',\n\tnin = 'nin',\n\texists = 'exists',\n}\n\nconst queryKeys = v.catch(v.defaults(v.in([QueryKeys.and, QueryKeys.or]), QueryKeys.and), QueryKeys.and)\n\nconst queryWhere = v.object({\n\tfield: v.string(),\n\tvalue: v.any(),\n\tcondition: v.catch(v.defaults(v.in(Object.values(Conditions)), Conditions.eq), Conditions.eq),\n})\n\nconst queryWhereBlock = v.object({\n\tcondition: queryKeys,\n\tvalue: v.array(queryWhere),\n})\n\nconst queryWhereClause = v.defaults(v.array(v.or([queryWhere, queryWhereBlock])), [])\n\nexport function queryParamsPipe() {\n\tconst pagLimit = Instance.get().settings.server?.requests.paginationDefaultLimit ?? 100\n\treturn v.meta(\n\t\tv\n\t\t\t.object({\n\t\t\t\tall: v.defaults(v.boolean(), false),\n\t\t\t\tlimit: v.catch(v.defaults(v.number().pipe(v.lte(pagLimit)), pagLimit), pagLimit),\n\t\t\t\tpage: v.catch(v.defaults(v.number().pipe(v.gte(1)), 1), 1),\n\t\t\t\tsearch: v.defaults(\n\t\t\t\t\tv.nullish(\n\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\tvalue: v.string(),\n\t\t\t\t\t\t\tfields: v.array(v.string()),\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t\tnull,\n\t\t\t\t),\n\t\t\t\tsort: v.defaults(\n\t\t\t\t\tv.array(\n\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\tfield: v.string(),\n\t\t\t\t\t\t\tdesc: v.defaults(v.boolean(), false),\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t\t[],\n\t\t\t\t),\n\t\t\t\twhereType: queryKeys,\n\t\t\t\twhere: queryWhereClause,\n\t\t\t})\n\t\t\t.pipe((p) => ({ ...p, auth: <(typeof p)['where']>[], authType: QueryKeys.and })),\n\t\t{ title: 'Query Params', $refId: 'QueryParams' },\n\t)\n}\n\nexport function queryResultsPipe<T>(model: Pipe<any, T>) {\n\treturn v.object({\n\t\tpages: v.object({\n\t\t\tcurrent: v.number(),\n\t\t\tstart: v.number(),\n\t\t\tlast: v.number(),\n\t\t\tprevious: v.nullable(v.number()),\n\t\t\tnext: v.nullable(v.number()),\n\t\t}),\n\t\tdocs: v.object({\n\t\t\tlimit: v.number(),\n\t\t\ttotal: v.number(),\n\t\t\tcount: v.number(),\n\t\t}),\n\t\tresults: v.array(model),\n\t})\n}\n\nexport function wrapQueryParams(params: QueryParamsInput): QueryParams {\n\treturn v.assert(queryParamsPipe(), params)\n}\n\nexport type QueryParams = PipeOutput<ReturnType<typeof queryParamsPipe>>\nexport type QueryParamsInput = ConditionalObjectKeys<PipeInput<ReturnType<typeof queryParamsPipe>>>\nexport type QueryWhereClause = QueryParams['where'][number]\nexport type QueryWhere = Extract<QueryWhereClause, { field: string }>\nexport type QueryWhereBlock = Exclude<QueryWhereClause, { field: string }>\nexport type QueryResults<T> = PipeOutput<ReturnType<typeof queryResultsPipe<T>>>\n\nexport const mongoDbConfigPipe = v.meta(\n\tv.object({\n\t\turi: v.string(),\n\t}),\n\t{ title: 'Mongodb Config', $refId: 'MongodbConfig' },\n)\n\nexport type MongoDbConfig = PipeOutput<typeof mongoDbConfigPipe>\n",null]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/dbs/pipes.ts"],"names":["QueryKeys","Conditions","queryKeys","v","queryWhere","queryWhereBlock","queryWhereClause","queryParamsPipe","pagLimit","model","wrapQueryParams","params","mongoDbConfigPipe"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/dbs/pipes.ts"],"names":["QueryKeys","Conditions","queryKeys","v","queryWhere","queryWhereBlock","queryWhereClause","queryParamsPipe","pagLimit","model","wrapQueryParams","params","mongoDbConfigPipe"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/dbs/pipes.min.cjs","sourcesContent":["import { ConditionalObjectKeys, Pipe, PipeInput, PipeOutput, v } from 'valleyed'\n\nimport { Instance } from '../instance'\n\nexport enum QueryKeys {\n\tand = 'and',\n\tor = 'or',\n}\n\nexport enum Conditions {\n\tlt = 'lt',\n\tlte = 'lte',\n\tgt = 'gt',\n\tgte = 'gte',\n\teq = 'eq',\n\tne = 'ne',\n\tin = 'in',\n\tnin = 'nin',\n\texists = 'exists',\n}\n\nconst queryKeys = v.catch(v.defaults(v.in([QueryKeys.and, QueryKeys.or]), QueryKeys.and), QueryKeys.and)\n\nconst queryWhere = v.object({\n\tfield: v.string(),\n\tvalue: v.any(),\n\tcondition: v.catch(v.defaults(v.in(Object.values(Conditions)), Conditions.eq), Conditions.eq),\n})\n\nconst queryWhereBlock = v.object({\n\tcondition: queryKeys,\n\tvalue: v.array(queryWhere),\n})\n\nconst queryWhereClause = v.defaults(v.array(v.or([queryWhere, queryWhereBlock])), [])\n\nexport function queryParamsPipe() {\n\tconst pagLimit = Instance.get().settings.server?.requests.paginationDefaultLimit ?? 100\n\treturn v.meta(\n\t\tv\n\t\t\t.object({\n\t\t\t\tall: v.defaults(v.boolean(), false),\n\t\t\t\tlimit: v.catch(v.defaults(v.number().pipe(v.lte(pagLimit)), pagLimit), pagLimit),\n\t\t\t\tpage: v.catch(v.defaults(v.number().pipe(v.gte(1)), 1), 1),\n\t\t\t\tsearch: v.defaults(\n\t\t\t\t\tv.nullish(\n\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\tvalue: v.string(),\n\t\t\t\t\t\t\tfields: v.array(v.string()),\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t\tnull,\n\t\t\t\t),\n\t\t\t\tsort: v.defaults(\n\t\t\t\t\tv.array(\n\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\tfield: v.string(),\n\t\t\t\t\t\t\tdesc: v.defaults(v.boolean(), false),\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t\t[],\n\t\t\t\t),\n\t\t\t\twhereType: queryKeys,\n\t\t\t\twhere: queryWhereClause,\n\t\t\t})\n\t\t\t.pipe((p) => ({ ...p, auth: <(typeof p)['where']>[], authType: QueryKeys.and })),\n\t\t{ title: 'Query Params', $refId: 'QueryParams' },\n\t)\n}\n\nexport function queryResultsPipe<T>(model: Pipe<any, T>) {\n\treturn v.object({\n\t\tpages: v.object({\n\t\t\tcurrent: v.number(),\n\t\t\tstart: v.number(),\n\t\t\tlast: v.number(),\n\t\t\tprevious: v.nullable(v.number()),\n\t\t\tnext: v.nullable(v.number()),\n\t\t}),\n\t\tdocs: v.object({\n\t\t\tlimit: v.number(),\n\t\t\ttotal: v.number(),\n\t\t\tcount: v.number(),\n\t\t}),\n\t\tresults: v.array(model),\n\t})\n}\n\nexport function wrapQueryParams(params: QueryParamsInput): QueryParams {\n\treturn v.assert(queryParamsPipe(), params)\n}\n\nexport type QueryParams = PipeOutput<ReturnType<typeof queryParamsPipe>>\nexport type QueryParamsInput = ConditionalObjectKeys<PipeInput<ReturnType<typeof queryParamsPipe>>>\nexport type QueryWhereClause = QueryParams['where'][number]\nexport type QueryWhere = Extract<QueryWhereClause, { field: string }>\nexport type QueryWhereBlock = Exclude<QueryWhereClause, { field: string }>\nexport type QueryResults<T> = PipeOutput<ReturnType<typeof queryResultsPipe<T>>>\n\nexport const mongoDbConfigPipe = v.meta(\n\tv.object({\n\t\turi: v.string(),\n\t}),\n\t{ title: 'Mongodb Config', $refId: 'MongodbConfig' },\n)\n\nexport type MongoDbConfig = PipeOutput<typeof mongoDbConfigPipe>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/index.ts","/home/runner/work/equipped/equipped/dist/cjs/instance/index.cjs"],"names":[],"mappings":"AAAA,iNAAmC;AAEnC,uCAAwD;AACxD,6CAA4G;AAC5G,+CAA8B;AAEvB,MAAM,SAAA,QAA4D,oBAAoC;AAAA,EAC5G,OAAO,CAAA,QAAA;AAAA,EACP,OAAO,CAAA,MAAA,EAAmD,CAAC,CAAA;AAAA,EAClD;AAAA,EACA;AAAA,EAED,WAAA,CAAY,IAAA,EAAS,QAAA,EAAa;AACzC,IAAA,KAAA,CAAM,gDAAA,QAAqC,CAAC,CAAA;AAC5C,IAAA,QAAA,CAAS,CAAA,SAAA,EAAY,IAAA;AACrB,IAAA,IAAA,CAAK,KAAA,EAAO,MAAA,CAAO,MAAA,CAAO,IAAI,CAAA;AAC9B,IAAA,IAAA,CAAK,SAAA,EAAW,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAA;AACtC,IAAA,QAAA,CAAS,CAAA,qBAAA,CAAuB,CAAA;AAAA,EACjC;AAAA,EAEA,aAAA,CAAc,IAAA,EAAc,IAAA,EAAM,GAAA,EAAK;AACtC,IAAA,OAAO,CAAC,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,IAAA,EAAM,IAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,EAC/C;AAAA,EAEA,MAAM,KAAA,CAAA,EAAQ;AACb,IAAA,IAAI;AACH,MAAA,MAAM,gCAAA,iBAAS,QAAA,CAAS,CAAA,KAAA,CAAO,OAAO,CAAA,UAAK,CAAC,GAAC,CAAA;AAC7C,MAAA,MAAM,gCAAA,iBAAS,QAAA,CAAS,CAAA,KAAA,CAAO,OAAO,CAAA,UAAK,CAAC,GAAC,CAAA;AAAA,IAC9C,EAAA,MAAA,CAAS,KAAA,EAAO;AACf,MAAA,QAAA,CAAS,KAAA,CAAM,IAAI,4BAAA,CAAc,CAAA,uBAAA,CAAA,EAA2B,CAAC,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,IACvE;AAAA,EACD;AAAA,EAEA,OAAO,MAAA,CAAkD,QAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/index.ts","/home/runner/work/equipped/equipped/dist/cjs/instance/index.cjs"],"names":[],"mappings":"AAAA,iNAAmC;AAEnC,uCAAwD;AACxD,6CAA4G;AAC5G,+CAA8B;AAEvB,MAAM,SAAA,QAA4D,oBAAoC;AAAA,EAC5G,OAAO,CAAA,QAAA;AAAA,EACP,OAAO,CAAA,MAAA,EAAmD,CAAC,CAAA;AAAA,EAClD;AAAA,EACA;AAAA,EAED,WAAA,CAAY,IAAA,EAAS,QAAA,EAAa;AACzC,IAAA,KAAA,CAAM,gDAAA,QAAqC,CAAC,CAAA;AAC5C,IAAA,QAAA,CAAS,CAAA,SAAA,EAAY,IAAA;AACrB,IAAA,IAAA,CAAK,KAAA,EAAO,MAAA,CAAO,MAAA,CAAO,IAAI,CAAA;AAC9B,IAAA,IAAA,CAAK,SAAA,EAAW,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAA;AACtC,IAAA,QAAA,CAAS,CAAA,qBAAA,CAAuB,CAAA;AAAA,EACjC;AAAA,EAEA,aAAA,CAAc,IAAA,EAAc,IAAA,EAAM,GAAA,EAAK;AACtC,IAAA,OAAO,CAAC,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,IAAA,EAAM,IAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,EAC/C;AAAA,EAEA,MAAM,KAAA,CAAA,EAAQ;AACb,IAAA,IAAI;AACH,MAAA,MAAM,gCAAA,iBAAS,QAAA,CAAS,CAAA,KAAA,CAAO,OAAO,CAAA,UAAK,CAAC,GAAC,CAAA;AAC7C,MAAA,MAAM,gCAAA,iBAAS,QAAA,CAAS,CAAA,KAAA,CAAO,OAAO,CAAA,UAAK,CAAC,GAAC,CAAA;AAAA,IAC9C,EAAA,MAAA,CAAS,KAAA,EAAO;AACf,MAAA,QAAA,CAAS,KAAA,CAAM,IAAI,4BAAA,CAAc,CAAA,uBAAA,CAAA,EAA2B,CAAC,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,IACvE;AAAA,EACD;AAAA,EAEA,OAAO,MAAA,CAAkD,QAAA,EAA4B,QAAA,EAA0B;AAC9G,IAAA,GAAA,CAAI,QAAA,CAAS,CAAA,QAAA,EAAW,MAAM,QAAA,CAAS,KAAA,CAAM,IAAI,4BAAA,CAAc,wDAAA,EAA0D,CAAC,CAAC,CAAC,CAAA;AAC5H,IAAA,MAAM,YAAA,EAAc,WAAA,CAAE,QAAA,CAAS,QAAA,EAAU,OAAA,CAAQ,GAAG,CAAA;AACpD,IAAA,GAAA,CAAI,CAAC,WAAA,CAAY,KAAA,EAAO;AACvB,MAAA,QAAA,CAAS,KAAA;AAAA,QACR,IAAI,4BAAA,CAAc,CAAA;AAAA,EAAwC,WAAA,CAAY,KAAA,CAAM,QAAA,CAAS,CAAC,CAAA,CAAA;AAC3E,UAAA;AACV,QAAA;AACF,MAAA;AACD,IAAA;AAC2B,IAAA;AACL,IAAA;AACZ,MAAA;AACU,QAAA;AAAkD;AACzD,UAAA;AACV,QAAA;AACF,MAAA;AACD,IAAA;AAC0B,IAAA;AAC3B,EAAA;AAEa,EAAA;AACE,IAAA;AACG,MAAA;AACG,QAAA;AACnB,MAAA;AACe,IAAA;AACjB,EAAA;AAEuD,EAAA;AAC3B,IAAA;AACJ,IAAA;AACxB,EAAA;AAEO,EAAA;AACU,IAAA;AACP,MAAA;AACA,MAAA;AACC,MAAA;AACV,IAAA;AAEwB,IAAA;AACJ,MAAA;AACH,QAAA;AAAwC,QAAA;AAChC,QAAA;AACvB,MAAA;AACD,IAAA;AACF,EAAA;AAE6B,EAAA;AACX,IAAA;AACI,IAAA;AACd,IAAA;AACR,EAAA;AAE0C,EAAA;AAEtB,IAAA;AACL,IAAA;AACf,EAAA;AACD;ACT+B;AACA;AACA","file":"/home/runner/work/equipped/equipped/dist/cjs/instance/index.cjs","sourcesContent":["import { DataClass, Pipe, v } from 'valleyed'\n\nimport { HookCb, HookEvent, HookRecord, runHooks } from './hooks'\nimport { instanceSettingsPipe, mapSettingsToInstance, MapSettingsToInstance, Settings, SettingsInput } from './settings'\nimport { EquippedError } from '../errors'\n\nexport class Instance<E extends object, S extends SettingsInput> extends DataClass<MapSettingsToInstance<S>> {\n\tstatic #instance: Instance<object, SettingsInput>\n\tstatic #hooks: Partial<Record<HookEvent, HookRecord[]>> = {}\n\treadonly envs: Readonly<E>\n\treadonly settings: Readonly<Settings>\n\n\tprivate constructor(envs: E, settings: S) {\n\t\tsuper(mapSettingsToInstance(settings as any))\n\t\tInstance.#instance = this as any\n\t\tthis.envs = Object.freeze(envs)\n\t\tthis.settings = Object.freeze(settings) as any\n\t\tInstance.#registerOnExitHandler()\n\t}\n\n\tgetScopedName(name: string, key = '.') {\n\t\treturn [this.settings.app.name, name].join(key)\n\t}\n\n\tasync start() {\n\t\ttry {\n\t\t\tawait runHooks(Instance.#hooks['setup'] ?? [])\n\t\t\tawait runHooks(Instance.#hooks['start'] ?? [])\n\t\t} catch (error) {\n\t\t\tInstance.crash(new EquippedError(`Error starting instance`, {}, error))\n\t\t}\n\t}\n\n\tstatic create<E extends object, S extends SettingsInput>(envsPipe: Pipe<unknown, E>, settings: (envs: E) => S) {\n\t\tif (Instance.#instance) throw Instance.crash(new EquippedError('An instance has already been created. Use that instead', {}))\n\t\tconst envValidity = v.validate(envsPipe, process.env)\n\t\tif (!envValidity.valid) {\n\t\t\tInstance.crash(\n\t\t\t\tnew EquippedError(`Environment variables are not valid\\n${envValidity.error.toString()}`, {\n\t\t\t\t\tmessages: envValidity.error.messages,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t\tconst settingsValidity = v.validate(instanceSettingsPipe(), settings(envValidity.value))\n\t\tif (!settingsValidity.valid) {\n\t\t\tInstance.crash(\n\t\t\t\tnew EquippedError(`Settings are not valid\\n${settingsValidity.error.toString()}`, {\n\t\t\t\t\tmessages: settingsValidity.error.messages,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t\treturn new Instance<E, S>(envValidity.value, settingsValidity.value as S)\n\t}\n\n\tstatic get() {\n\t\tif (!Instance.#instance)\n\t\t\treturn Instance.crash(\n\t\t\t\tnew EquippedError('Has not been initialized. Make sure an instance has been created before you get an instance', {}),\n\t\t\t)\n\t\treturn Instance.#instance\n\t}\n\n\tstatic on(event: HookEvent, cb: HookCb, order: number) {\n\t\tInstance.#hooks[event] ??= []\n\t\tInstance.#hooks[event].push({ cb, order })\n\t}\n\n\tstatic #registerOnExitHandler() {\n\t\tconst signals = {\n\t\t\tSIGHUP: 1,\n\t\t\tSIGINT: 2,\n\t\t\tSIGTERM: 15,\n\t\t}\n\n\t\tObject.entries(signals).forEach(([signal, code]) => {\n\t\t\tprocess.on(signal, async () => {\n\t\t\t\tawait runHooks(Instance.#hooks['close'] ?? [], () => {})\n\t\t\t\tprocess.exit(128 + code)\n\t\t\t})\n\t\t})\n\t}\n\n\tstatic resolveBeforeCrash<T>(cb: () => Promise<T>) {\n\t\tconst value = cb()\n\t\tInstance.on('close', async () => await value, 10)\n\t\treturn value\n\t}\n\n\tstatic crash(error: EquippedError): never {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(error)\n\t\tprocess.exit(1)\n\t}\n}\n",null]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _valleyed = require('valleyed');var _hooksmincjs = require('./hooks.min.cjs');var _settingsmincjs = require('./settings.min.cjs');var _indexmincjs = require('../errors/index.min.cjs');class e extends _valleyed.DataClass{static#t;static#e= exports.Instance ={};constructor(t,s){super(_settingsmincjs.mapSettingsToInstance.call(void 0, s)),e.#t=this,this.envs=Object.freeze(t),this.settings=Object.freeze(s),e.#s()}getScopedName(t,s="."){return[this.settings.app.name,t].join(s)}async start(){try{await _hooksmincjs.runHooks.call(void 0, _nullishCoalesce(e.#e.setup, () => ([]))),await _hooksmincjs.runHooks.call(void 0, _nullishCoalesce(e.#e.start, () => ([])))}catch(t){e.crash(new (0, _indexmincjs.EquippedError)("Error starting instance",{},t))}}static create(t,s){if(e.#t)throw e.crash(new (0, _indexmincjs.EquippedError)("An instance has already been created. Use that instead",{}));const r=_valleyed.v.validate(t,process.env);r.valid||e.crash(new (0, _indexmincjs.EquippedError)(`Environment variables are not valid
|
|
2
|
-
${r.error.toString()}`,{messages:r.error.messages}));const
|
|
3
|
-
${
|
|
2
|
+
${r.error.toString()}`,{messages:r.error.messages}));const o=_valleyed.v.validate(_settingsmincjs.instanceSettingsPipe.call(void 0, ),s(r.value));return o.valid||e.crash(new (0, _indexmincjs.EquippedError)(`Settings are not valid
|
|
3
|
+
${o.error.toString()}`,{messages:o.error.messages})),new e(r.value,o.value)}static get(){return e.#t?e.#t:e.crash(new (0, _indexmincjs.EquippedError)("Has not been initialized. Make sure an instance has been created before you get an instance",{}))}static on(t,s,r){e.#e[t]??=[],e.#e[t].push({cb:s,order:r})}static#s(){Object.entries({SIGHUP:1,SIGINT:2,SIGTERM:15}).forEach(([s,r])=>{process.on(s,async()=>{await _hooksmincjs.runHooks.call(void 0, _nullishCoalesce(e.#e.close, () => ([])),()=>{}),process.exit(128+r)})})}static resolveBeforeCrash(t){const s=t();return e.on("close",async()=>await s,10),s}static crash(t){console.error(t),process.exit(1)}}exports.Instance = e;
|
|
4
4
|
//# sourceMappingURL=index.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/index.ts"],"names":["envs","settings","Instance","#registerOnExitHandler","name","key","runHooks","#hooks","error","EquippedError","#instance","envValidity"],"mappings":"AAAA,iNAAmC,8CAG1B,oDACA,sDAIR,MACS,EAAA,QACA,mBAAA,CAAA,MAED,CAAA,CAAA,CAAA,MAAYA,CAASC,CAAAA,oBAAa,CACzC,CAAA,CAAA,WAEK,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,KAAA,CAAO,mDAAA,CAAA,CAAA,CAAA,CAAA,CAAOD,CAAI,CAAA,CAC9B,CAAA,IAAK,CAAA,IAAA,CAAA,IAAW,CAAA,MAAO,CAAA,MAAe,CAAA,CACtCE,CAAAA,CAASC,IACV,CAEA,QAAA,CAAA,MAAcC,CAAcC,MAAW,CACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,aAAc,CAAA,CAAI,CAAA,CAAA,CAAA,GAAU,CAAA,CAAE,MAAQ,CAC/C,IAEA,CAAA,QAAM,CAAQ,GACb,CAAI,IACH,CAAA,CAAA,CAAMC,CAAAA,IAAkBC,CAAAA,CAAO,CAAA,CAAA,MAAa,KAC5C,CAAA,CAAA,CAAA,GAAeL,CAAAA,MAAgB,mCAAA,iBAAA,CAAA,CAAA,CAAY,CAAC,CAAC,KAC9C,SAAA,CAASM,GAAAA,CAAO,CACfN,MAAS,mCAAA,iBAAM,CAAA,CAAA,CAAA,CAAIO,CAAAA,KAAc,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAA2B,CAAC,IAAS,+BACvE,CACD,yBAGcC,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMR,OAAS,MAAUO,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,IAAA,+BAAA,CAAA,wDACtB,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,MACnC,CAAA,CAAA,WAAA,CAChBP,QACC,CAAA,CAAA,CAAA,OAAkB,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,CAAA,CAAA,KAAA,CAAA,IAAA,+BAAA,CAAA,CAAA;AAAA,EAAwCS,CAAAA,CAAY,KAAA,CAAM,QAAA,CAAS,CAAC,CAAA,CAAA;AAQR","file":"/home/runner/work/equipped/equipped/dist/cjs/instance/index.min.cjs","sourcesContent":["import { DataClass, Pipe, v } from 'valleyed'\n\nimport { HookCb, HookEvent, HookRecord, runHooks } from './hooks'\nimport { instanceSettingsPipe, mapSettingsToInstance, MapSettingsToInstance, Settings, SettingsInput } from './settings'\nimport { EquippedError } from '../errors'\n\nexport class Instance<E extends object, S extends SettingsInput> extends DataClass<MapSettingsToInstance<S>> {\n\tstatic #instance: Instance<object, SettingsInput>\n\tstatic #hooks: Partial<Record<HookEvent, HookRecord[]>> = {}\n\treadonly envs: Readonly<E>\n\treadonly settings: Readonly<Settings>\n\n\tprivate constructor(envs: E, settings: S) {\n\t\tsuper(mapSettingsToInstance(settings as any))\n\t\tInstance.#instance = this as any\n\t\tthis.envs = Object.freeze(envs)\n\t\tthis.settings = Object.freeze(settings) as any\n\t\tInstance.#registerOnExitHandler()\n\t}\n\n\tgetScopedName(name: string, key = '.') {\n\t\treturn [this.settings.app.name, name].join(key)\n\t}\n\n\tasync start() {\n\t\ttry {\n\t\t\tawait runHooks(Instance.#hooks['setup'] ?? [])\n\t\t\tawait runHooks(Instance.#hooks['start'] ?? [])\n\t\t} catch (error) {\n\t\t\tInstance.crash(new EquippedError(`Error starting instance`, {}, error))\n\t\t}\n\t}\n\n\tstatic create<E extends object, S extends SettingsInput>(envsPipe: Pipe<unknown, E
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/index.ts"],"names":["envs","settings","Instance","#registerOnExitHandler","name","key","runHooks","#hooks","error","EquippedError","#instance","envValidity"],"mappings":"AAAA,iNAAmC,8CAG1B,oDACA,sDAIR,MACS,EAAA,QACA,mBAAA,CAAA,MAED,CAAA,CAAA,CAAA,MAAYA,CAASC,CAAAA,oBAAa,CACzC,CAAA,CAAA,WAEK,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,KAAA,CAAO,mDAAA,CAAA,CAAA,CAAA,CAAA,CAAOD,CAAI,CAAA,CAC9B,CAAA,IAAK,CAAA,IAAA,CAAA,IAAW,CAAA,MAAO,CAAA,MAAe,CAAA,CACtCE,CAAAA,CAASC,IACV,CAEA,QAAA,CAAA,MAAcC,CAAcC,MAAW,CACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,aAAc,CAAA,CAAI,CAAA,CAAA,CAAA,GAAU,CAAA,CAAE,MAAQ,CAC/C,IAEA,CAAA,QAAM,CAAQ,GACb,CAAI,IACH,CAAA,CAAA,CAAMC,CAAAA,IAAkBC,CAAAA,CAAO,CAAA,CAAA,MAAa,KAC5C,CAAA,CAAA,CAAA,GAAeL,CAAAA,MAAgB,mCAAA,iBAAA,CAAA,CAAA,CAAY,CAAC,CAAC,KAC9C,SAAA,CAASM,GAAAA,CAAO,CACfN,MAAS,mCAAA,iBAAM,CAAA,CAAA,CAAA,CAAIO,CAAAA,KAAc,SAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAA2B,CAAC,IAAS,+BACvE,CACD,yBAGcC,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMR,OAAS,MAAUO,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,IAAA,+BAAA,CAAA,wDACtB,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,MACnC,CAAA,CAAA,WAAA,CAChBP,QACC,CAAA,CAAA,CAAA,OAAkB,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,CAAA,CAAA,KAAA,CAAA,IAAA,+BAAA,CAAA,CAAA;AAAA,EAAwCS,CAAAA,CAAY,KAAA,CAAM,QAAA,CAAS,CAAC,CAAA,CAAA;AAQR","file":"/home/runner/work/equipped/equipped/dist/cjs/instance/index.min.cjs","sourcesContent":["import { DataClass, Pipe, v } from 'valleyed'\n\nimport { HookCb, HookEvent, HookRecord, runHooks } from './hooks'\nimport { instanceSettingsPipe, mapSettingsToInstance, MapSettingsToInstance, Settings, SettingsInput } from './settings'\nimport { EquippedError } from '../errors'\n\nexport class Instance<E extends object, S extends SettingsInput> extends DataClass<MapSettingsToInstance<S>> {\n\tstatic #instance: Instance<object, SettingsInput>\n\tstatic #hooks: Partial<Record<HookEvent, HookRecord[]>> = {}\n\treadonly envs: Readonly<E>\n\treadonly settings: Readonly<Settings>\n\n\tprivate constructor(envs: E, settings: S) {\n\t\tsuper(mapSettingsToInstance(settings as any))\n\t\tInstance.#instance = this as any\n\t\tthis.envs = Object.freeze(envs)\n\t\tthis.settings = Object.freeze(settings) as any\n\t\tInstance.#registerOnExitHandler()\n\t}\n\n\tgetScopedName(name: string, key = '.') {\n\t\treturn [this.settings.app.name, name].join(key)\n\t}\n\n\tasync start() {\n\t\ttry {\n\t\t\tawait runHooks(Instance.#hooks['setup'] ?? [])\n\t\t\tawait runHooks(Instance.#hooks['start'] ?? [])\n\t\t} catch (error) {\n\t\t\tInstance.crash(new EquippedError(`Error starting instance`, {}, error))\n\t\t}\n\t}\n\n\tstatic create<E extends object, S extends SettingsInput>(envsPipe: Pipe<unknown, E>, settings: (envs: E) => S) {\n\t\tif (Instance.#instance) throw Instance.crash(new EquippedError('An instance has already been created. Use that instead', {}))\n\t\tconst envValidity = v.validate(envsPipe, process.env)\n\t\tif (!envValidity.valid) {\n\t\t\tInstance.crash(\n\t\t\t\tnew EquippedError(`Environment variables are not valid\\n${envValidity.error.toString()}`, {\n\t\t\t\t\tmessages: envValidity.error.messages,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t\tconst settingsValidity = v.validate(instanceSettingsPipe(), settings(envValidity.value))\n\t\tif (!settingsValidity.valid) {\n\t\t\tInstance.crash(\n\t\t\t\tnew EquippedError(`Settings are not valid\\n${settingsValidity.error.toString()}`, {\n\t\t\t\t\tmessages: settingsValidity.error.messages,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t\treturn new Instance<E, S>(envValidity.value, settingsValidity.value as S)\n\t}\n\n\tstatic get() {\n\t\tif (!Instance.#instance)\n\t\t\treturn Instance.crash(\n\t\t\t\tnew EquippedError('Has not been initialized. Make sure an instance has been created before you get an instance', {}),\n\t\t\t)\n\t\treturn Instance.#instance\n\t}\n\n\tstatic on(event: HookEvent, cb: HookCb, order: number) {\n\t\tInstance.#hooks[event] ??= []\n\t\tInstance.#hooks[event].push({ cb, order })\n\t}\n\n\tstatic #registerOnExitHandler() {\n\t\tconst signals = {\n\t\t\tSIGHUP: 1,\n\t\t\tSIGINT: 2,\n\t\t\tSIGTERM: 15,\n\t\t}\n\n\t\tObject.entries(signals).forEach(([signal, code]) => {\n\t\t\tprocess.on(signal, async () => {\n\t\t\t\tawait runHooks(Instance.#hooks['close'] ?? [], () => {})\n\t\t\t\tprocess.exit(128 + code)\n\t\t\t})\n\t\t})\n\t}\n\n\tstatic resolveBeforeCrash<T>(cb: () => Promise<T>) {\n\t\tconst value = cb()\n\t\tInstance.on('close', async () => await value, 10)\n\t\treturn value\n\t}\n\n\tstatic crash(error: EquippedError): never {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(error)\n\t\tprocess.exit(1)\n\t}\n}\n"]}
|
|
@@ -38,9 +38,12 @@ const instanceSettingsPipe = () => _valleyed.v.object({
|
|
|
38
38
|
rabbitmq: _valleyed.v.merge(_indexcjs5.rabbitmqConfigPipe, _valleyed.v.object({ type: _valleyed.v.is("rabbitmq") }))
|
|
39
39
|
})
|
|
40
40
|
),
|
|
41
|
-
cache: _valleyed.v.
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
cache: _valleyed.v.optional(
|
|
42
|
+
_valleyed.v.discriminate((e) => _optionalChain([e, 'optionalAccess', _3 => _3.type]), {
|
|
43
|
+
"in-memory": _valleyed.v.object({ type: _valleyed.v.is("in-memory") }),
|
|
44
|
+
redis: _valleyed.v.merge(_indexcjs.redisConfigPipe, _valleyed.v.object({ type: _valleyed.v.is("redis") }))
|
|
45
|
+
})
|
|
46
|
+
),
|
|
44
47
|
jobs: _valleyed.v.optional(_valleyed.v.merge(_indexcjs7.redisJobsConfigPipe, _valleyed.v.object({ type: _valleyed.v.is("redis") }))),
|
|
45
48
|
server: _valleyed.v.optional(
|
|
46
49
|
_valleyed.v.object({
|
|
@@ -107,21 +110,21 @@ function mapSettingsToInstance(settings) {
|
|
|
107
110
|
res: _pino2.default.stdSerializers.res
|
|
108
111
|
}
|
|
109
112
|
});
|
|
110
|
-
const cache = new (0, _indexcjs.RedisCache)(settings.cache);
|
|
113
|
+
const cache = _optionalChain([settings, 'access', _4 => _4.cache, 'optionalAccess', _5 => _5.type]) === "in-memory" ? new (0, _indexcjs.InMemoryCache)() : _optionalChain([settings, 'access', _6 => _6.cache, 'optionalAccess', _7 => _7.type]) === "redis" ? new (0, _indexcjs.RedisCache)(settings.cache) : void 0;
|
|
111
114
|
const jobs = settings.jobs ? new (0, _indexcjs7.RedisJob)(settings.jobs) : void 0;
|
|
112
|
-
const eventBus = _optionalChain([settings, 'access',
|
|
115
|
+
const eventBus = _optionalChain([settings, 'access', _8 => _8.eventBus, 'optionalAccess', _9 => _9.type]) === "kafka" ? new (0, _indexcjs5.KafkaEventBus)(deleteKeys(settings.eventBus, ["type"])) : _optionalChain([settings, 'access', _10 => _10.eventBus, 'optionalAccess', _11 => _11.type]) === "rabbitmq" ? new (0, _indexcjs5.RabbitMQEventBus)(deleteKeys(settings.eventBus, ["type"])) : void 0;
|
|
113
116
|
const serverConfig = {
|
|
114
117
|
app: settings.app,
|
|
115
118
|
log,
|
|
116
119
|
eventBus
|
|
117
120
|
};
|
|
118
|
-
const server = _optionalChain([settings, 'access',
|
|
119
|
-
const changesConfig = _optionalChain([settings, 'access',
|
|
121
|
+
const server = _optionalChain([settings, 'access', _12 => _12.server, 'optionalAccess', _13 => _13.type]) === "express" ? new (0, _indexcjs9.ExpressServer)({ ...serverConfig, config: settings.server }) : _optionalChain([settings, 'access', _14 => _14.server, 'optionalAccess', _15 => _15.type]) === "fastify" ? new (0, _indexcjs9.FastifyServer)({ ...serverConfig, config: settings.server }) : void 0;
|
|
122
|
+
const changesConfig = _optionalChain([settings, 'access', _16 => _16.dbs, 'optionalAccess', _17 => _17.changes]) ? {
|
|
120
123
|
debeziumUrl: settings.dbs.changes.debeziumUrl,
|
|
121
124
|
eventBus: new (0, _indexcjs5.KafkaEventBus)(settings.dbs.changes.kafkaConfig)
|
|
122
125
|
} : void 0;
|
|
123
126
|
const dbs = Object.fromEntries(
|
|
124
|
-
Object.entries(_nullishCoalesce(_optionalChain([settings, 'access',
|
|
127
|
+
Object.entries(_nullishCoalesce(_optionalChain([settings, 'access', _18 => _18.dbs, 'optionalAccess', _19 => _19.types]), () => ( {}))).map(([key, config]) => [
|
|
125
128
|
key,
|
|
126
129
|
config.type === "mongo" ? new (0, _indexcjs3.MongoDb)(config, { changes: changesConfig }) : void 0
|
|
127
130
|
])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/settings.ts","/home/runner/work/equipped/equipped/dist/cjs/instance/settings.cjs"],"names":[],"mappings":"AAAA,y1BAA6B;AAC7B,oCAA8E;AAE9E,8CAAmD;AACnD,6CAA2C;AAC3C,gDAA+F;AAC/F,8CAA8C;AAC9C,gDAA4F;AAErF,MAAM,qBAAA,EAAuB,CAAA,EAAA,GACnC,WAAA,CAAE,MAAA,CAAO;AAAA,EACR,GAAA,EAAK,WAAA,CAAE,MAAA,CAAO;AAAA,IACb,EAAA,EAAI,WAAA,CAAE,MAAA,CAAO,CAAA;AAAA,IACb,IAAA,EAAM,WAAA,CAAE,MAAA,CAAO;AAAA,EAChB,CAAC,CAAA;AAAA,EACD,GAAA,EAAK,WAAA,CAAE,QAAA;AAAA,IACN,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,KAAA,EAAO,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,EAAA,CAAG,CAAC,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,OAAA,EAAS,QAAQ,CAAU,CAAA,EAAG,MAAM;AAAA,IACxG,CAAC,CAAA;AAAA,IACD,CAAC;AAAA,EACF,CAAA;AAAA,EACA,GAAA,EAAK,WAAA,CAAE,QAAA;AAAA,IACN,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,KAAA,EAAO,WAAA,CAAE,MAAA;AAAA,QACR,WAAA,CAAE,MAAA,CAAO,CAAA;AAAA,QACT,WAAA,CAAE,YAAA,CAAa,CAAC,CAAA,EAAA,mBAAM,CAAA,2BAAG,MAAA,EAAM;AAAA,UAC9B,KAAA,EAAO,WAAA,CAAE,KAAA,CAAM,4BAAA,EAAmB,WAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,OAAgB,EAAE,CAAC,CAAC;AAAA,QAC7E,CAAC;AAAA,MACF,CAAA;AAAA,MACA,OAAA,EAAS,WAAA,CAAE,QAAA;AAAA,QACV,WAAA,CAAE,MAAA,CAAO;AAAA,UACR,WAAA,EAAa,WAAA,CAAE,MAAA,CAAO,CAAA;AAAA,UACtB,WAAA,EAAa;AAAA,QACd,CAAC;AAAA,MACF;AAAA,IACD,CAAC;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU,WAAA,CAAE,QAAA;AAAA,IACX,WAAA,CAAE,YAAA,CAAa,CAAC,CAAA,EAAA,mBAAW,CAAA,6BAAG,MAAA,EAAM;AAAA,MACnC,KAAA,EAAO,WAAA,CAAE,KAAA,CAAM,0BAAA,EAAiB,WAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,OAAgB,EAAE,CAAC,CAAC,CAAA;AAAA,MAC1E,QAAA,EAAU,WAAA,CAAE,KAAA,CAAM,6BAAA,EAAoB,WAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,UAAmB,EAAE,CAAC,CAAC;AAAA,IACpF,CAAC;AAAA,EACF,CAAA;AAAA,EACA,KAAA,EAAO,WAAA,CAAE,YAAA,CAAa,CAAC,CAAA,EAAA,mBAAW,CAAA,6BAAG,MAAA,EAAM;AAAA,IAC1C,KAAA,EAAO,WAAA,CAAE,KAAA,CAAM,yBAAA,EAAiB,WAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,OAAgB,EAAE,CAAC,CAAC;AAAA,EAC3E,CAAC,CAAA;AAAA,EACD,IAAA,EAAM,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,KAAA,CAAM,8BAAA,EAAqB,WAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,OAAgB,EAAE,CAAC,CAAC,CAAC,CAAA;AAAA,EACzF,MAAA,EAAQ,WAAA,CAAE,QAAA;AAAA,IACT,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,CAAC,SAAA,EAAW,SAAS,CAAU,CAAA;AAAA,MAC1C,IAAA,EAAM,WAAA,CAAE,MAAA,CAAO,CAAA;AAAA,MACf,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAAA,MACjC,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAAA,MACjC,OAAA,EAAS,WAAA,CAAE,QAAA;AAAA,QACV,WAAA,CAAE,MAAA,CAAO;AAAA,UACR,WAAA,EAAa,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,OAAO,CAAA;AAAA,UAC3C,WAAA,EAAa,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,KAAA,CAAM,WAAA,CAAE,MAAA,CAAO,CAAC,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AAAA,UAClD,QAAA,EAAU,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,SAAS;AAAA,QAC3C,CAAC,CAAA;AAAA,QACD,CAAC;AAAA,MACF,CAAA;AAAA,MACA,QAAA,EAAU,WAAA,CAAE,QAAA;AAAA,QACX,WAAA,CAAE,MAAA,CAAO;AAAA,UACR,GAAA,EAAK,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,IAAI,CAAA;AAAA,UACjC,sBAAA,EAAwB,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAG,CAAA;AAAA,UAClD,qBAAA,EAAuB,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAG,CAAA;AAAA,UACjD,SAAA,EAAW,WAAA,CAAE,QAAA;AAAA,YACZ,WAAA,CAAE,MAAA,CAAO;AAAA,cACR,OAAA,EAAS,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,KAAK,CAAA;AAAA,cACtC,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAA,EAAK,GAAA,EAAK,GAAI,CAAA;AAAA,cACjD,KAAA,EAAO,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAI;AAAA,YACnC,CAAC,CAAA;AAAA,YACD,CAAC;AAAA,UACF,CAAA;AAAA,UACA,QAAA,EAAU,WAAA,CAAE,QAAA;AAAA,YACX,WAAA,CAAE,MAAA,CAAO;AAAA,cACR,OAAA,EAAS,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,KAAK,CAAA;AAAA,cACtC,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAA,EAAK,GAAA,EAAK,GAAI,CAAA;AAAA,cACjD,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAI,CAAA;AAAA,cACvC,SAAA,EAAW,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAG;AAAA,YACtC,CAAC,CAAA;AAAA,YACD,CAAC;AAAA,UACF;AAAA,QACD,CAAC,CAAA;AAAA,QACD,CAAC;AAAA,MACF,CAAA;AAAA,MACA,YAAA,EAAc,WAAA,CAAE,QAAA;AAAA,QACf,WAAA,CAAE,MAAA,CAAO;AAAA,UACR,MAAA,EAAQ,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,UAAA,CAAW,4BAAiB,CAAC,CAAA;AAAA,UAClD,MAAA,EAAQ,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,UAAA,CAAW,6BAAkB,CAAC;AAAA,QACpD,CAAC,CAAA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD,CAAC;AAAA,EACF,CAAA;AAAA,EACA,KAAA,EAAO,WAAA,CAAE,QAAA;AAAA,IACR,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,cAAA,EAAgB,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,EAAE;AAAA,IAC1C,CAAC,CAAA;AAAA,IACD,CAAC;AAAA,EACF;AACD,CAAC,CAAA;AA2BK,SAAS,qBAAA,CAA0C,QAAA,EAAuC;AAChG,EAAA,MAAM,IAAA,EAAM,4BAAA;AAAU,IACrB,KAAA,EAAO,QAAA,CAAS,GAAA,CAAI,KAAA;AAAA,IACpB,WAAA,EAAa;AAAA,MACZ,GAAA,EAAK,cAAA,CAAK,cAAA,CAAe,GAAA;AAAA,MACzB,KAAA,EAAO,cAAA,CAAK,cAAA,CAAe,GAAA;AAAA,MAC3B,GAAA,EAAK,cAAA,CAAK,cAAA,CAAe,GAAA;AAAA,MACzB,GAAA,EAAK,cAAA,CAAK,cAAA,CAAe;AAAA,IAC1B;AAAA,EACD,CAAC,CAAA;AACD,EAAA,MAAM,MAAA,EAAQ,IAAI,yBAAA,CAAW,QAAA,CAAS,KAAK,CAAA;AAC3C,EAAA,MAAM,KAAA,EAAO,QAAA,CAAS,KAAA,EAAO,IAAI,wBAAA,CAAS,QAAA,CAAS,IAAI,EAAA,EAAI,KAAA,CAAA;AAC3D,EAAA,MAAM,SAAA,kBACL,QAAA,qBAAS,QAAA,6BAAU,OAAA,IAAS,QAAA,EACzB,IAAI,6BAAA,CAAc,UAAA,CAAW,QAAA,CAAS,QAAA,EAAU,CAAC,MAAM,CAAC,CAAC,EAAA,kBACzD,QAAA,qBAAS,QAAA,6BAAU,OAAA,IAAS,WAAA,EAC3B,IAAI,gCAAA,CAAiB,UAAA,CAAW,QAAA,CAAS,QAAA,EAAU,CAAC,MAAM,CAAC,CAAC,EAAA,EAC5D,KAAA,CAAA;AAEL,EAAA,MAAM,aAAA,EAAe;AAAA,IACpB,GAAA,EAAK,QAAA,CAAS,GAAA;AAAA,IACd,GAAA;AAAA,IACA;AAAA,EACD,CAAA;AACA,EAAA,MAAM,OAAA,kBACL,QAAA,qBAAS,MAAA,6BAAQ,OAAA,IAAS,UAAA,EACvB,IAAI,6BAAA,CAAc,EAAE,GAAG,YAAA,EAAc,MAAA,EAAQ,QAAA,CAAS,OAAO,CAAC,EAAA,kBAC9D,QAAA,uBAAS,MAAA,+BAAQ,OAAA,IAAS,UAAA,EACzB,IAAI,6BAAA,CAAc,EAAE,GAAG,YAAA,EAAc,MAAA,EAAQ,QAAA,CAAS,OAAO,CAAC,EAAA,EAC9D,KAAA,CAAA;AAEL,EAAA,MAAM,cAAA,kBAAgB,QAAA,uBAAS,GAAA,+BAAK,UAAA,EACjC;AAAA,IACA,WAAA,EAAa,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,WAAA;AAAA,IAClC,QAAA,EAAU,IAAI,6BAAA,CAAc,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,WAAW;AAAA,EAC7D,EAAA,EACC,KAAA,CAAA;AAEH,EAAA,MAAM,IAAA,EAAM,MAAA,CAAO,WAAA;AAAA,IAClB,MAAA,CAAO,OAAA,kCAAQ,QAAA,uBAAS,GAAA,+BAAK,OAAA,UAAS,CAAC,GAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,MAAM,CAAA,EAAA,GAAM;AAAA,MAChE,GAAA;AAAA,MACA,MAAA,CAAO,KAAA,IAAS,QAAA,EAAU,IAAI,uBAAA,CAAQ,MAAA,EAAQ,EAAE,OAAA,EAAS,cAAc,CAAC,EAAA,EAAI,KAAA;AAAA,IAC7E,CAAC;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACN,GAAA,EAAK,QAAA,CAAS,GAAA;AAAA,IACd,KAAA,EAAO,QAAA,CAAS,KAAA;AAAA,IAChB,GAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,EACD,CAAA;AACD;AAEA,SAAS,UAAA,CAAgD,IAAA,EAAS,IAAA,EAAW;AAC5E,EAAA,IAAA,CAAA,MAAW,IAAA,GAAO,IAAA,EAAM,OAAO,IAAA,CAAK,GAAG,CAAA;AACvC,EAAA,OAAO,IAAA;AACR;AC7CA;AACE;AACA;AACF,2GAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/instance/settings.cjs","sourcesContent":["import pino, { Logger } from 'pino'\nimport { ConditionalObjectKeys, IsInTypeList, PipeInput, PipeOutput, v } from 'valleyed'\n\nimport { Cache, RedisCache, redisConfigPipe } from '../cache'\nimport { MongoDb, mongoDbConfigPipe } from '../dbs'\nimport { EventBus, KafkaEventBus, RabbitMQEventBus, kafkaConfigPipe, rabbitmqConfigPipe } from '../events'\nimport { RedisJob, redisJobsConfigPipe } from '../jobs'\nimport { BaseApiKeysUtility, BaseTokensUtility, ExpressServer, FastifyServer, Server } from '../server'\n\nexport const instanceSettingsPipe = () =>\n\tv.object({\n\t\tapp: v.object({\n\t\t\tid: v.string(),\n\t\t\tname: v.string(),\n\t\t}),\n\t\tlog: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlevel: v.defaults(v.in(['fatal', 'error', 'warn', 'info', 'debug', 'trace', 'silent'] as const), 'info'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tdbs: v.optional(\n\t\t\tv.object({\n\t\t\t\ttypes: v.record(\n\t\t\t\t\tv.string(),\n\t\t\t\t\tv.discriminate((e) => e?.type, {\n\t\t\t\t\t\tmongo: v.merge(mongoDbConfigPipe, v.object({ type: v.is('mongo' as const) })),\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tchanges: v.optional(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tdebeziumUrl: v.string(),\n\t\t\t\t\t\tkafkaConfig: kafkaConfigPipe,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(\n\t\t\tv.discriminate((e: any) => e?.type, {\n\t\t\t\tkafka: v.merge(kafkaConfigPipe, v.object({ type: v.is('kafka' as const) })),\n\t\t\t\trabbitmq: v.merge(rabbitmqConfigPipe, v.object({ type: v.is('rabbitmq' as const) })),\n\t\t\t}),\n\t\t),\n\t\tcache: v.discriminate((e: any) => e?.type, {\n\t\t\tredis: v.merge(redisConfigPipe, v.object({ type: v.is('redis' as const) })),\n\t\t}),\n\t\tjobs: v.optional(v.merge(redisJobsConfigPipe, v.object({ type: v.is('redis' as const) }))),\n\t\tserver: v.optional(\n\t\t\tv.object({\n\t\t\t\ttype: v.in(['fastify', 'express'] as const),\n\t\t\t\tport: v.number(),\n\t\t\t\tpublicPath: v.optional(v.string()),\n\t\t\t\thealthPath: v.optional(v.string()),\n\t\t\t\topenapi: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\trequests: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\t\t\tpaginationDefaultLimit: v.defaults(v.number(), 100),\n\t\t\t\t\t\tmaxFileUploadSizeInMb: v.defaults(v.number(), 500),\n\t\t\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\trequestsAuth: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\ttokens: v.optional(v.instanceOf(BaseTokensUtility)),\n\t\t\t\t\t\tapiKey: v.optional(v.instanceOf(BaseApiKeysUtility)),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t),\n\t\tutils: v.defaults(\n\t\t\tv.object({\n\t\t\t\thashSaltRounds: v.defaults(v.number(), 10),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t})\n\nexport type Settings = PipeOutput<ReturnType<typeof instanceSettingsPipe>>\nexport type SettingsInput = ConditionalObjectKeys<PipeInput<ReturnType<typeof instanceSettingsPipe>>>\n\ntype DbTypesMap = { mongo: MongoDb }\ntype ReshapeDbs<T extends SettingsInput> =\n\tIsInTypeList<NonNullable<T['dbs']>['types'], [unknown]> extends true\n\t\t? {}\n\t\t: {\n\t\t\t\t[K in keyof NonNullable<T['dbs']>['types']]: NonNullable<T['dbs']>['types'][K] extends { type: keyof DbTypesMap }\n\t\t\t\t\t? DbTypesMap[NonNullable<T['dbs']>['types'][K]['type']]\n\t\t\t\t\t: never\n\t\t\t}\n\ntype AddUndefined<T, C> = IsInTypeList<C, [undefined, unknown]> extends true ? undefined : T\nexport type MapSettingsToInstance<T extends SettingsInput> = {\n\tapp: T['app']\n\tlog: Logger<any, boolean>\n\teventBus: AddUndefined<EventBus, T['eventBus']>\n\tcache: AddUndefined<Cache, T['cache']>\n\tjobs: AddUndefined<RedisJob, T['jobs']>\n\tserver: AddUndefined<Server, T['server']>\n\tdbs: ReshapeDbs<T>\n\tutils: T['utils']\n}\n\nexport function mapSettingsToInstance<T extends Settings>(settings: T): MapSettingsToInstance<T> {\n\tconst log = pino<any>({\n\t\tlevel: settings.log.level,\n\t\tserializers: {\n\t\t\terr: pino.stdSerializers.err,\n\t\t\terror: pino.stdSerializers.err,\n\t\t\treq: pino.stdSerializers.req,\n\t\t\tres: pino.stdSerializers.res,\n\t\t},\n\t})\n\tconst cache = new RedisCache(settings.cache)\n\tconst jobs = settings.jobs ? new RedisJob(settings.jobs) : undefined\n\tconst eventBus =\n\t\tsettings.eventBus?.type === 'kafka'\n\t\t\t? new KafkaEventBus(deleteKeys(settings.eventBus, ['type']))\n\t\t\t: settings.eventBus?.type === 'rabbitmq'\n\t\t\t\t? new RabbitMQEventBus(deleteKeys(settings.eventBus, ['type']))\n\t\t\t\t: undefined\n\n\tconst serverConfig = {\n\t\tapp: settings.app,\n\t\tlog,\n\t\teventBus,\n\t}\n\tconst server =\n\t\tsettings.server?.type === 'express'\n\t\t\t? new ExpressServer({ ...serverConfig, config: settings.server })\n\t\t\t: settings.server?.type === 'fastify'\n\t\t\t\t? new FastifyServer({ ...serverConfig, config: settings.server })\n\t\t\t\t: undefined\n\n\tconst changesConfig = settings.dbs?.changes\n\t\t? {\n\t\t\t\tdebeziumUrl: settings.dbs.changes.debeziumUrl,\n\t\t\t\teventBus: new KafkaEventBus(settings.dbs.changes.kafkaConfig),\n\t\t\t}\n\t\t: undefined\n\n\tconst dbs = Object.fromEntries(\n\t\tObject.entries(settings.dbs?.types ?? {}).map(([key, config]) => [\n\t\t\tkey,\n\t\t\tconfig.type === 'mongo' ? new MongoDb(config, { changes: changesConfig }) : undefined,\n\t\t]),\n\t)\n\n\treturn {\n\t\tapp: settings.app,\n\t\tutils: settings.utils,\n\t\tlog,\n\t\teventBus: eventBus as any,\n\t\tcache: cache as any,\n\t\tjobs: jobs as any,\n\t\tserver: server as any,\n\t\tdbs: dbs as any,\n\t}\n}\n\nfunction deleteKeys<T extends object, K extends keyof T>(data: T, keys: K[]) {\n\tfor (const key of keys) delete data[key]\n\treturn data\n}\n",null]}
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/settings.ts","/home/runner/work/equipped/equipped/dist/cjs/instance/settings.cjs"],"names":[],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/instance/settings.cjs","sourcesContent":["import pino, { Logger } from 'pino'\nimport { ConditionalObjectKeys, IsInTypeList, PipeInput, PipeOutput, v } from 'valleyed'\n\nimport { Cache, InMemoryCache, RedisCache, redisConfigPipe } from '../cache'\nimport { MongoDb, mongoDbConfigPipe } from '../dbs'\nimport { EventBus, KafkaEventBus, RabbitMQEventBus, kafkaConfigPipe, rabbitmqConfigPipe } from '../events'\nimport { RedisJob, redisJobsConfigPipe } from '../jobs'\nimport { BaseApiKeysUtility, BaseTokensUtility, ExpressServer, FastifyServer, Server } from '../server'\n\nexport const instanceSettingsPipe = () =>\n\tv.object({\n\t\tapp: v.object({\n\t\t\tid: v.string(),\n\t\t\tname: v.string(),\n\t\t}),\n\t\tlog: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlevel: v.defaults(v.in(['fatal', 'error', 'warn', 'info', 'debug', 'trace', 'silent'] as const), 'info'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tdbs: v.optional(\n\t\t\tv.object({\n\t\t\t\ttypes: v.record(\n\t\t\t\t\tv.string(),\n\t\t\t\t\tv.discriminate((e) => e?.type, {\n\t\t\t\t\t\tmongo: v.merge(mongoDbConfigPipe, v.object({ type: v.is('mongo' as const) })),\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tchanges: v.optional(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tdebeziumUrl: v.string(),\n\t\t\t\t\t\tkafkaConfig: kafkaConfigPipe,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(\n\t\t\tv.discriminate((e: any) => e?.type, {\n\t\t\t\tkafka: v.merge(kafkaConfigPipe, v.object({ type: v.is('kafka' as const) })),\n\t\t\t\trabbitmq: v.merge(rabbitmqConfigPipe, v.object({ type: v.is('rabbitmq' as const) })),\n\t\t\t}),\n\t\t),\n\t\tcache: v.optional(\n\t\t\tv.discriminate((e: any) => e?.type, {\n\t\t\t\t'in-memory': v.object({ type: v.is('in-memory' as const) }),\n\t\t\t\tredis: v.merge(redisConfigPipe, v.object({ type: v.is('redis' as const) })),\n\t\t\t}),\n\t\t),\n\t\tjobs: v.optional(v.merge(redisJobsConfigPipe, v.object({ type: v.is('redis' as const) }))),\n\t\tserver: v.optional(\n\t\t\tv.object({\n\t\t\t\ttype: v.in(['fastify', 'express'] as const),\n\t\t\t\tport: v.number(),\n\t\t\t\tpublicPath: v.optional(v.string()),\n\t\t\t\thealthPath: v.optional(v.string()),\n\t\t\t\topenapi: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\trequests: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\t\t\tpaginationDefaultLimit: v.defaults(v.number(), 100),\n\t\t\t\t\t\tmaxFileUploadSizeInMb: v.defaults(v.number(), 500),\n\t\t\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\t\t\tv.object({\n\t\t\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\trequestsAuth: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\ttokens: v.optional(v.instanceOf(BaseTokensUtility)),\n\t\t\t\t\t\tapiKey: v.optional(v.instanceOf(BaseApiKeysUtility)),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t),\n\t\tutils: v.defaults(\n\t\t\tv.object({\n\t\t\t\thashSaltRounds: v.defaults(v.number(), 10),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t})\n\nexport type Settings = PipeOutput<ReturnType<typeof instanceSettingsPipe>>\nexport type SettingsInput = ConditionalObjectKeys<PipeInput<ReturnType<typeof instanceSettingsPipe>>>\n\ntype DbTypesMap = { mongo: MongoDb }\ntype ReshapeDbs<T extends SettingsInput> =\n\tIsInTypeList<NonNullable<T['dbs']>['types'], [unknown]> extends true\n\t\t? {}\n\t\t: {\n\t\t\t\t[K in keyof NonNullable<T['dbs']>['types']]: NonNullable<T['dbs']>['types'][K] extends { type: keyof DbTypesMap }\n\t\t\t\t\t? DbTypesMap[NonNullable<T['dbs']>['types'][K]['type']]\n\t\t\t\t\t: never\n\t\t\t}\n\ntype AddUndefined<T, C> = IsInTypeList<C, [undefined, unknown]> extends true ? undefined : T\nexport type MapSettingsToInstance<T extends SettingsInput> = {\n\tapp: T['app']\n\tlog: Logger<any, boolean>\n\teventBus: AddUndefined<EventBus, T['eventBus']>\n\tcache: AddUndefined<Cache, T['cache']>\n\tjobs: AddUndefined<RedisJob, T['jobs']>\n\tserver: AddUndefined<Server, T['server']>\n\tdbs: ReshapeDbs<T>\n\tutils: T['utils']\n}\n\nexport function mapSettingsToInstance<T extends Settings>(settings: T): MapSettingsToInstance<T> {\n\tconst log = pino<any>({\n\t\tlevel: settings.log.level,\n\t\tserializers: {\n\t\t\terr: pino.stdSerializers.err,\n\t\t\terror: pino.stdSerializers.err,\n\t\t\treq: pino.stdSerializers.req,\n\t\t\tres: pino.stdSerializers.res,\n\t\t},\n\t})\n\tconst cache =\n\t\tsettings.cache?.type === 'in-memory'\n\t\t\t? new InMemoryCache()\n\t\t\t: settings.cache?.type === 'redis'\n\t\t\t\t? new RedisCache(settings.cache)\n\t\t\t\t: undefined\n\tconst jobs = settings.jobs ? new RedisJob(settings.jobs) : undefined\n\tconst eventBus =\n\t\tsettings.eventBus?.type === 'kafka'\n\t\t\t? new KafkaEventBus(deleteKeys(settings.eventBus, ['type']))\n\t\t\t: settings.eventBus?.type === 'rabbitmq'\n\t\t\t\t? new RabbitMQEventBus(deleteKeys(settings.eventBus, ['type']))\n\t\t\t\t: undefined\n\n\tconst serverConfig = {\n\t\tapp: settings.app,\n\t\tlog,\n\t\teventBus,\n\t}\n\tconst server =\n\t\tsettings.server?.type === 'express'\n\t\t\t? new ExpressServer({ ...serverConfig, config: settings.server })\n\t\t\t: settings.server?.type === 'fastify'\n\t\t\t\t? new FastifyServer({ ...serverConfig, config: settings.server })\n\t\t\t\t: undefined\n\n\tconst changesConfig = settings.dbs?.changes\n\t\t? {\n\t\t\t\tdebeziumUrl: settings.dbs.changes.debeziumUrl,\n\t\t\t\teventBus: new KafkaEventBus(settings.dbs.changes.kafkaConfig),\n\t\t\t}\n\t\t: undefined\n\n\tconst dbs = Object.fromEntries(\n\t\tObject.entries(settings.dbs?.types ?? {}).map(([key, config]) => [\n\t\t\tkey,\n\t\t\tconfig.type === 'mongo' ? new MongoDb(config, { changes: changesConfig }) : undefined,\n\t\t]),\n\t)\n\n\treturn {\n\t\tapp: settings.app,\n\t\tutils: settings.utils,\n\t\tlog,\n\t\teventBus: eventBus as any,\n\t\tcache: cache as any,\n\t\tjobs: jobs as any,\n\t\tserver: server as any,\n\t\tdbs: dbs as any,\n\t}\n}\n\nfunction deleteKeys<T extends object, K extends keyof T>(data: T, keys: K[]) {\n\tfor (const key of keys) delete data[key]\n\treturn data\n}\n",null]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _pino = require('pino'); var _pino2 = _interopRequireDefault(_pino);var _valleyed = require('valleyed');var _indexmincjs = require('../cache/index.min.cjs');var _indexmincjs3 = require('../dbs/index.min.cjs');var _indexmincjs5 = require('../events/index.min.cjs');var _indexmincjs7 = require('../jobs/index.min.cjs');var _indexmincjs9 = require('../server/index.min.cjs');const
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _pino = require('pino'); var _pino2 = _interopRequireDefault(_pino);var _valleyed = require('valleyed');var _indexmincjs = require('../cache/index.min.cjs');var _indexmincjs3 = require('../dbs/index.min.cjs');var _indexmincjs5 = require('../events/index.min.cjs');var _indexmincjs7 = require('../jobs/index.min.cjs');var _indexmincjs9 = require('../server/index.min.cjs');const _=()=>_valleyed.v.object({app:_valleyed.v.object({id:_valleyed.v.string(),name:_valleyed.v.string()}),log:_valleyed.v.defaults(_valleyed.v.object({level:_valleyed.v.defaults(_valleyed.v.in(["fatal","error","warn","info","debug","trace","silent"]),"info")}),{}),dbs:_valleyed.v.optional(_valleyed.v.object({types:_valleyed.v.record(_valleyed.v.string(),_valleyed.v.discriminate(t=>_optionalChain([t, 'optionalAccess', _2 => _2.type]),{mongo:_valleyed.v.merge(_indexmincjs3.mongoDbConfigPipe,_valleyed.v.object({type:_valleyed.v.is("mongo")}))})),changes:_valleyed.v.optional(_valleyed.v.object({debeziumUrl:_valleyed.v.string(),kafkaConfig:_indexmincjs5.kafkaConfigPipe}))})),eventBus:_valleyed.v.optional(_valleyed.v.discriminate(t=>_optionalChain([t, 'optionalAccess', _3 => _3.type]),{kafka:_valleyed.v.merge(_indexmincjs5.kafkaConfigPipe,_valleyed.v.object({type:_valleyed.v.is("kafka")})),rabbitmq:_valleyed.v.merge(_indexmincjs5.rabbitmqConfigPipe,_valleyed.v.object({type:_valleyed.v.is("rabbitmq")}))})),cache:_valleyed.v.optional(_valleyed.v.discriminate(t=>_optionalChain([t, 'optionalAccess', _4 => _4.type]),{"in-memory":_valleyed.v.object({type:_valleyed.v.is("in-memory")}),redis:_valleyed.v.merge(_indexmincjs.redisConfigPipe,_valleyed.v.object({type:_valleyed.v.is("redis")}))})),jobs:_valleyed.v.optional(_valleyed.v.merge(_indexmincjs7.redisJobsConfigPipe,_valleyed.v.object({type:_valleyed.v.is("redis")}))),server:_valleyed.v.optional(_valleyed.v.object({type:_valleyed.v.in(["fastify","express"]),port:_valleyed.v.number(),publicPath:_valleyed.v.optional(_valleyed.v.string()),healthPath:_valleyed.v.optional(_valleyed.v.string()),openapi:_valleyed.v.defaults(_valleyed.v.object({docsVersion:_valleyed.v.defaults(_valleyed.v.string(),"1.0.0"),docsBaseUrl:_valleyed.v.defaults(_valleyed.v.array(_valleyed.v.string()),["/"]),docsPath:_valleyed.v.defaults(_valleyed.v.string(),"/__docs")}),{}),requests:_valleyed.v.defaults(_valleyed.v.object({log:_valleyed.v.defaults(_valleyed.v.boolean(),!0),paginationDefaultLimit:_valleyed.v.defaults(_valleyed.v.number(),100),maxFileUploadSizeInMb:_valleyed.v.defaults(_valleyed.v.number(),500),rateLimit:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),60*60*1e3),limit:_valleyed.v.defaults(_valleyed.v.number(),5e3)}),{}),slowdown:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),10*60*1e3),delayAfter:_valleyed.v.defaults(_valleyed.v.number(),2e3),delayInMs:_valleyed.v.defaults(_valleyed.v.number(),500)}),{})}),{}),requestsAuth:_valleyed.v.defaults(_valleyed.v.object({tokens:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs9.BaseTokensUtility)),apiKey:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs9.BaseApiKeysUtility))}),{})})),utils:_valleyed.v.defaults(_valleyed.v.object({hashSaltRounds:_valleyed.v.defaults(_valleyed.v.number(),10)}),{})});function Q(t){const s=_pino2.default.call(void 0, {level:t.log.level,serializers:{err:_pino2.default.stdSerializers.err,error:_pino2.default.stdSerializers.err,req:_pino2.default.stdSerializers.req,res:_pino2.default.stdSerializers.res}}),o=_optionalChain([t, 'access', _5 => _5.cache, 'optionalAccess', _6 => _6.type])==="in-memory"?new _indexmincjs.InMemoryCache:_optionalChain([t, 'access', _7 => _7.cache, 'optionalAccess', _8 => _8.type])==="redis"?new (0, _indexmincjs.RedisCache)(t.cache):void 0,u=t.jobs?new (0, _indexmincjs7.RedisJob)(t.jobs):void 0,a=_optionalChain([t, 'access', _9 => _9.eventBus, 'optionalAccess', _10 => _10.type])==="kafka"?new (0, _indexmincjs5.KafkaEventBus)(l(t.eventBus,["type"])):_optionalChain([t, 'access', _11 => _11.eventBus, 'optionalAccess', _12 => _12.type])==="rabbitmq"?new (0, _indexmincjs5.RabbitMQEventBus)(l(t.eventBus,["type"])):void 0,i={app:t.app,log:s,eventBus:a},b=_optionalChain([t, 'access', _13 => _13.server, 'optionalAccess', _14 => _14.type])==="express"?new (0, _indexmincjs9.ExpressServer)({...i,config:t.server}):_optionalChain([t, 'access', _15 => _15.server, 'optionalAccess', _16 => _16.type])==="fastify"?new (0, _indexmincjs9.FastifyServer)({...i,config:t.server}):void 0,c=_optionalChain([t, 'access', _17 => _17.dbs, 'optionalAccess', _18 => _18.changes])?{debeziumUrl:t.dbs.changes.debeziumUrl,eventBus:new (0, _indexmincjs5.KafkaEventBus)(t.dbs.changes.kafkaConfig)}:void 0,f=Object.fromEntries(Object.entries(_nullishCoalesce(_optionalChain([t, 'access', _19 => _19.dbs, 'optionalAccess', _20 => _20.types]), () => ({}))).map(([y,r])=>[y,r.type==="mongo"?new (0, _indexmincjs3.MongoDb)(r,{changes:c}):void 0]));return{app:t.app,utils:t.utils,log:s,eventBus:a,cache:o,jobs:u,server:b,dbs:f}}function l(t,s){for(const o of s)delete t[o];return t}exports.instanceSettingsPipe = _; exports.mapSettingsToInstance = Q;
|
|
2
2
|
//# sourceMappingURL=settings.min.cjs.map
|