Files
ueblueprint/cypress/fixtures/Entity3.js
barsdeveloper 90f19e1bca Entities semplification
* Entities semplification WIP

* Bug fixes after entity semplification

* Fix object serialization
2023-05-05 18:50:31 +02:00

88 lines
2.0 KiB
JavaScript

import Entity1 from "./Entity1.js"
import Entity2 from "./Entity2.js"
import IEntity from "../../js/entity/IEntity.js"
import UnionType from "../../js/entity/UnionType.js"
export default class Entity3 extends IEntity {
static attributes = {
alpha: {
default: 32,
},
bravo: {
type: Number,
default: 78,
},
charlie: {
type: String,
default: "Charlie",
},
delta: {
type: String,
default: null,
},
echo: {
default: "echo",
},
foxtrot: {
default: false,
},
golf: {
default: [],
},
hotel: {
type: Array,
default: null,
},
india: {
type: [Number],
default: () => [],
},
juliett: {
type: [String],
default: ["a", "b", "c", "d", "e"],
},
kilo: {
type: [Boolean],
default: () => [true, false, false, true, true],
},
lima: {
type: String,
},
mike: {
type: new UnionType(Number, String, Array),
default: "Bar",
},
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: {
default: 0, // will assign undefined because it does not satisfy the predicate
predicate: v => v >= 1 && v <= 10,
},
romeo: {
type: Entity1,
default: new Entity1(),
inlined: true,
},
sierra: {
type: Entity2,
default: new Entity2(),
inlined: true,
}
}
static {
this.cleanupAttributes(this.attributes)
}
}