gemi 0.13.2 → 0.13.3

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 (87) hide show
  1. package/dist/app/index.js +2 -272
  2. package/dist/app/index.js.map +4 -6
  3. package/dist/app/prismaExtension.d.ts +1 -5
  4. package/dist/app/prismaExtension.d.ts.map +1 -1
  5. package/dist/broadcasting/index.js +1 -1
  6. package/dist/{chunk-qcr71k85.js → chunk-016fjpm4.js} +2 -2
  7. package/dist/{chunk-qcr71k85.js.map → chunk-016fjpm4.js.map} +1 -1
  8. package/dist/{chunk-6kfbsmxx.js → chunk-1715jezx.js} +2 -2
  9. package/dist/{chunk-6kfbsmxx.js.map → chunk-1715jezx.js.map} +1 -1
  10. package/dist/{chunk-svh4hjg3.js → chunk-1ambdj5q.js} +2 -2
  11. package/dist/{chunk-svh4hjg3.js.map → chunk-1ambdj5q.js.map} +1 -1
  12. package/dist/{chunk-jwebzy40.js → chunk-2jsyd1d9.js} +2 -2
  13. package/dist/{chunk-jwebzy40.js.map → chunk-2jsyd1d9.js.map} +1 -1
  14. package/dist/chunk-3yzmg8gh.js +4 -0
  15. package/dist/{chunk-wewz52mc.js.map → chunk-3yzmg8gh.js.map} +7 -4
  16. package/dist/{chunk-acfdk70y.js → chunk-4yh8p5h0.js} +3 -3
  17. package/dist/{chunk-acfdk70y.js.map → chunk-4yh8p5h0.js.map} +1 -1
  18. package/dist/{chunk-tyv9h73f.js → chunk-5h8f3p6p.js} +3 -3
  19. package/dist/{chunk-tyv9h73f.js.map → chunk-5h8f3p6p.js.map} +1 -1
  20. package/dist/{chunk-0vq2p4bq.js → chunk-8czq49sy.js} +2 -2
  21. package/dist/{chunk-0vq2p4bq.js.map → chunk-8czq49sy.js.map} +5 -5
  22. package/dist/{chunk-5q5qjyxf.js → chunk-946x83cd.js} +2 -2
  23. package/dist/{chunk-5q5qjyxf.js.map → chunk-946x83cd.js.map} +1 -1
  24. package/dist/{chunk-tw3t6x2n.js → chunk-9d8bt9fg.js} +3 -3
  25. package/dist/{chunk-tw3t6x2n.js.map → chunk-9d8bt9fg.js.map} +1 -1
  26. package/dist/{chunk-0mfpz0sr.js → chunk-9khdm7dc.js} +2 -2
  27. package/dist/{chunk-0mfpz0sr.js.map → chunk-9khdm7dc.js.map} +1 -1
  28. package/dist/{chunk-0wa1m3yq.js → chunk-9n24vx5g.js} +3 -3
  29. package/dist/{chunk-0wa1m3yq.js.map → chunk-9n24vx5g.js.map} +1 -1
  30. package/dist/{chunk-wbg45cdc.js → chunk-b1gefp3p.js} +2 -2
  31. package/dist/{chunk-wbg45cdc.js.map → chunk-b1gefp3p.js.map} +1 -1
  32. package/dist/{chunk-0wr6m6f4.js → chunk-b6bvweyq.js} +3 -3
  33. package/dist/{chunk-0wr6m6f4.js.map → chunk-b6bvweyq.js.map} +1 -1
  34. package/dist/{chunk-9aswnsye.js → chunk-cvxxee1w.js} +2 -2
  35. package/dist/{chunk-9aswnsye.js.map → chunk-cvxxee1w.js.map} +1 -1
  36. package/dist/{chunk-jn8jhrkd.js → chunk-f3t8bn6m.js} +2 -2
  37. package/dist/{chunk-jn8jhrkd.js.map → chunk-f3t8bn6m.js.map} +1 -1
  38. package/dist/{chunk-fe1gn043.js → chunk-fgafrjxy.js} +2 -2
  39. package/dist/{chunk-fe1gn043.js.map → chunk-fgafrjxy.js.map} +1 -1
  40. package/dist/{chunk-m2p40y0k.js → chunk-fkmp9894.js} +2 -2
  41. package/dist/{chunk-m2p40y0k.js.map → chunk-fkmp9894.js.map} +1 -1
  42. package/dist/{chunk-jxftkhsd.js → chunk-grzfxg62.js} +2 -2
  43. package/dist/{chunk-jxftkhsd.js.map → chunk-grzfxg62.js.map} +1 -1
  44. package/dist/{chunk-rre72epn.js → chunk-hh9hfct5.js} +3 -3
  45. package/dist/{chunk-rre72epn.js.map → chunk-hh9hfct5.js.map} +1 -1
  46. package/dist/{chunk-67ytmbmn.js → chunk-jme4caj2.js} +3 -3
  47. package/dist/{chunk-67ytmbmn.js.map → chunk-jme4caj2.js.map} +1 -1
  48. package/dist/chunk-ny36ys64.js +4 -0
  49. package/dist/{chunk-3q85w7aa.js.map → chunk-ny36ys64.js.map} +1 -1
  50. package/dist/chunk-p7s41mxq.js +4 -0
  51. package/dist/{chunk-6pwjkfk5.js.map → chunk-p7s41mxq.js.map} +1 -1
  52. package/dist/{chunk-4e18rqet.js → chunk-qrz4g7q0.js} +2 -2
  53. package/dist/{chunk-4e18rqet.js.map → chunk-qrz4g7q0.js.map} +1 -1
  54. package/dist/{chunk-cgh2sw3g.js → chunk-rwkjg2qn.js} +2 -2
  55. package/dist/{chunk-cgh2sw3g.js.map → chunk-rwkjg2qn.js.map} +1 -1
  56. package/dist/{chunk-68kvbrqd.js → chunk-thfv9s7s.js} +2 -2
  57. package/dist/{chunk-68kvbrqd.js.map → chunk-thfv9s7s.js.map} +1 -1
  58. package/dist/{chunk-95b1a8cw.js → chunk-ty7yh4d4.js} +2 -2
  59. package/dist/{chunk-95b1a8cw.js.map → chunk-ty7yh4d4.js.map} +1 -1
  60. package/dist/{chunk-nxrhps23.js → chunk-vjym5jdx.js} +2 -2
  61. package/dist/{chunk-nxrhps23.js.map → chunk-vjym5jdx.js.map} +1 -1
  62. package/dist/{chunk-pvxzx61f.js → chunk-wp91ggkr.js} +3 -3
  63. package/dist/{chunk-pvxzx61f.js.map → chunk-wp91ggkr.js.map} +1 -1
  64. package/dist/{chunk-3nzz6kqw.js → chunk-wxb0n2fp.js} +2 -2
  65. package/dist/{chunk-3nzz6kqw.js.map → chunk-wxb0n2fp.js.map} +1 -1
  66. package/dist/{chunk-6fy0y9na.js → chunk-y8ggk3r3.js} +2 -2
  67. package/dist/{chunk-6fy0y9na.js.map → chunk-y8ggk3r3.js.map} +1 -1
  68. package/dist/{chunk-yvrp97kk.js → chunk-zja5jcxt.js} +3 -3
  69. package/dist/{chunk-yvrp97kk.js.map → chunk-zja5jcxt.js.map} +1 -1
  70. package/dist/{chunk-00q77h4a.js → chunk-zt3j8zag.js} +2 -2
  71. package/dist/{chunk-00q77h4a.js.map → chunk-zt3j8zag.js.map} +1 -1
  72. package/dist/email/index.js +1 -1
  73. package/dist/facades/index.js +2 -2
  74. package/dist/facades/index.js.map +1 -1
  75. package/dist/http/index.js +2 -2
  76. package/dist/http/index.js.map +1 -1
  77. package/dist/i18n/index.js +1 -1
  78. package/dist/kernel/index.js +2 -2
  79. package/dist/kernel/index.js.map +1 -1
  80. package/dist/server/index.js +2 -2
  81. package/dist/server/index.js.map +1 -1
  82. package/dist/services/index.js +62 -73
  83. package/dist/services/index.js.map +5 -17
  84. package/package.json +3 -3
  85. package/dist/chunk-3q85w7aa.js +0 -4
  86. package/dist/chunk-6pwjkfk5.js +0 -4
  87. package/dist/chunk-wewz52mc.js +0 -3
