@geekmidas/constructs 0.5.0 → 0.6.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 (303) hide show
  1. package/dist/{AWSLambdaFunction-DnMm4xvz.mjs → AWSLambdaFunction-BMTaCrG9.mjs} +3 -3
  2. package/dist/{AWSLambdaFunction-DnMm4xvz.mjs.map → AWSLambdaFunction-BMTaCrG9.mjs.map} +1 -1
  3. package/dist/{AWSLambdaFunction-CuG3HNZx.d.mts → AWSLambdaFunction-BfLF5vNa.d.cts} +5 -5
  4. package/dist/{AWSLambdaFunction-CuG3HNZx.d.mts.map → AWSLambdaFunction-BfLF5vNa.d.cts.map} +1 -1
  5. package/dist/{AWSLambdaFunction-Ba1DcsW2.cjs → AWSLambdaFunction-C1gRqLO7.cjs} +3 -3
  6. package/dist/{AWSLambdaFunction-Ba1DcsW2.cjs.map → AWSLambdaFunction-C1gRqLO7.cjs.map} +1 -1
  7. package/dist/{AWSLambdaFunction-CKe73Qr0.d.cts → AWSLambdaFunction-K94K8JU2.d.mts} +5 -5
  8. package/dist/{AWSLambdaFunction-CKe73Qr0.d.cts.map → AWSLambdaFunction-K94K8JU2.d.mts.map} +1 -1
  9. package/dist/{AWSLambdaSubscriberAdaptor-B4HH-WuQ.d.mts → AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts} +4 -4
  10. package/dist/{AWSLambdaSubscriberAdaptor-B4HH-WuQ.d.mts.map → AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts.map} +1 -1
  11. package/dist/{AWSLambdaSubscriberAdaptor-BEqQ96VJ.d.cts → AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts} +4 -4
  12. package/dist/{AWSLambdaSubscriberAdaptor-BEqQ96VJ.d.cts.map → AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts.map} +1 -1
  13. package/dist/{AmazonApiGatewayEndpointAdaptor-Bvy-Hgjf.mjs → AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs} +2 -2
  14. package/dist/{AmazonApiGatewayEndpointAdaptor-Bvy-Hgjf.mjs.map → AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs.map} +1 -1
  15. package/dist/{AmazonApiGatewayEndpointAdaptor-DsWnO6x9.d.cts → AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts} +2 -2
  16. package/dist/{AmazonApiGatewayEndpointAdaptor-DsWnO6x9.d.cts.map → AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts.map} +1 -1
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-Cpxluhfg.cjs → AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs} +2 -2
  18. package/dist/{AmazonApiGatewayEndpointAdaptor-Cpxluhfg.cjs.map → AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs.map} +1 -1
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-DTgdZ8I1.d.mts → AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts} +2 -2
  20. package/dist/{AmazonApiGatewayEndpointAdaptor-DTgdZ8I1.d.mts.map → AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts.map} +1 -1
  21. package/dist/{AmazonApiGatewayV1EndpointAdaptor-B8vIYYNh.cjs → AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs} +2 -2
  22. package/dist/{AmazonApiGatewayV1EndpointAdaptor-B8vIYYNh.cjs.map → AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs.map} +1 -1
  23. package/dist/{AmazonApiGatewayV1EndpointAdaptor-RWRmFPrN.d.mts → AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts} +3 -3
  24. package/dist/{AmazonApiGatewayV1EndpointAdaptor-RWRmFPrN.d.mts.map → AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts.map} +1 -1
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-7ELXUBFK.d.cts → AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts} +3 -3
  26. package/dist/{AmazonApiGatewayV1EndpointAdaptor-7ELXUBFK.d.cts.map → AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts.map} +1 -1
  27. package/dist/{AmazonApiGatewayV1EndpointAdaptor-ByXGIju8.mjs → AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs} +2 -2
  28. package/dist/{AmazonApiGatewayV1EndpointAdaptor-ByXGIju8.mjs.map → AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs.map} +1 -1
  29. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D_uMTmuJ.d.cts → AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts} +3 -3
  30. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D_uMTmuJ.d.cts.map → AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts.map} +1 -1
  31. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DIetspUm.cjs → AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs} +2 -2
  32. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DIetspUm.cjs.map → AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs.map} +1 -1
  33. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DWemCZvl.mjs → AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs} +2 -2
  34. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DWemCZvl.mjs.map → AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs.map} +1 -1
  35. package/dist/{AmazonApiGatewayV2EndpointAdaptor-wnOMDv6o.d.mts → AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts} +3 -3
  36. package/dist/{AmazonApiGatewayV2EndpointAdaptor-wnOMDv6o.d.mts.map → AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts.map} +1 -1
  37. package/dist/{BaseFunctionBuilder-BAtutR6q.d.cts → BaseFunctionBuilder-BqZCqIeU.d.mts} +3 -3
  38. package/dist/{BaseFunctionBuilder-BAtutR6q.d.cts.map → BaseFunctionBuilder-BqZCqIeU.d.mts.map} +1 -1
  39. package/dist/{BaseFunctionBuilder-CDfDWWAQ.d.mts → BaseFunctionBuilder-CcK691ni.d.cts} +3 -3
  40. package/dist/{BaseFunctionBuilder-CDfDWWAQ.d.mts.map → BaseFunctionBuilder-CcK691ni.d.cts.map} +1 -1
  41. package/dist/{BaseFunctionBuilder-0qlenb9z.mjs → BaseFunctionBuilder-Dsqe6pnn.mjs} +2 -2
  42. package/dist/{BaseFunctionBuilder-0qlenb9z.mjs.map → BaseFunctionBuilder-Dsqe6pnn.mjs.map} +1 -1
  43. package/dist/{BaseFunctionBuilder-D7o93EGv.cjs → BaseFunctionBuilder-Z0XwrKB5.cjs} +2 -2
  44. package/dist/{BaseFunctionBuilder-D7o93EGv.cjs.map → BaseFunctionBuilder-Z0XwrKB5.cjs.map} +1 -1
  45. package/dist/{Construct-D5dCvxZ3.mjs → Construct-BNDLJJfD.mjs} +56 -13
  46. package/dist/Construct-BNDLJJfD.mjs.map +1 -0
  47. package/dist/{Construct-BlnyYtJC.cjs → Construct-CPrCF8NK.cjs} +67 -12
  48. package/dist/Construct-CPrCF8NK.cjs.map +1 -0
  49. package/dist/{Construct-C4rPE67v.d.cts → Construct-Dl0l2d8d.d.cts} +30 -4
  50. package/dist/Construct-Dl0l2d8d.d.cts.map +1 -0
  51. package/dist/{Construct-dZiwVo0q.d.mts → Construct-E8QPyHh4.d.mts} +30 -4
  52. package/dist/Construct-E8QPyHh4.d.mts.map +1 -0
  53. package/dist/Construct.cjs +4 -2
  54. package/dist/Construct.d.cts +2 -2
  55. package/dist/Construct.d.mts +2 -2
  56. package/dist/Construct.mjs +2 -2
  57. package/dist/{Cron-BAPQetlC.cjs → Cron-BmPNTLla.cjs} +3 -3
  58. package/dist/{Cron-BAPQetlC.cjs.map → Cron-BmPNTLla.cjs.map} +1 -1
  59. package/dist/{Cron-CAk_ddH8.mjs → Cron-BpJONaFv.mjs} +3 -3
  60. package/dist/{Cron-CAk_ddH8.mjs.map → Cron-BpJONaFv.mjs.map} +1 -1
  61. package/dist/{Cron-B6FnTu7k.d.cts → Cron-CnmLLh3E.d.mts} +3 -3
  62. package/dist/{Cron-B6FnTu7k.d.cts.map → Cron-CnmLLh3E.d.mts.map} +1 -1
  63. package/dist/{Cron-D3bEljxQ.d.mts → Cron-DufAeHry.d.cts} +3 -3
  64. package/dist/{Cron-D3bEljxQ.d.mts.map → Cron-DufAeHry.d.cts.map} +1 -1
  65. package/dist/{CronBuilder-e8TaHPYm.mjs → CronBuilder-02HSIHJr.mjs} +4 -4
  66. package/dist/{CronBuilder-e8TaHPYm.mjs.map → CronBuilder-02HSIHJr.mjs.map} +1 -1
  67. package/dist/{CronBuilder-DxXA5ymv.cjs → CronBuilder-DC2zUS8a.cjs} +4 -4
  68. package/dist/{CronBuilder-DxXA5ymv.cjs.map → CronBuilder-DC2zUS8a.cjs.map} +1 -1
  69. package/dist/{CronBuilder-CA8euP0z.d.cts → CronBuilder-anUSbMxb.d.mts} +5 -5
  70. package/dist/{CronBuilder-CA8euP0z.d.cts.map → CronBuilder-anUSbMxb.d.mts.map} +1 -1
  71. package/dist/{CronBuilder-DvdiKzhq.d.mts → CronBuilder-fyqf_X8n.d.cts} +5 -5
  72. package/dist/{CronBuilder-DvdiKzhq.d.mts.map → CronBuilder-fyqf_X8n.d.cts.map} +1 -1
  73. package/dist/{Endpoint-DxvnlfXg.cjs → Endpoint-BCWVbi8l.cjs} +3 -3
  74. package/dist/{Endpoint-DxvnlfXg.cjs.map → Endpoint-BCWVbi8l.cjs.map} +1 -1
  75. package/dist/{Endpoint-BOlbY5iq.d.cts → Endpoint-BlcHiGNx.d.cts} +2 -2
  76. package/dist/{Endpoint-Dlv7nxgj.d.mts.map → Endpoint-BlcHiGNx.d.cts.map} +1 -1
  77. package/dist/{Endpoint-Dlv7nxgj.d.mts → Endpoint-DEHuy46S.d.mts} +2 -2
  78. package/dist/{Endpoint-BOlbY5iq.d.cts.map → Endpoint-DEHuy46S.d.mts.map} +1 -1
  79. package/dist/{Endpoint-BbdNmtlM.mjs → Endpoint-ygxv2Ia6.mjs} +3 -3
  80. package/dist/{Endpoint-BbdNmtlM.mjs.map → Endpoint-ygxv2Ia6.mjs.map} +1 -1
  81. package/dist/{EndpointBuilder-CFfWWjUa.d.cts → EndpointBuilder-DPLAUHqg.d.cts} +3 -3
  82. package/dist/{EndpointBuilder-T_K2NLWw.d.mts.map → EndpointBuilder-DPLAUHqg.d.cts.map} +1 -1
  83. package/dist/{EndpointBuilder-T_K2NLWw.d.mts → EndpointBuilder-DaeCeneF.d.mts} +3 -3
  84. package/dist/{EndpointBuilder-CFfWWjUa.d.cts.map → EndpointBuilder-DaeCeneF.d.mts.map} +1 -1
  85. package/dist/{EndpointBuilder-40Iz5CjY.cjs → EndpointBuilder-J5D67Y6a.cjs} +4 -4
  86. package/dist/{EndpointBuilder-40Iz5CjY.cjs.map → EndpointBuilder-J5D67Y6a.cjs.map} +1 -1
  87. package/dist/{EndpointBuilder-BaVvhW9m.mjs → EndpointBuilder-tn4zqoyw.mjs} +4 -4
  88. package/dist/{EndpointBuilder-BaVvhW9m.mjs.map → EndpointBuilder-tn4zqoyw.mjs.map} +1 -1
  89. package/dist/{EndpointFactory-DfNjSgVG.mjs → EndpointFactory-CIUZTTAF.mjs} +2 -2
  90. package/dist/{EndpointFactory-DfNjSgVG.mjs.map → EndpointFactory-CIUZTTAF.mjs.map} +1 -1
  91. package/dist/{EndpointFactory-ChzBVEM9.d.cts → EndpointFactory-CiKcb5PX.d.cts} +3 -3
  92. package/dist/{EndpointFactory-ChzBVEM9.d.cts.map → EndpointFactory-CiKcb5PX.d.cts.map} +1 -1
  93. package/dist/{EndpointFactory-GAL_tuPf.d.mts → EndpointFactory-DufM0t2z.d.mts} +3 -3
  94. package/dist/{EndpointFactory-GAL_tuPf.d.mts.map → EndpointFactory-DufM0t2z.d.mts.map} +1 -1
  95. package/dist/{EndpointFactory-r6jxPvQ8.cjs → EndpointFactory-d5uwWFkK.cjs} +2 -2
  96. package/dist/{EndpointFactory-r6jxPvQ8.cjs.map → EndpointFactory-d5uwWFkK.cjs.map} +1 -1
  97. package/dist/{Function-iLKrUXuw.cjs → Function-2qWSZqYB.cjs} +2 -2
  98. package/dist/{Function-iLKrUXuw.cjs.map → Function-2qWSZqYB.cjs.map} +1 -1
  99. package/dist/{Function-DBmU3uGI.d.mts → Function-CbEohg13.d.cts} +3 -3
  100. package/dist/{Function-DBmU3uGI.d.mts.map → Function-CbEohg13.d.cts.map} +1 -1
  101. package/dist/{Function-D8tBamM3.mjs → Function-CdF1HmFu.mjs} +2 -2
  102. package/dist/{Function-D8tBamM3.mjs.map → Function-CdF1HmFu.mjs.map} +1 -1
  103. package/dist/{Function-PNW4HdNE.d.cts → Function-EjIOLxlh.d.mts} +3 -3
  104. package/dist/{Function-PNW4HdNE.d.cts.map → Function-EjIOLxlh.d.mts.map} +1 -1
  105. package/dist/{FunctionBuilder-BEpPgeho.cjs → FunctionBuilder-B-pbgm09.cjs} +4 -4
  106. package/dist/{FunctionBuilder-BEpPgeho.cjs.map → FunctionBuilder-B-pbgm09.cjs.map} +1 -1
  107. package/dist/{FunctionBuilder-Bv4H2I1a.d.mts → FunctionBuilder-CX3ooNdq.d.cts} +5 -5
  108. package/dist/{FunctionBuilder-Bv4H2I1a.d.mts.map → FunctionBuilder-CX3ooNdq.d.cts.map} +1 -1
  109. package/dist/{FunctionBuilder-DCqXIHaq.d.cts → FunctionBuilder-D11ytDyy.d.mts} +5 -5
  110. package/dist/{FunctionBuilder-DCqXIHaq.d.cts.map → FunctionBuilder-D11ytDyy.d.mts.map} +1 -1
  111. package/dist/{FunctionBuilder-BwNF99AB.mjs → FunctionBuilder-DaWVthAJ.mjs} +4 -4
  112. package/dist/{FunctionBuilder-BwNF99AB.mjs.map → FunctionBuilder-DaWVthAJ.mjs.map} +1 -1
  113. package/dist/{FunctionExecutionWrapper-BclgIztn.d.cts → FunctionExecutionWrapper-BJcRjH9Z.d.cts} +2 -2
  114. package/dist/{FunctionExecutionWrapper-BclgIztn.d.cts.map → FunctionExecutionWrapper-BJcRjH9Z.d.cts.map} +1 -1
  115. package/dist/{FunctionExecutionWrapper-BjF6t9Hb.cjs → FunctionExecutionWrapper-C6ChBNHs.cjs} +2 -2
  116. package/dist/{FunctionExecutionWrapper-BjF6t9Hb.cjs.map → FunctionExecutionWrapper-C6ChBNHs.cjs.map} +1 -1
  117. package/dist/{FunctionExecutionWrapper-Dq21c6vt.d.mts → FunctionExecutionWrapper-D3RNjGIR.d.mts} +2 -2
  118. package/dist/{FunctionExecutionWrapper-Dq21c6vt.d.mts.map → FunctionExecutionWrapper-D3RNjGIR.d.mts.map} +1 -1
  119. package/dist/{FunctionExecutionWrapper-B__HE_B-.mjs → FunctionExecutionWrapper-Dj3pmXaN.mjs} +2 -2
  120. package/dist/{FunctionExecutionWrapper-B__HE_B-.mjs.map → FunctionExecutionWrapper-Dj3pmXaN.mjs.map} +1 -1
  121. package/dist/{HonoEndpointAdaptor-HukjdF6M.d.mts → HonoEndpointAdaptor-CKP6nrG2.d.mts} +4 -4
  122. package/dist/{HonoEndpointAdaptor-Dkkemmbo.d.cts.map → HonoEndpointAdaptor-CKP6nrG2.d.mts.map} +1 -1
  123. package/dist/{HonoEndpointAdaptor-C_ym_Sbr.mjs → HonoEndpointAdaptor-Cc8Rnp9G.mjs} +3 -3
  124. package/dist/{HonoEndpointAdaptor-C_ym_Sbr.mjs.map → HonoEndpointAdaptor-Cc8Rnp9G.mjs.map} +1 -1
  125. package/dist/{HonoEndpointAdaptor-Dkkemmbo.d.cts → HonoEndpointAdaptor-hrrvyfw9.d.cts} +2 -2
  126. package/dist/{HonoEndpointAdaptor-HukjdF6M.d.mts.map → HonoEndpointAdaptor-hrrvyfw9.d.cts.map} +1 -1
  127. package/dist/{HonoEndpointAdaptor-DiQH0eTb.cjs → HonoEndpointAdaptor-xGnDZa3a.cjs} +3 -3
  128. package/dist/{HonoEndpointAdaptor-DiQH0eTb.cjs.map → HonoEndpointAdaptor-xGnDZa3a.cjs.map} +1 -1
  129. package/dist/{Subscriber--zUjZDR6.d.cts → Subscriber-BBcIOkhW.d.cts} +2 -2
  130. package/dist/{Subscriber--zUjZDR6.d.cts.map → Subscriber-BBcIOkhW.d.cts.map} +1 -1
  131. package/dist/{Subscriber-0Ac7cXID.d.mts → Subscriber-BpTAXvbM.d.mts} +2 -2
  132. package/dist/{Subscriber-0Ac7cXID.d.mts.map → Subscriber-BpTAXvbM.d.mts.map} +1 -1
  133. package/dist/{Subscriber-CoFmHMIM.cjs → Subscriber-CL4iYm01.cjs} +2 -2
  134. package/dist/{Subscriber-CoFmHMIM.cjs.map → Subscriber-CL4iYm01.cjs.map} +1 -1
  135. package/dist/{Subscriber-BgZ8T-O2.mjs → Subscriber-CZ8Smwd2.mjs} +2 -2
  136. package/dist/{Subscriber-BgZ8T-O2.mjs.map → Subscriber-CZ8Smwd2.mjs.map} +1 -1
  137. package/dist/{SubscriberBuilder-DWXWZBPo.mjs → SubscriberBuilder-CxQg3TTm.mjs} +2 -2
  138. package/dist/{SubscriberBuilder-DWXWZBPo.mjs.map → SubscriberBuilder-CxQg3TTm.mjs.map} +1 -1
  139. package/dist/{SubscriberBuilder-JlxhyqGp.cjs → SubscriberBuilder-D0OS3hd7.cjs} +2 -2
  140. package/dist/{SubscriberBuilder-JlxhyqGp.cjs.map → SubscriberBuilder-D0OS3hd7.cjs.map} +1 -1
  141. package/dist/{SubscriberBuilder-D8cmUHee.d.mts → SubscriberBuilder-D7IgufwB.d.cts} +3 -3
  142. package/dist/{SubscriberBuilder-D8cmUHee.d.mts.map → SubscriberBuilder-D7IgufwB.d.cts.map} +1 -1
  143. package/dist/{SubscriberBuilder-DciTqb-7.d.cts → SubscriberBuilder-DOFBbWLt.d.mts} +3 -3
  144. package/dist/{SubscriberBuilder-DciTqb-7.d.cts.map → SubscriberBuilder-DOFBbWLt.d.mts.map} +1 -1
  145. package/dist/{TestEndpointAdaptor-Boijwbmz.d.mts → TestEndpointAdaptor-BnJusjf7.d.mts} +2 -2
  146. package/dist/{TestEndpointAdaptor-Boijwbmz.d.mts.map → TestEndpointAdaptor-BnJusjf7.d.mts.map} +1 -1
  147. package/dist/{TestEndpointAdaptor-OiA2JLDp.mjs → TestEndpointAdaptor-CPL8ru6q.mjs} +2 -2
  148. package/dist/{TestEndpointAdaptor-OiA2JLDp.mjs.map → TestEndpointAdaptor-CPL8ru6q.mjs.map} +1 -1
  149. package/dist/{TestEndpointAdaptor-Dk75ExxE.cjs → TestEndpointAdaptor-Ca4K26_d.cjs} +2 -2
  150. package/dist/{TestEndpointAdaptor-Dk75ExxE.cjs.map → TestEndpointAdaptor-Ca4K26_d.cjs.map} +1 -1
  151. package/dist/{TestEndpointAdaptor-DdwpRyNh.d.cts → TestEndpointAdaptor-EPPTjntv.d.cts} +2 -2
  152. package/dist/{TestEndpointAdaptor-DdwpRyNh.d.cts.map → TestEndpointAdaptor-EPPTjntv.d.cts.map} +1 -1
  153. package/dist/adaptors/aws.cjs +11 -11
  154. package/dist/adaptors/aws.d.cts +13 -13
  155. package/dist/adaptors/aws.d.mts +13 -13
  156. package/dist/adaptors/aws.mjs +11 -11
  157. package/dist/adaptors/hono.cjs +8 -8
  158. package/dist/adaptors/hono.d.cts +7 -7
  159. package/dist/adaptors/hono.d.mts +7 -7
  160. package/dist/adaptors/hono.mjs +8 -8
  161. package/dist/adaptors/testing.cjs +7 -7
  162. package/dist/adaptors/testing.d.cts +7 -7
  163. package/dist/adaptors/testing.d.mts +7 -7
  164. package/dist/adaptors/testing.mjs +7 -7
  165. package/dist/crons/Cron.cjs +6 -6
  166. package/dist/crons/Cron.d.cts +6 -6
  167. package/dist/crons/Cron.d.mts +6 -6
  168. package/dist/crons/Cron.mjs +6 -6
  169. package/dist/crons/CronBuilder.cjs +7 -7
  170. package/dist/crons/CronBuilder.d.cts +7 -7
  171. package/dist/crons/CronBuilder.d.mts +7 -7
  172. package/dist/crons/CronBuilder.mjs +7 -7
  173. package/dist/crons/index.cjs +7 -7
  174. package/dist/crons/index.d.cts +7 -7
  175. package/dist/crons/index.d.mts +7 -7
  176. package/dist/crons/index.mjs +7 -7
  177. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  178. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +7 -7
  179. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +7 -7
  180. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  181. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  182. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +8 -8
  183. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +8 -8
  184. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  185. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  186. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +8 -8
  187. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +8 -8
  188. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  189. package/dist/endpoints/Endpoint.cjs +6 -6
  190. package/dist/endpoints/Endpoint.d.cts +6 -6
  191. package/dist/endpoints/Endpoint.d.mts +6 -6
  192. package/dist/endpoints/Endpoint.mjs +6 -6
  193. package/dist/endpoints/EndpointBuilder.cjs +7 -7
  194. package/dist/endpoints/EndpointBuilder.d.cts +7 -7
  195. package/dist/endpoints/EndpointBuilder.d.mts +7 -7
  196. package/dist/endpoints/EndpointBuilder.mjs +7 -7
  197. package/dist/endpoints/EndpointFactory.cjs +8 -8
  198. package/dist/endpoints/EndpointFactory.d.cts +8 -8
  199. package/dist/endpoints/EndpointFactory.d.mts +8 -8
  200. package/dist/endpoints/EndpointFactory.mjs +8 -8
  201. package/dist/endpoints/HonoEndpointAdaptor.cjs +8 -8
  202. package/dist/endpoints/HonoEndpointAdaptor.d.cts +7 -7
  203. package/dist/endpoints/HonoEndpointAdaptor.d.mts +7 -7
  204. package/dist/endpoints/HonoEndpointAdaptor.mjs +8 -8
  205. package/dist/endpoints/TestEndpointAdaptor.cjs +7 -7
  206. package/dist/endpoints/TestEndpointAdaptor.d.cts +7 -7
  207. package/dist/endpoints/TestEndpointAdaptor.d.mts +7 -7
  208. package/dist/endpoints/TestEndpointAdaptor.mjs +7 -7
  209. package/dist/endpoints/audit.d.cts +6 -6
  210. package/dist/endpoints/audit.d.mts +6 -6
  211. package/dist/endpoints/helpers.cjs +7 -7
  212. package/dist/endpoints/helpers.d.cts +6 -6
  213. package/dist/endpoints/helpers.d.mts +6 -6
  214. package/dist/endpoints/helpers.mjs +7 -7
  215. package/dist/endpoints/index.cjs +8 -8
  216. package/dist/endpoints/index.d.cts +10 -10
  217. package/dist/endpoints/index.d.mts +12 -12
  218. package/dist/endpoints/index.mjs +8 -8
  219. package/dist/endpoints/lazyAccessors.d.cts +7 -7
  220. package/dist/endpoints/lazyAccessors.d.mts +7 -7
  221. package/dist/endpoints/processAudits.d.cts +6 -6
  222. package/dist/endpoints/processAudits.d.mts +6 -6
  223. package/dist/endpoints/rls.d.cts +6 -6
  224. package/dist/endpoints/rls.d.mts +6 -6
  225. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  226. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  227. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  228. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  229. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  230. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  231. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  232. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  233. package/dist/functions/Function.cjs +2 -2
  234. package/dist/functions/Function.d.cts +2 -2
  235. package/dist/functions/Function.d.mts +2 -2
  236. package/dist/functions/Function.mjs +2 -2
  237. package/dist/functions/FunctionBuilder.cjs +4 -4
  238. package/dist/functions/FunctionBuilder.d.cts +4 -4
  239. package/dist/functions/FunctionBuilder.d.mts +4 -4
  240. package/dist/functions/FunctionBuilder.mjs +4 -4
  241. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  242. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  243. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  244. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  245. package/dist/functions/TestFunctionAdaptor.cjs +4 -4
  246. package/dist/functions/TestFunctionAdaptor.d.cts +2 -2
  247. package/dist/functions/TestFunctionAdaptor.d.mts +2 -2
  248. package/dist/functions/TestFunctionAdaptor.mjs +4 -4
  249. package/dist/functions/index.cjs +5 -5
  250. package/dist/functions/index.d.cts +5 -5
  251. package/dist/functions/index.d.mts +5 -5
  252. package/dist/functions/index.mjs +5 -5
  253. package/dist/{functions-BkKXVeHm.cjs → functions-CUEv5NC3.cjs} +2 -2
  254. package/dist/{functions-BkKXVeHm.cjs.map → functions-CUEv5NC3.cjs.map} +1 -1
  255. package/dist/functions-DOYBrb7n.mjs +8 -0
  256. package/dist/{functions-C3A1vMRW.mjs.map → functions-DOYBrb7n.mjs.map} +1 -1
  257. package/dist/{helpers-DgsMFMUV.mjs → helpers-Dl1eszfi.mjs} +2 -2
  258. package/dist/{helpers-DgsMFMUV.mjs.map → helpers-Dl1eszfi.mjs.map} +1 -1
  259. package/dist/{helpers-BelEzV4U.cjs → helpers-QMdfdnvU.cjs} +2 -2
  260. package/dist/{helpers-BelEzV4U.cjs.map → helpers-QMdfdnvU.cjs.map} +1 -1
  261. package/dist/{index-D0fp_IK1.d.cts → index-BrGtMlpJ.d.cts} +2 -2
  262. package/dist/{index-CgAQHr3f.d.mts.map → index-BrGtMlpJ.d.cts.map} +1 -1
  263. package/dist/index-Dn4py3Db.d.mts +12 -0
  264. package/dist/{index-D0fp_IK1.d.cts.map → index-Dn4py3Db.d.mts.map} +1 -1
  265. package/dist/index.cjs +4 -2
  266. package/dist/index.d.cts +2 -2
  267. package/dist/index.d.mts +2 -2
  268. package/dist/index.mjs +2 -2
  269. package/dist/{lazyAccessors-B2ILzU-j.d.mts → lazyAccessors-BFAj2-S4.d.mts} +2 -2
  270. package/dist/{lazyAccessors-B2ILzU-j.d.mts.map → lazyAccessors-BFAj2-S4.d.mts.map} +1 -1
  271. package/dist/{lazyAccessors-Bcpi06ed.d.cts → lazyAccessors-knaNZuTN.d.cts} +2 -2
  272. package/dist/{lazyAccessors-Bcpi06ed.d.cts.map → lazyAccessors-knaNZuTN.d.cts.map} +1 -1
  273. package/dist/{publisher-C4BhHB5I.d.cts → publisher-BXG9YiRi.d.mts} +3 -3
  274. package/dist/{publisher-C4BhHB5I.d.cts.map → publisher-BXG9YiRi.d.mts.map} +1 -1
  275. package/dist/{publisher-NE-GnXL8.d.mts → publisher-D9ngDXg3.d.cts} +3 -3
  276. package/dist/{publisher-NE-GnXL8.d.mts.map → publisher-D9ngDXg3.d.cts.map} +1 -1
  277. package/dist/publisher.d.cts +2 -2
  278. package/dist/publisher.d.mts +2 -2
  279. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  280. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  281. package/dist/subscribers/Subscriber.cjs +2 -2
  282. package/dist/subscribers/Subscriber.d.cts +2 -2
  283. package/dist/subscribers/Subscriber.d.mts +2 -2
  284. package/dist/subscribers/Subscriber.mjs +2 -2
  285. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  286. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  287. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  288. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  289. package/dist/subscribers/index.cjs +3 -3
  290. package/dist/subscribers/index.d.cts +3 -3
  291. package/dist/subscribers/index.d.mts +5 -5
  292. package/dist/subscribers/index.d.mts.map +1 -1
  293. package/dist/subscribers/index.mjs +3 -3
  294. package/package.json +10 -9
  295. package/src/Construct.ts +81 -17
  296. package/src/__tests__/Construct.environment.spec.ts +231 -9
  297. package/src/index.ts +6 -1
  298. package/dist/Construct-BlnyYtJC.cjs.map +0 -1
  299. package/dist/Construct-C4rPE67v.d.cts.map +0 -1
  300. package/dist/Construct-D5dCvxZ3.mjs.map +0 -1
  301. package/dist/Construct-dZiwVo0q.d.mts.map +0 -1
  302. package/dist/functions-C3A1vMRW.mjs +0 -8
  303. package/dist/index-CgAQHr3f.d.mts +0 -12
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-BlnyYtJC.cjs');
2
+ const require_Construct = require('./Construct-CPrCF8NK.cjs');
3
3
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
4
4
  const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
