@entity-access/entity-access 1.0.9 → 1.0.11

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.
Files changed (32) hide show
  1. package/README.md +13 -8
  2. package/dist/compiler/postgres/PostgreSqlMethodTransformer.d.ts.map +1 -1
  3. package/dist/compiler/postgres/PostgreSqlMethodTransformer.js +54 -2
  4. package/dist/compiler/postgres/PostgreSqlMethodTransformer.js.map +1 -1
  5. package/dist/compiler/sql-server/SqlServerSqlMethodTransformer.d.ts.map +1 -1
  6. package/dist/compiler/sql-server/SqlServerSqlMethodTransformer.js +54 -2
  7. package/dist/compiler/sql-server/SqlServerSqlMethodTransformer.js.map +1 -1
  8. package/dist/decorators/IColumn.d.ts +4 -0
  9. package/dist/decorators/IColumn.d.ts.map +1 -1
  10. package/dist/decorators/Relate.d.ts +8 -0
  11. package/dist/decorators/Relate.d.ts.map +1 -0
  12. package/dist/decorators/Relate.js +18 -0
  13. package/dist/decorators/Relate.js.map +1 -0
  14. package/dist/di/di.js +1 -1
  15. package/dist/di/di.js.map +1 -1
  16. package/dist/sql/ISql.d.ts +29 -0
  17. package/dist/sql/ISql.d.ts.map +1 -1
  18. package/dist/tests/model/ShoppingContext.d.ts.map +1 -1
  19. package/dist/tests/model/ShoppingContext.js +25 -33
  20. package/dist/tests/model/ShoppingContext.js.map +1 -1
  21. package/dist/tests/security/tests/place-order.js +5 -5
  22. package/dist/tests/security/tests/place-order.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +1 -1
  25. package/src/compiler/postgres/PostgreSqlMethodTransformer.ts +56 -2
  26. package/src/compiler/sql-server/SqlServerSqlMethodTransformer.ts +59 -3
  27. package/src/decorators/IColumn.ts +5 -0
  28. package/src/decorators/Relate.ts +37 -0
  29. package/src/di/di.ts +1 -1
  30. package/src/sql/ISql.ts +31 -0
  31. package/src/tests/model/ShoppingContext.ts +25 -33
  32. package/src/tests/security/tests/place-order.ts +5 -5
package/README.md CHANGED
@@ -4,8 +4,9 @@ Inspired from Entity Framework Core, Entity Access is ORM for JavaScript runtime
4
4
 
5
5
 
6
6
  # Project Status
7
- 1. Beta - Postgres Driver
8
- 2. Beta - Sql Server Driver
7
+ 1. Released - Postgres Driver
8
+ 2. Released - Sql Server Driver
9
+ 3. Released - Include Feature
9
10
 
10
11
  ## Features
11
12
  1. Unit of Work and Repository Pattern
@@ -18,8 +19,8 @@ Inspired from Entity Framework Core, Entity Access is ORM for JavaScript runtime
18
19
  8. Context Filters - This is a new concept where you can setup filters that will be used against saving/retrieving data.
19
20
 
20
21
  ## Upcoming Features
21
- 1. Include
22
- 2. Projection - Split query mode only, single level only.
22
+ 1. Projection - Split query mode only, single level only.
23
+ 2.
23
24
  3. GroupBy
24
25
 
25
26
  ### Unit of Work
