UNPKG

@polygonjs/polygonjs

Version:

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

83 lines (82 loc) 3.14 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 type Tuple1<T> = [T]; export type Tuple2<T> = [T, T]; export type Tuple3<T> = [T, T, T]; export type Tuple4<T> = [T, T, T, T]; export type Tuple5<T> = [T, T, T, T, T]; export type Tuple6<T> = [T, T, T, T, T, T]; export type Tuple7<T> = [T, T, T, T, T, T, T]; export type Tuple8<T> = [T, T, T, T, T, T, T, T]; export type Tuple9<T> = [T, T, T, T, T, T, T, T, T]; export type Tuple10<T> = [T, T, T, T, T, T, T, T, T, T]; export type Tuple11<T> = [T, T, T, T, T, T, T, T, T, T, T]; export type Tuple12<T> = [T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple13<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple14<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple15<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple16<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple17<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple18<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple19<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple20<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple21<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type Tuple22<T> = [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T]; export type StringOrNumber = string | number; export type Boolean2 = Tuple2<boolean>; export type Boolean3 = Tuple3<boolean>; export type Boolean4 = Tuple4<boolean>; export type Number2 = Tuple2<number>; export type Number3 = Tuple3<number>; export type Number4 = Tuple4<number>; export type Number9 = Tuple9<number>; export type Number16 = Tuple16<number>; export type StringOrNumber2 = Tuple2<StringOrNumber>; export type StringOrNumber3 = Tuple3<StringOrNumber>; export type StringOrNumber4 = Tuple4<StringOrNumber>; export type NumericAttribValueAsArray = Number2 | Number3 | Number4; export type NumericAttribValueAsVectorLike = Vector2Like | Vector3Like | Vector4Like | ColorLike; export type NumericAttribValue = number | NumericAttribValueAsVectorLike | NumericAttribValueAsArray; export type AttribValue = string | NumericAttribValue | boolean; export type Constructor<T = {}> = new (...args: any[]) => T; export interface PolyDictionary<T> { [Key: string]: T; } export type valueof<T> = T[keyof T]; interface typeMap { string: string; number: number; boolean: boolean; } type PrimitiveOrConstructor = { new (...args: any[]): any; } | keyof typeMap; export type GuardedType<T extends PrimitiveOrConstructor> = T extends { new (...args: any[]): infer U; } ? U : T extends keyof typeMap ? typeMap[T] : never; export type ConvertToStrings<T> = { [P in keyof T]: string; }; export {};