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