Skip to content

⬅️ Back to Table of Contents

📄 WebGLProperties.js

📊 Analysis Summary

Metric Count
🔧 Functions 6
📊 Variables & Constants 1

📚 Table of Contents

🛠️ File Location:

📂 src/renderers/webgl/WebGLProperties.js

Variables & Constants

Name Type Kind Value Exported
properties WeakMap<WeakKey, any> let/var new WeakMap()

Functions

WebGLProperties(): { has: (object: any) => boolean; get: (object: any) => any; remove: (object: any) => void; update: (object: any, key: any, value: any) => void; dispose: () => void; }

Returns: { has: (object: any) => boolean; get: (object: any) => any; remove: (object: any) => void; update: (object: any, key: any, value: any) => void; dispose: () => void; }

Calls:

  • properties.has
  • properties.get
  • properties.set
  • properties.delete
Code
function WebGLProperties() {

    let properties = new WeakMap();

    function has( object ) {

        return properties.has( object );

    }

    function get( object ) {

        let map = properties.get( object );

        if ( map === undefined ) {

            map = {};
            properties.set( object, map );

        }

        return map;

    }

    function remove( object ) {

        properties.delete( object );

    }

    function update( object, key, value ) {

        properties.get( object )[ key ] = value;

    }

    function dispose() {

        properties = new WeakMap();

    }

    return {
        has: has,
        get: get,
        remove: remove,
        update: update,
        dispose: dispose
    };

}

has(object: any): boolean

Parameters:

  • object any

Returns: boolean

Calls:

  • properties.has
Code
function has( object ) {

        return properties.has( object );

    }

get(object: any): any

Parameters:

  • object any

Returns: any

Calls:

  • properties.get
  • properties.set
Code
function get( object ) {

        let map = properties.get( object );

        if ( map === undefined ) {

            map = {};
            properties.set( object, map );

        }

        return map;

    }

remove(object: any): void

Parameters:

  • object any

Returns: void

Calls:

  • properties.delete
Code
function remove( object ) {

        properties.delete( object );

    }

update(object: any, key: any, value: any): void

Parameters:

  • object any
  • key any
  • value any

Returns: void

Calls:

  • properties.get
Code
function update( object, key, value ) {

        properties.get( object )[ key ] = value;

    }

dispose(): void

Returns: void

Code
function dispose() {

        properties = new WeakMap();

    }