6533d426cd6df9f19c48ffe48c43c1a17081c6c7a513b47eb9eaabfc79ed048b.json 3.7 KB

1
  1. {"ast":null,"code":"import { Logger } from \"./logger.js\";\nimport { GetClass } from \"./typeStore.js\";\n/**\n * Class used to enable instantiation of objects by class name\n */\nexport class InstantiationTools {\n /**\n * Tries to instantiate a new object from a given class name\n * @param className defines the class name to instantiate\n * @returns the new object or null if the system was not able to do the instantiation\n */\n static Instantiate(className) {\n if (this.RegisteredExternalClasses && this.RegisteredExternalClasses[className]) {\n return this.RegisteredExternalClasses[className];\n }\n const internalClass = GetClass(className);\n if (internalClass) {\n return internalClass;\n }\n Logger.Warn(className + \" not found, you may have missed an import.\");\n const arr = className.split(\".\");\n let fn = window || this;\n for (let i = 0, len = arr.length; i < len; i++) {\n fn = fn[arr[i]];\n }\n if (typeof fn !== \"function\") {\n return null;\n }\n return fn;\n }\n}\n/**\n * Use this object to register external classes like custom textures or material\n * to allow the loaders to instantiate them\n */\nInstantiationTools.RegisteredExternalClasses = {};","map":{"version":3,"names":["Logger","GetClass","InstantiationTools","Instantiate","className","RegisteredExternalClasses","internalClass","Warn","arr","split","fn","window","i","len","length"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Misc/instantiationTools.js"],"sourcesContent":["import { Logger } from \"./logger.js\";\nimport { GetClass } from \"./typeStore.js\";\n/**\n * Class used to enable instantiation of objects by class name\n */\nexport class InstantiationTools {\n /**\n * Tries to instantiate a new object from a given class name\n * @param className defines the class name to instantiate\n * @returns the new object or null if the system was not able to do the instantiation\n */\n static Instantiate(className) {\n if (this.RegisteredExternalClasses && this.RegisteredExternalClasses[className]) {\n return this.RegisteredExternalClasses[className];\n }\n const internalClass = GetClass(className);\n if (internalClass) {\n return internalClass;\n }\n Logger.Warn(className + \" not found, you may have missed an import.\");\n const arr = className.split(\".\");\n let fn = window || this;\n for (let i = 0, len = arr.length; i < len; i++) {\n fn = fn[arr[i]];\n }\n if (typeof fn !== \"function\") {\n return null;\n }\n return fn;\n }\n}\n/**\n * Use this object to register external classes like custom textures or material\n * to allow the loaders to instantiate them\n */\nInstantiationTools.RegisteredExternalClasses = {};\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,aAAa;AACpC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,CAAC;EAC5B;AACJ;AACA;AACA;AACA;EACI,OAAOC,WAAWA,CAACC,SAAS,EAAE;IAC1B,IAAI,IAAI,CAACC,yBAAyB,IAAI,IAAI,CAACA,yBAAyB,CAACD,SAAS,CAAC,EAAE;MAC7E,OAAO,IAAI,CAACC,yBAAyB,CAACD,SAAS,CAAC;IACpD;IACA,MAAME,aAAa,GAAGL,QAAQ,CAACG,SAAS,CAAC;IACzC,IAAIE,aAAa,EAAE;MACf,OAAOA,aAAa;IACxB;IACAN,MAAM,CAACO,IAAI,CAACH,SAAS,GAAG,4CAA4C,CAAC;IACrE,MAAMI,GAAG,GAAGJ,SAAS,CAACK,KAAK,CAAC,GAAG,CAAC;IAChC,IAAIC,EAAE,GAAGC,MAAM,IAAI,IAAI;IACvB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGL,GAAG,CAACM,MAAM,EAAEF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAE;MAC5CF,EAAE,GAAGA,EAAE,CAACF,GAAG,CAACI,CAAC,CAAC,CAAC;IACnB;IACA,IAAI,OAAOF,EAAE,KAAK,UAAU,EAAE;MAC1B,OAAO,IAAI;IACf;IACA,OAAOA,EAAE;EACb;AACJ;AACA;AACA;AACA;AACA;AACAR,kBAAkB,CAACG,yBAAyB,GAAG,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}