@@ -149,10 +150,9 @@ class OrderItem {
149
150
  * Following configuration declares everything
150
151
  * that will give compilation error if configured wrong.
151
152
  */
152
- @ForeignKey({
153
- key: (orderItem) => orderItem.productID,
154
- related: Product,
155
- relatedProperty:(product) => product.orderItems
153
+ @Relate(Product, {
154
+ foreignKey: (orderItem) => orderItem.productID,
155
+ inverseProperty:(product) => product.orderItems
156
156
  })
157
157
  product: Product;
158
158
 
@@ -244,6 +244,11 @@ Just as text functions you can also use date functions as shown below.
244
244
  ```typescript
245
245
  q.orderBy({}, (p) => (x) => x.orderDate)
246
246
  .thenBy({}, (p) => (x) => x.customer.firstName)
247
+
248
+ // custom...
249
+ q.orderBy({}, (p) => (x) => x.orderDate)
250
+ .thenBy({}, (p) => (x) => Sql.text.collate(x.customer.firstName, "case_insensitive"))
251
+
247
252
  ```
248
253
 
249
254
  ### Limit/Offset
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSqlMethodTransformer.d.ts","sourceRoot":"","sources":["../../../src/compiler/postgres/PostgreSqlMethodTransformer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAEhE,eAAO,MAAM,gBAAgB,EAAE,WA2F9B,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAMvF"}
1
+ {"version":3,"file":"PostgreSqlMethodTransformer.d.ts","sourceRoot":"","sources":["../../../src/compiler/postgres/PostgreSqlMethodTransformer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAIhE,eAAO,MAAM,gBAAgB,EAAE,WA8I9B,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAMvF"}
@@ -1,5 +1,7 @@
1
1
  import { prepareAny } from "../../query/ast/IStringTransformer.js";
2
+ import { NotSupportedError } from "../../query/parser/NotSupportedError.js";
2
3
  import { flattenHelpers } from "../ISqlHelpers.js";
4
+ const onlyAlphaNumeric = (x) => x.replace(/\W/g, "");
3
5
  export const PostgreSqlHelper = {
4
6
  in(a, array) {
5
7
  return prepareAny `${a} IN ${array}`;
@@ -66,8 +68,37 @@ export const PostgreSqlHelper = {
66
68
  },
67
69
  },
68
70
  text: {
71
+ collate(text, collation) {
72
+ return prepareAny `${text} COLLATE "${onlyAlphaNumeric(collation)}")`;
73
+ },
69
74
  concat(...p) {
70
- return prepareAny `CONCAT(${p.join(",")})`;
75
+ const text = ["CONCAT("];
76
+ let first = true;
77
+ for (const iterator of p) {
78
+ if (!first) {
79
+ text.push(",");
80
+ }
81
+ first = false;
82
+ text.push(iterator);
83
+ }
84
+ text.push(")");
85
+ return text;
86
+ },
87
+ concatWS(...fragments) {
88
+ const text = ["CONCAT_WS("];
89
+ let first = true;
90
+ for (const iterator of fragments) {
91
+ if (!first) {
92
+ text.push(",");
93
+ }
94
+ first = false;
95
+ text.push(iterator);
96
+ }
97
+ text.push(")");
98
+ return text;
99
+ },
100
+ difference(left, right) {
101
+ throw new NotSupportedError("DIFFERENCE");
71
102
  },
72
103
  endsWith(text, test) {
73
104
  return prepareAny `strpos(${text}, ${test}) = length(${text}) - length(${test})`;
@@ -76,7 +107,7 @@ export const PostgreSqlHelper = {
76
107
  return prepareAny `(${text} iLike ${test})`;
77
108
  },
78
109
  indexOf(text, test) {
79
- return prepareAny `strpos(${text}, ${test})`;
110
+ return prepareAny `(strpos(${text}, ${test}) - 1)`;
80
111
  },
81
112
  left(text, length) {
82
113
  return prepareAny `left(${text}, ${length})`;
@@ -84,12 +115,33 @@ export const PostgreSqlHelper = {
84
115
  like(text, test) {
85
116
  return prepareAny `(${text} LIKE ${test})`;
86
117
  },
118
+ lower(text) {
119
+ return prepareAny `LOWER(${text})`;
120
+ },
87
121
  right(text, length) {
88
122
  return prepareAny `right(${text}, ${length})`;
89
123
  },
124
+ reverse(text) {
125
+ return prepareAny `reverse(${text})`;
126
+ },
90
127
  startsWith(text, test) {
91
128
  return prepareAny `starts_with(${text}, ${test})`;
92
129
  },
130
+ substring(text, start, length) {
131
+ if (length === void 0) {
132
+ return prepareAny `SUBSTRING(${text}, ${start} + 1)`;
133
+ }
134
+ return prepareAny `SUBSTRING(${text}, ${start} + 1, ${length})`;
135
+ },
136
+ trim(text) {
137
+ return prepareAny `TRIM(${text})`;
138
+ },
139
+ upper(text) {
140
+ return prepareAny `UPPER(${text})`;
141
+ },
142
+ normalize(text, kind = "NFC") {
143
+ return prepareAny `normalize(${text}, ${onlyAlphaNumeric(kind)})`;
144
+ },
93
145
  }
94
146
  };
95
147
  const names = flattenHelpers(PostgreSqlHelper, "Sql");
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSqlMethodTransformer.js","sourceRoot":"","sources":["../../../src/compiler/postgres/PostgreSqlMethodTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgreSqlMethodTransformer.js","sourceRoot":"","sources":["../../../src/compiler/postgres/PostgreSqlMethodTransformer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SqlServerSqlMethodTransformer.d.ts","sourceRoot":"","sources":["../../../src/compiler/sql-server/SqlServerSqlMethodTransformer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,WA2FhC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAMzF"}
1
+ {"version":3,"file":"SqlServerSqlMethodTransformer.d.ts","sourceRoot":"","sources":["../../../src/compiler/sql-server/SqlServerSqlMethodTransformer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,WAmJhC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAMzF"}
@@ -66,8 +66,38 @@ export const SqlServerSqlHelper = {
66
66
  },
67
67
  },
68
68
  text: {
69
+ collate(text, collation) {
70
+ const sanitize = (t) => t.replace(/[\W_]+/g, "");
71
+ return prepareAny `${text} COLLATE ` + sanitize(collation);
72
+ },
69
73
  concat(...p) {
70
- return prepareAny `CONCAT(${p.join(",")})`;
74
+ const text = ["CONCAT("];
75
+ let first = true;
76
+ for (const iterator of p) {
77
+ if (!first) {
78
+ text.push(",");
79
+ }
80
+ first = false;
81
+ text.push(iterator);
82
+ }
83
+ text.push(")");
84
+ return text;
85
+ },
86
+ concatWS(...fragments) {
87
+ const text = ["CONCAT_WS("];
88
+ let first = true;
89
+ for (const iterator of fragments) {
90
+ if (!first) {
91
+ text.push(",");
92
+ }
93
+ first = false;
94
+ text.push(iterator);
95
+ }
96
+ text.push(")");
97
+ return text;
98
+ },
99
+ difference(left, right) {
100
+ return prepareAny `DIFFERENCE(${left}, ${right})`;
71
101
  },
72
102
  endsWith(text, test) {
73
103
  return prepareAny `CHARINDEX(${text}, ${test}) = LEN(${text}) - LEN(${test})`;
@@ -76,7 +106,7 @@ export const SqlServerSqlHelper = {
76
106
  return prepareAny `(${text} like ${test})`;
77
107
  },
78
108
  indexOf(text, test) {
79
- return prepareAny `CHARINDEX(${text}, ${test})`;
109
+ return prepareAny `(CHARINDEX(${text}, ${test}) - 1)`;
80
110
  },
81
111
  left(text, length) {
82
112
  return prepareAny `left(${text}, ${length})`;
@@ -84,12 +114,34 @@ export const SqlServerSqlHelper = {
84
114
  like(text, test) {
85
115
  return prepareAny `(${text} LIKE ${test})`;
86
116
  },
117
+ lower(text) {
118
+ return prepareAny `LOWER(${text})`;
119
+ },
87
120
  right(text, length) {
88
121
  return prepareAny `right(${text}, ${length})`;
89
122
  },
123
+ reverse(text) {
124
+ return prepareAny `reverse(${text})`;
125
+ },
90
126
  startsWith(text, test) {
91
127
  return prepareAny `CHARINDEX(${text}, ${test}) = 1`;
92
128
  },
129
+ substring(text, start, length) {
130
+ if (length === void 0) {
131
+ return prepareAny `SUBSTRING(${text}, ${start} + 1)`;
132
+ }
133
+ return prepareAny `SUBSTRING(${text}, ${start} + 1, ${length})`;
134
+ },
135
+ trim(text) {
136
+ return prepareAny `TRIM(${text})`;
137
+ },
138
+ upper(text) {
139
+ return prepareAny `UPPER(${text})`;
140
+ },
141
+ normalize(text, kind = "NFC") {
142
+ const sanitize = (t) => t.replace(/[\W_]+/g, "");
143
+ return prepareAny `NORMALIZE(${text},${sanitize(kind)}`;
144
+ },
93
145
  }
94
146
  };
95
147
  const names = flattenHelpers(SqlServerSqlHelper, "Sql");
@@ -1 +1 @@
1
- {"version":3,"file":"SqlServerSqlMethodTransformer.js","sourceRoot":"","sources":["../../../src/compiler/sql-server/SqlServerSqlMethodTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlServerSqlMethodTransformer.js","sourceRoot":"","sources":["../../../src/compiler/sql-server/SqlServerSqlMethodTransformer.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,10 @@ export interface IColumn {
19
19
  length?: number;
20
20
  precision?: number;
21
21
  scale?: number;
22
+ /**
23
+ * This will only be used to set collate while creating column.
24
+ */
25
+ collate?: string;
22
26
  type?: EntityType;
23
27
  /**
24
28
  * String representation of the default, empty string must be specified as ""
@@ -1 +1 @@
1
- {"version":3,"file":"IColumn.d.ts","sourceRoot":"","sources":["../../src/decorators/IColumn.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,OAAO;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAE5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAEnB,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEhC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAE/B"}
1
+ {"version":3,"file":"IColumn.d.ts","sourceRoot":"","sources":["../../src/decorators/IColumn.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,OAAO;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAE5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAEnB,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEhC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAE/B"}
@@ -0,0 +1,8 @@
1
+ import type { IClassOf } from "./IClassOf.js";
2
+ export default function Relate<T, TRelated>(c: IClassOf<TRelated>, { foreignKey: name, inverseProperty: inv, inverseKey: invKey, dotNotCreateIndex }: {
3
+ foreignKey: (item: T) => any;
4
+ inverseProperty: (item: TRelated) => any;
5
+ inverseKey?: (item: TRelated) => any;
6
+ dotNotCreateIndex?: boolean;
7
+ }): (target: T, key: string) => any;
8
+ //# sourceMappingURL=Relate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Relate.d.ts","sourceRoot":"","sources":["../../src/decorators/Relate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAM9C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC7D,EACI,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAChF,EAAE;IAEC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC;IAE7B,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC;IAEzC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B,YAGe,CAAC,OAAO,MAAM,KAAG,GAAG,CAgBvC"}
@@ -0,0 +1,18 @@
1
+ import SchemaRegistry from "./SchemaRegistry.js";
2
+ import NameParser from "./parser/NameParser.js";
3
+ export default function Relate(c, { foreignKey: name, inverseProperty: inv, inverseKey: invKey, dotNotCreateIndex }) {
4
+ return (target, key) => {
5
+ const cn = target.constructor ?? target;
6
+ const type = SchemaRegistry.model(cn);
7
+ type.addRelation({
8
+ type,
9
+ name: key,
10
+ foreignKey: NameParser.parseMember(name),
11
+ relatedTypeClass: c,
12
+ relatedName: NameParser.parseMember(inv),
13
+ relatedKey: invKey ? NameParser.parseMember(invKey) : void 0,
14
+ dotNotCreateIndex
15
+ });
16
+ };
17
+ }
18
+ //# sourceMappingURL=Relate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Relate.js","sourceRoot":"","sources":["../../src/decorators/Relate.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAIhD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAc,CAAqB,EAC7D,EACI,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAShF;IAGD,OAAO,CAAC,MAAS,EAAE,GAAW,EAAO,EAAE;QAEnC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC;QACxC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC;YACb,IAAI;YACJ,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;YACxC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,iBAAiB;SACpB,CAAC,CAAC;IAEP,CAAC,CAAC;AACN,CAAC"}
package/dist/di/di.js CHANGED
@@ -89,7 +89,7 @@ export class ServiceProvider {
89
89
  let sd = registrations.get(type);
90
90
  if (!sd) {
91
91
  if (add) {
92
- const registration = { key: type, kind: "Scoped" };
92
+ const registration = { key: type, kind: this[parentServiceProvider] ? "Scoped" : "Singleton" };
93
93
  registrations.set(type, registration);
94
94
  return registration;
95
95
  }
package/dist/di/di.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"di.js","sourceRoot":"","sources":["../../src/di/di.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"di.js","sourceRoot":"","sources":["../../src/di/di.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,42 @@ export interface ISql {
11
11
  };
12
12
  text: {
13
13
  concat(...fragments: string[]): string;
14
+ /**
15
+ * Concat with separator
16
+ * @param separator separator used to join
17
+ * @param fragments text fragments
18
+ */
19
+ concatWS(separator: string, ...fragments: string[]): string;
20
+ difference(left: string, right: string): number;
14
21
  like(text: string, test: string): boolean;
15
22
  iLike(text: string, test: string): boolean;
16
23
  left(text: string, length: number): string;
17
24
  right(text: string, length: number): string;
18
25
  startsWith(text: string, test: string): boolean;
19
26
  endsWith(text: string, test: string): boolean;
27
+ /**
28
+ * This will return index of given search, and it will
29
+ * return -1 if test value is not found. If underlying provider
30
+ * supports 1 as starting index, 1 will be subtracted from given result.
31
+ * @param text string to be searched in
32
+ * @param test string to search
33
+ */
20
34
  indexOf(text: string, test: string): number;
35
+ normalize(text: string, kind?: string): string;
36
+ collate(text: string, collation: string): string;
37
+ lower(text: string): string;
38
+ upper(text: string): string;
39
+ trim(text: string): string;
40
+ reverse(text: string): string;
41
+ /**
42
+ * Create substring from the given string. Please note that the index you specify should be
43
+ * zero based, and based on underlying provider, index will be incremented by one if provider
44
+ * supports 1 as starting index.
45
+ * @param text text
46
+ * @param start start index, zero based, one will be added to support underlying database positioning
47
+ * @param length length
48
+ */
49
+ substring(text: string, start: number, length?: number): string;
21
50
  };
22
51
  date: {
23
52
  yearOf(d: Date): number;
@@ -1 +1 @@
1
- {"version":3,"file":"ISql.d.ts","sourceRoot":"","sources":["../../src/sql/ISql.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IAEjB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC;IAEjC,IAAI,EAAE;QACF,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;QACzB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;QAC1B,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;QACzB,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;KAC7B,CAAA;IAED,IAAI,EAAE;QACF,MAAM,CAAC,GAAI,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAC/C,CAAC;IAEF,IAAI,EAAE;QACF,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QACxB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QACzB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QACvB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QAC1B,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QACxB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QAC1B,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxC,CAAA;CAEJ"}
1
+ {"version":3,"file":"ISql.d.ts","sourceRoot":"","sources":["../../src/sql/ISql.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShoppingContext.d.ts","sourceRoot":"","sources":["../../../src/tests/model/ShoppingContext.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAKzD,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,qBAAa,eAAgB,SAAQ,aAAa;IAEvC,UAAU,+DAAiC;IAE3C,iBAAiB,sEAAwC;IAEzD,QAAQ,8DAAgC;IAExC,aAAa,mEAAqC;IAElD,MAAM,4DAA8B;IAEpC,UAAU,gEAAkC;IAE5C,KAAK,2DAA6B;CAE5C;AAED,qBACa,IAAI;IAGN,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,IAAI,CAAC;IAElB,aAAa,EAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,EAAE,KAAK,EAAE,CAAC;CAE1B;AAED,qBACa,QAAQ;IAGV,UAAU,EAAE,MAAM,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC;IAEb,iBAAiB,EAAE,eAAe,EAAE,CAAC;CAE/C;AAGD,qBACa,OAAO;IAGT,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,MAAM,EAAE,YAAY,EAAE,CAAC;IAEvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAO9B,KAAK,EAAE,IAAI,CAAC;CAEtB;AAGD,qBACa,eAAe;IAGjB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAOnB,OAAO,EAAE,OAAO,CAAC;IAOjB,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,qBACa,YAAY;IAGd,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,OAAO,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,OAAO,CAAC,EAAE,IAAI,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAOlB,OAAO,EAAE,OAAO,CAAC;IAEjB,UAAU,EAAE,SAAS,EAAE,CAAC;CAClC;AAED,qBACa,KAAK;IAGP,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,SAAS,EAAE,CAAC;IAOxB,QAAQ,EAAE,IAAI,CAAC;CAEzB;AAED,qBACa,SAAS;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IAOf,KAAK,EAAE,KAAK,CAAC;IAOb,OAAO,EAAE,OAAO,CAAC;IAQjB,YAAY,EAAE,YAAY,CAAC;CAErC"}
1
+ {"version":3,"file":"ShoppingContext.d.ts","sourceRoot":"","sources":["../../../src/tests/model/ShoppingContext.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAKzD,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,qBAAa,eAAgB,SAAQ,aAAa;IAEvC,UAAU,+DAAiC;IAE3C,iBAAiB,sEAAwC;IAEzD,QAAQ,8DAAgC;IAExC,aAAa,mEAAqC;IAElD,MAAM,4DAA8B;IAEpC,UAAU,gEAAkC;IAE5C,KAAK,2DAA6B;CAE5C;AAED,qBACa,IAAI;IAGN,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,IAAI,CAAC;IAElB,aAAa,EAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,EAAE,KAAK,EAAE,CAAC;CAE1B;AAED,qBACa,QAAQ;IAGV,UAAU,EAAE,MAAM,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC;IAEb,iBAAiB,EAAE,eAAe,EAAE,CAAC;CAE/C;AAGD,qBACa,OAAO;IAGT,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,MAAM,EAAE,YAAY,EAAE,CAAC;IAEvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAM9B,KAAK,EAAE,IAAI,CAAC;CAEtB;AAGD,qBACa,eAAe;IAGjB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAMnB,OAAO,EAAE,OAAO,CAAC;IAMjB,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,qBACa,YAAY;IAGd,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,OAAO,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,OAAO,CAAC,EAAE,IAAI,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAMlB,OAAO,EAAE,OAAO,CAAC;IAEjB,UAAU,EAAE,SAAS,EAAE,CAAC;CAClC;AAED,qBACa,KAAK;IAGP,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,SAAS,EAAE,CAAC;IAMxB,QAAQ,EAAE,IAAI,CAAC;CAEzB;AAED,qBACa,SAAS;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IAMf,KAAK,EAAE,KAAK,CAAC;IAMb,OAAO,EAAE,OAAO,CAAC;IAOjB,YAAY,EAAE,YAAY,CAAC;CAErC"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import EntityContext from "../../model/EntityContext.js";
11
11
  import Column from "../../decorators/Column.js";
12
- import ForeignKey from "../../decorators/ForeignKey.js";
12
+ import Relate from "../../decorators/Relate.js";
13
13
  import Table from "../../decorators/Table.js";
14
14
  export const statusPublished = "published";
15
15
  export class ShoppingContext extends EntityContext {
@@ -81,10 +81,9 @@ __decorate([
81
81
  __metadata("design:type", String)
82
82
  ], Product.prototype, "status", void 0);
83
83
  __decorate([
84
- ForeignKey({
85
- key: (product) => product.ownerID,
86
- related: User,
87
- relatedProperty: (user) => user.ownedProducts
84
+ Relate(User, {
85
+ foreignKey: (product) => product.ownerID,
86
+ inverseProperty: (user) => user.ownedProducts
88
87
  }),
89
88
  __metadata("design:type", User)
90
89
  ], Product.prototype, "owner", void 0);
@@ -111,18 +110,16 @@ __decorate([
111
110
  __metadata("design:type", String)
112
111
  ], ProductCategory.prototype, "categoryID", void 0);
113
112
  __decorate([
114
- ForeignKey({
115
- key: (pc) => pc.productID,
116
- related: Product,
117
- relatedProperty: (c) => c.categories
113
+ Relate(Product, {
114
+ foreignKey: (pc) => pc.productID,
115
+ inverseProperty: (c) => c.categories
118
116
  }),
119
117
  __metadata("design:type", Product)
120
118
  ], ProductCategory.prototype, "product", void 0);
121
119
  __decorate([
122
- ForeignKey({
123
- key: (pc) => pc.categoryID,
124
- related: Category,
125
- relatedProperty: (c) => c.productCategories
120
+ Relate(Category, {
121
+ foreignKey: (pc) => pc.categoryID,
122
+ inverseProperty: (c) => c.productCategories
126
123
  }),
127
124
  __metadata("design:type", Category)
128
125
  ], ProductCategory.prototype, "category", void 0);
@@ -164,10 +161,9 @@ __decorate([
164
161
  __metadata("design:type", Number)
165
162
  ], ProductPrice.prototype, "productID", void 0);
166
163
  __decorate([
167
- ForeignKey({
168
- key: (productPrice) => productPrice.productID,
169
- related: Product,
170
- relatedProperty: (product) => product.prices
164
+ Relate(Product, {
165
+ foreignKey: (productPrice) => productPrice.productID,
166
+ inverseProperty: (product) => product.prices
171
167
  }),
172
168
  __metadata("design:type", Product)
173
169
  ], ProductPrice.prototype, "product", void 0);
@@ -194,10 +190,9 @@ __decorate([
194
190
  __metadata("design:type", Number)
195
191
  ], Order.prototype, "customerID", void 0);
196
192
  __decorate([
197
- ForeignKey({
198
- key: (order) => order.customerID,
199
- related: User,
200
- relatedProperty: (user) => user.orders
193
+ Relate(User, {
194
+ foreignKey: (order) => order.customerID,
195
+ inverseProperty: (user) => user.orders
201
196
  }),
202
197
  __metadata("design:type", User)
203
198
  ], Order.prototype, "customer", void 0);
@@ -235,26 +230,23 @@ __decorate([
235
230
  __metadata("design:type", Number)
236
231
  ], OrderItem.prototype, "amount", void 0);
237
232
  __decorate([
238
- ForeignKey({
239
- key: (orderItem) => orderItem.orderID,
240
- related: Order,
241
- relatedProperty: (order) => order.orderItems
233
+ Relate(Order, {
234
+ foreignKey: (orderItem) => orderItem.orderID,
235
+ inverseProperty: (order) => order.orderItems
242
236
  }),
243
237
  __metadata("design:type", Order)
244
238
  ], OrderItem.prototype, "order", void 0);
245
239
  __decorate([
246
- ForeignKey({
247
- key: (orderItem) => orderItem.productID,
248
- related: Product,
249
- relatedProperty: (product) => product.orderItems
240
+ Relate(Product, {
241
+ foreignKey: (orderItem) => orderItem.productID,
242
+ inverseProperty: (product) => product.orderItems
250
243
  }),
251
244
  __metadata("design:type", Product)
252
245
  ], OrderItem.prototype, "product", void 0);
253
246
  __decorate([
254
- ForeignKey({
255
- key: (orderItem) => orderItem.priceID,
256
- related: ProductPrice,
257
- relatedProperty: (productPrice) => productPrice.orderItems
247
+ Relate(ProductPrice, {
248
+ foreignKey: (orderItem) => orderItem.priceID,
249
+ inverseProperty: (productPrice) => productPrice.orderItems
258
250
  }),
259
251
  __metadata("design:type", ProductPrice)
260
252
  ], OrderItem.prototype, "productPrice", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ShoppingContext.js","sourceRoot":"","sources":["../../../src/tests/model/ShoppingContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShoppingContext.js","sourceRoot":"","sources":["../../../src/tests/model/ShoppingContext.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import assert from "assert";
2
2
  import Logger from "../../../common/Logger.js";
3
- import { ServiceProvider } from "../../../di/di.js";
3
+ import { ServiceCollection, ServiceProvider } from "../../../di/di.js";
4
4
  import { BaseDriver } from "../../../drivers/base/BaseDriver.js";
5
5
  import ContextEvents from "../../../model/events/ContextEvents.js";
6
6
  import { ShoppingContext } from "../../model/ShoppingContext.js";
@@ -23,10 +23,10 @@ async function getNewOrders() {
23
23
  try {
24
24
  const user = new UserInfo();
25
25
  user.userID = 2;
26
- scope.add(Logger, Logger.instance);
26
+ ServiceCollection.register("Singleton", Logger, () => Logger.instance);
27
27
  scope.add(BaseDriver, this.driver);
28
28
  scope.add(UserInfo, user);
29
- scope.add(ContextEvents, new ShoppingContextEvents());
29
+ ServiceCollection.register("Singleton", ContextEvents, () => new ShoppingContextEvents());
30
30
  const context = scope.create(ShoppingContext);
31
31
  context.verifyFilters = true;
32
32
  const order = await context.orders.all().first();
@@ -42,10 +42,10 @@ async function addNewOrder(customer, userID) {
42
42
  try {
43
43
  const user = new UserInfo();
44
44
  user.userID = userID ?? customer.userID;
45
- scope.add(Logger, Logger.instance);
45
+ ServiceCollection.register("Singleton", Logger, () => Logger.instance);
46
46
  scope.add(BaseDriver, this.driver);
47
47
  scope.add(UserInfo, user);
48
- scope.add(ContextEvents, new ShoppingContextEvents());
48
+ ServiceCollection.register("Singleton", ContextEvents, () => new ShoppingContextEvents());
49
49
  const context = scope.create(ShoppingContext);
50
50
  context.verifyFilters = true;
51
51
  // get first headphone...