@ez4/database 0.31.0 → 0.33.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 +27 -27
- package/dist/library.mjs +94 -94
- package/dist/services/relations.d.ts +12 -2
- package/package.json +6 -6
package/dist/library.cjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";var X=Object.defineProperty;var
|
|
2
|
-
typeof t=="object"||typeof t=="function")for(let o of
|
|
3
|
-
X(e,o,{get:()=>t[o],enumerable:!(n=
|
|
1
|
+
"use strict";var X=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Ze=Object.prototype.hasOwnProperty;var a=(e,t)=>X(e,"name",{value:t,configurable:!0});var Le=(e,t)=>{for(var r in t)X(e,r,{get:t[r],enumerable:!0})},er=(e,t,r,n)=>{if(t&&
|
|
2
|
+
typeof t=="object"||typeof t=="function")for(let o of Ye(t))!Ze.call(e,o)&&o!==r&&
|
|
3
|
+
X(e,o,{get:()=>t[o],enumerable:!(n=Xe(t,o))||n.enumerable});return e};var rr=e=>er(X({},"__esModule",{value:!0}),e);var ur={};Le(ur,{IncompleteEngineError:()=>F,IncompleteHandlerError:()=>W,IncompleteScalabilityError:()=>H,
|
|
4
4
|
IncompleteServiceError:()=>j,IncompleteStreamError:()=>J,IncompleteTableError:()=>U,
|
|
5
5
|
IncorrectIndexesTypeError:()=>$,IncorrectRelationsTypeError:()=>R,IncorrectSchemaTypeError:()=>G,
|
|
6
6
|
IncorrectStreamTypeError:()=>Q,Index:()=>Oe,InvalidIndexReferenceError:()=>_,InvalidIndexTypeError:()=>q,
|
|
7
7
|
InvalidIndexesTypeError:()=>V,InvalidRelationAliasError:()=>N,InvalidRelationColumnError:()=>S,
|
|
8
8
|
InvalidRelationTableError:()=>C,InvalidRelationTargetError:()=>z,InvalidRelationsTypeError:()=>A,
|
|
9
9
|
InvalidSchemaTypeError:()=>B,InvalidStreamTypeError:()=>K,ServiceType:()=>Y,getDatabaseServices:()=>me,
|
|
10
|
-
getDatabaseTable:()=>pe,getTableSchema:()=>ie,isDatabaseService:()=>
|
|
11
|
-
module.exports=
|
|
10
|
+
getDatabaseTable:()=>pe,getTableSchema:()=>ie,isDatabaseService:()=>tr,registerTriggers:()=>fr});
|
|
11
|
+
module.exports=rr(ur);var Je=require("@ez4/common/library"),Ke=require("@ez4/schema/library"),Qe=require("@ez4/project/library");var f=require("@ez4/common/library"),Be=require("@ez4/reflection");var Y="@ez4/database",tr=a(e=>e.type===Y,"isDatabaseService");var le=require("@ez4/common/library");var j=class extends le.IncompleteTypeError{static{a(this,"IncompleteServiceError")}constructor(t,r){
|
|
12
12
|
super("Incomplete database service",t,r)}};var g=require("@ez4/common/library");var A=class extends g.InvalidTypeError{static{a(this,"InvalidRelationsTypeError")}constructor(t){
|
|
13
13
|
super("Invalid table relations type",void 0,"Database.Relations",t)}},R=class extends g.IncorrectTypeError{constructor(r,n){
|
|
14
14
|
super("Incorrect table relations type",r,"Database.Relations",n);this.schemaType=
|
|
@@ -29,17 +29,17 @@ e),"isStreamHandler"),be=a(e=>(0,u.hasHeritageType)(e,"Database.Relations"),"isT
|
|
|
29
29
|
ableRelations"),Te=a(e=>(0,u.hasHeritageType)(e,"Database.Indexes"),"isTableInde\
|
|
30
30
|
xes"),ye=a(e=>(0,u.hasHeritageType)(e,"Database.Schema"),"isTableSchema"),xe=a(e=>(0,u.hasHeritageType)(
|
|
31
31
|
e,"Database.Stream"),"isTableStream");var Se=a((e,t,r,n)=>{if(!(0,I.isTypeReference)(e))return ge(e,t,n);let o=(0,b.getReferenceType)(
|
|
32
|
-
e,r);if(o)return ge(o,t,n)},"getDatabaseScalability"),
|
|
32
|
+
e,r);if(o)return ge(o,t,n)},"getDatabaseScalability"),or=a(e=>(0,re.isAnyNumber)(
|
|
33
33
|
e.minCapacity)&&(0,re.isAnyNumber)(e.maxCapacity),"isValidScalability"),ge=a((e,t,r)=>{
|
|
34
34
|
if(ee(e))return Me(e,t,(0,b.getModelMembers)(e),r);if((0,I.isTypeObject)(e))return Me(
|
|
35
35
|
e,t,(0,b.getObjectMembers)(e),r)},"getTypeScalability"),Me=a((e,t,r,n)=>{let o={},
|
|
36
36
|
s=new Set(["minCapacity","maxCapacity"]);for(let i of r)if(!(!(0,I.isModelProperty)(
|
|
37
37
|
i)||i.inherited))switch(i.name){default:n.push(new b.InvalidServicePropertyError(
|
|
38
38
|
t.name,i.name,e.file));break;case"minCapacity":case"maxCapacity":let p=(0,b.getPropertyNumber)(
|
|
39
|
-
i);(0,re.isAnyNumber)(p)&&(o[i.name]=p,s.delete(i.name));break}if(!
|
|
39
|
+
i);(0,re.isAnyNumber)(p)&&(o[i.name]=p,s.delete(i.name));break}if(!or(o)){n.push(
|
|
40
40
|
new H([...s],e.file));return}return o},"getTypeFromMembers");var h=require("@ez4/reflection"),l=require("@ez4/common/library");var Ie=require("@ez4/common/library");var F=class extends Ie.IncompleteTypeError{static{a(this,"IncompleteEngineError")}constructor(t,r){
|
|
41
41
|
super("Incomplete database engine",t,r)}};var ve=a((e,t,r,n)=>{if(!(0,h.isTypeReference)(e))return he(e,t,n);let o=(0,l.getReferenceType)(
|
|
42
|
-
e,r);if(o)return he(o,t,n)},"getDatabaseEngine"),
|
|
42
|
+
e,r);if(o)return he(o,t,n)},"getDatabaseEngine"),nr=a(e=>!!e.name&&!!e.parametersMode&&
|
|
43
43
|
!!e.transactionMode&&!!e.insensitiveMode&&!!e.paginationMode&&!!e.orderMode,"isV\
|
|
44
44
|
alidEngine"),he=a((e,t,r)=>{if(ee(e))return De(e,t,(0,l.getModelMembers)(e),r);if((0,h.isTypeObject)(
|
|
45
45
|
e))return De(e,t,(0,l.getObjectMembers)(e),r)},"getTypeEngine"),De=a((e,t,r,n)=>{
|
|
@@ -54,7 +54,7 @@ insensitiveMode":(o.insensitiveMode=(0,l.getPropertyStringIn)(i,["unsupported","
|
|
|
54
54
|
enabled"]))&&s.delete(i.name);break;case"paginationMode":(o.paginationMode=(0,l.getPropertyStringIn)(
|
|
55
55
|
i,["cursor","offset"]))&&s.delete(i.name);break;case"orderMode":(o.orderMode=(0,l.getPropertyStringIn)(
|
|
56
56
|
i,["any","index"]))&&s.delete(i.name);break;case"lockMode":(o.lockMode=(0,l.getPropertyStringIn)(
|
|
57
|
-
i,["unsupported","supported"]))&&s.delete(i.name);break}if(!
|
|
57
|
+
i,["unsupported","supported"]))&&s.delete(i.name);break}if(!nr(o)){n.push(new F(
|
|
58
58
|
[...s],e.file));return}return o},"getTypeFromMembers");var x=require("@ez4/common/library"),w=require("@ez4/reflection");var Ee=require("@ez4/common/library");var U=class extends Ee.IncompleteTypeError{static{a(this,"IncompleteTableError")}constructor(t,r){
|
|
59
59
|
super("Incomplete database table",t,r)}};var M=require("@ez4/common/library");var V=class extends M.InvalidTypeError{static{a(this,"InvalidIndexesTypeError")}constructor(t){
|
|
60
60
|
super("Invalid table indexes type",void 0,"Database.Indexes",t)}},$=class extends M.IncorrectTypeError{constructor(r,n){
|
|
@@ -97,9 +97,9 @@ a(this,"IncorrectStreamTypeError")}};var Ne=require("@ez4/common/library");var W
|
|
|
97
97
|
super("Incomplete stream handler",t,r)}};var He=a((e,t,r)=>{if(!ue(e))return;let{description:n,module:o}=e,s={...n&&{description:n},
|
|
98
98
|
...o&&{module:o}},i=new Set(["name","file","change"]);if((s.name=e.name)&&i.delete(
|
|
99
99
|
"name"),(s.file=e.file)&&i.delete("file"),e.parameters&&i.delete("change"),i.size===
|
|
100
|
-
0&&
|
|
100
|
+
0&&ar(s))return s;r.push(new W([...i],e.file))},"getStreamHandler"),ar=a(e=>!!e.
|
|
101
101
|
name&&!!e.file,"isValidHandler");var Ve=a((e,t,r,n)=>{if(!(0,k.isTypeReference)(e))return Fe(e,t,r,n);let o=(0,d.getReferenceType)(
|
|
102
|
-
e,r);if(o)return Fe(o,t,r,n)},"getTableStream"),
|
|
102
|
+
e,r);if(o)return Fe(o,t,r,n)},"getTableStream"),sr=a(e=>!!e.handler,"isValidStre\
|
|
103
103
|
am"),Fe=a((e,t,r,n)=>{if((0,k.isTypeObject)(e))return Ue(e,t,(0,d.getObjectMembers)(
|
|
104
104
|
e),r,n);if(!(0,d.isModelDeclaration)(e)){n.push(new K(t.file));return}if(!xe(e)){
|
|
105
105
|
n.push(new Q(e.name,e.file));return}return Ue(e,t,(0,d.getModelMembers)(e),r,n)},
|
|
@@ -108,9 +108,9 @@ if(!(!(0,k.isModelProperty)(p)||p.inherited))switch(p.name){default:o.push(new d
|
|
|
108
108
|
t.name,p.name,e.file));break;case"handler":s.handler=He(p.value,n,o);break;case"\
|
|
109
109
|
listener":s.listener=(0,d.getServiceListener)(p.value,o);break;case"memory":case"\
|
|
110
110
|
logRetention":case"timeout":s[p.name]=(0,d.getPropertyNumber)(p);break;case"vari\
|
|
111
|
-
ables":s.variables=(0,d.getLinkedVariableList)(p,o);break}if(
|
|
111
|
+
ables":s.variables=(0,d.getLinkedVariableList)(p,o);break}if(sr(s))return s;o.push(
|
|
112
112
|
new J([...i],e.file))},"getTypeFromMembers");var pe=a((e,t,r,n)=>{if(!(0,w.isTypeReference)(e))return $e(e,t,r,n);let o=(0,x.getReferenceType)(
|
|
113
|
-
e,r);if(o)return $e(o,t,r,n)},"getDatabaseTable"),
|
|
113
|
+
e,r);if(o)return $e(o,t,r,n)},"getDatabaseTable"),ir=a(e=>!!e.name&&!!e.schema&&
|
|
114
114
|
!!e.indexes,"isValidTable"),$e=a((e,t,r,n)=>{if(fe(e))return qe(e,t,(0,x.getModelMembers)(
|
|
115
115
|
e),r,n);if((0,w.isTypeObject)(e))return qe(e,t,(0,x.getObjectMembers)(e),r,n)},"\
|
|
116
116
|
getTypeTable"),qe=a((e,t,r,n,o)=>{let s={},i=new Set(["name","schema","indexes"]);
|
|
@@ -119,32 +119,32 @@ o.push(new x.InvalidServicePropertyError(t.name,m.name,e.file));break;case"name"
|
|
|
119
119
|
(s.name=(0,x.getPropertyString)(m))&&i.delete(m.name);break;case"schema":(s.schema=
|
|
120
120
|
ie(m.value,e,n,o))&&i.delete(m.name);break;case"indexes":(s.indexes=Re(m.value,e,
|
|
121
121
|
n,o))&&i.delete(m.name);break;case"relations":s.relations=we(m.value,e,n,o);break;case"\
|
|
122
|
-
stream":s.stream=Ve(m.value,t,n,o);break}if(!
|
|
123
|
-
return}let p=
|
|
124
|
-
"getTypeFromMembers"),
|
|
122
|
+
stream":s.stream=Ve(m.value,t,n,o);break}if(!ir(s)){o.push(new U([...i],e.file));
|
|
123
|
+
return}let p=pr(e,s.indexes,s.schema);if(p.length){o.push(...p);return}return s},
|
|
124
|
+
"getTypeFromMembers"),pr=a((e,t,r)=>{let n=r.properties,o=[];for(let{name:s,columns:i}of t)
|
|
125
125
|
i.some(m=>!n[m])&&o.push(new _(s,e.file));return o},"validateIndexes");var me=a(e=>{let t={},r=[];for(let n in e){let o=e[n];if(!L(o)||(0,f.isExternalDeclaration)(
|
|
126
126
|
o))continue;let s={type:Y,context:{}},i=new Set(["engine","tables"]),p=o.file;s.
|
|
127
127
|
name=o.name;for(let c of(0,f.getModelMembers)(o))if(!(!(0,Be.isModelProperty)(c)||
|
|
128
128
|
c.inherited))switch(c.name){default:r.push(new f.InvalidServicePropertyError(s.name,
|
|
129
129
|
c.name,p));break;case"client":break;case"scalability":(s.scalability=Se(c.value,
|
|
130
130
|
o,e,r))&&i.delete(c.name);break;case"engine":(s.engine=ve(c.value,o,e,r))&&i.delete(
|
|
131
|
-
c.name);break;case"tables":(s.tables=
|
|
131
|
+
c.name);break;case"tables":(s.tables=cr(c,o,e,r))&&i.delete(c.name);break;case"v\
|
|
132
132
|
ariables":s.variables=(0,f.getLinkedVariableList)(c,r);break;case"services":s.services=
|
|
133
|
-
(0,f.getLinkedServiceList)(c,e,r);break}if(!
|
|
134
|
-
let m=
|
|
133
|
+
(0,f.getLinkedServiceList)(c,e,r);break}if(!mr(s)){r.push(new j([...i],p));continue}
|
|
134
|
+
let m=lr(o,s.tables);if(m.length){r.push(...m);continue}if(t[o.name]){r.push(new f.DuplicateServiceError(
|
|
135
135
|
o.name,p));continue}t[o.name]=s}return{services:t,errors:r}},"getDatabaseService\
|
|
136
|
-
s"),
|
|
136
|
+
s"),mr=a(e=>!!e.name&&!!e.tables&&!!e.context,"isValidService"),cr=a((e,t,r,n)=>{
|
|
137
137
|
let o=(0,f.getPropertyTuple)(e)??[],s=[];for(let i of o){let p=pe(i,t,r,n);p&&s.
|
|
138
|
-
push(p)}return s},"getAllTables"),
|
|
138
|
+
push(p)}return s},"getAllTables"),lr=a((e,t)=>{let r=dr(t),n=[];for(let{relations:o,
|
|
139
139
|
schema:s,indexes:i}of t){if(!o)continue;let p=s.properties;for(let m of o){let{sourceTable:c,
|
|
140
140
|
sourceColumn:O,targetColumn:ae,targetAlias:ce}=m;p[ae]||n.push(new S(ae,e.file)),
|
|
141
141
|
p[ce]&&n.push(new N(ce,e.file));let se=r[c]?.schema.properties;se||n.push(new C(
|
|
142
|
-
c,e.file)),se&&!se[O]&&n.push(new S(O,e.file));let
|
|
143
|
-
_e(
|
|
144
|
-
({name:r})=>r===t)?.type,"getIndexType"),
|
|
145
|
-
{}),"getTableMap");var Ge=a(e=>L(e)?e.name:null,"getLinkedService");var
|
|
146
|
-
"@ez4/database",{"metadata:getServices":me,"metadata:getLinkedService":Ge})
|
|
147
|
-
"
|
|
142
|
+
c,e.file)),se&&!se[O]&&n.push(new S(O,e.file));let We=r[c]?.indexes??[];m.sourceIndex=
|
|
143
|
+
_e(We,O),m.targetIndex=_e(i,ae)}}return n},"validateRelations"),_e=a((e,t)=>e.find(
|
|
144
|
+
({name:r})=>r===t)?.type,"getIndexType"),dr=a(e=>e.reduce((t,r)=>({...t,[r.name]:r}),
|
|
145
|
+
{}),"getTableMap");var Ge=a(e=>L(e)?e.name:null,"getLinkedService");var fr=a(()=>{(0,Je.registerTriggers)(),(0,Ke.registerTriggers)(),(0,Qe.tryCreateTrigger)(
|
|
146
|
+
"@ez4/database",{"metadata:getServices":me,"metadata:getLinkedService":Ge})},"re\
|
|
147
|
+
gisterTriggers");0&&(module.exports={IncompleteEngineError,IncompleteHandlerError,IncompleteScalabilityError,
|
|
148
148
|
IncompleteServiceError,IncompleteStreamError,IncompleteTableError,IncorrectIndexesTypeError,
|
|
149
149
|
IncorrectRelationsTypeError,IncorrectSchemaTypeError,IncorrectStreamTypeError,Index,
|
|
150
150
|
InvalidIndexReferenceError,InvalidIndexTypeError,InvalidIndexesTypeError,InvalidRelationAliasError,
|
package/dist/library.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var
|
|
2
|
-
import{
|
|
3
|
-
getLinkedServiceList as
|
|
4
|
-
import{isModelProperty as
|
|
5
|
-
super("Incomplete database service",t,r)}};import{IncorrectTypeError as
|
|
6
|
-
super("Invalid table relations type",void 0,"Database.Relations",t)}},y=class extends
|
|
1
|
+
var Ie=Object.defineProperty;var n=(e,t)=>Ie(e,"name",{value:t,configurable:!0});import{registerTriggers as mt}from"@ez4/common/library";import{registerTriggers as ct}from"@ez4/schema/library";
|
|
2
|
+
import{tryCreateTrigger as lt}from"@ez4/project/library";import{DuplicateServiceError as Yr,InvalidServicePropertyError as Zr,isExternalDeclaration as Lr,
|
|
3
|
+
getLinkedServiceList as et,getLinkedVariableList as rt,getPropertyTuple as tt,getModelMembers as ot}from"@ez4/common/library";
|
|
4
|
+
import{isModelProperty as nt}from"@ez4/reflection";var U="@ez4/database",ft=n(e=>e.type===U,"isDatabaseService");import{IncompleteTypeError as he}from"@ez4/common/library";var b=class extends he{static{n(this,"IncompleteServiceError")}constructor(t,r){
|
|
5
|
+
super("Incomplete database service",t,r)}};import{IncorrectTypeError as De,InvalidTypeError as ve,TypeError as S}from"@ez4/common/library";var T=class extends ve{static{n(this,"InvalidRelationsTypeError")}constructor(t){
|
|
6
|
+
super("Invalid table relations type",void 0,"Database.Relations",t)}},y=class extends De{constructor(r,a){
|
|
7
7
|
super("Incorrect table relations type",r,"Database.Relations",a);this.schemaType=
|
|
8
8
|
r}static{n(this,"IncorrectRelationsTypeError")}},x=class extends S{constructor(r,a){
|
|
9
9
|
super(`Target ${r} must follow the pattern 'column@alias'.`,a);this.relationSource=
|
|
@@ -13,134 +13,134 @@ super(`Relation table ${r} don't exists.`,a);this.relationTable=r}static{n(this,
|
|
|
13
13
|
n column ${r} don't exists.`,a);this.relationColumn=r}static{n(this,"InvalidRela\
|
|
14
14
|
tionColumnError")}},M=class extends S{constructor(r,a){super(`Relation alias ${r}\
|
|
15
15
|
can't override table columns.`,a);this.relationAlias=r}static{n(this,"InvalidRe\
|
|
16
|
-
lationAliasError")}};import{InvalidServicePropertyError as
|
|
17
|
-
getObjectMembers as
|
|
18
|
-
isTypeObject as
|
|
19
|
-
super("Incomplete database scalability",t,r)}};import{hasHeritageType as l,isClassDeclaration as
|
|
20
|
-
import{isTypeCallback as
|
|
16
|
+
lationAliasError")}};import{InvalidServicePropertyError as Oe,getModelMembers as je,getPropertyNumber as Ae,
|
|
17
|
+
getObjectMembers as Re,getReferenceType as ze}from"@ez4/common/library";import{isModelProperty as Ce,
|
|
18
|
+
isTypeObject as Ne,isTypeReference as He}from"@ez4/reflection";import{isAnyNumber as V}from"@ez4/utils";import{IncompleteTypeError as Ee}from"@ez4/common/library";var I=class extends Ee{static{n(this,"IncompleteScalabilityError")}constructor(t,r){
|
|
19
|
+
super("Incomplete database scalability",t,r)}};import{hasHeritageType as l,isClassDeclaration as Pe,isModelDeclaration as q}from"@ez4/common/library";
|
|
20
|
+
import{isTypeCallback as ke,isTypeFunction as we}from"@ez4/reflection";var h=n(e=>Pe(e)&&l(e,"Database.Service"),"isDatabaseService"),D=n(e=>q(e)&&l(e,
|
|
21
21
|
"Database.Engine"),"isDatabaseEngine"),_=n(e=>q(e)&&l(e,"Database.Table"),"isDat\
|
|
22
|
-
abaseTable"),B=n(e=>
|
|
22
|
+
abaseTable"),B=n(e=>ke(e)||we(e),"isStreamHandler"),G=n(e=>l(e,"Database.Relatio\
|
|
23
23
|
ns"),"isTableRelations"),J=n(e=>l(e,"Database.Indexes"),"isTableIndexes"),K=n(e=>l(
|
|
24
24
|
e,"Database.Schema"),"isTableSchema"),Q=n(e=>l(e,"Database.Stream"),"isTableStre\
|
|
25
|
-
am");var Y=n((e,t,r,a)=>{if(!
|
|
26
|
-
"getDatabaseScalability"),
|
|
27
|
-
lability"),W=n((e,t,r)=>{if(D(e))return X(e,t,
|
|
25
|
+
am");var Y=n((e,t,r,a)=>{if(!He(e))return W(e,t,a);let o=ze(e,r);if(o)return W(o,t,a)},
|
|
26
|
+
"getDatabaseScalability"),Fe=n(e=>V(e.minCapacity)&&V(e.maxCapacity),"isValidSca\
|
|
27
|
+
lability"),W=n((e,t,r)=>{if(D(e))return X(e,t,je(e),r);if(Ne(e))return X(e,t,Re(
|
|
28
28
|
e),r)},"getTypeScalability"),X=n((e,t,r,a)=>{let o={},s=new Set(["minCapacity","\
|
|
29
|
-
maxCapacity"]);for(let i of r)if(!(!
|
|
30
|
-
push(new
|
|
31
|
-
i);V(p)&&(o[i.name]=p,s.delete(i.name));break}if(!
|
|
32
|
-
return}return o},"getTypeFromMembers");import{isModelProperty as
|
|
33
|
-
import{InvalidServicePropertyError as
|
|
34
|
-
getPropertyString as
|
|
35
|
-
"Incomplete database engine",t,r)}};var ee=n((e,t,r,a)=>{if(!
|
|
36
|
-
"getDatabaseEngine"),
|
|
29
|
+
maxCapacity"]);for(let i of r)if(!(!Ce(i)||i.inherited))switch(i.name){default:a.
|
|
30
|
+
push(new Oe(t.name,i.name,e.file));break;case"minCapacity":case"maxCapacity":let p=Ae(
|
|
31
|
+
i);V(p)&&(o[i.name]=p,s.delete(i.name));break}if(!Fe(o)){a.push(new I([...s],e.file));
|
|
32
|
+
return}return o},"getTypeFromMembers");import{isModelProperty as Ve,isTypeObject as $e,isTypeReference as qe}from"@ez4/reflection";
|
|
33
|
+
import{InvalidServicePropertyError as _e,getModelMembers as Be,getObjectMembers as Ge,
|
|
34
|
+
getPropertyString as Je,getPropertyStringIn as d,getReferenceType as Ke}from"@ez4/common/library";import{IncompleteTypeError as Ue}from"@ez4/common/library";var v=class extends Ue{static{n(this,"IncompleteEngineError")}constructor(t,r){super(
|
|
35
|
+
"Incomplete database engine",t,r)}};var ee=n((e,t,r,a)=>{if(!qe(e))return Z(e,t,a);let o=Ke(e,r);if(o)return Z(o,t,a)},
|
|
36
|
+
"getDatabaseEngine"),Qe=n(e=>!!e.name&&!!e.parametersMode&&!!e.transactionMode&&
|
|
37
37
|
!!e.insensitiveMode&&!!e.paginationMode&&!!e.orderMode,"isValidEngine"),Z=n((e,t,r)=>{
|
|
38
|
-
if(D(e))return L(e,t,
|
|
38
|
+
if(D(e))return L(e,t,Be(e),r);if($e(e))return L(e,t,Ge(e),r)},"getTypeEngine"),L=n(
|
|
39
39
|
(e,t,r,a)=>{let o={},s=new Set(["name","parametersMode","transactionMode","insen\
|
|
40
|
-
sitiveMode","paginationMode","orderMode"]);for(let i of r)if(!(
|
|
41
|
-
switch(i.name){default:a.push(new
|
|
42
|
-
name=
|
|
40
|
+
sitiveMode","paginationMode","orderMode"]);for(let i of r)if(!(!Ve(i)||i.inherited))
|
|
41
|
+
switch(i.name){default:a.push(new _e(t.name,i.name,e.file));break;case"name":(o.
|
|
42
|
+
name=Je(i))&&s.delete(i.name);break;case"parametersMode":(o.parametersMode=d(i,[
|
|
43
43
|
"index","both"]))&&s.delete(i.name);break;case"transactionMode":(o.transactionMode=
|
|
44
44
|
d(i,["static","interactive"]))&&s.delete(i.name);break;case"insensitiveMode":(o.
|
|
45
45
|
insensitiveMode=d(i,["unsupported","enabled"]))&&s.delete(i.name);break;case"pag\
|
|
46
46
|
inationMode":(o.paginationMode=d(i,["cursor","offset"]))&&s.delete(i.name);break;case"\
|
|
47
47
|
orderMode":(o.orderMode=d(i,["any","index"]))&&s.delete(i.name);break;case"lockM\
|
|
48
|
-
ode":(o.lockMode=d(i,["unsupported","supported"]))&&s.delete(i.name);break}if(!
|
|
49
|
-
o)){a.push(new v([...s],e.file));return}return o},"getTypeFromMembers");import{InvalidServicePropertyError as
|
|
50
|
-
getPropertyString as
|
|
51
|
-
isModelProperty as
|
|
52
|
-
"Incomplete database table",t,r)}};import{IncorrectTypeError as
|
|
53
|
-
"Invalid table indexes type",void 0,"Database.Indexes",t)}},k=class extends
|
|
48
|
+
ode":(o.lockMode=d(i,["unsupported","supported"]))&&s.delete(i.name);break}if(!Qe(
|
|
49
|
+
o)){a.push(new v([...s],e.file));return}return o},"getTypeFromMembers");import{InvalidServicePropertyError as $r,getModelMembers as qr,getObjectMembers as _r,
|
|
50
|
+
getPropertyString as Br,getReferenceType as Gr}from"@ez4/common/library";import{
|
|
51
|
+
isModelProperty as Jr,isTypeObject as Kr,isTypeReference as Qr}from"@ez4/reflection";import{IncompleteTypeError as We}from"@ez4/common/library";var E=class extends We{static{n(this,"IncompleteTableError")}constructor(t,r){super(
|
|
52
|
+
"Incomplete database table",t,r)}};import{IncorrectTypeError as Xe,InvalidTypeError as Ye,TypeError as re}from"@ez4/common/library";var P=class extends Ye{static{n(this,"InvalidIndexesTypeError")}constructor(t){super(
|
|
53
|
+
"Invalid table indexes type",void 0,"Database.Indexes",t)}},k=class extends Xe{constructor(r,a){
|
|
54
54
|
super("Incorrect table indexes type",r,"Database.Indexes",a);this.schemaType=r}static{
|
|
55
55
|
n(this,"IncorrectIndexesTypeError")}},w=class extends re{constructor(r,a){super(
|
|
56
56
|
`Invalid index type, ${r} must follow one of the Index options.`,a);this.indexName=
|
|
57
57
|
r}static{n(this,"InvalidIndexTypeError")}},O=class extends re{constructor(r,a){super(
|
|
58
58
|
`Invalid index reference, ${r} must be valid column.`,a);this.indexName=r}static{
|
|
59
|
-
n(this,"InvalidIndexReferenceError")}};import{isModelDeclaration as
|
|
60
|
-
getReferenceType as
|
|
61
|
-
isTypeReference as
|
|
62
|
-
a)},"getTableRelations"),te=n((e,t,r)=>{if(
|
|
59
|
+
n(this,"InvalidIndexReferenceError")}};import{isModelDeclaration as Ze,getModelMembers as Le,getObjectMembers as er,getPropertyString as rr,
|
|
60
|
+
getReferenceType as tr}from"@ez4/common/library";import{isModelProperty as or,isTypeObject as nr,
|
|
61
|
+
isTypeReference as ar}from"@ez4/reflection";var ne=n((e,t,r,a)=>{if(!ar(e))return te(e,t,a);let o=tr(e,r);if(o)return te(o,t,
|
|
62
|
+
a)},"getTableRelations"),te=n((e,t,r)=>{if(nr(e))return oe(e,er(e),r);if(!Ze(e)){
|
|
63
63
|
r.push(new T(t.file));return}if(!G(e)){r.push(new y(e.name,e.file));return}return oe(
|
|
64
|
-
e,
|
|
65
|
-
o.inherited)continue;let s=
|
|
64
|
+
e,Le(e),r)},"getTypeRelations"),oe=n((e,t,r)=>{let a=[];for(let o of t){if(!or(o)||
|
|
65
|
+
o.inherited)continue;let s=rr(o),i=o.name;if(!s){r.push(new x(i,e.file));return}
|
|
66
66
|
let[p,m]=i.split("@",2),[c,f]=s.split(":",2);a.push({sourceTable:c,sourceColumn:f,
|
|
67
|
-
targetColumn:p,targetAlias:m})}return a},"getTypeFromMembers");import{isModelDeclaration as
|
|
68
|
-
getReferenceType as
|
|
69
|
-
isTypeReference as
|
|
70
|
-
"ttl",o))(
|
|
71
|
-
a)},"getTableIndexes"),ae=n((e,t,r)=>{if(
|
|
67
|
+
targetColumn:p,targetAlias:m})}return a},"getTypeFromMembers");import{isModelDeclaration as ir,getModelMembers as pr,getObjectMembers as mr,getPropertyString as cr,
|
|
68
|
+
getReferenceType as lr}from"@ez4/common/library";import{isModelProperty as dr,isTypeObject as fr,
|
|
69
|
+
isTypeReference as ur}from"@ez4/reflection";var sr=(o=>(o.Primary="primary",o.Secondary="secondary",o.Unique="unique",o.TTL=
|
|
70
|
+
"ttl",o))(sr||{});var ie=n((e,t,r,a)=>{if(!ur(e))return ae(e,t,a);let o=lr(e,r);if(o)return ae(o,t,
|
|
71
|
+
a)},"getTableIndexes"),ae=n((e,t,r)=>{if(fr(e))return se(e,mr(e),r);if(!ir(e)){r.
|
|
72
72
|
push(new P(t.file));return}if(!J(e)){r.push(new k(e.name,e.file));return}return se(
|
|
73
|
-
e,
|
|
74
|
-
o.inherited)continue;let s=o.name,i=
|
|
73
|
+
e,pr(e),r)},"getTypeIndexes"),se=n((e,t,r)=>{let a=[];for(let o of t){if(!dr(o)||
|
|
74
|
+
o.inherited)continue;let s=o.name,i=cr(o);switch(i){case"primary":case"secondary":case"\
|
|
75
75
|
unique":case"ttl":a.push({name:s,columns:s.split(":"),type:i});break;default:r.push(
|
|
76
|
-
new w(s,e.file));return}}return a},"getTypeFromMembers");import{createSchemaContext as
|
|
77
|
-
import{getReferenceType as
|
|
78
|
-
import{isTypeObject as
|
|
79
|
-
"Invalid table schema type",void 0,"Database.Schema",t)}},A=class extends
|
|
76
|
+
new w(s,e.file));return}}return a},"getTypeFromMembers");import{createSchemaContext as yr,getObjectSchema as xr,isObjectSchema as gr}from"@ez4/schema/library";
|
|
77
|
+
import{getReferenceType as Mr,isModelDeclaration as Sr}from"@ez4/common/library";
|
|
78
|
+
import{isTypeObject as Ir,isTypeReference as hr}from"@ez4/reflection";import{IncorrectTypeError as br,InvalidTypeError as Tr}from"@ez4/common/library";var j=class extends Tr{static{n(this,"InvalidSchemaTypeError")}constructor(t){super(
|
|
79
|
+
"Invalid table schema type",void 0,"Database.Schema",t)}},A=class extends br{constructor(r,a){
|
|
80
80
|
super("Incorrect table schema type",r,"Database.Schema",a);this.schemaType=r}static{
|
|
81
|
-
n(this,"IncorrectSchemaTypeError")}};var ce=n((e,t,r,a)=>{if(!
|
|
82
|
-
t,r,a)},"getTableSchema"),pe=n((e,t,r,a)=>{if(
|
|
81
|
+
n(this,"IncorrectSchemaTypeError")}};var ce=n((e,t,r,a)=>{if(!hr(e))return pe(e,t,r,a);let o=Mr(e,r);if(o)return pe(o,
|
|
82
|
+
t,r,a)},"getTableSchema"),pe=n((e,t,r,a)=>{if(Ir(e))return me(e,r);if(!Sr(e)){a.
|
|
83
83
|
push(new j(t.file));return}if(!K(e)){a.push(new A(e.name,e.file));return}return me(
|
|
84
|
-
e,r)},"getTypeSchema"),me=n((e,t)=>{let r=
|
|
85
|
-
"getSchema");import{InvalidServicePropertyError as
|
|
86
|
-
getModelMembers as
|
|
87
|
-
getReferenceType as
|
|
88
|
-
isTypeReference as
|
|
89
|
-
"Incomplete table stream",t,r)}},z=class extends
|
|
84
|
+
e,r)},"getTypeSchema"),me=n((e,t)=>{let r=xr(e,t,yr({nullish:!0}));if(r&&gr(r))return r},
|
|
85
|
+
"getSchema");import{InvalidServicePropertyError as wr,isModelDeclaration as Or,getLinkedVariableList as jr,
|
|
86
|
+
getModelMembers as Ar,getObjectMembers as Rr,getPropertyNumber as zr,getServiceListener as Cr,
|
|
87
|
+
getReferenceType as Nr}from"@ez4/common/library";import{isModelProperty as Hr,isTypeObject as Fr,
|
|
88
|
+
isTypeReference as Ur}from"@ez4/reflection";import{IncompleteTypeError as Dr,IncorrectTypeError as vr,InvalidTypeError as Er}from"@ez4/common/library";var R=class extends Dr{static{n(this,"IncompleteStreamError")}constructor(t,r){super(
|
|
89
|
+
"Incomplete table stream",t,r)}},z=class extends Er{static{n(this,"InvalidStream\
|
|
90
90
|
TypeError")}constructor(t){super("Invalid table stream type",void 0,"Database.St\
|
|
91
|
-
ream",t)}},C=class extends
|
|
91
|
+
ream",t)}},C=class extends vr{constructor(r,a){super("Incorrect table stream typ\
|
|
92
92
|
e",r,"Database.Stream",a);this.streamType=r}static{n(this,"IncorrectStreamTypeEr\
|
|
93
|
-
ror")}};import{IncompleteTypeError as
|
|
93
|
+
ror")}};import{IncompleteTypeError as Pr}from"@ez4/common/library";var N=class extends Pr{static{n(this,"IncompleteHandlerError")}constructor(t,r){
|
|
94
94
|
super("Incomplete stream handler",t,r)}};var le=n((e,t,r)=>{if(!B(e))return;let{description:a,module:o}=e,s={...a&&{description:a},
|
|
95
95
|
...o&&{module:o}},i=new Set(["name","file","change"]);if((s.name=e.name)&&i.delete(
|
|
96
96
|
"name"),(s.file=e.file)&&i.delete("file"),e.parameters&&i.delete("change"),i.size===
|
|
97
|
-
0&&
|
|
98
|
-
name&&!!e.file,"isValidHandler");var ue=n((e,t,r,a)=>{if(!
|
|
99
|
-
t,r,a)},"getTableStream")
|
|
100
|
-
if(
|
|
101
|
-
e)){a.push(new C(e.name,e.file));return}return fe(e,t,
|
|
102
|
-
fe=n((e,t,r,a,o)=>{let s={},i=new Set(["handler"]);for(let p of r)if(!(!
|
|
103
|
-
inherited))switch(p.name){default:o.push(new
|
|
104
|
-
handler":s.handler=le(p.value,a,o);break;case"listener":s.listener=
|
|
105
|
-
break;case"memory":case"logRetention":case"timeout":s[p.name]=
|
|
106
|
-
ariables":s.variables=
|
|
107
|
-
"getTypeFromMembers");var ye=n((e,t,r,a)=>{if(!
|
|
108
|
-
t,r,a)},"getDatabaseTable"),
|
|
109
|
-
ble"),be=n((e,t,r,a)=>{if(_(e))return Te(e,t,
|
|
97
|
+
0&&kr(s))return s;r.push(new N([...i],e.file))},"getStreamHandler"),kr=n(e=>!!e.
|
|
98
|
+
name&&!!e.file,"isValidHandler");var ue=n((e,t,r,a)=>{if(!Ur(e))return de(e,t,r,a);let o=Nr(e,r);if(o)return de(o,
|
|
99
|
+
t,r,a)},"getTableStream"),Vr=n(e=>!!e.handler,"isValidStream"),de=n((e,t,r,a)=>{
|
|
100
|
+
if(Fr(e))return fe(e,t,Rr(e),r,a);if(!Or(e)){a.push(new z(t.file));return}if(!Q(
|
|
101
|
+
e)){a.push(new C(e.name,e.file));return}return fe(e,t,Ar(e),r,a)},"getTypeStream"),
|
|
102
|
+
fe=n((e,t,r,a,o)=>{let s={},i=new Set(["handler"]);for(let p of r)if(!(!Hr(p)||p.
|
|
103
|
+
inherited))switch(p.name){default:o.push(new wr(t.name,p.name,e.file));break;case"\
|
|
104
|
+
handler":s.handler=le(p.value,a,o);break;case"listener":s.listener=Cr(p.value,o);
|
|
105
|
+
break;case"memory":case"logRetention":case"timeout":s[p.name]=zr(p);break;case"v\
|
|
106
|
+
ariables":s.variables=jr(p,o);break}if(Vr(s))return s;o.push(new R([...i],e.file))},
|
|
107
|
+
"getTypeFromMembers");var ye=n((e,t,r,a)=>{if(!Qr(e))return be(e,t,r,a);let o=Gr(e,r);if(o)return be(o,
|
|
108
|
+
t,r,a)},"getDatabaseTable"),Wr=n(e=>!!e.name&&!!e.schema&&!!e.indexes,"isValidTa\
|
|
109
|
+
ble"),be=n((e,t,r,a)=>{if(_(e))return Te(e,t,qr(e),r,a);if(Kr(e))return Te(e,t,_r(
|
|
110
110
|
e),r,a)},"getTypeTable"),Te=n((e,t,r,a,o)=>{let s={},i=new Set(["name","schema",
|
|
111
|
-
"indexes"]);for(let m of r)if(!(!
|
|
112
|
-
new
|
|
111
|
+
"indexes"]);for(let m of r)if(!(!Jr(m)||m.inherited))switch(m.name){default:o.push(
|
|
112
|
+
new $r(t.name,m.name,e.file));break;case"name":(s.name=Br(m))&&i.delete(m.name);
|
|
113
113
|
break;case"schema":(s.schema=ce(m.value,e,a,o))&&i.delete(m.name);break;case"ind\
|
|
114
114
|
exes":(s.indexes=ie(m.value,e,a,o))&&i.delete(m.name);break;case"relations":s.relations=
|
|
115
|
-
ne(m.value,e,a,o);break;case"stream":s.stream=ue(m.value,t,a,o);break}if(!
|
|
116
|
-
o.push(new E([...i],e.file));return}let p=
|
|
117
|
-
o.push(...p);return}return s},"getTypeFromMembers"),
|
|
115
|
+
ne(m.value,e,a,o);break;case"stream":s.stream=ue(m.value,t,a,o);break}if(!Wr(s)){
|
|
116
|
+
o.push(new E([...i],e.file));return}let p=Xr(e,s.indexes,s.schema);if(p.length){
|
|
117
|
+
o.push(...p);return}return s},"getTypeFromMembers"),Xr=n((e,t,r)=>{let a=r.properties,
|
|
118
118
|
o=[];for(let{name:s,columns:i}of t)i.some(m=>!a[m])&&o.push(new O(s,e.file));return o},
|
|
119
|
-
"validateIndexes");var ge=n(e=>{let t={},r=[];for(let a in e){let o=e[a];if(!h(o)||
|
|
120
|
-
type:U,context:{}},i=new Set(["engine","tables"]),p=o.file;s.name=o.name;for(let c of
|
|
121
|
-
o))if(!(!
|
|
119
|
+
"validateIndexes");var ge=n(e=>{let t={},r=[];for(let a in e){let o=e[a];if(!h(o)||Lr(o))continue;let s={
|
|
120
|
+
type:U,context:{}},i=new Set(["engine","tables"]),p=o.file;s.name=o.name;for(let c of ot(
|
|
121
|
+
o))if(!(!nt(c)||c.inherited))switch(c.name){default:r.push(new Zr(s.name,c.name,
|
|
122
122
|
p));break;case"client":break;case"scalability":(s.scalability=Y(c.value,o,e,r))&&
|
|
123
123
|
i.delete(c.name);break;case"engine":(s.engine=ee(c.value,o,e,r))&&i.delete(c.name);
|
|
124
|
-
break;case"tables":(s.tables=
|
|
125
|
-
s.variables=
|
|
126
|
-
push(new b([...i],p));continue}let m=
|
|
127
|
-
if(t[o.name]){r.push(new
|
|
128
|
-
"getDatabaseServices"),
|
|
129
|
-
|
|
130
|
-
p)}return s},"getAllTables"),
|
|
124
|
+
break;case"tables":(s.tables=st(c,o,e,r))&&i.delete(c.name);break;case"variables":
|
|
125
|
+
s.variables=rt(c,r);break;case"services":s.services=et(c,e,r);break}if(!at(s)){r.
|
|
126
|
+
push(new b([...i],p));continue}let m=it(o,s.tables);if(m.length){r.push(...m);continue}
|
|
127
|
+
if(t[o.name]){r.push(new Yr(o.name,p));continue}t[o.name]=s}return{services:t,errors:r}},
|
|
128
|
+
"getDatabaseServices"),at=n(e=>!!e.name&&!!e.tables&&!!e.context,"isValidService"),
|
|
129
|
+
st=n((e,t,r,a)=>{let o=tt(e)??[],s=[];for(let i of o){let p=ye(i,t,r,a);p&&s.push(
|
|
130
|
+
p)}return s},"getAllTables"),it=n((e,t)=>{let r=pt(t),a=[];for(let{relations:o,schema:s,
|
|
131
131
|
indexes:i}of t){if(!o)continue;let p=s.properties;for(let m of o){let{sourceTable:c,
|
|
132
132
|
sourceColumn:f,targetColumn:H,targetAlias:$}=m;p[H]||a.push(new u(H,e.file)),p[$]&&
|
|
133
133
|
a.push(new M($,e.file));let F=r[c]?.schema.properties;F||a.push(new g(c,e.file)),
|
|
134
|
-
F&&!F[f]&&a.push(new u(f,e.file));let
|
|
134
|
+
F&&!F[f]&&a.push(new u(f,e.file));let Se=r[c]?.indexes??[];m.sourceIndex=xe(Se,f),
|
|
135
135
|
m.targetIndex=xe(i,H)}}return a},"validateRelations"),xe=n((e,t)=>e.find(({name:r})=>r===
|
|
136
|
-
t)?.type,"getIndexType"),
|
|
137
|
-
leMap");var Me=n(e=>h(e)?e.name:null,"getLinkedService");var
|
|
138
|
-
|
|
136
|
+
t)?.type,"getIndexType"),pt=n(e=>e.reduce((t,r)=>({...t,[r.name]:r}),{}),"getTab\
|
|
137
|
+
leMap");var Me=n(e=>h(e)?e.name:null,"getLinkedService");var bn=n(()=>{mt(),ct(),lt("@ez4/database",{"metadata:getServices":ge,"metadata:\
|
|
138
|
+
getLinkedService":Me})},"registerTriggers");export{v as IncompleteEngineError,N as IncompleteHandlerError,I as IncompleteScalabilityError,
|
|
139
139
|
b as IncompleteServiceError,R as IncompleteStreamError,E as IncompleteTableError,
|
|
140
140
|
k as IncorrectIndexesTypeError,y as IncorrectRelationsTypeError,A as IncorrectSchemaTypeError,
|
|
141
|
-
C as IncorrectStreamTypeError,
|
|
141
|
+
C as IncorrectStreamTypeError,sr as Index,O as InvalidIndexReferenceError,w as InvalidIndexTypeError,
|
|
142
142
|
P as InvalidIndexesTypeError,M as InvalidRelationAliasError,u as InvalidRelationColumnError,
|
|
143
143
|
g as InvalidRelationTableError,x as InvalidRelationTargetError,T as InvalidRelationsTypeError,
|
|
144
144
|
j as InvalidSchemaTypeError,z as InvalidStreamTypeError,U as ServiceType,ge as getDatabaseServices,
|
|
145
|
-
ye as getDatabaseTable,ce as getTableSchema,
|
|
145
|
+
ye as getDatabaseTable,ce as getTableSchema,ft as isDatabaseService,bn as registerTriggers};
|
|
146
146
|
//# sourceMappingURL=library.mjs.map
|
|
@@ -43,8 +43,9 @@ type MergeRelations<T extends Database.Table[], C extends Database.Table[], S ex
|
|
|
43
43
|
*/
|
|
44
44
|
type TableRelation<T extends Database.Table[], C extends Database.Table, S extends Record<string, Database.Schema>, I extends Record<string, Database.Indexes>> = C extends {
|
|
45
45
|
name: infer N;
|
|
46
|
+
} ? N extends string ? C extends {
|
|
46
47
|
relations: infer R;
|
|
47
|
-
} ?
|
|
48
|
+
} ? R extends AnyObject ? {
|
|
48
49
|
[P in N]: {
|
|
49
50
|
indexes: RelationIndexes<N, I, R>;
|
|
50
51
|
filters: FilterableRelationSchemas<S, R>;
|
|
@@ -53,7 +54,16 @@ type TableRelation<T extends Database.Table[], C extends Database.Table, S exten
|
|
|
53
54
|
selects: SelectRelationSchemas<S, I, R> & NestedSelectRelationSchemas<T, S, I, R>;
|
|
54
55
|
records: MergeObject<RecordsRelationSchemas<PropertyType<N, S>, S, I, R>, NestedRecordsRelationSchemas<T, S, I, R>>;
|
|
55
56
|
};
|
|
56
|
-
} : {} : {
|
|
57
|
+
} : {} : {
|
|
58
|
+
[P in N]: {
|
|
59
|
+
indexes: never;
|
|
60
|
+
filters: {};
|
|
61
|
+
updates: {};
|
|
62
|
+
inserts: {};
|
|
63
|
+
selects: {};
|
|
64
|
+
records: {};
|
|
65
|
+
};
|
|
66
|
+
} : {} : {};
|
|
57
67
|
/**
|
|
58
68
|
* Check whether the given column is a primary index.
|
|
59
69
|
*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ez4/database",
|
|
3
3
|
"description": "EZ4: Components to build database services",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.33.0",
|
|
5
5
|
"author": "Silas B.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"live:publish": "npm run build && npm publish --access public"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@ez4/common": "^0.
|
|
50
|
-
"@ez4/project": "^0.
|
|
51
|
-
"@ez4/reflection": "^0.
|
|
52
|
-
"@ez4/schema": "^0.
|
|
53
|
-
"@ez4/utils": "^0.
|
|
49
|
+
"@ez4/common": "^0.33.0",
|
|
50
|
+
"@ez4/project": "^0.33.0",
|
|
51
|
+
"@ez4/reflection": "^0.33.0",
|
|
52
|
+
"@ez4/schema": "^0.33.0",
|
|
53
|
+
"@ez4/utils": "^0.33.0"
|
|
54
54
|
}
|
|
55
55
|
}
|