This commit is contained in:
barsdeveloper
2024-06-06 20:10:17 +02:00
parent 6d99db5fd1
commit ad4ba2c46d
12 changed files with 123 additions and 142 deletions

View File

@@ -9,6 +9,10 @@ export default class ArrayEntity extends IEntity {
static type
static grammar = this.createGrammar()
get length() {
return this.values.length
}
/** @param {T[]} values */
constructor(values = []) {
super()
@@ -36,7 +40,7 @@ export default class ArrayEntity extends IEntity {
* @param {T} type
*/
static of(type) {
const result = /** @type {{type: T, grammar: P<ArrayEntity<ExtractType<T>>> } & typeof ArrayEntity<ExtractType<T>>} */(
const result = /** @type {typeof ArrayEntity<ExtractType<T>> & {type: T, grammar: P<ArrayEntity<ExtractType<T>>> }} */(
this.asUniqueClass()
)
result.type = /** @type {ExtractType<T>} */(type)