Files
ueblueprint/js/entity/MirroredEntity.js
barsdeveloper 7469d55518 Replace parsing and test libraries
* WIP

* WIP

* wip

* WIP

* Several fixes

* Tests wip port to playwright

* WIP

* Fix more tests

* Serialization tests fixed

* Several fixes for tests

* Input options types

* Type adjustments

* Fix object reference parser

* Tests fixes

* More tests fixes
2024-02-14 00:40:42 +01:00

35 lines
687 B
JavaScript

/** @template {Attribute} T */
export default class MirroredEntity {
static attributes = {
type: {
ignored: true,
},
getter: {
ignored: true,
},
}
/**
* @param {ConstructorType<T>} type
* @param {() => T} getter
*/
constructor(type, getter = null) {
this.type = type
this.getter = getter
}
get() {
return this.getter()
}
/** @returns {AttributeConstructor<Attribute>} */
getTargetType() {
const result = this.type
if (result instanceof MirroredEntity) {
return result.getTargetType()
}
return result
}
}