@cyberskill/shared 2.26.0 → 2.28.0

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.
Files changed (71) hide show
  1. package/README.md +1 -1
  2. package/dist/config/config.util.cjs +1 -1
  3. package/dist/config/config.util.js +14 -19
  4. package/dist/config/eslint/index.cjs +1 -1
  5. package/dist/config/eslint/index.d.ts +2 -0
  6. package/dist/config/eslint/index.js +1 -1
  7. package/dist/config/vitest/vitest.e2e.cjs +1 -1
  8. package/dist/config/vitest/vitest.e2e.js +1 -1
  9. package/dist/config/vitest/vitest.unit.cjs +1 -1
  10. package/dist/config/vitest/vitest.unit.js +1 -1
  11. package/dist/node/cli/index.cjs +2 -5
  12. package/dist/node/cli/index.js +108 -103
  13. package/dist/node/command/command.util.js +1 -1
  14. package/dist/node/fs/fs.util.cjs +4 -1
  15. package/dist/node/fs/fs.util.d.ts +8 -0
  16. package/dist/node/fs/fs.util.js +58 -50
  17. package/dist/node/fs/index.cjs +1 -1
  18. package/dist/node/fs/index.js +13 -12
  19. package/dist/node/mongo/mongo.type.js +3 -3
  20. package/dist/node/mongo/mongo.util.cjs +2 -5
  21. package/dist/node/mongo/mongo.util.js +206 -211
  22. package/dist/node/path/index.cjs +1 -1
  23. package/dist/node/path/index.js +53 -51
  24. package/dist/node/path/path.constant.cjs +1 -1
  25. package/dist/node/path/path.constant.d.ts +3 -0
  26. package/dist/node/path/path.constant.js +63 -60
  27. package/dist/node/storage/storage.util.cjs +1 -1
  28. package/dist/node/storage/storage.util.js +1 -1
  29. package/dist/node/upload/upload.util.js +3 -3
  30. package/dist/react/apollo-client/apollo-client.component.cjs +1 -1
  31. package/dist/react/apollo-client/apollo-client.component.d.ts +1 -1
  32. package/dist/react/apollo-client/apollo-client.component.js +4 -3
  33. package/dist/react/apollo-client/apollo-client.context.cjs +1 -1
  34. package/dist/react/apollo-client/apollo-client.context.d.ts +1 -1
  35. package/dist/react/apollo-client/apollo-client.context.js +9 -8
  36. package/dist/react/apollo-client/apollo-client.util.cjs +1 -1
  37. package/dist/react/apollo-client/apollo-client.util.js +3 -3
  38. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.cjs +1 -1
  39. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.d.ts +1 -1
  40. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.js +9 -8
  41. package/dist/react/apollo-error/apollo-error.component.cjs +1 -1
  42. package/dist/react/apollo-error/apollo-error.component.d.ts +1 -1
  43. package/dist/react/apollo-error/apollo-error.component.js +2 -1
  44. package/dist/react/apollo-error/apollo-error.provider.cjs +1 -1
  45. package/dist/react/apollo-error/apollo-error.provider.d.ts +1 -1
  46. package/dist/react/apollo-error/apollo-error.provider.js +4 -3
  47. package/dist/react/loading/loading.component.cjs +2 -2
  48. package/dist/react/loading/loading.component.d.ts +1 -1
  49. package/dist/react/loading/loading.component.js +7 -6
  50. package/dist/react/loading/loading.provider.cjs +1 -1
  51. package/dist/react/loading/loading.provider.d.ts +1 -1
  52. package/dist/react/loading/loading.provider.js +8 -7
  53. package/dist/react/next-intl/next-intl.hoc.cjs +1 -1
  54. package/dist/react/next-intl/next-intl.hoc.d.ts +2 -1
  55. package/dist/react/next-intl/next-intl.hoc.js +12 -12
  56. package/dist/react/next-intl/next-intl.provider.cjs +1 -1
  57. package/dist/react/next-intl/next-intl.provider.d.ts +1 -1
  58. package/dist/react/next-intl/next-intl.provider.js +5 -4
  59. package/dist/util/common/common.util.cjs +1 -1
  60. package/dist/util/common/common.util.d.ts +9 -0
  61. package/dist/util/common/common.util.js +33 -29
  62. package/dist/util/common/index.cjs +1 -1
  63. package/dist/util/common/index.js +6 -5
  64. package/dist/util/index.cjs +1 -1
  65. package/dist/util/index.js +23 -22
  66. package/dist/util/object/object.util.cjs +1 -1
  67. package/dist/util/object/object.util.js +40 -36
  68. package/package.json +45 -44
  69. package/dist/node/mongo/mongo.util.d.ts +0 -1040
  70. /package/dist/node_modules/.pnpm/{vitest@4.0.16_@types_node@25.0.3_jiti@2.6.1_jsdom@27.4.0_sass@1.97.2_tsx@4.21.0_yaml@2.8.2 → vitest@4.0.18_@types_node@25.3.0_jiti@2.6.1_jsdom@28.1.0_@noble_hashes@1.8.0__sass@1.97.3_tsx@4.21.0_yaml@2.8.2}/node_modules/vitest/dist/config.cjs +0 -0
  71. /package/dist/node_modules/.pnpm/{vitest@4.0.16_@types_node@25.0.3_jiti@2.6.1_jsdom@27.4.0_sass@1.97.2_tsx@4.21.0_yaml@2.8.2 → vitest@4.0.18_@types_node@25.3.0_jiti@2.6.1_jsdom@28.1.0_@noble_hashes@1.8.0__sass@1.97.3_tsx@4.21.0_yaml@2.8.2}/node_modules/vitest/dist/config.js +0 -0
