Skip to content

Commit 3c3ae26

Browse files
committed
Added some checks on annotations.
1 parent 9031769 commit 3c3ae26

File tree

3 files changed

+36
-4
lines changed

3 files changed

+36
-4
lines changed

js/main/Db3.js

+25-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/main/Db3.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/Db3.ts

+10
Original file line numberDiff line numberDiff line change
@@ -3456,6 +3456,7 @@ module Db {
34563456
// --- Annotations
34573457
export function embedded(def :EntityType<any>, binding? :Internal.IBinding) :PropertyDecorator {
34583458
return function(target: Object, propertyKey: string | symbol) {
3459+
if (!def) throw new Error("Cannot find embedded class for " + propertyKey.toString());
34593460
var ret = meta.embedded(def, binding);
34603461
addDescriptor(target, propertyKey, ret);
34613462
installMetaGetter(target, propertyKey.toString(), ret);
@@ -3464,6 +3465,7 @@ module Db {
34643465

34653466
export function reference(def :EntityType<any>, project? :string[]) :PropertyDecorator {
34663467
return function(target: Object, propertyKey: string | symbol) {
3468+
if (!def) throw new Error("Cannot find referenced class for " + propertyKey.toString());
34673469
var ret = meta.reference(def, project);
34683470
addDescriptor(target, propertyKey, ret);
34693471
installMetaGetter(target, propertyKey.toString(), ret);
@@ -3472,6 +3474,7 @@ module Db {
34723474

34733475
export function map(valueType :EntityType<any>, reference :boolean = false, sorting? :Internal.SortingData) :PropertyDecorator {
34743476
return function(target: Object, propertyKey: string | symbol) {
3477+
if (!valueType) throw new Error("Cannot find map value type for " + propertyKey.toString());
34753478
var ret = meta.map(valueType, reference, sorting);
34763479
addDescriptor(target, propertyKey, ret);
34773480
installMetaGetter(target, propertyKey.toString(), ret);
@@ -3480,6 +3483,7 @@ module Db {
34803483

34813484
export function set(valueType :EntityType<any>, reference :boolean = false, sorting? :Internal.SortingData) :PropertyDecorator {
34823485
return function(target: Object, propertyKey: string | symbol) {
3486+
if (!valueType) throw new Error("Cannot find set value type for " + propertyKey.toString());
34833487
var ret = meta.set(valueType, reference, sorting);
34843488
addDescriptor(target, propertyKey, ret);
34853489
installMetaGetter(target, propertyKey.toString(), ret);
@@ -3488,6 +3492,7 @@ module Db {
34883492

34893493
export function list(valueType :EntityType<any>, reference :boolean = false, sorting? :Internal.SortingData) :PropertyDecorator {
34903494
return function(target: Object, propertyKey: string | symbol) {
3495+
if (!valueType) throw new Error("Cannot find list value type for " + propertyKey.toString());
34913496
var ret = meta.list(valueType, reference, sorting);
34923497
addDescriptor(target, propertyKey, ret);
34933498
installMetaGetter(target, propertyKey.toString(), ret);
@@ -3580,20 +3585,23 @@ module Db {
35803585

35813586
export module meta {
35823587
export function embedded(def :any, binding? :Internal.IBinding) :Db.Internal.EmbeddedMetaDescriptor {
3588+
if (!def) throw new Error("Cannot find embedded class");
35833589
var ret = new Db.Internal.EmbeddedMetaDescriptor();
35843590
ret.setType(def);
35853591
ret.setBinding(binding);
35863592
return ret;
35873593
}
35883594

35893595
export function reference(def :any, project? :string[]) :Db.Internal.ReferenceMetaDescriptor {
3596+
if (!def) throw new Error("Cannot find referenced class");
35903597
var ret = new Db.Internal.ReferenceMetaDescriptor();
35913598
ret.setType(def);
35923599
ret.project = project;
35933600
return ret;
35943601
}
35953602

35963603
export function map(valuetype: EntityType<any>, reference = false, sorting? :Internal.SortingData) :Db.Internal.MapMetaDescriptor {
3604+
if (!valuetype) throw new Error("Cannot find map value type");
35973605
var ret = new Db.Internal.MapMetaDescriptor();
35983606
ret.setType(valuetype);
35993607
ret.isReference = reference;
@@ -3602,6 +3610,7 @@ module Db {
36023610
}
36033611

36043612
export function set(valuetype: EntityType<any>, reference = false, sorting? :Internal.SortingData) :Db.Internal.SetMetaDescriptor {
3613+
if (!valuetype) throw new Error("Cannot find set value type");
36053614
var ret = new Db.Internal.SetMetaDescriptor();
36063615
ret.setType(valuetype);
36073616
ret.isReference = reference;
@@ -3610,6 +3619,7 @@ module Db {
36103619
}
36113620

36123621
export function list(valuetype: EntityType<any>, reference = false, sorting? :Internal.SortingData) :Db.Internal.ListMetaDescriptor {
3622+
if (!valuetype) throw new Error("Cannot find list value type");
36133623
var ret = new Db.Internal.ListMetaDescriptor();
36143624
ret.setType(valuetype);
36153625
ret.isReference = reference;

0 commit comments

Comments
 (0)