@suchipi/ase-parser
Version:
Parser for Aseprite files
68 lines (67 loc) • 1.51 kB
TypeScript
declare class Aseprite {
frames: Array<Aseprite.Frame>;
layers: Array<Aseprite.Layer>;
tags: Array<Aseprite.Tag>;
palette: Aseprite.Palette;
fileSize: number;
width: number;
height: number;
numFrames: number;
constructor(buffer: Buffer, name: string): void;
readByte(offset: number): number;
readWord(offset: number): number;
readShort(offset: number): number;
readDWord(offset: number): number;
readLong(offset: number): number;
readFixed(offset: number): number;
readRawBytes(numBytes: number, b: Buffer, offset: number): Buffer;
parse(): void;
toJSON(): object;
}
export = Aseprite;
declare namespace Aseprite {
export interface Palette {
paletteSize: number;
firstColor: number;
lastColor: number;
colors: Array<Color>;
}
export interface Color {
red: number;
green: number;
blue: number;
alpha: number;
name: string;
}
export interface Cel {
layerIndex: number;
xpos: number;
ypos: number;
opacity: number;
celType: number;
w: number;
h: number;
rawCelData: Buffer;
}
export interface Tag {
name: string;
from: number;
to: number;
animDirection: string;
color: string;
}
export interface Layer {
flags: number;
type: number;
layerChildLevel: number;
blendMode: number;
opacity: number;
name: string;
}
export interface Frame {
bytesInFrame: number;
frameDuration: number;
numChunks: number;
cels: Array<Cel>;
}
}