Files
xd2fig/tools/inspect-fig.js
T

15 lines
833 B
JavaScript

import fs from 'node:fs';
import { readCanvas, prettyPrintSchema } from '../src/figfile.js';
const [,, canvasPath, outDir] = process.argv;
const r = readCanvas(new Uint8Array(fs.readFileSync(canvasPath)));
console.log('version', r.version, 'codecs', r.codecs, 'extra chunks', r.extraChunks.length);
fs.mkdirSync(outDir, { recursive: true });
fs.writeFileSync(`${outDir}/schema.kiwi.txt`, prettyPrintSchema(r.schema));
const replacer = (k, v) => v instanceof Uint8Array ? `<bytes ${v.length}>` : v;
fs.writeFileSync(`${outDir}/message.json`, JSON.stringify(r.message, replacer, 1));
const m = r.message;
console.log('message keys', Object.keys(m), 'type', m.type, 'nodes', m.nodeChanges?.length, 'blobs', m.blobs?.length);
const types = {};
for (const n of m.nodeChanges) types[n.type] = (types[n.type] || 0) + 1;
console.log(types);