@ez4/gateway 0.35.1 → 0.37.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 (142) hide show
  1. package/README.md +120 -2
  2. package/dist/client/authorization.d.ts +1 -1
  3. package/dist/client/operations.d.ts +1 -2
  4. package/dist/errors/auth/authorizer.d.ts +4 -0
  5. package/dist/errors/{identity.d.ts → auth/identity.d.ts} +4 -2
  6. package/dist/errors/body.d.ts +4 -2
  7. package/dist/errors/defaults.d.ts +4 -2
  8. package/dist/errors/headers.d.ts +4 -2
  9. package/dist/errors/{authorization.d.ts → http/authorization.d.ts} +4 -2
  10. package/dist/errors/{cache.d.ts → http/cache.d.ts} +4 -2
  11. package/dist/errors/{cors.d.ts → http/cors.d.ts} +5 -3
  12. package/dist/errors/parameters.d.ts +9 -3
  13. package/dist/errors/preferences.d.ts +4 -2
  14. package/dist/errors/query.d.ts +4 -2
  15. package/dist/errors/ws/event.d.ts +10 -0
  16. package/dist/errors/{authorizer.d.ts → ws/target.d.ts} +1 -1
  17. package/dist/library.cjs +464 -310
  18. package/dist/library.d.ts +17 -14
  19. package/dist/library.mjs +445 -293
  20. package/dist/main.cjs +15 -14
  21. package/dist/main.d.ts +5 -3
  22. package/dist/main.mjs +8 -6
  23. package/dist/metadata/auth/handler.d.ts +4 -0
  24. package/dist/metadata/auth/identity.d.ts +6 -0
  25. package/dist/metadata/auth/request.d.ts +4 -0
  26. package/dist/metadata/auth/response.d.ts +4 -0
  27. package/dist/metadata/auth/types.d.ts +20 -0
  28. package/dist/metadata/body.d.ts +4 -3
  29. package/dist/metadata/headers.d.ts +3 -2
  30. package/dist/metadata/http/access.d.ts +4 -0
  31. package/dist/metadata/http/authorization.d.ts +4 -0
  32. package/dist/metadata/http/cache.d.ts +4 -0
  33. package/dist/metadata/http/cors.d.ts +4 -0
  34. package/dist/metadata/http/defaults.d.ts +4 -0
  35. package/dist/metadata/http/errors.d.ts +4 -0
  36. package/dist/metadata/http/handler.d.ts +4 -0
  37. package/dist/metadata/http/import.d.ts +7 -0
  38. package/dist/metadata/http/request.d.ts +4 -0
  39. package/dist/metadata/http/response.d.ts +4 -0
  40. package/dist/metadata/http/routes.d.ts +5 -0
  41. package/dist/metadata/http/service.d.ts +7 -0
  42. package/dist/metadata/http/types.d.ts +117 -0
  43. package/dist/metadata/parameters.d.ts +3 -2
  44. package/dist/metadata/preferences.d.ts +4 -3
  45. package/dist/metadata/provider.d.ts +4 -3
  46. package/dist/metadata/query.d.ts +3 -2
  47. package/dist/metadata/types.d.ts +4 -0
  48. package/dist/metadata/utils/name.d.ts +2 -0
  49. package/dist/metadata/utils/path.d.ts +2 -0
  50. package/dist/metadata/utils/provider.d.ts +4 -0
  51. package/dist/metadata/utils/schema.d.ts +3 -0
  52. package/dist/metadata/utils/validator.d.ts +5 -0
  53. package/dist/metadata/ws/connection.d.ts +4 -0
  54. package/dist/metadata/ws/defaults.d.ts +5 -0
  55. package/dist/metadata/ws/event.d.ts +4 -0
  56. package/dist/metadata/ws/handlers.d.ts +4 -0
  57. package/dist/metadata/ws/message.d.ts +4 -0
  58. package/dist/metadata/ws/request.d.ts +4 -0
  59. package/dist/metadata/ws/response.d.ts +4 -0
  60. package/dist/metadata/ws/service.d.ts +7 -0
  61. package/dist/metadata/ws/types.d.ts +83 -0
  62. package/dist/services/auth/cache.d.ts +9 -0
  63. package/dist/services/auth/handler.d.ts +9 -0
  64. package/dist/services/auth/identity.d.ts +5 -0
  65. package/dist/services/auth/incoming.d.ts +22 -0
  66. package/dist/services/auth/provider.d.ts +11 -0
  67. package/dist/services/auth/request.d.ts +20 -0
  68. package/dist/services/auth/response.d.ts +10 -0
  69. package/dist/services/body.d.ts +13 -0
  70. package/dist/services/defaults.d.ts +7 -16
  71. package/dist/services/errors.d.ts +6 -0
  72. package/dist/services/headers.d.ts +10 -0
  73. package/dist/services/{client.d.ts → http/client.d.ts} +3 -3
  74. package/dist/services/{contract.d.ts → http/contract.d.ts} +45 -31
  75. package/dist/services/http/defaults.d.ts +17 -0
  76. package/dist/services/http/errors.d.ts +6 -0
  77. package/dist/services/http/handler.d.ts +10 -0
  78. package/dist/services/http/incoming.d.ts +30 -0
  79. package/dist/services/http/listener.d.ts +9 -0
  80. package/dist/services/http/path.d.ts +2 -0
  81. package/dist/services/http/request.d.ts +30 -0
  82. package/dist/services/http/response.d.ts +19 -0
  83. package/dist/services/http/route.d.ts +45 -0
  84. package/dist/services/{utils.d.ts → http/utils.d.ts} +13 -5
  85. package/dist/services/parameters.d.ts +5 -0
  86. package/dist/services/preferences.d.ts +2 -2
  87. package/dist/services/query.d.ts +5 -0
  88. package/dist/services/target.d.ts +27 -0
  89. package/dist/services/ws/client.d.ts +19 -0
  90. package/dist/services/ws/connect.d.ts +23 -0
  91. package/dist/services/ws/contract.d.ts +110 -0
  92. package/dist/services/ws/defaults.d.ts +13 -0
  93. package/dist/services/ws/disconnect.d.ts +17 -0
  94. package/dist/services/ws/event.d.ts +20 -0
  95. package/dist/services/ws/handler.d.ts +10 -0
  96. package/dist/services/ws/incoming.d.ts +19 -0
  97. package/dist/services/ws/listener.d.ts +9 -0
  98. package/dist/services/ws/message.d.ts +17 -0
  99. package/dist/services/ws/request.d.ts +15 -0
  100. package/dist/services/ws/response.d.ts +10 -0
  101. package/dist/services/ws/utils.d.ts +11 -0
  102. package/dist/utils/body.d.ts +4 -3
  103. package/dist/utils/client.d.ts +4 -4
  104. package/dist/utils/errors.d.ts +1 -0
  105. package/dist/utils/headers.d.ts +3 -2
  106. package/dist/utils/identity.d.ts +3 -2
  107. package/dist/utils/parameters.d.ts +3 -2
  108. package/dist/utils/query.d.ts +3 -2
  109. package/dist/utils/validation.d.ts +2 -0
  110. package/dist/utils.cjs +62 -55
  111. package/dist/utils.d.ts +2 -1
  112. package/dist/utils.mjs +54 -52
  113. package/package.json +8 -8
  114. package/dist/metadata/access.d.ts +0 -3
  115. package/dist/metadata/authorization.d.ts +0 -3
  116. package/dist/metadata/authorizer.d.ts +0 -3
  117. package/dist/metadata/cache.d.ts +0 -3
  118. package/dist/metadata/cors.d.ts +0 -3
  119. package/dist/metadata/defaults.d.ts +0 -3
  120. package/dist/metadata/errors.d.ts +0 -4
  121. package/dist/metadata/handler.d.ts +0 -3
  122. package/dist/metadata/identity.d.ts +0 -5
  123. package/dist/metadata/import.d.ts +0 -6
  124. package/dist/metadata/request.d.ts +0 -4
  125. package/dist/metadata/response.d.ts +0 -4
  126. package/dist/metadata/route.d.ts +0 -4
  127. package/dist/metadata/schema.d.ts +0 -3
  128. package/dist/metadata/service.d.ts +0 -6
  129. package/dist/metadata/utils.d.ts +0 -24
  130. package/dist/services/cache.d.ts +0 -9
  131. package/dist/services/common.d.ts +0 -147
  132. package/dist/services/route.d.ts +0 -56
  133. package/dist/types/common.d.ts +0 -95
  134. package/dist/types/import.d.ts +0 -14
  135. package/dist/types/service.d.ts +0 -14
  136. /package/dist/errors/{access.d.ts → http/access.d.ts} +0 -0
  137. /package/dist/errors/{provider.d.ts → http/provider.d.ts} +0 -0
  138. /package/dist/errors/{route.d.ts → http/route.d.ts} +0 -0
  139. /package/dist/services/{access.d.ts → http/access.d.ts} +0 -0
  140. /package/dist/services/{authorization.d.ts → http/authorization.d.ts} +0 -0
  141. /package/dist/services/{cors.d.ts → http/cors.d.ts} +0 -0
  142. /package/dist/services/{provider.d.ts → http/provider.d.ts} +0 -0
