phecda-server 7.0.0-alpha.16 → 7.0.0-alpha.18
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/README.md +10 -10
- package/assets/schema.json +1 -7
- package/bin/cli.mjs +16 -11
- package/dist/chunk-25LNE62T.mjs +325 -0
- package/dist/chunk-25LNE62T.mjs.map +1 -0
- package/dist/chunk-2AANNMKJ.js +339 -0
- package/dist/chunk-2AANNMKJ.js.map +1 -0
- package/dist/chunk-2AF4PNIP.mjs +548 -0
- package/dist/chunk-2AF4PNIP.mjs.map +1 -0
- package/dist/chunk-2ATTABKA.mjs +330 -0
- package/dist/chunk-2ATTABKA.mjs.map +1 -0
- package/dist/chunk-2TZOJIU5.mjs +548 -0
- package/dist/chunk-2TZOJIU5.mjs.map +1 -0
- package/dist/chunk-2WO3UGXN.js +551 -0
- package/dist/chunk-2WO3UGXN.js.map +1 -0
- package/dist/chunk-3GHLAAIB.js +330 -0
- package/dist/chunk-3GHLAAIB.js.map +1 -0
- package/dist/chunk-3OHQDPV2.js +548 -0
- package/dist/chunk-3OHQDPV2.js.map +1 -0
- package/dist/chunk-3P3Z5UC6.mjs +150 -0
- package/dist/chunk-3P3Z5UC6.mjs.map +1 -0
- package/dist/chunk-3XK2RTI2.mjs +563 -0
- package/dist/chunk-3XK2RTI2.mjs.map +1 -0
- package/dist/chunk-4G7TPEE2.mjs +330 -0
- package/dist/chunk-4G7TPEE2.mjs.map +1 -0
- package/dist/chunk-4GH4IFBL.mjs +339 -0
- package/dist/chunk-4GH4IFBL.mjs.map +1 -0
- package/dist/chunk-56Y5GBKV.mjs +336 -0
- package/dist/chunk-56Y5GBKV.mjs.map +1 -0
- package/dist/{chunk-MUI6MTUO.mjs → chunk-5DOJ5DLK.mjs} +2 -1
- package/dist/chunk-5DOJ5DLK.mjs.map +1 -0
- package/dist/chunk-5SMDKUTT.js +551 -0
- package/dist/chunk-5SMDKUTT.js.map +1 -0
- package/dist/chunk-672QEOST.js +549 -0
- package/dist/chunk-672QEOST.js.map +1 -0
- package/dist/{chunk-YCES6ABN.mjs → chunk-6JAHCTOT.mjs} +2 -1
- package/dist/chunk-6JAHCTOT.mjs.map +1 -0
- package/dist/chunk-6TVDK7LS.mjs +334 -0
- package/dist/chunk-6TVDK7LS.mjs.map +1 -0
- package/dist/chunk-6UFCTN4R.mjs +153 -0
- package/dist/chunk-6UFCTN4R.mjs.map +1 -0
- package/dist/chunk-6WL4Q3PG.js +546 -0
- package/dist/chunk-6WL4Q3PG.js.map +1 -0
- package/dist/chunk-77T6PXFR.js +330 -0
- package/dist/chunk-77T6PXFR.js.map +1 -0
- package/dist/chunk-7BE5DAYB.mjs +548 -0
- package/dist/chunk-7BE5DAYB.mjs.map +1 -0
- package/dist/{chunk-KCPBITYZ.js → chunk-7RF74WML.js} +25 -24
- package/dist/chunk-7RF74WML.js.map +1 -0
- package/dist/chunk-7SKWIPNP.js +230 -0
- package/dist/chunk-7SKWIPNP.js.map +1 -0
- package/dist/chunk-7VCG4CO6.js +551 -0
- package/dist/chunk-7VCG4CO6.js.map +1 -0
- package/dist/chunk-7X5SWO7F.js +230 -0
- package/dist/chunk-7X5SWO7F.js.map +1 -0
- package/dist/chunk-A2ZAEKXE.js +230 -0
- package/dist/chunk-A2ZAEKXE.js.map +1 -0
- package/dist/chunk-A7IQ3C2W.mjs +551 -0
- package/dist/chunk-A7IQ3C2W.mjs.map +1 -0
- package/dist/chunk-A7Z6WC2U.mjs +549 -0
- package/dist/chunk-A7Z6WC2U.mjs.map +1 -0
- package/dist/{chunk-VX4BZEL7.mjs → chunk-AH2GHJYG.mjs} +12 -8
- package/dist/chunk-AH2GHJYG.mjs.map +1 -0
- package/dist/chunk-AKRBZ4QH.js +327 -0
- package/dist/chunk-AKRBZ4QH.js.map +1 -0
- package/dist/chunk-AUF4H6MB.mjs +330 -0
- package/dist/chunk-AUF4H6MB.mjs.map +1 -0
- package/dist/chunk-B4LHVDDL.js +329 -0
- package/dist/chunk-B4LHVDDL.js.map +1 -0
- package/dist/chunk-BVI6MJ57.js +150 -0
- package/dist/chunk-BVI6MJ57.js.map +1 -0
- package/dist/chunk-BZMKWF3E.mjs +546 -0
- package/dist/chunk-BZMKWF3E.mjs.map +1 -0
- package/dist/chunk-BZMKZ733.mjs +154 -0
- package/dist/chunk-BZMKZ733.mjs.map +1 -0
- package/dist/chunk-C2MTV2HS.js +148 -0
- package/dist/chunk-C2MTV2HS.js.map +1 -0
- package/dist/chunk-CGHKI3FB.js +548 -0
- package/dist/chunk-CGHKI3FB.js.map +1 -0
- package/dist/chunk-CLQEY47X.js +154 -0
- package/dist/chunk-CLQEY47X.js.map +1 -0
- package/dist/chunk-DIDCPEI7.js +546 -0
- package/dist/chunk-DIDCPEI7.js.map +1 -0
- package/dist/chunk-DJCMOLNU.mjs +547 -0
- package/dist/chunk-DJCMOLNU.mjs.map +1 -0
- package/dist/chunk-DJKIF6CO.mjs +230 -0
- package/dist/chunk-DJKIF6CO.mjs.map +1 -0
- package/dist/chunk-DZXOLJ2U.mjs +546 -0
- package/dist/chunk-DZXOLJ2U.mjs.map +1 -0
- package/dist/chunk-EEZLSH37.js +230 -0
- package/dist/chunk-EEZLSH37.js.map +1 -0
- package/dist/chunk-EYNIZVQM.js +334 -0
- package/dist/chunk-EYNIZVQM.js.map +1 -0
- package/dist/chunk-FA4XQ5HS.mjs +547 -0
- package/dist/chunk-FA4XQ5HS.mjs.map +1 -0
- package/dist/chunk-FBN6O256.js +153 -0
- package/dist/chunk-FBN6O256.js.map +1 -0
- package/dist/chunk-FJYLWOEI.js +325 -0
- package/dist/chunk-FJYLWOEI.js.map +1 -0
- package/dist/chunk-FV5CWX5Y.js +563 -0
- package/dist/chunk-FV5CWX5Y.js.map +1 -0
- package/dist/chunk-FZIJNZOP.js +546 -0
- package/dist/chunk-FZIJNZOP.js.map +1 -0
- package/dist/chunk-G377USSH.js +230 -0
- package/dist/chunk-G377USSH.js.map +1 -0
- package/dist/chunk-G3K6FCN4.js +549 -0
- package/dist/chunk-G3K6FCN4.js.map +1 -0
- package/dist/chunk-GA3YDUKH.js +150 -0
- package/dist/chunk-GA3YDUKH.js.map +1 -0
- package/dist/chunk-GMYV3IKV.mjs +548 -0
- package/dist/chunk-GMYV3IKV.mjs.map +1 -0
- package/dist/{chunk-IJFIY6QN.js → chunk-H7OCHDZT.js} +55 -63
- package/dist/chunk-H7OCHDZT.js.map +1 -0
- package/dist/chunk-HBITJSAJ.js +334 -0
- package/dist/chunk-HBITJSAJ.js.map +1 -0
- package/dist/chunk-HGCBKGAE.js +563 -0
- package/dist/chunk-HGCBKGAE.js.map +1 -0
- package/dist/chunk-HGQUWR5Y.js +548 -0
- package/dist/chunk-HGQUWR5Y.js.map +1 -0
- package/dist/chunk-HNHYJHTR.mjs +150 -0
- package/dist/chunk-HNHYJHTR.mjs.map +1 -0
- package/dist/chunk-HOMMTTY3.js +549 -0
- package/dist/chunk-HOMMTTY3.js.map +1 -0
- package/dist/chunk-HPCKU764.js +230 -0
- package/dist/chunk-HPCKU764.js.map +1 -0
- package/dist/chunk-HWZUI3S7.mjs +154 -0
- package/dist/chunk-HWZUI3S7.mjs.map +1 -0
- package/dist/chunk-HXAYHDBD.mjs +324 -0
- package/dist/chunk-HXAYHDBD.mjs.map +1 -0
- package/dist/chunk-I7Q27MJV.mjs +230 -0
- package/dist/chunk-I7Q27MJV.mjs.map +1 -0
- package/dist/{chunk-6OQ2SB5W.js → chunk-IIAJBTJE.js} +19 -22
- package/dist/chunk-IIAJBTJE.js.map +1 -0
- package/dist/chunk-IPEKAVER.js +336 -0
- package/dist/chunk-IPEKAVER.js.map +1 -0
- package/dist/chunk-IUBKOGEX.js +337 -0
- package/dist/chunk-IUBKOGEX.js.map +1 -0
- package/dist/chunk-JF5Q4N2N.mjs +330 -0
- package/dist/chunk-JF5Q4N2N.mjs.map +1 -0
- package/dist/chunk-JL3U632E.mjs +329 -0
- package/dist/chunk-JL3U632E.mjs.map +1 -0
- package/dist/chunk-JZW6S7UZ.mjs +334 -0
- package/dist/chunk-JZW6S7UZ.mjs.map +1 -0
- package/dist/chunk-K7BBDAQV.js +330 -0
- package/dist/chunk-K7BBDAQV.js.map +1 -0
- package/dist/chunk-KATTCXH7.mjs +153 -0
- package/dist/chunk-KATTCXH7.mjs.map +1 -0
- package/dist/chunk-KHHTD6W2.js +325 -0
- package/dist/chunk-KHHTD6W2.js.map +1 -0
- package/dist/chunk-KJTJTAM5.js +547 -0
- package/dist/chunk-KJTJTAM5.js.map +1 -0
- package/dist/chunk-KUGU3UGO.js +334 -0
- package/dist/chunk-KUGU3UGO.js.map +1 -0
- package/dist/chunk-LBH4RXQQ.mjs +534 -0
- package/dist/chunk-LBH4RXQQ.mjs.map +1 -0
- package/dist/chunk-LMCXPBEL.js +230 -0
- package/dist/chunk-LMCXPBEL.js.map +1 -0
- package/dist/chunk-LPCFXBIN.mjs +554 -0
- package/dist/chunk-LPCFXBIN.mjs.map +1 -0
- package/dist/chunk-LWKMKMGP.mjs +551 -0
- package/dist/chunk-LWKMKMGP.mjs.map +1 -0
- package/dist/chunk-M2NBQIY4.js +230 -0
- package/dist/chunk-M2NBQIY4.js.map +1 -0
- package/dist/chunk-MCVUJNTJ.mjs +546 -0
- package/dist/chunk-MCVUJNTJ.mjs.map +1 -0
- package/dist/{chunk-NQ55PA2X.mjs → chunk-MDPW6WGF.mjs} +1 -0
- package/dist/chunk-MDPW6WGF.mjs.map +1 -0
- package/dist/chunk-O23LYYQO.mjs +549 -0
- package/dist/chunk-O23LYYQO.mjs.map +1 -0
- package/dist/chunk-OGNSLEM7.js +562 -0
- package/dist/chunk-OGNSLEM7.js.map +1 -0
- package/dist/chunk-OSCTXAED.js +154 -0
- package/dist/chunk-OSCTXAED.js.map +1 -0
- package/dist/chunk-P5DXLNAV.mjs +334 -0
- package/dist/chunk-P5DXLNAV.mjs.map +1 -0
- package/dist/chunk-PDKES3CS.js +334 -0
- package/dist/chunk-PDKES3CS.js.map +1 -0
- package/dist/chunk-PLD4EI4W.mjs +334 -0
- package/dist/chunk-PLD4EI4W.mjs.map +1 -0
- package/dist/chunk-PQXBA7RP.mjs +325 -0
- package/dist/chunk-PQXBA7RP.mjs.map +1 -0
- package/dist/chunk-PUXTWHMP.mjs +337 -0
- package/dist/chunk-PUXTWHMP.mjs.map +1 -0
- package/dist/chunk-PWYWGN3L.mjs +562 -0
- package/dist/chunk-PWYWGN3L.mjs.map +1 -0
- package/dist/chunk-PXWSDTIP.mjs +551 -0
- package/dist/chunk-PXWSDTIP.mjs.map +1 -0
- package/dist/chunk-Q64YUA6Q.js +153 -0
- package/dist/chunk-Q64YUA6Q.js.map +1 -0
- package/dist/chunk-Q7FATBG4.mjs +327 -0
- package/dist/chunk-Q7FATBG4.mjs.map +1 -0
- package/dist/chunk-QLR7YJ7K.js +548 -0
- package/dist/chunk-QLR7YJ7K.js.map +1 -0
- package/dist/chunk-QNTSTOHM.mjs +230 -0
- package/dist/chunk-QNTSTOHM.mjs.map +1 -0
- package/dist/chunk-QP2HPQND.js +548 -0
- package/dist/chunk-QP2HPQND.js.map +1 -0
- package/dist/{chunk-4LLLQOMF.js → chunk-RLFCI3RG.js} +1 -0
- package/dist/chunk-RLFCI3RG.js.map +1 -0
- package/dist/chunk-RW5HHB6Z.mjs +230 -0
- package/dist/chunk-RW5HHB6Z.mjs.map +1 -0
- package/dist/chunk-RXBJH74V.js +334 -0
- package/dist/chunk-RXBJH74V.js.map +1 -0
- package/dist/chunk-S2B3Y2WJ.mjs +230 -0
- package/dist/chunk-S2B3Y2WJ.mjs.map +1 -0
- package/dist/chunk-SCA7SXI6.mjs +334 -0
- package/dist/chunk-SCA7SXI6.mjs.map +1 -0
- package/dist/chunk-SE2XQSPO.js +549 -0
- package/dist/chunk-SE2XQSPO.js.map +1 -0
- package/dist/chunk-SP4ASHBX.mjs +334 -0
- package/dist/chunk-SP4ASHBX.mjs.map +1 -0
- package/dist/chunk-TFK3ICC2.mjs +548 -0
- package/dist/chunk-TFK3ICC2.mjs.map +1 -0
- package/dist/chunk-TQR7KDFP.mjs +150 -0
- package/dist/chunk-TQR7KDFP.mjs.map +1 -0
- package/dist/chunk-TRJVULA2.js +330 -0
- package/dist/chunk-TRJVULA2.js.map +1 -0
- package/dist/chunk-TU4XB7CZ.mjs +230 -0
- package/dist/chunk-TU4XB7CZ.mjs.map +1 -0
- package/dist/chunk-U7EKEUCU.mjs +549 -0
- package/dist/chunk-U7EKEUCU.mjs.map +1 -0
- package/dist/chunk-UBQ4FXWS.js +554 -0
- package/dist/chunk-UBQ4FXWS.js.map +1 -0
- package/dist/chunk-UFQBSH4U.mjs +230 -0
- package/dist/chunk-UFQBSH4U.mjs.map +1 -0
- package/dist/chunk-UUHB6RHI.mjs +230 -0
- package/dist/chunk-UUHB6RHI.mjs.map +1 -0
- package/dist/chunk-UUKYR5HO.js +336 -0
- package/dist/chunk-UUKYR5HO.js.map +1 -0
- package/dist/chunk-UZTDXFFC.js +547 -0
- package/dist/chunk-UZTDXFFC.js.map +1 -0
- package/dist/chunk-V6AD4Y74.js +550 -0
- package/dist/chunk-V6AD4Y74.js.map +1 -0
- package/dist/chunk-VBBZA6PA.mjs +148 -0
- package/dist/chunk-VBBZA6PA.mjs.map +1 -0
- package/dist/chunk-VM4RFF4O.js +339 -0
- package/dist/chunk-VM4RFF4O.js.map +1 -0
- package/dist/chunk-W4AIKOBG.mjs +330 -0
- package/dist/chunk-W4AIKOBG.mjs.map +1 -0
- package/dist/chunk-WCLQYWET.mjs +328 -0
- package/dist/chunk-WCLQYWET.mjs.map +1 -0
- package/dist/chunk-WRN4ZVJQ.js +334 -0
- package/dist/chunk-WRN4ZVJQ.js.map +1 -0
- package/dist/chunk-X2H2PYE4.js +328 -0
- package/dist/chunk-X2H2PYE4.js.map +1 -0
- package/dist/chunk-X4YZRAFM.mjs +563 -0
- package/dist/chunk-X4YZRAFM.mjs.map +1 -0
- package/dist/chunk-X6M4LKQR.mjs +550 -0
- package/dist/chunk-X6M4LKQR.mjs.map +1 -0
- package/dist/chunk-X6WMGSPO.js +150 -0
- package/dist/chunk-X6WMGSPO.js.map +1 -0
- package/dist/chunk-XAI6JXXC.mjs +339 -0
- package/dist/chunk-XAI6JXXC.mjs.map +1 -0
- package/dist/chunk-XSABKCJD.js +546 -0
- package/dist/chunk-XSABKCJD.js.map +1 -0
- package/dist/chunk-XW3UEXLV.mjs +336 -0
- package/dist/chunk-XW3UEXLV.mjs.map +1 -0
- package/dist/chunk-YQYBLTSZ.js +330 -0
- package/dist/chunk-YQYBLTSZ.js.map +1 -0
- package/dist/chunk-YSRKB2RQ.js +334 -0
- package/dist/chunk-YSRKB2RQ.js.map +1 -0
- package/dist/chunk-YT4J7LJM.mjs +549 -0
- package/dist/chunk-YT4J7LJM.mjs.map +1 -0
- package/dist/chunk-YXXWVL32.mjs +330 -0
- package/dist/chunk-YXXWVL32.mjs.map +1 -0
- package/dist/chunk-Z4JSVZR3.js +324 -0
- package/dist/chunk-Z4JSVZR3.js.map +1 -0
- package/dist/{core-DiFYc0bC.d.mts → core--qu3pWkq.d.ts} +1 -1
- package/dist/core-BPUiAJHn.d.ts +49 -0
- package/dist/core-Bi3rTHpi.d.ts +49 -0
- package/dist/core-Bjw_HRhA.d.mts +49 -0
- package/dist/core-Brb7fvGi.d.ts +49 -0
- package/dist/core-C7FYVQ3G.d.ts +49 -0
- package/dist/core-C8nKzrYj.d.ts +49 -0
- package/dist/core-CTa38Qb8.d.mts +49 -0
- package/dist/core-C_vzHvIM.d.mts +49 -0
- package/dist/core-CjJyvCUL.d.mts +49 -0
- package/dist/core-CxB9E1Mb.d.mts +49 -0
- package/dist/core-D5cwjnXb.d.ts +49 -0
- package/dist/core-D9ivz8Je.d.mts +49 -0
- package/dist/{core-KvmgTDU0.d.ts → core-DEjpz7U-.d.ts} +1 -1
- package/dist/core-DFoppC8I.d.mts +49 -0
- package/dist/core-DU0-ELVr.d.ts +49 -0
- package/dist/core-Dk6Y21IK.d.mts +49 -0
- package/dist/core-ppueS5ax.d.mts +49 -0
- package/dist/core-scwP4qK3.d.ts +49 -0
- package/dist/core-vtBLhyjz.d.mts +49 -0
- package/dist/helper.d.mts +1 -1
- package/dist/helper.d.ts +1 -1
- package/dist/helper.js +4 -3
- package/dist/helper.js.map +1 -0
- package/dist/helper.mjs +3 -2
- package/dist/helper.mjs.map +1 -0
- package/dist/http/elysia/index.d.mts +3 -3
- package/dist/http/elysia/index.d.ts +3 -3
- package/dist/http/elysia/index.js +41 -40
- package/dist/http/elysia/index.js.map +1 -0
- package/dist/http/elysia/index.mjs +4 -3
- package/dist/http/elysia/index.mjs.map +1 -0
- package/dist/http/express/index.d.mts +3 -3
- package/dist/http/express/index.d.ts +3 -3
- package/dist/http/express/index.js +38 -37
- package/dist/http/express/index.js.map +1 -0
- package/dist/http/express/index.mjs +3 -2
- package/dist/http/express/index.mjs.map +1 -0
- package/dist/http/fastify/index.d.mts +3 -3
- package/dist/http/fastify/index.d.ts +3 -3
- package/dist/http/fastify/index.js +39 -38
- package/dist/http/fastify/index.js.map +1 -0
- package/dist/http/fastify/index.mjs +4 -3
- package/dist/http/fastify/index.mjs.map +1 -0
- package/dist/http/h3/index.d.mts +3 -3
- package/dist/http/h3/index.d.ts +3 -3
- package/dist/http/h3/index.js +39 -38
- package/dist/http/h3/index.js.map +1 -0
- package/dist/http/h3/index.mjs +3 -2
- package/dist/http/h3/index.mjs.map +1 -0
- package/dist/http/hono/index.d.mts +3 -3
- package/dist/http/hono/index.d.ts +3 -3
- package/dist/http/hono/index.js +35 -34
- package/dist/http/hono/index.js.map +1 -0
- package/dist/http/hono/index.mjs +3 -2
- package/dist/http/hono/index.mjs.map +1 -0
- package/dist/http/hyper-express/index.d.mts +3 -3
- package/dist/http/hyper-express/index.d.ts +3 -3
- package/dist/http/hyper-express/index.js +36 -35
- package/dist/http/hyper-express/index.js.map +1 -0
- package/dist/http/hyper-express/index.mjs +3 -2
- package/dist/http/hyper-express/index.mjs.map +1 -0
- package/dist/http/koa/index.d.mts +3 -3
- package/dist/http/koa/index.d.ts +3 -3
- package/dist/http/koa/index.js +38 -37
- package/dist/http/koa/index.js.map +1 -0
- package/dist/http/koa/index.mjs +3 -2
- package/dist/http/koa/index.mjs.map +1 -0
- package/dist/index.d.mts +8 -9
- package/dist/index.d.ts +8 -9
- package/dist/index.js +41 -40
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5 -4
- package/dist/index.mjs.map +1 -0
- package/dist/meta-vC_LItVL.d.mts +90 -0
- package/dist/meta-vC_LItVL.d.ts +90 -0
- package/dist/rpc/bullmq/index.d.mts +3 -3
- package/dist/rpc/bullmq/index.d.ts +3 -3
- package/dist/rpc/bullmq/index.js +12 -11
- package/dist/rpc/bullmq/index.js.map +1 -0
- package/dist/rpc/bullmq/index.mjs +3 -2
- package/dist/rpc/bullmq/index.mjs.map +1 -0
- package/dist/rpc/electron/index.d.mts +3 -3
- package/dist/rpc/electron/index.d.ts +3 -3
- package/dist/rpc/electron/index.js +9 -8
- package/dist/rpc/electron/index.js.map +1 -0
- package/dist/rpc/electron/index.mjs +3 -2
- package/dist/rpc/electron/index.mjs.map +1 -0
- package/dist/rpc/kafka/index.d.mts +3 -3
- package/dist/rpc/kafka/index.d.ts +3 -3
- package/dist/rpc/kafka/index.js +11 -10
- package/dist/rpc/kafka/index.js.map +1 -0
- package/dist/rpc/kafka/index.mjs +3 -2
- package/dist/rpc/kafka/index.mjs.map +1 -0
- package/dist/rpc/nats/index.d.mts +3 -3
- package/dist/rpc/nats/index.d.ts +3 -3
- package/dist/rpc/nats/index.js +12 -11
- package/dist/rpc/nats/index.js.map +1 -0
- package/dist/rpc/nats/index.mjs +3 -2
- package/dist/rpc/nats/index.mjs.map +1 -0
- package/dist/rpc/rabbitmq/index.d.mts +3 -3
- package/dist/rpc/rabbitmq/index.d.ts +3 -3
- package/dist/rpc/rabbitmq/index.js +13 -12
- package/dist/rpc/rabbitmq/index.js.map +1 -0
- package/dist/rpc/rabbitmq/index.mjs +3 -2
- package/dist/rpc/rabbitmq/index.mjs.map +1 -0
- package/dist/rpc/redis/index.d.mts +3 -3
- package/dist/rpc/redis/index.d.ts +3 -3
- package/dist/rpc/redis/index.js +11 -10
- package/dist/rpc/redis/index.js.map +1 -0
- package/dist/rpc/redis/index.mjs +3 -2
- package/dist/rpc/redis/index.mjs.map +1 -0
- package/dist/rpc/web-ext/index.d.mts +2 -0
- package/dist/rpc/web-ext/index.d.ts +2 -0
- package/dist/rpc/web-ext/index.js +1 -0
- package/dist/rpc/web-ext/index.js.map +1 -0
- package/dist/rpc/web-ext/index.mjs +1 -0
- package/dist/rpc/web-ext/index.mjs.map +1 -0
- package/dist/rpc/ws/index.d.mts +3 -3
- package/dist/rpc/ws/index.d.ts +3 -3
- package/dist/rpc/ws/index.js +8 -7
- package/dist/rpc/ws/index.js.map +1 -0
- package/dist/rpc/ws/index.mjs +3 -2
- package/dist/rpc/ws/index.mjs.map +1 -0
- package/dist/test.d.mts +3 -3
- package/dist/test.d.ts +3 -3
- package/dist/test.js +7 -6
- package/dist/test.js.map +1 -0
- package/dist/test.mjs +3 -2
- package/dist/test.mjs.map +1 -0
- package/dist/{types-8r301ZfZ.d.mts → types--FU0xyv7.d.mts} +1 -1
- package/dist/types-7nUdSf8z.d.mts +19 -0
- package/dist/{types-CVSbC6nz.d.mts → types-BE2z6gOo.d.ts} +1 -1
- package/dist/types-BJiHDyTL.d.mts +19 -0
- package/dist/types-BRCJyQsh.d.mts +90 -0
- package/dist/types-BRCJyQsh.d.ts +90 -0
- package/dist/types-BV7YmpJE.d.ts +14 -0
- package/dist/{types-Bz3JN2S1.d.ts → types-BVswigDc.d.ts} +1 -1
- package/dist/types-B_RVNTOF.d.mts +91 -0
- package/dist/types-B_RVNTOF.d.ts +91 -0
- package/dist/types-BtM-DxqM.d.mts +48 -0
- package/dist/types-C-nIlDCV.d.mts +48 -0
- package/dist/types-C-wRAcbr.d.ts +48 -0
- package/dist/types-C2KvkrD6.d.mts +48 -0
- package/dist/{meta-DlHaMicF.d.ts → types-C6hpZpnS.d.mts} +43 -43
- package/dist/{meta-DlHaMicF.d.mts → types-C6hpZpnS.d.ts} +43 -43
- package/dist/types-CFX2Ln0s.d.mts +48 -0
- package/dist/types-CR_EmIw8.d.mts +48 -0
- package/dist/types-CbRiXnzh.d.ts +19 -0
- package/dist/types-Ci9JeYtv.d.ts +48 -0
- package/dist/types-CiL0rHL3.d.ts +19 -0
- package/dist/types-CuBnfbgb.d.mts +14 -0
- package/dist/types-CvPG7k2Z.d.mts +14 -0
- package/dist/types-D9vxgkS4.d.mts +48 -0
- package/dist/types-DHYok84r.d.mts +14 -0
- package/dist/types-DI40e_s_.d.mts +19 -0
- package/dist/{types-DJuqpiI8.d.ts → types-DTOe0r2g.d.ts} +1 -1
- package/dist/types-DWVRUI6s.d.mts +91 -0
- package/dist/types-DWVRUI6s.d.ts +91 -0
- package/dist/types-DX98FM-A.d.ts +19 -0
- package/dist/types-DdJI1b5J.d.mts +19 -0
- package/dist/types-DfNl_AGj.d.ts +48 -0
- package/dist/types-DfNtpP-N.d.mts +111 -0
- package/dist/types-DfNtpP-N.d.ts +111 -0
- package/dist/types-DfVkUOZW.d.ts +48 -0
- package/dist/types-DfsKsjLM.d.mts +111 -0
- package/dist/types-DfsKsjLM.d.ts +111 -0
- package/dist/types-Didk5ZxZ.d.ts +48 -0
- package/dist/types-DsvVhEYR.d.ts +48 -0
- package/dist/types-Dt4WHNIG.d.mts +48 -0
- package/dist/types-DtG1fW8q.d.mts +48 -0
- package/dist/types-DwkH_ckj.d.mts +107 -0
- package/dist/types-DwkH_ckj.d.ts +107 -0
- package/dist/types-GLyEDoZh.d.ts +48 -0
- package/dist/types-HFldWW-W.d.mts +48 -0
- package/dist/types-LfX4z-X2.d.mts +48 -0
- package/dist/types-Ru_9udNp.d.ts +48 -0
- package/dist/types-gz344phy.d.mts +14 -0
- package/dist/types-hTbg1FQR.d.ts +19 -0
- package/dist/types-laEKHNwU.d.ts +14 -0
- package/dist/types-mcWWx2nR.d.mts +108 -0
- package/dist/types-mcWWx2nR.d.ts +108 -0
- package/dist/types-nA5JQl76.d.ts +14 -0
- package/dist/types-ojuQvq5-.d.ts +19 -0
- package/dist/types-pCI7fyyv.d.mts +108 -0
- package/dist/types-pCI7fyyv.d.ts +108 -0
- package/dist/types-vyUwFCHY.d.mts +19 -0
- package/dist/types-xovMFthM.d.ts +14 -0
- package/package.json +7 -2
- package/register/index.mjs +2 -2
- package/register/loader.mjs +33 -27
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HMR,
|
|
3
|
+
IS_ONLY_GENERATE,
|
|
4
|
+
__name,
|
|
5
|
+
log
|
|
6
|
+
} from "./chunk-VBBZA6PA.mjs";
|
|
7
|
+
|
|
8
|
+
// src/meta.ts
|
|
9
|
+
var Meta = class {
|
|
10
|
+
static {
|
|
11
|
+
__name(this, "Meta");
|
|
12
|
+
}
|
|
13
|
+
data;
|
|
14
|
+
paramsType;
|
|
15
|
+
constructor(data, paramsType) {
|
|
16
|
+
this.data = data;
|
|
17
|
+
this.paramsType = paramsType;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// src/core.ts
|
|
22
|
+
import "reflect-metadata";
|
|
23
|
+
import EventEmitter from "node:events";
|
|
24
|
+
import { getInject, getMergedMeta, getMetaKey, getMetaParams, getTag, invokeInit, invokeUnmount, setInject } from "phecda-core";
|
|
25
|
+
import Debug from "debug";
|
|
26
|
+
var debug = Debug("phecda-server(Factory)");
|
|
27
|
+
var emitter = new EventEmitter();
|
|
28
|
+
function defaultServerInject() {
|
|
29
|
+
if (!getInject("watcher")) {
|
|
30
|
+
setInject("watcher", ({ eventName, instance, property, options }) => {
|
|
31
|
+
const fn = typeof instance[property] === "function" ? instance[property].bind(instance) : (v) => instance[property] = v;
|
|
32
|
+
if (options?.once) emitter.once(eventName, fn);
|
|
33
|
+
else emitter.on(eventName, fn);
|
|
34
|
+
return () => {
|
|
35
|
+
emitter.off(eventName, fn);
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
__name(defaultServerInject, "defaultServerInject");
|
|
41
|
+
var phecdaNamespace = /* @__PURE__ */ new Map();
|
|
42
|
+
var ServerPhecda = class {
|
|
43
|
+
static {
|
|
44
|
+
__name(this, "ServerPhecda");
|
|
45
|
+
}
|
|
46
|
+
moduleMap = /* @__PURE__ */ new Map();
|
|
47
|
+
meta = [];
|
|
48
|
+
modelMap = /* @__PURE__ */ new WeakMap();
|
|
49
|
+
modelSet = /* @__PURE__ */ new WeakSet();
|
|
50
|
+
dependenceGraph = /* @__PURE__ */ new Map();
|
|
51
|
+
parseModule;
|
|
52
|
+
parseMeta;
|
|
53
|
+
generators;
|
|
54
|
+
constructor(options) {
|
|
55
|
+
defaultServerInject();
|
|
56
|
+
const { namespace = "default", parseModule = /* @__PURE__ */ __name((module) => module, "parseModule"), parseMeta = /* @__PURE__ */ __name((meta) => meta, "parseMeta"), generators = [] } = options;
|
|
57
|
+
phecdaNamespace.set(namespace, this);
|
|
58
|
+
this.parseMeta = parseMeta;
|
|
59
|
+
this.parseModule = parseModule;
|
|
60
|
+
this.generators = generators;
|
|
61
|
+
}
|
|
62
|
+
async start(models) {
|
|
63
|
+
for (const model of models) await this.buildDepModule(model);
|
|
64
|
+
this.hmr();
|
|
65
|
+
this.generateCode().then(() => {
|
|
66
|
+
if (IS_ONLY_GENERATE) process.exit(4);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
generateCode = /* @__PURE__ */ __name(async () => {
|
|
70
|
+
return Promise.all(this.generators.map((generator) => {
|
|
71
|
+
debug(`generate "${generator.name}" code to ${generator.path}`);
|
|
72
|
+
return generator.output(this.meta);
|
|
73
|
+
}));
|
|
74
|
+
}, "generateCode");
|
|
75
|
+
hmr() {
|
|
76
|
+
HMR(async (oldModels, newModels) => {
|
|
77
|
+
debug("reload models ");
|
|
78
|
+
await this.replace(oldModels, newModels);
|
|
79
|
+
this.generateCode();
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
// async add(Model: Construct) {
|
|
83
|
+
// const tag = getTag(Model)
|
|
84
|
+
// const oldInstance = await this.del(tag)
|
|
85
|
+
// const { module: newModule } = await this.buildDepModule(Model)
|
|
86
|
+
// if (oldInstance && this.dependenceGraph.has(tag)) {
|
|
87
|
+
// debug(`replace module "${String(tag)}"`);
|
|
88
|
+
// [...this.dependenceGraph.get(tag)!].forEach((tag) => {
|
|
89
|
+
// const module = this.moduleMap.get(tag)
|
|
90
|
+
// for (const key in module) {
|
|
91
|
+
// if (module[key] === oldInstance)
|
|
92
|
+
// module[key] = newModule
|
|
93
|
+
// }
|
|
94
|
+
// })
|
|
95
|
+
// }
|
|
96
|
+
// }
|
|
97
|
+
// async del(modelOrTag: Construct | PropertyKey) {
|
|
98
|
+
// const tag = typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag
|
|
99
|
+
// if (!this.moduleMap.has(tag))
|
|
100
|
+
// return
|
|
101
|
+
// const module = this.moduleMap.get(tag)
|
|
102
|
+
// debug(`unmount module "${String(tag)}"`)
|
|
103
|
+
// await invokeUnmount(module)
|
|
104
|
+
// debug(`del module "${String(tag)}"`)
|
|
105
|
+
// this.moduleMap.delete(tag)
|
|
106
|
+
// this.modelMap.delete(module)
|
|
107
|
+
// for (let i = this.meta.length - 1; i >= 0; i--) {
|
|
108
|
+
// if (this.meta[i].data.tag === tag)
|
|
109
|
+
// this.meta.splice(i, 1)
|
|
110
|
+
// }
|
|
111
|
+
// return module
|
|
112
|
+
// }
|
|
113
|
+
async destroy() {
|
|
114
|
+
debug("destroy all");
|
|
115
|
+
this.replace(Object.values(this.modelMap), []);
|
|
116
|
+
}
|
|
117
|
+
createProxyModule(tag) {
|
|
118
|
+
const that = this;
|
|
119
|
+
return new Proxy({}, {
|
|
120
|
+
get(_target, prop) {
|
|
121
|
+
const module = that.moduleMap.get(tag);
|
|
122
|
+
return Reflect.get(module, prop, module);
|
|
123
|
+
},
|
|
124
|
+
set(_target, prop, newValue) {
|
|
125
|
+
const module = that.moduleMap.get(tag);
|
|
126
|
+
return Reflect.set(module, prop, newValue, module);
|
|
127
|
+
},
|
|
128
|
+
has(_target, prop) {
|
|
129
|
+
return Reflect.has(that.moduleMap.get(tag), prop);
|
|
130
|
+
},
|
|
131
|
+
ownKeys() {
|
|
132
|
+
return Reflect.ownKeys(that.moduleMap.get(tag));
|
|
133
|
+
},
|
|
134
|
+
getPrototypeOf() {
|
|
135
|
+
return Reflect.getPrototypeOf(that.moduleMap.get(tag));
|
|
136
|
+
},
|
|
137
|
+
getOwnPropertyDescriptor(_target, prop) {
|
|
138
|
+
return Reflect.getOwnPropertyDescriptor(that.moduleMap.get(tag), prop);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
async buildDepModule(Model) {
|
|
143
|
+
const paramtypes = getParamTypes(Model);
|
|
144
|
+
let module;
|
|
145
|
+
const tag = getTag(Model);
|
|
146
|
+
if (this.moduleMap.has(tag)) {
|
|
147
|
+
module = this.moduleMap.get(tag);
|
|
148
|
+
if (!module) {
|
|
149
|
+
log(`Exist Circular-Dependency or Multiple modules with the same tag [${String(tag)}]`, "warn");
|
|
150
|
+
return {
|
|
151
|
+
module: this.createProxyModule(tag),
|
|
152
|
+
tag
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
if (this.modelMap.get(module) !== Model && !this.modelSet.has(Model)) {
|
|
156
|
+
this.modelSet.add(Model);
|
|
157
|
+
if (module instanceof Model) log(`Module taged ${String(tag)} has been overridden`);
|
|
158
|
+
else log(`Synonym module: Module taged "${String(tag)}" has been loaded before, so phecda-server won't load Module "${Model.name}"`, "warn");
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
module,
|
|
162
|
+
tag
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
this.moduleMap.set(tag, void 0);
|
|
166
|
+
debug(`instantiate module "${String(tag)}"`);
|
|
167
|
+
if (paramtypes) {
|
|
168
|
+
const paramtypesInstances = [];
|
|
169
|
+
for (const i in paramtypes) {
|
|
170
|
+
const { module: sub, tag: subTag } = await this.buildDepModule(paramtypes[i]);
|
|
171
|
+
paramtypesInstances[i] = sub;
|
|
172
|
+
if (!this.dependenceGraph.has(subTag)) this.dependenceGraph.set(subTag, /* @__PURE__ */ new Set());
|
|
173
|
+
this.dependenceGraph.get(subTag).add(tag);
|
|
174
|
+
}
|
|
175
|
+
module = this.parseModule(new Model(...paramtypesInstances));
|
|
176
|
+
} else {
|
|
177
|
+
module = this.parseModule(new Model());
|
|
178
|
+
}
|
|
179
|
+
this.meta.push(...getMetaFromInstance(module, tag, Model.name).map(this.parseMeta).filter((item) => !!item));
|
|
180
|
+
debug(`init module "${String(tag)}"`);
|
|
181
|
+
if (!IS_ONLY_GENERATE) await invokeInit(module);
|
|
182
|
+
debug(`add module "${String(tag)}"`);
|
|
183
|
+
this.moduleMap.set(tag, module);
|
|
184
|
+
this.modelMap.set(module, Model);
|
|
185
|
+
return {
|
|
186
|
+
module,
|
|
187
|
+
tag
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
async replace(oldModels, newModels) {
|
|
191
|
+
const oldModules = (await Promise.all(oldModels.map(async (model) => {
|
|
192
|
+
const tag = getTag(model);
|
|
193
|
+
if (!this.has(tag)) return;
|
|
194
|
+
const module = this.moduleMap.get(tag);
|
|
195
|
+
debug(`unmount module "${String(tag)}"`);
|
|
196
|
+
await invokeUnmount(module);
|
|
197
|
+
debug(`del module "${String(tag)}"`);
|
|
198
|
+
this.moduleMap.delete(tag);
|
|
199
|
+
this.modelMap.delete(module);
|
|
200
|
+
for (let i = this.meta.length - 1; i >= 0; i--) {
|
|
201
|
+
if (this.meta[i].data.tag === tag) this.meta.splice(i, 1);
|
|
202
|
+
}
|
|
203
|
+
return module;
|
|
204
|
+
}))).filter((item) => item);
|
|
205
|
+
for (const model of newModels) {
|
|
206
|
+
debug(`add model ${model}`);
|
|
207
|
+
await this.buildDepModule(model);
|
|
208
|
+
}
|
|
209
|
+
for (const module of oldModules) {
|
|
210
|
+
const tag = getTag(module);
|
|
211
|
+
if (this.dependenceGraph.has(tag)) {
|
|
212
|
+
[
|
|
213
|
+
...this.dependenceGraph.get(tag)
|
|
214
|
+
].forEach((depTag) => {
|
|
215
|
+
const depModule = this.moduleMap.get(depTag);
|
|
216
|
+
if (depModule) {
|
|
217
|
+
for (const key in depModule) {
|
|
218
|
+
if (depModule[key] === module) depModule[key] = this.moduleMap.get(tag);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
has(modelOrTag) {
|
|
226
|
+
return this.moduleMap.has(typeof modelOrTag === "function" ? getTag(modelOrTag) : modelOrTag);
|
|
227
|
+
}
|
|
228
|
+
get(modelOrTag) {
|
|
229
|
+
const tag = typeof modelOrTag === "function" ? getTag(modelOrTag) : modelOrTag;
|
|
230
|
+
if (!this.has(tag)) throw new Error(`module "${tag.toString()}" doesn't exist`);
|
|
231
|
+
return this.moduleMap.get(tag);
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
async function Factory(models, opts = {}) {
|
|
235
|
+
const phecda = new ServerPhecda(opts);
|
|
236
|
+
await phecda.start(models);
|
|
237
|
+
return phecda;
|
|
238
|
+
}
|
|
239
|
+
__name(Factory, "Factory");
|
|
240
|
+
function useS(nsOrModel, namespace) {
|
|
241
|
+
if (!nsOrModel) {
|
|
242
|
+
namespace = "default";
|
|
243
|
+
} else {
|
|
244
|
+
if (typeof nsOrModel === "string") namespace = nsOrModel;
|
|
245
|
+
else if (!namespace) namespace = "default";
|
|
246
|
+
}
|
|
247
|
+
if (!phecdaNamespace.has(namespace)) throw new Error(`namespace "${namespace}" doesn't exist`);
|
|
248
|
+
const serverPhecda = phecdaNamespace.get(namespace);
|
|
249
|
+
if (nsOrModel && typeof nsOrModel !== "string") return serverPhecda.get(nsOrModel);
|
|
250
|
+
else return serverPhecda;
|
|
251
|
+
}
|
|
252
|
+
__name(useS, "useS");
|
|
253
|
+
function getMetaFromInstance(instance, tag, name) {
|
|
254
|
+
const propertyKeys = getMetaKey(instance).filter((item) => typeof item === "string");
|
|
255
|
+
const baseMeta = getMergedMeta(instance, void 0);
|
|
256
|
+
const ctxs = baseMeta.ctxs;
|
|
257
|
+
return propertyKeys.filter((i) => typeof instance[i] === "function").map((i) => {
|
|
258
|
+
const meta = getMergedMeta(instance, i);
|
|
259
|
+
const metaData = {
|
|
260
|
+
...meta,
|
|
261
|
+
name,
|
|
262
|
+
tag,
|
|
263
|
+
func: i
|
|
264
|
+
};
|
|
265
|
+
if (baseMeta.controller) {
|
|
266
|
+
if (typeof tag !== "string") log(`can't use Tag with ${typeof tag} on controller "${instance.constructor.name}",instead with "${tag = String(tag)}"`, "error");
|
|
267
|
+
metaData.controller = baseMeta.controller;
|
|
268
|
+
metaData[baseMeta.controller] = {
|
|
269
|
+
...baseMeta[baseMeta.controller],
|
|
270
|
+
...meta[baseMeta.controller]
|
|
271
|
+
};
|
|
272
|
+
const params = getMetaParams(instance, i).map((item) => getMergedMeta(instance, i, item));
|
|
273
|
+
params.forEach((item, index) => {
|
|
274
|
+
if (!item.pipe) item.pipe = meta.pipe || baseMeta.pipe;
|
|
275
|
+
if (!item.define) item.define = {};
|
|
276
|
+
item.index = index;
|
|
277
|
+
});
|
|
278
|
+
metaData.ctxs = ctxs;
|
|
279
|
+
metaData.params = params;
|
|
280
|
+
metaData.filter = meta.filter || baseMeta.filter;
|
|
281
|
+
metaData.define = {
|
|
282
|
+
...baseMeta.define,
|
|
283
|
+
...meta.define
|
|
284
|
+
};
|
|
285
|
+
for (const item of [
|
|
286
|
+
"addons",
|
|
287
|
+
"guards"
|
|
288
|
+
]) {
|
|
289
|
+
const set = new Set(baseMeta[item]);
|
|
290
|
+
if (meta[item]) {
|
|
291
|
+
meta[item].forEach((part) => {
|
|
292
|
+
set.delete(part);
|
|
293
|
+
set.add(part);
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
metaData[item] = [
|
|
297
|
+
...set
|
|
298
|
+
];
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return new Meta(deepFreeze(metaData), getParamTypes(instance, i) || []);
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
__name(getMetaFromInstance, "getMetaFromInstance");
|
|
305
|
+
function deepFreeze(object) {
|
|
306
|
+
Object.freeze(object);
|
|
307
|
+
Object.getOwnPropertyNames(object).forEach((prop) => {
|
|
308
|
+
if (object[prop] !== null && (typeof object[prop] === "object" || typeof object[prop] === "function") && !Object.isFrozen(object[prop])) deepFreeze(object[prop]);
|
|
309
|
+
});
|
|
310
|
+
return object;
|
|
311
|
+
}
|
|
312
|
+
__name(deepFreeze, "deepFreeze");
|
|
313
|
+
function getParamTypes(Model, key) {
|
|
314
|
+
const paramTypes = Reflect.getMetadata("design:paramtypes", Model, key);
|
|
315
|
+
if (typeof paramTypes === "function") return paramTypes();
|
|
316
|
+
else return paramTypes;
|
|
317
|
+
}
|
|
318
|
+
__name(getParamTypes, "getParamTypes");
|
|
319
|
+
|
|
320
|
+
export {
|
|
321
|
+
Meta,
|
|
322
|
+
emitter,
|
|
323
|
+
defaultServerInject,
|
|
324
|
+
phecdaNamespace,
|
|
325
|
+
ServerPhecda,
|
|
326
|
+
Factory,
|
|
327
|
+
useS
|
|
328
|
+
};
|
|
329
|
+
//# sourceMappingURL=chunk-JL3U632E.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/meta.ts","../src/core.ts"],"sourcesContent":["import type { BaseRequestType } from './types'\r\n\r\nexport interface ServiceMetaData {\r\n func: string\r\n name: string\r\n tag: string\r\n define?: any\r\n [key: string]: any\r\n}\r\n\r\nexport interface ControllerMetaData extends ServiceMetaData {\r\n controller: string\r\n http?: {\r\n type: BaseRequestType\r\n prefix: string\r\n route: string\r\n headers?: Record<string, string>\r\n\r\n }\r\n rpc?: {\r\n queue?: string\r\n isEvent?: boolean\r\n }\r\n ctxs?: string[]\r\n params: { type: string; index: number; key: string; pipe?: string; define: Record<string, any> }[]\r\n guards: string[]\r\n pipe?: string\r\n filter?: string\r\n addons: string[]\r\n\r\n}\r\n\r\nexport type MetaData = ControllerMetaData | ServiceMetaData\r\n\r\nexport class Meta {\r\n constructor(public data: MetaData, public paramsType: any[]) {\r\n\r\n }\r\n}\r\n\r\nexport interface ControllerMeta extends Meta {\r\n data: ControllerMetaData\r\n}\r\n","import 'reflect-metadata'\r\nimport EventEmitter from 'node:events'\r\nimport type { Construct, Phecda, WatcherParam } from 'phecda-core'\r\nimport { getInject, getMergedMeta, getMetaKey, getMetaParams, getTag, invokeInit, invokeUnmount, setInject } from 'phecda-core'\r\nimport Debug from 'debug'\r\nimport type { Emitter } from './types'\r\nimport type { MetaData } from './meta'\r\nimport { Meta } from './meta'\r\nimport { log } from './utils'\r\nimport { IS_ONLY_GENERATE } from './common'\r\nimport type { Generator } from './generator'\r\nimport { HMR } from './hmr'\r\n\r\nconst debug = Debug('phecda-server(Factory)')\r\n// TODO: support both emitter types and origin emitter type in future\r\nexport const emitter: Emitter = new EventEmitter() as any\r\nexport interface Options {\r\n parseModule?: (module: any) => any\r\n parseMeta?: (meta: Meta) => Meta | null | undefined\r\n generators?: Generator[]\r\n namespace?: string\r\n\r\n}\r\n\r\nexport function defaultServerInject() {\r\n if (!getInject('watcher')) {\r\n setInject('watcher', ({ eventName, instance, property, options }: WatcherParam) => {\r\n const fn = typeof instance[property] === 'function' ? instance[property].bind(instance) : (v: any) => instance[property] = v\r\n\r\n if (options?.once)\r\n (emitter as any).once(eventName, fn)\r\n\r\n else\r\n (emitter as any).on(eventName, fn)\r\n\r\n return () => {\r\n (emitter as any).off(eventName, fn)\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport const phecdaNamespace = new Map<string, ServerPhecda>()\r\n\r\nexport class ServerPhecda {\r\n moduleMap = new Map<PropertyKey, InstanceType<Construct>>()\r\n meta: Meta[] = []\r\n modelMap = new WeakMap<InstanceType<Construct>, Construct>()\r\n modelSet = new WeakSet<Construct>()\r\n dependenceGraph = new Map<PropertyKey, Set<PropertyKey>>()\r\n parseModule: (module: any) => any\r\n parseMeta: (meta: Meta) => Meta | null | undefined\r\n generators: Generator[]\r\n constructor(options: Options) {\r\n defaultServerInject()\r\n const { namespace = 'default', parseModule = (module: any) => module, parseMeta = (meta: any) => meta, generators = [] } = options\r\n phecdaNamespace.set(namespace, this)\r\n this.parseMeta = parseMeta\r\n this.parseModule = parseModule\r\n this.generators = generators\r\n }\r\n\r\n async start(models: Construct[]) {\r\n for (const model of models)\r\n await this.buildDepModule(model)\r\n\r\n this.hmr()\r\n this.generateCode().then(() => {\r\n if (IS_ONLY_GENERATE)\r\n process.exit(4)// only output code/work for ci\r\n })\r\n }\r\n\r\n generateCode = async () => {\r\n return Promise.all(this.generators.map((generator) => {\r\n debug(`generate \"${generator.name}\" code to ${generator.path}`)\r\n\r\n return generator.output(this.meta)\r\n }))\r\n }\r\n\r\n hmr() {\r\n HMR(async (oldModels, newModels) => {\r\n debug('reload models ')\r\n\r\n await this.replace(oldModels, newModels)\r\n\r\n this.generateCode()\r\n })\r\n }\r\n // async add(Model: Construct) {\r\n // const tag = getTag(Model)\r\n\r\n // const oldInstance = await this.del(tag)\r\n // const { module: newModule } = await this.buildDepModule(Model)\r\n\r\n // if (oldInstance && this.dependenceGraph.has(tag)) {\r\n // debug(`replace module \"${String(tag)}\"`);\r\n\r\n // [...this.dependenceGraph.get(tag)!].forEach((tag) => {\r\n // const module = this.moduleMap.get(tag)\r\n // for (const key in module) {\r\n // if (module[key] === oldInstance)\r\n // module[key] = newModule\r\n // }\r\n // })\r\n // }\r\n // }\r\n\r\n // async del(modelOrTag: Construct | PropertyKey) {\r\n // const tag = typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag\r\n\r\n // if (!this.moduleMap.has(tag))\r\n // return\r\n\r\n // const module = this.moduleMap.get(tag)\r\n\r\n // debug(`unmount module \"${String(tag)}\"`)\r\n // await invokeUnmount(module)\r\n // debug(`del module \"${String(tag)}\"`)\r\n\r\n // this.moduleMap.delete(tag)\r\n // this.modelMap.delete(module)\r\n // for (let i = this.meta.length - 1; i >= 0; i--) {\r\n // if (this.meta[i].data.tag === tag)\r\n // this.meta.splice(i, 1)\r\n // }\r\n // return module\r\n // }\r\n\r\n async destroy() {\r\n debug('destroy all')\r\n\r\n this.replace(Object.values(this.modelMap), [])\r\n }\r\n\r\n createProxyModule(tag: PropertyKey) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const that = this\r\n return new Proxy({}, {\r\n get(_target, prop) {\r\n const module = that.moduleMap.get(tag)\r\n return Reflect.get(module, prop, module)\r\n },\r\n set(_target, prop, newValue) {\r\n const module = that.moduleMap.get(tag)\r\n\r\n return Reflect.set(module, prop, newValue, module)\r\n },\r\n has(_target, prop) {\r\n return Reflect.has(that.moduleMap.get(tag), prop)\r\n },\r\n ownKeys() {\r\n return Reflect.ownKeys(that.moduleMap.get(tag))\r\n },\r\n getPrototypeOf() {\r\n return Reflect.getPrototypeOf(that.moduleMap.get(tag))\r\n },\r\n getOwnPropertyDescriptor(_target, prop) {\r\n return Reflect.getOwnPropertyDescriptor(that.moduleMap.get(tag), prop)\r\n },\r\n })\r\n }\r\n\r\n protected async buildDepModule(Model: Construct) {\r\n const paramtypes = getParamTypes(Model) as Construct[]\r\n let module: InstanceType<Construct>\r\n const tag = getTag(Model)\r\n\r\n if (this.moduleMap.has(tag)) {\r\n module = this.moduleMap.get(tag)\r\n if (!module) {\r\n log(`Exist Circular-Dependency or Multiple modules with the same tag [${String(tag)}]`, 'warn')\r\n return { module: this.createProxyModule(tag), tag }\r\n }\r\n if (this.modelMap.get(module) !== Model && !this.modelSet.has(Model)) {\r\n this.modelSet.add(Model)// a module will only warn once\r\n\r\n if (module instanceof Model)\r\n log(`Module taged ${String(tag)} has been overridden`)// legal override\r\n else\r\n log(`Synonym module: Module taged \"${String(tag)}\" has been loaded before, so phecda-server won't load Module \"${Model.name}\"`, 'warn')\r\n }\r\n return { module, tag }\r\n }\r\n this.moduleMap.set(tag, undefined)\r\n debug(`instantiate module \"${String(tag)}\"`)\r\n\r\n if (paramtypes) {\r\n const paramtypesInstances = [] as any[]\r\n for (const i in paramtypes) {\r\n const { module: sub, tag: subTag } = await this.buildDepModule(paramtypes[i])\r\n paramtypesInstances[i] = sub\r\n if (!this.dependenceGraph.has(subTag))\r\n this.dependenceGraph.set(subTag, new Set())\r\n this.dependenceGraph.get(subTag)!.add(tag)\r\n }\r\n\r\n module = this.parseModule(new Model(...paramtypesInstances))\r\n }\r\n else {\r\n module = this.parseModule(new Model())\r\n }\r\n this.meta.push(...getMetaFromInstance(module, tag, Model.name).map(this.parseMeta).filter(item => !!item))\r\n\r\n debug(`init module \"${String(tag)}\"`)\r\n\r\n if (!IS_ONLY_GENERATE)\r\n await invokeInit(module)\r\n\r\n debug(`add module \"${String(tag)}\"`)\r\n\r\n this.moduleMap.set(tag, module)\r\n this.modelMap.set(module, Model)\r\n return { module, tag }\r\n }\r\n\r\n async replace(oldModels: Construct[], newModels: Construct[]) {\r\n const oldModules = (await Promise.all(oldModels.map(async (model) => {\r\n const tag = getTag(model)\r\n if (!this.has(tag))\r\n return\r\n const module = this.moduleMap.get(tag)\r\n\r\n debug(`unmount module \"${String(tag)}\"`)\r\n await invokeUnmount(module)\r\n debug(`del module \"${String(tag)}\"`)\r\n\r\n this.moduleMap.delete(tag)\r\n this.modelMap.delete(module)\r\n for (let i = this.meta.length - 1; i >= 0; i--) {\r\n if (this.meta[i].data.tag === tag)\r\n this.meta.splice(i, 1)\r\n }\r\n return module\r\n }))).filter(item => item)\r\n\r\n for (const model of newModels) {\r\n debug(`add model ${model}`)\r\n\r\n await this.buildDepModule(model)\r\n }\r\n\r\n for (const module of oldModules) {\r\n const tag = getTag(module)\r\n if (this.dependenceGraph.has(tag)) {\r\n [...this.dependenceGraph.get(tag)!].forEach((depTag) => {\r\n const depModule = this.moduleMap.get(depTag)\r\n\r\n if (depModule) {\r\n for (const key in depModule) {\r\n if (depModule[key] === module)\r\n depModule[key] = this.moduleMap.get(tag)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n has(modelOrTag: Construct | PropertyKey) {\r\n return this.moduleMap.has(typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag)\r\n }\r\n\r\n get<Model extends Construct>(modelOrTag: Model | PropertyKey): InstanceType<Model> {\r\n const tag = typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag\r\n if (!this.has(tag))\r\n throw new Error(`module \"${tag.toString()}\" doesn't exist`)\r\n return this.moduleMap.get(tag)\r\n }\r\n}\r\n\r\nexport async function Factory(models: Construct[], opts: Options = {}) {\r\n const phecda = new ServerPhecda(opts)\r\n await phecda.start(models)\r\n return phecda\r\n}\r\n\r\nexport function useS<Model extends Construct>(model: Model, namespace?: string): InstanceType<Model>\r\nexport function useS(namespace?: string): ServerPhecda\r\nexport function useS(nsOrModel?: Construct | string, namespace?: string) {\r\n if (!nsOrModel) {\r\n namespace = 'default'\r\n }\r\n else {\r\n if (typeof nsOrModel === 'string')\r\n namespace = nsOrModel\r\n else if (!namespace)\r\n namespace = 'default'\r\n }\r\n if (!phecdaNamespace.has(namespace))\r\n throw new Error(`namespace \"${namespace}\" doesn't exist`)\r\n const serverPhecda = phecdaNamespace.get(namespace)!\r\n if (nsOrModel && typeof nsOrModel !== 'string')\r\n return serverPhecda.get(nsOrModel)\r\n else\r\n\r\n return serverPhecda\r\n}\r\n\r\nfunction getMetaFromInstance(instance: Phecda, tag: PropertyKey, name: string) {\r\n const propertyKeys = getMetaKey(instance).filter(item => typeof item === 'string') as string[]\r\n const baseMeta = getMergedMeta(instance, undefined) as MetaData\r\n\r\n const ctxs = baseMeta.ctxs\r\n return propertyKeys.filter(i => typeof (instance as any)[i] === 'function').map((i) => {\r\n const meta = getMergedMeta(instance, i)\r\n const metaData = {\r\n ...meta,\r\n name,\r\n tag,\r\n func:\r\n i,\r\n } as MetaData\r\n if (baseMeta.controller) {\r\n if (typeof tag !== 'string')\r\n log(`can't use Tag with ${typeof tag} on controller \"${(instance as any).constructor.name}\",instead with \"${tag = String(tag)}\"`, 'error')\r\n metaData.controller = baseMeta.controller\r\n metaData[baseMeta.controller] = {\r\n ...baseMeta[baseMeta.controller],\r\n ...meta[baseMeta.controller],\r\n }\r\n\r\n const params = getMetaParams(instance, i).map(item => getMergedMeta(instance, i, item))\r\n params.forEach((item, index) => {\r\n if (!item.pipe)\r\n item.pipe = meta.pipe || baseMeta.pipe\r\n if (!item.define)\r\n item.define = {}\r\n item.index = index\r\n })\r\n\r\n metaData.ctxs = ctxs\r\n metaData.params = params\r\n metaData.filter = meta.filter || baseMeta.filter\r\n metaData.define = { ...baseMeta.define, ...meta.define }\r\n\r\n for (const item of ['addons', 'guards']) {\r\n const set = new Set<string>(baseMeta[item])\r\n if (meta[item]) {\r\n meta[item].forEach((part: string) => {\r\n set.delete(part)\r\n set.add(part)\r\n })\r\n }\r\n\r\n metaData[item] = [...set]\r\n }\r\n\r\n // metaData.addons = [...new Set([...baseMeta.addons, ...meta.addons])]\r\n // metaData.guards = [...new Set([...baseMeta.guards, ...meta.guards])]\r\n // metaData.interceptors = [...new Set([...baseMeta.interceptors, ...meta.interceptors])]\r\n }\r\n return new Meta(deepFreeze(metaData as MetaData), getParamTypes(instance, i as string) || [])\r\n })\r\n}\r\n\r\nfunction deepFreeze<T extends Record<string, any>>(object: T): T {\r\n // 先冻结对象本身\r\n Object.freeze(object)\r\n\r\n // 获取对象的所有属性名\r\n Object.getOwnPropertyNames(object).forEach((prop) => {\r\n // 如果属性是对象,并且没有被冻结,则递归冻结\r\n if (object[prop] !== null\r\n && (typeof object[prop] === 'object' || typeof object[prop] === 'function')\r\n && !Object.isFrozen(object[prop]))\r\n deepFreeze(object[prop])\r\n })\r\n\r\n return object\r\n}\r\nfunction getParamTypes(Model: any, key?: string | symbol) {\r\n const paramTypes = Reflect.getMetadata('design:paramtypes', Model, key!)\r\n if (typeof paramTypes === 'function')// work with loader to handle Circular-Dependency\r\n return paramTypes()\r\n\r\n else return paramTypes\r\n}\r\n"],"mappings":"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","names":["Meta","constructor","data","paramsType","EventEmitter","getInject","getMergedMeta","getMetaKey","getMetaParams","getTag","invokeInit","invokeUnmount","setInject","Debug","debug","Debug","emitter","EventEmitter","defaultServerInject","getInject","setInject","eventName","instance","property","options","fn","bind","v","once","on","off","phecdaNamespace","Map","ServerPhecda","moduleMap","meta","modelMap","WeakMap","modelSet","WeakSet","dependenceGraph","parseModule","parseMeta","generators","constructor","namespace","module","set","start","models","model","buildDepModule","hmr","generateCode","then","IS_ONLY_GENERATE","process","exit","Promise","all","map","generator","name","path","output","HMR","oldModels","newModels","replace","destroy","Object","values","createProxyModule","tag","that","Proxy","get","_target","prop","Reflect","newValue","has","ownKeys","getPrototypeOf","getOwnPropertyDescriptor","Model","paramtypes","getParamTypes","getTag","log","String","add","undefined","paramtypesInstances","i","sub","subTag","Set","push","getMetaFromInstance","filter","item","invokeInit","oldModules","invokeUnmount","delete","length","data","splice","forEach","depTag","depModule","key","modelOrTag","Error","toString","Factory","opts","phecda","useS","nsOrModel","serverPhecda","propertyKeys","getMetaKey","baseMeta","getMergedMeta","ctxs","metaData","func","controller","params","getMetaParams","index","pipe","define","part","Meta","deepFreeze","object","freeze","getOwnPropertyNames","isFrozen","paramTypes","getMetadata"]}
|