@flatfile/plugin-convert-yaml-schema
Version:
A plugin for converting YAML Schema definitions to Flatfile Blueprint.
16 lines (11 loc) • 1.29 kB
JavaScript
;
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