@decaf-ts/core 0.7.8 → 0.7.9
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/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/decorators.d.ts +2 -0
- package/lib/esm/identity/decorators.js +50 -15
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/interfaces/SequenceOptions.d.ts +8 -1
- package/lib/esm/interfaces/SequenceOptions.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +2 -2
- package/lib/esm/persistence/Sequence.js +22 -9
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/identity/decorators.cjs +50 -14
- package/lib/identity/decorators.d.ts +2 -0
- package/lib/identity/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/SequenceOptions.d.ts +8 -1
- package/lib/interfaces/SequenceOptions.js.map +1 -1
- package/lib/persistence/Sequence.cjs +22 -9
- package/lib/persistence/Sequence.d.ts +2 -2
- package/lib/persistence/Sequence.js.map +1 -1
- package/package.json +1 -1
|
@@ -105,14 +105,17 @@ export class Sequence extends ContextualLoggedClass {
|
|
|
105
105
|
const toIncrementBy = count || incrementBy;
|
|
106
106
|
if (toIncrementBy % incrementBy !== 0)
|
|
107
107
|
throw new InternalError(`Value to increment does not consider the incrementBy setting: ${incrementBy}`);
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
const typeName = typeof type === "function" && type?.name
|
|
109
|
+
? type.name
|
|
110
|
+
: type;
|
|
111
|
+
switch (typeName) {
|
|
112
|
+
case Number.name:
|
|
110
113
|
next = this.parse(current) + toIncrementBy;
|
|
111
114
|
break;
|
|
112
|
-
case
|
|
115
|
+
case BigInt.name:
|
|
113
116
|
next = this.parse(current) + BigInt(toIncrementBy);
|
|
114
117
|
break;
|
|
115
|
-
case
|
|
118
|
+
case String.name:
|
|
116
119
|
next = this.parse(current);
|
|
117
120
|
break;
|
|
118
121
|
case "serial":
|
|
@@ -176,7 +179,13 @@ export class Sequence extends ContextualLoggedClass {
|
|
|
176
179
|
for (let i = 1; i <= count; i++) {
|
|
177
180
|
range.push(current + incrementBy * this.parse(i));
|
|
178
181
|
}
|
|
179
|
-
if (
|
|
182
|
+
if (this.options.type === "uuid" || this.options.type === "serial")
|
|
183
|
+
throw new UnsupportedError(`type ${this.options.type} is currently not suppported for this adapter`);
|
|
184
|
+
const typeName = typeof this.options.type === "function" &&
|
|
185
|
+
this.options.type?.name
|
|
186
|
+
? this.options.type.name
|
|
187
|
+
: this.options.type;
|
|
188
|
+
if (range[range.length - 1] !== next && typeName !== "String")
|
|
180
189
|
throw new InternalError("Miscalculation of range");
|
|
181
190
|
return range;
|
|
182
191
|
}
|
|
@@ -201,17 +210,21 @@ export class Sequence extends ContextualLoggedClass {
|
|
|
201
210
|
* @return {string|number|bigint} The converted value
|
|
202
211
|
*/
|
|
203
212
|
static parseValue(type, value) {
|
|
204
|
-
|
|
205
|
-
|
|
213
|
+
const typeName = typeof type === "function" && type?.name
|
|
214
|
+
? type.name
|
|
215
|
+
: type;
|
|
216
|
+
switch (typeName) {
|
|
217
|
+
case Number.name || Number.name.toLowerCase():
|
|
206
218
|
return typeof value === "string"
|
|
207
219
|
? parseInt(value)
|
|
208
220
|
: typeof value === "number"
|
|
209
221
|
? value
|
|
210
222
|
: BigInt(value);
|
|
211
|
-
case
|
|
223
|
+
case BigInt.name || BigInt.name.toLowerCase():
|
|
212
224
|
return BigInt(value);
|
|
225
|
+
case String.name || String.name.toLowerCase():
|
|
226
|
+
return value.toString();
|
|
213
227
|
case undefined:
|
|
214
|
-
case "String":
|
|
215
228
|
case "uuid":
|
|
216
229
|
case "serial":
|
|
217
230
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../../src/persistence/Sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../../src/persistence/Sequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pkOnCreate = pkOnCreate;
|
|
4
|
+
exports.pkDec = pkDec;
|
|
4
5
|
exports.pk = pk;
|
|
5
6
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
7
|
const SequenceOptions_1 = require("./../interfaces/SequenceOptions.cjs");
|
|
@@ -64,6 +65,53 @@ async function pkOnCreate(context, data, key, model) {
|
|
|
64
65
|
const next = await sequence.next(context);
|
|
65
66
|
setPrimaryKeyValue(model, key, next);
|
|
66
67
|
}
|
|
68
|
+
function pkDec(options, groupsort) {
|
|
69
|
+
return function pkDec(obj, attr) {
|
|
70
|
+
(0, decoration_1.prop)()(obj, attr);
|
|
71
|
+
switch (options.type) {
|
|
72
|
+
case undefined: {
|
|
73
|
+
const metaType = decoration_1.Metadata.type(obj.constructor, attr);
|
|
74
|
+
if (![Number.name, String.name, BigInt.name].includes(metaType?.name || metaType))
|
|
75
|
+
throw new Error("Incorrrect option type");
|
|
76
|
+
options.type = metaType;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case String.name || String.name.toLowerCase():
|
|
80
|
+
console.warn(`Deprecated "${options.type}" type in options`);
|
|
81
|
+
// eslint-disable-next-line no-fallthrough
|
|
82
|
+
case String:
|
|
83
|
+
options.generated = false;
|
|
84
|
+
options.type = String;
|
|
85
|
+
break;
|
|
86
|
+
case Number.name || String.name.toLowerCase():
|
|
87
|
+
console.warn(`Deprecated "${options.type}" type in options`);
|
|
88
|
+
// eslint-disable-next-line no-fallthrough
|
|
89
|
+
case Number:
|
|
90
|
+
options.generated = true;
|
|
91
|
+
options.type = Number;
|
|
92
|
+
break;
|
|
93
|
+
case BigInt.name || BigInt.name.toLowerCase():
|
|
94
|
+
console.warn(`Deprecated "${options.type}" type in options`);
|
|
95
|
+
// eslint-disable-next-line no-fallthrough
|
|
96
|
+
case BigInt:
|
|
97
|
+
options.type = BigInt;
|
|
98
|
+
options.generated = true;
|
|
99
|
+
break;
|
|
100
|
+
case "uuid":
|
|
101
|
+
case "serial":
|
|
102
|
+
options.generated = true;
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
throw new Error("Unsupported type");
|
|
106
|
+
}
|
|
107
|
+
if (typeof options.generated === "undefined") {
|
|
108
|
+
options.generated = true;
|
|
109
|
+
}
|
|
110
|
+
return (0, decoration_1.apply)((0, decorators_1.index)([constants_1.OrderDirection.ASC, constants_1.OrderDirection.DSC]), (0, decorator_validation_1.required)(), (0, db_decorators_1.readonly)(),
|
|
111
|
+
// Model.pk neeeds to get the pk property name from the first property of Metatada[DBKeys.ID] ---> { [DBKeys.ID]: { [attr]:options }}
|
|
112
|
+
(0, decoration_1.propMetadata)(decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, attr), options), (0, db_decorators_1.onCreate)(pkOnCreate, options, groupsort))(obj, attr);
|
|
113
|
+
};
|
|
114
|
+
}
|
|
67
115
|
/**
|
|
68
116
|
* @description Primary Key Decorator
|
|
69
117
|
* @summary Marks a property as the model's primary key with automatic sequence generation
|
|
@@ -85,20 +133,8 @@ async function pkOnCreate(context, data, key, model) {
|
|
|
85
133
|
* ```
|
|
86
134
|
*/
|
|
87
135
|
function pk(opts = SequenceOptions_1.DefaultSequenceOptions) {
|
|
88
|
-
opts = Object.assign({}, SequenceOptions_1.DefaultSequenceOptions, opts
|
|
89
|
-
|
|
90
|
-
? true
|
|
91
|
-
: opts.generated || SequenceOptions_1.DefaultSequenceOptions.generated,
|
|
92
|
-
});
|
|
93
|
-
const key = db_decorators_1.DBKeys.ID;
|
|
94
|
-
function pkDec(options, groupsort) {
|
|
95
|
-
return function pkDec(obj, attr) {
|
|
96
|
-
return (0, decoration_1.apply)((0, decorators_1.index)([constants_1.OrderDirection.ASC, constants_1.OrderDirection.DSC]), (0, decorator_validation_1.required)(), (0, db_decorators_1.readonly)(),
|
|
97
|
-
// Model.pk neeeds to get the pk property name from the first property of Metatada[DBKeys.ID] ---> { [DBKeys.ID]: { [attr]:options }}
|
|
98
|
-
(0, decoration_1.propMetadata)(decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, attr), options), (0, db_decorators_1.onCreate)(pkOnCreate, options, groupsort))(obj, attr);
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
return decoration_1.Decoration.for(key)
|
|
136
|
+
opts = Object.assign({}, SequenceOptions_1.DefaultSequenceOptions, opts);
|
|
137
|
+
return decoration_1.Decoration.for(db_decorators_1.DBKeys.ID)
|
|
102
138
|
.define({
|
|
103
139
|
decorator: pkDec,
|
|
104
140
|
args: [opts, { priority: defaultPkPriority }],
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
2
|
import { SequenceOptions } from "../interfaces/SequenceOptions";
|
|
3
|
+
import { GroupSort } from "@decaf-ts/db-decorators";
|
|
3
4
|
import { ContextOf } from "../persistence/types";
|
|
4
5
|
import { Repository } from "../repository/Repository";
|
|
5
6
|
/**
|
|
@@ -39,6 +40,7 @@ import { Repository } from "../repository/Repository";
|
|
|
39
40
|
* end
|
|
40
41
|
*/
|
|
41
42
|
export declare function pkOnCreate<M extends Model, R extends Repository<M, any>, V extends SequenceOptions>(this: R, context: ContextOf<R>, data: V, key: keyof M, model: M): Promise<void>;
|
|
43
|
+
export declare function pkDec(options: SequenceOptions, groupsort?: GroupSort): (obj: any, attr: any) => void;
|
|
42
44
|
/**
|
|
43
45
|
* @description Primary Key Decorator
|
|
44
46
|
* @summary Marks a property as the model's primary key with automatic sequence generation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
|
@@ -44,7 +44,7 @@ __exportStar(require("./ram/index.cjs"), exports);
|
|
|
44
44
|
* @const VERSION
|
|
45
45
|
* @memberOf module:core
|
|
46
46
|
*/
|
|
47
|
-
exports.VERSION = "0.7.
|
|
47
|
+
exports.VERSION = "0.7.9";
|
|
48
48
|
/**
|
|
49
49
|
* @description Stores the current package version
|
|
50
50
|
* @summary A constant representing the version of the core package
|
package/lib/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export * from "./ram";
|
|
|
20
20
|
* @const VERSION
|
|
21
21
|
* @memberOf module:core
|
|
22
22
|
*/
|
|
23
|
-
export declare const VERSION = "0.7.
|
|
23
|
+
export declare const VERSION = "0.7.9";
|
|
24
24
|
/**
|
|
25
25
|
* @description Stores the current package version
|
|
26
26
|
* @summary A constant representing the version of the core package
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Type of the sequence configuration options type property
|
|
3
|
+
* @summary Type of the sequence configuration options type property
|
|
4
|
+
* @interface SequenceOptionsType
|
|
5
|
+
* @memberOf module:core
|
|
6
|
+
*/
|
|
7
|
+
export type SequenceOptionsType = "Number" | "BigInt" | "String" | string | "serial" | "uuid" | StringConstructor | NumberConstructor | BigIntConstructor | undefined;
|
|
1
8
|
/**
|
|
2
9
|
* @description Interface for sequence configuration options
|
|
3
10
|
* @summary Defines the configuration options for creating and managing sequences
|
|
4
11
|
* @interface SequenceOptions
|
|
5
12
|
* @memberOf module:core
|
|
6
13
|
*/
|
|
7
|
-
export interface SequenceOptions<TYPE =
|
|
14
|
+
export interface SequenceOptions<TYPE = SequenceOptionsType> {
|
|
8
15
|
/**
|
|
9
16
|
* @description Optional name for the sequence
|
|
10
17
|
* @summary A unique identifier for the sequence
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceOptions.js","sourceRoot":"","sources":["../../src/interfaces/SequenceOptions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SequenceOptions.js","sourceRoot":"","sources":["../../src/interfaces/SequenceOptions.ts"],"names":[],"mappings":";;;AAsEA;;;;;GAKG;AACU,QAAA,mBAAmB,GAAoB;IAClD,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,KAAK;CACb,CAAC;AAEF;;;;;GAKG;AACU,QAAA,sBAAsB,GAAoB,2BAAmB,CAAC;AAE3E;;;;;GAKG;AACU,QAAA,eAAe,GAAoB;IAC9C,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,KAAK;CACb,CAAC;AAEF;;;;;GAKG;AACU,QAAA,cAAc,GAAoB,MAAM,CAAC,MAAM,CAC1D,EAAE,EACF,uBAAe,EACf;IACE,IAAI,EAAE,QAAQ;CACf,CACF,CAAC"}
|
|
@@ -108,14 +108,17 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
108
108
|
const toIncrementBy = count || incrementBy;
|
|
109
109
|
if (toIncrementBy % incrementBy !== 0)
|
|
110
110
|
throw new db_decorators_1.InternalError(`Value to increment does not consider the incrementBy setting: ${incrementBy}`);
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
const typeName = typeof type === "function" && type?.name
|
|
112
|
+
? type.name
|
|
113
|
+
: type;
|
|
114
|
+
switch (typeName) {
|
|
115
|
+
case Number.name:
|
|
113
116
|
next = this.parse(current) + toIncrementBy;
|
|
114
117
|
break;
|
|
115
|
-
case
|
|
118
|
+
case BigInt.name:
|
|
116
119
|
next = this.parse(current) + BigInt(toIncrementBy);
|
|
117
120
|
break;
|
|
118
|
-
case
|
|
121
|
+
case String.name:
|
|
119
122
|
next = this.parse(current);
|
|
120
123
|
break;
|
|
121
124
|
case "serial":
|
|
@@ -179,7 +182,13 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
179
182
|
for (let i = 1; i <= count; i++) {
|
|
180
183
|
range.push(current + incrementBy * this.parse(i));
|
|
181
184
|
}
|
|
182
|
-
if (
|
|
185
|
+
if (this.options.type === "uuid" || this.options.type === "serial")
|
|
186
|
+
throw new errors_1.UnsupportedError(`type ${this.options.type} is currently not suppported for this adapter`);
|
|
187
|
+
const typeName = typeof this.options.type === "function" &&
|
|
188
|
+
this.options.type?.name
|
|
189
|
+
? this.options.type.name
|
|
190
|
+
: this.options.type;
|
|
191
|
+
if (range[range.length - 1] !== next && typeName !== "String")
|
|
183
192
|
throw new db_decorators_1.InternalError("Miscalculation of range");
|
|
184
193
|
return range;
|
|
185
194
|
}
|
|
@@ -204,17 +213,21 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
204
213
|
* @return {string|number|bigint} The converted value
|
|
205
214
|
*/
|
|
206
215
|
static parseValue(type, value) {
|
|
207
|
-
|
|
208
|
-
|
|
216
|
+
const typeName = typeof type === "function" && type?.name
|
|
217
|
+
? type.name
|
|
218
|
+
: type;
|
|
219
|
+
switch (typeName) {
|
|
220
|
+
case Number.name || Number.name.toLowerCase():
|
|
209
221
|
return typeof value === "string"
|
|
210
222
|
? parseInt(value)
|
|
211
223
|
: typeof value === "number"
|
|
212
224
|
? value
|
|
213
225
|
: BigInt(value);
|
|
214
|
-
case
|
|
226
|
+
case BigInt.name || BigInt.name.toLowerCase():
|
|
215
227
|
return BigInt(value);
|
|
228
|
+
case String.name || String.name.toLowerCase():
|
|
229
|
+
return value.toString();
|
|
216
230
|
case undefined:
|
|
217
|
-
case "String":
|
|
218
231
|
case "uuid":
|
|
219
232
|
case "serial":
|
|
220
233
|
return value;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
|
-
import { SequenceOptions } from "../interfaces/SequenceOptions";
|
|
2
|
+
import { SequenceOptions, SequenceOptionsType } from "../interfaces/SequenceOptions";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
4
|
import { Context } from "@decaf-ts/db-decorators";
|
|
5
5
|
import { ContextualLoggedClass, MaybeContextualArg } from "../utils/ContextualLoggedClass";
|
|
@@ -109,5 +109,5 @@ export declare class Sequence extends ContextualLoggedClass<any> {
|
|
|
109
109
|
* @param {string|number|bigint} value - The value to convert
|
|
110
110
|
* @return {string|number|bigint} The converted value
|
|
111
111
|
*/
|
|
112
|
-
static parseValue(type:
|
|
112
|
+
static parseValue(type: SequenceOptionsType, value: string | number | bigint): string | number | bigint;
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/persistence/Sequence.ts"],"names":[],"mappings":";;;AAAA,yEAAuD;
|
|
1
|
+
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/persistence/Sequence.ts"],"names":[],"mappings":"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"}
|