(settings, map)
| 231 | * @ignore |
| 232 | */ |
| 233 | export function createTMXObject(settings, map) { |
| 234 | if (!factoriesInitialized) { |
| 235 | initFactories(); |
| 236 | } |
| 237 | |
| 238 | const type = detectObjectType(settings); |
| 239 | |
| 240 | // TMXLayer instances are already instantiated — pass through |
| 241 | if (type === "layer") { |
| 242 | return settings; |
| 243 | } |
| 244 | |
| 245 | const factory = factories.get(type); |
| 246 | if (typeof factory === "undefined") { |
| 247 | throw new Error("no Tiled object factory registered for type: " + type); |
| 248 | } |
| 249 | |
| 250 | return factory(settings, map); |
| 251 | } |
| 252 | |
| 253 | // wire pool.register() to automatically register Tiled object factories |
| 254 | // uses pool.pull instead of new Constructor to preserve object recycling |
no test coverage detected