5
5
  const __geekmidas_schema_parser = require_chunk.__toESM(require("@geekmidas/schema/parser"));
@@ -81,4 +81,4 @@ Object.defineProperty(exports, 'FunctionFactory', {
81
81
  return FunctionFactory;
82
82
  }
83
83
  });
84
- //# sourceMappingURL=Function-iLKrUXuw.cjs.map
84
+ //# sourceMappingURL=Function-2qWSZqYB.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Function-iLKrUXuw.cjs","names":["ConsoleLogger","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","Construct","obj: any","ConstructType","schema: T","data: unknown","UnprocessableEntityError","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n> {\n\tprivate defaultServices: TServices;\n\tconstructor(\n\t\tdefaultServices: TServices,\n\t\tprivate defaultLogger: TLogger = DEFAULT_LOGGER,\n\t) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): FunctionFactory<[...S, ...TServices], TLogger> {\n\t\treturn new FunctionFactory<[...S, ...TServices], TLogger>(\n\t\t\t[...services, ...this.defaultServices],\n\t\t\tthis.defaultLogger,\n\t\t);\n\t}\n\n\tlogger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n\t\treturn new FunctionFactory<TServices, L>(this.defaultServices, logger);\n\t}\n}\n\nexport class Function<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tFn extends FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t> = FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n> extends Construct<\n\tTLogger,\n\tTEventPublisherServiceName,\n\tTEventPublisher,\n\tOutSchema,\n\tTServices,\n\tTAuditStorageServiceName,\n\tTAuditStorage\n> {\n\t__IS_FUNCTION__ = true;\n\n\tstatic isFunction(obj: any): obj is Function<any, any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\tobj.__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Function,\n\t\t);\n\t}\n\n\t/**\n\t * Validates data against a StandardSchema.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to validate\n\t * @returns Validation result with value or issues\n\t */\n\tstatic validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n\t\treturn schema['~standard'].validate(data);\n\t}\n\n\t/**\n\t * Parses and validates data against a schema, throwing an error if validation fails.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to parse and validate\n\t * @returns The validated data with proper typing\n\t * @throws {UnprocessableEntityError} When validation fails\n\t */\n\tstatic async parseSchema<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t\tdata: unknown,\n\t): Promise<InferStandardSchema<T>> {\n\t\ttry {\n\t\t\treturn await parseSchema(schema, data);\n\t\t} catch (issues) {\n\t\t\tthrow new UnprocessableEntityError('Validation failed', issues);\n\t\t}\n\t}\n\n\t/**\n\t * Parses and validates the endpoint output against the output schema.\n\t *\n\t * @param output - The raw output data to validate\n\t * @returns The validated output data\n\t * @throws {UnprocessableEntityError} When output validation fails\n\t */\n\tasync parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n\t\treturn Function.parseSchema(\n\t\t\tthis.outputSchema as StandardSchemaV1,\n\t\t\toutput,\n\t\t) as Promise<InferStandardSchema<OutSchema>>;\n\t}\n\n\tconstructor(\n\t\tpublic readonly fn: Fn,\n\t\ttimeout = 30000, // Default timeout of 30 seconds\n\t\ttype: ConstructType = ConstructType.Function,\n\t\tpublic input?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger: TLogger = DEFAULT_LOGGER,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: MappedEvent<TEventPublisher, OutSchema>[] = [],\n\t\tmemorySize?: number,\n\t\tauditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n\t\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\ttype,\n\t\t\tlogger,\n\t\t\tservices,\n\t\t\tevents,\n\t\t\tpublisherService,\n\t\t\toutputSchema,\n\t\t\ttimeout,\n\t\t\tmemorySize,\n\t\t\tauditorStorageService,\n\t\t);\n\t}\n}\n\nexport type FunctionHandler<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = (\n\tctx: FunctionContext<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n) => OutSchema extends StandardSchemaV1\n\t? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n\t: any | Promise<any>;\n\n/**\n * Conditional type that adds `db` property only when TDatabase is configured.\n */\ntype DatabaseContext<TDatabase> = TDatabase extends undefined\n\t? {}\n\t: { db: TDatabase };\n\n/**\n * Conditional auditor context - only present when audit storage is configured.\n */\ntype AuditorContext<\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTAuditStorage = undefined,\n> = TAuditStorage extends undefined\n\t? {}\n\t: {\n\t\t\t/**\n\t\t\t * Auditor instance for recording audit events.\n\t\t\t * Only present when audit storage is configured on the function.\n\t\t\t */\n\t\t\tauditor: Auditor<TAuditAction>;\n\t\t};\n\nexport type FunctionContext<\n\tInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\tinput: InferComposableStandardSchema<Input>;\n} & DatabaseContext<TDatabase> &\n\tAuditorContext<TAuditAction, TAuditStorage>;\n"],"mappings":";;;;;;;;AAgBA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACD,AAAQ;CACR,YACCC,iBACQC,gBAAyB,gBAChC;EADO;AAGR,OAAK,kBAAkB,2BACtB,iBACA,CAAC,MAAM,EAAE,YACT;CACD;CAGD,SACCC,UACiD;AACjD,SAAO,IAAI,gBACV,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAEN;CAED,OAAyBC,QAA0C;AAClE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAC/D;AACD;AAED,IAAa,WAAb,MAAa,iBAgCHC,4BAQR;CACD,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACrE,SAAO,QACN,OACC,IAAI,oBAAoB,QACxB,IAAI,SAASC,gCAAc,SAC5B;CACD;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACrE,SAAO,OAAO,aAAa,SAAS,KAAK;CACzC;;;;;;;;;CAUD,aAAa,YACZD,QACAC,MACkC;AAClC,MAAI;AACH,UAAO,MAAM,2CAAY,QAAQ,KAAK;EACtC,SAAQ,QAAQ;AAChB,SAAM,IAAIC,4CAAyB,qBAAqB;EACxD;CACD;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC3E,SAAO,SAAS,YACf,KAAK,cACL,OACA;CACD;CAED,YACiBC,IAChB,UAAU,KACVC,OAAsBN,gCAAc,UAC7BO,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkB,gBAClBC,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACOC,iBACN;AACD,QACC,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACA;EAvBe;EAGT;EAQA;CAaP;AACD"}
1
+ {"version":3,"file":"Function-2qWSZqYB.cjs","names":["ConsoleLogger","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","Construct","obj: any","ConstructType","schema: T","data: unknown","UnprocessableEntityError","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n> {\n\tprivate defaultServices: TServices;\n\tconstructor(\n\t\tdefaultServices: TServices,\n\t\tprivate defaultLogger: TLogger = DEFAULT_LOGGER,\n\t) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): FunctionFactory<[...S, ...TServices], TLogger> {\n\t\treturn new FunctionFactory<[...S, ...TServices], TLogger>(\n\t\t\t[...services, ...this.defaultServices],\n\t\t\tthis.defaultLogger,\n\t\t);\n\t}\n\n\tlogger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n\t\treturn new FunctionFactory<TServices, L>(this.defaultServices, logger);\n\t}\n}\n\nexport class Function<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tFn extends FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t> = FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n> extends Construct<\n\tTLogger,\n\tTEventPublisherServiceName,\n\tTEventPublisher,\n\tOutSchema,\n\tTServices,\n\tTAuditStorageServiceName,\n\tTAuditStorage\n> {\n\t__IS_FUNCTION__ = true;\n\n\tstatic isFunction(obj: any): obj is Function<any, any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\tobj.__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Function,\n\t\t);\n\t}\n\n\t/**\n\t * Validates data against a StandardSchema.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to validate\n\t * @returns Validation result with value or issues\n\t */\n\tstatic validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n\t\treturn schema['~standard'].validate(data);\n\t}\n\n\t/**\n\t * Parses and validates data against a schema, throwing an error if validation fails.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to parse and validate\n\t * @returns The validated data with proper typing\n\t * @throws {UnprocessableEntityError} When validation fails\n\t */\n\tstatic async parseSchema<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t\tdata: unknown,\n\t): Promise<InferStandardSchema<T>> {\n\t\ttry {\n\t\t\treturn await parseSchema(schema, data);\n\t\t} catch (issues) {\n\t\t\tthrow new UnprocessableEntityError('Validation failed', issues);\n\t\t}\n\t}\n\n\t/**\n\t * Parses and validates the endpoint output against the output schema.\n\t *\n\t * @param output - The raw output data to validate\n\t * @returns The validated output data\n\t * @throws {UnprocessableEntityError} When output validation fails\n\t */\n\tasync parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n\t\treturn Function.parseSchema(\n\t\t\tthis.outputSchema as StandardSchemaV1,\n\t\t\toutput,\n\t\t) as Promise<InferStandardSchema<OutSchema>>;\n\t}\n\n\tconstructor(\n\t\tpublic readonly fn: Fn,\n\t\ttimeout = 30000, // Default timeout of 30 seconds\n\t\ttype: ConstructType = ConstructType.Function,\n\t\tpublic input?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger: TLogger = DEFAULT_LOGGER,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: MappedEvent<TEventPublisher, OutSchema>[] = [],\n\t\tmemorySize?: number,\n\t\tauditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n\t\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\ttype,\n\t\t\tlogger,\n\t\t\tservices,\n\t\t\tevents,\n\t\t\tpublisherService,\n\t\t\toutputSchema,\n\t\t\ttimeout,\n\t\t\tmemorySize,\n\t\t\tauditorStorageService,\n\t\t);\n\t}\n}\n\nexport type FunctionHandler<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = (\n\tctx: FunctionContext<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n) => OutSchema extends StandardSchemaV1\n\t? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n\t: any | Promise<any>;\n\n/**\n * Conditional type that adds `db` property only when TDatabase is configured.\n */\ntype DatabaseContext<TDatabase> = TDatabase extends undefined\n\t? {}\n\t: { db: TDatabase };\n\n/**\n * Conditional auditor context - only present when audit storage is configured.\n */\ntype AuditorContext<\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTAuditStorage = undefined,\n> = TAuditStorage extends undefined\n\t? {}\n\t: {\n\t\t\t/**\n\t\t\t * Auditor instance for recording audit events.\n\t\t\t * Only present when audit storage is configured on the function.\n\t\t\t */\n\t\t\tauditor: Auditor<TAuditAction>;\n\t\t};\n\nexport type FunctionContext<\n\tInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\tinput: InferComposableStandardSchema<Input>;\n} & DatabaseContext<TDatabase> &\n\tAuditorContext<TAuditAction, TAuditStorage>;\n"],"mappings":";;;;;;;;AAgBA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACD,AAAQ;CACR,YACCC,iBACQC,gBAAyB,gBAChC;EADO;AAGR,OAAK,kBAAkB,2BACtB,iBACA,CAAC,MAAM,EAAE,YACT;CACD;CAGD,SACCC,UACiD;AACjD,SAAO,IAAI,gBACV,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAEN;CAED,OAAyBC,QAA0C;AAClE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAC/D;AACD;AAED,IAAa,WAAb,MAAa,iBAgCHC,4BAQR;CACD,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACrE,SAAO,QACN,OACC,IAAI,oBAAoB,QACxB,IAAI,SAASC,gCAAc,SAC5B;CACD;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACrE,SAAO,OAAO,aAAa,SAAS,KAAK;CACzC;;;;;;;;;CAUD,aAAa,YACZD,QACAC,MACkC;AAClC,MAAI;AACH,UAAO,MAAM,2CAAY,QAAQ,KAAK;EACtC,SAAQ,QAAQ;AAChB,SAAM,IAAIC,4CAAyB,qBAAqB;EACxD;CACD;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC3E,SAAO,SAAS,YACf,KAAK,cACL,OACA;CACD;CAED,YACiBC,IAChB,UAAU,KACVC,OAAsBN,gCAAc,UAC7BO,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkB,gBAClBC,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACOC,iBACN;AACD,QACC,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACA;EAvBe;EAGT;EAQA;CAaP;AACD"}
@@ -1,8 +1,8 @@
1
- import { Construct, ConstructType } from "./Construct-dZiwVo0q.mjs";
2
- import { Service, ServiceRecord } from "@geekmidas/services";
1
+ import { Construct, ConstructType } from "./Construct-Dl0l2d8d.cjs";
3
2
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
4
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
5
4
  import { Logger } from "@geekmidas/logger";
