UNPKG

@flatfile/plugin-convert-yaml-schema

Version:

A plugin for converting YAML Schema definitions to Flatfile Blueprint.

16 lines (11 loc) 1.29 kB
'use strict'; var pluginSpaceConfigure = require('@flatfile/plugin-space-configure'); var pluginConvertJsonSchema = require('@flatfile/plugin-convert-json-schema'); var p = require('js-yaml'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var p__default = /*#__PURE__*/_interopDefault(p); async function i(o,e){let f=(await g(o)).map(r=>p__default.default.load(r)),s=await Promise.all(o.map(async(r,l)=>{let n=f[l],c=await pluginConvertJsonSchema.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 pluginSpaceConfigure.configureSpace(()=>i(o,e),t)} exports.configureSpaceWithYamlSchema = w; exports.generateSetup = i; //# sourceMappingURL=index.browser.cjs.map //# sourceMappingURL=index.browser.cjs.map