import type { BigIntOrObject, Nullable, NumberOrObject, StringOrObject } from "@joookiwi/type"; import type { EnumConstants } from "./EnumConstants"; import type { Enumerable } from "./Enumerable"; import type { EnumerableConstructor } from "./EnumerableConstructor"; import type { EnumerableWithNullableGrandParent } from "./EnumerableWithNullableGrandParent"; import type { EnumerableWithNullableGreatGrandParent } from "./EnumerableWithNullableGreatGrandParent"; import type { EnumerableWithNullableParent } from "./EnumerableWithNullableParent"; import type { EnumerableWithGrandParent } from "./EnumerableWithGrandParent"; import type { EnumerableWithGreatGrandParent } from "./EnumerableWithGreatGrandParent"; import type { EnumerableWithParent } from "./EnumerableWithParent"; import type { EnumWithNullableGrandParent } from "./EnumWithNullableGrandParent"; import type { EnumWithNullableGreatGrandParent } from "./EnumWithNullableGreatGrandParent"; import type { EnumWithNullableParent } from "./EnumWithNullableParent"; import type { EnumWithGrandParent } from "./EnumWithGrandParent"; import type { EnumWithGreatGrandParent } from "./EnumWithGreatGrandParent"; import type { EnumWithParent } from "./EnumWithParent"; /** * The {@link Enumerable} name in a {@link Object.toString toString()} method * * @deprecated Replace with the same type in @joookiwi/enumerable/type/toStringTag" instead. This will be removed in version 3.14. */ export type EnumerableName = typeof EnumConstants["ENUM_TO_STRING_TAG"]; /** * A conversion from an {@link Enumerable} to a primitive value ({@link String} or {@link Number}) * * @deprecated Replace with the same type in @joookiwi/enumerable/type/toPrimitive" instead. This will be removed in version 3.14. */ export type EnumerableToPrimitive = (Lowercase extends "number" ? ENUM["ordinal"] : never) | (Lowercase extends ("string" | "default") ? ENUM["name"] : never); /** * A {@link String} or {@link Enumerable.name} value * * @deprecated Replace with the same type in @joookiwi/enumerable/type/nameOf" instead. This will be removed in version 3.14. */ export type PossibleNameOf = NAME | NameOf; /** * A {@link String} or {@link Enumerable.ordinal} value * * @deprecated Replace with the same type in @joookiwi/enumerable/type/ordinalOf" instead. This will be removed in version 3.14. */ export type PossibleOrdinalOf = ORDINAL | OrdinalOf; /** * A join of both {@link String} and {@link Enumerable.name} * * @deprecated Replace with the same type in @joookiwi/enumerable/type/nameOf" instead. This will be removed in version 3.14. */ export type SpecificNameOf = NAME & NameOf; /** * A join of both {@link Number} and {@link Enumerable.ordinal} * * @deprecated Replace with the same type in @joookiwi/enumerable/type/ordinalOf" instead. This will be removed in version 3.14. */ export type SpecificOrdinalOf = ORDINAL & OrdinalOf; /** * A type to retrieve the {@link Enumerable.name name} of an {@link Enumerable} * with the combinaison of an {@link EnumerableConstructor} keys * and a {@link CompanionEnum} {@link CompanionEnum.instance instance} keys * * @see Enumerable.name * @deprecated Replace with the same type in @joookiwi/enumerable/type/nameOf" instead. This will be removed in version 3.14. */ export type NameOf = ENUM["name"]; /** * A type to retrieve the {@link Enumerable.ordinal ordinal} of an {@link Enumerable} * with the combinaison of an {@link EnumerableConstructor} keys * and a {@link CompanionEnum} {@link CompanionEnum.instance instance} keys * * @see Enumerable.ordinal * @deprecated Replace with the same type in @joookiwi/enumerable/type/ordinalOf" instead. This will be removed in version 3.14. */ export type OrdinalOf = ENUM["ordinal"]; /** * The {@link CompanionEnumDeclaration Companion enum} reference of an {@link EnumerableConstructor} * * @deprecated Replace with the same type in @joookiwi/enumerable/type/companionOf" instead. This will be removed in version 3.14. */ export type CompanionOf> = ENUM_CONSTRUCTOR["CompanionEnum"]["get"]; /** * The possible {@link Enumerable} members by itself * or by an inheritors (in the project) * * @see EnumConstants.EVERY_ENUMERABLE_MEMBERS * * @deprecated Replace with the same type in {@link KeyOfEnumerableWithGreatGrandParent} instead. This will be removed in version 3.14. */ export type PossibleEnumerableMembers = keyof Enumerable | keyof EnumerableWithNullableParent | keyof EnumerableWithParent | keyof EnumerableWithNullableGrandParent | keyof EnumerableWithGrandParent | keyof EnumerableWithNullableGreatGrandParent | keyof EnumerableWithGreatGrandParent; /** * A general {@link Enumerable} type possibility * * @deprecated Replace with the same type in {@link EnumerableOrStringOrNumericOrObject} instead. This will be removed in version 3.14. */ export type PossibleEnumerableValue = StringOrObject | NumberOrObject | BigIntOrObject | ENUM; /** * A strict {@link Enumerable} type possibility * * @deprecated Replace with the same type in {@link StrictEnumerableOrStringOrNumericOrObject} instead. This will be removed in version 3.14. */ export type PossibleEnumerableValueBy = StringOrObject | NumberOrObject | BigIntOrObject | ENUM; /** * Every possible {@link Symbol} passed to a {@link Enum} child * to create a {@link import('@joookiwi/lazy').Lazy Lazy} * * @deprecated Replace with the same type in @joookiwi/enumerable/type/symbol" instead. This will be removed in version 3.14. */ export type PossibleEnumSymbol = typeof EnumConstants["ENUM_REFERENCE_BY_ITS_NAME_SYMBOL" | "NULL_ENUM_REFERENCE_SYMBOL"]; /** * A type of {@link Enumerable} by its value or its {@link Enumerable.name name} (object or primitive) * via the {@link Nullable} value itself or a callback returning the {@link Nullable} value * * @deprecated Replace with the same type in @joookiwi/enumerable/type/possibleInstance" instead. This will be removed in version 3.14. */ export type PossibleEnumerableValueOrNameByValueOrCallback = Nullable> | PossibleEnumSymbol | (() => Nullable> | PossibleEnumSymbol>)>; /** @deprecated Replace with {@link ValueBySpecificOrdinal} instead. This will be removed in version 3.14 */ export type ValueByEnumerableConstructorAndEnumerableOrdinalAndOrdinal, ENUM extends Enumerable, ORDINAL extends number> = ENUM_CONSTRUCTOR[SpecificOrdinalOf & keyof ENUM_CONSTRUCTOR]; /** @deprecated Replace with {@link ValueBySpecificName} instead. This will be removed in version 3.14 */ export type ValueByEnumerableConstructorAndEnumerableNameAndName, ENUM extends Enumerable, NAME extends string> = ENUM_CONSTRUCTOR[SpecificNameOf & keyof ENUM_CONSTRUCTOR]; /** @deprecated Replace with {@link ValueByOrdinal} instead. This will be removed in version 3.14 */ export type ValueByEnumerableConstructorAndEnumerableOrdinal, ENUM extends Enumerable> = ENUM_CONSTRUCTOR[OrdinalOf & keyof ENUM_CONSTRUCTOR]; /** @deprecated Replace with {@link ValueByName} instead. This will be removed in version 3.14 */ export type ValueByEnumerableConstructorAndEnumerableName, ENUM extends Enumerable> = ENUM_CONSTRUCTOR[NameOf & keyof ENUM_CONSTRUCTOR]; /** @deprecated Replace with {@link OrdinalByName} instead. This will be removed in version 3.14 */ export type EnumerableOrdinalByEnumerableConstructorAndEnumerableNameAndName, ENUM extends Enumerable, NAME extends string> = OrdinalOf; /** @deprecated Replace with {@link NameByOrdinal} instead. This will be removed in version 3.14 */ export type EnumerableNameByEnumerableConstructorAndEnumerableOrdinalAndOrdinal, ENUM extends Enumerable, ORDINAL extends number> = NameOf; /** * The generic value of an {@link EnumWithNullableParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumWithNullableParentGeneralType = EnumWithNullableParent; /** * The generic value of an {@link EnumWithParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumWithParentGeneralType = EnumWithParent; /** * The generic value of an {@link EnumWithNullableGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumWithNullableGrandParentGeneralType = EnumWithNullableGrandParent, Enumerable>; /** * The generic value of an {@link EnumWithGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumWithGrandParentGeneralType = EnumWithGrandParent, Enumerable>; /** * The generic value of an {@link EnumWithNullableGreatGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumWithNullableGreatGrandParentGeneralType = EnumWithNullableGreatGrandParent, Enumerable>, EnumerableWithNullableParent, Enumerable>; /** * The generic value of an {@link EnumWithGreatGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumWithGreatGrandParentGeneralType = EnumWithGreatGrandParent, Enumerable>, EnumerableWithParent, Enumerable>; /** * The generic value of an {@link EnumerableWithNullableParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumerableWithNullableParentGeneralType = EnumerableWithNullableParent; /** * The generic value of an {@link EnumerableWithParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumerableWithParentGeneralType = EnumerableWithParent; /** * The generic value of an {@link EnumerableWithNullableGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumerableWithNullableGrandParentGeneralType = EnumerableWithNullableGrandParent, Enumerable>; /** * The generic value of an {@link EnumerableWithGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumerableWithGrandParentGeneralType = EnumerableWithGrandParent, Enumerable>; /** The generic value of an {@link EnumerableWithNullableGreatGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumerableWithNullableGreatGrandParentGeneralType = EnumerableWithNullableGreatGrandParent, Enumerable>, EnumerableWithNullableParent, Enumerable>; /** * The generic value of an {@link EnumerableWithGreatGrandParent} with its default values * * @deprecated Replace with the same type in @joookiwi/enumerable/type/general" instead. This will be removed in version 3.14. */ export type EnumerableWithGreatGrandParentGeneralType = EnumerableWithGreatGrandParent, Enumerable>, EnumerableWithParent, Enumerable>; //# sourceMappingURL=Enumerable.types.d.ts.map