@flatfile/plugin-convert-yaml-schema
Version:
A plugin for converting YAML Schema definitions to Flatfile Blueprint.
9 lines (7 loc) • 1.04 kB
JavaScript
import { configureSpace } from '@flatfile/plugin-space-configure';
import { generateFields } from '@flatfile/plugin-convert-json-schema';
import p from 'js-yaml';
async function i(o,e){let f=(await g(o)).map(r=>p.load(r)),s=await Promise.all(o.map(async(r,l)=>{let n=f[l],c=await generateFields(n);return {name:r?.name||n.title,...n?.description&&{description:n.description},fields:c,...r}})),a={workbooks:[{name:e?.workbookConfig?.name||"YAML Schema Workbook",sheets:s}],...e?.workbookConfig};return e?.debug&&console.dir(a,{depth:null}),a}async function g(o){let e=o.map(async t=>await u(t.sourceUrl));return await Promise.all(e)}async function u(o){try{let e=await fetch(o);if(!e.ok)throw new Error(`API returned status ${e.status}: ${e.statusText}`);return await e.text()}catch(e){throw new Error(`Error fetching external reference: ${e.message}`)}}function w(o,e,t){return configureSpace(()=>i(o,e),t)}
export { w as configureSpaceWithYamlSchema, i as generateSetup };
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map