is
The is
utility provides type guards and comparison functions for THREE.js and Angular Three objects.
is.material(obj)
Checks if obj
is a THREE.Material
.
is.material(new THREE.MeshBasicMaterial()); // trueis.material({}); // false
is.geometry(obj)
Checks if obj
is a THREE.BufferGeometry
.
is.geometry(new THREE.BoxGeometry()); // trueis.geometry({}); // false
is.camera(obj)
Checks if obj
is a THREE.Camera
.
is.camera(new THREE.PerspectiveCamera()); // trueis.camera(new THREE.OrthographicCamera()); // trueis.camera({}); // false
is.orthographicCamera(obj)
Checks if obj
is a THREE.OrthographicCamera
.
is.orthographicCamera(new THREE.OrthographicCamera()); // trueis.orthographicCamera(new THREE.PerspectiveCamera()); // false
is.perspectiveCamera(obj)
Checks if obj
is a THREE.PerspectiveCamera
.
is.perspectiveCamera(new THREE.PerspectiveCamera()); // trueis.perspectiveCamera(new THREE.OrthographicCamera()); // false
is.renderer(obj)
Checks if obj
is a valid renderer with a render()
function
is.renderer(new THREE.WebGLRenderer()); // trueis.renderer({}); // falseis.renderer({ render() {} }); // true
is.scene(obj)
Checks is obj
is a THREE.Scene
.
is.scene(new THREE.Scene()); // trueis.scene({}); // false
is.object3D(obj)
Checks if obj
is a THREE.Object3D
.
is.object3D(new THREE.Mesh()); // trueis.object3D({}); // false
is.three(value, isKey)
Generic type guard for THREE.js objects using their is*
property. This avoids instanceof
check
is.three<THREE.Color>(maybeColor, 'isColor');is.three<THREE.Mesh>(maybeMesh, 'isMesh');
is.equ(a, b, config)
Deep equality comparison with configurable behavior.
arrays
: how to compare arrays ('shallow' | 'reference'
, default:'shallow'
)objects
: how to compare objects ('shallow' | 'reference'
, default:'reference'
)strict
: whether to do strict comparison (boolean
, default:true
)
is.equ([1,2,3], [1,2,3]) // trueis.equ({a:1}, {a:1}) // falseis.equ({a:1}, {a:1}, { objects: 'shallow' }) // trueis.equ([1,2,3], [1,2,3], { arrays: 'reference' }) // false