@baseplate-dev/react-generators
Version:
React Generators for Baseplate
26 lines • 973 B
JavaScript
import { tsCodeFragment, TsCodeUtils } from '@baseplate-dev/core-generators';
export function printDataLoaders(loaders, reactComponentsImports) {
if (loaders.length === 0) {
return {
loader: tsCodeFragment(''),
gate: tsCodeFragment(''),
dataParts: '',
errorParts: '',
};
}
const dataParts = loaders
.map((loader) => `!${loader.loaderValueName}`)
.join(' || ');
const errorParts = loaders
.map((loader) => loader.loaderErrorName)
.join(' ?? ');
return {
dataParts,
errorParts,
loader: TsCodeUtils.mergeFragments(new Map(loaders.map((loader) => [loader.loaderValueName, loader.loader])), '\n\n'),
gate: TsCodeUtils.templateWithImports(reactComponentsImports.ErrorableLoader.declaration()) `if (${dataParts}) {
return <ErrorableLoader error={${errorParts}} />;
}`,
};
}
//# sourceMappingURL=admin-loader.js.map