@ez4/gateway 0.21.0 → 0.22.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.
- package/dist/library.cjs +203 -175
- package/dist/library.mjs +196 -182
- package/dist/main.cjs +16 -13
- package/dist/main.mjs +13 -10
- package/dist/metadata/body.d.ts +1 -1
- package/dist/utils/body.d.ts +4 -0
- package/dist/utils/errors.d.ts +13 -0
- package/dist/utils/headers.d.ts +3 -0
- package/dist/utils/identity.d.ts +3 -0
- package/dist/utils/parameters.d.ts +3 -0
- package/dist/utils/query.d.ts +3 -0
- package/dist/utils.cjs +23 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.mjs +19 -0
- package/package.json +12 -7
package/dist/library.mjs
CHANGED
|
@@ -1,183 +1,197 @@
|
|
|
1
|
-
import{registerTriggers as
|
|
2
|
-
import{createTrigger as
|
|
3
|
-
getLinkedVariableList as
|
|
4
|
-
import{isModelProperty as
|
|
5
|
-
super("Incomplete service",t,r)}};import{InvalidServicePropertyError as
|
|
6
|
-
getObjectMembers as
|
|
7
|
-
import{isModelProperty as
|
|
8
|
-
import{isTypeCallback as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
re=e=>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if(!
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
null)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
var
|
|
93
|
-
"Http.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
p.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
e.file)),null)};
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
1
|
+
var Ge=Object.defineProperty;var p=(e,t)=>Ge(e,"name",{value:t,configurable:!0});import{registerTriggers as Go}from"@ez4/common/library";import{registerTriggers as Yo}from"@ez4/schema/library";
|
|
2
|
+
import{createTrigger as Ko}from"@ez4/project/library";import{DuplicateServiceError as qo,isExternalDeclaration as Do,getLinkedServiceList as Fo,
|
|
3
|
+
getLinkedVariableList as Bo,getModelMembers as No,getPropertyString as Uo,InvalidServicePropertyError as Vo}from"@ez4/common/library";
|
|
4
|
+
import{isModelProperty as Qo}from"@ez4/reflection";var Q="@ez4/http",_o=p(e=>e.type===Q,"isHttpService");import{IncompleteTypeError as Ye}from"@ez4/common/library";var y=class extends Ye{static{p(this,"IncompleteServiceError")}constructor(t,r){
|
|
5
|
+
super("Incomplete service",t,r)}};import{InvalidServicePropertyError as sr,isModelDeclaration as ir,getPropertyNumber as cr,
|
|
6
|
+
getObjectMembers as lr,getModelMembers as mr,getServiceListener as ar,getReferenceType as ur}from"@ez4/common/library";
|
|
7
|
+
import{isModelProperty as fr,isTypeObject as yr,isTypeReference as dr}from"@ez4/reflection";import{hasHeritageType as a,isClassDeclaration as Ke,isModelDeclaration as We}from"@ez4/common/library";
|
|
8
|
+
import{isTypeCallback as W,isTypeFunction as X}from"@ez4/reflection";var Xe=new Set(["ANY","GET","POST","PUT","PATCH","DELETE","OPTIONS"]),Z=p(e=>{let[
|
|
9
|
+
t]=e.split(" ",2);return Xe.has(t)},"isHttpPath"),_=p(e=>Ke(e)&&a(e,"Http.Servic\
|
|
10
|
+
e"),"isHttpService"),$=p(e=>We(e)&&a(e,"Http.Route"),"isHttpRoute");var L=p(e=>a(e,"Http.Defaults"),"isHttpDefaults"),ee=p(e=>a(e,"Http.Headers"),"i\
|
|
11
|
+
sHttpHeaders"),re=p(e=>a(e,"Http.Identity"),"isHttpIdentity"),te=p(e=>a(e,"Http.\
|
|
12
|
+
QueryStrings"),"isHttpQuery"),oe=p(e=>a(e,"Http.PathParameters"),"isHttpParamete\
|
|
13
|
+
rs"),ne=p(e=>a(e,"Http.JsonBody"),"isJsonBody"),pe=p(e=>a(e,"Http.Cors"),"isHttp\
|
|
14
|
+
Cors"),se=p(e=>a(e,"Http.Cache"),"isHttpCache"),ie=p(e=>W(e)||X(e),"isHttpAuthor\
|
|
15
|
+
izer"),ce=p(e=>W(e)||X(e),"isHttpHandler");import{InvalidServicePropertyError as Ze,getObjectMembers as _e,getPropertyTuple as $e,
|
|
16
|
+
getReferenceType as me}from"@ez4/common/library";import{isAnyNumber as Le,isEmptyObject as er}from"@ez4/utils";
|
|
17
|
+
import{isModelProperty as rr,isTypeClass as tr,isTypeObject as or,isTypeReference as ae}from"@ez4/reflection";var d=p((e,t,r,o)=>{if(!ae(e))return le(e,t,r,o);let n=me(e,r);return n?le(n,t,r,
|
|
18
|
+
o):null},"getHttpErrors"),le=p((e,t,r,o)=>or(e)?nr(e,t,_e(e),r,o):null,"getTypeE\
|
|
19
|
+
rrors"),nr=p((e,t,r,o,n)=>{let s={};for(let i of r){if(!rr(i)||i.inherited)continue;
|
|
20
|
+
let c=parseInt(i.name,10);Le(c)||n.push(new Ze(t.name,i.name,e.file));let l=pr(i,
|
|
21
|
+
c,t,o,n);l&&Object.assign(s,l)}return er(s)?null:s},"getTypeFromMembers"),pr=p((e,t,r,o,n)=>{
|
|
22
|
+
let s=$e(e)??[],i={};for(let c of s){if(!ae(c)){n.push(new u(r.file));continue}let l=me(
|
|
23
|
+
c,o);if(!l||!tr(l)){n.push(new u(r.file));continue}i[l.name]=t}return i},"getErr\
|
|
24
|
+
orClasses");var ye=p((e,t,r,o)=>{if(!dr(e))return ue(e,t,r,o);let n=ur(e,r);return n?ue(n,t,
|
|
25
|
+
r,o):null},"getHttpDefaults"),ue=p((e,t,r,o)=>yr(e)?fe(t,lr(e),r,o):ir(e)?L(e)?fe(
|
|
26
|
+
t,mr(e),r,o):(o.push(new g(e.name,t.file)),null):(o.push(new T(t.file)),null),"g\
|
|
27
|
+
etTypeDefaults"),fe=p((e,t,r,o)=>{let n={};for(let s of t)if(!(!fr(s)||s.inherited))
|
|
28
|
+
switch(s.name){default:o.push(new sr(e.name,s.name,e.file));break;case"httpError\
|
|
29
|
+
s":n.httpErrors=d(s.value,e,r,o);break;case"memory":case"logRetention":case"time\
|
|
30
|
+
out":n[s.name]=cr(s);break;case"listener":n.listener=ar(s.value,o);break}return n},
|
|
31
|
+
"getTypeFromMembers");import{isModelProperty as Gt,isTypeObject as Yt,isTypeReference as Kt,isTypeTuple as Wt}from"@ez4/reflection";
|
|
32
|
+
import{InvalidServicePropertyError as Xt,getLinkedVariableList as Zt,getPropertyBoolean as _t,
|
|
33
|
+
getPropertyNumber as $t,getPropertyString as Lt,getObjectMembers as eo,getModelMembers as ro,
|
|
34
|
+
getServiceListener as to,getReferenceType as oo,getPropertyTuple as no}from"@ez4/common/library";import{IncompleteTypeError as Tr,TypeError as gr}from"@ez4/common/library";var M=class extends Tr{static{p(this,"IncompleteRouteError")}constructor(t,r){super(
|
|
35
|
+
"Incomplete gateway route",t,r)}},u=class extends gr{static{p(this,"InvalidRoute\
|
|
36
|
+
ErrorTypeError")}constructor(t){super("Invalid route error type.",t)}};import{IncompleteTypeError as Mr}from"@ez4/common/library";var H=class extends Mr{static{p(this,"IncompleteAuthorizerError")}constructor(t,r){
|
|
37
|
+
super("Incomplete route authorizer",t,r)}};import{InvalidServicePropertyError as ot,isModelDeclaration as nt,hasHeritageType as pt,
|
|
38
|
+
getModelMembers as st,getObjectMembers as it,getPropertyNumber as ct,getReferenceType as lt}from"@ez4/common/library";
|
|
39
|
+
import{isModelProperty as mt,isTypeObject as at,isTypeReference as ut}from"@ez4/reflection";
|
|
40
|
+
import{isAnyNumber as ft}from"@ez4/utils";import{IncorrectTypeError as Hr,InvalidTypeError as hr}from"@ez4/common/library";var h=class extends hr{constructor(r,o){super("Invalid route response",void 0,r,
|
|
41
|
+
o);this.baseType=r}static{p(this,"InvalidResponseTypeError")}},b=class extends Hr{constructor(r,o,n){
|
|
42
|
+
super("Incorrect route response",r,o,n);this.responseType=r;this.baseType=o}static{
|
|
43
|
+
p(this,"IncorrectResponseTypeError")}};import{isTypeIntersection as Ar,isTypeObject as Er,isTypeReference as vr,isTypeUndefined as Rr,
|
|
44
|
+
isTypeUnion as Pr}from"@ez4/reflection";import{getReferenceType as jr,isModelDeclaration as wr}from"@ez4/common/library";
|
|
45
|
+
import{createUnionSchema as Or}from"@ez4/schema/library";import{IncorrectTypeError as br,InvalidTypeError as Sr}from"@ez4/common/library";var S=class extends Sr{static{p(this,"InvalidIdentityTypeError")}constructor(t){
|
|
46
|
+
super("Invalid identity",void 0,"Http.Identity",t)}},x=class extends br{constructor(r,o){
|
|
47
|
+
super("Incorrect identity",r,"Http.Identity",o);this.identityType=r}static{p(this,
|
|
48
|
+
"IncorrectIdentityTypeError")}};import{getObjectSchema as xr,isObjectSchema as Ir}from"@ez4/schema/library";var m=p((e,t)=>{let r=xr(e,t);return r&&Ir(r)?r:null},"getSchemaFromType");var f=p((e,t,r,o)=>{if(Rr(e))return null;if(!vr(e))return de(e,t,r,o);let n=jr(e,
|
|
49
|
+
r);return n?de(n,t,r,o):null},"getHttpIdentity"),de=p((e,t,r,o)=>{if(Pr(e))return zr(
|
|
50
|
+
e.elements,t,r,o);if(Er(e)||Ar(e))return m(e,r);if(!wr(e))return o.push(new S(t.
|
|
51
|
+
file)),null;if(!re(e))return o.push(new x(e.name,t.file)),null;let n=m(e,r);return n&&
|
|
52
|
+
(n.definitions={...n.definitions,extensible:!0}),n},"getTypeIdentity"),zr=p((e,t,r,o)=>{
|
|
53
|
+
let n=[];for(let s of e){let i=f(s,t,r,o);i&&n.push(i)}return n.length>1?Or({elements:n}):
|
|
54
|
+
n[0]},"getIdentityFromUnion");import{isTypeIntersection as qr,isTypeObject as Dr,isTypeReference as Fr}from"@ez4/reflection";
|
|
55
|
+
import{getReferenceType as Br,isModelDeclaration as Nr}from"@ez4/common/library";import{IncorrectTypeError as Cr,InvalidTypeError as kr}from"@ez4/common/library";var I=class extends kr{static{p(this,"InvalidHeadersTypeError")}constructor(t){super(
|
|
56
|
+
"Invalid headers",void 0,"Http.Headers",t)}},A=class extends Cr{constructor(r,o){
|
|
57
|
+
super("Incorrect headers",r,"Http.Headers",o);this.headersType=r}static{p(this,"\
|
|
58
|
+
IncorrectHeadersTypeError")}};var E=p((e,t,r,o)=>{if(!Fr(e))return Te(e,t,r,o);let n=Br(e,r);return n?Te(n,t,r,
|
|
59
|
+
o):null},"getHttpHeaders"),Te=p((e,t,r,o)=>Dr(e)||qr(e)?m(e,r):Nr(e)?ee(e)?m(e,r):
|
|
60
|
+
(o.push(new A(e.name,t.file)),null):(o.push(new I(t.file)),null),"getTypeHeaders");import{createUnionSchema as Qr,getScalarSchema as Jr,createArraySchema as Gr}from"@ez4/schema/library";
|
|
61
|
+
import{getReferenceType as Yr,isModelDeclaration as Kr}from"@ez4/common/library";
|
|
62
|
+
import{isTypeArray as Wr,isTypeIntersection as Xr,isTypeObject as Zr,isTypeReference as _r,
|
|
63
|
+
isTypeScalar as $r,isTypeUndefined as Lr,isTypeUnion as et}from"@ez4/reflection";import{IncorrectTypeError as Ur,InvalidTypeError as Vr}from"@ez4/common/library";var v=class extends Vr{static{p(this,"InvalidBodyTypeError")}constructor(t){super(
|
|
64
|
+
"Invalid body",void 0,"Http.JsonBody",t)}},R=class extends Ur{constructor(r,o){super(
|
|
65
|
+
"Incorrect body",r,"Http.JsonBody",o);this.bodyType=r}static{p(this,"IncorrectBo\
|
|
66
|
+
dyTypeError")}};var P=p((e,t,r,o)=>Y(e,r,n=>J(n)??G(n,t,r,o)),"getHttpBody"),Y=p((e,t,r)=>{if(Lr(
|
|
67
|
+
e))return null;if(!_r(e))return r(e);let o=Yr(e,t);return o?r(o):null},"getTypeB\
|
|
68
|
+
ody"),J=p(e=>$r(e)?Jr(e):null,"getScalarTypeBody"),G=p((e,t,r,o)=>et(e)?rt(e.elements,
|
|
69
|
+
r,n=>J(n)??G(n,t,r,o)):Wr(e)?tt(e.element,r,n=>J(n)??G(n,t,r,o)):Zr(e)||Xr(e)?m(
|
|
70
|
+
e,r):Kr(e)?ne(e)?m(e,r):(o.push(new R(e.name,e.file)),null):(o.push(new v(t.file)),
|
|
71
|
+
null),"getCompoundTypeBody"),rt=p((e,t,r)=>{let o=[];for(let n of e){let s=Y(n,t,
|
|
72
|
+
r);s&&o.push(s)}return o.length?Qr({elements:o}):null},"getUnionTypeBody"),tt=p(
|
|
73
|
+
(e,t,r)=>{let o=Y(e,t,r);return o?Gr({element:o}):null},"getArrayTypeBody");var He=p((e,t,r,o)=>{let n=be(e,t,r,o,"Http.AuthResponse");return n&&yt(n)?n:null},
|
|
74
|
+
"getHttpAuthResponse"),he=p((e,t,r,o)=>{let n=be(e,t,r,o,"Http.Response");return n&&
|
|
75
|
+
dt(n)?n:null},"getHttpHandlerResponse"),be=p((e,t,r,o,n)=>{if(!ut(e))return ge(e,
|
|
76
|
+
t,r,o,n);let s=lt(e,r);return s?ge(s,t,r,o,n):null},"getHttpResponse"),yt=p(e=>!!e.
|
|
77
|
+
identity,"isValidAuthResponse"),dt=p(e=>ft(e.status),"isValidHandlerResponse"),ge=p(
|
|
78
|
+
(e,t,r,o,n)=>at(e)?Me(e,t,it(e),r,o):nt(e)?pt(e,n)?Me(e,t,st(e),r,o):(o.push(new b(
|
|
79
|
+
e.name,n,e.file)),null):(o.push(new h(n,t.file)),null),"getTypeResponse"),Me=p((e,t,r,o,n)=>{
|
|
80
|
+
let s={};for(let i of r)if(!(!mt(i)||i.inherited))switch(i.name){default:n.push(
|
|
81
|
+
new ot(t.name,i.name,e.file));break;case"status":s.status=ct(i);break;case"heade\
|
|
82
|
+
rs":{s.headers=E(i.value,e,o,n),s.headers&&i.description&&(s.headers.description=
|
|
83
|
+
i.description);break}case"identity":{s.identity=f(i.value,e,o,n),s.identity&&i.description&&
|
|
84
|
+
(s.identity.description=i.description);break}case"body":{s.body=P(i.value,e,o,n),
|
|
85
|
+
s.body&&i.description&&(s.body.description=i.description);break}}return s},"getT\
|
|
86
|
+
ypeFromMembers");import{isModelProperty as Ot,isTypeIntersection as zt,isTypeObject as Ct,isTypeReference as kt}from"@ez4/reflection";
|
|
87
|
+
import{InvalidServicePropertyError as qt,isModelDeclaration as Dt,hasHeritageType as Ft,
|
|
88
|
+
getObjectMembers as Bt,getModelMembers as Nt,getReferenceType as Ut}from"@ez4/common/library";import{IncorrectTypeError as Tt,InvalidTypeError as gt}from"@ez4/common/library";var j=class extends gt{constructor(r,o){super("Invalid route request",void 0,r,o);
|
|
89
|
+
this.baseType=r}static{p(this,"InvalidRequestTypeError")}},w=class extends Tt{constructor(r,o,n){
|
|
90
|
+
super("Incorrect route request",r,o,n);this.requestType=r;this.baseType=o}static{
|
|
91
|
+
p(this,"IncorrectRequestTypeError")}};import{isTypeIntersection as ht,isTypeObject as bt,isTypeReference as St}from"@ez4/reflection";
|
|
92
|
+
import{getReferenceType as xt,isModelDeclaration as It}from"@ez4/common/library";import{IncorrectTypeError as Mt,InvalidTypeError as Ht}from"@ez4/common/library";var O=class extends Ht{static{p(this,"InvalidParameterTypeError")}constructor(t){
|
|
93
|
+
super("Invalid request parameters",void 0,"Http.PathParameters",t)}},z=class extends Mt{constructor(r,o){
|
|
94
|
+
super("Incorrect request parameters",r,"Http.PathParameters",o);this.parametersType=
|
|
95
|
+
r}static{p(this,"IncorrectParameterTypeError")}};var xe=p((e,t,r,o)=>{if(!St(e))return Se(e,t,r,o);let n=xt(e,r);return n?Se(n,t,
|
|
96
|
+
r,o):null},"getHttpParameters"),Se=p((e,t,r,o)=>bt(e)||ht(e)?m(e,r):It(e)?oe(e)?
|
|
97
|
+
m(e,r):(o.push(new z(e.name,e.file)),null):(o.push(new O(t.file)),null),"getType\
|
|
98
|
+
Parameter");import{isTypeIntersection as vt,isTypeObject as Rt,isTypeReference as Pt}from"@ez4/reflection";
|
|
99
|
+
import{getReferenceType as jt,isModelDeclaration as wt}from"@ez4/common/library";import{IncorrectTypeError as At,InvalidTypeError as Et}from"@ez4/common/library";var C=class extends Et{static{p(this,"InvalidQueryTypeError")}constructor(t){super(
|
|
100
|
+
"Invalid request query strings",void 0,"Http.QueryStrings",t)}},k=class extends At{constructor(r,o){
|
|
101
|
+
super("Incorrect request query strings",r,"Http.QueryStrings",o);this.queryType=
|
|
102
|
+
r}static{p(this,"IncorrectQueryTypeError")}};var Ae=p((e,t,r,o)=>{if(!Pt(e))return Ie(e,t,r,o);let n=jt(e,r);return n?Ie(n,t,
|
|
103
|
+
r,o):null},"getHttpQuery"),Ie=p((e,t,r,o)=>Rt(e)||vt(e)?m(e,r):wt(e)?te(e)?m(e,r):
|
|
104
|
+
(o.push(new k(e.name,t.file)),null):(o.push(new C(t.file)),null),"getTypeQuery");var Re=p((e,t,r,o)=>K(e,t,r,o,"Http.AuthRequest"),"getHttpAuthRequest"),Pe=p((e,t,r,o)=>K(
|
|
105
|
+
e,t,r,o,"Http.Request"),"getHttpHandlerRequest"),K=p((e,t,r,o,n)=>{if(zt(e)&&e.elements.
|
|
106
|
+
length>0)return K(e.elements[0],t,r,o,n);if(!kt(e))return Ee(e,t,r,o,n);let s=Ut(
|
|
107
|
+
e,r);return s?Ee(s,t,r,o,n):null},"getHttpRequest"),Ee=p((e,t,r,o,n)=>Ct(e)?ve(e,
|
|
108
|
+
t,Bt(e),r,o):Dt(e)?Ft(e,n)?ve(e,t,Nt(e),r,o):(o.push(new w(e.name,n,e.file)),null):
|
|
109
|
+
(o.push(new j(n,t.file)),null),"getTypeRequest"),ve=p((e,t,r,o,n)=>{let s={};for(let i of r)
|
|
110
|
+
if(!(!Ot(i)||i.inherited))switch(i.name){default:n.push(new qt(t.name,i.name,e.file));
|
|
111
|
+
break;case"headers":{s.headers=E(i.value,e,o,n),s.headers&&i.description&&(s.headers.
|
|
112
|
+
description=i.description);break}case"identity":{s.identity=f(i.value,e,o,n),s.identity&&
|
|
113
|
+
i.description&&(s.identity.description=i.description);break}case"query":{s.query=
|
|
114
|
+
Ae(i.value,e,o,n),s.query&&i.description&&(s.query.description=i.description);break}case"\
|
|
115
|
+
parameters":{s.parameters=xe(i.value,e,o,n),s.parameters&&i.description&&(s.parameters.
|
|
116
|
+
description=i.description);break}case"body":{s.body=P(i.value,e,o,n),s.body&&i.description&&
|
|
117
|
+
(s.body.description=i.description);break}}return s},"getTypeFromMembers");var je=p((e,t,r,o)=>{if(!ie(e))return null;let n={},s=new Set(["name","file"]);if(e.
|
|
118
|
+
description&&(n.description=e.description),(n.name=e.name)&&s.delete("name"),(n.
|
|
119
|
+
file=e.file)&&s.delete("file"),e.parameters){let[{value:i}]=e.parameters;n.request=
|
|
120
|
+
Re(i,t,r,o)}return e.return&&(n.response=He(e.return,t,r,o)),Vt(n)?n:(o.push(new H(
|
|
121
|
+
[...s],e.file)),null)},"getHttpAuthorizer"),Vt=p(e=>!!e.name&&!!e.file,"isValidA\
|
|
122
|
+
uthorizer");import{IncompleteTypeError as Qt}from"@ez4/common/library";var q=class extends Qt{static{p(this,"IncompleteHandlerError")}constructor(t,r){
|
|
123
|
+
super("Incomplete route handler",t,r)}};var we=p((e,t,r,o)=>{if(!ce(e))return null;let n={},s=new Set(["name","file","re\
|
|
124
|
+
sponse"]);if(e.description&&(n.description=e.description),(n.name=e.name)&&s.delete(
|
|
125
|
+
"name"),(n.file=e.file)&&s.delete("file"),e.parameters){let[{value:i}]=e.parameters;
|
|
126
|
+
n.request=Pe(i,t,r,o)}if(e.return){let i=he(e.return,t,r,o);i&&(n.response=i,s.delete(
|
|
127
|
+
"response"))}return Jt(n)?n:(o.push(new q([...s],e.file)),null)},"getHttpHandler"),
|
|
128
|
+
Jt=p(e=>!!e.name&&!!e.file&&!!e.response,"isValidHandler");var Ce=p((e,t,r,o)=>{let n=no(t)??[];return ke(n,e,r,o)},"getHttpRoutes"),ke=p((e,t,r,o)=>{
|
|
129
|
+
let n=[];for(let s of e){let i=po(s,t,r,o);Array.isArray(i)?n.push(...i):i&&n.push(
|
|
130
|
+
i)}return n},"getRouteFromTuple"),po=p((e,t,r,o)=>{if(!Kt(e))return Oe(e,t,r,o);
|
|
131
|
+
let n=oo(e,r);return n?Oe(n,t,r,o):null},"getTypeFromRoute"),so=p(e=>!!e.path&&!!e.
|
|
132
|
+
handler,"isValidRoute"),Oe=p((e,t,r,o)=>$(e)?ze(e,t,ro(e),r,o):Yt(e)?ze(e,t,eo(e),
|
|
133
|
+
r,o):Wt(e)&&e.spread?ke(e.elements,t,r,o):null,"getRouteType"),ze=p((e,t,r,o,n)=>{
|
|
134
|
+
let s={},i=new Set(["path","handler"]);for(let c of r)if(!(!Gt(c)||c.inherited))
|
|
135
|
+
switch(c.name){default:n.push(new Xt(t.name,c.name,e.file));break;case"path":{let l=Lt(
|
|
136
|
+
c);l&&Z(l)&&(i.delete(c.name),s.path=l);break}case"handler":(s.handler=we(c.value,
|
|
137
|
+
t,o,n))&&i.delete(c.name);break;case"authorizer":s.authorizer=je(c.value,t,o,n);
|
|
138
|
+
break;case"httpErrors":s.httpErrors=d(c.value,t,o,n);break;case"memory":case"log\
|
|
139
|
+
Retention":case"timeout":s[c.name]=$t(c);break;case"cors":s.cors=_t(c);break;case"\
|
|
140
|
+
listener":s.listener=to(c.value,n);break;case"variables":s.variables=Zt(c,n);break}
|
|
141
|
+
return so(s)?s:(n.push(new M([...i],e.file)),null)},"getTypeFromMembers");import{InvalidServicePropertyError as mo,isModelDeclaration as ao,getModelMembers as uo,
|
|
142
|
+
getObjectMembers as fo,getPropertyBoolean as yo,getPropertyStringList as To,getPropertyNumber as go,
|
|
143
|
+
getReferenceType as Mo}from"@ez4/common/library";import{isModelProperty as Ho,isTypeObject as ho,
|
|
144
|
+
isTypeReference as bo}from"@ez4/reflection";import{IncompleteTypeError as io,IncorrectTypeError as co,InvalidTypeError as lo}from"@ez4/common/library";var D=class extends io{static{p(this,"IncompleteCorsError")}constructor(t,r){super(
|
|
145
|
+
"Incomplete HTTP CORS",t,r)}},F=class extends lo{static{p(this,"InvalidCorsTypeE\
|
|
146
|
+
rror")}constructor(t){super("Invalid HTTP CORS type",void 0,"Http.Cors",t)}},B=class extends co{constructor(r,o){
|
|
147
|
+
super("Incorrect HTTP CORS type",r,"Http.Cors",o);this.fallbackType=r}static{p(this,
|
|
148
|
+
"IncorrectCorsTypeError")}};var Fe=p((e,t,r,o)=>{if(!bo(e))return qe(e,t,o);let n=Mo(e,r);return n?qe(n,t,o):
|
|
149
|
+
null},"getHttpCors"),So=p(e=>!!e.allowOrigins?.length,"isValidCors"),qe=p((e,t,r)=>ho(
|
|
150
|
+
e)?De(e,t,fo(e),r):ao(e)?pe(e)?De(e,t,uo(e),r):(r.push(new B(e.name,e.file)),null):
|
|
151
|
+
(r.push(new F(t.file)),null),"getTypeCors"),De=p((e,t,r,o)=>{let n={},s=new Set(
|
|
152
|
+
["allowOrigins"]);for(let i of r)if(!(!Ho(i)||i.inherited))switch(i.name){default:
|
|
153
|
+
o.push(new mo(t.name,i.name,e.file));break;case"allowOrigins":case"allowMethods":case"\
|
|
154
|
+
allowHeaders":case"exposeHeaders":n[i.name]=To(i);break;case"allowCredentials":n.
|
|
155
|
+
allowCredentials=yo(i);break;case"maxAge":n.maxAge=go(i);break}return So(n)?n:(o.
|
|
156
|
+
push(new D([...s],e.file)),null)},"getTypeFromMembers");import{InvalidServicePropertyError as Eo,isModelDeclaration as vo,getModelMembers as Ro,
|
|
157
|
+
getObjectMembers as Po,getPropertyNumber as jo,getReferenceType as wo}from"@ez4/common/library";
|
|
158
|
+
import{isModelProperty as Oo,isTypeObject as zo,isTypeReference as Co}from"@ez4/reflection";
|
|
159
|
+
import{isAnyNumber as Ue}from"@ez4/utils";import{IncompleteTypeError as xo,IncorrectTypeError as Io,InvalidTypeError as Ao}from"@ez4/common/library";var N=class extends xo{static{p(this,"IncompleteCacheError")}constructor(t,r){super(
|
|
160
|
+
"Incomplete gateway cache",t,r)}},U=class extends Ao{static{p(this,"InvalidCache\
|
|
161
|
+
TypeError")}constructor(t){super("Invalid gateway cache type",void 0,"Http.Cache",
|
|
162
|
+
t)}},V=class extends Io{constructor(r,o){super("Incorrect gateway cache type",r,
|
|
163
|
+
"Http.Cache",o);this.cacheType=r}static{p(this,"IncorrectCacheTypeError")}};var Ve=p((e,t,r,o)=>{if(!Co(e))return Be(e,t,o);let n=wo(e,r);return n?Be(n,t,o):
|
|
164
|
+
null},"getHttpCache"),ko=p(e=>Ue(e.authorizerTTL),"isValidCache"),Be=p((e,t,r)=>zo(
|
|
165
|
+
e)?Ne(e,t,Po(e),r):vo(e)?se(e)?Ne(e,t,Ro(e),r):(r.push(new V(e.name,e.file)),null):
|
|
166
|
+
(r.push(new U(t.file)),null),"getTypeCache"),Ne=p((e,t,r,o)=>{let n={},s=new Set(
|
|
167
|
+
["authorizerTTL"]);for(let i of r)if(!(!Oo(i)||i.inherited))switch(i.name){default:
|
|
168
|
+
o.push(new Eo(t.name,i.name,e.file));break;case"authorizerTTL":{let c=jo(i);Ue(c)&&
|
|
169
|
+
(n[i.name]=c,s.delete(i.name));break}}return ko(n)?n:(o.push(new N([...s],e.file)),
|
|
170
|
+
null)},"getTypeFromMembers");var Qe=p(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!_(n)||Do(n))continue;let s={
|
|
171
|
+
type:Q,extras:{}},i=new Set(["routes"]),c=n.file;s.name=n.name,n.description&&(s.
|
|
172
|
+
description=n.description);for(let l of No(n))if(!(!Qo(l)||l.inherited))switch(l.
|
|
173
|
+
name){default:r.push(new Vo(s.name,l.name,c));break;case"routes":(s.routes=Ce(n,
|
|
174
|
+
l,e,r))&&i.delete(l.name);break;case"name":s.displayName=Uo(l);break;case"defaul\
|
|
175
|
+
ts":s.defaults=ye(l.value,n,e,r);break;case"cache":s.cache=Ve(l.value,n,e,r);break;case"\
|
|
176
|
+
cors":s.cors=Fe(l.value,n,e,r);break;case"variables":s.variables=Bo(l,r);break;case"\
|
|
177
|
+
services":s.services=Fo(l,e,r);break}if(!Jo(s)){r.push(new y([...i],c));continue}
|
|
178
|
+
if(t[n.name]){r.push(new qo(n.name,c));continue}t[n.name]=s}return{services:t,errors:r}},
|
|
179
|
+
"getHttpServices"),Jo=p(e=>!!e.name&&!!e.routes&&!!e.extras,"isValidService");var Je=!1,oi=p(()=>{Je||(Go(),Yo(),Ko("@ez4/gateway",{"metadata:getServices":Qe}),
|
|
180
|
+
Je=!1)},"registerTriggers");import{IncorrectTypeError as Wo,InvalidTypeError as Xo}from"@ez4/common/library";var T=class extends Xo{static{p(this,"InvalidDefaultsTypeError")}constructor(t){
|
|
181
|
+
super("Invalid defaults",void 0,"Http.Defaults",t)}},g=class extends Wo{constructor(r,o){
|
|
182
|
+
super("Incorrect defaults",r,"Http.Defaults",o);this.defaultsType=r}static{p(this,
|
|
183
|
+
"IncorrectDefaultsTypeError")}};export{H as IncompleteAuthorizerError,N as IncompleteCacheError,D as IncompleteCorsError,
|
|
184
|
+
q as IncompleteHandlerError,M as IncompleteRouteError,y as IncompleteServiceError,
|
|
185
|
+
R as IncorrectBodyTypeError,V as IncorrectCacheTypeError,B as IncorrectCorsTypeError,
|
|
186
|
+
g as IncorrectDefaultsTypeError,A as IncorrectHeadersTypeError,x as IncorrectIdentityTypeError,
|
|
187
|
+
z as IncorrectParameterTypeError,k as IncorrectQueryTypeError,w as IncorrectRequestTypeError,
|
|
188
|
+
b as IncorrectResponseTypeError,v as InvalidBodyTypeError,U as InvalidCacheTypeError,
|
|
189
|
+
F as InvalidCorsTypeError,T as InvalidDefaultsTypeError,I as InvalidHeadersTypeError,
|
|
190
|
+
S as InvalidIdentityTypeError,O as InvalidParameterTypeError,C as InvalidQueryTypeError,
|
|
191
|
+
j as InvalidRequestTypeError,h as InvalidResponseTypeError,u as InvalidRouteErrorTypeError,
|
|
192
|
+
Q as ServiceType,Re as getHttpAuthRequest,He as getHttpAuthResponse,je as getHttpAuthorizer,
|
|
193
|
+
P as getHttpBody,Ve as getHttpCache,Fe as getHttpCors,we as getHttpHandler,Pe as getHttpHandlerRequest,
|
|
194
|
+
he as getHttpHandlerResponse,E as getHttpHeaders,f as getHttpIdentity,xe as getHttpParameters,
|
|
195
|
+
Ae as getHttpQuery,Ce as getHttpRoutes,Qe as getHttpServices,_o as isHttpService,
|
|
196
|
+
oi as registerTriggers};
|
|
183
197
|
//# sourceMappingURL=library.mjs.map
|
package/dist/main.cjs
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
typeof t=="object"||typeof t=="function")for(let
|
|
3
|
-
|
|
4
|
-
HttpInternalServerError:()=>
|
|
5
|
-
HttpUnprocessableEntityError:()=>
|
|
6
|
-
exports=
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
"use strict";var u=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var p=(s,t)=>u(s,"name",{value:t,configurable:!0});var g=(s,t)=>{for(var e in t)u(s,e,{get:t[e],enumerable:!0})},S=(s,t,e,n)=>{if(t&&
|
|
2
|
+
typeof t=="object"||typeof t=="function")for(let o of l(t))!h.call(s,o)&&o!==e&&
|
|
3
|
+
u(s,o,{get:()=>t[o],enumerable:!(n=R(t,o))||n.enumerable});return s};var q=s=>S(u({},"__esModule",{value:!0}),s);var b={};g(b,{Http:()=>H,HttpBadRequestError:()=>i,HttpError:()=>r,HttpForbiddenError:()=>a,
|
|
4
|
+
HttpInternalServerError:()=>m,HttpNotFoundError:()=>x,HttpUnauthorizedError:()=>c,
|
|
5
|
+
HttpUnprocessableEntityError:()=>d,HttpUnsupportedMediaTypeError:()=>y});module.
|
|
6
|
+
exports=q(b);var H;(s=>{})(H||={});var r=class extends Error{constructor(e,n,o){super(n);this.status=e;this.message=
|
|
7
|
+
n;this.details=o}static{p(this,"HttpError")}},i=class extends r{static{p(this,"H\
|
|
8
|
+
ttpBadRequestError")}constructor(t,e){super(400,t||"Bad request",e)}},c=class extends r{static{
|
|
9
|
+
p(this,"HttpUnauthorizedError")}constructor(t,e){super(401,t||"Unauthorized",e)}},
|
|
10
|
+
a=class extends r{static{p(this,"HttpForbiddenError")}constructor(t,e){super(403,
|
|
11
|
+
t||"Forbidden",e)}},x=class extends r{static{p(this,"HttpNotFoundError")}constructor(t,e){
|
|
12
|
+
super(404,t||"Not found",e)}},y=class extends r{static{p(this,"HttpUnsupportedMe\
|
|
13
|
+
diaTypeError")}constructor(t,e){super(415,t||"Unsupported media type",e)}},d=class extends r{static{
|
|
14
|
+
p(this,"HttpUnprocessableEntityError")}constructor(t,e){super(422,t||"Unprocessa\
|
|
15
|
+
ble entity",e)}},m=class extends r{static{p(this,"HttpInternalServerError")}constructor(t,e){
|
|
16
|
+
super(500,t||"Internal server error",e)}};0&&(module.exports={Http,HttpBadRequestError,HttpError,HttpForbiddenError,HttpInternalServerError,
|
|
14
17
|
HttpNotFoundError,HttpUnauthorizedError,HttpUnprocessableEntityError,HttpUnsupportedMediaTypeError});
|
|
15
18
|
//# sourceMappingURL=main.cjs.map
|
package/dist/main.mjs
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
e)
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
var d=Object.defineProperty;var r=(s,t)=>d(s,"name",{value:t,configurable:!0});var m;(s=>{})(m||={});var p=class extends Error{constructor(e,y,H){super(y);this.status=e;this.message=
|
|
2
|
+
y;this.details=H}static{r(this,"HttpError")}},o=class extends p{static{r(this,"H\
|
|
3
|
+
ttpBadRequestError")}constructor(t,e){super(400,t||"Bad request",e)}},n=class extends p{static{
|
|
4
|
+
r(this,"HttpUnauthorizedError")}constructor(t,e){super(401,t||"Unauthorized",e)}},
|
|
5
|
+
u=class extends p{static{r(this,"HttpForbiddenError")}constructor(t,e){super(403,
|
|
6
|
+
t||"Forbidden",e)}},i=class extends p{static{r(this,"HttpNotFoundError")}constructor(t,e){
|
|
7
|
+
super(404,t||"Not found",e)}},c=class extends p{static{r(this,"HttpUnsupportedMe\
|
|
8
|
+
diaTypeError")}constructor(t,e){super(415,t||"Unsupported media type",e)}},a=class extends p{static{
|
|
9
|
+
r(this,"HttpUnprocessableEntityError")}constructor(t,e){super(422,t||"Unprocessa\
|
|
10
|
+
ble entity",e)}},x=class extends p{static{r(this,"HttpInternalServerError")}constructor(t,e){
|
|
11
|
+
super(500,t||"Internal server error",e)}};export{m as Http,o as HttpBadRequestError,p as HttpError,u as HttpForbiddenError,
|
|
12
|
+
x as HttpInternalServerError,i as HttpNotFoundError,n as HttpUnauthorizedError,a as HttpUnprocessableEntityError,
|
|
13
|
+
c as HttpUnsupportedMediaTypeError};
|
|
11
14
|
//# sourceMappingURL=main.mjs.map
|
package/dist/metadata/body.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AllType, SourceMap, TypeIntersection, TypeModel, TypeObject } from '@ez4/reflection';
|
|
2
2
|
import type { ArraySchema, ObjectSchema, UnionSchema } from '@ez4/schema/library';
|
|
3
3
|
type TypeParent = TypeObject | TypeModel | TypeIntersection;
|
|
4
|
-
export declare const getHttpBody: (type: AllType, parent: TypeParent, reflection: SourceMap, errorList: Error[]) =>
|
|
4
|
+
export declare const getHttpBody: (type: AllType, parent: TypeParent, reflection: SourceMap, errorList: Error[]) => import("@ez4/schema/library").BooleanSchema | import("@ez4/schema/library").NumberSchema | import("@ez4/schema/library").StringSchema | ObjectSchema | UnionSchema | ArraySchema | null;
|
|
5
5
|
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AnySchema } from '@ez4/schema';
|
|
2
|
+
import type { Http } from '../services/contract.js';
|
|
3
|
+
export declare const getRequestBody: <T extends Http.JsonBody | Http.RawBody>(input: T, schema: AnySchema) => Promise<T>;
|
|
4
|
+
export declare const getResponseBody: (body: unknown, schema: AnySchema) => unknown;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HttpError } from '@ez4/gateway';
|
|
2
|
+
/**
|
|
3
|
+
* Get a JSON error response for the given HTTP error.
|
|
4
|
+
*
|
|
5
|
+
* @returns Returns an error response containing `status`, `message` and `details`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const getJsonError: ({ status, message, details }: HttpError) => {
|
|
8
|
+
status: number;
|
|
9
|
+
body: {
|
|
10
|
+
message: string;
|
|
11
|
+
details: string[] | undefined;
|
|
12
|
+
};
|
|
13
|
+
};
|