@halospv3/hce.shared-config
Version:
Automate commit message quality, changelogs, and CI/CD releases. Its `main` entry point is a Semantic Release config. Functions and classes are exposed for customization. An ESLint config, a Commitlint config, and addl. resources for .NET projects are als
16 lines • 1.27 kB
text/typescript
import { PropertyDescriptorMap } from "./PropertyDescriptorMap.mjs";
import { BaseClassProto, ConstructorLike, InstanceTypeOrSelf, ProtoOrSuperClass, SuperClassLike, WithProto } from "./inheritance.mjs";
import { InstancePropertyDescriptorMap } from "./InstancePropertyDescriptorMap.mjs";
//#region src/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.ts
/**
* Variant of {@link InstancePropertyDescriptorMap} with a lesser constraint on {@link T}.
* If {@link T} and/or {@link __proto__} are instantiable, the resulting
* property descriptor maps will be of the instances' types.
* @template T `null` or an `object`-like type.
* @template __proto__ The `[[Prototype]]` of {@link T}.
* @since 3.0.0
*/
type InstanceTypeOrSelfPropertyDescriptorMap<T extends object | null, __prototype__ extends ProtoOrSuperClass> = T extends ConstructorLike<T> ? __prototype__ extends SuperClassLike | BaseClassProto ? InstancePropertyDescriptorMap<T & WithProto<__prototype__>> : PropertyDescriptorMap<InstanceType<T>, InstanceTypeOrSelf<__prototype__>> : PropertyDescriptorMap<InstanceTypeOrSelf<T>, InstanceTypeOrSelf<__prototype__>>;
//#endregion
export { InstanceTypeOrSelfPropertyDescriptorMap };
//# sourceMappingURL=InstanceTypeOrSelfPropertyDescriptorMap.d.mts.map