@iamkirbki/database-handler-core 4.4.3 → 4.4.5
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/abstract/Controller.js +18 -39
- package/dist/abstract/Model.d.ts.map +1 -1
- package/dist/abstract/Model.js +100 -98
- package/dist/abstract/SchemaTableBuilder.js +4 -1
- package/dist/abstract/model/ModelRelation.d.ts +4 -4
- package/dist/abstract/model/ModelRelation.d.ts.map +1 -1
- package/dist/abstract/model/ModelRelation.js +47 -49
- package/dist/base/Query.js +56 -79
- package/dist/base/Record.js +75 -90
- package/dist/base/Table.d.ts.map +1 -1
- package/dist/base/Table.js +130 -153
- package/dist/helpers/QueryBuilders/BaseQueryBuilders/BaseSelectQueryBuilder.js +7 -18
- package/dist/helpers/QueryBuilders/ExpressionBuilders/JsonAggregateExpression.js +5 -1
- package/dist/helpers/QueryBuilders/QueryDecorators/ExpressionDecorator.js +7 -18
- package/dist/helpers/QueryBuilders/QueryDecorators/GroupByDecorator.js +8 -19
- package/dist/helpers/QueryBuilders/QueryDecorators/JoinDecorator.js +26 -39
- package/dist/helpers/QueryBuilders/QueryDecorators/LimitDecorator.js +9 -20
- package/dist/helpers/QueryBuilders/QueryDecorators/OrderByDecorator.js +8 -19
- package/dist/helpers/QueryBuilders/QueryDecorators/WhereDecorator.js +9 -20
- package/dist/helpers/QueryBuilders/QueryStatementBuilder.js +87 -101
- package/dist/runtime/Repository.d.ts +1 -1
- package/dist/runtime/Repository.d.ts.map +1 -1
- package/dist/runtime/Repository.js +98 -102
- package/dist/types/model.d.ts +3 -0
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/table.d.ts +1 -0
- package/dist/types/table.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import QueryDecorator from "./QueryDecorator.js";
|
|
11
2
|
import QueryStatementBuilder from "../QueryStatementBuilder.js";
|
|
12
3
|
export default class WhereDecorator extends QueryDecorator {
|
|
@@ -14,16 +5,14 @@ export default class WhereDecorator extends QueryDecorator {
|
|
|
14
5
|
super(component);
|
|
15
6
|
this.conditions = conditions;
|
|
16
7
|
}
|
|
17
|
-
build() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return context;
|
|
27
|
-
});
|
|
8
|
+
async build() {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
var _c;
|
|
11
|
+
const context = await this.component.build();
|
|
12
|
+
const combinedConditions = [...QueryStatementBuilder.normalizeQueryConditions(this.conditions)];
|
|
13
|
+
(_a = context.conditions) !== null && _a !== void 0 ? _a : (context.conditions = {});
|
|
14
|
+
(_b = (_c = context.conditions).where) !== null && _b !== void 0 ? _b : (_c.where = []);
|
|
15
|
+
context.conditions.where.push(...combinedConditions);
|
|
16
|
+
return context;
|
|
28
17
|
}
|
|
29
18
|
}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import BaseSelectQueryBuilder from "./BaseQueryBuilders/BaseSelectQueryBuilder.js";
|
|
11
2
|
import ExpressionDecorator from "./QueryDecorators/ExpressionDecorator.js";
|
|
12
3
|
import QueryExpressionBuilder from "./QueryExpressionBuilder.js";
|
|
@@ -26,112 +17,104 @@ export default class QueryStatementBuilder {
|
|
|
26
17
|
this._tableColumnsCache = tableColumnInformation;
|
|
27
18
|
}
|
|
28
19
|
}
|
|
29
|
-
build() {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return sql;
|
|
39
|
-
});
|
|
20
|
+
async build() {
|
|
21
|
+
let sql = await this.buildBaseLayer();
|
|
22
|
+
if (this._layers.pretty) {
|
|
23
|
+
sql = await this.buildPrettyLayer(sql);
|
|
24
|
+
}
|
|
25
|
+
if (this._layers.final) {
|
|
26
|
+
sql = await this.buildFinalLayer(sql);
|
|
27
|
+
}
|
|
28
|
+
return sql;
|
|
40
29
|
}
|
|
41
|
-
buildBaseLayer() {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
30
|
+
async buildBaseLayer() {
|
|
31
|
+
var _a, _b, _c;
|
|
32
|
+
var _d, _e;
|
|
33
|
+
if (!this._layers.base.from) {
|
|
34
|
+
throw new Error("Base layer must specify 'from' table name.");
|
|
35
|
+
}
|
|
36
|
+
let builder = new BaseSelectQueryBuilder(this._layers.base.from, this._layers.base.select || [], this._layers.base.joinsSelect || [], this._layers.base.expressionsSelect || []);
|
|
37
|
+
if (this._layers.base.joins && this._layers.base.joins.length > 0) {
|
|
38
|
+
builder = new JoinDecorator(builder, { base: this._layers.base, pretty: this._layers.pretty, final: this._layers.final }, this._tableColumnsCache);
|
|
39
|
+
}
|
|
40
|
+
if (this._layers.base.expressions && this._layers.base.expressions.length > 0) {
|
|
41
|
+
const expressions = QueryExpressionBuilder.buildExpressionsPart(this._layers.base.expressions || []);
|
|
42
|
+
builder = new ExpressionDecorator(builder, expressions || []);
|
|
43
|
+
if (builder instanceof ExpressionDecorator) {
|
|
44
|
+
this._valueClauseKeywords = new Set([...this._valueClauseKeywords, ...builder.valueClauseKeywords]);
|
|
45
|
+
(_a = (_d = this._layers).pretty) !== null && _a !== void 0 ? _a : (_d.pretty = {});
|
|
46
|
+
(_b = (_e = this._layers).final) !== null && _b !== void 0 ? _b : (_e.final = {});
|
|
47
|
+
this._layers.pretty.where = this.addUnique(this._layers.pretty.where, builder.whereClauses);
|
|
48
|
+
this._layers.pretty.groupBy = this.addUnique(this._layers.pretty.groupBy, builder.groupByClauses);
|
|
49
|
+
this._layers.pretty.having = this.addUnique(this._layers.pretty.having, builder.havingClauses);
|
|
50
|
+
this._layers.base.orderBy = this.addUnique((_c = this._layers.base.orderBy) === null || _c === void 0 ? void 0 : _c.map(ob => ({ column: `${ob.column}`, direction: ob.direction })), builder.orderByClauses);
|
|
47
51
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
builder = new JoinDecorator(builder, { base: this._layers.base, pretty: this._layers.pretty, final: this._layers.final }, this._tableColumnsCache);
|
|
52
|
+
if (this._layers.base.where) {
|
|
53
|
+
builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
}
|
|
56
|
+
else if (this._layers.base.where) {
|
|
57
|
+
builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
|
|
58
|
+
}
|
|
59
|
+
if (this._layers.base.where) {
|
|
60
|
+
builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
|
|
61
|
+
}
|
|
62
|
+
if (this._layers.base.orderBy) {
|
|
63
|
+
builder = new OrderByDecorator(builder, this._layers.base.orderBy);
|
|
64
|
+
}
|
|
65
|
+
this._contexts.base = await builder.build();
|
|
66
|
+
const renderer = new SqlRenderer(this._contexts.base);
|
|
67
|
+
return renderer.build();
|
|
68
|
+
}
|
|
69
|
+
async buildPrettyLayer(sql) {
|
|
70
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
71
|
+
var _h;
|
|
72
|
+
let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS BASE_QUERY`, [...((_a = this._contexts.base) === null || _a === void 0 ? void 0 : _a.select) || [], ...((_b = this._layers.pretty) === null || _b === void 0 ? void 0 : _b.select) || []], ((_d = (_c = this._contexts.base) === null || _c === void 0 ? void 0 : _c.joinsSelect) === null || _d === void 0 ? void 0 : _d.map(j => j.split("AS")[1].trim())) || []);
|
|
73
|
+
if (this._layers.pretty) {
|
|
74
|
+
const expressions = ((_e = this._layers.pretty.expressions) === null || _e === void 0 ? void 0 : _e.length)
|
|
75
|
+
? QueryExpressionBuilder.buildExpressionsPart(this._layers.pretty.expressions)
|
|
76
|
+
: [];
|
|
77
|
+
if (expressions.length > 0) {
|
|
78
|
+
builder = new ExpressionDecorator(builder, expressions);
|
|
55
79
|
if (builder instanceof ExpressionDecorator) {
|
|
56
|
-
this._valueClauseKeywords = new Set([...this._valueClauseKeywords, ...builder.valueClauseKeywords]);
|
|
57
|
-
(_a = (_d = this._layers).pretty) !== null && _a !== void 0 ? _a : (_d.pretty = {});
|
|
58
|
-
(_b = (_e = this._layers).final) !== null && _b !== void 0 ? _b : (_e.final = {});
|
|
59
80
|
this._layers.pretty.where = this.addUnique(this._layers.pretty.where, builder.whereClauses);
|
|
60
81
|
this._layers.pretty.groupBy = this.addUnique(this._layers.pretty.groupBy, builder.groupByClauses);
|
|
61
82
|
this._layers.pretty.having = this.addUnique(this._layers.pretty.having, builder.havingClauses);
|
|
62
|
-
|
|
83
|
+
(_f = (_h = this._layers).final) !== null && _f !== void 0 ? _f : (_h.final = {});
|
|
84
|
+
this._layers.final.orderBy = this.addUnique((_g = this._layers.final.orderBy) === null || _g === void 0 ? void 0 : _g.map(ob => ({ column: `BASE_QUERY.${ob.column}`, direction: ob.direction })), builder.orderByClauses);
|
|
63
85
|
}
|
|
64
|
-
if (this._layers.
|
|
65
|
-
builder = new WhereDecorator(builder,
|
|
86
|
+
if (this._layers.pretty.where) {
|
|
87
|
+
builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
|
|
66
88
|
}
|
|
67
89
|
}
|
|
68
|
-
else if (this._layers.
|
|
69
|
-
builder = new WhereDecorator(builder,
|
|
90
|
+
else if (this._layers.pretty.where) {
|
|
91
|
+
builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
|
|
70
92
|
}
|
|
71
|
-
if (this._layers.
|
|
72
|
-
builder = new
|
|
93
|
+
if (this._layers.pretty.groupBy) {
|
|
94
|
+
builder = new GroupByDecorator(builder, this._layers.pretty.groupBy);
|
|
73
95
|
}
|
|
74
|
-
if (this._layers.
|
|
75
|
-
builder = new
|
|
96
|
+
if (this._layers.pretty.having) {
|
|
97
|
+
builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.having, "BASE_QUERY"));
|
|
76
98
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
99
|
+
}
|
|
100
|
+
this._contexts.pretty = await builder.build();
|
|
101
|
+
const renderer = new SqlRenderer(this._contexts.pretty);
|
|
102
|
+
return renderer.build();
|
|
81
103
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const expressions = ((_e = this._layers.pretty.expressions) === null || _e === void 0 ? void 0 : _e.length)
|
|
89
|
-
? QueryExpressionBuilder.buildExpressionsPart(this._layers.pretty.expressions)
|
|
90
|
-
: [];
|
|
91
|
-
if (expressions.length > 0) {
|
|
92
|
-
builder = new ExpressionDecorator(builder, expressions);
|
|
93
|
-
if (builder instanceof ExpressionDecorator) {
|
|
94
|
-
this._layers.pretty.where = this.addUnique(this._layers.pretty.where, builder.whereClauses);
|
|
95
|
-
this._layers.pretty.groupBy = this.addUnique(this._layers.pretty.groupBy, builder.groupByClauses);
|
|
96
|
-
this._layers.pretty.having = this.addUnique(this._layers.pretty.having, builder.havingClauses);
|
|
97
|
-
(_f = (_h = this._layers).final) !== null && _f !== void 0 ? _f : (_h.final = {});
|
|
98
|
-
this._layers.final.orderBy = this.addUnique((_g = this._layers.final.orderBy) === null || _g === void 0 ? void 0 : _g.map(ob => ({ column: `BASE_QUERY.${ob.column}`, direction: ob.direction })), builder.orderByClauses);
|
|
99
|
-
}
|
|
100
|
-
if (this._layers.pretty.where) {
|
|
101
|
-
builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else if (this._layers.pretty.where) {
|
|
105
|
-
builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
|
|
106
|
-
}
|
|
107
|
-
if (this._layers.pretty.groupBy) {
|
|
108
|
-
builder = new GroupByDecorator(builder, this._layers.pretty.groupBy);
|
|
109
|
-
}
|
|
110
|
-
if (this._layers.pretty.having) {
|
|
111
|
-
builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.having, "BASE_QUERY"));
|
|
112
|
-
}
|
|
104
|
+
async buildFinalLayer(sql) {
|
|
105
|
+
var _a;
|
|
106
|
+
let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS PRETTY_QUERY`, ((_a = this._layers.final) === null || _a === void 0 ? void 0 : _a.select) || []);
|
|
107
|
+
if (this._layers.final) {
|
|
108
|
+
if (this._layers.final.orderBy) {
|
|
109
|
+
builder = new OrderByDecorator(builder, this._layers.final.orderBy);
|
|
113
110
|
}
|
|
114
|
-
this.
|
|
115
|
-
|
|
116
|
-
return renderer.build();
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
buildFinalLayer(sql) {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
var _a;
|
|
122
|
-
let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS PRETTY_QUERY`, ((_a = this._layers.final) === null || _a === void 0 ? void 0 : _a.select) || []);
|
|
123
|
-
if (this._layers.final) {
|
|
124
|
-
if (this._layers.final.orderBy) {
|
|
125
|
-
builder = new OrderByDecorator(builder, this._layers.final.orderBy);
|
|
126
|
-
}
|
|
127
|
-
if (this._layers.final.limit) {
|
|
128
|
-
builder = new LimitDecorator(builder, this._layers.final.limit, this._layers.final.offset);
|
|
129
|
-
}
|
|
111
|
+
if (this._layers.final.limit) {
|
|
112
|
+
builder = new LimitDecorator(builder, this._layers.final.limit, this._layers.final.offset);
|
|
130
113
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
114
|
+
}
|
|
115
|
+
this._contexts.final = await builder.build();
|
|
116
|
+
const renderer = new SqlRenderer(this._contexts.final);
|
|
117
|
+
return renderer.build();
|
|
135
118
|
}
|
|
136
119
|
static normalizeAndQualifyConditions(where, tableName, normalizeBlacklist = [], valueClauseKeywords = new Set()) {
|
|
137
120
|
const conditions = this.normalizeQueryConditions(where);
|
|
@@ -142,9 +125,12 @@ export default class QueryStatementBuilder {
|
|
|
142
125
|
if (isValueClauseKeyword) {
|
|
143
126
|
return;
|
|
144
127
|
}
|
|
145
|
-
return
|
|
128
|
+
return {
|
|
129
|
+
...condition,
|
|
130
|
+
column: shouldSkipQualification
|
|
146
131
|
? condition.column
|
|
147
|
-
: `${tableName}.${condition.column}
|
|
132
|
+
: `${tableName}.${condition.column}`,
|
|
133
|
+
};
|
|
148
134
|
}).filter(cond => cond !== undefined);
|
|
149
135
|
}
|
|
150
136
|
static normalizeQueryConditions(where) {
|
|
@@ -22,7 +22,7 @@ export default class Repository<Type extends columnType, ModelType extends Model
|
|
|
22
22
|
first(queryLayers: QueryLayers, Model: Model<Type>): Promise<Type | undefined>;
|
|
23
23
|
get(QueryLayers: QueryLayers, Model: Model<Type>): Promise<Type[]>;
|
|
24
24
|
all(Model: Model<Type>, QueryLayers: QueryLayers): Promise<Type[]>;
|
|
25
|
-
update(primaryKey: QueryIsEqualParameter, newAttributes: Partial<Type
|
|
25
|
+
update(primaryKey: QueryIsEqualParameter, newAttributes: Partial<Type>, table: string): Promise<Record<Type> | undefined>;
|
|
26
26
|
private join;
|
|
27
27
|
toSql(queryLayers: QueryLayers, Model: Model<Type>): Promise<string>;
|
|
28
28
|
private buildJoinObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAQ,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpK,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAe;gBAG/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,GAAE,YAA0D;WAS9D,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC5B,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;WAiB5B,cAAc,IAAI,IAAI;IAIpC,OAAO,CAAC,sBAAsB;IAajB,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAKH,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAMH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAaxE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAY9E,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IASlE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAIlE,MAAM,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAQ,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpK,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAe;gBAG/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,GAAE,YAA0D;WAS9D,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC5B,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;WAiB5B,cAAc,IAAI,IAAI;IAIpC,OAAO,CAAC,sBAAsB;IAajB,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAKH,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAMH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAaxE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAY9E,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IASlE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAIlE,MAAM,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAOxH,IAAI;IAaL,KAAK,CACd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GACnB,OAAO,CAAC,MAAM,CAAC;IAYlB,OAAO,CAAC,eAAe;IAmHhB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;IAKlH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;CAIxF"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import Table from "../base/Table.js";
|
|
11
2
|
class Repository {
|
|
12
3
|
constructor(tableName, ModelClass, customDatabaseAdapter, tableFactory = (name, adapter) => new Table(name, adapter)) {
|
|
@@ -40,38 +31,30 @@ class Repository {
|
|
|
40
31
|
[relation.pivotForeignKey]: isLocal ? modelOfOrigin.values[relation.foreignKey] : foreignKey
|
|
41
32
|
};
|
|
42
33
|
}
|
|
43
|
-
insertRecordIntoPivotTable(foreignKey, modelOfOrigin, relation) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
yield table.Insert(this.generatePivotTableKeys(foreignKey, modelOfOrigin, relation));
|
|
47
|
-
});
|
|
34
|
+
async insertRecordIntoPivotTable(foreignKey, modelOfOrigin, relation) {
|
|
35
|
+
const table = this.tableFactory(relation.pivotTable, this.customDatabaseAdapter);
|
|
36
|
+
await table.Insert(this.generatePivotTableKeys(foreignKey, modelOfOrigin, relation));
|
|
48
37
|
}
|
|
49
|
-
deleteRecordFromPivotTable(foreignKey, modelOfOrigin, relation) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
yield (record === null || record === void 0 ? void 0 : record.Delete());
|
|
54
|
-
});
|
|
38
|
+
async deleteRecordFromPivotTable(foreignKey, modelOfOrigin, relation) {
|
|
39
|
+
const table = this.tableFactory(relation.pivotTable, this.customDatabaseAdapter);
|
|
40
|
+
const record = await table.Record({ base: { where: this.generatePivotTableKeys(foreignKey, modelOfOrigin, relation) } });
|
|
41
|
+
await (record === null || record === void 0 ? void 0 : record.Delete());
|
|
55
42
|
}
|
|
56
|
-
getManyToManyRelation(relation) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
});
|
|
43
|
+
async getManyToManyRelation(relation) {
|
|
44
|
+
if (relation.pivotTable && this.manyToManyRelations.has(relation.pivotTable)) {
|
|
45
|
+
return this.manyToManyRelations.get(relation.pivotTable);
|
|
46
|
+
}
|
|
47
|
+
if (await this.doesTableExist(relation.pivotTable)) {
|
|
48
|
+
this.manyToManyRelations.set(relation.pivotTable, relation);
|
|
49
|
+
return relation;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new Error(`Pivot table ${relation.pivotTable} does not exist. Create it in alphabetical order before using many-to-many relationships.`);
|
|
53
|
+
}
|
|
69
54
|
}
|
|
70
|
-
doesTableExist(name) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return yield table.exists();
|
|
74
|
-
});
|
|
55
|
+
async doesTableExist(name) {
|
|
56
|
+
const table = this.tableFactory(name, this.customDatabaseAdapter);
|
|
57
|
+
return await table.exists();
|
|
75
58
|
}
|
|
76
59
|
syncModel(model) {
|
|
77
60
|
var _a;
|
|
@@ -81,76 +64,72 @@ class Repository {
|
|
|
81
64
|
getModel(name) {
|
|
82
65
|
return this.models.get(name);
|
|
83
66
|
}
|
|
84
|
-
save(attributes) {
|
|
85
|
-
|
|
86
|
-
yield this.Table.Insert(attributes);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
first(queryLayers, Model) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
let record;
|
|
92
|
-
if (Model.JoinedEntities.length > 0) {
|
|
93
|
-
const result = (yield this.join(Model, Object.assign(Object.assign({}, queryLayers), { final: Object.assign(Object.assign({}, queryLayers.final), { limit: 1 }) })))[0];
|
|
94
|
-
record = result ? { values: result } : undefined;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
record = yield this.Table.Record(queryLayers);
|
|
98
|
-
}
|
|
99
|
-
return record === null || record === void 0 ? void 0 : record.values;
|
|
100
|
-
});
|
|
67
|
+
async save(attributes) {
|
|
68
|
+
await this.Table.Insert(attributes);
|
|
101
69
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
70
|
+
async first(queryLayers, Model) {
|
|
71
|
+
let record;
|
|
72
|
+
if (Model.JoinedEntities.length > 0) {
|
|
73
|
+
const result = (await this.join(Model, { ...queryLayers, final: { ...queryLayers.final, limit: 1 } }))[0];
|
|
74
|
+
record = result ? { values: result } : undefined;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
record = await this.Table.Record(queryLayers);
|
|
78
|
+
}
|
|
79
|
+
return record === null || record === void 0 ? void 0 : record.values;
|
|
112
80
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return this.
|
|
116
|
-
}
|
|
81
|
+
async get(QueryLayers, Model) {
|
|
82
|
+
if (Model.JoinedEntities.length > 0) {
|
|
83
|
+
return await this.join(Model, QueryLayers);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const records = await this.Table.Records(QueryLayers);
|
|
87
|
+
return records.map(record => record.values);
|
|
88
|
+
}
|
|
117
89
|
}
|
|
118
|
-
|
|
119
|
-
return
|
|
120
|
-
const record = yield this.Table.Record({ base: { where: primaryKey } });
|
|
121
|
-
if (record) {
|
|
122
|
-
return yield record.Update(newAttributes, primaryKey);
|
|
123
|
-
}
|
|
124
|
-
});
|
|
90
|
+
async all(Model, QueryLayers) {
|
|
91
|
+
return this.get(QueryLayers, Model);
|
|
125
92
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return records.map(record => record.values);
|
|
132
|
-
});
|
|
93
|
+
async update(primaryKey, newAttributes, table) {
|
|
94
|
+
const record = await this.Table.Record({ base: { from: table, where: primaryKey } });
|
|
95
|
+
if (record) {
|
|
96
|
+
return await record.Update(newAttributes, primaryKey);
|
|
97
|
+
}
|
|
133
98
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
99
|
+
async join(Model, queryLayers) {
|
|
100
|
+
const { joins, queryLayers: nextLayers } = this.buildJoinObject(Model, queryLayers);
|
|
101
|
+
nextLayers.base.joins = joins;
|
|
102
|
+
const records = await this.Table.Join(nextLayers);
|
|
103
|
+
return records.map(record => record.values);
|
|
104
|
+
}
|
|
105
|
+
async toSql(queryLayers, Model) {
|
|
106
|
+
let nextLayers = queryLayers;
|
|
107
|
+
if (Model.JoinedEntities.length > 0) {
|
|
108
|
+
const result = this.buildJoinObject(Model, queryLayers);
|
|
109
|
+
nextLayers = result.queryLayers;
|
|
110
|
+
nextLayers.base.joins = result.joins;
|
|
111
|
+
}
|
|
112
|
+
return this.Table.toSql(nextLayers);
|
|
144
113
|
}
|
|
145
114
|
buildJoinObject(Model, inputLayers) {
|
|
146
|
-
const queryLayers =
|
|
147
|
-
|
|
115
|
+
const queryLayers = {
|
|
116
|
+
...inputLayers,
|
|
117
|
+
base: {
|
|
118
|
+
...inputLayers.base,
|
|
119
|
+
},
|
|
120
|
+
final: inputLayers.final
|
|
121
|
+
? { ...inputLayers.final }
|
|
122
|
+
: undefined
|
|
123
|
+
};
|
|
148
124
|
const joins = Model.JoinedEntities.flatMap(join => {
|
|
149
125
|
var _a, _b;
|
|
150
126
|
var _c;
|
|
151
|
-
|
|
127
|
+
let relation = Model.Relations.find(rel => rel.model.Configuration.table
|
|
152
128
|
.replace("_", "")
|
|
153
129
|
.toLowerCase() === join.relation.toLowerCase());
|
|
130
|
+
if (!relation) {
|
|
131
|
+
relation = Model.Relations.find(rel => rel.path.split(".")[1] === join.path.split('.')[1]); //Try a little harder
|
|
132
|
+
}
|
|
154
133
|
if (!relation) {
|
|
155
134
|
throw new Error(`Relation for joined entity ${join.relation} not found.`);
|
|
156
135
|
}
|
|
@@ -164,16 +143,31 @@ class Repository {
|
|
|
164
143
|
const joinType = relation.type === 'hasOne' || relation.type === 'belongsTo'
|
|
165
144
|
? 'INNER'
|
|
166
145
|
: 'LEFT';
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
146
|
+
let baseTable;
|
|
147
|
+
let targetTable;
|
|
148
|
+
let baseKey;
|
|
149
|
+
const [firstPathSegment, secondPathSegment] = relation.path.split('.');
|
|
150
|
+
if (firstPathSegment !== Model.Configuration.table) {
|
|
151
|
+
baseTable = firstPathSegment;
|
|
152
|
+
targetTable = secondPathSegment;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
baseTable = Model.Configuration.table;
|
|
156
|
+
if (relation.localKey.includes('.')) {
|
|
157
|
+
[baseTable, baseKey] = relation.localKey.split('.');
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
baseKey = relation.localKey;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
170
163
|
return [
|
|
171
164
|
{
|
|
172
|
-
fromTable: relation.model.Configuration.table,
|
|
173
|
-
baseTable,
|
|
165
|
+
fromTable: targetTable ? targetTable : relation.model.Configuration.table,
|
|
166
|
+
baseTable: baseTable ? baseTable : Model.Configuration.table,
|
|
174
167
|
joinType,
|
|
168
|
+
name: relation.name,
|
|
175
169
|
on: [
|
|
176
|
-
{ [relation.foreignKey]: baseKey }
|
|
170
|
+
{ [relation.foreignKey]: baseKey ? baseKey : relation.localKey }
|
|
177
171
|
]
|
|
178
172
|
}
|
|
179
173
|
];
|
|
@@ -190,6 +184,7 @@ class Repository {
|
|
|
190
184
|
fromTable: relation.pivotTable,
|
|
191
185
|
baseTable: Model.Configuration.table,
|
|
192
186
|
joinType: 'INNER',
|
|
187
|
+
name: relation.name,
|
|
193
188
|
on: [
|
|
194
189
|
{ [relation.pivotForeignKey]: relation.localKey }
|
|
195
190
|
]
|
|
@@ -198,6 +193,7 @@ class Repository {
|
|
|
198
193
|
fromTable: relation.model.Configuration.table,
|
|
199
194
|
baseTable: relation.pivotTable,
|
|
200
195
|
joinType: 'INNER',
|
|
196
|
+
name: relation.name,
|
|
201
197
|
on: [
|
|
202
198
|
{ [relation.foreignKey]: relation.pivotLocalKey }
|
|
203
199
|
]
|
package/dist/types/model.d.ts
CHANGED
|
@@ -58,6 +58,8 @@ export type ModelConfig = {
|
|
|
58
58
|
dateFormat?: string;
|
|
59
59
|
};
|
|
60
60
|
export type relation = {
|
|
61
|
+
name: string;
|
|
62
|
+
path: string;
|
|
61
63
|
type: 'hasOne' | 'hasMany' | 'belongsTo' | 'manyToMany';
|
|
62
64
|
model: unknown & Model<columnType>;
|
|
63
65
|
foreignKey: string;
|
|
@@ -76,6 +78,7 @@ export type ModelWithTimestamps = {
|
|
|
76
78
|
};
|
|
77
79
|
export type joinedEntity = {
|
|
78
80
|
relation: string;
|
|
81
|
+
path: string;
|
|
79
82
|
queryScopes?: QueryWhereCondition;
|
|
80
83
|
};
|
|
81
84
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/types/model.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,MAAM,cAAc,GACpB,WAAW,GACX,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,GACR,OAAO,GACP,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,eAAe,GACf,cAAc,CAAC;AAErB,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC3B,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IAEd,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE9B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjC,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IACxD,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACrC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAA"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/types/model.ts"],"names":[],"mappings":"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"}
|
package/dist/types/table.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/types/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9C,EAAE,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/types/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9C,EAAE,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAA"}
|