parse-tmx 2.34.1 → 2.34.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -3
- package/dist/index.js +13 -14
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -144,13 +144,14 @@ declare enum Flipped {
|
|
|
144
144
|
Horizontally = 2147483648
|
|
145
145
|
}
|
|
146
146
|
declare const Flippeds: ReadonlySet<Flipped>;
|
|
147
|
-
declare const getDecompressedBytes: (bytes: Uint8Array, compression: Compression.Gzip | Compression.Zlib) => Promise<Uint8Array>;
|
|
148
|
-
declare const isExternalTileset: (tileset: TMXEmbeddedTilesetShared | TMXExternalTilesetShared) => tileset is TMXExternalTilesetShared;
|
|
149
147
|
declare class BaseTMXNode<T> {
|
|
150
148
|
#private;
|
|
151
149
|
[key: string]: unknown;
|
|
152
150
|
$: T;
|
|
153
151
|
}
|
|
152
|
+
declare const cloneNodeWithType: <TParsed>(node: BaseTMXNode<unknown>) => TParsed;
|
|
153
|
+
declare const getDecompressedBytes: (bytes: Uint8Array, compression: Compression.Gzip | Compression.Zlib) => Promise<Uint8Array>;
|
|
154
|
+
declare const isExternalTileset: (tileset: TMXEmbeddedTilesetShared | TMXExternalTilesetShared) => tileset is TMXExternalTilesetShared;
|
|
154
155
|
type TMXNode<T, TChildNode extends BaseTMXNode<unknown> | undefined = undefined> = BaseTMXNode<T> & {
|
|
155
156
|
$$: TChildNode extends undefined ? undefined : TChildNode[];
|
|
156
157
|
};
|
|
@@ -244,4 +245,4 @@ declare enum TMXNodeType {
|
|
|
244
245
|
Tileset = "tileset"
|
|
245
246
|
}
|
|
246
247
|
interface TMXExportParsed extends TMXExportShared {}
|
|
247
|
-
export { BaseTMXNode, Compression, Encoding, Flipped, Flippeds, Shape, TMX, TMXBaseTilesetShared, TMXDataNode, TMXEditorSettingsNode, TMXEditorSettingsParsed, TMXEmbeddedTilesetNode, TMXEmbeddedTilesetParsed, TMXEmbeddedTilesetShared, TMXExportNode, TMXExportParsed, TMXExportShared, TMXExternalTilesetNode, TMXExternalTilesetParsed, TMXExternalTilesetShared, TMXFlipsParsed, TMXGroupLayerNode, TMXGroupLayerParsed, TMXGroupLayerShared, TMXImageNode, TMXImageParsed, TMXImageShared, TMXLayerNode, TMXLayerParsed, TMXLayerShared, TMXMapNode, TMXMapParsed, TMXMapShared, TMXNode, TMXNodeType, TMXObjectNode, TMXObjectParsed, TMXObjectShared, TMXParsed, TMXPropertiesNode, TMXPropertiesParsed, TMXPropertyNode, TMXTileNode, TMXTileParsed, TMXTileShared, TMXTilesetNode, TMXTilesetParsed, getDecompressedBytes, isExternalTileset, isTMXEmbeddedTilesetNode, parseFlips, parseGroup, parseLayer, parseNode, parseObject, parseObjectShape, parseProperties, parseTile, parseTileId, parseTileLayer, parseTileset, parseTmx, parseXmlString, parseXmlValue, unpackTileBytes };
|
|
248
|
+
export { BaseTMXNode, Compression, Encoding, Flipped, Flippeds, Shape, TMX, TMXBaseTilesetShared, TMXDataNode, TMXEditorSettingsNode, TMXEditorSettingsParsed, TMXEmbeddedTilesetNode, TMXEmbeddedTilesetParsed, TMXEmbeddedTilesetShared, TMXExportNode, TMXExportParsed, TMXExportShared, TMXExternalTilesetNode, TMXExternalTilesetParsed, TMXExternalTilesetShared, TMXFlipsParsed, TMXGroupLayerNode, TMXGroupLayerParsed, TMXGroupLayerShared, TMXImageNode, TMXImageParsed, TMXImageShared, TMXLayerNode, TMXLayerParsed, TMXLayerShared, TMXMapNode, TMXMapParsed, TMXMapShared, TMXNode, TMXNodeType, TMXObjectNode, TMXObjectParsed, TMXObjectShared, TMXParsed, TMXPropertiesNode, TMXPropertiesParsed, TMXPropertyNode, TMXTileNode, TMXTileParsed, TMXTileShared, TMXTilesetNode, TMXTilesetParsed, cloneNodeWithType, getDecompressedBytes, isExternalTileset, isTMXEmbeddedTilesetNode, parseFlips, parseGroup, parseLayer, parseNode, parseObject, parseObjectShape, parseProperties, parseTile, parseTileId, parseTileLayer, parseTileset, parseTmx, parseXmlString, parseXmlValue, unpackTileBytes };
|
package/dist/index.js
CHANGED
|
@@ -83,10 +83,14 @@ var TMXParsed = class {
|
|
|
83
83
|
if (map) this.map = map;
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
|
+
const cloneNodeWithType = (node) => {
|
|
87
|
+
const parsed = structuredClone(node.$);
|
|
88
|
+
parsed.type = node["#name"];
|
|
89
|
+
return parsed;
|
|
90
|
+
};
|
|
86
91
|
const parseGroup = async (node, expectedCount, translateFlips) => {
|
|
87
|
-
const {
|
|
88
|
-
const group =
|
|
89
|
-
group.type = node["#name"];
|
|
92
|
+
const { $$ } = node;
|
|
93
|
+
const group = cloneNodeWithType(node);
|
|
90
94
|
group.layers = await Promise.all($$.map((l) => parseNode(l, expectedCount, translateFlips)));
|
|
91
95
|
return group;
|
|
92
96
|
};
|
|
@@ -148,9 +152,8 @@ const parseObject = (node) => {
|
|
|
148
152
|
return object;
|
|
149
153
|
};
|
|
150
154
|
const parseLayer = (node) => {
|
|
151
|
-
const {
|
|
152
|
-
const layer =
|
|
153
|
-
layer.type = node["#name"];
|
|
155
|
+
const { image, object, properties } = node;
|
|
156
|
+
const layer = cloneNodeWithType(node);
|
|
154
157
|
layer.visible = 1;
|
|
155
158
|
if (image) layer.image = structuredClone(takeOne(image).$);
|
|
156
159
|
if (object) layer.objects = object.map((o) => parseObject(o));
|
|
@@ -185,8 +188,7 @@ const unpackTileBytes = (bytes, expectedCount) => {
|
|
|
185
188
|
const parseTileLayer = async (node, expectedCount, translateFlips) => {
|
|
186
189
|
const { data, properties } = node;
|
|
187
190
|
if (!data) throw new Error("TMXLayer data corrupted!");
|
|
188
|
-
const layer =
|
|
189
|
-
layer.type = node["#name"];
|
|
191
|
+
const layer = cloneNodeWithType(node);
|
|
190
192
|
if (properties) layer.properties = parseProperties(properties);
|
|
191
193
|
const nodeData = takeOne(data);
|
|
192
194
|
if (isTMXEmbeddedTilesetNode(nodeData)) layer.data = nodeData.tile?.map(({ $ }) => $.gid ?? 0) ?? [];
|
|
@@ -216,12 +218,9 @@ const parseTileLayer = async (node, expectedCount, translateFlips) => {
|
|
|
216
218
|
}
|
|
217
219
|
}
|
|
218
220
|
if (translateFlips) {
|
|
219
|
-
layer.flips = [];
|
|
220
221
|
layer.data ??= [];
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
layer.data.push(parseTileId(gid));
|
|
224
|
-
}
|
|
222
|
+
layer.flips = layer.data.map((gid) => parseFlips(gid));
|
|
223
|
+
layer.data = layer.data.map((gid) => parseTileId(gid));
|
|
225
224
|
}
|
|
226
225
|
return layer;
|
|
227
226
|
};
|
|
@@ -62139,4 +62138,4 @@ var BaseTMXNode = class {
|
|
|
62139
62138
|
$;
|
|
62140
62139
|
#name;
|
|
62141
62140
|
};
|
|
62142
|
-
export { BaseTMXNode, Compression, Encoding, Flipped, Flippeds, Shape, TMXMapParsed, TMXMapShared, TMXNodeType, TMXParsed, getDecompressedBytes, isExternalTileset, isTMXEmbeddedTilesetNode, parseFlips, parseGroup, parseLayer, parseNode, parseObject, parseObjectShape, parseProperties, parseTile, parseTileId, parseTileLayer, parseTileset, parseTmx, parseXmlString, parseXmlValue, unpackTileBytes };
|
|
62141
|
+
export { BaseTMXNode, Compression, Encoding, Flipped, Flippeds, Shape, TMXMapParsed, TMXMapShared, TMXNodeType, TMXParsed, cloneNodeWithType, getDecompressedBytes, isExternalTileset, isTMXEmbeddedTilesetNode, parseFlips, parseGroup, parseLayer, parseNode, parseObject, parseObjectShape, parseProperties, parseTile, parseTileId, parseTileLayer, parseTileset, parseTmx, parseXmlString, parseXmlValue, unpackTileBytes };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-tmx",
|
|
3
|
-
"version": "2.34.
|
|
3
|
+
"version": "2.34.2",
|
|
4
4
|
"description": "A parser for tmx.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"game-development",
|
|
@@ -45,19 +45,19 @@
|
|
|
45
45
|
"typecheck": "tsgo"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@esposter/shared": "2.34.
|
|
49
|
-
"@esposter/xml2js": "2.34.
|
|
48
|
+
"@esposter/shared": "2.34.2",
|
|
49
|
+
"@esposter/xml2js": "2.34.2",
|
|
50
50
|
"data-urls": "^7.0.0",
|
|
51
51
|
"dayjs": "^1.11.21"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@esposter/configuration": "2.34.
|
|
54
|
+
"@esposter/configuration": "2.34.2",
|
|
55
55
|
"@types/data-urls": "^3.0.5",
|
|
56
56
|
"@types/xml2js": "^0.4.14",
|
|
57
57
|
"ctix": "^2.8.1",
|
|
58
58
|
"rolldown": "^1.1.4",
|
|
59
|
-
"type-fest": "^5.
|
|
59
|
+
"type-fest": "^5.8.0",
|
|
60
60
|
"vitest": "^4.1.9"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "70032635c47bdf1e55414c7d84c955350f991055"
|
|
63
63
|
}
|