5
+ import { Service, ServiceRecord } from "@geekmidas/services";
6
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
7
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
8
8
 
@@ -73,4 +73,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
73
73
  } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
74
  //#endregion
75
75
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-DBmU3uGI.d.mts.map
76
+ //# sourceMappingURL=Function-CbEohg13.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Function-DBmU3uGI.d.mts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"Function-CbEohg13.d.cts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Construct, ConstructType } from "./Construct-D5dCvxZ3.mjs";
1
+ import { Construct, ConstructType } from "./Construct-BNDLJJfD.mjs";
2
2
  import { ConsoleLogger } from "@geekmidas/logger/console";
3
3
  import { UnprocessableEntityError } from "@geekmidas/errors";
4
4
  import { parseSchema } from "@geekmidas/schema/parser";
@@ -69,4 +69,4 @@ var Function = class Function extends Construct {
69
69
 
70
70
  //#endregion
71
71
  export { Function, FunctionFactory };
72
- //# sourceMappingURL=Function-D8tBamM3.mjs.map
72
+ //# sourceMappingURL=Function-CdF1HmFu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Function-D8tBamM3.mjs","names":["DEFAULT_LOGGER","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","obj: any","schema: T","data: unknown","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n> {\n\tprivate defaultServices: TServices;\n\tconstructor(\n\t\tdefaultServices: TServices,\n\t\tprivate defaultLogger: TLogger = DEFAULT_LOGGER,\n\t) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): FunctionFactory<[...S, ...TServices], TLogger> {\n\t\treturn new FunctionFactory<[...S, ...TServices], TLogger>(\n\t\t\t[...services, ...this.defaultServices],\n\t\t\tthis.defaultLogger,\n\t\t);\n\t}\n\n\tlogger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n\t\treturn new FunctionFactory<TServices, L>(this.defaultServices, logger);\n\t}\n}\n\nexport class Function<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tFn extends FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t> = FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n> extends Construct<\n\tTLogger,\n\tTEventPublisherServiceName,\n\tTEventPublisher,\n\tOutSchema,\n\tTServices,\n\tTAuditStorageServiceName,\n\tTAuditStorage\n> {\n\t__IS_FUNCTION__ = true;\n\n\tstatic isFunction(obj: any): obj is Function<any, any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\tobj.__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Function,\n\t\t);\n\t}\n\n\t/**\n\t * Validates data against a StandardSchema.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to validate\n\t * @returns Validation result with value or issues\n\t */\n\tstatic validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n\t\treturn schema['~standard'].validate(data);\n\t}\n\n\t/**\n\t * Parses and validates data against a schema, throwing an error if validation fails.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to parse and validate\n\t * @returns The validated data with proper typing\n\t * @throws {UnprocessableEntityError} When validation fails\n\t */\n\tstatic async parseSchema<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t\tdata: unknown,\n\t): Promise<InferStandardSchema<T>> {\n\t\ttry {\n\t\t\treturn await parseSchema(schema, data);\n\t\t} catch (issues) {\n\t\t\tthrow new UnprocessableEntityError('Validation failed', issues);\n\t\t}\n\t}\n\n\t/**\n\t * Parses and validates the endpoint output against the output schema.\n\t *\n\t * @param output - The raw output data to validate\n\t * @returns The validated output data\n\t * @throws {UnprocessableEntityError} When output validation fails\n\t */\n\tasync parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n\t\treturn Function.parseSchema(\n\t\t\tthis.outputSchema as StandardSchemaV1,\n\t\t\toutput,\n\t\t) as Promise<InferStandardSchema<OutSchema>>;\n\t}\n\n\tconstructor(\n\t\tpublic readonly fn: Fn,\n\t\ttimeout = 30000, // Default timeout of 30 seconds\n\t\ttype: ConstructType = ConstructType.Function,\n\t\tpublic input?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger: TLogger = DEFAULT_LOGGER,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: MappedEvent<TEventPublisher, OutSchema>[] = [],\n\t\tmemorySize?: number,\n\t\tauditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n\t\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\ttype,\n\t\t\tlogger,\n\t\t\tservices,\n\t\t\tevents,\n\t\t\tpublisherService,\n\t\t\toutputSchema,\n\t\t\ttimeout,\n\t\t\tmemorySize,\n\t\t\tauditorStorageService,\n\t\t);\n\t}\n}\n\nexport type FunctionHandler<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = (\n\tctx: FunctionContext<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n) => OutSchema extends StandardSchemaV1\n\t? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n\t: any | Promise<any>;\n\n/**\n * Conditional type that adds `db` property only when TDatabase is configured.\n */\ntype DatabaseContext<TDatabase> = TDatabase extends undefined\n\t? {}\n\t: { db: TDatabase };\n\n/**\n * Conditional auditor context - only present when audit storage is configured.\n */\ntype AuditorContext<\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTAuditStorage = undefined,\n> = TAuditStorage extends undefined\n\t? {}\n\t: {\n\t\t\t/**\n\t\t\t * Auditor instance for recording audit events.\n\t\t\t * Only present when audit storage is configured on the function.\n\t\t\t */\n\t\t\tauditor: Auditor<TAuditAction>;\n\t\t};\n\nexport type FunctionContext<\n\tInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\tinput: InferComposableStandardSchema<Input>;\n} & DatabaseContext<TDatabase> &\n\tAuditorContext<TAuditAction, TAuditStorage>;\n"],"mappings":";;;;;;;AAgBA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACD,AAAQ;CACR,YACCC,iBACQC,gBAAyBF,kBAChC;EADO;AAGR,OAAK,kBAAkB,OACtB,iBACA,CAAC,MAAM,EAAE,YACT;CACD;CAGD,SACCG,UACiD;AACjD,SAAO,IAAI,gBACV,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAEN;CAED,OAAyBC,QAA0C;AAClE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAC/D;AACD;AAED,IAAa,WAAb,MAAa,iBAgCH,UAQR;CACD,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACrE,SAAO,QACN,OACC,IAAI,oBAAoB,QACxB,IAAI,SAAS,cAAc,SAC5B;CACD;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACrE,SAAO,OAAO,aAAa,SAAS,KAAK;CACzC;;;;;;;;;CAUD,aAAa,YACZD,QACAC,MACkC;AAClC,MAAI;AACH,UAAO,MAAM,YAAY,QAAQ,KAAK;EACtC,SAAQ,QAAQ;AAChB,SAAM,IAAI,yBAAyB,qBAAqB;EACxD;CACD;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC3E,SAAO,SAAS,YACf,KAAK,cACL,OACA;CACD;CAED,YACiBC,IAChB,UAAU,KACVC,OAAsB,cAAc,UAC7BC,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkBd,kBAClBe,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACOC,iBACN;AACD,QACC,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACA;EAvBe;EAGT;EAQA;CAaP;AACD"}
1
+ {"version":3,"file":"Function-CdF1HmFu.mjs","names":["DEFAULT_LOGGER","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","obj: any","schema: T","data: unknown","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n> {\n\tprivate defaultServices: TServices;\n\tconstructor(\n\t\tdefaultServices: TServices,\n\t\tprivate defaultLogger: TLogger = DEFAULT_LOGGER,\n\t) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): FunctionFactory<[...S, ...TServices], TLogger> {\n\t\treturn new FunctionFactory<[...S, ...TServices], TLogger>(\n\t\t\t[...services, ...this.defaultServices],\n\t\t\tthis.defaultLogger,\n\t\t);\n\t}\n\n\tlogger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n\t\treturn new FunctionFactory<TServices, L>(this.defaultServices, logger);\n\t}\n}\n\nexport class Function<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tFn extends FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t> = FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n> extends Construct<\n\tTLogger,\n\tTEventPublisherServiceName,\n\tTEventPublisher,\n\tOutSchema,\n\tTServices,\n\tTAuditStorageServiceName,\n\tTAuditStorage\n> {\n\t__IS_FUNCTION__ = true;\n\n\tstatic isFunction(obj: any): obj is Function<any, any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\tobj.__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Function,\n\t\t);\n\t}\n\n\t/**\n\t * Validates data against a StandardSchema.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to validate\n\t * @returns Validation result with value or issues\n\t */\n\tstatic validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n\t\treturn schema['~standard'].validate(data);\n\t}\n\n\t/**\n\t * Parses and validates data against a schema, throwing an error if validation fails.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to parse and validate\n\t * @returns The validated data with proper typing\n\t * @throws {UnprocessableEntityError} When validation fails\n\t */\n\tstatic async parseSchema<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t\tdata: unknown,\n\t): Promise<InferStandardSchema<T>> {\n\t\ttry {\n\t\t\treturn await parseSchema(schema, data);\n\t\t} catch (issues) {\n\t\t\tthrow new UnprocessableEntityError('Validation failed', issues);\n\t\t}\n\t}\n\n\t/**\n\t * Parses and validates the endpoint output against the output schema.\n\t *\n\t * @param output - The raw output data to validate\n\t * @returns The validated output data\n\t * @throws {UnprocessableEntityError} When output validation fails\n\t */\n\tasync parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n\t\treturn Function.parseSchema(\n\t\t\tthis.outputSchema as StandardSchemaV1,\n\t\t\toutput,\n\t\t) as Promise<InferStandardSchema<OutSchema>>;\n\t}\n\n\tconstructor(\n\t\tpublic readonly fn: Fn,\n\t\ttimeout = 30000, // Default timeout of 30 seconds\n\t\ttype: ConstructType = ConstructType.Function,\n\t\tpublic input?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger: TLogger = DEFAULT_LOGGER,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: MappedEvent<TEventPublisher, OutSchema>[] = [],\n\t\tmemorySize?: number,\n\t\tauditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n\t\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\ttype,\n\t\t\tlogger,\n\t\t\tservices,\n\t\t\tevents,\n\t\t\tpublisherService,\n\t\t\toutputSchema,\n\t\t\ttimeout,\n\t\t\tmemorySize,\n\t\t\tauditorStorageService,\n\t\t);\n\t}\n}\n\nexport type FunctionHandler<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = (\n\tctx: FunctionContext<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n) => OutSchema extends StandardSchemaV1\n\t? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n\t: any | Promise<any>;\n\n/**\n * Conditional type that adds `db` property only when TDatabase is configured.\n */\ntype DatabaseContext<TDatabase> = TDatabase extends undefined\n\t? {}\n\t: { db: TDatabase };\n\n/**\n * Conditional auditor context - only present when audit storage is configured.\n */\ntype AuditorContext<\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTAuditStorage = undefined,\n> = TAuditStorage extends undefined\n\t? {}\n\t: {\n\t\t\t/**\n\t\t\t * Auditor instance for recording audit events.\n\t\t\t * Only present when audit storage is configured on the function.\n\t\t\t */\n\t\t\tauditor: Auditor<TAuditAction>;\n\t\t};\n\nexport type FunctionContext<\n\tInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\tinput: InferComposableStandardSchema<Input>;\n} & DatabaseContext<TDatabase> &\n\tAuditorContext<TAuditAction, TAuditStorage>;\n"],"mappings":";;;;;;;AAgBA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACD,AAAQ;CACR,YACCC,iBACQC,gBAAyBF,kBAChC;EADO;AAGR,OAAK,kBAAkB,OACtB,iBACA,CAAC,MAAM,EAAE,YACT;CACD;CAGD,SACCG,UACiD;AACjD,SAAO,IAAI,gBACV,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAEN;CAED,OAAyBC,QAA0C;AAClE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAC/D;AACD;AAED,IAAa,WAAb,MAAa,iBAgCH,UAQR;CACD,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACrE,SAAO,QACN,OACC,IAAI,oBAAoB,QACxB,IAAI,SAAS,cAAc,SAC5B;CACD;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACrE,SAAO,OAAO,aAAa,SAAS,KAAK;CACzC;;;;;;;;;CAUD,aAAa,YACZD,QACAC,MACkC;AAClC,MAAI;AACH,UAAO,MAAM,YAAY,QAAQ,KAAK;EACtC,SAAQ,QAAQ;AAChB,SAAM,IAAI,yBAAyB,qBAAqB;EACxD;CACD;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC3E,SAAO,SAAS,YACf,KAAK,cACL,OACA;CACD;CAED,YACiBC,IAChB,UAAU,KACVC,OAAsB,cAAc,UAC7BC,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkBd,kBAClBe,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACOC,iBACN;AACD,QACC,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACA;EAvBe;EAGT;EAQA;CAaP;AACD"}
@@ -1,8 +1,8 @@
1
- import { Construct, ConstructType } from "./Construct-C4rPE67v.cjs";
1
+ import { Construct, ConstructType } from "./Construct-E8QPyHh4.mjs";
2
+ import { Service, ServiceRecord } from "@geekmidas/services";
2
3
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
3
4
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
5
  import { Logger } from "@geekmidas/logger";
5
- import { Service, ServiceRecord } from "@geekmidas/services";
6
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
7
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
8
8
 
@@ -73,4 +73,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
73
73
  } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
