UNPKG

polygonjs-engine

Version:

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

22 lines (19 loc) 771 B
import {AssemblersMap} from './All'; import {BaseAssemblersRegister, AssemblerName} from './_BaseRegister'; import {BaseNodeType} from '../../../nodes/_Base'; export class AssemblersRegister extends BaseAssemblersRegister { assembler<K extends keyof AssemblersMap>(node: BaseNodeType, name: K): AssemblersMap[K]['controller'] | undefined { const pair = this._controller_assembler_by_name.get(name as AssemblerName); if (pair) { const controller = pair.controller; const assembler = pair.assembler; return new controller(node, assembler); } return pair; } unregister<K extends keyof AssemblersMap>(name: K) { const pair = this._controller_assembler_by_name.get(name as AssemblerName); super.unregister(name as AssemblerName); return pair; } }