This commit is contained in:
barsdeveloper
2024-05-31 15:09:48 +02:00
parent 1c2778fbf8
commit ecc71b76d1
45 changed files with 1191 additions and 1078 deletions

View File

@@ -96,6 +96,19 @@
* (value: T): typeof value.constructor,
* }} TypeGetter
*/
/**
* @template T
* @typedef {T extends [infer A extends EntityConstructor] ? InstanceType<A>
* : T extends [infer A extends EntityConstructor, ...infer B] ? InstanceType<A> | UnionFromArray<B>
* : never
* } UnionFromArray
*/
/**
* @template {EntityConstructor} T
* @typedef {T extends AlternativesEntityConstructor & { alternatives: infer R } ? UnionFromArray<R>
* : InstanceType<T>
* } ExtractType
*/
/**
* @typedef {typeof import("./js/Blueprint.js").default} BlueprintConstructor
* @typedef {typeof import("./js/element/LinkElement.js").default} LinkElementConstructor
@@ -103,6 +116,7 @@
* @typedef {typeof import("./js/element/PinElement.js").default} PinElementConstructor
* @typedef {typeof import("./js/element/WindowElement.js").default} WindowElementConstructor
* @typedef {typeof import("./js/entity/IEntity.js").default} EntityConstructor
* @typedef {typeof import("./js/entity/AlternativesEntity.js").default} AlternativesEntityConstructor
* @typedef {typeof import("./js/entity/ObjectEntity.js").default} ObjectEntityConstructor
*/
/**
@@ -207,20 +221,11 @@
* @typedef {import("lit").CSSResult} CSSResult
* @typedef {import("lit").PropertyValues} PropertyValues
* @typedef {import("lit").TemplateResult} TemplateResult
* @typedef {import("parsernostrum/src/parser/Parser.js").default} Parser
*/
/**
* @template {AttributeConstructor<Attribute>} T
* @typedef {import("./js/serialization/Serializer.js").default<T>} Serializer
*/
/**
* @template {Attribute} T
* @typedef {import("./js/entity/MirroredEntity.js").default<T>} MirroredEntity
*/
/**
* @template {Attribute} T
* @typedef {typeof import("./js/entity/MirroredEntity.js").default<T>} MirroredEntityConstructor
*/
/**
* @template T
* @typedef {{
@@ -228,3 +233,7 @@
* evaluate<R>(pageFunction: (node: T) => R, options?: { timeout?: number }): Promise<R>
* } & import("@playwright/test").Locator} Locator
*/
/**
* @template T
* @typedef {import("parsernostrum").ProducerParser<T>} Parser
*/