Oliver Eyton-Williams 7216ca55cc
refactor: organise TypeScript config and migrate helpers (#44747)
* feat: allow more 1000 steps to be created at once

* refactor: start migrating to typescript

* refactor: delete-step to ts

* refactor: migrated some helpers

* refactor: migrate create-empty-steps

* refactor: migrate create-step-between

* refactor: finish migrating to TS

* refactor: migrate tests

* fix: ensure mock.restore is done after each test

* fix: prevent double-tscing

* fix: repair the tests

* chore: use ts-node for scripts

We don't need the performance boost of incremental compilation and
ts-node is easier to work with

* refactor: consolidate tsconfigs

* refactor: replace gulp

* fix: use ts-node for build-curriculum

* fix: allow ts compilation of config

* feat: create and use create:config script

* fix: add /config to eslint projects

* fix: remove gulp script
2022-01-25 11:34:16 +01:00

31 lines
701 B
TypeScript

// Update given value with markers (labels)
const insertErms = (seedCode: string, erms: number[]): string => {
if (!erms || erms.length <= 1) {
throw `erms should be provided`;
}
if (erms.length <= 1) {
throw `erms should contain 2 elements`;
}
const separator = '\n';
const lines = seedCode.split(separator);
const markerLabel = '--fcc-editable-region--';
// Generate a version of seed code with the erm markers
const newSeedCode = erms
.slice(0, 2)
.reduce((acc, erm) => {
if (Number.isInteger(erm)) {
acc.splice(erm, 0, markerLabel);
}
return acc;
}, lines)
.join(separator);
return newSeedCode;
};
export { insertErms };