UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

56 lines (55 loc) 1.94 kB
export interface LngLatLike { lng: number; lat: number; } export interface Vector2Like { x: number; y: number; } export interface Vector3Like { x: number; y: number; z: number; } export interface Vector4Like { x: number; y: number; z: number; w: number; } export interface ColorLike { r: number; g: number; b: number; } export declare type StringOrNumber = string | number; export declare type Boolean2 = [boolean, boolean]; export declare type Boolean3 = [boolean, boolean, boolean]; export declare type Boolean4 = [boolean, boolean, boolean, boolean]; export declare type Number2 = [number, number]; export declare type Number3 = [number, number, number]; export declare type Number4 = [number, number, number, number]; export declare type StringOrNumber2 = [StringOrNumber, StringOrNumber]; export declare type StringOrNumber3 = [StringOrNumber, StringOrNumber, StringOrNumber]; export declare type StringOrNumber4 = [StringOrNumber, StringOrNumber, StringOrNumber, StringOrNumber]; export declare type NumericAttribValueAsArray = Number2 | Number3 | Number4; export declare type NumericAttribValueAsVectorLike = Vector2Like | Vector3Like | Vector4Like | ColorLike; export declare type NumericAttribValue = number | NumericAttribValueAsVectorLike | NumericAttribValueAsArray; export declare type AttribValue = string | NumericAttribValue | boolean; export declare type Constructor<T = {}> = new (...args: any[]) => T; export interface PolyDictionary<T> { [Key: string]: T; } export declare type valueof<T> = T[keyof T]; interface typeMap { string: string; number: number; boolean: boolean; } declare type PrimitiveOrConstructor = { new (...args: any[]): any; } | keyof typeMap; export declare type GuardedType<T extends PrimitiveOrConstructor> = T extends { new (...args: any[]): infer U; } ? U : T extends keyof typeMap ? typeMap[T] : never; export {};