@ez4/database 0.36.0 → 0.38.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/errors/engine.d.ts +8 -1
- package/dist/errors/indexes.d.ts +2 -2
- package/dist/errors/relations.d.ts +2 -2
- package/dist/errors/scalability.d.ts +8 -1
- package/dist/errors/table.d.ts +8 -1
- package/dist/library.cjs +175 -150
- package/dist/library.d.ts +2 -6
- package/dist/library.mjs +170 -145
- package/dist/main.cjs +10 -7
- package/dist/main.d.ts +9 -7
- package/dist/main.mjs +7 -4
- package/dist/metadata/engine.d.ts +4 -3
- package/dist/metadata/handler.d.ts +3 -3
- package/dist/metadata/indexes.d.ts +4 -3
- package/dist/metadata/relations.d.ts +4 -3
- package/dist/metadata/scalability.d.ts +4 -3
- package/dist/metadata/schema.d.ts +3 -2
- package/dist/metadata/service.d.ts +4 -3
- package/dist/metadata/stream.d.ts +4 -3
- package/dist/metadata/table.d.ts +4 -3
- package/dist/metadata/types.d.ts +70 -0
- package/dist/services/contract.d.ts +4 -1
- package/dist/services/engine.d.ts +1 -6
- package/dist/services/handler.d.ts +8 -0
- package/dist/services/incoming.d.ts +7 -0
- package/dist/services/indexes.d.ts +1 -9
- package/dist/services/insensitive.d.ts +1 -7
- package/dist/services/listener.d.ts +8 -0
- package/dist/services/lock.d.ts +1 -7
- package/dist/services/order.d.ts +2 -14
- package/dist/services/pagination.d.ts +1 -7
- package/dist/services/parameters.d.ts +1 -7
- package/dist/services/request.d.ts +13 -0
- package/dist/services/scalability.d.ts +6 -0
- package/dist/services/streams.d.ts +11 -1
- package/dist/services/transaction.d.ts +1 -7
- package/dist/types/index.d.ts +9 -0
- package/dist/types/mode.d.ts +42 -0
- package/dist/types/order.d.ts +7 -0
- package/package.json +6 -6
- package/dist/metadata/utils.d.ts +0 -9
- package/dist/services/common.d.ts +0 -25
- package/dist/types/engine.d.ts +0 -15
- package/dist/types/handler.d.ts +0 -6
- package/dist/types/indexes.d.ts +0 -6
- package/dist/types/relations.d.ts +0 -9
- package/dist/types/scalability.d.ts +0 -4
- package/dist/types/schema.d.ts +0 -2
- package/dist/types/service.d.ts +0 -13
- package/dist/types/stream.d.ts +0 -11
- package/dist/types/table.d.ts +0 -11
package/dist/errors/engine.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { IncompleteTypeError } from '@ez4/common/library';
|
|
1
|
+
import { IncompleteTypeError, IncorrectTypeError, InvalidTypeError } from '@ez4/common/library';
|
|
2
2
|
export declare class IncompleteEngineError extends IncompleteTypeError {
|
|
3
3
|
constructor(properties: string[], fileName?: string);
|
|
4
4
|
}
|
|
5
|
+
export declare class InvalidEngineTypeError extends InvalidTypeError {
|
|
6
|
+
constructor(fileName?: string);
|
|
7
|
+
}
|
|
8
|
+
export declare class IncorrectEngineTypeError extends IncorrectTypeError {
|
|
9
|
+
engineType: string;
|
|
10
|
+
constructor(engineType: string, fileName?: string);
|
|
11
|
+
}
|
package/dist/errors/indexes.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export declare class InvalidIndexesTypeError extends InvalidTypeError {
|
|
|
3
3
|
constructor(fileName?: string);
|
|
4
4
|
}
|
|
5
5
|
export declare class IncorrectIndexesTypeError extends IncorrectTypeError {
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
6
|
+
indexType: string;
|
|
7
|
+
constructor(indexType: string, fileName?: string);
|
|
8
8
|
}
|
|
9
9
|
export declare class InvalidIndexTypeError extends TypeError {
|
|
10
10
|
indexName: string;
|
|
@@ -3,8 +3,8 @@ export declare class InvalidRelationsTypeError extends InvalidTypeError {
|
|
|
3
3
|
constructor(fileName?: string);
|
|
4
4
|
}
|
|
5
5
|
export declare class IncorrectRelationsTypeError extends IncorrectTypeError {
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
6
|
+
relationType: string;
|
|
7
|
+
constructor(relationType: string, fileName?: string);
|
|
8
8
|
}
|
|
9
9
|
export declare class InvalidRelationTargetError extends TypeError {
|
|
10
10
|
relationSource: string;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { IncompleteTypeError } from '@ez4/common/library';
|
|
1
|
+
import { IncompleteTypeError, IncorrectTypeError, InvalidTypeError } from '@ez4/common/library';
|
|
2
2
|
export declare class IncompleteScalabilityError extends IncompleteTypeError {
|
|
3
3
|
constructor(properties: string[], fileName?: string);
|
|
4
4
|
}
|
|
5
|
+
export declare class InvalidScalabilityTypeError extends InvalidTypeError {
|
|
6
|
+
constructor(fileName?: string);
|
|
7
|
+
}
|
|
8
|
+
export declare class IncorrectScalabilityTypeError extends IncorrectTypeError {
|
|
9
|
+
scalabilityType: string;
|
|
10
|
+
constructor(scalabilityType: string, fileName?: string);
|
|
11
|
+
}
|
package/dist/errors/table.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { IncompleteTypeError } from '@ez4/common/library';
|
|
1
|
+
import { IncompleteTypeError, IncorrectTypeError, InvalidTypeError } from '@ez4/common/library';
|
|
2
2
|
export declare class IncompleteTableError extends IncompleteTypeError {
|
|
3
3
|
constructor(properties: string[], fileName?: string);
|
|
4
4
|
}
|
|
5
|
+
export declare class InvalidTableTypeError extends InvalidTypeError {
|
|
6
|
+
constructor(fileName?: string);
|
|
7
|
+
}
|
|
8
|
+
export declare class IncorrectTableTypeError extends IncorrectTypeError {
|
|
9
|
+
tableType: string;
|
|
10
|
+
constructor(tableType: string, fileName?: string);
|
|
11
|
+
}
|
package/dist/library.cjs
CHANGED
|
@@ -1,154 +1,179 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
typeof
|
|
3
|
-
|
|
4
|
-
IncompleteServiceError:()=>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
super(
|
|
17
|
-
|
|
18
|
-
super(
|
|
19
|
-
"
|
|
20
|
-
`
|
|
21
|
-
|
|
22
|
-
Relation
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
e
|
|
34
|
-
if(
|
|
35
|
-
e,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
i
|
|
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
|
-
e
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
(
|
|
80
|
-
if(!(0,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
e,r)
|
|
103
|
-
|
|
104
|
-
e),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
o
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
i.
|
|
126
|
-
|
|
127
|
-
name=
|
|
128
|
-
|
|
129
|
-
c
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
push(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
(
|
|
145
|
-
|
|
146
|
-
"
|
|
1
|
+
"use strict";var ne=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var n=(e,r)=>ne(e,"name",{value:r,configurable:!0});var it=(e,r)=>{for(var t in r)ne(e,t,{get:r[t],enumerable:!0})},st=(e,r,t,a)=>{if(r&&
|
|
2
|
+
typeof r=="object"||typeof r=="function")for(let o of nt(r))!ot.call(e,o)&&o!==t&&
|
|
3
|
+
ne(e,o,{get:()=>r[o],enumerable:!(a=at(r,o))||a.enumerable});return e};var ct=e=>st(ne({},"__esModule",{value:!0}),e);var Et={};it(Et,{IncompleteEngineError:()=>U,IncompleteHandlerError:()=>ae,IncompleteScalabilityError:()=>$,
|
|
4
|
+
IncompleteServiceError:()=>A,IncompleteStreamError:()=>ee,IncompleteTableError:()=>B,
|
|
5
|
+
IncorrectEngineTypeError:()=>_,IncorrectIndexesTypeError:()=>Q,IncorrectRelationsTypeError:()=>z,
|
|
6
|
+
IncorrectScalabilityTypeError:()=>V,IncorrectSchemaTypeError:()=>L,IncorrectStreamTypeError:()=>re,
|
|
7
|
+
IncorrectTableTypeError:()=>J,InvalidEngineTypeError:()=>q,InvalidIndexReferenceError:()=>Y,
|
|
8
|
+
InvalidIndexTypeError:()=>X,InvalidIndexesTypeError:()=>K,InvalidRelationAliasError:()=>N,
|
|
9
|
+
InvalidRelationColumnError:()=>x,InvalidRelationTableError:()=>F,InvalidRelationTargetError:()=>H,
|
|
10
|
+
InvalidRelationsTypeError:()=>C,InvalidScalabilityTypeError:()=>W,InvalidSchemaTypeError:()=>Z,
|
|
11
|
+
InvalidStreamTypeError:()=>te,InvalidTableTypeError:()=>G,ServiceType:()=>be,createDatabaseService:()=>ue,
|
|
12
|
+
getDatabaseServicesMetadata:()=>Te,getDatabaseTableMetadata:()=>ye,getTableSchemaMetadata:()=>fe,
|
|
13
|
+
isDatabaseService:()=>lt,isDatabaseServiceDeclaration:()=>pe,isDatabaseTableDeclaration:()=>Ke,
|
|
14
|
+
isTableSchemaDeclaration:()=>Fe,registerTriggers:()=>Dt});module.exports=ct(Et);var Le=require("@ez4/common/library"),et=require("@ez4/schema/library"),tt=require("@ez4/project/library");var d=require("@ez4/common/library"),Xe=require("@ez4/reflection"),Ye=require("@ez4/utils");var Me=require("@ez4/project/library");var be="@ez4/database",lt=n(e=>e.type===be,"isDatabaseService"),ue=n(e=>({...(0,Me.createServiceMetadata)(
|
|
15
|
+
be,e),variables:{},services:{}}),"createDatabaseService");var xe=require("@ez4/common/library");var A=class extends xe.IncompleteTypeError{static{n(this,"IncompleteServiceError")}constructor(r,t){
|
|
16
|
+
super("Incomplete database service",r,t)}};var g=require("@ez4/common/library");var C=class extends g.InvalidTypeError{static{n(this,"InvalidRelationsTypeError")}constructor(r){
|
|
17
|
+
super("Invalid table relations type",void 0,"Database.Relations",r)}},z=class extends g.IncorrectTypeError{constructor(t,a){
|
|
18
|
+
super("Incorrect table relations type",t,"Database.Relations",a);this.relationType=
|
|
19
|
+
t}static{n(this,"IncorrectRelationsTypeError")}},H=class extends g.TypeError{constructor(t,a){
|
|
20
|
+
super(`Target ${t} must follow the pattern 'column@alias'.`,a);this.relationSource=
|
|
21
|
+
t}static{n(this,"InvalidRelationTargetError")}},F=class extends g.TypeError{constructor(t,a){
|
|
22
|
+
super(`Relation table ${t} don't exists.`,a);this.relationTable=t}static{n(this,
|
|
23
|
+
"InvalidRelationTableError")}},x=class extends g.TypeError{constructor(t,a){super(
|
|
24
|
+
`Relation column ${t} don't exists.`,a);this.relationColumn=t}static{n(this,"Inv\
|
|
25
|
+
alidRelationColumnError")}},N=class extends g.TypeError{constructor(t,a){super(`\
|
|
26
|
+
Relation alias ${t} can't override table columns.`,a);this.relationAlias=t}static{
|
|
27
|
+
n(this,"InvalidRelationAliasError")}};var u=require("@ez4/common/library"),S=require("@ez4/reflection"),oe=require("@ez4/utils");var h=require("@ez4/common/library");var $=class extends h.IncompleteTypeError{static{n(this,"IncompleteScalabilityEr\
|
|
28
|
+
ror")}constructor(r,t){super("Incomplete database scalability",r,t)}},W=class extends h.InvalidTypeError{static{
|
|
29
|
+
n(this,"InvalidScalabilityTypeError")}constructor(r){super("Invalid database sca\
|
|
30
|
+
lability type",void 0,"Database.Scalability",r)}},V=class extends h.IncorrectTypeError{constructor(t,a){
|
|
31
|
+
super("Incorrect database scalability type",t,"Database.Scalability",a);this.scalabilityType=
|
|
32
|
+
t}static{n(this,"IncorrectScalabilityTypeError")}};var pt=n(e=>(0,u.hasHeritageType)(e,"Database.Scalability"),"isDatabaseScalabili\
|
|
33
|
+
tyDeclaration"),ve=n((e,r,t,a)=>{if(!(0,S.isTypeReference)(e))return he(e,r,a);let o=(0,u.getReferenceType)(
|
|
34
|
+
e,t);if(o)return he(o,r,a)},"getDatabaseScalabilityMetadata"),mt=n(e=>(0,oe.isObjectWith)(
|
|
35
|
+
e,["minCapacity","maxCapacity"]),"isCompleteScalability"),he=n((e,r,t)=>{if((0,S.isTypeObject)(
|
|
36
|
+
e))return Se(e,r,(0,u.getObjectMembers)(e),t);if(!(0,u.isModelDeclaration)(e)){t.
|
|
37
|
+
push(new W(r.file));return}if(!pt(e)){t.push(new V(e.name,e.file));return}return Se(
|
|
38
|
+
e,r,(0,u.getModelMembers)(e),t)},"getTypeScalability"),Se=n((e,r,t,a)=>{let o={},
|
|
39
|
+
i=new Set(["minCapacity","maxCapacity"]);for(let s of t)if(!(!(0,S.isModelProperty)(
|
|
40
|
+
s)||s.inherited))switch(s.name){default:{a.push(new u.InvalidServicePropertyError(
|
|
41
|
+
r.name,s.name,e.file));break}case"minCapacity":case"maxCapacity":{let c=(0,u.getPropertyNumber)(
|
|
42
|
+
s);(0,oe.isAnyNumber)(c)&&(o[s.name]=c,i.delete(s.name));break}}if(!mt(o)){a.push(
|
|
43
|
+
new $([...i],e.file));return}return o},"getTypeFromMembers");var I=require("@ez4/reflection"),Ee=require("@ez4/utils"),m=require("@ez4/common/library");var v=require("@ez4/common/library");var U=class extends v.IncompleteTypeError{static{n(this,"IncompleteEngineError")}constructor(r,t){
|
|
44
|
+
super("Incomplete database engine",r,t)}},q=class extends v.InvalidTypeError{static{
|
|
45
|
+
n(this,"InvalidEngineTypeError")}constructor(r){super("Invalid database engine t\
|
|
46
|
+
ype",void 0,"Database.Engine",r)}},_=class extends v.IncorrectTypeError{constructor(t,a){
|
|
47
|
+
super("Incorrect database engine type",t,"Database.Engine",a);this.engineType=t}static{
|
|
48
|
+
n(this,"IncorrectEngineTypeError")}};var dt=n(e=>(0,m.hasHeritageType)(e,"Database.Engine"),"isDatabaseEngineDeclarat\
|
|
49
|
+
ion"),Re=n((e,r,t,a)=>{if(!(0,I.isTypeReference)(e))return Ie(e,r,a);let o=(0,m.getReferenceType)(
|
|
50
|
+
e,t);if(o)return Ie(o,r,a)},"getDatabaseEngineMetadata"),bt=n(e=>(0,Ee.isObjectWith)(
|
|
51
|
+
e,["name","parametersMode","transactionMode","insensitiveMode","paginationMode",
|
|
52
|
+
"orderMode"]),"isCompleteEngine"),Ie=n((e,r,t)=>{if((0,I.isTypeObject)(e))return De(
|
|
53
|
+
e,r,(0,m.getObjectMembers)(e),t);if(!(0,m.isModelDeclaration)(e)){t.push(new q(r.
|
|
54
|
+
file));return}if(!dt(e)){t.push(new _(e.name,e.file));return}return De(e,r,(0,m.getModelMembers)(
|
|
55
|
+
e),t)},"getTypeEngine"),De=n((e,r,t,a)=>{let o={},i=new Set(["name","parametersM\
|
|
56
|
+
ode","transactionMode","insensitiveMode","paginationMode","orderMode"]);for(let s of t)
|
|
57
|
+
if(!(!(0,I.isModelProperty)(s)||s.inherited))switch(s.name){default:{a.push(new m.InvalidServicePropertyError(
|
|
58
|
+
r.name,s.name,e.file));break}case"name":{(o.name=(0,m.getPropertyString)(s))&&i.
|
|
59
|
+
delete(s.name);break}case"parametersMode":{(o.parametersMode=(0,m.getPropertyStringIn)(
|
|
60
|
+
s,["index","both"]))&&i.delete(s.name);break}case"transactionMode":{(o.transactionMode=
|
|
61
|
+
(0,m.getPropertyStringIn)(s,["static","interactive"]))&&i.delete(s.name);break}case"\
|
|
62
|
+
insensitiveMode":{(o.insensitiveMode=(0,m.getPropertyStringIn)(s,["unsupported",
|
|
63
|
+
"enabled"]))&&i.delete(s.name);break}case"paginationMode":{(o.paginationMode=(0,m.getPropertyStringIn)(
|
|
64
|
+
s,["cursor","offset"]))&&i.delete(s.name);break}case"orderMode":{(o.orderMode=(0,m.getPropertyStringIn)(
|
|
65
|
+
s,["any","index"]))&&i.delete(s.name);break}case"lockMode":{(o.lockMode=(0,m.getPropertyStringIn)(
|
|
66
|
+
s,["unsupported","supported"]))&&i.delete(s.name);break}}if(!bt(o)){a.push(new U(
|
|
67
|
+
[...i],e.file));return}return o},"getTypeFromMembers");var f=require("@ez4/common/library"),j=require("@ez4/reflection"),Je=require("@ez4/utils");var D=require("@ez4/common/library");var B=class extends D.IncompleteTypeError{static{n(this,"IncompleteTableError")}constructor(r,t){
|
|
68
|
+
super("Incomplete database table",r,t)}},G=class extends D.InvalidTypeError{static{
|
|
69
|
+
n(this,"InvalidTableTypeError")}constructor(r){super("Invalid database table typ\
|
|
70
|
+
e",void 0,"Database.Table",r)}},J=class extends D.IncorrectTypeError{constructor(t,a){
|
|
71
|
+
super("Incorrect database table type",t,"Database.Table",a);this.tableType=t}static{
|
|
72
|
+
n(this,"IncorrectTableTypeError")}};var M=require("@ez4/common/library");var K=class extends M.InvalidTypeError{static{n(this,"InvalidIndexesTypeError")}constructor(r){
|
|
73
|
+
super("Invalid table indexes type",void 0,"Database.Indexes",r)}},Q=class extends M.IncorrectTypeError{constructor(t,a){
|
|
74
|
+
super("Incorrect table indexes type",t,"Database.Indexes",a);this.indexType=t}static{
|
|
75
|
+
n(this,"IncorrectIndexesTypeError")}},X=class extends M.TypeError{constructor(t,a){
|
|
76
|
+
super(`Invalid index type, ${t} must follow one of the Index options.`,a);this.indexName=
|
|
77
|
+
t}static{n(this,"InvalidIndexTypeError")}},Y=class extends M.TypeError{constructor(t,a){
|
|
78
|
+
super(`Invalid index reference, ${t} must be valid column.`,a);this.indexName=t}static{
|
|
79
|
+
n(this,"InvalidIndexReferenceError")}};var y=require("@ez4/common/library"),E=require("@ez4/reflection");var ut=n(e=>(0,y.hasHeritageType)(e,"Database.Relations"),"isTableRelationsDecla\
|
|
80
|
+
ration"),we=n((e,r,t,a)=>{if(!(0,E.isTypeReference)(e))return Oe(e,r,a);let o=(0,y.getReferenceType)(
|
|
81
|
+
e,t);if(o)return Oe(o,r,a)},"getTableRelationsMetadata"),Oe=n((e,r,t)=>{if((0,E.isTypeObject)(
|
|
82
|
+
e))return ke(e,(0,y.getObjectMembers)(e),t);if(!(0,y.isModelDeclaration)(e)){t.push(
|
|
83
|
+
new C(r.file));return}if(!ut(e)){t.push(new z(e.name,e.file));return}return ke(e,
|
|
84
|
+
(0,y.getModelMembers)(e),t)},"getTypeRelations"),ke=n((e,r,t)=>{let a=[];for(let o of r){
|
|
85
|
+
if(!(0,E.isModelProperty)(o)||o.inherited)continue;let i=(0,y.getPropertyString)(
|
|
86
|
+
o),s=o.name;if(!i){t.push(new H(s,e.file));return}let[c,l]=s.split("@",2),[b,P]=i.
|
|
87
|
+
split(":",2);a.push({sourceTable:b,sourceColumn:P,targetColumn:c,targetAlias:l})}
|
|
88
|
+
return a},"getTypeFromMembers");var T=require("@ez4/common/library"),R=require("@ez4/reflection");var ft=n(e=>(0,T.hasHeritageType)(e,"Database.Indexes"),"isTableIndexesDeclarati\
|
|
89
|
+
on"),Ae=n((e,r,t,a)=>{if(!(0,R.isTypeReference)(e))return je(e,r,a);let o=(0,T.getReferenceType)(
|
|
90
|
+
e,t);if(o)return je(o,r,a)},"getTableIndexesMetadata"),je=n((e,r,t)=>{if((0,R.isTypeObject)(
|
|
91
|
+
e))return Pe(e,(0,T.getObjectMembers)(e),t);if(!(0,T.isModelDeclaration)(e)){t.push(
|
|
92
|
+
new K(r.file));return}if(!ft(e)){t.push(new Q(e.name,e.file));return}return Pe(e,
|
|
93
|
+
(0,T.getModelMembers)(e),t)},"getTypeIndexes"),Pe=n((e,r,t)=>{let a=[];for(let o of r){
|
|
94
|
+
if(!(0,R.isModelProperty)(o)||o.inherited)continue;let i=o.name,s=(0,T.getPropertyString)(
|
|
95
|
+
o);switch(s){case"primary":case"secondary":case"unique":case"ttl":{a.push({name:i,
|
|
96
|
+
columns:i.split(":"),type:s});break}default:{t.push(new X(i,e.file));return}}}return a},
|
|
97
|
+
"getTypeFromMembers");var se=require("@ez4/reflection"),O=require("@ez4/common/library"),ce=require("@ez4/schema"),
|
|
98
|
+
He=require("@ez4/schema/library");var ie=require("@ez4/common/library");var Z=class extends ie.InvalidTypeError{static{n(this,"InvalidSchemaTypeError")}constructor(r){
|
|
99
|
+
super("Invalid table schema type",void 0,"Database.Schema",r)}},L=class extends ie.IncorrectTypeError{constructor(t,a){
|
|
100
|
+
super("Incorrect table schema type",t,"Database.Schema",a);this.schemaType=t}static{
|
|
101
|
+
n(this,"IncorrectSchemaTypeError")}};var Fe=n(e=>(0,O.hasHeritageType)(e,"Database.Schema"),"isTableSchemaDeclaration"),
|
|
102
|
+
fe=n((e,r,t,a)=>{if(!(0,se.isTypeReference)(e))return Ce(e,r,t,a);let o=(0,O.getReferenceType)(
|
|
103
|
+
e,t);if(o)return Ce(o,r,t,a)},"getTableSchemaMetadata"),Ce=n((e,r,t,a)=>{if((0,se.isTypeObject)(
|
|
104
|
+
e))return ze(e,t);if(!(0,O.isModelDeclaration)(e)){a.push(new Z(r.file));return}
|
|
105
|
+
if(!Fe(e)){a.push(new L(e.name,e.file));return}return ze(e,t)},"getTypeSchema"),
|
|
106
|
+
ze=n((e,r)=>{let t=(0,He.getObjectSchema)(e,r,(0,ce.createSchemaContext)({nullish:!0}));
|
|
107
|
+
if(t&&(0,ce.isObjectSchema)(t))return t},"getSchema");var p=require("@ez4/common/library"),w=require("@ez4/reflection"),qe=require("@ez4/utils");var k=require("@ez4/common/library");var ee=class extends k.IncompleteTypeError{static{n(this,"IncompleteStreamError")}constructor(r,t){
|
|
108
|
+
super("Incomplete table stream",r,t)}},te=class extends k.InvalidTypeError{static{
|
|
109
|
+
n(this,"InvalidStreamTypeError")}constructor(r){super("Invalid table stream type",
|
|
110
|
+
void 0,"Database.Stream",r)}},re=class extends k.IncorrectTypeError{constructor(t,a){
|
|
111
|
+
super("Incorrect table stream type",t,"Database.Stream",a);this.streamType=t}static{
|
|
112
|
+
n(this,"IncorrectStreamTypeError")}};var le=require("@ez4/reflection"),$e=require("@ez4/common/library");var Ne=require("@ez4/common/library");var ae=class extends Ne.IncompleteTypeError{static{n(this,"IncompleteHandlerErro\
|
|
113
|
+
r")}constructor(r,t){super("Incomplete stream handler",r,t)}};var yt=n(e=>(0,le.isTypeCallback)(e)||(0,le.isTypeFunction)(e),"isStreamHandlerD\
|
|
114
|
+
eclaration"),We=n((e,r,t)=>{if(!yt(e))return;let a=(0,$e.getFunctionSignature)(e),
|
|
115
|
+
o=new Set(["change"]);if(e.parameters&&o.delete("change"),!a||o.size){t.push(new ae(
|
|
116
|
+
[...o],e.file));return}return a},"getStreamHandlerMetadata");var Tt=n(e=>(0,p.hasHeritageType)(e,"Database.Stream"),"isTableStreamDeclaration"),
|
|
117
|
+
_e=n((e,r,t,a)=>{if(!(0,w.isTypeReference)(e))return Ve(e,r,t,a);let o=(0,p.getReferenceType)(
|
|
118
|
+
e,t);if(o)return Ve(o,r,t,a)},"getTableStreamMetadata"),gt=n(e=>(0,qe.isObjectWith)(
|
|
119
|
+
e,["handler"]),"isCompleteStream"),Ve=n((e,r,t,a)=>{if((0,w.isTypeObject)(e))return Ue(
|
|
120
|
+
e,r,(0,p.getObjectMembers)(e),t,a);if(!(0,p.isModelDeclaration)(e)){a.push(new te(
|
|
121
|
+
r.file));return}if(!Tt(e)){a.push(new re(e.name,e.file));return}return Ue(e,r,(0,p.getModelMembers)(
|
|
122
|
+
e),t,a)},"getTypeStream"),Ue=n((e,r,t,a,o)=>{let i={},s=new Set(["handler"]);for(let c of t)
|
|
123
|
+
if(!(!(0,w.isModelProperty)(c)||c.inherited))switch(c.name){default:{o.push(new p.InvalidServicePropertyError(
|
|
124
|
+
r.name,c.name,e.file));break}case"handler":{i.handler=We(c.value,a,o);break}case"\
|
|
125
|
+
listener":{i.listener=(0,p.getServiceListener)(c.value,o);break}case"memory":case"\
|
|
126
|
+
logRetention":case"timeout":{i[c.name]=(0,p.getPropertyNumber)(c);break}case"arc\
|
|
127
|
+
hitecture":{i[c.name]=(0,p.getServiceArchitecture)(c);break}case"runtime":{i[c.name]=
|
|
128
|
+
(0,p.getServiceRuntime)(c);break}case"variables":{i.variables=(0,p.getLinkedVariableList)(
|
|
129
|
+
c,o);break}}if(!gt(i)){o.push(new ee([...s],e.file));return}return i},"getTypeFr\
|
|
130
|
+
omMembers");var Ke=n(e=>(0,f.hasHeritageType)(e,"Database.Table"),"isDatabaseTableDeclaratio\
|
|
131
|
+
n"),ye=n((e,r,t,a)=>{if(!(0,j.isTypeReference)(e))return Be(e,r,t,a);let o=(0,f.getReferenceType)(
|
|
132
|
+
e,t);if(o)return Be(o,r,t,a)},"getDatabaseTableMetadata"),Mt=n(e=>(0,Je.isObjectWith)(
|
|
133
|
+
e,["name","schema","indexes"]),"isCompleteTable"),Be=n((e,r,t,a)=>{if((0,j.isTypeObject)(
|
|
134
|
+
e))return Ge(e,r,(0,f.getObjectMembers)(e),t,a);if(!(0,f.isModelDeclaration)(e)){
|
|
135
|
+
a.push(new G(r.file));return}if(!Ke(e)){a.push(new J(e.name,e.file));return}return Ge(
|
|
136
|
+
e,r,(0,f.getModelMembers)(e),t,a)},"getTypeTable"),Ge=n((e,r,t,a,o)=>{let i={},s=new Set(
|
|
137
|
+
["name","schema","indexes"]);for(let l of t)if(!(!(0,j.isModelProperty)(l)||l.inherited))
|
|
138
|
+
switch(l.name){default:{o.push(new f.InvalidServicePropertyError(r.name,l.name,e.
|
|
139
|
+
file));break}case"name":{(i.name=(0,f.getPropertyString)(l))&&s.delete(l.name);break}case"\
|
|
140
|
+
schema":{(i.schema=fe(l.value,e,a,o))&&s.delete(l.name);break}case"indexes":{(i.
|
|
141
|
+
indexes=Ae(l.value,e,a,o))&&s.delete(l.name);break}case"relations":{i.relations=
|
|
142
|
+
we(l.value,e,a,o);break}case"stream":{i.stream=_e(l.value,r,a,o);break}}if(!Mt(i)){
|
|
143
|
+
o.push(new B([...s],e.file));return}let c=xt(e,i.indexes,i.schema);if(c.length){
|
|
144
|
+
o.push(...c);return}return i},"getTypeFromMembers"),xt=n((e,r,t)=>{let a=t.properties,
|
|
145
|
+
o=[];for(let{name:i,columns:s}of r)s.some(l=>!a[l])&&o.push(new Y(i,e.file));return o},
|
|
146
|
+
"validateIndexes");var pe=n(e=>(0,d.isClassDeclaration)(e)&&(0,d.hasHeritageType)(e,"Database.Servi\
|
|
147
|
+
ce"),"isDatabaseServiceDeclaration"),Te=n(e=>{let r={},t=[];for(let a in e){let o=e[a];
|
|
148
|
+
if(!pe(o)||(0,d.isExternalDeclaration)(o))continue;let i=ue(o.name),s=new Set(["\
|
|
149
|
+
engine","tables"]),c=o.file;for(let b of(0,d.getModelMembers)(o))if(!(!(0,Xe.isModelProperty)(
|
|
150
|
+
b)||b.inherited))switch(b.name){default:{t.push(new d.InvalidServicePropertyError(
|
|
151
|
+
i.name,b.name,c));break}case"client":break;case"scalability":{i.scalability=ve(b.
|
|
152
|
+
value,o,e,t);break}case"engine":{(i.engine=Re(b.value,o,e,t))&&s.delete(b.name);
|
|
153
|
+
break}case"tables":{(i.tables=St(b,o,e,t))&&s.delete(b.name);break}case"variable\
|
|
154
|
+
s":{i.variables=(0,d.getLinkedVariableList)(b,t);break}case"services":{i.services=
|
|
155
|
+
(0,d.getLinkedServiceList)(b,e,t);break}}if(!ht(i)){t.push(new A([...s],c));continue}
|
|
156
|
+
let l=vt(o,i.tables);if(l.length){t.push(...l);continue}if(r[o.name]){t.push(new d.DuplicateServiceError(
|
|
157
|
+
o.name,c));continue}r[o.name]=i}return{services:r,errors:t}},"getDatabaseService\
|
|
158
|
+
sMetadata"),ht=n(e=>(0,Ye.isObjectWith)(e,["engine","tables","variables","servic\
|
|
159
|
+
es"]),"isCompleteService"),St=n((e,r,t,a)=>{let o=(0,d.getPropertyTuple)(e)??[],
|
|
160
|
+
i=[];for(let s of o){let c=ye(s,r,t,a);c&&i.push(c)}return i},"getAllTables"),vt=n(
|
|
161
|
+
(e,r)=>{let t=It(r),a=[];for(let{relations:o,schema:i,indexes:s}of r){if(!o)continue;
|
|
162
|
+
let c=i.properties;for(let l of o){let{sourceTable:b,sourceColumn:P,targetColumn:me,
|
|
163
|
+
targetAlias:ge}=l;c[me]||a.push(new x(me,e.file)),c[ge]&&a.push(new N(ge,e.file));
|
|
164
|
+
let de=t[b]?.schema.properties;de||a.push(new F(b,e.file)),de&&!de[P]&&a.push(new x(
|
|
165
|
+
P,e.file));let rt=t[b]?.indexes??[];l.sourceIndex=Qe(rt,P),l.targetIndex=Qe(s,me)}}
|
|
166
|
+
return a},"validateRelations"),Qe=n((e,r)=>e.find(({name:t})=>t===r)?.type,"getI\
|
|
167
|
+
ndexType"),It=n(e=>e.reduce((r,t)=>({...r,[t.name]:t}),{}),"getTableMap");var Ze=n(e=>pe(e)?e.name:null,"getLinkedService");var Dt=n(()=>{(0,Le.registerTriggers)(),(0,et.registerTriggers)(),(0,tt.tryCreateTrigger)(
|
|
168
|
+
"@ez4/database",{"metadata:getServices":Te,"metadata:getLinkedService":Ze})},"re\
|
|
147
169
|
gisterTriggers");0&&(module.exports={IncompleteEngineError,IncompleteHandlerError,IncompleteScalabilityError,
|
|
148
|
-
IncompleteServiceError,IncompleteStreamError,IncompleteTableError,
|
|
149
|
-
IncorrectRelationsTypeError,
|
|
170
|
+
IncompleteServiceError,IncompleteStreamError,IncompleteTableError,IncorrectEngineTypeError,
|
|
171
|
+
IncorrectIndexesTypeError,IncorrectRelationsTypeError,IncorrectScalabilityTypeError,
|
|
172
|
+
IncorrectSchemaTypeError,IncorrectStreamTypeError,IncorrectTableTypeError,InvalidEngineTypeError,
|
|
150
173
|
InvalidIndexReferenceError,InvalidIndexTypeError,InvalidIndexesTypeError,InvalidRelationAliasError,
|
|
151
174
|
InvalidRelationColumnError,InvalidRelationTableError,InvalidRelationTargetError,
|
|
152
|
-
InvalidRelationsTypeError,InvalidSchemaTypeError,InvalidStreamTypeError,
|
|
153
|
-
|
|
175
|
+
InvalidRelationsTypeError,InvalidScalabilityTypeError,InvalidSchemaTypeError,InvalidStreamTypeError,
|
|
176
|
+
InvalidTableTypeError,ServiceType,createDatabaseService,getDatabaseServicesMetadata,
|
|
177
|
+
getDatabaseTableMetadata,getTableSchemaMetadata,isDatabaseService,isDatabaseServiceDeclaration,
|
|
178
|
+
isDatabaseTableDeclaration,isTableSchemaDeclaration,registerTriggers});
|
|
154
179
|
//# sourceMappingURL=library.cjs.map
|
package/dist/library.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './triggers/register';
|
|
2
2
|
export * from './metadata/service';
|
|
3
|
-
export * from './metadata/table';
|
|
4
3
|
export * from './metadata/schema';
|
|
4
|
+
export * from './metadata/table';
|
|
5
|
+
export * from './metadata/types';
|
|
5
6
|
export * from './errors/service';
|
|
6
7
|
export * from './errors/scalability';
|
|
7
8
|
export * from './errors/engine';
|
|
@@ -13,8 +14,3 @@ export * from './errors/stream';
|
|
|
13
14
|
export * from './errors/handler';
|
|
14
15
|
export * from './services/relations';
|
|
15
16
|
export * from './services/indexes';
|
|
16
|
-
export * from './types/service';
|
|
17
|
-
export * from './types/relations';
|
|
18
|
-
export * from './types/indexes';
|
|
19
|
-
export * from './types/schema';
|
|
20
|
-
export * from './types/table';
|