UNPKG

ts-tiled-converter

Version:

Typescript library to convert tiled map to Studio map

43 lines 2.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.listResources = void 0; var fs_1 = __importDefault(require("fs")); var objects_1 = require("./tiledXML/objects"); var decodeXML_1 = require("./tiledXML/decodeXML"); var util_1 = require("./util"); var path_1 = require("path"); var readTileset_1 = require("./reader/readTileset"); var listResources = function (path, knownTilesetFilenames) { try { var fileData = fs_1.default.readFileSync(path); var map = (0, decodeXML_1.decodeXML)(fileData)[0]; var tilesetSources = map.map .filter(util_1.filterTileset) .filter(function (tileset) { return !knownTilesetFilenames.includes((0, path_1.basename)((0, objects_1.getXMLProperties)(tileset).source || '')); }) .map(function (tileset) { return (0, objects_1.getXMLProperties)(tileset).source; }); var mapDirName_1 = (0, path_1.dirname)(path); var assetSources = tilesetSources.flatMap(function (src) { var tilesetPath = "".concat(mapDirName_1, "/").concat(src); var tileset = (0, util_1.throwIfError)((0, readTileset_1.readTileset)(tilesetPath)); var tilesetDirName = (0, path_1.dirname)(tilesetPath); return tileset.tileset .filter(function (i) { return 'image' in i; }) .map(function (i) { return (0, objects_1.getXMLProperties)(i).source; }) .map(function (i) { return ({ inTileset: i, pathIncludingMapDirname: "".concat(tilesetDirName, "/").concat(i), }); }); }); return { tilesetSources: tilesetSources, assetSources: assetSources, mapDirName: mapDirName_1 }; } catch (error) { if (error instanceof Error) return error; return new Error("Unknown error: ".concat(JSON.stringify(error))); } }; exports.listResources = listResources; //# sourceMappingURL=listResources.js.map