UNPKG

@image/packer

Version:
33 lines (26 loc) 1.44 kB
import {IGeneratorOutput, IGenerateOptions, IEnvironment} from './index'; export function perPageManifestsSaver(generateOptions: IGenerateOptions, environment: IEnvironment, result: IGeneratorOutput): Promise<void> { return Promise.all(result.atlases.map((_, atlasIndex) => { return Promise.all(result.atlases[atlasIndex].sheets.map((__, pageIndex) => { return PageManifestSaver(atlasIndex, pageIndex, generateOptions, environment, result); })); })) as Promise<void[][]> as any; } export function PageManifestSaver(atlasIndex: number, sheetIndex: number, generateOptions: IGenerateOptions, environment: IEnvironment, result: IGeneratorOutput): Promise<void> { const sheet = result.atlases[atlasIndex].sheets[sheetIndex]; if (generateOptions.atlasPageMetaPathResolver) { const outputFilePath = generateOptions.atlasPageMetaPathResolver(atlasIndex, sheetIndex, result); const manifestRaw = generateOptions.pageManifestBuilder ? generateOptions.pageManifestBuilder(atlasIndex, sheetIndex, result) : sheet; const raw = JSON.stringify(manifestRaw, null, 4); return environment.writeFile(outputFilePath, raw); } return Promise.resolve(); }