@@ -1,63 +1,71 @@
1
1
  import i from "fs-extra";
2
- import S from "node:path";
3
- var p = Object.defineProperty, a = Object.getOwnPropertySymbols, l = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable, o = (r, n, e) => n in r ? p(r, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[n] = e, u = (r, n) => {
4
- for (var e in n || (n = {}))
5
- l.call(n, e) && o(r, e, n[e]);
6
- if (a)
7
- for (var e of a(n))
8
- y.call(n, e) && o(r, e, n[e]);
9
- return r;
10
- }, m = (r, n) => {
2
+ import p from "node:path";
3
+ var S = Object.defineProperty, c = Object.getOwnPropertySymbols, l = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable, a = (n, r, e) => r in n ? S(n, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[r] = e, d = (n, r) => {
4
+ for (var e in r || (r = {}))
5
+ l.call(r, e) && a(n, e, r[e]);
6
+ if (c)
7
+ for (var e of c(r))
8
+ y.call(r, e) && a(n, e, r[e]);
9
+ return n;
10
+ }, m = (n, r) => {
11
11
  var e = {};
12
- for (var t in r)
13
- l.call(r, t) && n.indexOf(t) < 0 && (e[t] = r[t]);
14
- if (r != null && a)
15
- for (var t of a(r))
16
- n.indexOf(t) < 0 && y.call(r, t) && (e[t] = r[t]);
12
+ for (var t in n)
13
+ l.call(n, t) && r.indexOf(t) < 0 && (e[t] = n[t]);
14
+ if (n != null && c)
15
+ for (var t of c(n))
16
+ r.indexOf(t) < 0 && y.call(n, t) && (e[t] = n[t]);
17
17
  return e;
18
18
  };
19
- const x = i, {
20
- lstatSync: w,
21
- readdirSync: E,
22
- mkdirSync: g,
23
- readFileSync: h,
24
- unlinkSync: F,
25
- statSync: _,
26
- createWriteStream: P
27
- } = i, b = i.readJsonSync;
28
- function j(r, n, e) {
29
- i.writeFileSync(r, n, e != null ? e : "utf-8");
19
+ const g = i, {
20
+ lstatSync: F,
21
+ readdirSync: b,
22
+ mkdirSync: j,
23
+ readFileSync: _,
24
+ unlinkSync: h,
25
+ statSync: v,
26
+ createWriteStream: J
27
+ } = i, P = i.readJsonSync;
28
+ function O(n, r, e) {
29
+ i.writeFileSync(n, r, e != null ? e : "utf-8");
30
30
  }
31
- function I(r, n, e) {
32
- i.appendFileSync(r, n, e != null ? e : "utf-8");
31
+ function x(n, r, e) {
32
+ i.appendFileSync(n, r, e != null ? e : "utf-8");
33
33
  }
34
- function d(...r) {
35
- return r.every((n) => i.pathExistsSync(n));
34
+ function s(...n) {
35
+ return n.every((r) => i.pathExistsSync(r));
36
36
  }
37
- function J(...r) {
38
- r.forEach((n) => {
39
- d(n) && i.removeSync(n);
37
+ function C(...n) {
38
+ n.forEach((r) => {
39
+ s(r) && i.removeSync(r);
40
40
  });
41
41
  }
42
- function D(r, n, e = {}) {
43
- const t = e, { extensions: c } = t, s = m(t, ["extensions"]);
44
- i.copySync(r, n, u({
45
- filter: (f) => _(f).isDirectory() || !c || c.length === 0 ? !0 : c.includes(S.extname(f))
46
- }, s));
42
+ function D(n, r, e = {}) {
43
+ const t = e, { extensions: o } = t, u = m(t, ["extensions"]);
44
+ i.copySync(n, r, d({
45
+ filter: (f) => v(f).isDirectory() || !o || o.length === 0 ? !0 : o.includes(p.extname(f))
46
+ }, u));
47
+ }
48
+ function G(n, r) {
49
+ const e = `
50
+ ${r}
51
+ `;
52
+ s(n) ? _(n, "utf-8").split(`
53
+ `).includes(r) || x(n, e) : O(n, e);
47
54
  }
48
55
  export {
49
- I as appendFileSync,
56
+ G as addGitIgnoreEntry,
57
+ x as appendFileSync,
50
58
  D as copySync,
51
- P as createWriteStream,
52
- x as fs,
53
- w as lstatSync,
54
- g as mkdirSync,
55
- d as pathExistsSync,
56
- h as readFileSync,
57
- b as readJsonSync,
58
- E as readdirSync,
59
- J as removeSync,
60
- _ as statSync,
61
- F as unlinkSync,
62
- j as writeFileSync
59
+ J as createWriteStream,
60
+ g as fs,
61
+ F as lstatSync,
62
+ j as mkdirSync,
63
+ s as pathExistsSync,
64
+ _ as readFileSync,
65
+ P as readJsonSync,
66
+ b as readdirSync,
67
+ C as removeSync,
68
+ v as statSync,
69
+ h as unlinkSync,
70
+ O as writeFileSync
63
71
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./fs.util.cjs");exports.appendFileSync=e.appendFileSync;exports.copySync=e.copySync;exports.createWriteStream=e.createWriteStream;exports.fs=e.fs;exports.lstatSync=e.lstatSync;exports.mkdirSync=e.mkdirSync;exports.pathExistsSync=e.pathExistsSync;exports.readFileSync=e.readFileSync;exports.readJsonSync=e.readJsonSync;exports.readdirSync=e.readdirSync;exports.removeSync=e.removeSync;exports.statSync=e.statSync;exports.unlinkSync=e.unlinkSync;exports.writeFileSync=e.writeFileSync;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./fs.util.cjs");exports.addGitIgnoreEntry=e.addGitIgnoreEntry;exports.appendFileSync=e.appendFileSync;exports.copySync=e.copySync;exports.createWriteStream=e.createWriteStream;exports.fs=e.fs;exports.lstatSync=e.lstatSync;exports.mkdirSync=e.mkdirSync;exports.pathExistsSync=e.pathExistsSync;exports.readFileSync=e.readFileSync;exports.readJsonSync=e.readJsonSync;exports.readdirSync=e.readdirSync;exports.removeSync=e.removeSync;exports.statSync=e.statSync;exports.unlinkSync=e.unlinkSync;exports.writeFileSync=e.writeFileSync;
@@ -1,17 +1,18 @@
1
- import { appendFileSync as c, copySync as y, createWriteStream as S, fs as r, lstatSync as t, mkdirSync as a, pathExistsSync as i, readFileSync as d, readJsonSync as s, readdirSync as l, removeSync as o, statSync as p, unlinkSync as m, writeFileSync as F } from "./fs.util.js";
1
+ import { addGitIgnoreEntry as c, appendFileSync as r, copySync as y, createWriteStream as t, fs as S, lstatSync as a, mkdirSync as i, pathExistsSync as d, readFileSync as o, readJsonSync as s, readdirSync as l, removeSync as p, statSync as m, unlinkSync as F, writeFileSync as f } from "./fs.util.js";
2
2
  export {
3
- c as appendFileSync,
3
+ c as addGitIgnoreEntry,
4
+ r as appendFileSync,
4
5
  y as copySync,
5
- S as createWriteStream,
6
- r as fs,
7
- t as lstatSync,
8
- a as mkdirSync,
9
- i as pathExistsSync,
10
- d as readFileSync,
6
+ t as createWriteStream,
7
+ S as fs,
8
+ a as lstatSync,
9
+ i as mkdirSync,
10
+ d as pathExistsSync,
11
+ o as readFileSync,
11
12
  s as readJsonSync,
12
13
  l as readdirSync,
13
- o as removeSync,
14
- p as statSync,
15
- m as unlinkSync,
16
- F as writeFileSync
14
+ p as removeSync,
15
+ m as statSync,
16
+ F as unlinkSync,
17
+ f as writeFileSync
17
18
  };
@@ -1,12 +1,12 @@
1
- import { Db as o, Collection as s } from "mongodb";
1
+ import { Collection as o, Db as s } from "mongodb";
2
2
  import { Document as t, Model as l } from "mongoose";
3
- class d extends o {
3
+ class d extends s {
4
4
  }
5
5
  class m extends t {
6
6
  }
7
7
  class C extends l {
8
8
  }
9
- class r extends s {
9
+ class r extends o {
10
10
  }
11
11
  export {
12
12
  r as C_Collection,
@@ -1,5 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("migrate-mongo"),U=require("mongoose-aggregate-paginate-v2"),k=require("mongoose-paginate-v2"),$=require("node:crypto"),F=require("../../util/object/object.util.cjs"),B=require("../../util/common/common.util.cjs"),E=require("../fs/fs.util.cjs"),w=require("../path/path.constant.cjs"),H=require("../../util/validate/validate.util.cjs");var J=Object.defineProperty,K=Object.defineProperties,L=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertySymbols,M=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,D=(t,i,e)=>i in t?J(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e,Q=(t,i)=>{for(var e in i||(i={}))M.call(i,e)&&D(t,e,i[e]);if(q)for(var e of q(i))z.call(i,e)&&D(t,e,i[e]);return t},W=(t,i)=>K(t,L(i)),R=(t,i,e)=>new Promise((o,r)=>{var n=s=>{try{y(e.next(s))}catch(h){r(h)}},l=s=>{try{y(e.throw(s))}catch(h){r(h)}},y=s=>s.done?o(s.value):Promise.resolve(s.value).then(n,l);y((e=e.apply(t,i)).next())});function P(t){return t===t.toUpperCase()?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t}const I={createGenericFields(){return{id:$.randomUUID(),isDel:!1,createdAt:new Date,updatedAt:new Date}},applyPlugins(t,i){i.filter(e=>typeof e=="function").forEach(e=>t.plugin(e))},applyMiddlewares(t,i){i.forEach(({method:e,pre:o,post:r})=>{e&&o&&t.pre(e,o),e&&r&&t.post(e,r)})},createGenericSchema(t){return new t.Schema({id:{type:String,default:()=>$.randomUUID(),unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema({mongoose:t,schema:i,virtuals:e=[],standalone:o=!1}){const r=new t.Schema(i,{toJSON:{virtuals:!0},toObject:{virtuals:!0}});return e.forEach(({name:n,options:l,get:y})=>{if(I.isDynamicVirtual(l)){const s=r.statics;s._dynamicVirtuals||(s._dynamicVirtuals=[]),s._dynamicVirtuals.push({name:n,options:l});const h=r.virtual(n);y?h.get(y):h.get(function(){var u;return((u=this._populated)==null?void 0:u[n])||(l!=null&&l.count?0:l!=null&&l.justOne?null:[])})}else{const s=r.virtual(n,l);y&&s.get(y)}}),o||r.add(I.createGenericSchema(t)),r},createModel({mongoose:t,name:i,schema:e,virtuals:o=[],pagination:r=!0,aggregate:n=!0,middlewares:l=[]}){if(!i)throw new Error("Model name is required.");if(t.models[i])return t.models[i];const y=I.createSchema({mongoose:t,schema:e,virtuals:o});(r||n)&&I.applyPlugins(y,[r&&k,n&&U]),I.applyMiddlewares(y,l);const s=t.model(i,y);return o.length>0&&(s._virtualConfigs=o),s},validator:{isRequired(){return function(t){return R(this,null,function*(){return!H.validate.isEmpty(t)})}},isUnique(t){return function(i){return R(this,null,function*(){if(!Array.isArray(t)||t.length===0)throw new Error("Fields must be a non-empty array of strings.");const e={$or:t.map(r=>({[r]:i}))};return!(yield this.constructor.exists(e))})}},matchesRegex(t){return i=>R(null,null,function*(){if(!Array.isArray(t)||t.some(e=>!(e instanceof RegExp)))throw new Error("regexArray must be an array of valid RegExp objects.");return t.every(e=>e.test(i))})}},migrate:W(Q({},T),{setConfig:t=>{const i=`// This file is automatically generated by the Cyberskill CLI.
2
- module.exports = ${JSON.stringify(t,null,4)}`;E.writeFileSync(w.PATH.MIGRATE_MONGO_CONFIG,i);const e=`
3
- ${w.MIGRATE_MONGO_CONFIG}
4
- `;E.pathExistsSync(w.PATH.GIT_IGNORE)?E.readFileSync(w.PATH.GIT_IGNORE,"utf-8").split(`
5
- `).includes(w.MIGRATE_MONGO_CONFIG)||E.appendFileSync(w.PATH.GIT_IGNORE,e):E.writeFileSync(w.PATH.GIT_IGNORE,e)}}),regexify(t,i){if(!t)return{};let e=F.deepClone(t);if(!i||i.length===0)return e;for(const o of i){const r=o.toString().split("."),n=F.getNestedValue(e,r);if(typeof n=="string"&&n.length>0){const l={$regex:`.*${B.regexSearchMapper(n)}.*`,$options:"i"};e=F.setNestedValue(e,r,l)}}return e},isDynamicVirtual(t){return!!(t&&typeof t.ref=="function")},getNewRecords(t,i,e){return R(this,null,function*(){const o=yield t.findAll({});return o.success?i.filter(n=>!o.result.some(l=>e(l,n))):i})},getExistingRecords(t,i,e){return R(this,null,function*(){const o=yield t.findAll({});return o.success?o.result.filter(n=>i.some(l=>e(n,l))):[]})}};function x(t,i,e,o,r){return R(this,null,function*(){if(!i.length||!e)return i;const n=Array.isArray(e)?e:[e];for(const l of n)typeof l=="string"?yield C(t,i,l,o,r):l&&typeof l=="object"&&(yield X(t,i,l,o,r));return i})}function C(t,i,e,o,r){return R(this,null,function*(){var n,l,y,s;const h=e.split(".");if(h.length<2){for(const m of i)yield V(t,m,e,o,void 0,r);return}const u=h[0];if(!u||u.trim()==="")return;const S=h.slice(1).join(".");for(const m of i){const N=m,O=N[u];if(O&&typeof O=="object"){let c=r;const a=c;if(r&&r.schema&&r.schema.virtuals){const f=r.schema.virtuals[u];if(f&&f.options&&f.options.ref){let g;if(typeof f.options.ref=="function"?g=f.options.ref(N):typeof f.options.ref=="string"&&(g=f.options.ref),g){const p=P(g);t.models[p]&&(c=t.models[p])}}}if(!c){const f=(l=(n=r==null?void 0:r.schema)==null?void 0:n.statics)!=null?l:{},p=((r==null?void 0:r._virtualConfigs)||f._dynamicVirtuals||[]).find(d=>d.name===u);if(p&&p.options&&p.options.ref){let d;if(typeof p.options.ref=="function"?d=p.options.ref(N):typeof p.options.ref=="string"&&(d=p.options.ref),d){const b=P(d);t.models[b]&&(c=t.models[b])}}}if(c===a){const f=(s=(y=r==null?void 0:r.schema)==null?void 0:y.statics)!=null?s:{},p=((r==null?void 0:r._virtualConfigs)||f._dynamicVirtuals||[]).find(d=>d.name===u);if(p&&p.options&&p.options.ref){let d;if(typeof p.options.ref=="function"?d=p.options.ref(N):typeof p.options.ref=="string"&&(d=p.options.ref),d){const b=P(d);t.models[b]&&(c=t.models[b])}}}if(Array.isArray(O))for(const f of O)f&&typeof f=="object"&&(yield V(t,f,S,o,u,c));else O&&typeof O=="object"&&(yield V(t,O,S,o,u,c))}}})}function X(t,i,e,o,r){return R(this,null,function*(){const{path:n,populate:l}=e;if(!n)return;if(!l){yield C(t,i,n,o,r);return}const y=n;for(const s of i){const h=s,u=h[y];let S=r;if(r&&r.schema&&r.schema.virtuals){const m=r.schema.virtuals[y];if(m&&m.options&&m.options.ref){let N;if(typeof m.options.ref=="function"?N=m.options.ref(h):typeof m.options.ref=="string"&&(N=m.options.ref),N){const O=P(N);t.models[O]&&(S=t.models[O])}}}if(!S&&typeof u=="object"&&u&&"entityType"in u){const m=P(String(u.entityType));t.models[m]&&(S=t.models[m])}if(u&&typeof u=="object")if(Array.isArray(u))for(const m of u)m&&typeof m=="object"&&(yield x(t,[m],l,o,S));else u&&typeof u=="object"&&(yield x(t,[u],l,o,S))}})}function G(t,i,e,o){if(!e||!i||!i.schema)return;const r=e.split(".");let n=i.schema;for(let l=0;l<r.length;l++){const y=r[l];if(n&&n.virtuals&&y){const s=n.virtuals[y];if(s&&s.options&&s.options.ref){let h;if(typeof s.options.ref=="function"?h=s.options.ref(o):typeof s.options.ref=="string"&&(h=s.options.ref),h&&typeof h=="string"){if(l===r.length-1)return h;const u=t.models[h];if(u&&u.schema){n=u.schema;continue}}}}if(n&&n.paths&&y){const s=n.paths[y];if(s&&s.schema){n=s.schema;continue}}return}}function Y(t,i){if(i)for(const e of Object.keys(t.models)){const o=t.models[e],r=o==null?void 0:o.schema;if(r&&(r.paths&&r.paths[i]||r.virtuals&&r.virtuals[i]))return o}}function Z(t,i){const e=(i||"").split(".")[0]||"";if(e)for(const o of Object.keys(t.models)){const r=t.models[o],n=r==null?void 0:r.schema;if(n&&(n.paths&&n.paths[e]||n.virtuals&&n.virtuals[e]))return r}}function V(t,i,e,o,r,n){return R(this,null,function*(){var l,y;let s=i.__t;if(!s){if(n){const c=r?`${r}.${e}`:e,a=(c||"").split(".")[0]||"";let f=n;if(!!!((l=f==null?void 0:f.schema)!=null&&l.paths&&f.schema.paths[a]||(y=f==null?void 0:f.schema)!=null&&y.virtuals&&f.schema.virtuals[a])){const d=Z(t,c);d&&(f=d)}const p=G(t,f,c,i);if(p)s=p;else{const d=(c.includes(".")?c.split(".").pop():c)||"";if(d){const b=Y(t,d);if(b){const j=G(t,b,c,i);j&&(s=j)}}}}if(o&&o.length>0){const c=e.split(".").pop()||"",a=o.find(f=>f.name===c);if(a&&a.options.ref){let f;typeof a.options.ref=="function"?f=a.options.ref(i):typeof a.options.ref=="string"&&(f=a.options.ref),f&&typeof f=="string"&&(s=f)}}if(!s){for(const[c,a]of Object.entries(i))if(c==="entityType"&&typeof a=="string"){s=a;break}if(s&&t.models[s]){const c=t.models[s];if(c&&c.schema){const a=c.schema,f=e.split(".").pop()||"",g=(d,b="root")=>{if(!d||!d.virtuals)return;const j=d.virtuals;for(const _ of Object.keys(j))if(_===f){const v=j[_];if(v&&v.options&&v.options.ref){let A;if(typeof v.options.ref=="function"?A=v.options.ref(i):typeof v.options.ref=="string"&&(A=v.options.ref),A&&typeof A=="string")return A}}if(d.paths)for(const _ of Object.keys(d.paths)){const v=d.paths[_];if(v&&v.schema){const A=g(v.schema,`${b}.${_}`);if(A)return A}}},p=g(a);p&&(s=p)}}}if(!s){const c=e.split(".").pop()||"";if(n&&n.schema){const a=n.schema,f=(p,d="root")=>{if(!p||!p.virtuals)return;const b=p.virtuals;for(const j of Object.keys(b))if(j===c){const _=b[j];if(_&&_.options&&_.options.ref){let v;if(typeof _.options.ref=="function"?v=_.options.ref(i):typeof _.options.ref=="string"&&(v=_.options.ref),v&&typeof v=="string")return v}}if(p.paths)for(const j of Object.keys(p.paths)){const _=p.paths[j];if(_&&_.schema){const v=f(_.schema,`${d}.${j}`);if(v)return v}}},g=f(a);g&&(s=g)}if(!s&&n){const a=G(t,n,e,i);a&&(s=a)}if(!s&&o&&o.length>0){const a=o.find(f=>f.name===c);if(a&&a.options.ref){let f;typeof a.options.ref=="function"?f=a.options.ref(i):typeof a.options.ref=="string"&&(f=a.options.ref),f&&typeof f=="string"&&(s=f)}}}if(!s){const c=e.split(".").pop()||"",a=c?c.charAt(0).toUpperCase()+c.slice(1):"";a&&t.models[a]&&(s=a)}}const h=t.models[s];if(!h)return;const u=`${e}Id`,S=`${e}Ids`,m=i[u]||i[S]||i[e];if(!m)return;const N=Array.isArray(m)?m:[m],O=yield h.find({id:{$in:N}}).lean();O.length>0&&(Array.isArray(m)?i[e]=O:i[e]=O[0])})}exports.applyNestedPopulate=x;exports.convertEnumToModelName=P;exports.mongo=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("migrate-mongo"),k=require("mongoose-aggregate-paginate-v2"),B=require("mongoose-paginate-v2"),q=require("node:crypto"),E=require("../../util/object/object.util.cjs"),J=require("../../util/common/common.util.cjs"),$=require("../fs/fs.util.cjs"),I=require("../path/path.constant.cjs"),H=require("../../util/validate/validate.util.cjs");var K=Object.defineProperty,L=Object.defineProperties,T=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,G=(t,e,i)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,W=(t,e)=>{for(var i in e||(e={}))z.call(e,i)&&G(t,i,e[i]);if(D)for(var i of D(e))Q.call(e,i)&&G(t,i,e[i]);return t},X=(t,e)=>L(t,T(e)),R=(t,e,i)=>new Promise((o,r)=>{var n=s=>{try{y(i.next(s))}catch(h){r(h)}},l=s=>{try{y(i.throw(s))}catch(h){r(h)}},y=s=>s.done?o(s.value):Promise.resolve(s.value).then(n,l);y((i=i.apply(t,e)).next())});function P(t){return t===t.toUpperCase()?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t}const A={createGenericFields(){return{id:q.randomUUID(),isDel:!1,createdAt:new Date,updatedAt:new Date}},applyPlugins(t,e){e.filter(i=>typeof i=="function").forEach(i=>t.plugin(i))},applyMiddlewares(t,e){e.forEach(({method:i,pre:o,post:r})=>{i&&o&&t.pre(i,o),i&&r&&t.post(i,r)})},createGenericSchema(t){return new t.Schema({id:{type:String,default:()=>q.randomUUID(),unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema({mongoose:t,schema:e,virtuals:i=[],standalone:o=!1}){const r=new t.Schema(e,{toJSON:{virtuals:!0},toObject:{virtuals:!0}});return i.forEach(({name:n,options:l,get:y})=>{if(A.isDynamicVirtual(l)){const s=r.statics;s._dynamicVirtuals||(s._dynamicVirtuals=[]),s._dynamicVirtuals.push({name:n,options:l});const h=r.virtual(n);y?h.get(y):h.get(function(){var u;return((u=this._populated)==null?void 0:u[n])||(l!=null&&l.count?0:l!=null&&l.justOne?null:[])})}else{const s=r.virtual(n,l);y&&s.get(y)}}),o||r.add(A.createGenericSchema(t)),r},createModel({mongoose:t,name:e,schema:i,virtuals:o=[],pagination:r=!0,aggregate:n=!0,middlewares:l=[]}){if(!e)throw new Error("Model name is required.");if(t.models[e])return t.models[e];const y=A.createSchema({mongoose:t,schema:i,virtuals:o});(r||n)&&A.applyPlugins(y,[r&&B,n&&k]),A.applyMiddlewares(y,l);const s=t.model(e,y);return o.length>0&&(s._virtualConfigs=o),s},validator:{isRequired(){return function(t){return R(this,null,function*(){return!H.validate.isEmpty(t)})}},isUnique(t){return function(e){return R(this,null,function*(){if(!Array.isArray(t)||t.length===0)throw new Error("Fields must be a non-empty array of strings.");const i={$or:t.map(r=>({[r]:e}))};return!(yield this.constructor.exists(i))})}},matchesRegex(t){return e=>R(null,null,function*(){if(!Array.isArray(t)||t.some(i=>!(i instanceof RegExp)))throw new Error("regexArray must be an array of valid RegExp objects.");return t.every(i=>i.test(e))})}},migrate:X(W({},C),{setConfig:t=>{const e=`// This file is automatically generated by the Cyberskill CLI.
2
+ module.exports = ${JSON.stringify(t,null,4)}`;$.writeFileSync(I.PATH.MIGRATE_MONGO_CONFIG,e),$.addGitIgnoreEntry(I.PATH.GIT_IGNORE,I.MIGRATE_MONGO_CONFIG)}}),regexify(t,e){if(!t)return{};let i=E.deepClone(t);if(!e||e.length===0)return i;for(const o of e){const r=o.toString().split("."),n=E.getNestedValue(i,r);if(typeof n=="string"&&n.length>0){const l={$regex:`.*${J.regexSearchMapper(n)}.*`,$options:"i"};i=E.setNestedValue(i,r,l)}}return i},isDynamicVirtual(t){return!!(t&&typeof t.ref=="function")},getNewRecords(t,e,i){return R(this,null,function*(){const o=yield t.findAll({});return o.success?e.filter(n=>!o.result.some(l=>i(l,n))):e})},getExistingRecords(t,e,i){return R(this,null,function*(){const o=yield t.findAll({});return o.success?o.result.filter(n=>e.some(l=>i(n,l))):[]})}};function x(t,e,i,o,r){return R(this,null,function*(){if(!e.length||!i)return e;const n=Array.isArray(i)?i:[i];for(const l of n)typeof l=="string"?yield U(t,e,l,o,r):l&&typeof l=="object"&&(yield Y(t,e,l,o,r));return e})}function U(t,e,i,o,r){return R(this,null,function*(){var n,l,y,s;const h=i.split(".");if(h.length<2){for(const m of e)yield V(t,m,i,o,void 0,r);return}const u=h[0];if(!u||u.trim()==="")return;const S=h.slice(1).join(".");for(const m of e){const j=m,b=j[u];if(b&&typeof b=="object"){let c=r;const a=c;if(r&&r.schema&&r.schema.virtuals){const f=r.schema.virtuals[u];if(f&&f.options&&f.options.ref){let O;if(typeof f.options.ref=="function"?O=f.options.ref(j):typeof f.options.ref=="string"&&(O=f.options.ref),O){const p=P(O);t.models[p]&&(c=t.models[p])}}}if(!c){const f=(l=(n=r==null?void 0:r.schema)==null?void 0:n.statics)!=null?l:{},p=((r==null?void 0:r._virtualConfigs)||f._dynamicVirtuals||[]).find(d=>d.name===u);if(p&&p.options&&p.options.ref){let d;if(typeof p.options.ref=="function"?d=p.options.ref(j):typeof p.options.ref=="string"&&(d=p.options.ref),d){const g=P(d);t.models[g]&&(c=t.models[g])}}}if(c===a){const f=(s=(y=r==null?void 0:r.schema)==null?void 0:y.statics)!=null?s:{},p=((r==null?void 0:r._virtualConfigs)||f._dynamicVirtuals||[]).find(d=>d.name===u);if(p&&p.options&&p.options.ref){let d;if(typeof p.options.ref=="function"?d=p.options.ref(j):typeof p.options.ref=="string"&&(d=p.options.ref),d){const g=P(d);t.models[g]&&(c=t.models[g])}}}if(Array.isArray(b))for(const f of b)f&&typeof f=="object"&&(yield V(t,f,S,o,u,c));else b&&typeof b=="object"&&(yield V(t,b,S,o,u,c))}}})}function Y(t,e,i,o,r){return R(this,null,function*(){const{path:n,populate:l}=i;if(!n)return;if(!l){yield U(t,e,n,o,r);return}const y=n;for(const s of e){const h=s,u=h[y];let S=r;if(r&&r.schema&&r.schema.virtuals){const m=r.schema.virtuals[y];if(m&&m.options&&m.options.ref){let j;if(typeof m.options.ref=="function"?j=m.options.ref(h):typeof m.options.ref=="string"&&(j=m.options.ref),j){const b=P(j);t.models[b]&&(S=t.models[b])}}}if(!S&&typeof u=="object"&&u&&"entityType"in u){const m=P(String(u.entityType));t.models[m]&&(S=t.models[m])}if(u&&typeof u=="object")if(Array.isArray(u))for(const m of u)m&&typeof m=="object"&&(yield x(t,[m],l,o,S));else u&&typeof u=="object"&&(yield x(t,[u],l,o,S))}})}function F(t,e,i,o){if(!i||!e||!e.schema)return;const r=i.split(".");let n=e.schema;for(let l=0;l<r.length;l++){const y=r[l];if(n&&n.virtuals&&y){const s=n.virtuals[y];if(s&&s.options&&s.options.ref){let h;if(typeof s.options.ref=="function"?h=s.options.ref(o):typeof s.options.ref=="string"&&(h=s.options.ref),h&&typeof h=="string"){if(l===r.length-1)return h;const u=t.models[h];if(u&&u.schema){n=u.schema;continue}}}}if(n&&n.paths&&y){const s=n.paths[y];if(s&&s.schema){n=s.schema;continue}}return}}function Z(t,e){if(e)for(const i of Object.keys(t.models)){const o=t.models[i],r=o==null?void 0:o.schema;if(r&&(r.paths&&r.paths[e]||r.virtuals&&r.virtuals[e]))return o}}function M(t,e){const i=(e||"").split(".")[0]||"";if(i)for(const o of Object.keys(t.models)){const r=t.models[o],n=r==null?void 0:r.schema;if(n&&(n.paths&&n.paths[i]||n.virtuals&&n.virtuals[i]))return r}}function V(t,e,i,o,r,n){return R(this,null,function*(){var l,y;let s=e.__t;if(!s){if(n){const c=r?`${r}.${i}`:i,a=(c||"").split(".")[0]||"";let f=n;if(!!!((l=f==null?void 0:f.schema)!=null&&l.paths&&f.schema.paths[a]||(y=f==null?void 0:f.schema)!=null&&y.virtuals&&f.schema.virtuals[a])){const d=M(t,c);d&&(f=d)}const p=F(t,f,c,e);if(p)s=p;else{const d=(c.includes(".")?c.split(".").pop():c)||"";if(d){const g=Z(t,d);if(g){const N=F(t,g,c,e);N&&(s=N)}}}}if(o&&o.length>0){const c=i.split(".").pop()||"",a=o.find(f=>f.name===c);if(a&&a.options.ref){let f;typeof a.options.ref=="function"?f=a.options.ref(e):typeof a.options.ref=="string"&&(f=a.options.ref),f&&typeof f=="string"&&(s=f)}}if(!s){for(const[c,a]of Object.entries(e))if(c==="entityType"&&typeof a=="string"){s=a;break}if(s&&t.models[s]){const c=t.models[s];if(c&&c.schema){const a=c.schema,f=i.split(".").pop()||"",O=(d,g="root")=>{if(!d||!d.virtuals)return;const N=d.virtuals;for(const _ of Object.keys(N))if(_===f){const v=N[_];if(v&&v.options&&v.options.ref){let w;if(typeof v.options.ref=="function"?w=v.options.ref(e):typeof v.options.ref=="string"&&(w=v.options.ref),w&&typeof w=="string")return w}}if(d.paths)for(const _ of Object.keys(d.paths)){const v=d.paths[_];if(v&&v.schema){const w=O(v.schema,`${g}.${_}`);if(w)return w}}},p=O(a);p&&(s=p)}}}if(!s){const c=i.split(".").pop()||"";if(n&&n.schema){const a=n.schema,f=(p,d="root")=>{if(!p||!p.virtuals)return;const g=p.virtuals;for(const N of Object.keys(g))if(N===c){const _=g[N];if(_&&_.options&&_.options.ref){let v;if(typeof _.options.ref=="function"?v=_.options.ref(e):typeof _.options.ref=="string"&&(v=_.options.ref),v&&typeof v=="string")return v}}if(p.paths)for(const N of Object.keys(p.paths)){const _=p.paths[N];if(_&&_.schema){const v=f(_.schema,`${d}.${N}`);if(v)return v}}},O=f(a);O&&(s=O)}if(!s&&n){const a=F(t,n,i,e);a&&(s=a)}if(!s&&o&&o.length>0){const a=o.find(f=>f.name===c);if(a&&a.options.ref){let f;typeof a.options.ref=="function"?f=a.options.ref(e):typeof a.options.ref=="string"&&(f=a.options.ref),f&&typeof f=="string"&&(s=f)}}}if(!s){const c=i.split(".").pop()||"",a=c?c.charAt(0).toUpperCase()+c.slice(1):"";a&&t.models[a]&&(s=a)}}const h=t.models[s];if(!h)return;const u=`${i}Id`,S=`${i}Ids`,m=e[u]||e[S]||e[i];if(!m)return;const j=Array.isArray(m)?m:[m],b=yield h.find({id:{$in:j}}).lean();b.length>0&&(Array.isArray(m)?e[i]=b:e[i]=b[0])})}exports.applyNestedPopulate=x;exports.convertEnumToModelName=P;exports.mongo=A;