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({}); // falseis.geometry(obj)
Checks if obj is a THREE.BufferGeometry.
is.geometry(new THREE.BoxGeometry()); // trueis.geometry({}); // falseis.camera(obj)
Checks if obj is a THREE.Camera.
is.camera(new THREE.PerspectiveCamera()); // trueis.camera(new THREE.OrthographicCamera()); // trueis.camera({}); // falseis.orthographicCamera(obj)
Checks if obj is a THREE.OrthographicCamera.
is.orthographicCamera(new THREE.OrthographicCamera()); // trueis.orthographicCamera(new THREE.PerspectiveCamera()); // falseis.perspectiveCamera(obj)
Checks if obj is a THREE.PerspectiveCamera.
is.perspectiveCamera(new THREE.PerspectiveCamera()); // trueis.perspectiveCamera(new THREE.OrthographicCamera()); // falseis.renderer(obj)
Checks if obj is a valid renderer with a render() function
is.renderer(new THREE.WebGLRenderer()); // trueis.renderer({}); // falseis.renderer({ render() {} }); // trueis.scene(obj)
Checks is obj is a THREE.Scene.
is.scene(new THREE.Scene()); // trueis.scene({}); // falseis.object3D(obj)
Checks if obj is a THREE.Object3D.
is.object3D(new THREE.Mesh()); // trueis.object3D({}); // falseis.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