@@ -1,4 +1,4 @@
1
- import{xc as E}from"./chunk-nxrhps23.js";function G(){let q=process.env.APP_DIR,y=`${process.env.ROOT_DIR}/dist/server/bootstrap.mjs`,z=new File([`
1
+ import{yc as E}from"./chunk-vjym5jdx.js";function G(){let q=process.env.APP_DIR,y=`${process.env.ROOT_DIR}/dist/server/bootstrap.mjs`,z=new File([`
2
2
  import { app } from "${y}"
3
3
  self.onmessage = async (event) => {
4
4
  const clone = app.clone()
@@ -17,6 +17,6 @@ import{xc as E}from"./chunk-nxrhps23.js";function G(){let q=process.env.APP_DIR,
17
17
  }
18
18
  };
19
19
  `],"worker.ts"),A=URL.createObjectURL(z);return new Worker(A)}async function H(q,x){let y=G();return y.postMessage({jobName:q,args:x}),await new Promise((z,A)=>{y.onmessage=(F)=>{let B=F.data;if("error"in B)A(B.error);else z(B.result)}})}class K extends E{service;static _name="QueueServiceContainer";queue=new Set;activeRunningJobsCount=0;isRunning=!1;jobs={};constructor(q){super();this.service=q;this.jobs=Object.fromEntries(this.service.jobs.map((x)=>[x.name,x]))}dispatchJob(q,x){if(this.jobs[q])return new this.jobs[q]().run(JSON.parse(x))}async next(){if(!this.isRunning)this.isRunning=!0;if(this.activeRunningJobsCount>=this.service.concurrency)return await new Promise((x)=>setTimeout(x,1000)),this.next();let q=this.queue.values().next().value;if(this.jobs[q?.class]){let{value:x}=this.queue.values().next();if(x)this.queue.delete(x);this.run(q)}if(this.queue.size===0){this.isRunning=!1;return}await this.next()}async run(q){let x=this.jobs[q.class],y=new x,z=JSON.parse(q.args);this.activeRunningJobsCount++;try{let A=await(y.worker?H(q.class,q.args):y.run(...z));y.onSuccess(A,...z)}catch(A){if(y.onFail(A,...z),q.retries>=y.maxAttempts-1)y.onDeadletter(A,...z);else this.push(x,q.args,q.retries+1)}this.activeRunningJobsCount--}push(q,x,y=0){if(this.queue.add({class:q.name,args:x,createdAt:Date.now(),retries:y}),!this.isRunning)this.next()}}
20
- export{K as pc};
20
+ export{K as qc};
21
21
 
22
- //# debugId=7DA8B7C43EECB50164756E2164756E21
22
+ //# debugId=30AE940AF005DF4E64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import { ServiceContainer } from \"../ServiceContainer\";\nimport { Job } from \"./Job\";\nimport { QueueServiceProvider } from \"./QueueServiceProvider\";\n\nfunction createWorker() {\n const APP_DIR = process.env.APP_DIR;\n const ROOT_DIR = process.env.ROOT_DIR;\n\n const appPath =\n process.env.NODE_ENV === \"production\"\n ? `${ROOT_DIR}/dist/server/bootstrap.mjs`\n : `${APP_DIR}/bootstrap.ts`;\n\n const file = new File(\n [\n `\n import { app } from \"${appPath}\"\n self.onmessage = async (event) => {\n const clone = app.clone()\n let result = null;\n let error = null;\n try {\n result = clone.dispatchJob(event.data.jobName, event.data.args)\n } catch (err) {\n error = err\n }\n clone.destroy()\n if(error) {\n self.postMessage({error});\n } else {\n self.postMessage({result});\n }\n };\n `,\n ],\n \"worker.ts\",\n );\n const url = URL.createObjectURL(file);\n return new Worker(url);\n}\n\n// TODO: terminate worker after the job is done\nasync function runInWorker(jobName: string, args: string) {\n const worker = createWorker();\n worker.postMessage({ jobName, args });\n return await new Promise((resolve, reject) => {\n worker.onmessage = (e) => {\n const data = e.data;\n if (\"error\" in data) {\n reject(data.error);\n } else {\n resolve(data.result);\n }\n };\n });\n}\n\ntype JobDefinition = {\n class: string;\n args: string;\n createdAt: number;\n retries: number;\n};\n\nexport class QueueServiceContainer extends ServiceContainer {\n static _name = \"QueueServiceContainer\";\n\n queue: Set<JobDefinition> = new Set();\n activeRunningJobsCount = 0;\n isRunning = false;\n jobs: Record<string, new () => Job> = {};\n\n constructor(public service: QueueServiceProvider) {\n super();\n this.jobs = Object.fromEntries(\n this.service.jobs.map((job) => [job.name, job]),\n );\n }\n\n dispatchJob(jobName: string, args: string) {\n if (this.jobs[jobName]) {\n const job = new this.jobs[jobName]();\n return job.run(JSON.parse(args));\n }\n }\n\n async next() {\n if (!this.isRunning) {\n this.isRunning = true;\n }\n\n if (this.activeRunningJobsCount >= this.service.concurrency) {\n await new Promise((resolve) => setTimeout(resolve, 1000));\n return this.next();\n }\n\n const jobDefinition = this.queue.values().next().value as JobDefinition;\n\n if (this.jobs[jobDefinition?.class]) {\n const { value } = this.queue.values().next();\n if (value) {\n this.queue.delete(value);\n }\n\n this.run(jobDefinition);\n }\n\n if (this.queue.size === 0) {\n this.isRunning = false;\n return;\n }\n\n await this.next();\n }\n\n private async run(jobDefinition: JobDefinition) {\n const Job = this.jobs[jobDefinition.class];\n const jobInstance = new Job();\n const args: any[] = JSON.parse(jobDefinition.args);\n\n this.activeRunningJobsCount++;\n\n try {\n const result = await (jobInstance.worker\n ? runInWorker(jobDefinition.class, jobDefinition.args)\n : jobInstance.run(...args));\n\n jobInstance.onSuccess(result, ...args);\n } catch (err) {\n jobInstance.onFail(err, ...args);\n if (jobDefinition.retries >= jobInstance.maxAttempts - 1) {\n jobInstance.onDeadletter(err, ...args);\n } else {\n this.push(Job, jobDefinition.args, jobDefinition.retries + 1);\n }\n }\n\n this.activeRunningJobsCount--;\n }\n\n push(job: new () => Job, args: string, retries = 0) {\n this.queue.add({\n class: job.name,\n args,\n createdAt: Date.now(),\n retries,\n });\n if (!this.isRunning) {\n this.next();\n }\n }\n}\n"
6
6
  ],
7
7
  "mappings": "yCAIA,SAAS,CAAY,EAAG,CACtB,IAAM,EAAU,QAAQ,IAAI,QAGtB,EAEA,GAJW,QAAQ,IAAI,qCAOvB,EAAO,IAAI,KACf,CACE;AAAA,6BACuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAkBzB,EACA,WACF,EACM,EAAM,IAAI,gBAAgB,CAAI,EACpC,OAAO,IAAI,OAAO,CAAG,EAIvB,eAAe,CAAW,CAAC,EAAiB,EAAc,CACxD,IAAM,EAAS,EAAa,EAE5B,OADA,EAAO,YAAY,CAAE,UAAS,MAAK,CAAC,EAC7B,MAAM,IAAI,QAAQ,CAAC,EAAS,IAAW,CAC5C,EAAO,UAAY,CAAC,IAAM,CACxB,IAAM,EAAO,EAAE,KACf,GAAI,UAAW,EACb,EAAO,EAAK,KAAK,EAEjB,OAAQ,EAAK,MAAM,GAGxB,EAUI,MAAM,UAA8B,CAAiB,CAQvC,cAPZ,OAAQ,wBAEf,MAA4B,IAAI,IAChC,uBAAyB,EACzB,UAAY,GACZ,KAAsC,CAAC,EAEvC,WAAW,CAAQ,EAA+B,CAChD,MAAM,EADW,eAEjB,KAAK,KAAO,OAAO,YACjB,KAAK,QAAQ,KAAK,IAAI,CAAC,IAAQ,CAAC,EAAI,KAAM,CAAG,CAAC,CAChD,EAGF,WAAW,CAAC,EAAiB,EAAc,CACzC,GAAI,KAAK,KAAK,GAEZ,OADY,IAAI,KAAK,KAAK,GAAS,EACxB,IAAI,KAAK,MAAM,CAAI,CAAC,OAI7B,KAAI,EAAG,CACX,IAAK,KAAK,UACR,KAAK,UAAY,GAGnB,GAAI,KAAK,wBAA0B,KAAK,QAAQ,YAE9C,OADA,MAAM,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,IAAI,CAAC,EACjD,KAAK,KAAK,EAGnB,IAAM,EAAgB,KAAK,MAAM,OAAO,EAAE,KAAK,EAAE,MAEjD,GAAI,KAAK,KAAK,GAAe,OAAQ,CACnC,IAAQ,SAAU,KAAK,MAAM,OAAO,EAAE,KAAK,EAC3C,GAAI,EACF,KAAK,MAAM,OAAO,CAAK,EAGzB,KAAK,IAAI,CAAa,EAGxB,GAAI,KAAK,MAAM,OAAS,EAAG,CACzB,KAAK,UAAY,GACjB,OAGF,MAAM,KAAK,KAAK,OAGJ,IAAG,CAAC,EAA8B,CAC9C,IAAM,EAAM,KAAK,KAAK,EAAc,OAC9B,EAAc,IAAI,EAClB,EAAc,KAAK,MAAM,EAAc,IAAI,EAEjD,KAAK,yBAEL,GAAI,CACF,IAAM,EAAS,MAAO,EAAY,OAC9B,EAAY,EAAc,MAAO,EAAc,IAAI,EACnD,EAAY,IAAI,GAAG,CAAI,GAE3B,EAAY,UAAU,EAAQ,GAAG,CAAI,EACrC,MAAO,EAAK,CAEZ,GADA,EAAY,OAAO,EAAK,GAAG,CAAI,EAC3B,EAAc,SAAW,EAAY,YAAc,EACrD,EAAY,aAAa,EAAK,GAAG,CAAI,EAErC,UAAK,KAAK,EAAK,EAAc,KAAM,EAAc,QAAU,CAAC,EAIhE,KAAK,yBAGP,IAAI,CAAC,EAAoB,EAAc,EAAU,EAAG,CAOlD,GANA,KAAK,MAAM,IAAI,CACb,MAAO,EAAI,KACX,OACA,UAAW,KAAK,IAAI,EACpB,SACF,CAAC,GACI,KAAK,UACR,KAAK,KAAK,EAGhB",
8
- "debugId": "7DA8B7C43EECB50164756E2164756E21",
8
+ "debugId": "30AE940AF005DF4E64756E2164756E21",
9
9
  "names": []
10
10
  }