UNPKG

protosprite-cli

Version:

Command line utilities for working with protosprite

26 lines 1.03 kB
export function genTypeDefinitions(sheet) { let autoIndex = 1; const reservedNames = new Set(); return sheet.sprites .map((sprite) => { const name = sprite.name === "" ? "sprite" : sprite.name; let typeBaseName = name.replaceAll(/[^a-zA-Z0-9]+/g, ""); while (reservedNames.has(typeBaseName)) { typeBaseName = `${typeBaseName}_${autoIndex++}`; } const layersStr = sprite.layers.length > 0 ? sprite.layers.map((layer) => JSON.stringify(layer.name)).join(" | ") : "never"; const animationsStr = sprite.animations.length > 0 ? sprite.animations .map((animation) => JSON.stringify(animation.name)) .join(" | ") : "never"; return [ `export type ${typeBaseName}_layers = ${layersStr};`, `export type ${typeBaseName}_animations = ${animationsStr};` ].join("\n"); }) .join("\n\n"); } //# sourceMappingURL=genDefinitions.js.map