@roots/bud-api
Version:
bud.js core module
23 lines (22 loc) • 715 B
JavaScript
import isArray from '@roots/bud-support/isArray';
import isString from '@roots/bud-support/isString';
export async function handleRecords(bud, records) {
const current = bud.hooks.filter(`build.entry`, {});
bud.hooks.on(`build.entry`, {
...current,
...normalizeRecords(records),
});
return bud;
}
export const normalizeRecords = (records) => Object.entries(records).reduce((entries, [signifier, item]) => {
if (isArray(item)) {
return { ...entries, [signifier]: { import: item } };
}
if (isString(item)) {
return {
...entries,
[signifier]: { import: [item] },
};
}
return { ...entries, [signifier]: item };
}, {});