UNPKG

@sidekick-coder/db

Version:

Cli Tool to manipulate data from diferent sources

25 lines (22 loc) 631 B
'use strict'; // src/providers/file/create.ts async function create(payload) { const { filesystem, root, options, makeId, parser } = payload; const resolve = (...args) => filesystem.path.resolve(root, ...args); const data = options.data; const id = data.id || await makeId(); const filename = resolve(`${id}.${parser.ext}`); if (filesystem.existsSync(filename)) { throw new Error(`Item with id "${id}" already exists`); } const raw = parser.stringify(data); filesystem.writeSync.text(filename, raw); const item = { id, raw, filename, ...data }; return item; } exports.create = create;