parse-tmx
Version:
371 lines • 12.3 kB
TypeScript
//#region src/models/tmx/parsed/TMXEditorSettingsParsed.d.ts
interface TMXEditorSettingsParsed extends Record<string, unknown> {}
//#endregion
//#region src/models/tmx/parsed/TMXFlipsParsed.d.ts
interface TMXFlipsParsed {
Diagonal: boolean;
Horizontal: boolean;
Vertical: boolean;
}
//#endregion
//#region src/models/tmx/shared/TMXImageShared.d.ts
interface TMXImageShared {
height: number;
source: string;
width: number;
}
//#endregion
//#region src/models/tmx/parsed/TMXImageParsed.d.ts
interface TMXImageParsed extends TMXImageShared {}
//#endregion
//#region src/models/Shape.d.ts
declare enum Shape {
Ellipse = "ellipse",
Point = "point",
Polygon = "polygon",
Rectangle = "rectangle"
}
//#endregion
//#region src/models/tmx/parsed/TMXPropertiesParsed.d.ts
type TMXPropertiesParsed = Record<string, unknown>[];
//#endregion
//#region src/models/tmx/shared/TMXObjectShared.d.ts
interface TMXObjectShared {
gid: number;
height: number;
id: number;
type: string;
width: number;
x: number;
y: number;
}
//#endregion
//#region src/models/tmx/parsed/TMXObjectParsed.d.ts
interface TMXObjectParsed extends TMXObjectShared {
flips?: TMXFlipsParsed;
name: string;
points?: [number, number][];
properties?: TMXPropertiesParsed;
shape: Shape;
text?: string;
value: string;
}
//#endregion
//#region src/models/tmx/shared/TMXLayerShared.d.ts
interface TMXLayerShared {
height: number;
id: number;
locked?: number;
name: string;
offsetx?: number;
offsety?: number;
opacity?: number;
parallaxx?: number;
parallaxy?: number;
tintcolor?: string;
type: string;
visible?: number;
width: number;
x?: number;
y?: number;
}
//#endregion
//#region src/models/tmx/parsed/TMXLayerParsed.d.ts
interface TMXLayerParsed extends TMXLayerShared {
data?: number[];
flips?: TMXFlipsParsed[];
image?: TMXImageParsed;
objects?: TMXObjectParsed[];
properties?: TMXPropertiesParsed;
}
//#endregion
//#region src/models/tmx/shared/TMXGroupLayerShared.d.ts
interface TMXGroupLayerShared {
id: number;
name: string;
type: string;
}
//#endregion
//#region src/models/tmx/parsed/TMXGroupLayerParsed.d.ts
interface TMXGroupLayerParsed extends TMXGroupLayerShared {
layers: TMXLayerParsed[];
properties?: TMXPropertiesParsed;
}
//#endregion
//#region src/models/tmx/shared/TMXTileShared.d.ts
interface TMXTileShared {
gid?: number;
id: number;
probability?: number;
}
//#endregion
//#region src/models/tmx/parsed/TMXTileParsed.d.ts
interface TMXTileParsed extends TMXTileShared {
animation?: {
frames: number[];
};
id: number;
objects?: TMXObjectParsed[];
properties?: TMXPropertiesParsed;
type: string;
}
//#endregion
//#region src/models/tmx/shared/TMXBaseTilesetShared.d.ts
interface TMXBaseTilesetShared {
firstgid: number;
}
//#endregion
//#region src/models/tmx/shared/TMXEmbeddedTilesetShared.d.ts
interface TMXEmbeddedTilesetShared extends TMXBaseTilesetShared {
columns: number;
imageheight: number;
imagewidth: number;
margin?: number;
name: string;
spacing?: number;
tilecount: number;
tileheight: number;
tilewidth: number;
}
//#endregion
//#region src/models/tmx/parsed/TMXEmbeddedTilesetParsed.d.ts
interface TMXEmbeddedTilesetParsed extends TMXEmbeddedTilesetShared {
image: TMXImageParsed;
tiles: TMXTileParsed[];
}
//#endregion
//#region src/models/tmx/shared/TMXExternalTilesetShared.d.ts
interface TMXExternalTilesetShared extends TMXBaseTilesetShared {
source: string;
}
//#endregion
//#region src/models/tmx/parsed/TMXExternalTilesetParsed.d.ts
interface TMXExternalTilesetParsed extends TMXExternalTilesetShared {}
//#endregion
//#region src/models/tmx/parsed/TMXTilesetParsed.d.ts
type TMXTilesetParsed = TMXEmbeddedTilesetParsed | TMXExternalTilesetParsed;
//#endregion
//#region src/models/tmx/shared/TMXMapShared.d.ts
declare class TMXMapShared {
height: number;
infinite: number;
nextlayerid: number;
nextobjectid: number;
orientation: string;
renderorder: string;
tiledversion: string;
tileheight: number;
tilewidth: number;
version: number;
width: number;
}
//#endregion
//#region src/models/tmx/parsed/TMXMapParsed.d.ts
declare class TMXMapParsed extends TMXMapShared {
editorsettings: TMXEditorSettingsParsed;
layers: (TMXGroupLayerParsed | TMXLayerParsed)[];
properties: TMXPropertiesParsed;
tilesets: TMXTilesetParsed[];
constructor(init?: Partial<TMXMapParsed>);
}
//#endregion
//#region src/models/tmx/parsed/TMXParsed.d.ts
declare class TMXParsed {
map: TMXMapParsed;
constructor(map?: TMXMapParsed);
}
//#endregion
//#region src/parseTmx.d.ts
declare const parseTmx: (xmlString: string, translateFlips?: boolean) => Promise<TMXParsed>;
//#endregion
//#region src/models/Compression.d.ts
declare enum Compression {
Gzip = "gzip",
Zlib = "zlib"
}
//#endregion
//#region src/models/Encoding.d.ts
declare enum Encoding {
Base64 = "base64",
Csv = "csv"
}
//#endregion
//#region src/models/Flipped.d.ts
declare enum Flipped {
Diagonally = 536870912,
Vertically = 1073741824,
Horizontally = 2147483648
}
//#endregion
//#region src/util/isExternalTileset.d.ts
declare const isExternalTileset: (tileset: TMXEmbeddedTilesetShared | TMXExternalTilesetShared) => tileset is TMXExternalTilesetShared;
//#endregion
//#region src/models/tmx/node/BaseTMXNode.d.ts
declare class BaseTMXNode<T> {
#private;
[key: string]: unknown;
$: T;
}
//#endregion
//#region src/models/tmx/node/TMXNode.d.ts
type TMXNode<T, TChildNode extends BaseTMXNode<unknown> | undefined = undefined> = BaseTMXNode<T> & {
$$: TChildNode extends undefined ? undefined : TChildNode[];
};
//#endregion
//#region src/models/tmx/node/TMXDataNode.d.ts
interface TMXDataNode extends TMXNode<{
compression?: Compression;
encoding: Encoding;
}> {
_: string;
}
//#endregion
//#region src/models/tmx/node/TMXImageNode.d.ts
interface TMXImageNode extends TMXNode<TMXImageShared> {}
//#endregion
//#region src/models/tmx/node/TMXPropertyNode.d.ts
interface TMXPropertyNode extends TMXNode<{
name: string;
value?: string;
}> {
_: string;
}
//#endregion
//#region src/models/tmx/node/TMXPropertiesNode.d.ts
interface TMXPropertiesNode extends TMXNode<Record<string, never>, TMXPropertyNode> {}
//#endregion
//#region src/models/tmx/node/TMXObjectNode.d.ts
interface TMXObjectNode extends TMXNode<TMXObjectShared, TMXDataNode | TMXPropertiesNode> {
polygon?: TMXNode<{
points: string;
}>[];
properties?: {
property: TMXPropertyNode[];
}[];
text?: TMXDataNode[];
}
//#endregion
//#region src/models/tmx/node/TMXTileNode.d.ts
interface TMXTileNode extends TMXNode<TMXTileShared, TMXPropertiesNode> {
animation?: Record<string, TMXNode<number>[]>[];
objectgroup?: Record<string, TMXObjectNode[]>[];
properties?: {
property: TMXPropertyNode[];
}[];
}
//#endregion
//#region src/models/tmx/node/TMXEmbeddedTilesetNode.d.ts
interface TMXEmbeddedTilesetNode extends TMXNode<TMXEmbeddedTilesetShared, TMXImageNode | TMXTileNode> {
tile?: TMXTileNode[];
}
//#endregion
//#region src/util/isTMXEmbeddedTilesetNode.d.ts
declare const isTMXEmbeddedTilesetNode: (node: TMXDataNode | TMXEmbeddedTilesetNode) => node is TMXEmbeddedTilesetNode;
//#endregion
//#region src/util/parseFlips.d.ts
declare const parseFlips: (gid: number) => TMXFlipsParsed;
//#endregion
//#region src/models/tmx/node/TMXLayerNode.d.ts
interface TMXLayerNode extends TMXNode<TMXLayerShared, TMXDataNode | TMXEmbeddedTilesetNode | TMXPropertiesNode> {
data?: TMXDataNode[] | TMXEmbeddedTilesetNode[];
image?: TMXImageNode[];
object?: TMXObjectNode[];
properties?: {
property: TMXPropertyNode[];
}[];
}
//#endregion
//#region src/models/tmx/node/TMXGroupLayerNode.d.ts
interface TMXGroupLayerNode extends TMXNode<TMXGroupLayerShared, TMXLayerNode> {
properties?: {
property: TMXPropertyNode[];
}[];
}
//#endregion
//#region src/util/parseGroup.d.ts
declare const parseGroup: (node: TMXGroupLayerNode, expectedCount: number, translateFlips: boolean) => Promise<TMXGroupLayerParsed>;
//#endregion
//#region src/util/parseLayer.d.ts
declare const parseLayer: (node: TMXLayerNode) => TMXLayerParsed;
//#endregion
//#region src/util/parseNode.d.ts
declare const parseNode: <TNode extends TMXGroupLayerNode | TMXLayerNode, TParsedNode = (TNode extends TMXLayerNode ? TMXLayerParsed : TMXGroupLayerParsed)>(node: TNode, expectedCount: number, translateFlips: boolean) => Promise<TParsedNode>;
//#endregion
//#region src/util/parseObject.d.ts
declare const parseObject: (node: TMXObjectNode) => TMXObjectParsed;
//#endregion
//#region src/util/parseObjectShape.d.ts
declare const parseObjectShape: (node: TMXObjectNode) => Shape;
//#endregion
//#region src/util/parseProperties.d.ts
declare const parseProperties: (properties: {
property: TMXPropertyNode[];
}[]) => TMXPropertiesParsed;
//#endregion
//#region src/util/parseTile.d.ts
declare const parseTile: (node: TMXTileNode) => TMXTileParsed;
//#endregion
//#region src/util/parseTileId.d.ts
declare const parseTileId: (gid: number) => number;
//#endregion
//#region src/util/parseTileLayer.d.ts
declare const parseTileLayer: (node: TMXLayerNode, expectedCount: number, translateFlips: boolean) => Promise<TMXLayerParsed>;
//#endregion
//#region src/models/tmx/node/TMXExternalTilesetNode.d.ts
interface TMXExternalTilesetNode extends TMXNode<TMXExternalTilesetShared> {}
//#endregion
//#region src/models/tmx/node/TMXTilesetNode.d.ts
type TMXTilesetNode = TMXEmbeddedTilesetNode | TMXExternalTilesetNode;
//#endregion
//#region src/util/parseTileset.d.ts
declare const parseTileset: (node: TMXTilesetNode) => TMXTilesetParsed;
//#endregion
//#region src/util/parseXmlString.d.ts
declare const parseXmlString: <T extends object>(xmlString: string) => Promise<T>;
//#endregion
//#region src/util/parseXmlValue.d.ts
declare const parseXmlValue: (value: string) => boolean | number | string;
//#endregion
//#region src/util/unpackTileBytes.d.ts
declare const unpackTileBytes: (buffer: Buffer, expectedCount: number) => number[];
//#endregion
//#region src/models/tmx/shared/TMXExportShared.d.ts
interface TMXExportShared {
format: string;
target: string;
}
//#endregion
//#region src/models/tmx/node/TMXExportNode.d.ts
interface TMXExportNode extends TMXNode<TMXExportShared> {}
//#endregion
//#region src/models/tmx/node/TMXEditorSettingsNode.d.ts
interface TMXEditorSettingsNode extends TMXNode<Record<string, never>, TMXExportNode> {}
//#endregion
//#region src/models/tmx/node/TMXMapNode.d.ts
interface TMXMapNode extends TMXNode<TMXMapShared, TMXEditorSettingsNode | TMXGroupLayerNode | TMXPropertiesNode | TMXTilesetNode> {}
//#endregion
//#region src/models/tmx/node/TMX.d.ts
interface TMX {
map: TMXMapNode;
}
//#endregion
//#region src/models/tmx/node/TMXNodeType.d.ts
declare enum TMXNodeType {
Data = "data",
EditorSettings = "editorsettings",
Export = "export",
Group = "group",
Image = "image",
ImageLayer = "imagelayer",
Layer = "layer",
Object = "object",
Objectgroup = "objectgroup",
Properties = "properties",
Property = "property",
Tileset = "tileset"
}
//#endregion
//#region src/models/tmx/parsed/TMXExportParsed.d.ts
interface TMXExportParsed extends TMXExportShared {}
//#endregion
export { BaseTMXNode, Compression, Encoding, Flipped, 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, isExternalTileset, isTMXEmbeddedTilesetNode, parseFlips, parseGroup, parseLayer, parseNode, parseObject, parseObjectShape, parseProperties, parseTile, parseTileId, parseTileLayer, parseTileset, parseTmx, parseXmlString, parseXmlValue, unpackTileBytes };