@antelopejs/interface-database-decorators 0.1.2 → 0.1.4
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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/relation.d.ts +42 -0
- package/dist/relation.js +32 -0
- package/dist/relation.js.map +1 -0
- package/dist/tests/relation.test.d.ts +1 -0
- package/dist/tests/relation.test.js +112 -0
- package/dist/tests/relation.test.js.map +1 -0
- package/package.json +16 -4
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./common"), exports);
|
|
|
19
19
|
__exportStar(require("./database"), exports);
|
|
20
20
|
__exportStar(require("./model"), exports);
|
|
21
21
|
__exportStar(require("./modifiers"), exports);
|
|
22
|
+
__exportStar(require("./relation"), exports);
|
|
22
23
|
__exportStar(require("./schema"), exports);
|
|
23
24
|
__exportStar(require("./table"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Table } from "./table";
|
|
2
|
+
/**
|
|
3
|
+
* Options for the {@link Relation} decorator.
|
|
4
|
+
*/
|
|
5
|
+
export interface RelationOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Thunk returning the target Table class (lazy to allow forward references).
|
|
8
|
+
*/
|
|
9
|
+
to: () => typeof Table;
|
|
10
|
+
/**
|
|
11
|
+
* Field on the target table the relation points to. Defaults to the target
|
|
12
|
+
* table's primary key.
|
|
13
|
+
*/
|
|
14
|
+
toField?: string;
|
|
15
|
+
/**
|
|
16
|
+
* The decorated field holds multiple target keys (many targets per source
|
|
17
|
+
* record).
|
|
18
|
+
*/
|
|
19
|
+
many?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Relation Metadata.
|
|
23
|
+
*/
|
|
24
|
+
export declare class RelationStaticMetadata {
|
|
25
|
+
static key: symbol;
|
|
26
|
+
readonly relations: Record<string, RelationOptions>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Database Table Relation decorator.
|
|
30
|
+
*
|
|
31
|
+
* Declarative metadata only: database implementations do not enforce it (no
|
|
32
|
+
* foreign key constraint, no referential validation). It is consumed by
|
|
33
|
+
* introspection tooling to expose the links between tables.
|
|
34
|
+
*
|
|
35
|
+
* Available options:
|
|
36
|
+
* - `to`: Thunk returning the target Table class.
|
|
37
|
+
* - `toField`: Target field name (defaults to the target's primary key).
|
|
38
|
+
* - `many`: Whether the field holds multiple target keys.
|
|
39
|
+
*
|
|
40
|
+
* @param options Options
|
|
41
|
+
*/
|
|
42
|
+
export declare const Relation: (options: RelationOptions) => import("@antelopejs/interface-core/decorators").PropertyDecorator;
|
package/dist/relation.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Relation = exports.RelationStaticMetadata = void 0;
|
|
4
|
+
const decorators_1 = require("@antelopejs/interface-core/decorators");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
/**
|
|
7
|
+
* Relation Metadata.
|
|
8
|
+
*/
|
|
9
|
+
class RelationStaticMetadata {
|
|
10
|
+
static key = Symbol();
|
|
11
|
+
relations = {};
|
|
12
|
+
}
|
|
13
|
+
exports.RelationStaticMetadata = RelationStaticMetadata;
|
|
14
|
+
/**
|
|
15
|
+
* Database Table Relation decorator.
|
|
16
|
+
*
|
|
17
|
+
* Declarative metadata only: database implementations do not enforce it (no
|
|
18
|
+
* foreign key constraint, no referential validation). It is consumed by
|
|
19
|
+
* introspection tooling to expose the links between tables.
|
|
20
|
+
*
|
|
21
|
+
* Available options:
|
|
22
|
+
* - `to`: Thunk returning the target Table class.
|
|
23
|
+
* - `toField`: Target field name (defaults to the target's primary key).
|
|
24
|
+
* - `many`: Whether the field holds multiple target keys.
|
|
25
|
+
*
|
|
26
|
+
* @param options Options
|
|
27
|
+
*/
|
|
28
|
+
exports.Relation = (0, decorators_1.MakePropertyDecorator)((target, propertyKey, options) => {
|
|
29
|
+
const metadata = (0, common_1.getMetadata)(target.constructor, RelationStaticMetadata);
|
|
30
|
+
metadata.relations[String(propertyKey)] = options;
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=relation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":";;;AAAA,sEAA8E;AAC9E,qCAAuC;AAuBvC;;GAEG;AACH,MAAa,sBAAsB;IAC1B,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;IAEb,SAAS,GAAoC,EAAE,CAAC;;AAHlE,wDAIC;AAED;;;;;;;;;;;;;GAaG;AACU,QAAA,QAAQ,GAAG,IAAA,kCAAqB,EAC3C,CAAC,MAAM,EAAE,WAAW,EAAE,OAAwB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACzE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC;AACpD,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
const common_1 = require("@antelopejs/interface-database-decorators/common");
|
|
13
|
+
const relation_1 = require("@antelopejs/interface-database-decorators/relation");
|
|
14
|
+
const table_1 = require("@antelopejs/interface-database-decorators/table");
|
|
15
|
+
const chai_1 = require("chai");
|
|
16
|
+
describe("Relation - Relation decorator", () => {
|
|
17
|
+
it("stores relation options in metadata", async () => StoreRelationOptionsInMetadataTest());
|
|
18
|
+
it("stores toField and many options", async () => StoreToFieldAndManyOptionsTest());
|
|
19
|
+
it("supports multiple relations on one class", async () => SupportMultipleRelationsOnOneClassTest());
|
|
20
|
+
it("resolves forward references through the thunk", async () => ResolveForwardReferencesThroughThunkTest());
|
|
21
|
+
it("keeps metadata separate between classes", async () => KeepMetadataSeparateBetweenClassesTest());
|
|
22
|
+
});
|
|
23
|
+
async function StoreRelationOptionsInMetadataTest() {
|
|
24
|
+
class TargetTable extends table_1.Table {
|
|
25
|
+
name;
|
|
26
|
+
}
|
|
27
|
+
class SourceTable extends table_1.Table {
|
|
28
|
+
target;
|
|
29
|
+
}
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, relation_1.Relation)({ to: () => TargetTable }),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], SourceTable.prototype, "target", void 0);
|
|
34
|
+
const metadata = (0, common_1.getMetadata)(SourceTable, relation_1.RelationStaticMetadata);
|
|
35
|
+
(0, chai_1.expect)(metadata.relations).to.have.property("target");
|
|
36
|
+
(0, chai_1.expect)(metadata.relations.target.to()).to.equal(TargetTable);
|
|
37
|
+
(0, chai_1.expect)(metadata.relations.target.toField).to.equal(undefined);
|
|
38
|
+
(0, chai_1.expect)(metadata.relations.target.many).to.equal(undefined);
|
|
39
|
+
}
|
|
40
|
+
async function StoreToFieldAndManyOptionsTest() {
|
|
41
|
+
class TargetTable extends table_1.Table {
|
|
42
|
+
code;
|
|
43
|
+
}
|
|
44
|
+
class SourceTable extends table_1.Table {
|
|
45
|
+
targets;
|
|
46
|
+
}
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, relation_1.Relation)({ to: () => TargetTable, toField: "code", many: true }),
|
|
49
|
+
__metadata("design:type", Array)
|
|
50
|
+
], SourceTable.prototype, "targets", void 0);
|
|
51
|
+
const metadata = (0, common_1.getMetadata)(SourceTable, relation_1.RelationStaticMetadata);
|
|
52
|
+
(0, chai_1.expect)(metadata.relations.targets.toField).to.equal("code");
|
|
53
|
+
(0, chai_1.expect)(metadata.relations.targets.many).to.equal(true);
|
|
54
|
+
}
|
|
55
|
+
async function SupportMultipleRelationsOnOneClassTest() {
|
|
56
|
+
class UserTable extends table_1.Table {
|
|
57
|
+
name;
|
|
58
|
+
}
|
|
59
|
+
class RoleTable extends table_1.Table {
|
|
60
|
+
label;
|
|
61
|
+
}
|
|
62
|
+
class SourceTable extends table_1.Table {
|
|
63
|
+
owner;
|
|
64
|
+
roles;
|
|
65
|
+
}
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, relation_1.Relation)({ to: () => UserTable }),
|
|
68
|
+
__metadata("design:type", String)
|
|
69
|
+
], SourceTable.prototype, "owner", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, relation_1.Relation)({ to: () => RoleTable, many: true }),
|
|
72
|
+
__metadata("design:type", Array)
|
|
73
|
+
], SourceTable.prototype, "roles", void 0);
|
|
74
|
+
const metadata = (0, common_1.getMetadata)(SourceTable, relation_1.RelationStaticMetadata);
|
|
75
|
+
(0, chai_1.expect)(Object.keys(metadata.relations)).to.have.members(["owner", "roles"]);
|
|
76
|
+
(0, chai_1.expect)(metadata.relations.owner.to()).to.equal(UserTable);
|
|
77
|
+
(0, chai_1.expect)(metadata.relations.roles.to()).to.equal(RoleTable);
|
|
78
|
+
}
|
|
79
|
+
async function ResolveForwardReferencesThroughThunkTest() {
|
|
80
|
+
class SourceTable extends table_1.Table {
|
|
81
|
+
later;
|
|
82
|
+
}
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, relation_1.Relation)({ to: () => LaterTable }),
|
|
85
|
+
__metadata("design:type", String)
|
|
86
|
+
], SourceTable.prototype, "later", void 0);
|
|
87
|
+
class LaterTable extends table_1.Table {
|
|
88
|
+
name;
|
|
89
|
+
}
|
|
90
|
+
const metadata = (0, common_1.getMetadata)(SourceTable, relation_1.RelationStaticMetadata);
|
|
91
|
+
(0, chai_1.expect)(metadata.relations.later.to()).to.equal(LaterTable);
|
|
92
|
+
}
|
|
93
|
+
async function KeepMetadataSeparateBetweenClassesTest() {
|
|
94
|
+
class TargetTable extends table_1.Table {
|
|
95
|
+
name;
|
|
96
|
+
}
|
|
97
|
+
class FirstTable extends table_1.Table {
|
|
98
|
+
target;
|
|
99
|
+
}
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, relation_1.Relation)({ to: () => TargetTable }),
|
|
102
|
+
__metadata("design:type", String)
|
|
103
|
+
], FirstTable.prototype, "target", void 0);
|
|
104
|
+
class SecondTable extends table_1.Table {
|
|
105
|
+
other;
|
|
106
|
+
}
|
|
107
|
+
const firstMetadata = (0, common_1.getMetadata)(FirstTable, relation_1.RelationStaticMetadata);
|
|
108
|
+
const secondMetadata = (0, common_1.getMetadata)(SecondTable, relation_1.RelationStaticMetadata);
|
|
109
|
+
(0, chai_1.expect)(firstMetadata.relations).to.have.property("target");
|
|
110
|
+
(0, chai_1.expect)(secondMetadata.relations).to.not.have.property("target");
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=relation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.test.js","sourceRoot":"","sources":["../../src/tests/relation.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/interface-database-decorators",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "AntelopeJS interface for database schema decorators and model definitions",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antelopejs",
|
|
@@ -37,6 +37,10 @@
|
|
|
37
37
|
"types": "./dist/model.d.ts",
|
|
38
38
|
"default": "./dist/model.js"
|
|
39
39
|
},
|
|
40
|
+
"./relation": {
|
|
41
|
+
"types": "./dist/relation.d.ts",
|
|
42
|
+
"default": "./dist/relation.js"
|
|
43
|
+
},
|
|
40
44
|
"./schema": {
|
|
41
45
|
"types": "./dist/schema.d.ts",
|
|
42
46
|
"default": "./dist/schema.js"
|
|
@@ -73,13 +77,13 @@
|
|
|
73
77
|
"test": "pnpm run build && ajs module test ."
|
|
74
78
|
},
|
|
75
79
|
"dependencies": {
|
|
76
|
-
"@antelopejs/interface-api": "^0.0.3",
|
|
77
|
-
"@antelopejs/interface-core": "^0.0.3",
|
|
78
|
-
"@antelopejs/interface-database": "^0.1.1",
|
|
79
80
|
"randomstring": "^1.3.1",
|
|
80
81
|
"reflect-metadata": "^0.2.2"
|
|
81
82
|
},
|
|
82
83
|
"devDependencies": {
|
|
84
|
+
"@antelopejs/interface-api": "^0.0.5",
|
|
85
|
+
"@antelopejs/interface-core": "^0.0.5",
|
|
86
|
+
"@antelopejs/interface-database": "^0.1.3",
|
|
83
87
|
"@biomejs/biome": "2.3.2",
|
|
84
88
|
"@types/chai": "^4.3.20",
|
|
85
89
|
"@types/mocha": "^10.0.10",
|
|
@@ -93,6 +97,11 @@
|
|
|
93
97
|
"rimraf": "^6.1.3",
|
|
94
98
|
"typescript": "^5.9.3"
|
|
95
99
|
},
|
|
100
|
+
"peerDependencies": {
|
|
101
|
+
"@antelopejs/interface-api": ">=0.0.3 <1.0.0",
|
|
102
|
+
"@antelopejs/interface-core": ">=0.0.3 <1.0.0",
|
|
103
|
+
"@antelopejs/interface-database": ">=0.1.1 <1.0.0"
|
|
104
|
+
},
|
|
96
105
|
"publishConfig": {
|
|
97
106
|
"access": "public"
|
|
98
107
|
},
|
|
@@ -107,6 +116,9 @@
|
|
|
107
116
|
"model": [
|
|
108
117
|
"dist/model.d.ts"
|
|
109
118
|
],
|
|
119
|
+
"relation": [
|
|
120
|
+
"dist/relation.d.ts"
|
|
121
|
+
],
|
|
110
122
|
"schema": [
|
|
111
123
|
"dist/schema.d.ts"
|
|
112
124
|
],
|