74
  //#endregion
75
75
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-PNW4HdNE.d.cts.map
76
+ //# sourceMappingURL=Function-EjIOLxlh.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Function-PNW4HdNE.d.cts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"Function-EjIOLxlh.d.mts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAkBa,kCACM,gCACF,SAAS;;EAFb,QAAA,eAAe;EAAA,WAAA,CAAA,eAAA,EAMT,SANS,EAAA,aAAA,CAAA,EAOH,OAPG;EAAA,QACT,CAAA,UAgBC,OAhBD,EAAA,CAAA,CAAA,QAAA,EAiBP,CAjBO,CAAA,EAkBf,eAlBe,CAAA,CAAA,GAkBK,CAlBL,EAAA,GAkBW,SAlBX,CAAA,EAkBuB,OAlBvB,CAAA;EAAO,MACT,CAAA,UAwBC,MAxBD,CAAA,CAAA,MAAA,EAwBiB,CAxBjB,CAAA,EAwBqB,eAxBrB,CAwBqC,SAxBrC,EAwBgD,CAxBhD,CAAA;;AAIE,cAyBN,QAzBM,CAAA,eA0BH,wBA1BG,GAAA,SAAA,GAAA,SAAA,EAAA,kBA2BA,OA3BA,EAAA,GAAA,EAAA,EAAA,gBA4BF,MA5BE,GA4BO,MA5BP,EAAA,kBA6BA,gBA7BA,GAAA,SAAA,GAAA,SAAA,EAAA,wBA8BM,cA9BN,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,sBAgCI,YAhCJ,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,EAAA,qBAoCG,eApCH,CAAA,MAAA,EAAA,OAAA,CAAA,GAoCsC,eApCtC,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,WAwCP,eAxCO,CAyCjB,MAzCiB,EA0CjB,SA1CiB,EA2CjB,OA3CiB,EA4CjB,SA5CiB,EA6CjB,SA7CiB,EA8CjB,aA9CiB,EA+CjB,YA/CiB,CAAA,GAgDd,eAhDc,CAiDjB,MAjDiB,EAkDjB,SAlDiB,EAmDjB,OAnDiB,EAoDjB,SApDiB,EAqDjB,SArDiB,EAsDjB,aAtDiB,EAuDjB,YAvDiB,CAAA,CAAA,SAyDT,SAzDS,CA0DlB,OA1DkB,EA2DlB,0BA3DkB,EA4DlB,eA5DkB,EA6DlB,SA7DkB,EA8DlB,SA9DkB,EA+DlB,wBA/DkB,EAgElB,aAhEkB,CAAA,CAAA;EAAS,SACH,EAAA,EAwHH,EAxHG;EAAwB,KAU7B,CAAA,EAiHH,MAjHG,GAAA,SAAA;EAAO,eACf,CAAA,EAwHe,OAxHf,CAwHuB,oBAxHvB,EAwH6C,SAxH7C,CAAA,GAAA,SAAA;EAAC,eACW,EAAA,OAAA;EAAC,OAAK,UAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAuDO,QAvDP,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAAS;;;;;;;EAOc,OAAA,QAAA,CAAA,UA+D1B,gBA/D0B,CAAA,CAAA,MAAA,EA+DA,CA/DA,EAAA,IAAA,EAAA,OAAA,CAAA,EA+DgB,gBAAA,CAAA,MA/DhB,CAAA,OAAA,CAAA,GA+DgB,OA/DhB,CA+DgB,gBAAA,CAAA,MA/DhB,CAAA,OAAA,CAAA,CAAA;EAKxC;;;;;;;;EAK0B,OAEhB,WAAA,CAAA,UA+Da,gBA/Db,CAAA,CAAA,MAAA,EAgEb,CAhEa,EAAA,IAAA,EAAA,OAAA,CAAA,EAkEnB,OAlEmB,CAkEX,mBAlEW,CAkES,CAlET,CAAA,CAAA;EAAY;;;;;;;EAaxB,WACT,CAAA,MAAA,EAAA,OAAA,CAAA,EAmEmC,OAnEnC,CAmE2C,mBAnE3C,CAmE+D,SAnE/D,CAAA,CAAA;EAAa,WACb,CAAA,EAAA,EA0EoB,EA1EpB,EAAA,OAAA,CAAA,EAAA,MAAA;EAAA;EAAY,IAPF,CAAA,EAmFJ,aAnFI,EAAA,KAAA,CAAA,EAoFK,MApFL,GAAA,SAAA,EAAA,YAAA,CAAA,EAqFK,SArFL,EAAA,QAAA,CAAA,EAsFA,SAtFA,EAAA,MAAA,CAAA,EAuFF,OAvFE,EAAA,gBAAA,CAAA,EAwFS,OAxFT,CAwFiB,0BAxFjB,EAwF6C,eAxF7C,CAAA,EAAA,MAAA,CAAA,EAyFF,WAzFE,CAyFU,eAzFV,EAyF2B,SAzF3B,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,qBAAA,CAAA,EA2Fc,OA3Fd,CA2FsB,wBA3FtB,EA2FgD,aA3FhD,CAAA,EAAA,eAAA,CAAA,EA4Fe,OA5Ff,CA4FuB,oBA5FvB,EA4F6C,SA5F7C,CAAA,GAAA,SAAA;;AAUV,KAkGU,eAlGV,CAAA,eAmGc,wBAnGd,GAAA,SAAA,GAAA,SAAA,EAAA,kBAoGiB,OApGjB,EAAA,GAAA,EAAA,EAAA,gBAqGe,MArGf,GAqGwB,MArGxB,EAAA,kBAsGiB,gBAtGjB,GAAA,SAAA,GAAA,SAAA,EAAA,YAAA,SAAA,EAAA,sBAwGqB,YAxGrB,GAAA,SAAA,GAAA,SAAA,EAAA,qBAyGoB,eAzGpB,CAAA,MAAA,EAAA,OAAA,CAAA,GAyGuD,eAzGvD,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,EA8GI,eA9GJ,CA+GA,MA/GA,EAgHA,SAhHA,EAiHA,OAjHA,EAkHA,SAlHA,EAmHA,aAnHA,EAoHA,YApHA,CAAA,EAAA,GAsHG,SAtHH,SAsHqB,gBAtHrB,GAuHC,mBAvHD,CAuHqB,SAvHrB,CAAA,GAuHkC,OAvHlC,CAuH0C,mBAvH1C,CAuH8D,SAvH9D,CAAA,CAAA,GAAA,GAAA,GAwHO,OAxHP,CAAA,GAAA,CAAA;;;;KA6HG,eAzHH,CAAA,SAAA,CAAA,GAyHgC,SAzHhC,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAa,EAAA,EA2HN,SA1HP;CAAY;;;;KA+HT,cAzHJ,CAAA,qBA0HqB,eA1HrB,CAAA,MAAA,EAAA,OAAA,CAAA,GA0HwD,eA1HxD,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,gBAAA,SAAA,CAAA,GA+HG,aA/HH,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAS;;;;EA4Dc,OAGP,EAuEL,OAvEK,CAuEG,YAvEH,CAAA;CAAM;AAQkC,KAkE7C,eAlE6C,CAAA,cAmE1C,wBAnE0C,GAAA,SAAA,GAAA,SAAA,EAAA,kBAoEtC,OApEsC,EAAA,GAAA,EAAA,EAAA,gBAqExC,MArEwC,GAqE/B,MArE+B,EAAA,YAAA,SAAA,EAAA,sBAuElC,YAvEkC,GAAA,SAAA,GAAA,SAAA,EAAA,qBAwEnC,eAxEmC,CAAA,MAAA,EAAA,OAAA,CAAA,GAwEA,eAxEA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA;EAAS,QAAvC,EA6EhB,aA7EgB,CA6EF,SA7EE,CAAA;EAAO,MAhEG,EA8I5B,OA9I4B;EAAQ,KAelB,EAgInB,6BAhImB,CAgIW,KAhIX,CAAA;CAAgB,GAiIvC,eAjIiD,CAiIjC,SAjIiC,CAAA,GAkIpD,cAlIoD,CAkIrC,YAlIqC,EAkIvB,aAlIuB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-BlnyYtJC.cjs');
3
- const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-D7o93EGv.cjs');
4
- const require_Function = require('./Function-iLKrUXuw.cjs');
2
+ const require_Construct = require('./Construct-CPrCF8NK.cjs');
3
+ const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-Z0XwrKB5.cjs');
4
+ const require_Function = require('./Function-2qWSZqYB.cjs');
5
5
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
6
6
  const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
