mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-05-08 03:57:29 +08:00
Entities tests fixed
This commit is contained in:
@@ -1,33 +1,23 @@
|
||||
import AttributeInfo from "../../js/entity/AttributeInfo.js"
|
||||
import ArrayEntity from "../../js/entity/ArrayEntity.js"
|
||||
import IEntity from "../../js/entity/IEntity.js"
|
||||
import NullEntity from "../../js/entity/NullEntity.js"
|
||||
import NumberEntity from "../../js/entity/NumberEntity.js"
|
||||
import Entity1 from "./Entity1.js"
|
||||
import Entity3 from "./Entity3.js"
|
||||
|
||||
export default class Entity4 extends IEntity {
|
||||
|
||||
static attributeSeparator = "\n"
|
||||
static keySeparator = " => "
|
||||
static printKey = k => ` \${${k}}`
|
||||
static wrap = (entity, v) => `Begin\n${v}\nEnd`
|
||||
static attributes = {
|
||||
first: new AttributeInfo({
|
||||
type: Entity3,
|
||||
default: new Entity3(),
|
||||
inlined: true,
|
||||
}),
|
||||
second: new AttributeInfo({
|
||||
default: [new Entity1({ a: 1, b: 2 }), new Entity1({ a: 11, b: 22 })],
|
||||
inlined: true,
|
||||
}),
|
||||
third: new AttributeInfo({
|
||||
type: Array,
|
||||
default: null,
|
||||
})
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super()
|
||||
/** @type {Entity1} */ this.second
|
||||
IEntity.defineAttributes(this.second, {
|
||||
0: {
|
||||
inlined: true,
|
||||
},
|
||||
})
|
||||
...super.attributes,
|
||||
first: Entity3.withDefault().flagInlined(),
|
||||
second: ArrayEntity.of(Entity1).withDefault(type => new type([
|
||||
new (Entity1.flagInlined())({ a: new NumberEntity(1), b: new NumberEntity(2) }),
|
||||
new Entity1({ a: new NumberEntity(11), b: new NumberEntity(22) }),
|
||||
])).flagInlined(),
|
||||
third: ArrayEntity.withDefault(() => new NullEntity()),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user