Entities semplification

* Entities semplification WIP

* Bug fixes after entity semplification

* Fix object serialization
This commit is contained in:
barsdeveloper
2023-05-05 18:50:31 +02:00
committed by GitHub
parent 4eb1ff2a7c
commit 90f19e1bca
26 changed files with 181 additions and 391 deletions

View File

@@ -132,7 +132,7 @@ describe("Entity initialization", () => {
"india",
"juliett",
"kilo",
"lima",
// "lima", // Not defined by default
"mike",
"november",
"oscar",
@@ -220,10 +220,6 @@ describe("Entity initialization", () => {
.which.is.an("array")
.and.is.deep.equal([true, false, false, true, true])
)
it("has lima undefined", () => expect(entity)
.to.have.property("lima")
.which.is.undefined
)
it("has mike equal to Foo", () => expect(entity)
.to.have.property("mike")
.which.is.a("string")

View File

@@ -5,15 +5,15 @@ export default class Entity1 extends IEntity {
static attributes = {
a: {
type: Number,
default: 8,
},
b: {
type: Number,
default: 9,
},
}
constructor(values = {}) {
values.a ??= 8
values.b ??= 9
super(values)
}
}

View File

@@ -27,6 +27,7 @@ export default class Entity2 extends IEntity {
},
someEntity: {
type: Entity1,
default: new Entity1()
},
}

View File

@@ -28,7 +28,7 @@ export default class Entity3 extends IEntity {
default: false,
},
golf: {
type: Array,
default: [],
},
hotel: {
type: Array,
@@ -36,6 +36,7 @@ export default class Entity3 extends IEntity {
},
india: {
type: [Number],
default: () => [],
},
juliett: {
type: [String],
@@ -47,8 +48,6 @@ export default class Entity3 extends IEntity {
},
lima: {
type: String,
default: "Foo",
showDefault: false,
},
mike: {
type: new UnionType(Number, String, Array),
@@ -56,11 +55,14 @@ export default class Entity3 extends IEntity {
},
november: {
type: new UnionType(Number, String, Array),
default: 0,
},
oscar: {
type: Entity1,
default: () => new Entity1()
},
papa: {
type: Entity1,
default: () => new Entity1({ a: 12, b: 13 }),
},
quebec: {
@@ -69,10 +71,12 @@ export default class Entity3 extends IEntity {
},
romeo: {
type: Entity1,
default: new Entity1(),
inlined: true,
},
sierra: {
type: Entity2,
default: new Entity2(),
inlined: true,
}
}

View File

@@ -7,6 +7,7 @@ export default class Entity4 extends IEntity {
static attributes = {
first: {
type: Entity3,
default: new Entity3(),
inlined: true,
},
second: {