7
7
 
@@ -83,4 +83,4 @@ Object.defineProperty(exports, 'FunctionBuilder', {
83
83
  return FunctionBuilder;
84
84
  }
85
85
  });
86
- //# sourceMappingURL=FunctionBuilder-BEpPgeho.cjs.map
86
+ //# sourceMappingURL=FunctionBuilder-B-pbgm09.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionBuilder-BEpPgeho.cjs","names":["ConsoleLogger","BaseFunctionBuilder","ConstructType","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>","Function"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditableAction, AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n\tTInput extends ComposableStandardSchema,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected _memorySize?: number;\n\n\tconstructor(public override type = ConstructType.Function) {\n\t\tsuper(type);\n\t}\n\n\toverride timeout(timeout: number): this {\n\t\tthis._timeout = timeout;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tinput<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tT,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.inputSchema = schema as unknown as TInput;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride auditor<T extends AuditStorage, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\t/**\n\t * Set the audit action types for this function.\n\t * This provides type-safety for the auditor in the handler context.\n\t */\n\tactions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tT\n\t> {\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this function.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tT,\n\t\tTName,\n\t\tTAuditAction\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\thandle(\n\t\tfn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Function<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction,\n\t\tFunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>\n\t> {\n\t\tconst func = new Function(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis.type,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._auditorStorage,\n\t\t\tthis._databaseService,\n\t\t);\n\n\t\t// Reset builder state after creating the function to prevent pollution\n\t\tthis._services = [] as Service[] as TServices;\n\t\tthis._logger = DEFAULT_LOGGER;\n\t\tthis._events = [];\n\t\tthis._publisher = undefined;\n\t\tthis._auditorStorage = undefined;\n\t\tthis._databaseService = undefined;\n\t\tthis.inputSchema = undefined;\n\t\tthis.outputSchema = undefined;\n\t\tthis._timeout = undefined;\n\t\tthis._memorySize = undefined;\n\n\t\treturn func;\n\t}\n}\n"],"mappings":";;;;;;;;AAYA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,cAeUC,gDAWR;CACD,AAAU;CAEV,YAA4B,OAAOC,gCAAc,UAAU;AAC1D,QAAM,KAAK;EADgB;CAE3B;CAED,AAAS,QAAQC,SAAuB;AACvC,OAAK,WAAW;AAChB,SAAO;CACP;CAED,WAAWC,YAA0B;AACpC,OAAK,cAAc;AACnB,SAAO;CACP;CAED,OACCC,QAaC;AACD,OAAK,eAAe;AAEpB,SAAO;CAaP;CAED,MACCA,QAaC;AACD,OAAK,cAAc;AAEnB,SAAO;CAaP;CAED,SACCC,UAaC;AACD,OAAK,YAAY,2BAChB,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT;AAED,SAAO;CAaP;CAED,OACCC,QAaC;AACD,OAAK,UAAU;AAEf,SAAO;CAaP;CAED,AAAS,UACRC,WAaC;AACD,OAAK,aAAa;AAKlB,SAAO;CAaP;CAED,AAAS,QACRC,SAaC;AACD,OAAK,kBAAkB;AAKvB,SAAO;CAaP;;;;;CAMD,UAYE;AACD,SAAO;CAaP;;;;;CAMD,AAAS,SACRC,SAaC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAaP;CAED,OACCC,IA8BC;EACD,MAAM,OAAO,IAAIC,0BAChB,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,iBACL,KAAK;AAIN,OAAK,YAAY,CAAE;AACnB,OAAK,UAAU;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACP;AACD"}
1
+ {"version":3,"file":"FunctionBuilder-B-pbgm09.cjs","names":["ConsoleLogger","BaseFunctionBuilder","ConstructType","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>","Function"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditableAction, AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n\tTInput extends ComposableStandardSchema,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected _memorySize?: number;\n\n\tconstructor(public override type = ConstructType.Function) {\n\t\tsuper(type);\n\t}\n\n\toverride timeout(timeout: number): this {\n\t\tthis._timeout = timeout;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tinput<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tT,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.inputSchema = schema as unknown as TInput;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride auditor<T extends AuditStorage, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\t/**\n\t * Set the audit action types for this function.\n\t * This provides type-safety for the auditor in the handler context.\n\t */\n\tactions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tT\n\t> {\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this function.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tT,\n\t\tTName,\n\t\tTAuditAction\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\thandle(\n\t\tfn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Function<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction,\n\t\tFunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>\n\t> {\n\t\tconst func = new Function(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis.type,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._auditorStorage,\n\t\t\tthis._databaseService,\n\t\t);\n\n\t\t// Reset builder state after creating the function to prevent pollution\n\t\tthis._services = [] as Service[] as TServices;\n\t\tthis._logger = DEFAULT_LOGGER;\n\t\tthis._events = [];\n\t\tthis._publisher = undefined;\n\t\tthis._auditorStorage = undefined;\n\t\tthis._databaseService = undefined;\n\t\tthis.inputSchema = undefined;\n\t\tthis.outputSchema = undefined;\n\t\tthis._timeout = undefined;\n\t\tthis._memorySize = undefined;\n\n\t\treturn func;\n\t}\n}\n"],"mappings":";;;;;;;;AAYA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,cAeUC,gDAWR;CACD,AAAU;CAEV,YAA4B,OAAOC,gCAAc,UAAU;AAC1D,QAAM,KAAK;EADgB;CAE3B;CAED,AAAS,QAAQC,SAAuB;AACvC,OAAK,WAAW;AAChB,SAAO;CACP;CAED,WAAWC,YAA0B;AACpC,OAAK,cAAc;AACnB,SAAO;CACP;CAED,OACCC,QAaC;AACD,OAAK,eAAe;AAEpB,SAAO;CAaP;CAED,MACCA,QAaC;AACD,OAAK,cAAc;AAEnB,SAAO;CAaP;CAED,SACCC,UAaC;AACD,OAAK,YAAY,2BAChB,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT;AAED,SAAO;CAaP;CAED,OACCC,QAaC;AACD,OAAK,UAAU;AAEf,SAAO;CAaP;CAED,AAAS,UACRC,WAaC;AACD,OAAK,aAAa;AAKlB,SAAO;CAaP;CAED,AAAS,QACRC,SAaC;AACD,OAAK,kBAAkB;AAKvB,SAAO;CAaP;;;;;CAMD,UAYE;AACD,SAAO;CAaP;;;;;CAMD,AAAS,SACRC,SAaC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAaP;CAED,OACCC,IA8BC;EACD,MAAM,OAAO,IAAIC,0BAChB,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,iBACL,KAAK;AAIN,OAAK,YAAY,CAAE;AACnB,OAAK,UAAU;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACP;AACD"}
@@ -1,10 +1,10 @@
1
- import { ConstructType } from "./Construct-dZiwVo0q.mjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CDfDWWAQ.mjs";
3
- import { Function, FunctionHandler } from "./Function-DBmU3uGI.mjs";
4
- import { Service } from "@geekmidas/services";
1
+ import { ConstructType } from "./Construct-Dl0l2d8d.cjs";
2
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CcK691ni.cjs";
3
+ import { Function, FunctionHandler } from "./Function-CbEohg13.cjs";
5
4
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
6
5
  import { EventPublisher } from "@geekmidas/events";
7
6
  import { Logger } from "@geekmidas/logger";
7
+ import { Service } from "@geekmidas/services";
8
8
  import { StandardSchemaV1 } from "@standard-schema/spec";
9
9
  import { ComposableStandardSchema } from "@geekmidas/schema";
10
10
 
@@ -37,4 +37,4 @@ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema
37
37
 
38
38
  //#endregion
39
39
  export { FunctionBuilder };
40
- //# sourceMappingURL=FunctionBuilder-Bv4H2I1a.d.mts.map
40
+ //# sourceMappingURL=FunctionBuilder-CX3ooNdq.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionBuilder-Bv4H2I1a.d.mts","names":[],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionBuilder-CX3ooNdq.d.cts","names":[],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { ConstructType } from "./Construct-C4rPE67v.cjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-BAtutR6q.cjs";
3
- import { Function, FunctionHandler } from "./Function-PNW4HdNE.cjs";
1
+ import { ConstructType } from "./Construct-E8QPyHh4.mjs";
2
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-BqZCqIeU.mjs";
3
+ import { Function, FunctionHandler } from "./Function-EjIOLxlh.mjs";
4
+ import { Service } from "@geekmidas/services";
4
5
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
5
6
  import { EventPublisher } from "@geekmidas/events";
6
7
  import { Logger } from "@geekmidas/logger";
7
- import { Service } from "@geekmidas/services";
8
8
  import { StandardSchemaV1 } from "@standard-schema/spec";
9
9
  import { ComposableStandardSchema } from "@geekmidas/schema";
10
10
 
@@ -37,4 +37,4 @@ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema
37
37
 
38
38
  //#endregion
39
39
  export { FunctionBuilder };
40
- //# sourceMappingURL=FunctionBuilder-DCqXIHaq.d.cts.map
40
+ //# sourceMappingURL=FunctionBuilder-D11ytDyy.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionBuilder-DCqXIHaq.d.cts","names":[],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionBuilder-D11ytDyy.d.mts","names":[],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ConstructType } from "./Construct-D5dCvxZ3.mjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-0qlenb9z.mjs";
3
- import { Function } from "./Function-D8tBamM3.mjs";
1
+ import { ConstructType } from "./Construct-BNDLJJfD.mjs";
2
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-Dsqe6pnn.mjs";
3
+ import { Function } from "./Function-CdF1HmFu.mjs";
4
4
  import { ConsoleLogger } from "@geekmidas/logger/console";
5
5
  import uniqBy from "lodash.uniqby";
6
6
 
@@ -77,4 +77,4 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
77
77
 
78
78
  //#endregion
79
79
  export { FunctionBuilder };
80
- //# sourceMappingURL=FunctionBuilder-BwNF99AB.mjs.map
80
+ //# sourceMappingURL=FunctionBuilder-DaWVthAJ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionBuilder-BwNF99AB.mjs","names":["DEFAULT_LOGGER","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditableAction, AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n\tTInput extends ComposableStandardSchema,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected _memorySize?: number;\n\n\tconstructor(public override type = ConstructType.Function) {\n\t\tsuper(type);\n\t}\n\n\toverride timeout(timeout: number): this {\n\t\tthis._timeout = timeout;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tinput<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tT,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.inputSchema = schema as unknown as TInput;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride auditor<T extends AuditStorage, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\t/**\n\t * Set the audit action types for this function.\n\t * This provides type-safety for the auditor in the handler context.\n\t */\n\tactions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tT\n\t> {\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this function.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tT,\n\t\tTName,\n\t\tTAuditAction\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\thandle(\n\t\tfn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Function<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction,\n\t\tFunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>\n\t> {\n\t\tconst func = new Function(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis.type,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._auditorStorage,\n\t\t\tthis._databaseService,\n\t\t);\n\n\t\t// Reset builder state after creating the function to prevent pollution\n\t\tthis._services = [] as Service[] as TServices;\n\t\tthis._logger = DEFAULT_LOGGER;\n\t\tthis._events = [];\n\t\tthis._publisher = undefined;\n\t\tthis._auditorStorage = undefined;\n\t\tthis._databaseService = undefined;\n\t\tthis.inputSchema = undefined;\n\t\tthis.outputSchema = undefined;\n\t\tthis._timeout = undefined;\n\t\tthis._memorySize = undefined;\n\n\t\treturn func;\n\t}\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,cAeU,oBAWR;CACD,AAAU;CAEV,YAA4B,OAAO,cAAc,UAAU;AAC1D,QAAM,KAAK;EADgB;CAE3B;CAED,AAAS,QAAQC,SAAuB;AACvC,OAAK,WAAW;AAChB,SAAO;CACP;CAED,WAAWC,YAA0B;AACpC,OAAK,cAAc;AACnB,SAAO;CACP;CAED,OACCC,QAaC;AACD,OAAK,eAAe;AAEpB,SAAO;CAaP;CAED,MACCA,QAaC;AACD,OAAK,cAAc;AAEnB,SAAO;CAaP;CAED,SACCC,UAaC;AACD,OAAK,YAAY,OAChB,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT;AAED,SAAO;CAaP;CAED,OACCC,QAaC;AACD,OAAK,UAAU;AAEf,SAAO;CAaP;CAED,AAAS,UACRC,WAaC;AACD,OAAK,aAAa;AAKlB,SAAO;CAaP;CAED,AAAS,QACRC,SAaC;AACD,OAAK,kBAAkB;AAKvB,SAAO;CAaP;;;;;CAMD,UAYE;AACD,SAAO;CAaP;;;;;CAMD,AAAS,SACRC,SAaC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAaP;CAED,OACCC,IA8BC;EACD,MAAM,OAAO,IAAI,SAChB,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,iBACL,KAAK;AAIN,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUT;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACP;AACD"}
1
+ {"version":3,"file":"FunctionBuilder-DaWVthAJ.mjs","names":["DEFAULT_LOGGER","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditableAction, AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n\tTInput extends ComposableStandardSchema,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected _memorySize?: number;\n\n\tconstructor(public override type = ConstructType.Function) {\n\t\tsuper(type);\n\t}\n\n\toverride timeout(timeout: number): this {\n\t\tthis._timeout = timeout;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tinput<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): FunctionBuilder<\n\t\tT,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis.inputSchema = schema as unknown as TInput;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\toverride auditor<T extends AuditStorage, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\t/**\n\t * Set the audit action types for this function.\n\t * This provides type-safety for the auditor in the handler context.\n\t */\n\tactions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tT\n\t> {\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this function.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): FunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tT,\n\t\tTName,\n\t\tTAuditAction\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as FunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditAction\n\t\t>;\n\t}\n\n\thandle(\n\t\tfn: FunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Function<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTAuditAction,\n\t\tFunctionHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>\n\t> {\n\t\tconst func = new Function(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis.type,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._auditorStorage,\n\t\t\tthis._databaseService,\n\t\t);\n\n\t\t// Reset builder state after creating the function to prevent pollution\n\t\tthis._services = [] as Service[] as TServices;\n\t\tthis._logger = DEFAULT_LOGGER;\n\t\tthis._events = [];\n\t\tthis._publisher = undefined;\n\t\tthis._auditorStorage = undefined;\n\t\tthis._databaseService = undefined;\n\t\tthis.inputSchema = undefined;\n\t\tthis.outputSchema = undefined;\n\t\tthis._timeout = undefined;\n\t\tthis._memorySize = undefined;\n\n\t\treturn func;\n\t}\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,cAeU,oBAWR;CACD,AAAU;CAEV,YAA4B,OAAO,cAAc,UAAU;AAC1D,QAAM,KAAK;EADgB;CAE3B;CAED,AAAS,QAAQC,SAAuB;AACvC,OAAK,WAAW;AAChB,SAAO;CACP;CAED,WAAWC,YAA0B;AACpC,OAAK,cAAc;AACnB,SAAO;CACP;CAED,OACCC,QAaC;AACD,OAAK,eAAe;AAEpB,SAAO;CAaP;CAED,MACCA,QAaC;AACD,OAAK,cAAc;AAEnB,SAAO;CAaP;CAED,SACCC,UAaC;AACD,OAAK,YAAY,OAChB,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT;AAED,SAAO;CAaP;CAED,OACCC,QAaC;AACD,OAAK,UAAU;AAEf,SAAO;CAaP;CAED,AAAS,UACRC,WAaC;AACD,OAAK,aAAa;AAKlB,SAAO;CAaP;CAED,AAAS,QACRC,SAaC;AACD,OAAK,kBAAkB;AAKvB,SAAO;CAaP;;;;;CAMD,UAYE;AACD,SAAO;CAaP;;;;;CAMD,AAAS,SACRC,SAaC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAaP;CAED,OACCC,IA8BC;EACD,MAAM,OAAO,IAAI,SAChB,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,iBACL,KAAK;AAIN,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUT;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACP;AACD"}
@@ -1,4 +1,4 @@
1
- import { Function, FunctionHandler } from "./Function-PNW4HdNE.cjs";
1
+ import { Function, FunctionHandler } from "./Function-CbEohg13.cjs";
2
2
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
3
3
  import { EventPublisher } from "@geekmidas/events";
4
4
  import { Logger } from "@geekmidas/logger";
@@ -47,4 +47,4 @@ declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandar
47
47
 
48
48
  //#endregion
49
49
  export { FunctionExecutionWrapper };
50
- //# sourceMappingURL=FunctionExecutionWrapper-BclgIztn.d.cts.map
50
+ //# sourceMappingURL=FunctionExecutionWrapper-BJcRjH9Z.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionExecutionWrapper-BclgIztn.d.cts","names":[],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;uBAqBsB,wCACN,qEACI,4DACD,gCACF,SAAS,gCACD,uHAEF,kLAID,mCAAmC;uBAMlC;EAjBD,mBAAA,EAAA,EAkBG,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,WAAA,CAAA,SAAA,EAiBvB,iBAjBuB,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAkBrB,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,UAC9B,OAAA,CAAA,EAyCK,OAzCL;EAAwB,IACpB,MAAA,CAAA,CAAA,EA0CL,OA1CK;EAAgB,IACjB,gBAAA,CAAA,CAAA,EA6CM,gBA7CN,CA6CuB,aA7CvB,CA6CqC,SA7CrC,CAAA,CAAA;EAAO,WACT,CAAA,CAAA,EAoDD,OApDC,CAoDO,aApDP,CAoDqB,SApDrB,CAAA,CAAA;EAAM,WAAG,CAAA,CAAA,EAwDJ,OAxDI,CAwDI,SAxDJ,GAAA,SAAA,CAAA;EAAM;;;;EAOwC,eAMjD,CAAA,CAAA,EA6DG,OA7DH,CA6DW,aA7DX,GAAA,SAAA,CAAA;EAAiB;;;;EAK3B,aACV,CAAA,CAAA,EAyEqB,OAzErB,CAyE6B,OAzE7B,CAyEqC,YAzErC,CAAA,GAAA,SAAA,CAAA;EAAe;;;;;;;;EASL,gBACT,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,GAAA,EAAA;IACA,OAAA,CAAA,EAuFS,OAvFT,CAuFiB,YAvFjB,CAAA;IACA,EAAA,CAAA,EAuFI,SAvFJ;EAAS,CAAA,EACT,GAuFI,OAvFJ,CAuFY,CAvFZ,CAAA,CAAA,EAwFA,OAxFA,CAwFQ,CAxFR,CAAA;EAAa,gBACb,CAAA,MAAA,CAAA,CAAA,KAAA,EAmIK,MAnIL,CAAA,EAoIA,OApIA,CAoIQ,6BApIR,CAoIsC,MApItC,CAAA,CAAA;EAAY,aAPb,CAAA,QAAA,EAoJ4B,mBApJ5B,CAoJgD,UApJhD,CAAA,CAAA,EAoJ2D,OApJ3D,CAAA,IAAA,CAAA;EAAe,6BAZO,CAAA,UA0KsB,wBA1KtB,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EA4Kf,CA5Ke,CAAA,EA6KrB,OA7KqB,CA6Kb,6BA7Ka,CA6KiB,CA7KjB,CAAA,CAAA"}
1
+ {"version":3,"file":"FunctionExecutionWrapper-BJcRjH9Z.d.cts","names":[],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;uBAqBsB,wCACN,qEACI,4DACD,gCACF,SAAS,gCACD,uHAEF,kLAID,mCAAmC;uBAMlC;EAjBD,mBAAA,EAAA,EAkBG,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,WAAA,CAAA,SAAA,EAiBvB,iBAjBuB,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAkBrB,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,UAC9B,OAAA,CAAA,EAyCK,OAzCL;EAAwB,IACpB,MAAA,CAAA,CAAA,EA0CL,OA1CK;EAAgB,IACjB,gBAAA,CAAA,CAAA,EA6CM,gBA7CN,CA6CuB,aA7CvB,CA6CqC,SA7CrC,CAAA,CAAA;EAAO,WACT,CAAA,CAAA,EAoDD,OApDC,CAoDO,aApDP,CAoDqB,SApDrB,CAAA,CAAA;EAAM,WAAG,CAAA,CAAA,EAwDJ,OAxDI,CAwDI,SAxDJ,GAAA,SAAA,CAAA;EAAM;;;;EAOwC,eAMjD,CAAA,CAAA,EA6DG,OA7DH,CA6DW,aA7DX,GAAA,SAAA,CAAA;EAAiB;;;;EAK3B,aACV,CAAA,CAAA,EAyEqB,OAzErB,CAyE6B,OAzE7B,CAyEqC,YAzErC,CAAA,GAAA,SAAA,CAAA;EAAe;;;;;;;;EASL,gBACT,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,GAAA,EAAA;IACA,OAAA,CAAA,EAuFS,OAvFT,CAuFiB,YAvFjB,CAAA;IACA,EAAA,CAAA,EAuFI,SAvFJ;EAAS,CAAA,EACT,GAuFI,OAvFJ,CAuFY,CAvFZ,CAAA,CAAA,EAwFA,OAxFA,CAwFQ,CAxFR,CAAA;EAAa,gBACb,CAAA,MAAA,CAAA,CAAA,KAAA,EAmIK,MAnIL,CAAA,EAoIA,OApIA,CAoIQ,6BApIR,CAoIsC,MApItC,CAAA,CAAA;EAAY,aAPb,CAAA,QAAA,EAoJ4B,mBApJ5B,CAoJgD,UApJhD,CAAA,CAAA,EAoJ2D,OApJ3D,CAAA,IAAA,CAAA;EAAe,6BAZO,CAAA,UA0KsB,wBA1KtB,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EA4Kf,CA5Ke,CAAA,EA6KrB,OA7KqB,CA6Kb,6BA7Ka,CA6KiB,CA7KjB,CAAA,CAAA"}
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
2
  const require_publisher = require('./publisher-lFQleddL.cjs');
3
- const require_FunctionBuilder = require('./FunctionBuilder-BEpPgeho.cjs');
3
+ const require_FunctionBuilder = require('./FunctionBuilder-B-pbgm09.cjs');
4
4
  const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
5
5
  const __geekmidas_audit = require_chunk.__toESM(require("@geekmidas/audit"));
6
6
  const __geekmidas_audit_kysely = require_chunk.__toESM(require("@geekmidas/audit/kysely"));
@@ -104,4 +104,4 @@ Object.defineProperty(exports, 'FunctionExecutionWrapper', {
104
104
  return FunctionExecutionWrapper;
105
105
  }
106
106
  });
107
- //# sourceMappingURL=FunctionExecutionWrapper-BjF6t9Hb.cjs.map
107
+ //# sourceMappingURL=FunctionExecutionWrapper-C6ChBNHs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionExecutionWrapper-BjF6t9Hb.cjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction,\n\t\t\tFunctionHandler<\n\t\t\t\tTInput,\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTOutSchema,\n\t\t\t\tTDatabase,\n\t\t\t\tTAuditStorage,\n\t\t\t\tTAuditAction\n\t\t\t>\n\t\t>","DefaultAuditor","handler: (ctx: {\n\t\t\tauditor?: Auditor<TAuditAction>;\n\t\t\tdb?: TDatabase;\n\t\t}) => Promise<T>","db","response","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { DefaultAuditor } from '@geekmidas/audit';\nimport { withAuditableTransaction } from '@geekmidas/audit/kysely';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n\ttype Service,\n\tServiceDiscovery,\n\ttype ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> {\n\tconstructor(\n\t\tprotected envParser: EnvironmentParser<{}>,\n\t\tprotected readonly fn: Function<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction,\n\t\t\tFunctionHandler<\n\t\t\t\tTInput,\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTOutSchema,\n\t\t\t\tTDatabase,\n\t\t\t\tTAuditStorage,\n\t\t\t\tTAuditAction\n\t\t\t>\n\t\t>,\n\t) {}\n\n\tprotected _logger?: TLogger;\n\n\tget logger(): TLogger {\n\t\treturn this._logger || this.fn.logger;\n\t}\n\n\tget serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>> {\n\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\tServiceRecord<TServices>\n\t\t>(this.envParser);\n\n\t\treturn serviceDiscovery;\n\t}\n\n\tgetServices(): Promise<ServiceRecord<TServices>> {\n\t\treturn this.serviceDiscovery.register(this.fn.services);\n\t}\n\n\tasync getDatabase(): Promise<TDatabase | undefined> {\n\t\tif (!this.fn.databaseService) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst services = await this.serviceDiscovery.register([\n\t\t\tthis.fn.databaseService,\n\t\t]);\n\n\t\treturn services[\n\t\t\tthis.fn.databaseService.serviceName as keyof typeof services\n\t\t] as TDatabase;\n\t}\n\n\t/**\n\t * Get the audit storage service if configured.\n\t * Returns undefined if no auditor storage is configured.\n\t */\n\tasync getAuditStorage(): Promise<TAuditStorage | undefined> {\n\t\tif (!this.fn.auditorStorageService) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst services = await this.serviceDiscovery.register([\n\t\t\tthis.fn.auditorStorageService,\n\t\t]);\n\n\t\treturn services[\n\t\t\tthis.fn.auditorStorageService.serviceName as keyof typeof services\n\t\t] as TAuditStorage;\n\t}\n\n\t/**\n\t * Create an auditor instance for the function.\n\t * Returns undefined if no auditor storage is configured.\n\t */\n\tasync createAuditor(): Promise<Auditor<TAuditAction> | undefined> {\n\t\tconst storage = await this.getAuditStorage();\n\t\tif (!storage) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn new DefaultAuditor<TAuditAction>({\n\t\t\tactor: { id: 'system', type: 'system' },\n\t\t\tstorage: storage as AuditStorage,\n\t\t\tmetadata: {\n\t\t\t\tfunction: this.fn.type,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * Execute handler with audit transaction support.\n\t * If the audit storage has a database (via getDatabase()), wraps execution\n\t * in a transaction so audits are atomic with handler's database operations.\n\t *\n\t * @param handler - The handler function to execute (receives auditor and db)\n\t * @returns The handler result\n\t */\n\tasync executeWithAudit<T>(\n\t\thandler: (ctx: {\n\t\t\tauditor?: Auditor<TAuditAction>;\n\t\t\tdb?: TDatabase;\n\t\t}) => Promise<T>,\n\t): Promise<T> {\n\t\tconst auditor = await this.createAuditor();\n\t\tconst storage = await this.getAuditStorage();\n\n\t\t// No audit context - just run handler with regular db\n\t\tif (!auditor || !storage) {\n\t\t\tconst db = await this.getDatabase();\n\t\t\treturn handler({ db });\n\t\t}\n\n\t\t// Check if storage has a database and db service names match\n\t\tconst storageDb = (storage as AuditStorage).getDatabase?.();\n\t\tconst databaseServiceName = this.fn.databaseService?.serviceName;\n\t\tconst auditDbServiceName = this.fn.auditorStorageService?.serviceName;\n\n\t\t// If the audit storage has a database and we're using the same database service\n\t\t// (or the audit storage provides the database), use transactional execution\n\t\tif (storageDb && databaseServiceName && auditDbServiceName) {\n\t\t\treturn withAuditableTransaction(\n\t\t\t\tstorageDb as any,\n\t\t\t\tauditor as any,\n\t\t\t\tasync (trx) => {\n\t\t\t\t\t// Use transaction as db\n\t\t\t\t\tconst response = await handler({\n\t\t\t\t\t\tauditor,\n\t\t\t\t\t\tdb: trx as TDatabase,\n\t\t\t\t\t});\n\t\t\t\t\t// Audits are flushed by withAuditableTransaction before commit\n\t\t\t\t\treturn response;\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\t// No database on storage or service names don't match - run handler and flush audits after\n\t\tconst db = await this.getDatabase();\n\t\tconst response = await handler({ auditor, db });\n\n\t\t// Flush audits (no transaction)\n\t\tawait auditor.flush();\n\n\t\treturn response;\n\t}\n\n\tasync getFunctionInput<TEvent>(\n\t\tevent: TEvent,\n\t): Promise<InferComposableStandardSchema<TInput>> {\n\t\tconst parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n\t\t\tevent,\n\t\t\tthis.fn.input,\n\t\t);\n\n\t\treturn parsedInput as InferComposableStandardSchema<TInput>;\n\t}\n\n\tasync publishEvents(response: InferStandardSchema<TOutSchema>) {\n\t\tawait publishEvents(\n\t\t\tthis.logger,\n\t\t\tthis.serviceDiscovery,\n\t\t\tthis.fn.events,\n\t\t\tresponse,\n\t\t\tthis.fn.publisherService,\n\t\t);\n\t}\n\n\tasync parseComposableStandardSchema<T extends ComposableStandardSchema>(\n\t\tdata: unknown,\n\t\tschema: T,\n\t): Promise<InferComposableStandardSchema<T>> {\n\t\treturn FunctionBuilder.parseComposableStandardSchema(data, schema);\n\t}\n}\n"],"mappings":";;;;;;;;AAqBA,IAAsB,2BAAtB,MAeE;CACD,YACWA,WACSC,IAsBlB;EAvBS;EACS;CAsBhB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACrB,SAAO,KAAK,WAAW,KAAK,GAAG;CAC/B;CAED,IAAI,mBAA+D;EAClE,MAAM,mBAAmB,sCAAiB,YAExC,KAAK,UAAU;AAEjB,SAAO;CACP;CAED,cAAiD;AAChD,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACvD;CAED,MAAM,cAA8C;AACnD,OAAK,KAAK,GAAG,gBACZ;EAGD,MAAM,WAAW,MAAM,KAAK,iBAAiB,SAAS,CACrD,KAAK,GAAG,eACR,EAAC;AAEF,SAAO,SACN,KAAK,GAAG,gBAAgB;CAEzB;;;;;CAMD,MAAM,kBAAsD;AAC3D,OAAK,KAAK,GAAG,sBACZ;EAGD,MAAM,WAAW,MAAM,KAAK,iBAAiB,SAAS,CACrD,KAAK,GAAG,qBACR,EAAC;AAEF,SAAO,SACN,KAAK,GAAG,sBAAsB;CAE/B;;;;;CAMD,MAAM,gBAA4D;EACjE,MAAM,UAAU,MAAM,KAAK,iBAAiB;AAC5C,OAAK,QACJ;AAGD,SAAO,IAAIC,iCAA6B;GACvC,OAAO;IAAE,IAAI;IAAU,MAAM;GAAU;GAC9B;GACT,UAAU,EACT,UAAU,KAAK,GAAG,KAClB;EACD;CACD;;;;;;;;;CAUD,MAAM,iBACLC,SAIa;EACb,MAAM,UAAU,MAAM,KAAK,eAAe;EAC1C,MAAM,UAAU,MAAM,KAAK,iBAAiB;AAG5C,OAAK,YAAY,SAAS;GACzB,MAAMC,OAAK,MAAM,KAAK,aAAa;AACnC,UAAO,QAAQ,EAAE,SAAI,EAAC;EACtB;EAGD,MAAM,YAAY,AAAC,QAAyB,eAAe;EAC3D,MAAM,sBAAsB,KAAK,GAAG,iBAAiB;EACrD,MAAM,qBAAqB,KAAK,GAAG,uBAAuB;AAI1D,MAAI,aAAa,uBAAuB,mBACvC,QAAO,uDACN,WACA,SACA,OAAO,QAAQ;GAEd,MAAMC,aAAW,MAAM,QAAQ;IAC9B;IACA,IAAI;GACJ,EAAC;AAEF,UAAOA;EACP,EACD;EAIF,MAAM,KAAK,MAAM,KAAK,aAAa;EACnC,MAAM,WAAW,MAAM,QAAQ;GAAE;GAAS;EAAI,EAAC;AAG/C,QAAM,QAAQ,OAAO;AAErB,SAAO;CACP;CAED,MAAM,iBACLC,OACiD;EACjD,MAAM,cAAc,MAAM,wCAAgB,8BACzC,OACA,KAAK,GAAG,MACR;AAED,SAAO;CACP;CAED,MAAM,cAAcC,UAA2C;AAC9D,QAAM,gCACL,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACR;CACD;CAED,MAAM,8BACLC,MACAC,QAC4C;AAC5C,SAAO,wCAAgB,8BAA8B,MAAM,OAAO;CAClE;AACD"}
1
+ {"version":3,"file":"FunctionExecutionWrapper-C6ChBNHs.cjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction,\n\t\t\tFunctionHandler<\n\t\t\t\tTInput,\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTOutSchema,\n\t\t\t\tTDatabase,\n\t\t\t\tTAuditStorage,\n\t\t\t\tTAuditAction\n\t\t\t>\n\t\t>","DefaultAuditor","handler: (ctx: {\n\t\t\tauditor?: Auditor<TAuditAction>;\n\t\t\tdb?: TDatabase;\n\t\t}) => Promise<T>","db","response","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { DefaultAuditor } from '@geekmidas/audit';\nimport { withAuditableTransaction } from '@geekmidas/audit/kysely';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n\ttype Service,\n\tServiceDiscovery,\n\ttype ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> {\n\tconstructor(\n\t\tprotected envParser: EnvironmentParser<{}>,\n\t\tprotected readonly fn: Function<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTAuditAction,\n\t\t\tFunctionHandler<\n\t\t\t\tTInput,\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTOutSchema,\n\t\t\t\tTDatabase,\n\t\t\t\tTAuditStorage,\n\t\t\t\tTAuditAction\n\t\t\t>\n\t\t>,\n\t) {}\n\n\tprotected _logger?: TLogger;\n\n\tget logger(): TLogger {\n\t\treturn this._logger || this.fn.logger;\n\t}\n\n\tget serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>> {\n\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\tServiceRecord<TServices>\n\t\t>(this.envParser);\n\n\t\treturn serviceDiscovery;\n\t}\n\n\tgetServices(): Promise<ServiceRecord<TServices>> {\n\t\treturn this.serviceDiscovery.register(this.fn.services);\n\t}\n\n\tasync getDatabase(): Promise<TDatabase | undefined> {\n\t\tif (!this.fn.databaseService) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst services = await this.serviceDiscovery.register([\n\t\t\tthis.fn.databaseService,\n\t\t]);\n\n\t\treturn services[\n\t\t\tthis.fn.databaseService.serviceName as keyof typeof services\n\t\t] as TDatabase;\n\t}\n\n\t/**\n\t * Get the audit storage service if configured.\n\t * Returns undefined if no auditor storage is configured.\n\t */\n\tasync getAuditStorage(): Promise<TAuditStorage | undefined> {\n\t\tif (!this.fn.auditorStorageService) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst services = await this.serviceDiscovery.register([\n\t\t\tthis.fn.auditorStorageService,\n\t\t]);\n\n\t\treturn services[\n\t\t\tthis.fn.auditorStorageService.serviceName as keyof typeof services\n\t\t] as TAuditStorage;\n\t}\n\n\t/**\n\t * Create an auditor instance for the function.\n\t * Returns undefined if no auditor storage is configured.\n\t */\n\tasync createAuditor(): Promise<Auditor<TAuditAction> | undefined> {\n\t\tconst storage = await this.getAuditStorage();\n\t\tif (!storage) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn new DefaultAuditor<TAuditAction>({\n\t\t\tactor: { id: 'system', type: 'system' },\n\t\t\tstorage: storage as AuditStorage,\n\t\t\tmetadata: {\n\t\t\t\tfunction: this.fn.type,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * Execute handler with audit transaction support.\n\t * If the audit storage has a database (via getDatabase()), wraps execution\n\t * in a transaction so audits are atomic with handler's database operations.\n\t *\n\t * @param handler - The handler function to execute (receives auditor and db)\n\t * @returns The handler result\n\t */\n\tasync executeWithAudit<T>(\n\t\thandler: (ctx: {\n\t\t\tauditor?: Auditor<TAuditAction>;\n\t\t\tdb?: TDatabase;\n\t\t}) => Promise<T>,\n\t): Promise<T> {\n\t\tconst auditor = await this.createAuditor();\n\t\tconst storage = await this.getAuditStorage();\n\n\t\t// No audit context - just run handler with regular db\n\t\tif (!auditor || !storage) {\n\t\t\tconst db = await this.getDatabase();\n\t\t\treturn handler({ db });\n\t\t}\n\n\t\t// Check if storage has a database and db service names match\n\t\tconst storageDb = (storage as AuditStorage).getDatabase?.();\n\t\tconst databaseServiceName = this.fn.databaseService?.serviceName;\n\t\tconst auditDbServiceName = this.fn.auditorStorageService?.serviceName;\n\n\t\t// If the audit storage has a database and we're using the same database service\n\t\t// (or the audit storage provides the database), use transactional execution\n\t\tif (storageDb && databaseServiceName && auditDbServiceName) {\n\t\t\treturn withAuditableTransaction(\n\t\t\t\tstorageDb as any,\n\t\t\t\tauditor as any,\n\t\t\t\tasync (trx) => {\n\t\t\t\t\t// Use transaction as db\n\t\t\t\t\tconst response = await handler({\n\t\t\t\t\t\tauditor,\n\t\t\t\t\t\tdb: trx as TDatabase,\n\t\t\t\t\t});\n\t\t\t\t\t// Audits are flushed by withAuditableTransaction before commit\n\t\t\t\t\treturn response;\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\t// No database on storage or service names don't match - run handler and flush audits after\n\t\tconst db = await this.getDatabase();\n\t\tconst response = await handler({ auditor, db });\n\n\t\t// Flush audits (no transaction)\n\t\tawait auditor.flush();\n\n\t\treturn response;\n\t}\n\n\tasync getFunctionInput<TEvent>(\n\t\tevent: TEvent,\n\t): Promise<InferComposableStandardSchema<TInput>> {\n\t\tconst parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n\t\t\tevent,\n\t\t\tthis.fn.input,\n\t\t);\n\n\t\treturn parsedInput as InferComposableStandardSchema<TInput>;\n\t}\n\n\tasync publishEvents(response: InferStandardSchema<TOutSchema>) {\n\t\tawait publishEvents(\n\t\t\tthis.logger,\n\t\t\tthis.serviceDiscovery,\n\t\t\tthis.fn.events,\n\t\t\tresponse,\n\t\t\tthis.fn.publisherService,\n\t\t);\n\t}\n\n\tasync parseComposableStandardSchema<T extends ComposableStandardSchema>(\n\t\tdata: unknown,\n\t\tschema: T,\n\t): Promise<InferComposableStandardSchema<T>> {\n\t\treturn FunctionBuilder.parseComposableStandardSchema(data, schema);\n\t}\n}\n"],"mappings":";;;;;;;;AAqBA,IAAsB,2BAAtB,MAeE;CACD,YACWA,WACSC,IAsBlB;EAvBS;EACS;CAsBhB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACrB,SAAO,KAAK,WAAW,KAAK,GAAG;CAC/B;CAED,IAAI,mBAA+D;EAClE,MAAM,mBAAmB,sCAAiB,YAExC,KAAK,UAAU;AAEjB,SAAO;CACP;CAED,cAAiD;AAChD,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACvD;CAED,MAAM,cAA8C;AACnD,OAAK,KAAK,GAAG,gBACZ;EAGD,MAAM,WAAW,MAAM,KAAK,iBAAiB,SAAS,CACrD,KAAK,GAAG,eACR,EAAC;AAEF,SAAO,SACN,KAAK,GAAG,gBAAgB;CAEzB;;;;;CAMD,MAAM,kBAAsD;AAC3D,OAAK,KAAK,GAAG,sBACZ;EAGD,MAAM,WAAW,MAAM,KAAK,iBAAiB,SAAS,CACrD,KAAK,GAAG,qBACR,EAAC;AAEF,SAAO,SACN,KAAK,GAAG,sBAAsB;CAE/B;;;;;CAMD,MAAM,gBAA4D;EACjE,MAAM,UAAU,MAAM,KAAK,iBAAiB;AAC5C,OAAK,QACJ;AAGD,SAAO,IAAIC,iCAA6B;GACvC,OAAO;IAAE,IAAI;IAAU,MAAM;GAAU;GAC9B;GACT,UAAU,EACT,UAAU,KAAK,GAAG,KAClB;EACD;CACD;;;;;;;;;CAUD,MAAM,iBACLC,SAIa;EACb,MAAM,UAAU,MAAM,KAAK,eAAe;EAC1C,MAAM,UAAU,MAAM,KAAK,iBAAiB;AAG5C,OAAK,YAAY,SAAS;GACzB,MAAMC,OAAK,MAAM,KAAK,aAAa;AACnC,UAAO,QAAQ,EAAE,SAAI,EAAC;EACtB;EAGD,MAAM,YAAY,AAAC,QAAyB,eAAe;EAC3D,MAAM,sBAAsB,KAAK,GAAG,iBAAiB;EACrD,MAAM,qBAAqB,KAAK,GAAG,uBAAuB;AAI1D,MAAI,aAAa,uBAAuB,mBACvC,QAAO,uDACN,WACA,SACA,OAAO,QAAQ;GAEd,MAAMC,aAAW,MAAM,QAAQ;IAC9B;IACA,IAAI;GACJ,EAAC;AAEF,UAAOA;EACP,EACD;EAIF,MAAM,KAAK,MAAM,KAAK,aAAa;EACnC,MAAM,WAAW,MAAM,QAAQ;GAAE;GAAS;EAAI,EAAC;AAG/C,QAAM,QAAQ,OAAO;AAErB,SAAO;CACP;CAED,MAAM,iBACLC,OACiD;EACjD,MAAM,cAAc,MAAM,wCAAgB,8BACzC,OACA,KAAK,GAAG,MACR;AAED,SAAO;CACP;CAED,MAAM,cAAcC,UAA2C;AAC9D,QAAM,gCACL,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACR;CACD;CAED,MAAM,8BACLC,MACAC,QAC4C;AAC5C,SAAO,wCAAgB,8BAA8B,MAAM,OAAO;CAClE;AACD"}
@@ -1,4 +1,4 @@
1
- import { Function, FunctionHandler } from "./Function-DBmU3uGI.mjs";
1
+ import { Function, FunctionHandler } from "./Function-EjIOLxlh.mjs";
2
2
  import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
3
3
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
4
4
  import { EnvironmentParser } from "@geekmidas/envkit";
@@ -47,4 +47,4 @@ declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandar
47
47
 
48
48
  //#endregion
49
49
  export { FunctionExecutionWrapper };
50
- //# sourceMappingURL=FunctionExecutionWrapper-Dq21c6vt.d.mts.map
50
+ //# sourceMappingURL=FunctionExecutionWrapper-D3RNjGIR.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionExecutionWrapper-Dq21c6vt.d.mts","names":[],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;uBAqBsB,wCACN,qEACI,4DACD,gCACF,SAAS,gCACD,uHAEF,kLAID,mCAAmC;uBAMlC;EAjBD,mBAAA,EAAA,EAkBG,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,WAAA,CAAA,SAAA,EAiBvB,iBAjBuB,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAkBrB,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,UAC9B,OAAA,CAAA,EAyCK,OAzCL;EAAwB,IACpB,MAAA,CAAA,CAAA,EA0CL,OA1CK;EAAgB,IACjB,gBAAA,CAAA,CAAA,EA6CM,gBA7CN,CA6CuB,aA7CvB,CA6CqC,SA7CrC,CAAA,CAAA;EAAO,WACT,CAAA,CAAA,EAoDD,OApDC,CAoDO,aApDP,CAoDqB,SApDrB,CAAA,CAAA;EAAM,WAAG,CAAA,CAAA,EAwDJ,OAxDI,CAwDI,SAxDJ,GAAA,SAAA,CAAA;EAAM;;;;EAOwC,eAMjD,CAAA,CAAA,EA6DG,OA7DH,CA6DW,aA7DX,GAAA,SAAA,CAAA;EAAiB;;;;EAK3B,aACV,CAAA,CAAA,EAyEqB,OAzErB,CAyE6B,OAzE7B,CAyEqC,YAzErC,CAAA,GAAA,SAAA,CAAA;EAAe;;;;;;;;EASL,gBACT,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,GAAA,EAAA;IACA,OAAA,CAAA,EAuFS,OAvFT,CAuFiB,YAvFjB,CAAA;IACA,EAAA,CAAA,EAuFI,SAvFJ;EAAS,CAAA,EACT,GAuFI,OAvFJ,CAuFY,CAvFZ,CAAA,CAAA,EAwFA,OAxFA,CAwFQ,CAxFR,CAAA;EAAa,gBACb,CAAA,MAAA,CAAA,CAAA,KAAA,EAmIK,MAnIL,CAAA,EAoIA,OApIA,CAoIQ,6BApIR,CAoIsC,MApItC,CAAA,CAAA;EAAY,aAPb,CAAA,QAAA,EAoJ4B,mBApJ5B,CAoJgD,UApJhD,CAAA,CAAA,EAoJ2D,OApJ3D,CAAA,IAAA,CAAA;EAAe,6BAZO,CAAA,UA0KsB,wBA1KtB,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EA4Kf,CA5Ke,CAAA,EA6KrB,OA7KqB,CA6Kb,6BA7Ka,CA6KiB,CA7KjB,CAAA,CAAA"}
1
+ {"version":3,"file":"FunctionExecutionWrapper-D3RNjGIR.d.mts","names":[],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;uBAqBsB,wCACN,qEACI,4DACD,gCACF,SAAS,gCACD,uHAEF,kLAID,mCAAmC;uBAMlC;EAjBD,mBAAA,EAAA,EAkBG,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,WAAA,CAAA,SAAA,EAiBvB,iBAjBuB,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAkBrB,QAlBqB,CAmB3C,MAnB2C,EAoB3C,SApB2C,EAqB3C,OArB2C,EAsB3C,UAtB2C,EAuB3C,eAvB2C,EAwB3C,0BAxB2C,EAyB3C,aAzB2C,EA0B3C,wBA1B2C,EA2B3C,SA3B2C,EA4B3C,oBA5B2C,EA6B3C,YA7B2C,EA8B3C,eA9B2C,CA+B1C,MA/B0C,EAgC1C,SAhC0C,EAiC1C,OAjC0C,EAkC1C,UAlC0C,EAmC1C,SAnC0C,EAoC1C,aApC0C,EAqC1C,YArC0C,CAAA,CAAA;EAAA,UAC9B,OAAA,CAAA,EAyCK,OAzCL;EAAwB,IACpB,MAAA,CAAA,CAAA,EA0CL,OA1CK;EAAgB,IACjB,gBAAA,CAAA,CAAA,EA6CM,gBA7CN,CA6CuB,aA7CvB,CA6CqC,SA7CrC,CAAA,CAAA;EAAO,WACT,CAAA,CAAA,EAoDD,OApDC,CAoDO,aApDP,CAoDqB,SApDrB,CAAA,CAAA;EAAM,WAAG,CAAA,CAAA,EAwDJ,OAxDI,CAwDI,SAxDJ,GAAA,SAAA,CAAA;EAAM;;;;EAOwC,eAMjD,CAAA,CAAA,EA6DG,OA7DH,CA6DW,aA7DX,GAAA,SAAA,CAAA;EAAiB;;;;EAK3B,aACV,CAAA,CAAA,EAyEqB,OAzErB,CAyE6B,OAzE7B,CAyEqC,YAzErC,CAAA,GAAA,SAAA,CAAA;EAAe;;;;;;;;EASL,gBACT,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,GAAA,EAAA;IACA,OAAA,CAAA,EAuFS,OAvFT,CAuFiB,YAvFjB,CAAA;IACA,EAAA,CAAA,EAuFI,SAvFJ;EAAS,CAAA,EACT,GAuFI,OAvFJ,CAuFY,CAvFZ,CAAA,CAAA,EAwFA,OAxFA,CAwFQ,CAxFR,CAAA;EAAa,gBACb,CAAA,MAAA,CAAA,CAAA,KAAA,EAmIK,MAnIL,CAAA,EAoIA,OApIA,CAoIQ,6BApIR,CAoIsC,MApItC,CAAA,CAAA;EAAY,aAPb,CAAA,QAAA,EAoJ4B,mBApJ5B,CAoJgD,UApJhD,CAAA,CAAA,EAoJ2D,OApJ3D,CAAA,IAAA,CAAA;EAAe,6BAZO,CAAA,UA0KsB,wBA1KtB,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EA4Kf,CA5Ke,CAAA,EA6KrB,OA7KqB,CA6Kb,6BA7Ka,CA6KiB,CA7KjB,CAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { publishEvents } from "./publisher-Bw4770Hi.mjs";
2
- import { FunctionBuilder } from "./FunctionBuilder-BwNF99AB.mjs";
2
+ import { FunctionBuilder } from "./FunctionBuilder-DaWVthAJ.mjs";
3
3
  import { ServiceDiscovery } from "@geekmidas/services";
4
4
  import { DefaultAuditor } from "@geekmidas/audit";
5
5
  import { withAuditableTransaction } from "@geekmidas/audit/kysely";
@@ -98,4 +98,4 @@ var FunctionExecutionWrapper = class {
98
98
 
99
99
  //#endregion
100
100
  export { FunctionExecutionWrapper };
101
- //# sourceMappingURL=FunctionExecutionWrapper-B__HE_B-.mjs.map
101
+ //# sourceMappingURL=FunctionExecutionWrapper-Dj3pmXaN.mjs.map