@decaf-ts/core 0.4.0 → 0.5.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.
Files changed (170) hide show
  1. package/README.md +7 -1
  2. package/dist/core.cjs +180 -169
  3. package/dist/core.esm.cjs +135 -135
  4. package/lib/esm/identity/decorators.d.ts +3 -2
  5. package/lib/esm/identity/decorators.js +7 -5
  6. package/lib/esm/index.d.ts +1 -1
  7. package/lib/esm/index.js +1 -1
  8. package/lib/esm/interfaces/ErrorParser.d.ts +4 -0
  9. package/lib/esm/interfaces/ErrorParser.js +2 -0
  10. package/lib/esm/interfaces/index.d.ts +1 -0
  11. package/lib/esm/interfaces/index.js +2 -1
  12. package/lib/esm/model/construction.d.ts +13 -10
  13. package/lib/esm/model/construction.js +9 -4
  14. package/lib/esm/model/decorators.d.ts +9 -8
  15. package/lib/esm/model/decorators.js +34 -14
  16. package/lib/esm/model/index.d.ts +1 -1
  17. package/lib/esm/model/index.js +3 -2
  18. package/lib/esm/persistence/Adapter.d.ts +14 -13
  19. package/lib/esm/persistence/Adapter.js +37 -26
  20. package/lib/esm/query/Clause.d.ts +2 -2
  21. package/lib/esm/query/ClauseFactory.d.ts +3 -3
  22. package/lib/esm/query/ClauseFactory.js +1 -1
  23. package/lib/esm/query/Paginator.d.ts +2 -2
  24. package/lib/esm/query/Paginator.js +4 -3
  25. package/lib/esm/query/Query.d.ts +1 -1
  26. package/lib/esm/query/Query.js +1 -1
  27. package/lib/esm/query/Statement.d.ts +3 -3
  28. package/lib/esm/query/Statement.js +1 -1
  29. package/lib/esm/query/errors.js +3 -3
  30. package/lib/esm/ram/RamAdapter.d.ts +41 -0
  31. package/lib/esm/ram/RamAdapter.js +230 -0
  32. package/lib/esm/ram/RamClauseFactory.d.ts +17 -0
  33. package/lib/esm/ram/RamClauseFactory.js +92 -0
  34. package/lib/esm/ram/RamContext.d.ts +5 -0
  35. package/lib/esm/ram/RamContext.js +7 -0
  36. package/lib/esm/ram/RamPaginator.d.ts +7 -0
  37. package/lib/esm/ram/RamPaginator.js +20 -0
  38. package/lib/esm/ram/RamSequence.d.ts +50 -0
  39. package/lib/esm/ram/RamSequence.js +130 -0
  40. package/lib/esm/ram/RamStatement.d.ts +8 -0
  41. package/lib/esm/ram/RamStatement.js +18 -0
  42. package/lib/esm/ram/clauses/FromClause.d.ts +7 -0
  43. package/lib/esm/ram/clauses/FromClause.js +11 -0
  44. package/lib/esm/ram/clauses/InsertClause.d.ts +7 -0
  45. package/lib/esm/ram/clauses/InsertClause.js +13 -0
  46. package/lib/esm/ram/clauses/OrderByClause.d.ts +7 -0
  47. package/lib/esm/ram/clauses/OrderByClause.js +39 -0
  48. package/lib/esm/ram/clauses/SelectClause.d.ts +7 -0
  49. package/lib/esm/ram/clauses/SelectClause.js +16 -0
  50. package/lib/esm/ram/clauses/ValuesClause.d.ts +7 -0
  51. package/lib/esm/ram/clauses/ValuesClause.js +12 -0
  52. package/lib/esm/ram/clauses/WhereClause.d.ts +7 -0
  53. package/lib/esm/ram/clauses/WhereClause.js +11 -0
  54. package/lib/esm/ram/clauses/index.d.ts +6 -0
  55. package/lib/esm/ram/clauses/index.js +7 -0
  56. package/lib/esm/ram/index.d.ts +9 -0
  57. package/lib/esm/ram/index.js +10 -0
  58. package/lib/esm/ram/model/RamSequence.d.ts +20 -0
  59. package/lib/esm/ram/model/RamSequence.js +33 -0
  60. package/lib/esm/ram/model/index.d.ts +1 -0
  61. package/lib/esm/ram/model/index.js +2 -0
  62. package/lib/esm/ram/types.d.ts +17 -0
  63. package/lib/esm/ram/types.js +2 -0
  64. package/lib/esm/repository/Repository.d.ts +6 -3
  65. package/lib/esm/repository/Repository.js +27 -15
  66. package/lib/esm/repository/errors.d.ts +6 -0
  67. package/lib/esm/repository/errors.js +12 -2
  68. package/lib/esm/repository/index.d.ts +0 -1
  69. package/lib/esm/repository/index.js +1 -2
  70. package/lib/identity/decorators.cjs +10 -8
  71. package/lib/identity/decorators.d.ts +3 -2
  72. package/lib/identity/index.cjs +1 -1
  73. package/lib/identity/utils.cjs +3 -3
  74. package/lib/index.cjs +2 -2
  75. package/lib/index.d.ts +1 -1
  76. package/lib/interfaces/ErrorParser.cjs +3 -0
  77. package/lib/interfaces/ErrorParser.d.ts +4 -0
  78. package/lib/interfaces/index.cjs +2 -1
  79. package/lib/interfaces/index.d.ts +1 -0
  80. package/lib/model/IdentifiedBaseModel.cjs +1 -1
  81. package/lib/model/construction.cjs +12 -7
  82. package/lib/model/construction.d.ts +13 -10
  83. package/lib/model/decorators.cjs +39 -19
  84. package/lib/model/decorators.d.ts +9 -8
  85. package/lib/model/index.cjs +3 -2
  86. package/lib/model/index.d.ts +1 -1
  87. package/lib/persistence/Adapter.cjs +37 -26
  88. package/lib/persistence/Adapter.d.ts +14 -13
  89. package/lib/persistence/Sequence.cjs +2 -2
  90. package/lib/persistence/decorators.cjs +1 -1
  91. package/lib/persistence/index.cjs +1 -1
  92. package/lib/query/Clause.cjs +1 -1
  93. package/lib/query/Clause.d.ts +2 -2
  94. package/lib/query/ClauseFactory.cjs +1 -1
  95. package/lib/query/ClauseFactory.d.ts +3 -3
  96. package/lib/query/Condition.cjs +1 -1
  97. package/lib/query/Paginator.cjs +4 -3
  98. package/lib/query/Paginator.d.ts +2 -2
  99. package/lib/query/Query.cjs +1 -1
  100. package/lib/query/Query.d.ts +1 -1
  101. package/lib/query/Statement.cjs +3 -3
  102. package/lib/query/Statement.d.ts +3 -3
  103. package/lib/query/clauses/FromClause.cjs +3 -3
  104. package/lib/query/clauses/GroupByClause.cjs +2 -2
  105. package/lib/query/clauses/InsertClause.cjs +3 -3
  106. package/lib/query/clauses/LimitClause.cjs +2 -2
  107. package/lib/query/clauses/OffsetClause.cjs +2 -2
  108. package/lib/query/clauses/OrderByClause.cjs +2 -2
  109. package/lib/query/clauses/SelectClause.cjs +2 -2
  110. package/lib/query/clauses/SelectorBasedClause.cjs +2 -2
  111. package/lib/query/clauses/ValuesClause.cjs +3 -3
  112. package/lib/query/clauses/WhereClause.cjs +4 -4
  113. package/lib/query/clauses/index.cjs +1 -1
  114. package/lib/query/errors.cjs +3 -3
  115. package/lib/query/index.cjs +1 -1
  116. package/lib/ram/RamAdapter.cjs +268 -0
  117. package/lib/ram/RamAdapter.d.ts +41 -0
  118. package/lib/ram/RamClauseFactory.cjs +96 -0
  119. package/lib/ram/RamClauseFactory.d.ts +17 -0
  120. package/lib/ram/RamContext.cjs +11 -0
  121. package/lib/ram/RamContext.d.ts +5 -0
  122. package/lib/ram/RamPaginator.cjs +24 -0
  123. package/lib/ram/RamPaginator.d.ts +7 -0
  124. package/lib/ram/RamSequence.cjs +135 -0
  125. package/lib/ram/RamSequence.d.ts +50 -0
  126. package/lib/ram/RamStatement.cjs +22 -0
  127. package/lib/ram/RamStatement.d.ts +8 -0
  128. package/lib/ram/clauses/FromClause.cjs +15 -0
  129. package/lib/ram/clauses/FromClause.d.ts +7 -0
  130. package/lib/ram/clauses/InsertClause.cjs +17 -0
  131. package/lib/ram/clauses/InsertClause.d.ts +7 -0
  132. package/lib/ram/clauses/OrderByClause.cjs +43 -0
  133. package/lib/ram/clauses/OrderByClause.d.ts +7 -0
  134. package/lib/ram/clauses/SelectClause.cjs +20 -0
  135. package/lib/ram/clauses/SelectClause.d.ts +7 -0
  136. package/lib/ram/clauses/ValuesClause.cjs +16 -0
  137. package/lib/ram/clauses/ValuesClause.d.ts +7 -0
  138. package/lib/ram/clauses/WhereClause.cjs +15 -0
  139. package/lib/ram/clauses/WhereClause.d.ts +7 -0
  140. package/lib/ram/clauses/index.cjs +23 -0
  141. package/lib/ram/clauses/index.d.ts +6 -0
  142. package/lib/ram/index.cjs +26 -0
  143. package/lib/ram/index.d.ts +9 -0
  144. package/lib/ram/model/RamSequence.cjs +36 -0
  145. package/lib/ram/model/RamSequence.d.ts +20 -0
  146. package/lib/ram/model/index.cjs +18 -0
  147. package/lib/ram/model/index.d.ts +1 -0
  148. package/lib/ram/types.cjs +3 -0
  149. package/lib/ram/types.d.ts +17 -0
  150. package/lib/repository/Repository.cjs +32 -20
  151. package/lib/repository/Repository.d.ts +6 -3
  152. package/lib/repository/decorators.cjs +1 -1
  153. package/lib/repository/errors.cjs +15 -3
  154. package/lib/repository/errors.d.ts +6 -0
  155. package/lib/repository/index.cjs +1 -2
  156. package/lib/repository/index.d.ts +0 -1
  157. package/lib/repository/injectables.cjs +3 -3
  158. package/lib/repository/utils.cjs +3 -3
  159. package/lib/validators/ClauseSequenceValidator.cjs +5 -5
  160. package/lib/validators/decorators.cjs +2 -2
  161. package/lib/validators/index.cjs +1 -1
  162. package/package.json +13 -6
  163. package/lib/esm/model/User.d.ts +0 -9
  164. package/lib/esm/model/User.js +0 -34
  165. package/lib/esm/repository/Context.d.ts +0 -10
  166. package/lib/esm/repository/Context.js +0 -12
  167. package/lib/model/User.cjs +0 -37
  168. package/lib/model/User.d.ts +0 -9
  169. package/lib/repository/Context.cjs +0 -16
  170. package/lib/repository/Context.d.ts +0 -10
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamSequence = void 0;
4
+ exports.parseSequenceValue = parseSequenceValue;
5
+ const RamSequence_1 = require("./model/RamSequence.cjs");
6
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
7
+ const persistence_1 = require("./../persistence/index.cjs");
8
+ const repository_1 = require("./../repository/index.cjs");
9
+ function parseSequenceValue(type, value) {
10
+ switch (type) {
11
+ case "Number":
12
+ return typeof value === "string"
13
+ ? parseInt(value)
14
+ : typeof value === "number"
15
+ ? value
16
+ : BigInt(value);
17
+ case "BigInt":
18
+ return BigInt(value);
19
+ default:
20
+ throw new db_decorators_1.InternalError("Should never happen");
21
+ }
22
+ }
23
+ /**
24
+ * @summary Abstract implementation of a Sequence
25
+ * @description provides the basic functionality for {@link Sequence}s
26
+ *
27
+ * @param {SequenceOptions} options
28
+ *
29
+ * @class CouchDBSequence
30
+ * @implements Sequence
31
+ *
32
+ * @category Sequences
33
+ */
34
+ class RamSequence extends persistence_1.Sequence {
35
+ constructor(options, adapter) {
36
+ super(options);
37
+ this.repo = repository_1.Repository.forModel(RamSequence_1.Sequence, adapter.flavour);
38
+ }
39
+ /**
40
+ * @summary Retrieves the current value for the sequence
41
+ * @protected
42
+ */
43
+ async current() {
44
+ const { name, startWith } = this.options;
45
+ try {
46
+ const sequence = await this.repo.read(name);
47
+ return this.parse(sequence.current);
48
+ }
49
+ catch (e) {
50
+ if (e instanceof db_decorators_1.NotFoundError) {
51
+ if (typeof startWith === "undefined")
52
+ throw new db_decorators_1.InternalError("Starting value is not defined for a non existing sequence");
53
+ try {
54
+ return this.parse(startWith);
55
+ }
56
+ catch (e) {
57
+ throw new db_decorators_1.InternalError(`Failed to parse initial value for sequence ${startWith}: ${e}`);
58
+ }
59
+ }
60
+ throw new db_decorators_1.InternalError(`Failed to retrieve current value for sequence ${name}: ${e}`);
61
+ }
62
+ }
63
+ /**
64
+ * @summary Parses the {@link Sequence} value
65
+ *
66
+ * @protected
67
+ * @param value
68
+ */
69
+ parse(value) {
70
+ return parseSequenceValue(this.options.type, value);
71
+ }
72
+ /**
73
+ * @summary increments the sequence
74
+ * @description Sequence specific implementation
75
+ *
76
+ * @param {string | number | bigint} current
77
+ * @param count
78
+ * @protected
79
+ */
80
+ async increment(current, count) {
81
+ const { type, incrementBy, name } = this.options;
82
+ let next;
83
+ const toIncrementBy = count || incrementBy;
84
+ if (toIncrementBy % incrementBy !== 0)
85
+ throw new db_decorators_1.InternalError(`Value to increment does not consider the incrementBy setting: ${incrementBy}`);
86
+ switch (type) {
87
+ case "Number":
88
+ next = this.parse(current) + toIncrementBy;
89
+ break;
90
+ case "BigInt":
91
+ next = this.parse(current) + BigInt(toIncrementBy);
92
+ break;
93
+ default:
94
+ throw new db_decorators_1.InternalError("Should never happen");
95
+ }
96
+ let seq;
97
+ const repo = this.repo.override({
98
+ ignoredValidationProperties: ["updatedOn"],
99
+ });
100
+ try {
101
+ seq = await repo.update(new RamSequence_1.Sequence({ id: name, current: next }));
102
+ }
103
+ catch (e) {
104
+ if (!(e instanceof db_decorators_1.NotFoundError)) {
105
+ throw e;
106
+ }
107
+ seq = await repo.create(new RamSequence_1.Sequence({ id: name, current: next }));
108
+ }
109
+ return seq.current;
110
+ }
111
+ /**
112
+ * @summary Generates the next value in th sequence
113
+ * @description calls {@link Sequence#parse} on the current value
114
+ * followed by {@link Sequence#increment}
115
+ *
116
+ */
117
+ async next() {
118
+ const current = await this.current();
119
+ return this.increment(current);
120
+ }
121
+ async range(count) {
122
+ const current = (await this.current());
123
+ const incrementBy = this.parse(this.options.incrementBy);
124
+ const next = await this.increment(current, this.parse(count) * incrementBy);
125
+ const range = [];
126
+ for (let i = 1; i <= count; i++) {
127
+ range.push(current + incrementBy * this.parse(i));
128
+ }
129
+ if (range[range.length - 1] !== next)
130
+ throw new db_decorators_1.InternalError("Miscalculation of range");
131
+ return range;
132
+ }
133
+ }
134
+ exports.RamSequence = RamSequence;
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFtU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFtL1JhbVNlcXVlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLGdEQWdCQztBQXZCRCx5REFBc0Q7QUFDdEQsMkRBQXVFO0FBQ3ZFLDREQUEwQztBQUcxQywwREFBaUQ7QUFFakQsU0FBZ0Isa0JBQWtCLENBQ2hDLElBQXFDLEVBQ3JDLEtBQStCO0lBRS9CLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLFFBQVE7WUFDWCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQzlCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUNqQixDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUTtvQkFDekIsQ0FBQyxDQUFDLEtBQUs7b0JBQ1AsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixLQUFLLFFBQVE7WUFDWCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QjtZQUNFLE1BQU0sSUFBSSw2QkFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDbkQsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVE7SUFHdkMsWUFBWSxPQUF3QixFQUFFLE9BQW1CO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsdUJBQVUsQ0FBQyxRQUFRLENBQUMsc0JBQUcsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFRLE1BQU0sSUFBSSxDQUFDLElB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TyxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQWE7UUFDdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBVyxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVcsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBNkIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUN6RCxPQUFPLEVBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQVksR0FBRyxXQUFXLENBQzVDLENBQUM7UUFDRixNQUFNLEtBQUssR0FBaUMsRUFBRSxDQUFDO1FBQy9DLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVksQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUk7WUFDbEMsTUFBTSxJQUFJLDZCQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXRIRCxrQ0FzSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXF1ZW5jZSBhcyBTZXEgfSBmcm9tIFwiLi9tb2RlbC9SYW1TZXF1ZW5jZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgTm90Rm91bmRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgU2VxdWVuY2UgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2VcIjtcbmltcG9ydCB7IFNlcXVlbmNlT3B0aW9ucyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBSYW1BZGFwdGVyIH0gZnJvbSBcIi4vUmFtQWRhcHRlclwiO1xuaW1wb3J0IHsgUmVwbywgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNlcXVlbmNlVmFsdWUoXG4gIHR5cGU6IFwiTnVtYmVyXCIgfCBcIkJpZ0ludFwiIHwgdW5kZWZpbmVkLFxuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4pOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFwiTnVtYmVyXCI6XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gcGFyc2VJbnQodmFsdWUpXG4gICAgICAgIDogdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgIDogQmlnSW50KHZhbHVlKTtcbiAgICBjYXNlIFwiQmlnSW50XCI6XG4gICAgICByZXR1cm4gQmlnSW50KHZhbHVlKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJTaG91bGQgbmV2ZXIgaGFwcGVuXCIpO1xuICB9XG59XG5cbi8qKlxuICogQHN1bW1hcnkgQWJzdHJhY3QgaW1wbGVtZW50YXRpb24gb2YgYSBTZXF1ZW5jZVxuICogQGRlc2NyaXB0aW9uIHByb3ZpZGVzIHRoZSBiYXNpYyBmdW5jdGlvbmFsaXR5IGZvciB7QGxpbmsgU2VxdWVuY2V9c1xuICpcbiAqIEBwYXJhbSB7U2VxdWVuY2VPcHRpb25zfSBvcHRpb25zXG4gKlxuICogQGNsYXNzIENvdWNoREJTZXF1ZW5jZVxuICogQGltcGxlbWVudHMgU2VxdWVuY2VcbiAqXG4gKiBAY2F0ZWdvcnkgU2VxdWVuY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBSYW1TZXF1ZW5jZSBleHRlbmRzIFNlcXVlbmNlIHtcbiAgcHJvdGVjdGVkIHJlcG86IFJlcG88U2VxPjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTZXF1ZW5jZU9wdGlvbnMsIGFkYXB0ZXI6IFJhbUFkYXB0ZXIpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLnJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKFNlcSwgYWRhcHRlci5mbGF2b3VyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgdmFsdWUgZm9yIHRoZSBzZXF1ZW5jZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBhc3luYyBjdXJyZW50KCk6IFByb21pc2U8c3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50PiB7XG4gICAgY29uc3QgeyBuYW1lLCBzdGFydFdpdGggfSA9IHRoaXMub3B0aW9ucztcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2VxdWVuY2U6IFNlcSA9IGF3YWl0IHRoaXMucmVwby5yZWFkKG5hbWUgYXMgc3RyaW5nKTtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlKHNlcXVlbmNlLmN1cnJlbnQgYXMgc3RyaW5nIHwgbnVtYmVyKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvcikge1xuICAgICAgICBpZiAodHlwZW9mIHN0YXJ0V2l0aCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIFwiU3RhcnRpbmcgdmFsdWUgaXMgbm90IGRlZmluZWQgZm9yIGEgbm9uIGV4aXN0aW5nIHNlcXVlbmNlXCJcbiAgICAgICAgICApO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlKHN0YXJ0V2l0aCk7XG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYEZhaWxlZCB0byBwYXJzZSBpbml0aWFsIHZhbHVlIGZvciBzZXF1ZW5jZSAke3N0YXJ0V2l0aH06ICR7ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gcmV0cmlldmUgY3VycmVudCB2YWx1ZSBmb3Igc2VxdWVuY2UgJHtuYW1lfTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFBhcnNlcyB0aGUge0BsaW5rIFNlcXVlbmNlfSB2YWx1ZVxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50KTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50IHtcbiAgICByZXR1cm4gcGFyc2VTZXF1ZW5jZVZhbHVlKHRoaXMub3B0aW9ucy50eXBlLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgaW5jcmVtZW50cyB0aGUgc2VxdWVuY2VcbiAgICogQGRlc2NyaXB0aW9uIFNlcXVlbmNlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50fSBjdXJyZW50XG4gICAqIEBwYXJhbSBjb3VudFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGluY3JlbWVudChcbiAgICBjdXJyZW50OiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQsXG4gICAgY291bnQ/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCB7IHR5cGUsIGluY3JlbWVudEJ5LCBuYW1lIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgbGV0IG5leHQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgICBjb25zdCB0b0luY3JlbWVudEJ5ID0gY291bnQgfHwgaW5jcmVtZW50Qnk7XG4gICAgaWYgKHRvSW5jcmVtZW50QnkgJSBpbmNyZW1lbnRCeSAhPT0gMClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgVmFsdWUgdG8gaW5jcmVtZW50IGRvZXMgbm90IGNvbnNpZGVyIHRoZSBpbmNyZW1lbnRCeSBzZXR0aW5nOiAke2luY3JlbWVudEJ5fWBcbiAgICAgICk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiTnVtYmVyXCI6XG4gICAgICAgIG5leHQgPSAodGhpcy5wYXJzZShjdXJyZW50KSBhcyBudW1iZXIpICsgdG9JbmNyZW1lbnRCeTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiQmlnSW50XCI6XG4gICAgICAgIG5leHQgPSAodGhpcy5wYXJzZShjdXJyZW50KSBhcyBiaWdpbnQpICsgQmlnSW50KHRvSW5jcmVtZW50QnkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiU2hvdWxkIG5ldmVyIGhhcHBlblwiKTtcbiAgICB9XG4gICAgbGV0IHNlcTogU2VxO1xuICAgIGNvbnN0IHJlcG8gPSB0aGlzLnJlcG8ub3ZlcnJpZGUoe1xuICAgICAgaWdub3JlZFZhbGlkYXRpb25Qcm9wZXJ0aWVzOiBbXCJ1cGRhdGVkT25cIl0sXG4gICAgfSk7XG4gICAgdHJ5IHtcbiAgICAgIHNlcSA9IGF3YWl0IHJlcG8udXBkYXRlKG5ldyBTZXEoeyBpZDogbmFtZSwgY3VycmVudDogbmV4dCB9KSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICAgIHNlcSA9IGF3YWl0IHJlcG8uY3JlYXRlKG5ldyBTZXEoeyBpZDogbmFtZSwgY3VycmVudDogbmV4dCB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlcS5jdXJyZW50IGFzIHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgdGhlIG5leHQgdmFsdWUgaW4gdGggc2VxdWVuY2VcbiAgICogQGRlc2NyaXB0aW9uIGNhbGxzIHtAbGluayBTZXF1ZW5jZSNwYXJzZX0gb24gdGhlIGN1cnJlbnQgdmFsdWVcbiAgICogZm9sbG93ZWQgYnkge0BsaW5rIFNlcXVlbmNlI2luY3JlbWVudH1cbiAgICpcbiAgICovXG4gIGFzeW5jIG5leHQoKTogUHJvbWlzZTxudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgdGhpcy5jdXJyZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuaW5jcmVtZW50KGN1cnJlbnQpO1xuICB9XG5cbiAgYXN5bmMgcmFuZ2UoY291bnQ6IG51bWJlcik6IFByb21pc2U8KG51bWJlciB8IHN0cmluZyB8IGJpZ2ludClbXT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSAoYXdhaXQgdGhpcy5jdXJyZW50KCkpIGFzIG51bWJlcjtcbiAgICBjb25zdCBpbmNyZW1lbnRCeSA9IHRoaXMucGFyc2UodGhpcy5vcHRpb25zLmluY3JlbWVudEJ5KSBhcyBudW1iZXI7XG4gICAgY29uc3QgbmV4dDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50ID0gYXdhaXQgdGhpcy5pbmNyZW1lbnQoXG4gICAgICBjdXJyZW50LFxuICAgICAgKHRoaXMucGFyc2UoY291bnQpIGFzIG51bWJlcikgKiBpbmNyZW1lbnRCeVxuICAgICk7XG4gICAgY29uc3QgcmFuZ2U6IChudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQpW10gPSBbXTtcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAxOyBpIDw9IGNvdW50OyBpKyspIHtcbiAgICAgIHJhbmdlLnB1c2goY3VycmVudCArIGluY3JlbWVudEJ5ICogKHRoaXMucGFyc2UoaSkgYXMgbnVtYmVyKSk7XG4gICAgfVxuICAgIGlmIChyYW5nZVtyYW5nZS5sZW5ndGggLSAxXSAhPT0gbmV4dClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlzY2FsY3VsYXRpb24gb2YgcmFuZ2VcIik7XG4gICAgcmV0dXJuIHJhbmdlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { Sequence as Seq } from "./model/RamSequence";
2
+ import { Sequence } from "../persistence";
3
+ import { SequenceOptions } from "../interfaces";
4
+ import { RamAdapter } from "./RamAdapter";
5
+ import { Repo } from "../repository";
6
+ export declare function parseSequenceValue(type: "Number" | "BigInt" | undefined, value: string | number | bigint): string | number | bigint;
7
+ /**
8
+ * @summary Abstract implementation of a Sequence
9
+ * @description provides the basic functionality for {@link Sequence}s
10
+ *
11
+ * @param {SequenceOptions} options
12
+ *
13
+ * @class CouchDBSequence
14
+ * @implements Sequence
15
+ *
16
+ * @category Sequences
17
+ */
18
+ export declare class RamSequence extends Sequence {
19
+ protected repo: Repo<Seq>;
20
+ constructor(options: SequenceOptions, adapter: RamAdapter);
21
+ /**
22
+ * @summary Retrieves the current value for the sequence
23
+ * @protected
24
+ */
25
+ current(): Promise<string | number | bigint>;
26
+ /**
27
+ * @summary Parses the {@link Sequence} value
28
+ *
29
+ * @protected
30
+ * @param value
31
+ */
32
+ private parse;
33
+ /**
34
+ * @summary increments the sequence
35
+ * @description Sequence specific implementation
36
+ *
37
+ * @param {string | number | bigint} current
38
+ * @param count
39
+ * @protected
40
+ */
41
+ private increment;
42
+ /**
43
+ * @summary Generates the next value in th sequence
44
+ * @description calls {@link Sequence#parse} on the current value
45
+ * followed by {@link Sequence#increment}
46
+ *
47
+ */
48
+ next(): Promise<number | string | bigint>;
49
+ range(count: number): Promise<(number | string | bigint)[]>;
50
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamStatement = void 0;
4
+ const query_1 = require("./../query/index.cjs");
5
+ const RamPaginator_1 = require("./RamPaginator.cjs");
6
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
7
+ class RamStatement extends query_1.Statement {
8
+ constructor(db) {
9
+ super(db);
10
+ }
11
+ paginate(size) {
12
+ try {
13
+ const query = this.build();
14
+ return new RamPaginator_1.RamPaginator(this, size, query);
15
+ }
16
+ catch (e) {
17
+ throw new db_decorators_1.InternalError(e);
18
+ }
19
+ }
20
+ }
21
+ exports.RamStatement = RamStatement;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFtU3RhdGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JhbS9SYW1TdGF0ZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQWdEO0FBSWhELHFEQUE4QztBQUM5QywyREFBd0Q7QUFFeEQsTUFBYSxZQUE4QixTQUFRLGlCQUFzQjtJQUN2RSxZQUFZLEVBQXVDO1FBQ2pELEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxRQUFRLENBQUksSUFBWTtRQUN0QixJQUFJLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLDJCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQVEsQ0FBQztRQUNwRCxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksNkJBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBYkQsb0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdpbmF0b3IsIFN0YXRlbWVudCB9IGZyb20gXCIuLi9xdWVyeVwiO1xuaW1wb3J0IHsgUmFtUXVlcnkgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBBZGFwdGVyIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlXCI7XG5pbXBvcnQgeyBSYW1QYWdpbmF0b3IgfSBmcm9tIFwiLi9SYW1QYWdpbmF0b3JcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGNsYXNzIFJhbVN0YXRlbWVudDxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgU3RhdGVtZW50PFJhbVF1ZXJ5PE0+PiB7XG4gIGNvbnN0cnVjdG9yKGRiOiBBZGFwdGVyPGFueSwgUmFtUXVlcnk8TT4sIGFueSwgYW55Pikge1xuICAgIHN1cGVyKGRiKTtcbiAgfVxuXG4gIHBhZ2luYXRlPFY+KHNpemU6IG51bWJlcik6IFByb21pc2U8UGFnaW5hdG9yPFYsIFJhbVF1ZXJ5PE0+Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuYnVpbGQoKTtcbiAgICAgIHJldHVybiBuZXcgUmFtUGFnaW5hdG9yKHRoaXMsIHNpemUsIHF1ZXJ5KSBhcyBhbnk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { Paginator, Statement } from "../query";
2
+ import { RamQuery } from "./types";
3
+ import { Model } from "@decaf-ts/decorator-validation";
4
+ import { Adapter } from "../persistence";
5
+ export declare class RamStatement<M extends Model> extends Statement<RamQuery<M>> {
6
+ constructor(db: Adapter<any, RamQuery<M>, any, any>);
7
+ paginate<V>(size: number): Promise<Paginator<V, RamQuery<M>>>;
8
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamFromClause = void 0;
4
+ const query_1 = require("./../../query/index.cjs");
5
+ class RamFromClause extends query_1.FromClause {
6
+ constructor(clause) {
7
+ super(clause);
8
+ }
9
+ build(previous) {
10
+ previous.from = this.selector;
11
+ return previous;
12
+ }
13
+ }
14
+ exports.RamFromClause = RamFromClause;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbUNsYXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yYW0vY2xhdXNlcy9Gcm9tQ2xhdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1EQUF5QztBQUV6QyxNQUFhLGFBQStCLFNBQVEsa0JBR25EO0lBQ0MsWUFBWSxNQUE4QztRQUN4RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUF1QjtRQUMzQixRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBWkQsc0NBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEFyZywgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBSYW1RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgRnJvbUNsYXVzZSB9IGZyb20gXCIuLi8uLi9xdWVyeVwiO1xuXG5leHBvcnQgY2xhc3MgUmFtRnJvbUNsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgRnJvbUNsYXVzZTxcbiAgUmFtUXVlcnk8YW55PixcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8RnJvbUNsYXVzZTxSYW1RdWVyeTxhbnk+LCBNPj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgYnVpbGQocHJldmlvdXM6IFJhbVF1ZXJ5PGFueT4pOiBSYW1RdWVyeTxhbnk+IHtcbiAgICBwcmV2aW91cy5mcm9tID0gdGhpcy5zZWxlY3RvcjtcbiAgICByZXR1cm4gcHJldmlvdXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { ModelArg, Model } from "@decaf-ts/decorator-validation";
2
+ import { RamQuery } from "../types";
3
+ import { FromClause } from "../../query";
4
+ export declare class RamFromClause<M extends Model> extends FromClause<RamQuery<any>, M> {
5
+ constructor(clause: ModelArg<FromClause<RamQuery<any>, M>>);
6
+ build(previous: RamQuery<any>): RamQuery<any>;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamInsertClause = void 0;
4
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
5
+ const query_1 = require("./../../query/index.cjs");
6
+ // noinspection JSAnnotator
7
+ class RamInsertClause extends query_1.InsertClause {
8
+ constructor(clause) {
9
+ super(clause);
10
+ }
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ build(query) {
13
+ throw new db_decorators_1.InternalError("Not supported");
14
+ }
15
+ }
16
+ exports.RamInsertClause = RamInsertClause;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zZXJ0Q2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JhbS9jbGF1c2VzL0luc2VydENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFFeEQsbURBQTJDO0FBRTNDLDJCQUEyQjtBQUMzQixNQUFhLGVBQWlDLFNBQVEsb0JBR3JEO0lBQ0MsWUFBWSxNQUFnRDtRQUMxRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsS0FBb0I7UUFDeEIsTUFBTSxJQUFJLDZCQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBWkQsMENBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEFyZywgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBSYW1RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5zZXJ0Q2xhdXNlIH0gZnJvbSBcIi4uLy4uL3F1ZXJ5XCI7XG5cbi8vIG5vaW5zcGVjdGlvbiBKU0Fubm90YXRvclxuZXhwb3J0IGNsYXNzIFJhbUluc2VydENsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgSW5zZXJ0Q2xhdXNlPFxuICBSYW1RdWVyeTxhbnk+LFxuICBNXG4+IHtcbiAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxJbnNlcnRDbGF1c2U8UmFtUXVlcnk8YW55PiwgTT4+KSB7XG4gICAgc3VwZXIoY2xhdXNlKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgYnVpbGQocXVlcnk6IFJhbVF1ZXJ5PGFueT4pOiBSYW1RdWVyeTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk5vdCBzdXBwb3J0ZWRcIik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { ModelArg, Model } from "@decaf-ts/decorator-validation";
2
+ import { RamQuery } from "../types";
3
+ import { InsertClause } from "../../query";
4
+ export declare class RamInsertClause<M extends Model> extends InsertClause<RamQuery<any>, M> {
5
+ constructor(clause: ModelArg<InsertClause<RamQuery<any>, M>>);
6
+ build(query: RamQuery<any>): RamQuery<any>;
7
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamOrderByClause = void 0;
4
+ const query_1 = require("./../../query/index.cjs");
5
+ const reflection_1 = require("@decaf-ts/reflection");
6
+ class RamOrderByClause extends query_1.OrderByClause {
7
+ constructor(clause) {
8
+ super(clause);
9
+ }
10
+ build(query) {
11
+ query.sort = (el1, el2) => {
12
+ const selectors = this.selector;
13
+ const [key, direction] = selectors[0];
14
+ const type = reflection_1.Reflection.getTypeFromDecorator(el1, key);
15
+ if (!type)
16
+ throw new query_1.QueryError(`type not compatible with sorting: ${type}`);
17
+ switch (type) {
18
+ case "string":
19
+ case "String":
20
+ return ((direction === "asc" ? 1 : -1) *
21
+ el1[key].localeCompare(el2[key]));
22
+ case "number":
23
+ case "Number":
24
+ return ((direction === "asc" ? 1 : -1) *
25
+ (el1[key] -
26
+ el2[key]));
27
+ case "object":
28
+ case "Object":
29
+ if (el1[key] instanceof Date &&
30
+ el2[key] instanceof Date)
31
+ return ((direction === "asc" ? 1 : -1) *
32
+ (el1[key].valueOf() -
33
+ el2[key].valueOf()));
34
+ throw new query_1.QueryError(`Sorting not supported for not date classes`);
35
+ default:
36
+ throw new query_1.QueryError(`sorting not supported for type ${type}`);
37
+ }
38
+ };
39
+ return query;
40
+ }
41
+ }
42
+ exports.RamOrderByClause = RamOrderByClause;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJCeUNsYXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yYW0vY2xhdXNlcy9PcmRlckJ5Q2xhdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUF5RTtBQUV6RSxxREFBa0Q7QUFFbEQsTUFBYSxnQkFBaUIsU0FBUSxxQkFBNEI7SUFDaEUsWUFBWSxNQUE4QztRQUN4RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFvQjtRQUN4QixLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBVSxFQUFFLEdBQVUsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUE2QixDQUFDO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLHVCQUFVLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxJQUFJO2dCQUNQLE1BQU0sSUFBSSxrQkFBVSxDQUFDLHFDQUFxQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRXBFLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxRQUFRO29CQUNYLE9BQU8sQ0FDTCxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzdCLEdBQUcsQ0FBQyxHQUFrQixDQUF1QixDQUFDLGFBQWEsQ0FDMUQsR0FBRyxDQUFDLEdBQWtCLENBQXNCLENBQzdDLENBQ0YsQ0FBQztnQkFDSixLQUFLLFFBQVEsQ0FBQztnQkFDZCxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxDQUNMLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDOUIsQ0FBRSxHQUFHLENBQUMsR0FBa0IsQ0FBdUI7NEJBQzVDLEdBQUcsQ0FBQyxHQUFrQixDQUF1QixDQUFDLENBQ2xELENBQUM7Z0JBQ0osS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxRQUFRO29CQUNYLElBQ0UsR0FBRyxDQUFDLEdBQWtCLENBQUMsWUFBWSxJQUFJO3dCQUN2QyxHQUFHLENBQUMsR0FBa0IsQ0FBQyxZQUFZLElBQUk7d0JBRXZDLE9BQU8sQ0FDTCxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzlCLENBQUUsR0FBRyxDQUFDLEdBQWtCLENBQXFCLENBQUMsT0FBTyxFQUFFO2dDQUNwRCxHQUFHLENBQUMsR0FBa0IsQ0FBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUMxRCxDQUFDO29CQUNKLE1BQU0sSUFBSSxrQkFBVSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7Z0JBQ3JFO29CQUNFLE1BQU0sSUFBSSxrQkFBVSxDQUFDLGtDQUFrQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQS9DRCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYW1RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgT3JkZXJCeUNsYXVzZSwgT3JkZXJCeVNlbGVjdG9yLCBRdWVyeUVycm9yIH0gZnJvbSBcIi4uLy4uL3F1ZXJ5XCI7XG5pbXBvcnQgeyBNb2RlbCwgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBSYW1PcmRlckJ5Q2xhdXNlIGV4dGVuZHMgT3JkZXJCeUNsYXVzZTxSYW1RdWVyeTxhbnk+PiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8T3JkZXJCeUNsYXVzZTxSYW1RdWVyeTxhbnk+Pj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgYnVpbGQocXVlcnk6IFJhbVF1ZXJ5PGFueT4pOiBSYW1RdWVyeTxhbnk+IHtcbiAgICBxdWVyeS5zb3J0ID0gKGVsMTogTW9kZWwsIGVsMjogTW9kZWwpID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdG9ycyA9IHRoaXMuc2VsZWN0b3IgYXMgT3JkZXJCeVNlbGVjdG9yW107XG4gICAgICBjb25zdCBba2V5LCBkaXJlY3Rpb25dID0gc2VsZWN0b3JzWzBdO1xuICAgICAgY29uc3QgdHlwZSA9IFJlZmxlY3Rpb24uZ2V0VHlwZUZyb21EZWNvcmF0b3IoZWwxLCBrZXkpO1xuICAgICAgaWYgKCF0eXBlKVxuICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihgdHlwZSBub3QgY29tcGF0aWJsZSB3aXRoIHNvcnRpbmc6ICR7dHlwZX1gKTtcblxuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgY2FzZSBcIlN0cmluZ1wiOlxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoZGlyZWN0aW9uID09PSBcImFzY1wiID8gMSA6IC0xKSAqXG4gICAgICAgICAgICAoZWwxW2tleSBhcyBrZXlvZiBNb2RlbF0gYXMgdW5rbm93biBhcyBzdHJpbmcpLmxvY2FsZUNvbXBhcmUoXG4gICAgICAgICAgICAgIGVsMltrZXkgYXMga2V5b2YgTW9kZWxdIGFzIHVua25vd24gYXMgc3RyaW5nXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwiTnVtYmVyXCI6XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAxIDogLTEpICpcbiAgICAgICAgICAgICgoZWwxW2tleSBhcyBrZXlvZiBNb2RlbF0gYXMgdW5rbm93biBhcyBudW1iZXIpIC1cbiAgICAgICAgICAgICAgKGVsMltrZXkgYXMga2V5b2YgTW9kZWxdIGFzIHVua25vd24gYXMgbnVtYmVyKSlcbiAgICAgICAgICApO1xuICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlbDFba2V5IGFzIGtleW9mIE1vZGVsXSBpbnN0YW5jZW9mIERhdGUgJiZcbiAgICAgICAgICAgIGVsMltrZXkgYXMga2V5b2YgTW9kZWxdIGluc3RhbmNlb2YgRGF0ZVxuICAgICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIChkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAxIDogLTEpICpcbiAgICAgICAgICAgICAgKChlbDFba2V5IGFzIGtleW9mIE1vZGVsXSBhcyB1bmtub3duIGFzIERhdGUpLnZhbHVlT2YoKSAtXG4gICAgICAgICAgICAgICAgKGVsMltrZXkgYXMga2V5b2YgTW9kZWxdIGFzIHVua25vd24gYXMgRGF0ZSkudmFsdWVPZigpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihgU29ydGluZyBub3Qgc3VwcG9ydGVkIGZvciBub3QgZGF0ZSBjbGFzc2VzYCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoYHNvcnRpbmcgbm90IHN1cHBvcnRlZCBmb3IgdHlwZSAke3R5cGV9YCk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { RamQuery } from "../types";
2
+ import { OrderByClause } from "../../query";
3
+ import { ModelArg } from "@decaf-ts/decorator-validation";
4
+ export declare class RamOrderByClause extends OrderByClause<RamQuery<any>> {
5
+ constructor(clause: ModelArg<OrderByClause<RamQuery<any>>>);
6
+ build(query: RamQuery<any>): RamQuery<any>;
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamSelectClause = void 0;
4
+ const query_1 = require("./../../query/index.cjs");
5
+ class RamSelectClause extends query_1.SelectClause {
6
+ constructor(clause) {
7
+ super(clause);
8
+ }
9
+ build(query) {
10
+ if (!this.selector || this.selector === query_1.Const.FULL_RECORD) {
11
+ query.select = undefined;
12
+ return query;
13
+ }
14
+ const selector = typeof this.selector === "string" ? [this.selector] : this.selector;
15
+ query.select = selector;
16
+ return query;
17
+ }
18
+ }
19
+ exports.RamSelectClause = RamSelectClause;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0Q2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JhbS9jbGF1c2VzL1NlbGVjdENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxtREFBa0Q7QUFFbEQsTUFBYSxlQUFpQyxTQUFRLG9CQUdyRDtJQUNDLFlBQVksTUFBZ0Q7UUFDMUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBb0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxhQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUQsS0FBSyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEUsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUF1QixDQUFDO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBbkJELDBDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsQXJnLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJhbVF1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDb25zdCwgU2VsZWN0Q2xhdXNlIH0gZnJvbSBcIi4uLy4uL3F1ZXJ5XCI7XG5cbmV4cG9ydCBjbGFzcyBSYW1TZWxlY3RDbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIFNlbGVjdENsYXVzZTxcbiAgUmFtUXVlcnk8YW55PixcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8U2VsZWN0Q2xhdXNlPFJhbVF1ZXJ5PGFueT4sIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICBidWlsZChxdWVyeTogUmFtUXVlcnk8YW55Pik6IFJhbVF1ZXJ5PGFueT4ge1xuICAgIGlmICghdGhpcy5zZWxlY3RvciB8fCB0aGlzLnNlbGVjdG9yID09PSBDb25zdC5GVUxMX1JFQ09SRCkge1xuICAgICAgcXVlcnkuc2VsZWN0ID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdG9yID1cbiAgICAgIHR5cGVvZiB0aGlzLnNlbGVjdG9yID09PSBcInN0cmluZ1wiID8gW3RoaXMuc2VsZWN0b3JdIDogdGhpcy5zZWxlY3RvcjtcbiAgICBxdWVyeS5zZWxlY3QgPSBzZWxlY3RvciBhcyAoa2V5b2YgTSlbXTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { ModelArg, Model } from "@decaf-ts/decorator-validation";
2
+ import { RamQuery } from "../types";
3
+ import { SelectClause } from "../../query";
4
+ export declare class RamSelectClause<M extends Model> extends SelectClause<RamQuery<any>, M> {
5
+ constructor(clause: ModelArg<SelectClause<RamQuery<any>, M>>);
6
+ build(query: RamQuery<any>): RamQuery<any>;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamValuesClause = void 0;
4
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
5
+ const query_1 = require("./../../query/index.cjs");
6
+ class RamValuesClause extends query_1.ValuesClause {
7
+ constructor(clause) {
8
+ super(clause);
9
+ }
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ build(previous) {
12
+ throw new db_decorators_1.InternalError("Not implemented");
13
+ }
14
+ }
15
+ exports.RamValuesClause = RamValuesClause;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVzQ2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JhbS9jbGF1c2VzL1ZhbHVlc0NsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFFeEQsbURBQTJDO0FBRTNDLE1BQWEsZUFBaUMsU0FBUSxvQkFHckQ7SUFDQyxZQUFZLE1BQWdEO1FBQzFELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELEtBQUssQ0FBQyxRQUF1QjtRQUMzQixNQUFNLElBQUksNkJBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQVpELDBDQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUmFtUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IFZhbHVlc0NsYXVzZSB9IGZyb20gXCIuLi8uLi9xdWVyeVwiO1xuXG5leHBvcnQgY2xhc3MgUmFtVmFsdWVzQ2xhdXNlPE0gZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBWYWx1ZXNDbGF1c2U8XG4gIFJhbVF1ZXJ5PGFueT4sXG4gIE1cbj4ge1xuICBjb25zdHJ1Y3RvcihjbGF1c2U6IE1vZGVsQXJnPFZhbHVlc0NsYXVzZTxSYW1RdWVyeTxhbnk+LCBNPj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBidWlsZChwcmV2aW91czogUmFtUXVlcnk8YW55Pik6IFJhbVF1ZXJ5PGFueT4ge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { ModelArg, Model } from "@decaf-ts/decorator-validation";
2
+ import { RamQuery } from "../types";
3
+ import { ValuesClause } from "../../query";
4
+ export declare class RamValuesClause<M extends Model> extends ValuesClause<RamQuery<any>, M> {
5
+ constructor(clause: ModelArg<ValuesClause<RamQuery<any>, M>>);
6
+ build(previous: RamQuery<any>): RamQuery<any>;
7
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RamWhereClause = void 0;
4
+ const query_1 = require("./../../query/index.cjs");
5
+ class RamWhereClause extends query_1.WhereClause {
6
+ constructor(clause) {
7
+ super(clause);
8
+ }
9
+ build(query) {
10
+ query.where = this.adapter.parseCondition(this.condition).where;
11
+ return query;
12
+ }
13
+ }
14
+ exports.RamWhereClause = RamWhereClause;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hlcmVDbGF1c2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFtL2NsYXVzZXMvV2hlcmVDbGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbURBQXFEO0FBRXJELE1BQWEsY0FBZSxTQUFRLG1CQUEwQjtJQUM1RCxZQUFZLE1BQTRDO1FBQ3RELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQW9CO1FBQ3hCLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQ3ZDLElBQUksQ0FBQyxTQUFzQixDQUM1QixDQUFDLEtBQUssQ0FBQztRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBWEQsd0NBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJhbVF1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDb25kaXRpb24sIFdoZXJlQ2xhdXNlIH0gZnJvbSBcIi4uLy4uL3F1ZXJ5XCI7XG5cbmV4cG9ydCBjbGFzcyBSYW1XaGVyZUNsYXVzZSBleHRlbmRzIFdoZXJlQ2xhdXNlPFJhbVF1ZXJ5PGFueT4+IHtcbiAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxXaGVyZUNsYXVzZTxSYW1RdWVyeTxhbnk+Pj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgYnVpbGQocXVlcnk6IFJhbVF1ZXJ5PGFueT4pOiBSYW1RdWVyeTxhbnk+IHtcbiAgICBxdWVyeS53aGVyZSA9IHRoaXMuYWRhcHRlci5wYXJzZUNvbmRpdGlvbihcbiAgICAgIHRoaXMuY29uZGl0aW9uIGFzIENvbmRpdGlvblxuICAgICkud2hlcmU7XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { ModelArg } from "@decaf-ts/decorator-validation";
2
+ import { RamQuery } from "../types";
3
+ import { WhereClause } from "../../query";
4
+ export declare class RamWhereClause extends WhereClause<RamQuery<any>> {
5
+ constructor(clause: ModelArg<WhereClause<RamQuery<any>>>);
6
+ build(query: RamQuery<any>): RamQuery<any>;
7
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./FromClause.cjs"), exports);
18
+ __exportStar(require("./InsertClause.cjs"), exports);
19
+ __exportStar(require("./OrderByClause.cjs"), exports);
20
+ __exportStar(require("./SelectClause.cjs"), exports);
21
+ __exportStar(require("./ValuesClause.cjs"), exports);
22
+ __exportStar(require("./WhereClause.cjs"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFtL2NsYXVzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUE2QjtBQUM3QixxREFBK0I7QUFDL0Isc0RBQWdDO0FBQ2hDLHFEQUErQjtBQUMvQixxREFBK0I7QUFDL0Isb0RBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vRnJvbUNsYXVzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW5zZXJ0Q2xhdXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9PcmRlckJ5Q2xhdXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TZWxlY3RDbGF1c2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1ZhbHVlc0NsYXVzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vV2hlcmVDbGF1c2VcIjtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from "./FromClause";
2
+ export * from "./InsertClause";
3
+ export * from "./OrderByClause";
4
+ export * from "./SelectClause";
5
+ export * from "./ValuesClause";
6
+ export * from "./WhereClause";
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./clauses/index.cjs"), exports);
18
+ __exportStar(require("./model/index.cjs"), exports);
19
+ __exportStar(require("./RamAdapter.cjs"), exports);
20
+ __exportStar(require("./RamClauseFactory.cjs"), exports);
21
+ __exportStar(require("./RamContext.cjs"), exports);
22
+ __exportStar(require("./RamPaginator.cjs"), exports);
23
+ __exportStar(require("./RamSequence.cjs"), exports);
24
+ __exportStar(require("./RamStatement.cjs"), exports);
25
+ __exportStar(require("./types.cjs"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBMEI7QUFDMUIsb0RBQXdCO0FBQ3hCLG1EQUE2QjtBQUM3Qix5REFBbUM7QUFDbkMsbURBQTZCO0FBQzdCLHFEQUErQjtBQUMvQixvREFBOEI7QUFDOUIscURBQStCO0FBQy9CLDhDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NsYXVzZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SYW1BZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SYW1DbGF1c2VGYWN0b3J5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SYW1Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SYW1QYWdpbmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JhbVNlcXVlbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SYW1TdGF0ZW1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export * from "./clauses";
2
+ export * from "./model";
3
+ export * from "./RamAdapter";
4
+ export * from "./RamClauseFactory";
5
+ export * from "./RamContext";
6
+ export * from "./RamPaginator";
7
+ export * from "./RamSequence";
8
+ export * from "./RamStatement";
9
+ export * from "./types";
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Sequence = void 0;
13
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
+ const model_1 = require("./../../model/index.cjs");
15
+ const identity_1 = require("./../../identity/index.cjs");
16
+ let Sequence = class Sequence extends model_1.BaseModel {
17
+ constructor(seq) {
18
+ super(seq);
19
+ }
20
+ };
21
+ exports.Sequence = Sequence;
22
+ __decorate([
23
+ (0, identity_1.pk)(),
24
+ __metadata("design:type", String)
25
+ ], Sequence.prototype, "id", void 0);
26
+ __decorate([
27
+ (0, decorator_validation_1.required)(),
28
+ (0, model_1.index)(),
29
+ __metadata("design:type", Object)
30
+ ], Sequence.prototype, "current", void 0);
31
+ exports.Sequence = Sequence = __decorate([
32
+ (0, model_1.table)("__RamSequence"),
33
+ (0, decorator_validation_1.model)(),
34
+ __metadata("design:paramtypes", [Object])
35
+ ], Sequence);
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFtU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFtL21vZGVsL1JhbVNlcXVlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlFQUFpRTtBQUVqRSxtREFBc0Q7QUFDdEQseURBQW9DO0FBSTdCLElBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUyxTQUFRLGlCQUFTO0lBb0JyQyxZQUFZLEdBQXdCO1FBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLENBQUM7Q0FDRixDQUFBO0FBdkJZLDRCQUFRO0FBUW5CO0lBREMsSUFBQSxhQUFFLEdBQUU7O29DQUNPO0FBVVo7SUFGQyxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLGFBQUssR0FBRTs7eUNBQ2tCO21CQWxCZixRQUFRO0lBRnBCLElBQUEsYUFBSyxFQUFDLGVBQWUsQ0FBQztJQUN0QixJQUFBLDRCQUFLLEdBQUU7O0dBQ0ssUUFBUSxDQXVCcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQmFzZU1vZGVsLCBpbmRleCwgdGFibGUgfSBmcm9tIFwiLi4vLi4vbW9kZWxcIjtcbmltcG9ydCB7IHBrIH0gZnJvbSBcIi4uLy4uL2lkZW50aXR5XCI7XG5cbkB0YWJsZShcIl9fUmFtU2VxdWVuY2VcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU2VxdWVuY2UgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICAvKipcbiAgICogQHN1bW1hcnkgdGhlIFByaW1hcnkga2V5IGZvciB0aGUgREJTZXF1ZW5jZVxuICAgKiBAcHJvcCBuYW1lXG4gICAqXG4gICAqIEBzZWUgcGtcbiAgICovXG4gIEBwaygpXG4gIGlkITogc3RyaW5nO1xuICAvKipcbiAgICogQHN1bW1hcnkgdGhlIGN1cnJlbnQgdmFsdWUgZm9yIHRoZSBEQlNlcXVlbmNlXG4gICAqIEBwcm9wIGN1cnJlbnRcbiAgICpcbiAgICogQHNlZSByZXF1aXJlZFxuICAgKiBAc2VlIGluZGV4XG4gICAqL1xuICBAcmVxdWlyZWQoKVxuICBAaW5kZXgoKVxuICBjdXJyZW50ITogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHNlcT86IE1vZGVsQXJnPFNlcXVlbmNlPikge1xuICAgIHN1cGVyKHNlcSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import type { ModelArg } from "@decaf-ts/decorator-validation";
2
+ import { BaseModel } from "../../model";
3
+ export declare class Sequence extends BaseModel {
4
+ /**
5
+ * @summary the Primary key for the DBSequence
6
+ * @prop name
7
+ *
8
+ * @see pk
9
+ */
10
+ id: string;
11
+ /**
12
+ * @summary the current value for the DBSequence
13
+ * @prop current
14
+ *
15
+ * @see required
16
+ * @see index
17
+ */
18
+ current: string | number;
19
+ constructor(seq?: ModelArg<Sequence>);
20
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./RamSequence.cjs"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFtL21vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9SYW1TZXF1ZW5jZVwiO1xuIl19
@@ -0,0 +1 @@
1
+ export * from "./RamSequence";
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFtL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3RvciwgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL3JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IENvbnRleHQsIFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUmFtQWRhcHRlciB9IGZyb20gXCIuL1JhbUFkYXB0ZXJcIjtcblxuZXhwb3J0IHR5cGUgUmFtU3RvcmFnZSA9IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG5leHBvcnQgdHlwZSBSYW1RdWVyeTxNIGV4dGVuZHMgTW9kZWw+ID0ge1xuICBzZWxlY3Q6IHVuZGVmaW5lZCB8IGtleW9mIE0gfCAoa2V5b2YgTSlbXTtcbiAgZnJvbTogc3RyaW5nIHwgTSB8IENvbnN0cnVjdG9yPE0+O1xuICB3aGVyZTogKGVsOiBNKSA9PiBib29sZWFuO1xuICBzb3J0PzogKGVsOiBNLCBlbDI6IE0pID0+IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHNraXA/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJhbUZsYWdzIGV4dGVuZHMgUmVwb3NpdG9yeUZsYWdzIHtcbiAgVVVJRDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBSYW1SZXBvc2l0b3J5PE0gZXh0ZW5kcyBNb2RlbD4gPSBSZXBvc2l0b3J5PFxuICBNLFxuICBSYW1RdWVyeTxNPixcbiAgUmFtQWRhcHRlcixcbiAgUmFtRmxhZ3MsXG4gIENvbnRleHQ8UmFtRmxhZ3M+XG4+O1xuIl19
@@ -0,0 +1,17 @@
1
+ import { Constructor, Model } from "@decaf-ts/decorator-validation";
2
+ import { Repository } from "../repository";
3
+ import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
4
+ import { RamAdapter } from "./RamAdapter";
5
+ export type RamStorage = Record<string, Record<string, any>>;
6
+ export type RamQuery<M extends Model> = {
7
+ select: undefined | keyof M | (keyof M)[];
8
+ from: string | M | Constructor<M>;
9
+ where: (el: M) => boolean;
10
+ sort?: (el: M, el2: M) => number;
11
+ limit?: number;
12
+ skip?: number;
13
+ };
14
+ export interface RamFlags extends RepositoryFlags {
15
+ UUID: string;
16
+ }
17
+ export type RamRepository<M extends Model> = Repository<M, RamQuery<M>, RamAdapter, RamFlags, Context<RamFlags>>;