package/dist/library.cjs CHANGED
@@ -1,314 +1,468 @@
1
- "use strict";var De=Object.defineProperty;var qt=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var p=(e,t)=>De(e,"name",{value:t,configurable:!0});var Nt=(e,t)=>{for(var r in t)De(e,r,{get:t[r],enumerable:!0})},Bt=(e,t,r,o)=>{if(t&&
2
- typeof t=="object"||typeof t=="function")for(let n of Dt(t))!Ft.call(e,n)&&n!==r&&
3
- De(e,n,{get:()=>t[n],enumerable:!(o=qt(t,n))||o.enumerable});return e};var Ut=e=>Bt(De({},"__esModule",{value:!0}),e);var yo={};Nt(yo,{ImportType:()=>k,IncompleteAccessError:()=>xe,IncompleteAuthorizationError:()=>ke,
4
- IncompleteAuthorizerError:()=>ie,IncompleteCacheError:()=>Pe,IncompleteCorsError:()=>we,
5
- IncompleteHandlerError:()=>Se,IncompleteProviderError:()=>ve,IncompleteRouteError:()=>pe,
6
- IncompleteServiceError:()=>O,IncorrectAccessTypeError:()=>Ee,IncorrectAuthorizationTypeError:()=>qe,
7
- IncorrectBodyTypeError:()=>ye,IncorrectCacheTypeError:()=>ze,IncorrectCorsTypeError:()=>je,
8
- IncorrectDefaultsTypeError:()=>ne,IncorrectHeadersTypeError:()=>de,IncorrectIdentityTypeError:()=>ae,
9
- IncorrectParameterTypeError:()=>Me,IncorrectPreferencesTypeError:()=>te,IncorrectQueryTypeError:()=>He,
10
- IncorrectRequestTypeError:()=>ge,IncorrectResponseTypeError:()=>ce,InvalidAccessTypeError:()=>Ae,
11
- InvalidAuthorizationTypeError:()=>Ce,InvalidBodyTypeError:()=>fe,InvalidCacheTypeError:()=>Re,
12
- InvalidCorsTypeError:()=>Oe,InvalidDefaultsTypeError:()=>oe,InvalidHeadersTypeError:()=>le,
13
- InvalidIdentityTypeError:()=>me,InvalidParameterTypeError:()=>he,InvalidPreferencesTypeError:()=>re,
14
- InvalidProviderTypeError:()=>Ie,InvalidQueryTypeError:()=>be,InvalidRequestTypeError:()=>Te,
15
- InvalidResponseTypeError:()=>se,InvalidRouteErrorTypeError:()=>N,ServiceCollisionError:()=>ee,
16
- ServiceType:()=>C,getClientAuthorization:()=>uo,getClientOperations:()=>lo,getHttpImports:()=>Hr,
17
- getHttpServices:()=>Mr,isHttpImport:()=>ur,isHttpService:()=>Vt,registerTriggers:()=>ao});
18
- module.exports=Ut(yo);var jt=require("@ez4/common/library"),kt=require("@ez4/schema/library"),Sr=require("@ez4/project/library");var k="@ez4/import:http",ur=p(e=>e.type===k,"isHttpImport");var C="@ez4/http",Vt=p(e=>e.type===C,"isHttpService");var g=require("@ez4/common/library"),Et=require("@ez4/reflection");var Fe=require("@ez4/common/library");var O=class extends Fe.IncompleteTypeError{static{p(this,"IncompleteServiceError")}constructor(t,r){
19
- super("Incomplete service",t,r)}},ee=class extends Fe.TypeCollisionError{static{
20
- p(this,"ServiceCollisionError")}constructor(t,r){super("Service error",t,r)}};var T=require("@ez4/common/library"),B=require("@ez4/reflection");var b=require("@ez4/common/library"),F=require("@ez4/reflection"),D=require("@ez4/schema");var Ne=require("@ez4/common/library");var re=class extends Ne.InvalidTypeError{static{p(this,"InvalidPreferencesTypeEr\
21
- ror")}constructor(t){super("Invalid preferences",void 0,"Http.Preferences",t)}},
22
- te=class extends Ne.IncorrectTypeError{constructor(r,o){super("Incorrect prefere\
23
- nces",r,"Http.Preferences",o);this.preferencesType=r}static{p(this,"IncorrectPre\
24
- ferencesTypeError")}};var u=require("@ez4/common/library"),q=require("@ez4/reflection");var Qt=new Set(["ANY","GET","POST","PUT","PATCH","DELETE","OPTIONS"]),vr=p(e=>{let[
25
- t]=e.split(" ",2);return Qt.has(t)},"isHttpPath"),Be=p(e=>(0,u.isClassDeclaration)(
26
- e)&&(0,u.hasHeritageType)(e,"Http.Service"),"isHttpService"),Ue=p(e=>(0,u.isClassDeclaration)(
27
- e)&&(0,u.hasHeritageType)(e,"Http.Import"),"isHttpImport");var xr=p(e=>(0,u.isModelDeclaration)(e)&&(0,u.hasHeritageType)(e,"Http.Route"),"\
28
- isHttpRoute");var Ar=p(e=>(0,u.hasHeritageType)(e,"Http.Defaults"),"isHttpDefaults"),Er=p(e=>(0,u.hasHeritageType)(
29
- e,"Http.Authorization"),"isHttpAuthorization"),Pr=p(e=>(0,u.hasHeritageType)(e,"\
30
- Http.Preferences"),"isHttpPreferences"),Rr=p(e=>(0,u.hasHeritageType)(e,"Http.He\
31
- aders"),"isHttpHeaders"),zr=p(e=>(0,u.hasHeritageType)(e,"Http.Identity"),"isHtt\
32
- pIdentity"),wr=p(e=>(0,u.hasHeritageType)(e,"Http.QueryStrings"),"isHttpQuery"),
33
- Or=p(e=>(0,u.hasHeritageType)(e,"Http.PathParameters"),"isHttpParameters"),jr=p(
34
- e=>(0,u.hasHeritageType)(e,"Http.JsonBody"),"isJsonBody"),kr=p(e=>(0,u.hasHeritageType)(
35
- e,"Http.Cache"),"isHttpCache"),Cr=p(e=>(0,u.hasHeritageType)(e,"Http.Access"),"i\
36
- sHttpAccess"),qr=p(e=>(0,u.hasHeritageType)(e,"Http.Cors"),"isHttpCors"),Dr=p(e=>(0,q.isTypeCallback)(
37
- e)||(0,q.isTypeFunction)(e),"isHttpAuthorizer"),Fr=p(e=>(0,q.isTypeCallback)(e)||
38
- (0,q.isTypeFunction)(e),"isHttpHandler");var Ve=p((e,t,r,o)=>{if(!(0,F.isTypeReference)(e))return Nr(e,t,o);let n=(0,b.getReferenceType)(
39
- e,r);if(n)return Nr(n,t,o)},"getHttpPreferences"),Nr=p((e,t,r)=>{if((0,F.isTypeObject)(
40
- e))return Br(t,(0,b.getObjectMembers)(e),r);if(!(0,b.isModelDeclaration)(e)){r.push(
41
- new re(t.file));return}if(!Pr(e)){r.push(new te(e.name,t.file));return}return Br(
42
- t,(0,b.getModelMembers)(e),r)},"getTypePreferences"),Br=p((e,t,r)=>{let o={};for(let n of t)
43
- if((0,F.isModelProperty)(n))switch(n.name){default:r.push(new b.InvalidServicePropertyError(
44
- e.name,n.name,e.file));break;case"namingStyle":o.namingStyle=(0,b.getPropertyStringIn)(
45
- n,[D.NamingStyle.Preserve,D.NamingStyle.CamelCase,D.NamingStyle.PascalCase,D.NamingStyle.
46
- SnakeCase,D.NamingStyle.KebabCase]);break}return o},"getTypeFromMembers");var P=require("@ez4/common/library"),Qe=require("@ez4/utils"),R=require("@ez4/reflection");var Je=p((e,t,r,o)=>{if(!(0,R.isTypeReference)(e))return Ur(e,t,r,o);let n=(0,P.getReferenceType)(
47
- e,r);if(n)return Ur(n,t,r,o)},"getHttpErrors"),Ur=p((e,t,r,o)=>{if((0,R.isTypeObject)(
48
- e))return Jt(e,t,(0,P.getObjectMembers)(e),r,o)},"getTypeErrors"),Jt=p((e,t,r,o,n)=>{
49
- let s={};for(let i of r){if(!(0,R.isModelProperty)(i)||i.inherited)continue;let m=parseInt(
50
- i.name,10);(0,Qe.isAnyNumber)(m)||n.push(new P.InvalidServicePropertyError(t.name,
51
- i.name,e.file));let c=Gt(i,m,t,o,n);c&&Object.assign(s,c)}if(!(0,Qe.isEmptyObject)(
52
- s))return s},"getTypeFromMembers"),Gt=p((e,t,r,o,n)=>{let s=(0,P.getPropertyTuple)(
53
- e)??[],i={};for(let m of s){if(!(0,R.isTypeReference)(m)){n.push(new N(r.file));
54
- continue}let c=(0,P.getReferenceType)(m,o);if(!c||!(0,R.isTypeClass)(c)){n.push(
55
- new N(r.file));continue}i[c.name]=t}return i},"getErrorClasses");var Ge=p((e,t,r,o)=>{if(!(0,B.isTypeReference)(e))return Vr(e,t,r,o);let n=(0,T.tryGetReferenceType)(
56
- e,r);if(n)return Vr(n,t,r,o)},"getHttpDefaults"),Vr=p((e,t,r,o)=>{if((0,B.isTypeObject)(
57
- e))return Qr(t,(0,T.getObjectMembers)(e),r,o);if(!(0,T.isModelDeclaration)(e)){o.
58
- push(new oe(t.file));return}if(!Ar(e)){o.push(new ne(e.name,t.file));return}return Qr(
59
- t,(0,T.getModelMembers)(e),r,o)},"getTypeDefaults"),Qr=p((e,t,r,o)=>{let n={};for(let s of t)
60
- if(!(!(0,B.isModelProperty)(s)||s.inherited))switch(s.name){default:o.push(new T.InvalidServicePropertyError(
61
- e.name,s.name,e.file));break;case"httpErrors":n.httpErrors=Je(s.value,e,r,o);break;case"\
62
- preferences":n.preferences=Ve(s.value,e,r,o);break;case"memory":case"logRetentio\
63
- n":case"timeout":n[s.name]=(0,T.getPropertyNumber)(s);break;case"listener":n.listener=
64
- (0,T.getServiceListener)(s.value,o);break}return n},"getTypeFromMembers");var E=require("@ez4/reflection"),a=require("@ez4/common/library");var $e=require("@ez4/common/library");var pe=class extends $e.IncompleteTypeError{static{p(this,"IncompleteRouteError")}constructor(t,r){
65
- super("Incomplete gateway route",t,r)}},N=class extends $e.TypeError{static{p(this,
66
- "InvalidRouteErrorTypeError")}constructor(t){super("Invalid route error type.",t)}};var Jr=require("@ez4/common/library");var ie=class extends Jr.IncompleteTypeError{static{p(this,"IncompleteAuthorizerE\
67
- rror")}constructor(t,r){super("Incomplete route authorizer",t,r)}};var l=require("@ez4/common/library"),Q=require("@ez4/reflection"),Xr=require("@ez4/utils");var Ke=require("@ez4/common/library");var se=class extends Ke.InvalidTypeError{constructor(r,o){super("Invalid route r\
68
- esponse",void 0,r,o);this.baseType=r}static{p(this,"InvalidResponseTypeError")}},
69
- ce=class extends Ke.IncorrectTypeError{constructor(r,o,n){super("Incorrect route\
70
- response",r,o,n);this.responseType=r;this.baseType=o}static{p(this,"IncorrectRe\
71
- sponseTypeError")}};var We=require("@ez4/common/library"),x=require("@ez4/reflection"),$r=require("@ez4/schema/library");var Ye=require("@ez4/common/library");var me=class extends Ye.InvalidTypeError{static{p(this,"InvalidIdentityTypeError")}constructor(t){
72
- super("Invalid identity",void 0,"Http.Identity",t)}},ae=class extends Ye.IncorrectTypeError{constructor(r,o){
73
- super("Incorrect identity",r,"Http.Identity",o);this.identityType=r}static{p(this,
74
- "IncorrectIdentityTypeError")}};var j=require("@ez4/schema/library");var v=p((e,t)=>{let r=(0,j.getIntersectionSchema)(e,t);if(r&&(0,j.isObjectSchema)(
75
- r))return r},"getSchemaFromIntersection"),f=p((e,t)=>{let r=(0,j.getObjectSchema)(
76
- e,t);if(r&&(0,j.isObjectSchema)(r))return r},"getSchemaFromObject");var ue=p((e,t,r,o)=>{if((0,x.isTypeUndefined)(e))return;if(!(0,x.isTypeReference)(
77
- e))return Gr(e,t,r,o);let n=(0,We.getReferenceType)(e,r);if(n)return Gr(n,t,r,o)},
78
- "getHttpIdentity"),Gr=p((e,t,r,o)=>{if((0,x.isTypeObject)(e))return f(e,r);if((0,x.isTypeUnion)(
79
- e))return $t(e.elements,t,r,o);if((0,x.isTypeIntersection)(e))return v(e,r);if(!(0,We.isModelDeclaration)(
80
- e)){o.push(new me(t.file));return}if(!zr(e)){o.push(new ae(e.name,t.file));return}
81
- let n=f(e,r);return n&&(n.definitions={...n.definitions,extensible:!0}),n},"getT\
82
- ypeIdentity"),$t=p((e,t,r,o)=>{let n=[];for(let s of e){let i=ue(s,t,r,o);i&&n.push(
83
- i)}return n.length>1?(0,$r.createUnionSchema)({elements:n}):n[0]},"getIdentityFr\
84
- omUnion");var U=require("@ez4/reflection"),Ze=require("@ez4/common/library");var Xe=require("@ez4/common/library");var le=class extends Xe.InvalidTypeError{static{p(this,"InvalidHeadersTypeError")}constructor(t){
85
- super("Invalid headers",void 0,"Http.Headers",t)}},de=class extends Xe.IncorrectTypeError{constructor(r,o){
86
- super("Incorrect headers",r,"Http.Headers",o);this.headersType=r}static{p(this,"\
87
- IncorrectHeadersTypeError")}};var _e=p((e,t,r,o)=>{if(!(0,U.isTypeReference)(e))return Kr(e,t,r,o);let n=(0,Ze.getReferenceType)(
88
- e,r);if(n)return Kr(n,t,r,o)},"getHttpHeaders"),Kr=p((e,t,r,o)=>{if((0,U.isTypeObject)(
89
- e))return f(e,r);if((0,U.isTypeIntersection)(e))return v(e,r);if(!(0,Ze.isModelDeclaration)(
90
- e)){o.push(new le(t.file));return}if(!Rr(e)){o.push(new de(e.name,t.file));return}
91
- return f(e,r)},"getTypeHeaders");var V=require("@ez4/schema/library"),er=require("@ez4/common/library"),y=require("@ez4/reflection");var Le=require("@ez4/common/library");var fe=class extends Le.InvalidTypeError{static{p(this,"InvalidBodyTypeError")}constructor(t){
92
- super("Invalid body",void 0,"Http.JsonBody",t)}},ye=class extends Le.IncorrectTypeError{constructor(r,o){
93
- super("Incorrect body",r,"Http.JsonBody",o);this.bodyType=r}static{p(this,"Incor\
94
- rectBodyTypeError")}};var rr=p((e,t,r,o)=>fr(e,r,n=>lr(n)??dr(n,t,r,o)),"getHttpBody"),fr=p((e,t,r)=>{
95
- if(!(0,y.isTypeUndefined)(e)){if(!(0,y.isTypeReference)(e))return r(e);let o=(0,er.getReferenceType)(
96
- e,t);if(o)return r(o)}},"getTypeBody"),lr=p(e=>{if((0,y.isTypeScalar)(e))return(0,V.getScalarSchema)(
97
- e)},"getScalarTypeBody"),dr=p((e,t,r,o)=>{if((0,y.isTypeObject)(e))return f(e,r);
98
- if((0,y.isTypeUnion)(e))return Kt(e.elements,r,n=>lr(n)??dr(n,t,r,o));if((0,y.isTypeIntersection)(
99
- e))return v(e,r);if((0,y.isTypeArray)(e))return Yt(e.element,r,n=>lr(n)??dr(n,t,
100
- r,o));if(!(0,er.isModelDeclaration)(e)){o.push(new fe(t.file));return}if(!jr(e)){
101
- o.push(new ye(e.name,e.file));return}return f(e,r)},"getCompoundTypeBody"),Kt=p(
102
- (e,t,r)=>{let o={optional:!1,elements:[]};for(let n of e){if((0,y.isTypeUndefined)(
103
- n)){o.optional=!0;continue}let s=fr(n,t,r);s&&o.elements.push(s)}if(o.elements.length)
104
- return(0,V.createUnionSchema)(o)},"getUnionTypeBody"),Yt=p((e,t,r)=>{let o=fr(e,
105
- t,r);if(o)return(0,V.createArraySchema)({element:o})},"getArrayTypeBody");var Zr=p((e,t,r,o)=>{let n=Lr(e,t,r,o,"Http.AuthResponse");if(n&&Wt(n))return n},
106
- "getHttpAuthResponse"),_r=p((e,t,r,o)=>{let n=Lr(e,t,r,o,"Http.Response");if(n&&
107
- Xt(n))return n},"getHttpHandlerResponse"),Lr=p((e,t,r,o,n)=>{if(!(0,Q.isTypeReference)(
108
- e))return Yr(e,t,r,o,n);let s=(0,l.getReferenceType)(e,r);if(s)return Yr(s,t,r,o,
109
- n)},"getHttpResponse"),Wt=p(e=>!!e.identity,"isValidAuthResponse"),Xt=p(e=>(0,Xr.isAnyNumber)(
110
- e.status)||Array.isArray(e.status),"isValidHandlerResponse"),Yr=p((e,t,r,o,n)=>{
111
- if((0,Q.isTypeObject)(e))return Wr(e,t,(0,l.getObjectMembers)(e),r,o);if(!(0,l.isModelDeclaration)(
112
- e)){o.push(new se(n,t.file));return}if(!(0,l.hasHeritageType)(e,n)){o.push(new ce(
113
- e.name,n,e.file));return}return Wr(e,t,(0,l.getModelMembers)(e),r,o)},"getTypeRe\
114
- sponse"),Wr=p((e,t,r,o,n)=>{let s={};for(let i of r)if(!(!(0,Q.isModelProperty)(
115
- i)||i.inherited))switch(i.name){default:n.push(new l.InvalidServicePropertyError(
116
- t.name,i.name,e.file));break;case"status":s.status=(0,l.getPropertyNumber)(i)??(0,l.getPropertyNumberList)(
117
- i);break;case"headers":{s.headers=_e(i.value,e,o,n),s.headers&&i.description&&(s.
118
- headers.description=i.description);break}case"identity":{s.identity=ue(i.value,e,
119
- o,n),s.identity&&i.description&&(s.identity.description=i.description);break}case"\
120
- body":{s.body=rr(i.value,e,o,n),s.body&&i.description&&(s.body.description=i.description);
121
- break}}return s},"getTypeFromMembers");var w=require("@ez4/reflection"),H=require("@ez4/common/library");var tr=require("@ez4/common/library");var Te=class extends tr.InvalidTypeError{constructor(r,o){super("Invalid route r\
122
- equest",void 0,r,o);this.baseType=r}static{p(this,"InvalidRequestTypeError")}},ge=class extends tr.IncorrectTypeError{constructor(r,o,n){
123
- super("Incorrect route request",r,o,n);this.requestType=r;this.baseType=o}static{
124
- p(this,"IncorrectRequestTypeError")}};var J=require("@ez4/reflection"),nr=require("@ez4/common/library");var or=require("@ez4/common/library");var he=class extends or.InvalidTypeError{static{p(this,"InvalidParameterTypeErro\
125
- r")}constructor(t){super("Invalid request parameters",void 0,"Http.PathParameter\
126
- s",t)}},Me=class extends or.IncorrectTypeError{constructor(r,o){super("Incorrect\
127
- request parameters",r,"Http.PathParameters",o);this.parametersType=r}static{p(this,
128
- "IncorrectParameterTypeError")}};var rt=p((e,t,r,o)=>{if(!(0,J.isTypeReference)(e))return et(e,t,r,o);let n=(0,nr.getReferenceType)(
129
- e,r);if(n)return et(n,t,r,o)},"getHttpParameters"),et=p((e,t,r,o)=>{if((0,J.isTypeObject)(
130
- e))return f(e,r);if((0,J.isTypeIntersection)(e))return v(e,r);if(!(0,nr.isModelDeclaration)(
131
- e)){o.push(new he(t.file));return}if(!Or(e)){o.push(new Me(e.name,e.file));return}
132
- return f(e,r)},"getTypeParameter");var G=require("@ez4/reflection"),ir=require("@ez4/common/library");var pr=require("@ez4/common/library");var be=class extends pr.InvalidTypeError{static{p(this,"InvalidQueryTypeError")}constructor(t){
133
- super("Invalid request query strings",void 0,"Http.QueryStrings",t)}},He=class extends pr.IncorrectTypeError{constructor(r,o){
134
- super("Incorrect request query strings",r,"Http.QueryStrings",o);this.queryType=
135
- r}static{p(this,"IncorrectQueryTypeError")}};var ot=p((e,t,r,o)=>{if(!(0,G.isTypeReference)(e))return tt(e,t,r,o);let n=(0,ir.getReferenceType)(
136
- e,r);if(n)return tt(n,t,r,o)},"getHttpQuery"),tt=p((e,t,r,o)=>{if((0,G.isTypeObject)(
137
- e))return f(e,r);if((0,G.isTypeIntersection)(e))return v(e,r);if(!(0,ir.isModelDeclaration)(
138
- e)){o.push(new be(t.file));return}if(!wr(e)){o.push(new He(e.name,t.file));return}
139
- return f(e,r)},"getTypeQuery");var it=p((e,t,r,o)=>yr(e,t,r,o,"Http.AuthRequest"),"getHttpAuthRequest"),st=p((e,t,r,o)=>yr(
140
- e,t,r,o,"Http.Request"),"getHttpHandlerRequest"),yr=p((e,t,r,o,n)=>{if((0,w.isTypeIntersection)(
141
- e)&&e.elements.length>0)return yr(e.elements[0],t,r,o,n);if(!(0,w.isTypeReference)(
142
- e))return nt(e,t,r,o,n);let s=(0,H.getReferenceType)(e,r);if(s)return nt(s,t,r,o,
143
- n)},"getHttpRequest"),nt=p((e,t,r,o,n)=>{if((0,w.isTypeObject)(e))return pt(e,t,
144
- (0,H.getObjectMembers)(e),r,o);if(!(0,H.isModelDeclaration)(e)){o.push(new Te(n,
145
- t.file));return}if(!(0,H.hasHeritageType)(e,n)){o.push(new ge(e.name,n,e.file));
146
- return}return pt(e,t,(0,H.getModelMembers)(e),r,o)},"getTypeRequest"),pt=p((e,t,r,o,n)=>{
147
- let s={};for(let i of r)if(!(!(0,w.isModelProperty)(i)||i.inherited))switch(i.name){default:
148
- n.push(new H.InvalidServicePropertyError(t.name,i.name,e.file));break;case"heade\
149
- rs":{s.headers=_e(i.value,e,o,n),s.headers&&i.description&&(s.headers.description=
150
- i.description);break}case"identity":{s.identity=ue(i.value,e,o,n),s.identity&&i.
151
- description&&(s.identity.description=i.description);break}case"query":{s.query=ot(
152
- i.value,e,o,n),s.query&&i.description&&(s.query.description=i.description);break}case"\
153
- parameters":{s.parameters=rt(i.value,e,o,n),s.parameters&&i.description&&(s.parameters.
154
- description=i.description);break}case"body":{s.body=rr(i.value,e,o,n),s.body&&i.
155
- description&&(s.body.description=i.description);break}}return s},"getTypeFromMem\
156
- bers");var ct=p((e,t,r,o)=>{if(!Dr(e))return;let{description:n,module:s}=e,i={...n&&{description:n},
157
- ...s&&{module:s}},m=new Set(["name","file"]);if((i.name=e.name)&&m.delete("name"),
158
- (i.file=e.file)&&m.delete("file"),e.parameters){let[{value:c}]=e.parameters;i.request=
159
- it(c,t,r,o)}if(e.return&&(i.response=Zr(e.return,t,r,o)),Zt(i))return i;o.push(new ie(
160
- [...m],e.file))},"getHttpAuthorizer"),Zt=p(e=>!!e.name&&!!e.file,"isValidAuthori\
161
- zer");var mt=require("@ez4/common/library");var Se=class extends mt.IncompleteTypeError{static{p(this,"IncompleteHandlerErro\
162
- r")}constructor(t,r){super("Incomplete route handler",t,r)}};var A=require("@ez4/common/library"),cr=require("@ez4/reflection");var sr=require("@ez4/common/library");var Ie=class extends sr.InvalidTypeError{constructor(r,o){super("Invalid route p\
163
- rovider",void 0,r,o);this.baseType=r}static{p(this,"InvalidProviderTypeError")}},
164
- ve=class extends sr.IncompleteTypeError{static{p(this,"IncompleteProviderError")}constructor(t,r){
165
- super("Incomplete route provider",t,r)}};var ut=p((e,t,r,o)=>{if(!(0,cr.isTypeReference)(e))return at(e,t,r,o,"Http.Provi\
166
- der");let n=(0,A.getReferenceType)(e,r);if(n)return at(n,t,r,o,"Http.Provider")},
167
- "getHttpProvider"),_t=p(e=>!!e.services,"isValidProvider"),at=p((e,t,r,o,n)=>{if(!(0,A.isModelDeclaration)(
168
- e)){o.push(new Ie(n,t.file));return}return Lt(e,(0,A.getModelMembers)(e),r,o)},"\
169
- getProviderType"),Lt=p((e,t,r,o)=>{let n={},s=new Set(["services"]);for(let i of t)
170
- if(!(!(0,cr.isModelProperty)(i)||i.inherited))switch(i.name){case"variables":n.variables=
171
- (0,A.getLinkedVariableList)(i,o);break;case"services":{(n.services=(0,A.getLinkedServiceList)(
172
- i,r,o))&&s.delete(i.name);break}}if(_t(n))return n;o.push(new ve([...s],e.file))},
173
- "getTypeFromMembers");var lt=p((e,t,r,o,n)=>{if(!Fr(e))return;let{description:s,module:i}=e,m={...s&&{
174
- description:s},...i&&{module:i}},c=new Set(["name","file","response"]);if((m.name=
175
- e.name)&&c.delete("name"),(m.file=e.file)&&c.delete("file"),e.parameters){let[{value:z},
176
- Ir]=e.parameters;m.request=st(z,t,r,o),Ir&&!n&&(m.provider=ut(Ir.value,t,r,o))}if(e.
177
- return){let z=_r(e.return,t,r,o);z&&(m.response=z,c.delete("response"))}if(eo(m))
178
- return m;o.push(new Se([...c],e.file))},"getHttpHandler"),eo=p(e=>!!e.name&&!!e.
179
- file&&!!e.response,"isValidHandler");var yt=p((e,t,r,o)=>gt(e,t,r,o,!1),"getHttpLocalRoutes"),Tt=p((e,t,r,o)=>gt(e,t,
180
- r,o,!0),"getHttpRemoteRoutes"),gt=p((e,t,r,o,n)=>{if(!(0,E.isTypeReference)(t.value))
181
- return Tr((0,a.getPropertyTuple)(t)??[],e,r,o,n);let s=(0,a.getReferenceType)(t.
182
- value,r);if(s&&(0,E.isTypeTuple)(s))return Tr(s.elements,e,r,o,n)},"getHttpRoute\
183
- s"),Tr=p((e,t,r,o,n)=>{let s=[];for(let i of e){let m=ro(i,t,r,o,n);Array.isArray(
184
- m)?s.push(...m):m&&s.push(m)}return s},"getRouteFromTuple"),ro=p((e,t,r,o,n)=>{if(!(0,E.isTypeReference)(
185
- e))return dt(e,t,r,o,n);let s=(0,a.getReferenceType)(e,r);if(s)return dt(s,t,r,o,
186
- n)},"getTypeFromRoute"),to=p(e=>!!e.path&&!!e.handler,"isValidRoute"),dt=p((e,t,r,o,n)=>{
187
- if(xr(e))return ft(e,t,(0,a.getModelMembers)(e),r,o,n);if((0,E.isTypeObject)(e))
188
- return ft(e,t,(0,a.getObjectMembers)(e),r,o,n);if((0,E.isTypeTuple)(e)&&e.spread)
189
- return Tr(e.elements,t,r,o,n)},"getRouteType"),ft=p((e,t,r,o,n,s)=>{let i={},m=new Set(
190
- ["path","handler"]);for(let c of r)if(!(!(0,E.isModelProperty)(c)||c.inherited))
191
- switch(c.name){default:n.push(new a.InvalidServicePropertyError(t.name,c.name,e.
192
- file));break;case"name":i.name=(0,a.getPropertyString)(c);break;case"path":{let z=(0,a.getPropertyString)(
193
- c);z&&vr(z)&&(m.delete(c.name),i.path=z);break}case"handler":(i.handler=lt(c.value,
194
- t,o,n,s))&&m.delete(c.name);break;case"authorizer":i.authorizer=ct(c.value,t,o,n);
195
- break;case"httpErrors":i.httpErrors=Je(c.value,t,o,n);break;case"preferences":i.
196
- preferences=Ve(c.value,t,o,n);break;case"memory":case"logRetention":case"timeout":
197
- i[c.name]=(0,a.getPropertyNumber)(c);break;case"cors":case"disabled":i[c.name]=(0,a.getPropertyBoolean)(
198
- c);break;case"listener":i.listener=(0,a.getServiceListener)(c.value,n);break;case"\
199
- variables":i.variables=(0,a.getLinkedVariableList)(c,n);break}if(to(i))return i;
200
- n.push(new pe([...m],e.file))},"getTypeFromMembers");var S=require("@ez4/common/library"),K=require("@ez4/reflection"),gr=require("@ez4/utils");var $=require("@ez4/common/library");var xe=class extends $.IncompleteTypeError{static{p(this,"IncompleteAccessError")}constructor(t,r){
201
- super("Incomplete gateway access",t,r)}},Ae=class extends $.InvalidTypeError{static{
202
- p(this,"InvalidAccessTypeError")}constructor(t){super("Invalid gateway access ty\
203
- pe",void 0,"Http.Access",t)}},Ee=class extends $.IncorrectTypeError{constructor(r,o){
204
- super("Incorrect gateway access type",r,"Http.Access",o);this.cacheType=r}static{
205
- p(this,"IncorrectAccessTypeError")}};var bt=p((e,t,r,o)=>{if(!(0,K.isTypeReference)(e))return ht(e,t,o);let n=(0,S.getReferenceType)(
206
- e,r);if(n)return ht(n,t,o)},"getHttpAccess"),oo=p(e=>(0,gr.isAnyNumber)(e.logRetention),
207
- "isValidAccess"),ht=p((e,t,r)=>{if((0,K.isTypeObject)(e))return Mt(e,t,(0,S.getObjectMembers)(
208
- e),r);if(!(0,S.isModelDeclaration)(e)){r.push(new Ae(t.file));return}if(!Cr(e)){
209
- r.push(new Ee(e.name,e.file));return}return Mt(e,t,(0,S.getModelMembers)(e),r)},
210
- "getTypeAccess"),Mt=p((e,t,r,o)=>{let n={},s=new Set(["logRetention"]);for(let i of r)
211
- if(!(!(0,K.isModelProperty)(i)||i.inherited))switch(i.name){default:o.push(new S.InvalidServicePropertyError(
212
- t.name,i.name,e.file));break;case"logRetention":{let m=(0,S.getPropertyNumber)(i);
213
- (0,gr.isAnyNumber)(m)&&(n[i.name]=m,s.delete(i.name));break}}if(oo(n))return n;o.
214
- push(new xe([...s],e.file))},"getTypeFromMembers");var I=require("@ez4/common/library"),W=require("@ez4/reflection"),hr=require("@ez4/utils");var Y=require("@ez4/common/library");var Pe=class extends Y.IncompleteTypeError{static{p(this,"IncompleteCacheError")}constructor(t,r){
215
- super("Incomplete gateway cache",t,r)}},Re=class extends Y.InvalidTypeError{static{
216
- p(this,"InvalidCacheTypeError")}constructor(t){super("Invalid gateway cache type",
217
- void 0,"Http.Cache",t)}},ze=class extends Y.IncorrectTypeError{constructor(r,o){
218
- super("Incorrect gateway cache type",r,"Http.Cache",o);this.cacheType=r}static{p(
219
- this,"IncorrectCacheTypeError")}};var It=p((e,t,r,o)=>{if(!(0,W.isTypeReference)(e))return Ht(e,t,o);let n=(0,I.getReferenceType)(
220
- e,r);if(n)return Ht(n,t,o)},"getHttpCache"),no=p(e=>(0,hr.isAnyNumber)(e.authorizerTTL),
221
- "isValidCache"),Ht=p((e,t,r)=>{if((0,W.isTypeObject)(e))return St(e,t,(0,I.getObjectMembers)(
222
- e),r);if(!(0,I.isModelDeclaration)(e)){r.push(new Re(t.file));return}if(!kr(e)){
223
- r.push(new ze(e.name,e.file));return}return St(e,t,(0,I.getModelMembers)(e),r)},
224
- "getTypeCache"),St=p((e,t,r,o)=>{let n={},s=new Set(["authorizerTTL"]);for(let i of r)
225
- if(!(!(0,W.isModelProperty)(i)||i.inherited))switch(i.name){default:o.push(new I.InvalidServicePropertyError(
226
- t.name,i.name,e.file));break;case"authorizerTTL":{let m=(0,I.getPropertyNumber)(
227
- i);(0,hr.isAnyNumber)(m)&&(n[i.name]=m,s.delete(i.name));break}}if(no(n))return n;
228
- o.push(new Pe([...s],e.file))},"getTypeFromMembers");var d=require("@ez4/common/library"),Z=require("@ez4/reflection");var X=require("@ez4/common/library");var we=class extends X.IncompleteTypeError{static{p(this,"IncompleteCorsError")}constructor(t,r){
229
- super("Incomplete HTTP CORS",t,r)}},Oe=class extends X.InvalidTypeError{static{p(
230
- this,"InvalidCorsTypeError")}constructor(t){super("Invalid HTTP CORS type",void 0,
231
- "Http.Cors",t)}},je=class extends X.IncorrectTypeError{constructor(r,o){super("I\
232
- ncorrect HTTP CORS type",r,"Http.Cors",o);this.fallbackType=r}static{p(this,"Inc\
233
- orrectCorsTypeError")}};var At=p((e,t,r,o)=>{if(!(0,Z.isTypeReference)(e))return vt(e,t,o);let n=(0,d.getReferenceType)(
234
- e,r);if(n)return vt(n,t,o)},"getHttpCors"),po=p(e=>!!e.allowOrigins?.length,"isV\
235
- alidCors"),vt=p((e,t,r)=>{if((0,Z.isTypeObject)(e))return xt(e,t,(0,d.getObjectMembers)(
236
- e),r);if(!(0,d.isModelDeclaration)(e)){r.push(new Oe(t.file));return}if(!qr(e)){
237
- r.push(new je(e.name,e.file));return}return xt(e,t,(0,d.getModelMembers)(e),r)},
238
- "getTypeCors"),xt=p((e,t,r,o)=>{let n={},s=new Set(["allowOrigins"]);for(let i of r)
239
- if(!(!(0,Z.isModelProperty)(i)||i.inherited))switch(i.name){default:o.push(new d.InvalidServicePropertyError(
240
- t.name,i.name,e.file));break;case"allowOrigins":case"allowMethods":case"allowHea\
241
- ders":case"exposeHeaders":n[i.name]=(0,d.getPropertyStringList)(i);break;case"al\
242
- lowCredentials":n.allowCredentials=(0,d.getPropertyBoolean)(i);break;case"maxAge":
243
- n.maxAge=(0,d.getPropertyNumber)(i);break}if(po(n))return n;o.push(new we([...s],
244
- e.file))},"getTypeFromMembers");var Mr=p(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!Be(n)||(0,g.isExternalDeclaration)(
245
- n))continue;let s={type:C,context:{}},i=new Set(["routes"]),m=n.file;s.name=n.name,
246
- n.description&&(s.description=n.description);for(let c of(0,g.getModelMembers)(n))
247
- if(!(!(0,Et.isModelProperty)(c)||c.inherited))switch(c.name){default:r.push(new g.InvalidServicePropertyError(
248
- s.name,c.name,m));break;case"routes":(s.routes=yt(n,c,e,r))&&i.delete(c.name);break;case"\
249
- name":s.displayName=(0,g.getPropertyString)(c);break;case"defaults":s.defaults=Ge(
250
- c.value,n,e,r);break;case"cache":s.cache=It(c.value,n,e,r);break;case"access":s.
251
- access=bt(c.value,n,e,r);break;case"cors":s.cors=At(c.value,n,e,r);break;case"va\
252
- riables":s.variables=(0,g.getLinkedVariableList)(c,r);break;case"services":s.services=
253
- (0,g.getLinkedServiceList)(c,e,r);break}if(!io(s)){r.push(new O([...i],m));continue}
254
- if(t[n.name]){r.push(new g.DuplicateServiceError(n.name,m));continue}so(s,r,m),t[n.
255
- name]=s}return{services:t,errors:r}},"getHttpServices"),io=p(e=>!!e.name&&!!e.routes&&
256
- !!e.context,"isValidService"),so=p((e,t,r)=>{for(let o of e.routes){let n=o.handler.
257
- provider;if(n?.services){e.services||(e.services={});for(let s in n.services){let i=e.
258
- services[s],m=n.services[s];if(!i){e.services[s]=m;continue}i!==m&&t.push(new ee(
259
- s,r))}}}},"assignProviderServices");var M=require("@ez4/common/library"),mr=require("@ez4/reflection");var h=require("@ez4/common/library"),L=require("@ez4/reflection"),br=require("@ez4/utils");var _=require("@ez4/common/library");var ke=class extends _.IncompleteTypeError{static{p(this,"IncompleteAuthorizatio\
260
- nError")}constructor(t,r){super("Incomplete gateway authorization",t,r)}},Ce=class extends _.InvalidTypeError{static{
261
- p(this,"InvalidAuthorizationTypeError")}constructor(t){super("Invalid authorizat\
262
- ion",void 0,"Http.Authorization",t)}},qe=class extends _.IncorrectTypeError{constructor(r,o){
263
- super("Incorrect authorization",r,"Http.Authorization",o);this.authorizationType=
264
- r}static{p(this,"IncorrectAuthorizationTypeError")}};var zt=p((e,t,r,o)=>{if(!(0,L.isTypeReference)(e))return Pt(e,t,o);let n=(0,h.getReferenceType)(
265
- e,r);if(n)return Pt(n,t,o)},"getHttpAuthorization"),co=p(e=>(0,br.isAnyString)(e.
266
- value),"isValidAuthorization"),Pt=p((e,t,r)=>{if((0,L.isTypeObject)(e))return Rt(
267
- e,t,(0,h.getObjectMembers)(e),r);if(!(0,h.isModelDeclaration)(e)){r.push(new Ce(
268
- t.file));return}if(!Er(e)){r.push(new qe(e.name,t.file));return}return Rt(e,t,(0,h.getModelMembers)(
269
- e),r)},"getTypeAuthorization"),Rt=p((e,t,r,o)=>{let n=new Set(["value"]),s={type:"\
270
- bearer",header:"authorization"};for(let i of r)if((0,L.isModelProperty)(i))switch(i.
271
- name){default:o.push(new h.InvalidServicePropertyError(t.name,i.name,t.file));break;case"\
272
- type":s.type=(0,h.getPropertyStringIn)(i,["bearer"]);break;case"value":case"head\
273
- er":{let m=(0,h.getPropertyString)(i);(0,br.isAnyString)(m)&&(s[i.name]=m,n.delete(
274
- i.name));break}}if(co(s))return s;o.push(new ke([...n],e.file))},"getTypeFromMem\
275
- bers");var Hr=p(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!Ue(n)||(0,M.isExternalDeclaration)(
276
- n))continue;let s={type:k},i=new Set(["reference","project","routes"]),m=n.file;
277
- s.name=n.name,n.description&&(s.description=n.description);for(let c of(0,M.getModelMembers)(
278
- n,!0))if((0,mr.isModelProperty)(c))switch(c.name){default:c.inherited||r.push(new M.InvalidServicePropertyError(
279
- s.name,c.name,m));break;case"reference":c.inherited&&(0,mr.isTypeReference)(c.value)&&
280
- (s[c.name]=(0,M.getReferenceName)(c.value),i.delete(c.name));break;case"authoriz\
281
- ation":c.inherited||(s[c.name]=zt(c.value,n,e,r));break;case"project":!c.inherited&&
282
- (s.project=(0,M.getPropertyString)(c))&&i.delete(c.name);break;case"name":c.inherited&&
1
+ "use strict";var br=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var fn=Object.getOwnPropertyNames;var yn=Object.prototype.hasOwnProperty;var i=(e,t)=>br(e,"name",{value:t,configurable:!0});var Tn=(e,t)=>{for(var r in t)br(e,r,{get:t[r],enumerable:!0})},gn=(e,t,r,o)=>{if(t&&
2
+ typeof t=="object"||typeof t=="function")for(let n of fn(t))!yn.call(e,n)&&n!==r&&
3
+ br(e,n,{get:()=>t[n],enumerable:!(o=dn(t,n))||o.enumerable});return e};var bn=e=>gn(br({},"__esModule",{value:!0}),e);var Ii={};Tn(Ii,{HttpImportType:()=>Fe,HttpNamespaceType:()=>l,HttpServiceType:()=>De,
4
+ IncompleteAccessError:()=>pr,IncompleteAuthorizationError:()=>Ne,IncompleteAuthorizerHandlerError:()=>Ge,
5
+ IncompleteCacheError:()=>mr,IncompleteCorsError:()=>dr,IncompleteHandlerError:()=>oe,
6
+ IncompleteProviderError:()=>Ke,IncompleteRouteError:()=>Ye,IncompleteServiceError:()=>_,
7
+ IncompleteTargetError:()=>ne,IncorrectAccessTypeError:()=>cr,IncorrectAuthorizationTypeError:()=>Be,
8
+ IncorrectBodyTypeError:()=>nr,IncorrectCacheTypeError:()=>ur,IncorrectCorsTypeError:()=>yr,
9
+ IncorrectDefaultsTypeError:()=>te,IncorrectEventTypeError:()=>gr,IncorrectHeadersTypeError:()=>er,
10
+ IncorrectIdentityTypeError:()=>Ze,IncorrectParameterTypeError:()=>Qe,IncorrectPreferencesTypeError:()=>Ue,
11
+ IncorrectQueryTypeError:()=>tr,IncorrectRequestTypeError:()=>J,IncorrectResponseTypeError:()=>Q,
12
+ InvalidAccessTypeError:()=>ar,InvalidAuthorizationTypeError:()=>qe,InvalidBodyTypeError:()=>or,
13
+ InvalidCacheTypeError:()=>lr,InvalidCorsTypeError:()=>fr,InvalidDefaultsTypeError:()=>re,
14
+ InvalidEventTypeError:()=>Tr,InvalidHeadersTypeError:()=>Le,InvalidIdentityTypeError:()=>Xe,
15
+ InvalidParameterTypeError:()=>Ve,InvalidPreferencesTypeError:()=>_e,InvalidProviderTypeError:()=>Je,
16
+ InvalidQueryTypeError:()=>rr,InvalidRequestTypeError:()=>G,InvalidResponseTypeError:()=>V,
17
+ InvalidRouteErrorTypeError:()=>ce,MismatchParametersTypeError:()=>$e,ServiceCollisionError:()=>Ce,
18
+ WsNamespaceType:()=>u,WsServiceType:()=>we,createHttpImport:()=>it,createHttpService:()=>ot,
19
+ createWsService:()=>rt,getClientAuthorization:()=>Ri,getClientOperations:()=>Hi,
20
+ getHttpImportsMetadata:()=>Et,getHttpServicesMetadata:()=>At,getWsServicesMetadata:()=>wt,
21
+ isHttpImport:()=>nt,isHttpImportDeclaration:()=>Vr,isHttpService:()=>Mn,isHttpServiceDeclaration:()=>Gr,
22
+ isWsService:()=>hn,isWsServiceDeclaration:()=>Zr,registerTriggers:()=>Si});module.
23
+ exports=bn(Ii);var mn=require("@ez4/common/library"),ln=require("@ez4/schema/library"),Lr=require("@ez4/project/library");var Dt=require("@ez4/project/library");var we="@ez4/ws",u="Ws",hn=i(e=>e.type===we,"isWsService"),rt=i(e=>({...(0,Dt.createServiceMetadata)(
24
+ we,e),variables:{},services:{}}),"createWsService");var M=require("@ez4/common/library"),Yr=require("@ez4/reflection"),Ho=require("@ez4/utils");var hr=require("@ez4/common/library");var _=class extends hr.IncompleteTypeError{static{i(this,"IncompleteServiceError")}constructor(t,r){
25
+ super("Incomplete service",t,r)}},Ce=class extends hr.TypeCollisionError{static{
26
+ i(this,"ServiceCollisionError")}constructor(t,r){super("Service error",t,r)}};var m=i((e,t)=>`${e}.${t}`,"getFullTypeName"),Ft=i(e=>`@${e}`,"getValidatorName");var tt=require("@ez4/project/library");var De="@ez4/http",Fe="@ez4/import:http",l="Http",Mn=i(e=>e.type===De,"isHttpSer\
27
+ vice"),ot=i(e=>({...(0,tt.createServiceMetadata)(De,e),variables:{},services:{}}),
28
+ "createHttpService"),nt=i(e=>e.type===Fe,"isHttpImport"),it=i(e=>(0,tt.createServiceMetadata)(
29
+ Fe,e),"createHttpImport");var v=require("@ez4/common/library"),se=require("@ez4/reflection"),Mr=require("@ez4/utils");var ie=require("@ez4/common/library");var Ne=class extends ie.IncompleteTypeError{static{i(this,"IncompleteAuthorizati\
30
+ onError")}constructor(t,r){super("Incomplete authorization",t,r)}},qe=class extends ie.InvalidTypeError{constructor(r,o){
31
+ super("Invalid authorization",void 0,r,o);this.baseType=r}static{i(this,"Invalid\
32
+ AuthorizationTypeError")}},Be=class extends ie.IncorrectTypeError{constructor(r,o,n){
33
+ super("Incorrect authorization",r,o,n);this.authorizationType=r;this.baseType=o}static{
34
+ i(this,"IncorrectAuthorizationTypeError")}};var st=m(l,"Authorization"),vn=i(e=>(0,v.hasHeritageType)(e,st),"isHttpAuthoriza\
35
+ tionDeclaration"),Bt=i((e,t,r,o)=>{if(!(0,se.isTypeReference)(e))return Nt(e,t,o);
36
+ let n=(0,v.getReferenceType)(e,r);if(n)return Nt(n,t,o)},"getHttpAuthorizationMe\
37
+ tadata"),Sn=i(e=>(0,Mr.isObjectWith)(e,["value"]),"isCompleteAuthorization"),Nt=i(
38
+ (e,t,r)=>{if((0,se.isTypeObject)(e))return qt(e,t,(0,v.getObjectMembers)(e),r);if(!(0,v.isModelDeclaration)(
39
+ e)){r.push(new qe(st,t.file));return}if(!vn(e)){r.push(new Be(e.name,st,t.file));
40
+ return}return qt(e,t,(0,v.getModelMembers)(e),r)},"getTypeAuthorization"),qt=i((e,t,r,o)=>{
41
+ let n=new Set(["value"]),s={type:"bearer",header:"authorization"};for(let p of r)
42
+ if((0,se.isModelProperty)(p))switch(p.name){default:o.push(new v.InvalidServicePropertyError(
43
+ t.name,p.name,t.file));break;case"type":s.type=(0,v.getPropertyStringIn)(p,["bea\
44
+ rer"]);break;case"value":case"header":{let a=(0,v.getPropertyString)(p);(0,Mr.isAnyString)(
45
+ a)&&(s[p.name]=a,n.delete(p.name));break}}if(Sn(s))return s;o.push(new Ne([...n],
46
+ e.file))},"getTypeFromMembers");var S=require("@ez4/common/library"),me=require("@ez4/reflection");var vr=require("@ez4/common/library");var re=class extends vr.InvalidTypeError{constructor(r,o){super("Invalid default\
47
+ s",void 0,r,o);this.baseType=r}static{i(this,"InvalidDefaultsTypeError")}},te=class extends vr.IncorrectTypeError{constructor(r,o,n){
48
+ super("Incorrect defaults",r,o,n);this.defaultsType=r;this.baseType=o}static{i(this,
49
+ "IncorrectDefaultsTypeError")}};var x=require("@ez4/common/library"),ae=require("@ez4/reflection"),pe=require("@ez4/schema");var Sr=require("@ez4/common/library");var _e=class extends Sr.InvalidTypeError{constructor(r,o){super("Invalid prefere\
50
+ nces",void 0,r,o);this.baseType=r}static{i(this,"InvalidPreferencesTypeError")}},
51
+ Ue=class extends Sr.IncorrectTypeError{constructor(r,o,n){super("Incorrect prefe\
52
+ rences",r,o,n);this.preferencesType=r;this.baseType=o}static{i(this,"IncorrectPr\
53
+ eferencesTypeError")}};var pt="Preferences",Rn=i((e,t)=>(0,x.hasHeritageType)(e,m(t,pt)),"isWebPreferen\
54
+ cesDeclaration"),D=i((e,t,r,o,n)=>{if(!(0,ae.isTypeReference)(e))return _t(e,t,o,
55
+ n);let s=(0,x.getReferenceType)(e,r);if(s)return _t(s,t,o,n)},"getWebPreferences\
56
+ Metadata"),_t=i((e,t,r,o)=>{if((0,ae.isTypeObject)(e))return Ut(t,(0,x.getObjectMembers)(
57
+ e),r);if(!(0,x.isModelDeclaration)(e)){r.push(new _e(m(o,pt),t.file));return}if(!Rn(
58
+ e,o)){r.push(new Ue(e.name,m(o,pt),t.file));return}return Ut(t,(0,x.getModelMembers)(
59
+ e),r)},"getPreferencesType"),Ut=i((e,t,r)=>{let o={};for(let n of t)if((0,ae.isModelProperty)(
60
+ n))switch(n.name){default:r.push(new x.InvalidServicePropertyError(e.name,n.name,
61
+ e.file));break;case"namingStyle":o.namingStyle=(0,x.getPropertyStringIn)(n,[pe.NamingStyle.
62
+ Preserve,pe.NamingStyle.CamelCase,pe.NamingStyle.PascalCase,pe.NamingStyle.SnakeCase,
63
+ pe.NamingStyle.KebabCase]);break}return o},"getTypeFromMembers");var U=require("@ez4/common/library"),Y=require("@ez4/reflection"),Hr=require("@ez4/utils");var Rr=require("@ez4/common/library");var Ye=class extends Rr.IncompleteTypeError{static{i(this,"IncompleteRouteError")}constructor(t,r){
64
+ super("Incomplete route",t,r)}},ce=class extends Rr.TypeError{static{i(this,"Inv\
65
+ alidRouteErrorTypeError")}constructor(t){super("Invalid route error type.",t)}};var Er=i((e,t,r,o)=>{if(!(0,Y.isTypeReference)(e))return Yt(e,t,r,o);let n=(0,U.getReferenceType)(
66
+ e,r);if(n)return Yt(n,t,r,o)},"getHttpErrorsMetadata"),Yt=i((e,t,r,o)=>{if((0,Y.isTypeObject)(
67
+ e))return Hn(e,t,(0,U.getObjectMembers)(e),r,o)},"getErrorsType"),Hn=i((e,t,r,o,n)=>{
68
+ let s={};for(let p of r){if(!(0,Y.isModelProperty)(p)||p.inherited)continue;let a=parseInt(
69
+ p.name,10);(0,Hr.isAnyNumber)(a)||n.push(new U.InvalidServicePropertyError(t.name,
70
+ p.name,e.file));let c=En(p,a,t,o,n);c&&Object.assign(s,c)}if(!(0,Hr.isEmptyObject)(
71
+ s))return s},"getTypeFromMembers"),En=i((e,t,r,o,n)=>{let s=(0,U.getPropertyTuple)(
72
+ e)??[],p={};for(let a of s){if(!(0,Y.isTypeReference)(a)){n.push(new ce(r.file));
73
+ continue}let c=(0,U.getReferenceType)(a,o);if(!c||!(0,Y.isTypeClass)(c)){n.push(
74
+ new ce(r.file));continue}p[c.name]=t}return p},"getErrorClasses");var at=m(l,"Defaults"),In=i(e=>(0,S.hasHeritageType)(e,at),"isHttpDefaultsDeclar\
75
+ ation"),Ir=i((e,t,r,o)=>{if(!(0,me.isTypeReference)(e))return Vt(e,t,r,o);let n=(0,S.tryGetReferenceType)(
76
+ e,r);if(n)return Vt(n,t,r,o)},"getHttpDefaultsMetadata"),Vt=i((e,t,r,o)=>{if((0,me.isTypeObject)(
77
+ e))return Qt(t,(0,S.getObjectMembers)(e),r,o);if(!(0,S.isModelDeclaration)(e)){o.
78
+ push(new re(at,t.file));return}if(!In(e)){o.push(new te(e.name,at,t.file));return}
79
+ return Qt(t,(0,S.getModelMembers)(e),r,o)},"getDefaultsType"),Qt=i((e,t,r,o)=>{let n={};
80
+ for(let s of t)if(!(!(0,me.isModelProperty)(s)||s.inherited))switch(s.name){default:
81
+ o.push(new S.InvalidServicePropertyError(e.name,s.name,e.file));break;case"prefe\
82
+ rences":n.preferences=D(s.value,e,r,o,l);break;case"httpErrors":n.httpErrors=Er(
83
+ s.value,e,r,o);break;case"memory":case"logRetention":case"timeout":n[s.name]=(0,S.getPropertyNumber)(
84
+ s);break;case"listener":n.listener=(0,S.getServiceListener)(s.value,o);break}return n},
85
+ "getTypeFromMembers");var B=require("@ez4/reflection"),Mo=require("@ez4/utils"),d=require("@ez4/common/library");var le=require("@ez4/common/library");var Ve=class extends le.InvalidTypeError{constructor(r,o){super("Invalid path pa\
86
+ rameters",void 0,r,o);this.baseType=r}static{i(this,"InvalidParameterTypeError")}},
87
+ Qe=class extends le.IncorrectTypeError{constructor(r,o,n){super("Incorrect path \
88
+ parameters",r,o,n);this.parametersType=r;this.baseType=o}static{i(this,"Incorrec\
89
+ tParameterTypeError")}},$e=class extends le.TypeError{constructor(r,o){var t=(...ms)=>(super(
90
+ ...ms),this.parameterNames=r,this);r.length>1?t(`Path parameters ${r} are a mism\
91
+ atch.`,o):t(`Path parameter ${r} is a mismatch.`,o)}static{i(this,"MismatchParam\
92
+ etersTypeError")}};var Dr=require("@ez4/reflection"),Fr=require("@ez4/common/library"),po=require("@ez4/utils");var $t=require("@ez4/common/library");var Ge=class extends $t.IncompleteTypeError{static{i(this,"IncompleteAuthorizerH\
93
+ andlerError")}constructor(t,r){super("Incomplete authorizer handler",t,r)}};var C=require("@ez4/common/library"),Ar=require("@ez4/reflection"),Jt=require("@ez4/utils");var xr=require("@ez4/common/library");var Je=class extends xr.InvalidTypeError{constructor(r,o){super("Invalid provide\
94
+ r",void 0,r,o);this.baseType=r}static{i(this,"InvalidProviderTypeError")}},Ke=class extends xr.IncompleteTypeError{static{
95
+ i(this,"IncompleteProviderError")}constructor(t,r){super("Incomplete provider",t,
96
+ r)}};var xn="Provider";var Pr=i((e,t,r,o,n)=>{if(!(0,Ar.isTypeReference)(e))return Gt(e,t,r,o,n);let s=(0,C.getReferenceType)(
97
+ e,r);if(s)return Gt(s,t,r,o,n)},"getWebProviderMetadata"),An=i(e=>(0,Jt.isObjectWith)(
98
+ e,["services"]),"isCompleteProvider"),Gt=i((e,t,r,o,n)=>{if(!(0,C.isModelDeclaration)(
99
+ e)){o.push(new Je(m(n,xn),t.file));return}return Pn(e,(0,C.getModelMembers)(e),r,
100
+ o)},"getProviderType"),Pn=i((e,t,r,o)=>{let n={},s=new Set(["services"]);for(let p of t)
101
+ if(!(!(0,Ar.isModelProperty)(p)||p.inherited))switch(p.name){case"variables":n.variables=
102
+ (0,C.getLinkedVariableList)(p,o);break;case"services":{(n.services=(0,C.getLinkedServiceList)(
103
+ p,r,o))&&s.delete(p.name);break}}if(An(n))return n;o.push(new Ke([...s],e.file))},
104
+ "getTypeFromMembers");var W=require("@ez4/common/library"),de=require("@ez4/reflection"),eo=require("@ez4/utils");var Wr=require("@ez4/common/library");var V=class extends Wr.InvalidTypeError{constructor(r,o){super("Invalid response",
105
+ void 0,r,o);this.baseType=r}static{i(this,"InvalidResponseTypeError")}},Q=class extends Wr.IncorrectTypeError{constructor(r,o,n){
106
+ super("Incorrect response",r,o,n);this.responseType=r;this.baseType=o}static{i(this,
107
+ "IncorrectResponseTypeError")}};var ue=require("@ez4/common/library"),N=require("@ez4/reflection"),Xt=require("@ez4/schema/library");var Or=require("@ez4/common/library");var Xe=class extends Or.InvalidTypeError{constructor(r,o){super("Invalid identit\
108
+ y",void 0,r,o);this.baseType=r}static{i(this,"InvalidIdentityTypeError")}},Ze=class extends Or.IncorrectTypeError{constructor(r,o,n){
109
+ super("Incorrect identity",r,o,n);this.identityType=r;this.baseType=o}static{i(this,
110
+ "IncorrectIdentityTypeError")}};var kr=require("@ez4/schema/library"),ct=require("@ez4/schema");var F=i((e,t)=>{let r=(0,kr.getIntersectionSchema)(e,t);if(r&&(0,ct.isObjectSchema)(
111
+ r))return r},"getSchemaFromIntersection"),E=i((e,t)=>{let r=(0,kr.getObjectSchema)(
112
+ e,t);if(r&&(0,ct.isObjectSchema)(r))return r},"getSchemaFromObject");var mt="Identity",Wn=i((e,t)=>(0,ue.hasHeritageType)(e,m(t,mt)),"isAuthIdentityD\
113
+ eclaration"),$=i((e,t,r,o,n)=>{if((0,N.isTypeUndefined)(e))return;if(!(0,N.isTypeReference)(
114
+ e))return Kt(e,t,r,o,n);let s=(0,ue.getReferenceType)(e,r);if(s)return Kt(s,t,r,
115
+ o,n)},"getAuthIdentityMetadata"),Kt=i((e,t,r,o,n)=>{if((0,N.isTypeObject)(e))return E(
116
+ e,r);if((0,N.isTypeUnion)(e))return On(e.elements,t,r,o,n);if((0,N.isTypeIntersection)(
117
+ e))return F(e,r);if(!(0,ue.isModelDeclaration)(e)){o.push(new Xe(m(n,mt),t.file));
118
+ return}if(!Wn(e,n)){o.push(new Ze(e.name,m(n,mt),t.file));return}let s=E(e,r);return s&&
119
+ (s.definitions={...s.definitions,extensible:!0}),s},"getIdentityType"),On=i((e,t,r,o,n)=>{
120
+ let s=[];for(let p of e){let a=$(p,t,r,o,n);a&&s.push(a)}return s.length>1?(0,Xt.createUnionSchema)(
121
+ {elements:s}):s[0]},"getIdentityFromUnion");var lt="AuthResponse",kn=i((e,t)=>(0,W.hasHeritageType)(e,m(t,lt)),"isAuthRespon\
122
+ seDeclaration"),ro=i((e,t,r,o,n)=>{if(!(0,de.isTypeReference)(e))return Zt(e,t,r,
123
+ o,n);let s=(0,W.getReferenceType)(e,r);if(s)return Zt(s,t,r,o,n)},"getAuthRespon\
124
+ seMetadata"),jn=i(e=>(0,eo.isObjectWith)(e,["identity"]),"isCompleteResponse"),Zt=i(
125
+ (e,t,r,o,n)=>{if((0,de.isTypeObject)(e))return Lt(e,t,(0,W.getObjectMembers)(e),
126
+ r,o,n);if(!(0,W.isModelDeclaration)(e)){o.push(new V(m(n,lt),t.file));return}if(!kn(
127
+ e,n)){o.push(new Q(e.name,m(n,lt),e.file));return}return Lt(e,t,(0,W.getModelMembers)(
128
+ e),r,o,n)},"getResponseType"),Lt=i((e,t,r,o,n,s)=>{let p={};for(let a of r)if(!(!(0,de.isModelProperty)(
129
+ a)||a.inherited))switch(a.name){default:n.push(new W.InvalidServicePropertyError(
130
+ t.name,a.name,e.file));break;case"identity":{p.identity=$(a.value,e,o,n,s),p.identity&&
131
+ a.description&&(p.identity.description=a.description);break}}if(jn(p))return p},
132
+ "getTypeFromMembers");var X=require("@ez4/reflection"),O=require("@ez4/common/library");var jr=require("@ez4/common/library");var G=class extends jr.InvalidTypeError{constructor(r,o){super("Invalid request",
133
+ void 0,r,o);this.baseType=r}static{i(this,"InvalidRequestTypeError")}},J=class extends jr.IncorrectTypeError{constructor(r,o,n){
134
+ super("Incorrect request",r,o,n);this.requestType=r;this.baseType=o}static{i(this,
135
+ "IncorrectRequestTypeError")}};var fe=require("@ez4/reflection"),ye=require("@ez4/common/library");var ut="PathParameters",zn=i((e,t)=>(0,ye.hasHeritageType)(e,m(t,ut)),"isWebPara\
136
+ metersDeclaration"),zr=i((e,t,r,o,n)=>{if(!(0,fe.isTypeReference)(e))return to(e,
137
+ t,r,o,n);let s=(0,ye.getReferenceType)(e,r);if(s)return to(s,t,r,o,n)},"getWebPa\
138
+ rametersMetadata"),to=i((e,t,r,o,n)=>{if((0,fe.isTypeObject)(e))return E(e,r);if((0,fe.isTypeIntersection)(
139
+ e))return F(e,r);if(!(0,ye.isModelDeclaration)(e)){o.push(new Ve(m(n,ut),t.file));
140
+ return}if(!zn(e,n)){o.push(new Qe(e.name,m(n,ut),e.file));return}return E(e,r)},
141
+ "getParametersType");var Te=require("@ez4/reflection"),ge=require("@ez4/common/library");var wr=require("@ez4/common/library");var Le=class extends wr.InvalidTypeError{constructor(r,o){super("Invalid headers",
142
+ void 0,r,o);this.baseType=r}static{i(this,"InvalidHeadersTypeError")}},er=class extends wr.IncorrectTypeError{constructor(r,o,n){
143
+ super("Incorrect headers",r,o,n);this.headersType=r;this.baseType=o}static{i(this,
144
+ "IncorrectHeadersTypeError")}};var dt="Headers",wn=i((e,t)=>(0,ge.hasHeritageType)(e,m(t,dt)),"isWebHeadersDecl\
145
+ aration"),K=i((e,t,r,o,n)=>{if(!(0,Te.isTypeReference)(e))return oo(e,t,r,o,n);let s=(0,ge.getReferenceType)(
146
+ e,r);if(s)return oo(s,t,r,o,n)},"getWebHeadersMetadata"),oo=i((e,t,r,o,n)=>{if((0,Te.isTypeObject)(
147
+ e))return E(e,r);if((0,Te.isTypeIntersection)(e))return F(e,r);if(!(0,ge.isModelDeclaration)(
148
+ e)){o.push(new Le(m(n,dt),t.file));return}if(!wn(e,n)){o.push(new er(e.name,m(n,
149
+ dt),t.file));return}return E(e,r)},"resolveHeadersType");var be=require("@ez4/common/library"),he=require("@ez4/reflection");var Cr=require("@ez4/common/library");var rr=class extends Cr.InvalidTypeError{constructor(r,o){super("Invalid query s\
150
+ trings",void 0,r,o);this.baseType=r}static{i(this,"InvalidQueryTypeError")}},tr=class extends Cr.IncorrectTypeError{constructor(r,o,n){
151
+ super("Incorrect query strings",r,o,n);this.queryType=r;this.baseType=o}static{i(
152
+ this,"IncorrectQueryTypeError")}};var ft="QueryStrings",Cn=i((e,t)=>(0,be.hasHeritageType)(e,m(t,ft)),"isWebQueryD\
153
+ eclaration"),Me=i((e,t,r,o,n)=>{if(!(0,he.isTypeReference)(e))return no(e,t,r,o,
154
+ n);let s=(0,be.getReferenceType)(e,r);if(s)return no(s,t,r,o,n)},"getWebQueryMet\
155
+ adata"),no=i((e,t,r,o,n)=>{if((0,he.isTypeObject)(e))return E(e,r);if((0,he.isTypeIntersection)(
156
+ e))return F(e,r);if(!(0,be.isModelDeclaration)(e)){o.push(new rr(m(n,ft),t.file));
157
+ return}if(!Cn(e,n)){o.push(new tr(e.name,m(n,ft),t.file));return}return E(e,r)},
158
+ "getQueryType");var yt="AuthRequest",Dn=i((e,t)=>(0,O.hasHeritageType)(e,m(t,yt)),"isAuthRequest\
159
+ Declaration"),Tt=i((e,t,r,o,n)=>{if((0,X.isTypeIntersection)(e)&&e.elements.length>
160
+ 0)return Tt(e.elements[0],t,r,o,n);if(!(0,X.isTypeReference)(e))return io(e,t,r,
161
+ o,n);let s=(0,O.getReferenceType)(e,r);if(s)return io(s,t,r,o,n)},"getAuthReques\
162
+ tMetadata"),io=i((e,t,r,o,n)=>{if((0,X.isTypeObject)(e))return so(e,t,(0,O.getObjectMembers)(
163
+ e),r,o,n);if(!(0,O.isModelDeclaration)(e)){o.push(new G(m(n,yt),t.file));return}
164
+ if(!Dn(e,n)){o.push(new J(e.name,m(n,yt),e.file));return}return so(e,t,(0,O.getModelMembers)(
165
+ e),r,o,n)},"getRequestType"),so=i((e,t,r,o,n,s)=>{let p={};for(let a of r)if(!(!(0,X.isModelProperty)(
166
+ a)||a.inherited))switch(a.name){default:n.push(new O.InvalidServicePropertyError(
167
+ t.name,a.name,e.file));break;case"headers":{p.headers=K(a.value,e,o,n,s),p.headers&&
168
+ a.description&&(p.headers.description=a.description);break}case"parameters":{p.parameters=
169
+ zr(a.value,e,o,n,s),p.parameters&&a.description&&(p.parameters.description=a.description);
170
+ break}case"query":{p.query=Me(a.value,e,o,n,s),p.query&&a.description&&(p.query.
171
+ description=a.description);break}}return p},"getTypeFromMembers");var Fn=i(e=>(0,Dr.isTypeCallback)(e)||(0,Dr.isTypeFunction)(e),"isAuthHandlerDec\
172
+ laration"),Nr=i((e,t,r,o,n)=>{if(!Fn(e))return;let s={...(0,Fr.getFunctionSignature)(
173
+ e)},p=new Set(["response"]);if(e.parameters){let[{value:a},c]=e.parameters;s.request=
174
+ Tt(a,t,r,o,n),c&&(s.provider=Pr(c.value,t,r,o,n))}if(e.return&&(s.response=ro(e.
175
+ return,t,r,o,n))&&p.delete("response"),!Nn(s)){o.push(new Ge([...p],e.file));return}
176
+ return s},"getAuthHandlerMetadata"),Nn=i(e=>(0,po.isObjectWith)(e,["response"])&&
177
+ (0,Fr.isFunctionSignature)(e),"isCompleteHandler");var qn=new Set(["ANY","GET","POST","PUT","PATCH","DELETE","OPTIONS"]),ao=i(e=>{let[
178
+ t]=e.split(" ",2);return qn.has(t)},"isHttpPath");var _r=require("@ez4/reflection"),Ur=require("@ez4/common/library"),To=require("@ez4/utils");var co=require("@ez4/common/library");var oe=class extends co.IncompleteTypeError{static{i(this,"IncompleteHandlerErro\
179
+ r")}constructor(t,r){super("Incomplete handler",t,r)}};var R=require("@ez4/common/library"),Re=require("@ez4/reflection"),Br=require("@ez4/utils");var ve=require("@ez4/schema/library"),Se=require("@ez4/common/library"),I=require("@ez4/reflection");var qr=require("@ez4/common/library");var or=class extends qr.InvalidTypeError{constructor(r,o){super("Invalid body",void 0,
180
+ r,o);this.baseType=r}static{i(this,"InvalidBodyTypeError")}},nr=class extends qr.IncorrectTypeError{constructor(r,o,n){
181
+ super("Incorrect body",r,o,n);this.bodyType=r;this.baseType=o}static{i(this,"Inc\
182
+ orrectBodyTypeError")}};var gt="JsonBody",Bn=i((e,t)=>(0,Se.hasHeritageType)(e,m(t,gt)),"isWebBodyDeclar\
183
+ ation"),q=i((e,t,r,o,n)=>Mt(e,r,s=>bt(s)??ht(s,t,r,o,n)),"getWebBodyMetadata"),Mt=i(
184
+ (e,t,r)=>{if(!(0,I.isTypeUndefined)(e)){if(!(0,I.isTypeReference)(e))return r(e);
185
+ let o=(0,Se.getReferenceType)(e,t);if(o)return r(o)}},"getBodyType"),bt=i(e=>{if((0,I.isTypeScalar)(
186
+ e))return(0,ve.getScalarSchema)(e)},"getScalarTypeBody"),ht=i((e,t,r,o,n)=>{if((0,I.isTypeObject)(
187
+ e))return E(e,r);if((0,I.isTypeUnion)(e))return _n(e.elements,r,s=>bt(s)??ht(s,t,
188
+ r,o,n));if((0,I.isTypeIntersection)(e))return F(e,r);if((0,I.isTypeArray)(e))return Un(
189
+ e.element,r,s=>bt(s)??ht(s,t,r,o,n));if(!(0,Se.isModelDeclaration)(e)){o.push(new or(
190
+ m(n,gt),t.file));return}if(!Bn(e,n)){o.push(new nr(e.name,m(n,gt),e.file));return}
191
+ return E(e,r)},"getCompoundTypeBody"),_n=i((e,t,r)=>{let o={optional:!1,elements:[]};
192
+ for(let n of e){if((0,I.isTypeUndefined)(n)){o.optional=!0;continue}let s=Mt(n,t,
193
+ r);s&&o.elements.push(s)}if(o.elements.length)return(0,ve.createUnionSchema)(o)},
194
+ "getUnionTypeBody"),Un=i((e,t,r)=>{let o=Mt(e,t,r);if(o)return(0,ve.createArraySchema)(
195
+ {element:o})},"getArrayTypeBody");var vt=m(l,"Response"),Yn=i(e=>(0,R.hasHeritageType)(e,vt),"isHttpResponseDeclar\
196
+ ation"),uo=i((e,t,r,o)=>{if(!(0,Re.isTypeReference)(e))return mo(e,t,r,o);let n=(0,R.getReferenceType)(
197
+ e,r);if(n)return mo(n,t,r,o)},"getHttpResponseMetadata"),Vn=i(e=>(0,Br.isObjectWith)(
198
+ e,["status"])&&((0,Br.isAnyNumber)(e.status)||!!e.status.length),"isCompleteResp\
199
+ onse"),mo=i((e,t,r,o)=>{if((0,Re.isTypeObject)(e))return lo(e,t,(0,R.getObjectMembers)(
200
+ e),r,o);if(!(0,R.isModelDeclaration)(e)){o.push(new V(vt,t.file));return}if(!Yn(
201
+ e)){o.push(new Q(e.name,vt,e.file));return}return lo(e,t,(0,R.getModelMembers)(e),
202
+ r,o)},"getResponseType"),lo=i((e,t,r,o,n)=>{let s={};for(let p of r)if(!(!(0,Re.isModelProperty)(
203
+ p)||p.inherited))switch(p.name){default:n.push(new R.InvalidServicePropertyError(
204
+ t.name,p.name,e.file));break;case"status":s.status=(0,R.getPropertyNumber)(p)??(0,R.getPropertyNumberList)(
205
+ p);break;case"headers":{s.headers=K(p.value,e,o,n,l),s.headers&&p.description&&(s.
206
+ headers.description=p.description);break}case"body":{s.body=q(p.value,e,o,n,l),s.
207
+ body&&p.description&&(s.body.description=p.description);break}}if(Vn(s))return s},
208
+ "getTypeFromMembers");var Z=require("@ez4/reflection"),k=require("@ez4/common/library");var St=m(l,"Request"),Qn=i(e=>(0,k.hasHeritageType)(e,St),"isHttpRequestDeclarat\
209
+ ion"),Rt=i((e,t,r,o)=>{if((0,Z.isTypeIntersection)(e)&&e.elements.length>0)return Rt(
210
+ e.elements[0],t,r,o);if(!(0,Z.isTypeReference)(e))return fo(e,t,r,o);let n=(0,k.getReferenceType)(
211
+ e,r);if(n)return fo(n,t,r,o)},"getHttpRequestMetadata"),fo=i((e,t,r,o)=>{if((0,Z.isTypeObject)(
212
+ e))return yo(e,t,(0,k.getObjectMembers)(e),r,o);if(!(0,k.isModelDeclaration)(e)){
213
+ o.push(new G(St,t.file));return}if(!Qn(e)){o.push(new J(e.name,St,e.file));return}
214
+ return yo(e,t,(0,k.getModelMembers)(e),r,o)},"getRequestType"),yo=i((e,t,r,o,n)=>{
215
+ let s={};for(let p of r)if(!(!(0,Z.isModelProperty)(p)||p.inherited))switch(p.name){default:
216
+ n.push(new k.InvalidServicePropertyError(t.name,p.name,e.file));break;case"heade\
217
+ rs":{s.headers=K(p.value,e,o,n,l),s.headers&&p.description&&(s.headers.description=
218
+ p.description);break}case"identity":{s.identity=$(p.value,e,o,n,l),s.identity&&p.
219
+ description&&(s.identity.description=p.description);break}case"query":{s.query=Me(
220
+ p.value,e,o,n,l),s.query&&p.description&&(s.query.description=p.description);break}case"\
221
+ parameters":{s.parameters=zr(p.value,e,o,n,l),s.parameters&&p.description&&(s.parameters.
222
+ description=p.description);break}case"body":{s.body=q(p.value,e,o,n,l),s.body&&p.
223
+ description&&(s.body.description=p.description);break}}return s},"getTypeFromMem\
224
+ bers");var $n=i(e=>(0,_r.isTypeCallback)(e)||(0,_r.isTypeFunction)(e),"isHttpHandlerDec\
225
+ laration"),go=i((e,t,r,o,n)=>{if(!$n(e))return;let s={...(0,Ur.getFunctionSignature)(
226
+ e)},p=new Set(["response"]);if(e.parameters){let[{value:a},c]=e.parameters;s.request=
227
+ Rt(a,t,r,o),c&&!n&&(s.provider=Pr(c.value,t,r,o,l))}if(e.return&&(s.response=uo(
228
+ e.return,t,r,o))&&p.delete("response"),!Gn(s)){o.push(new oe([...p],e.file));return}
229
+ return s},"getHttpHandlerMetadata"),Gn=i(e=>(0,To.isObjectWith)(e,["response"])&&
230
+ (0,Ur.isFunctionSignature)(e),"isCompleteHandler");var Jn=i(e=>(0,d.isModelDeclaration)(e)&&(0,d.hasHeritageType)(e,m(l,"Route")),"\
231
+ isHttpRouteDeclaration"),vo=i((e,t,r,o)=>Ro(e,t,r,o,!1),"getHttpLocalRoutes"),So=i(
232
+ (e,t,r,o)=>Ro(e,t,r,o,!0),"getHttpRemoteRoutes"),Ro=i((e,t,r,o,n)=>{if(!(0,B.isTypeReference)(
233
+ t.value))return Ht((0,d.getPropertyTuple)(t)??[],e,r,o,n);let s=(0,d.getReferenceType)(
234
+ t.value,r);if(s&&(0,B.isTypeTuple)(s))return Ht(s.elements,e,r,o,n)},"getHttpRou\
235
+ tes"),Ht=i((e,t,r,o,n)=>{let s=[];for(let p of e){let a=Kn(p,t,r,o,n);Array.isArray(
236
+ a)?s.push(...a):a&&s.push(a)}return s},"getRouteFromTuple"),Kn=i((e,t,r,o,n)=>{if(!(0,B.isTypeReference)(
237
+ e))return bo(e,t,r,o,n);let s=(0,d.getReferenceType)(e,r);if(s)return bo(s,t,r,o,
238
+ n)},"getTypeFromRoute"),Xn=i(e=>(0,Mo.isObjectWith)(e,["path","handler"]),"isCom\
239
+ pleteRoute"),bo=i((e,t,r,o,n)=>{if(Jn(e))return ho(e,t,(0,d.getModelMembers)(e),
240
+ r,o,n);if((0,B.isTypeObject)(e))return ho(e,t,(0,d.getObjectMembers)(e),r,o,n);if((0,B.isTypeTuple)(
241
+ e)&&e.spread)return Ht(e.elements,t,r,o,n)},"getRouteType"),ho=i((e,t,r,o,n,s)=>{
242
+ let p={},a=new Set(["path","handler"]);for(let T of r)if(!(!(0,B.isModelProperty)(
243
+ T)||T.inherited))switch(T.name){default:n.push(new d.InvalidServicePropertyError(
244
+ t.name,T.name,e.file));break;case"name":p.name=(0,d.getPropertyString)(T);break;case"\
245
+ path":{let et=(0,d.getPropertyString)(T);et&&ao(et)&&(a.delete(T.name),p.path=et);
246
+ break}case"handler":(p.handler=go(T.value,t,o,n,s))&&a.delete(T.name);break;case"\
247
+ authorizer":p.authorizer=Nr(T.value,t,o,n,l);break;case"preferences":p.preferences=
248
+ D(T.value,t,o,n,l);break;case"httpErrors":p.httpErrors=Er(T.value,t,o,n);break;case"\
249
+ memory":case"logRetention":case"timeout":p[T.name]=(0,d.getPropertyNumber)(T);break;case"\
250
+ cors":case"disabled":p[T.name]=(0,d.getPropertyBoolean)(T);break;case"listener":
251
+ p.listener=(0,d.getServiceListener)(T.value,n);break;case"variables":p.variables=
252
+ (0,d.getLinkedVariableList)(T,n);break}if(!Xn(p)){n.push(new Ye([...a],e.file));
253
+ return}let c=Ln(p.path,p.handler.request?.parameters);if(c.length){n.push(new $e(
254
+ c,t.file));return}return p},"getTypeFromMembers"),Zn=/\{([\w_-]+)\}/g,Ln=i((e,t)=>{
255
+ let r=e.matchAll(Zn),o=[];for(let n of r){let[,s]=n;t?.properties[s]||o.push(s)}
256
+ return o},"getMismatchParameters");var Vr=i(e=>(0,M.isClassDeclaration)(e)&&(0,M.hasHeritageType)(e,m(l,"Import")),
257
+ "isHttpImportDeclaration"),Et=i(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!Vr(
258
+ n)||(0,M.isExternalDeclaration)(n))continue;let s=it(n.name),p=new Set(["project",
259
+ "reference","routes"]),a=n.file;n.description&&(s.description=n.description);for(let c of(0,M.getModelMembers)(
260
+ n,!0))if((0,Yr.isModelProperty)(c))switch(c.name){default:c.inherited||r.push(new M.InvalidServicePropertyError(
261
+ s.name,c.name,a));break;case"reference":c.inherited&&(0,Yr.isTypeReference)(c.value)&&
262
+ (s[c.name]=(0,M.getReferenceName)(c.value),p.delete(c.name));break;case"authoriz\
263
+ ation":c.inherited||(s[c.name]=Bt(c.value,n,e,r));break;case"project":!c.inherited&&
264
+ (s.project=(0,M.getPropertyString)(c))&&p.delete(c.name);break;case"name":c.inherited&&
283
265
  (s.displayName=(0,M.getPropertyString)(c,e));break;case"routes":c.inherited&&(s.
284
- routes=Tt(n,c,e,r))&&i.delete(c.name);break;case"defaults":c.inherited&&(s.defaults=
285
- Ge(c.value,n,e,r));break}if(!mo(s)){r.push(new O([...i],m));continue}if(t[n.name]){
286
- r.push(new M.DuplicateServiceError(n.name,m));continue}t[n.name]=s}return{services:t,
287
- errors:r}},"getHttpImports"),mo=p(e=>!!e.name&&!!e.reference&&!!e.project&&!!e.routes,
288
- "isValidImport");var wt=p(e=>Be(e)?e.name:null,"getLinkedService"),Ot=p(e=>Ue(e)?e.name:null,"get\
289
- LinkedImport");var ao=p(()=>{(0,jt.registerTriggers)(),(0,kt.registerTriggers)(),(0,Sr.tryCreateTrigger)(
290
- C,{"metadata:getServices":Mr,"metadata:getLinkedService":wt}),(0,Sr.tryCreateTrigger)(
291
- k,{"metadata:getServices":Hr,"metadata:getLinkedService":Ot})},"registerTriggers");var uo=p(e=>{let{authorization:t}=e;if(t)switch(t.type){default:throw new Error(
266
+ routes=So(n,c,e,r))&&p.delete(c.name);break;case"defaults":c.inherited&&(s.defaults=
267
+ Ir(c.value,n,e,r));break}if(!ei(s)){r.push(new _([...p],a));continue}if(t[n.name]){
268
+ r.push(new M.DuplicateServiceError(n.name,a));continue}t[n.name]=s}return{services:t,
269
+ errors:r}},"getHttpImportsMetadata"),ei=i(e=>(0,Ho.isObjectWith)(e,["project","r\
270
+ eference","routes"]),"isCompleteService");var b=require("@ez4/common/library"),Co=require("@ez4/reflection"),Do=require("@ez4/utils");var Eo=require("@ez4/schema");var He=i((e,t)=>{let{request:r}=e;r&&("headers"in r&&r.headers&&ir(t,r.headers),
271
+ "query"in r&&r.query&&ir(t,r.query),"identity"in r&&r.identity&&ir(t,r.identity),
272
+ "parameters"in r&&r.parameters&&ir(t,r.parameters),"body"in r&&r.body&&ir(t,r.body))},
273
+ "attachValidatorLinkedServices"),ir=i((e,t)=>{let r=(0,Eo.getSchemaCustomValidation)(
274
+ t);for(let o of r){let n=Ft(o);e[n]=o}},"attachSchemaValidatorServices");var sr=i((e,t,r,o)=>{let{provider:n,request:s}=e;if(n?.services){s&&He(e,n.services);
275
+ for(let p in n.services){let a=n.services[p],c=t[p];if(!c){t[p]=a;continue}c!==a&&
276
+ r.push(new Ce(p,o))}}},"attachProviderLinkedServices");var A=require("@ez4/common/library"),Ie=require("@ez4/reflection"),Qr=require("@ez4/utils");var Ee=require("@ez4/common/library");var pr=class extends Ee.IncompleteTypeError{static{i(this,"IncompleteAccessError")}constructor(t,r){
277
+ super("Incomplete access",t,r)}},ar=class extends Ee.InvalidTypeError{static{i(this,
278
+ "InvalidAccessTypeError")}constructor(t){super("Invalid access",void 0,"Http.Acc\
279
+ ess",t)}},cr=class extends Ee.IncorrectTypeError{constructor(r,o){super("Incorre\
280
+ ct access",r,"Http.Access",o);this.cacheType=r}static{i(this,"IncorrectAccessTyp\
281
+ eError")}};var ri=i(e=>(0,A.hasHeritageType)(e,m(l,"Access")),"isHttpAccessDeclaration"),Ao=i(
282
+ (e,t,r,o)=>{if(!(0,Ie.isTypeReference)(e))return Io(e,t,o);let n=(0,A.getReferenceType)(
283
+ e,r);if(n)return Io(n,t,o)},"getHttpAccessMetadata"),ti=i(e=>(0,Qr.isObjectWith)(
284
+ e,["logRetention"]),"isCompleteAccess"),Io=i((e,t,r)=>{if((0,Ie.isTypeObject)(e))
285
+ return xo(e,t,(0,A.getObjectMembers)(e),r);if(!(0,A.isModelDeclaration)(e)){r.push(
286
+ new ar(t.file));return}if(!ri(e)){r.push(new cr(e.name,e.file));return}return xo(
287
+ e,t,(0,A.getModelMembers)(e),r)},"getAccessType"),xo=i((e,t,r,o)=>{let n={},s=new Set(
288
+ ["logRetention"]);for(let p of r)if(!(!(0,Ie.isModelProperty)(p)||p.inherited))switch(p.
289
+ name){default:o.push(new A.InvalidServicePropertyError(t.name,p.name,e.file));break;case"\
290
+ logRetention":{let a=(0,A.getPropertyNumber)(p);(0,Qr.isAnyNumber)(a)&&(n[p.name]=
291
+ a,s.delete(p.name));break}}if(ti(n))return n;o.push(new pr([...s],e.file))},"get\
292
+ TypeFromMembers");var P=require("@ez4/common/library"),Ae=require("@ez4/reflection"),$r=require("@ez4/utils");var xe=require("@ez4/common/library");var mr=class extends xe.IncompleteTypeError{static{i(this,"IncompleteCacheError")}constructor(t,r){
293
+ super("Incomplete cache",t,r)}},lr=class extends xe.InvalidTypeError{constructor(r,o){
294
+ super("Invalid cache",void 0,r,o);this.baseType=r}static{i(this,"InvalidCacheTyp\
295
+ eError")}},ur=class extends xe.IncorrectTypeError{constructor(r,o,n){super("Inco\
296
+ rrect cache",r,o,n);this.cacheType=r;this.baseType=o}static{i(this,"IncorrectCac\
297
+ heTypeError")}};var It=m(l,"Cache"),oi=i(e=>(0,P.hasHeritageType)(e,It),"isHttpCacheDeclaration"),
298
+ Oo=i((e,t,r,o)=>{if(!(0,Ae.isTypeReference)(e))return Po(e,t,o);let n=(0,P.getReferenceType)(
299
+ e,r);if(n)return Po(n,t,o)},"getHttpCacheMetadata"),ni=i(e=>(0,$r.isObjectWith)(
300
+ e,["authorizerTTL"]),"isCompleteCache"),Po=i((e,t,r)=>{if((0,Ae.isTypeObject)(e))
301
+ return Wo(e,t,(0,P.getObjectMembers)(e),r);if(!(0,P.isModelDeclaration)(e)){r.push(
302
+ new lr(It,t.file));return}if(!oi(e)){r.push(new ur(e.name,It,e.file));return}return Wo(
303
+ e,t,(0,P.getModelMembers)(e),r)},"getCacheType"),Wo=i((e,t,r,o)=>{let n={},s=new Set(
304
+ ["authorizerTTL"]);for(let p of r)if(!(!(0,Ae.isModelProperty)(p)||p.inherited))
305
+ switch(p.name){default:o.push(new P.InvalidServicePropertyError(t.name,p.name,e.
306
+ file));break;case"authorizerTTL":{let a=(0,P.getPropertyNumber)(p);(0,$r.isAnyNumber)(
307
+ a)&&(n[p.name]=a,s.delete(p.name));break}}if(ni(n))return n;o.push(new mr([...s],
308
+ e.file))},"getTypeFromMembers");var g=require("@ez4/common/library"),We=require("@ez4/reflection"),zo=require("@ez4/utils");var Pe=require("@ez4/common/library");var dr=class extends Pe.IncompleteTypeError{static{i(this,"IncompleteCorsError")}constructor(t,r){
309
+ super("Incomplete CORS",t,r)}},fr=class extends Pe.InvalidTypeError{constructor(r,o){
310
+ super("Invalid CORS",void 0,r,o);this.baseType=r}static{i(this,"InvalidCorsTypeE\
311
+ rror")}},yr=class extends Pe.IncorrectTypeError{constructor(r,o,n){super("Incorr\
312
+ ect CORS",r,o,n);this.corsType=r;this.baseType=o}static{i(this,"IncorrectCorsTyp\
313
+ eError")}};var xt=m(l,"Cors"),ii=i(e=>(0,g.hasHeritageType)(e,xt),"isHttpCorsDeclaration"),
314
+ wo=i((e,t,r,o)=>{if(!(0,We.isTypeReference)(e))return ko(e,t,o);let n=(0,g.getReferenceType)(
315
+ e,r);if(n)return ko(n,t,o)},"getHttpCorsMetadata"),si=i(e=>(0,zo.isObjectWith)(e,
316
+ ["allowOrigins"])&&!!e.allowOrigins.length,"isCompleteCors"),ko=i((e,t,r)=>{if((0,We.isTypeObject)(
317
+ e))return jo(e,t,(0,g.getObjectMembers)(e),r);if(!(0,g.isModelDeclaration)(e)){r.
318
+ push(new fr(xt,t.file));return}if(!ii(e)){r.push(new yr(e.name,xt,e.file));return}
319
+ return jo(e,t,(0,g.getModelMembers)(e),r)},"getCorsType"),jo=i((e,t,r,o)=>{let n={},
320
+ s=new Set(["allowOrigins"]);for(let p of r)if(!(!(0,We.isModelProperty)(p)||p.inherited))
321
+ switch(p.name){default:o.push(new g.InvalidServicePropertyError(t.name,p.name,e.
322
+ file));break;case"allowOrigins":case"allowMethods":case"allowHeaders":case"expos\
323
+ eHeaders":n[p.name]=(0,g.getPropertyStringList)(p);break;case"allowCredentials":
324
+ n.allowCredentials=(0,g.getPropertyBoolean)(p);break;case"maxAge":n.maxAge=(0,g.getPropertyNumber)(
325
+ p);break}if(si(n))return n;o.push(new dr([...s],e.file))},"getTypeFromMembers");var Gr=i(e=>(0,b.isClassDeclaration)(e)&&(0,b.hasHeritageType)(e,m(l,"Service")),
326
+ "isHttpServiceDeclaration"),At=i(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!Gr(
327
+ n)||(0,b.isExternalDeclaration)(n))continue;let s=ot(n.name),p=new Set(["routes"]),
328
+ a=n.file;n.description&&(s.description=n.description);for(let c of(0,b.getModelMembers)(
329
+ n))if(!(!(0,Co.isModelProperty)(c)||c.inherited))switch(c.name){default:r.push(new b.InvalidServicePropertyError(
330
+ s.name,c.name,a));break;case"routes":(s.routes=vo(n,c,e,r))&&p.delete(c.name);break;case"\
331
+ name":s.displayName=(0,b.getPropertyString)(c);break;case"defaults":s.defaults=Ir(
332
+ c.value,n,e,r);break;case"cache":s.cache=Oo(c.value,n,e,r);break;case"access":s.
333
+ access=Ao(c.value,n,e,r);break;case"cors":s.cors=wo(c.value,n,e,r);break;case"va\
334
+ riables":s.variables=(0,b.getLinkedVariableList)(c,r);break;case"services":s.services=
335
+ (0,b.getLinkedServiceList)(c,e,r);break}if(!pi(s)){r.push(new _([...p],a));continue}
336
+ if(t[n.name]){r.push(new b.DuplicateServiceError(n.name,a));continue}ai(s,r,a),t[n.
337
+ name]=s}return{services:t,errors:r}},"getHttpServicesMetadata"),pi=i(e=>(0,Do.isObjectWith)(
338
+ e,["routes","variables","services"]),"isCompleteService"),ai=i((e,t,r)=>{for(let o of e.
339
+ routes)sr(o.handler,e.services,t,r),o.authorizer&&sr(o.authorizer,e.services,t,r)},
340
+ "attachLinkedServices");var y=require("@ez4/common/library"),pn=require("@ez4/reflection"),an=require("@ez4/utils");var ke=require("@ez4/reflection"),Xo=require("@ez4/utils"),f=require("@ez4/common/library");var Fo=require("@ez4/common/library");var ne=class extends Fo.IncompleteTypeError{static{i(this,"IncompleteTargetError")}constructor(t,r){
341
+ super("Incomplete target",t,r)}};var Kr=require("@ez4/reflection"),Xr=require("@ez4/common/library");var j=require("@ez4/common/library"),Oe=require("@ez4/reflection");var Pt=m(u,"Response"),ci=i(e=>(0,j.hasHeritageType)(e,Pt),"isWsResponseDeclarat\
342
+ ion"),Bo=i((e,t,r,o)=>{if(!(0,Oe.isTypeReference)(e))return No(e,t,r,o);let n=(0,j.getReferenceType)(
343
+ e,r);if(n)return No(n,t,r,o)},"getWsResponseMetadata"),No=i((e,t,r,o)=>{if((0,Oe.isTypeObject)(
344
+ e))return qo(e,t,(0,j.getObjectMembers)(e),r,o);if(!(0,j.isModelDeclaration)(e)){
345
+ o.push(new V(Pt,t.file));return}if(!ci(e)){o.push(new Q(e.name,Pt,e.file));return}
346
+ return qo(e,t,(0,j.getModelMembers)(e),r,o)},"getResponseType"),qo=i((e,t,r,o,n)=>{
347
+ let s={};for(let p of r)if(!(!(0,Oe.isModelProperty)(p)||p.inherited))switch(p.name){default:
348
+ n.push(new j.InvalidServicePropertyError(t.name,p.name,e.file));break;case"body":{
349
+ s.body=q(p.value,e,o,n,u),s.body&&p.description&&(s.body.description=p.description);
350
+ break}}return s},"getTypeFromMembers");var L=require("@ez4/reflection"),z=require("@ez4/common/library");var Wt=m(u,"Request"),mi=i(e=>(0,z.hasHeritageType)(e,Wt),"isWsRequestDeclaratio\
351
+ n"),Ot=i((e,t,r,o)=>{if((0,L.isTypeIntersection)(e)&&e.elements.length>0)return Ot(
352
+ e.elements[0],t,r,o);if(!(0,L.isTypeReference)(e))return _o(e,t,r,o);let n=(0,z.getReferenceType)(
353
+ e,r);if(n)return _o(n,t,r,o)},"getWsRequestMetadata"),_o=i((e,t,r,o)=>{if((0,L.isTypeObject)(
354
+ e))return Uo(e,t,(0,z.getObjectMembers)(e),r,o);if(!(0,z.isModelDeclaration)(e)){
355
+ o.push(new G(Wt,t.file));return}if(!mi(e)){o.push(new J(e.name,Wt,e.file));return}
356
+ return Uo(e,t,(0,z.getModelMembers)(e),r,o)},"getRequestType"),Uo=i((e,t,r,o,n)=>{
357
+ let s={};for(let p of r)if(!(!(0,L.isModelProperty)(p)||p.inherited))switch(p.name){default:
358
+ n.push(new z.InvalidServicePropertyError(t.name,p.name,e.file));break;case"ident\
359
+ ity":{s.identity=$(p.value,e,o,n,u),s.identity&&p.description&&(s.identity.description=
360
+ p.description);break}case"body":{s.body=q(p.value,e,o,n,u),s.body&&p.description&&
361
+ (s.body.description=p.description);break}}return s},"getTypeFromMembers");var ee=require("@ez4/reflection"),w=require("@ez4/common/library");var Jr=require("@ez4/common/library");var Tr=class extends Jr.InvalidTypeError{constructor(r,o){super("Invalid event",
362
+ void 0,r,o);this.baseType=r}static{i(this,"InvalidEventTypeError")}},gr=class extends Jr.IncorrectTypeError{constructor(r,o,n){
363
+ super("Incorrect event",r,o,n);this.eventType=r;this.baseType=o}static{i(this,"I\
364
+ ncorrectEventTypeError")}};var kt=m(u,"Event"),li=i(e=>(0,w.hasHeritageType)(e,kt),"isWsEventDeclaration"),
365
+ jt=i((e,t,r,o)=>{if((0,ee.isTypeIntersection)(e)&&e.elements.length>0)return jt(
366
+ e.elements[0],t,r,o);if(!(0,ee.isTypeReference)(e))return Yo(e,t,r,o);let n=(0,w.getReferenceType)(
367
+ e,r);if(n)return Yo(n,t,r,o)},"getWsEventMetadata"),Yo=i((e,t,r,o)=>{if((0,ee.isTypeObject)(
368
+ e))return Vo(e,t,(0,w.getObjectMembers)(e),r,o);if(!(0,w.isModelDeclaration)(e)){
369
+ o.push(new Tr(kt,t.file));return}if(!li(e)){o.push(new gr(e.name,kt,e.file));return}
370
+ return Vo(e,t,(0,w.getModelMembers)(e),r,o)},"getEventType"),Vo=i((e,t,r,o,n)=>{
371
+ let s={};for(let p of r)if(!(!(0,ee.isModelProperty)(p)||p.inherited))switch(p.name){default:
372
+ n.push(new w.InvalidServicePropertyError(t.name,p.name,e.file));break;case"heade\
373
+ rs":{s.headers=K(p.value,e,o,n,u),s.headers&&p.description&&(s.headers.description=
374
+ p.description);break}case"identity":{s.identity=$(p.value,e,o,n,u),s.identity&&p.
375
+ description&&(s.identity.description=p.description);break}case"query":{s.query=Me(
376
+ p.value,e,o,n,u),s.query&&p.description&&(s.query.description=p.description);break}}
377
+ return s},"getTypeFromMembers");var ui=i(e=>(0,Kr.isTypeCallback)(e)||(0,Kr.isTypeFunction)(e),"isWsHandlerDecla\
378
+ ration"),Qo=i((e,t,r,o)=>Go(e,t,r,o,n=>jt(n,t,r,o)),"getWsConnectionHandler"),$o=i(
379
+ (e,t,r,o)=>Go(e,t,r,o,n=>Ot(n,t,r,o)),"getWsMessageHandler"),Go=i((e,t,r,o,n)=>{
380
+ if(!ui(e))return;let s={...(0,Xr.getFunctionSignature)(e)},p=new Set;if(e.parameters){
381
+ let[{value:a}]=e.parameters;(s.request=n(a))||p.add("request")}if(e.return&&!(s.
382
+ response=Bo(e.return,t,r,o))&&p.add("response"),!(0,Xr.isFunctionSignature)(s)){
383
+ o.push(new oe([...p],e.file));return}return s},"getWsHandler");var di=m(u,"Connect"),fi=m(u,"Disconnect"),yi=i(e=>(0,f.isModelDeclaration)(e)&&
384
+ ((0,f.hasHeritageType)(e,di)||(0,f.hasHeritageType)(e,fi)),"isWsConnectionDeclar\
385
+ ation"),Zo=i((e,t,r,o)=>{if(!(0,ke.isTypeReference)(e))return Jo(e,t,r,o);let n=(0,f.getReferenceType)(
386
+ e,r);if(n)return Jo(n,t,r,o)},"getWsConnectionMetadata"),Ti=i(e=>(0,Xo.isObjectWith)(
387
+ e,["handler"]),"isCompleteWsConnection"),Jo=i((e,t,r,o)=>{if(yi(e))return Ko(e,t,
388
+ (0,f.getModelMembers)(e),r,o);if((0,ke.isTypeObject)(e))return Ko(e,t,(0,f.getObjectMembers)(
389
+ e),r,o)},"getConnectionType"),Ko=i((e,t,r,o,n)=>{let s={},p=new Set(["handler"]);
390
+ for(let a of r)if(!(!(0,ke.isModelProperty)(a)||a.inherited))switch(a.name){default:
391
+ n.push(new f.InvalidServicePropertyError(t.name,a.name,e.file));break;case"handl\
392
+ er":(s.handler=Qo(a.value,t,o,n))&&p.delete(a.name);break;case"authorizer":s.authorizer=
393
+ Nr(a.value,t,o,n,u);break;case"preferences":s.preferences=D(a.value,t,o,n,u);break;case"\
394
+ memory":case"logRetention":case"timeout":s[a.name]=(0,f.getPropertyNumber)(a);break;case"\
395
+ listener":s.listener=(0,f.getServiceListener)(a.value,n);break;case"variables":s.
396
+ variables=(0,f.getLinkedVariableList)(a,n);break}if(Ti(s))return s;n.push(new ne(
397
+ [...p],e.file))},"getTypeFromMembers");var H=require("@ez4/common/library"),je=require("@ez4/reflection");var zt=m(u,"Defaults"),gi=i(e=>(0,H.hasHeritageType)(e,zt),"isWsDefaultsDeclarat\
398
+ ion"),rn=i((e,t,r,o)=>{if(!(0,je.isTypeReference)(e))return Lo(e,t,r,o);let n=(0,H.tryGetReferenceType)(
399
+ e,r);if(n)return Lo(n,t,r,o)},"getWsDefaultsMetadata"),Lo=i((e,t,r,o)=>{if((0,je.isTypeObject)(
400
+ e))return en(t,(0,H.getObjectMembers)(e),r,o);if(!(0,H.isModelDeclaration)(e)){o.
401
+ push(new re(zt,t.file));return}if(!gi(e)){o.push(new te(e.name,zt,t.file));return}
402
+ return en(t,(0,H.getModelMembers)(e),r,o)},"getDefaultsType"),en=i((e,t,r,o)=>{let n={};
403
+ for(let s of t)if(!(!(0,je.isModelProperty)(s)||s.inherited))switch(s.name){default:
404
+ o.push(new H.InvalidServicePropertyError(e.name,s.name,e.file));break;case"prefe\
405
+ rences":n.preferences=D(s.value,e,r,o,u);break;case"memory":case"logRetention":case"\
406
+ timeout":n[s.name]=(0,H.getPropertyNumber)(s);break;case"listener":n.listener=(0,H.getServiceListener)(
407
+ s.value,o);break}return n},"getTypeFromMembers");var ze=require("@ez4/reflection"),nn=require("@ez4/utils"),h=require("@ez4/common/library");var bi=i(e=>(0,h.isModelDeclaration)(e)&&(0,h.hasHeritageType)(e,m(u,"Message")),
408
+ "isWsMessageDeclaration"),sn=i((e,t,r,o)=>{if(!(0,ze.isTypeReference)(e))return tn(
409
+ e,t,r,o);let n=(0,h.getReferenceType)(e,r);if(n)return tn(n,t,r,o)},"getWsMessag\
410
+ eMetadata"),hi=i(e=>(0,nn.isObjectWith)(e,["handler"]),"isCompleteWsMessage"),tn=i(
411
+ (e,t,r,o)=>{if(bi(e))return on(e,t,(0,h.getModelMembers)(e),r,o);if((0,ze.isTypeObject)(
412
+ e))return on(e,t,(0,h.getObjectMembers)(e),r,o)},"getMessageType"),on=i((e,t,r,o,n)=>{
413
+ let s={},p=new Set(["handler"]);for(let a of r)if(!(!(0,ze.isModelProperty)(a)||
414
+ a.inherited))switch(a.name){default:n.push(new h.InvalidServicePropertyError(t.name,
415
+ a.name,e.file));break;case"handler":(s.handler=$o(a.value,t,o,n))&&p.delete(a.name);
416
+ break;case"preferences":s.preferences=D(a.value,t,o,n,u);break;case"memory":case"\
417
+ logRetention":case"timeout":s[a.name]=(0,h.getPropertyNumber)(a);break;case"list\
418
+ ener":s.listener=(0,h.getServiceListener)(a.value,n);break;case"variables":s.variables=
419
+ (0,h.getLinkedVariableList)(a,n);break}if(hi(s))return s;n.push(new ne([...p],e.
420
+ file))},"getTypeFromMembers");var Zr=i(e=>(0,y.isClassDeclaration)(e)&&(0,y.hasHeritageType)(e,m(u,"Service")),
421
+ "isWsServiceDeclaration"),wt=i(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!Zr(
422
+ n)||(0,y.isExternalDeclaration)(n))continue;let s=rt(n.name),p=new Set(["schema",
423
+ "connect","disconnect","message"]),a=n.file;n.description&&(s.description=n.description);
424
+ for(let c of(0,y.getModelMembers)(n,!0))if((0,pn.isModelProperty)(c))switch(c.name){default:
425
+ r.push(new y.InvalidServicePropertyError(s.name,c.name,a));break;case"client":break;case"\
426
+ name":c.inherited||(s.displayName=(0,y.getPropertyString)(c));break;case"stage":
427
+ c.inherited||(s.stageName=(0,y.getPropertyString)(c));break;case"defaults":c.inherited||
428
+ (s.defaults=rn(c.value,n,e,r));break;case"schema":(s.schema=q(c.value,n,e,r,u))&&
429
+ p.delete(c.name);break;case"connect":case"disconnect":!c.inherited&&(s[c.name]=Zo(
430
+ c.value,n,e,r))&&p.delete(c.name);break;case"message":!c.inherited&&(s[c.name]=sn(
431
+ c.value,n,e,r))&&p.delete(c.name);break;case"variables":c.inherited?s.variables=
432
+ {}:s.variables=(0,y.getLinkedVariableList)(c,r);break;case"services":c.inherited?
433
+ s.services={}:s.services=(0,y.getLinkedServiceList)(c,e,r);break}if(!Mi(s)){r.push(
434
+ new _([...p],a));continue}if(t[n.name]){r.push(new y.DuplicateServiceError(n.name,
435
+ a));continue}vi(s,r,a),t[n.name]=s}return{services:t,errors:r}},"getWsServicesMe\
436
+ tadata"),Mi=i(e=>(0,an.isObjectWith)(e,["schema","connect","disconnect","message",
437
+ "variables","services"]),"isCompleteService"),vi=i((e,t,r)=>{let{connect:o,disconnect:n,
438
+ message:s}=e;He(o.handler,e.services),He(n.handler,e.services),He(s.handler,e.services),
439
+ o.authorizer&&sr(o.authorizer,e.services,t,r)},"attachLinkedServices");var Ct=i(e=>Gr(e)||Zr(e)?e.name:null,"getLinkedService"),cn=i(e=>Vr(e)?e.name:null,
440
+ "getLinkedImport");var Si=i(()=>{(0,mn.registerTriggers)(),(0,ln.registerTriggers)(),(0,Lr.tryCreateTrigger)(
441
+ we,{"metadata:getServices":wt,"metadata:getLinkedService":Ct}),(0,Lr.tryCreateTrigger)(
442
+ De,{"metadata:getServices":At,"metadata:getLinkedService":Ct}),(0,Lr.tryCreateTrigger)(
443
+ Fe,{"metadata:getServices":Et,"metadata:getLinkedService":cn})},"registerTrigger\
444
+ s");var Ri=i(e=>{let{authorization:t}=e;if(t)switch(t.type){default:throw new Error(
292
445
  `Authorization type ${t.type} isn't supported.`);case"bearer":return{header:t.header,
293
- value:`Bearer ${t.value}`}}},"getClientAuthorization");var Ct=require("@ez4/schema");var lo=p(e=>{let t={},r=e.defaults?.preferences?.namingStyle,o=ur(e)?e.authorization?.
294
- header:void 0;for(let n of e.routes){if(!n.name)continue;let[s,i]=n.path.split("\
295
- ",2),{handler:m,preferences:c}=n;t[n.name]={authorize:fo(n,o),namingStyle:c?.namingStyle??
296
- r,bodySchema:m.request?.body,responseSchema:m.response.body,querySchema:m.request?.
297
- query,method:s,path:i}}return t},"getClientOperations"),fo=p((e,t)=>{let r=e.authorizer?.
298
- request?.headers;if(!r||!t)return!1;let o=(0,Ct.getObjectSchemaProperty)(r,t);return!(!o||
299
- o.optional)},"shouldUseAuthorization");var ar=require("@ez4/common/library");var oe=class extends ar.InvalidTypeError{static{p(this,"InvalidDefaultsTypeError")}constructor(t){
300
- super("Invalid defaults",void 0,"Http.Defaults",t)}},ne=class extends ar.IncorrectTypeError{constructor(r,o){
301
- super("Incorrect defaults",r,"Http.Defaults",o);this.defaultsType=r}static{p(this,
302
- "IncorrectDefaultsTypeError")}};0&&(module.exports={ImportType,IncompleteAccessError,IncompleteAuthorizationError,
303
- IncompleteAuthorizerError,IncompleteCacheError,IncompleteCorsError,IncompleteHandlerError,
304
- IncompleteProviderError,IncompleteRouteError,IncompleteServiceError,IncorrectAccessTypeError,
305
- IncorrectAuthorizationTypeError,IncorrectBodyTypeError,IncorrectCacheTypeError,IncorrectCorsTypeError,
306
- IncorrectDefaultsTypeError,IncorrectHeadersTypeError,IncorrectIdentityTypeError,
307
- IncorrectParameterTypeError,IncorrectPreferencesTypeError,IncorrectQueryTypeError,
308
- IncorrectRequestTypeError,IncorrectResponseTypeError,InvalidAccessTypeError,InvalidAuthorizationTypeError,
446
+ value:`Bearer ${t.value}`}}},"getClientAuthorization");var un=require("@ez4/schema");var Hi=i(e=>{let t={},r=e.defaults?.preferences?.namingStyle,o=nt(e)?e.authorization?.
447
+ header:void 0;for(let n of e.routes){if(!n.name)continue;let[s,p]=n.path.split("\
448
+ ",2),{handler:a,preferences:c}=n;t[n.name]={authorize:Ei(n,o),namingStyle:c?.namingStyle??
449
+ r,bodySchema:a.request?.body,responseSchema:a.response.body,querySchema:a.request?.
450
+ query,method:s,path:p}}return t},"getClientOperations"),Ei=i((e,t)=>{let r=e.authorizer?.
451
+ request?.headers;if(!r||!t)return!1;let o=(0,un.getObjectSchemaProperty)(r,t);return!(!o||
452
+ o.optional)},"shouldUseAuthorization");0&&(module.exports={HttpImportType,HttpNamespaceType,HttpServiceType,IncompleteAccessError,
453
+ IncompleteAuthorizationError,IncompleteAuthorizerHandlerError,IncompleteCacheError,
454
+ IncompleteCorsError,IncompleteHandlerError,IncompleteProviderError,IncompleteRouteError,
455
+ IncompleteServiceError,IncompleteTargetError,IncorrectAccessTypeError,IncorrectAuthorizationTypeError,
456
+ IncorrectBodyTypeError,IncorrectCacheTypeError,IncorrectCorsTypeError,IncorrectDefaultsTypeError,
457
+ IncorrectEventTypeError,IncorrectHeadersTypeError,IncorrectIdentityTypeError,IncorrectParameterTypeError,
458
+ IncorrectPreferencesTypeError,IncorrectQueryTypeError,IncorrectRequestTypeError,
459
+ IncorrectResponseTypeError,InvalidAccessTypeError,InvalidAuthorizationTypeError,
309
460
  InvalidBodyTypeError,InvalidCacheTypeError,InvalidCorsTypeError,InvalidDefaultsTypeError,
310
- InvalidHeadersTypeError,InvalidIdentityTypeError,InvalidParameterTypeError,InvalidPreferencesTypeError,
311
- InvalidProviderTypeError,InvalidQueryTypeError,InvalidRequestTypeError,InvalidResponseTypeError,
312
- InvalidRouteErrorTypeError,ServiceCollisionError,ServiceType,getClientAuthorization,
313
- getClientOperations,getHttpImports,getHttpServices,isHttpImport,isHttpService,registerTriggers});
461
+ InvalidEventTypeError,InvalidHeadersTypeError,InvalidIdentityTypeError,InvalidParameterTypeError,
462
+ InvalidPreferencesTypeError,InvalidProviderTypeError,InvalidQueryTypeError,InvalidRequestTypeError,
463
+ InvalidResponseTypeError,InvalidRouteErrorTypeError,MismatchParametersTypeError,
464
+ ServiceCollisionError,WsNamespaceType,WsServiceType,createHttpImport,createHttpService,
465
+ createWsService,getClientAuthorization,getClientOperations,getHttpImportsMetadata,
466
+ getHttpServicesMetadata,getWsServicesMetadata,isHttpImport,isHttpImportDeclaration,
467
+ isHttpService,isHttpServiceDeclaration,isWsService,isWsServiceDeclaration,registerTriggers});
314
468
  //# sourceMappingURL=library.cjs.map