UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

28 lines 1.26 kB
import { Point } from "@lincode/math"; import { forceGetInstance } from "@lincode/utils"; import { INVERSE_STANDARD_FRAME } from "../../globals"; import { isNullableCallbackParam, nullableCallbackParams } from "../../collections/typeGuards"; export class NullableCallbackParam { value; allowInput; constructor(value, allowInput = true) { this.value = value; this.allowInput = allowInput; Object.freeze(this); } } export const nullableCallbackVoidParam = new NullableCallbackParam(); export const nullableCallbackNumberParam = new NullableCallbackParam(0); export const nullableCallbackDtParam = new NullableCallbackParam(INVERSE_STANDARD_FRAME, false); export const nullableCallbackPtParam = Object.freeze(new Point(0, 0)); export const isNullableCallbackParamInstance = (value) => isNullableCallbackParam(value) && "value" in value; export default class NullableCallback { param; constructor(param) { this.param = param; nullableCallbackParams.add(param); } } const nullableCallbackMap = new Map(); export const nullableCallback = (value = nullableCallbackVoidParam) => forceGetInstance(nullableCallbackMap, value, NullableCallback, [value]); //# sourceMappingURL=NullableCallback.js.map