deploy: string interface for runOnFile

This commit is contained in:
Christopher Monsanto 2020-08-10 05:41:42 -04:00
parent 30ffa1f2d0
commit abc8a5e069
3 changed files with 11 additions and 12 deletions

View File

@ -30,11 +30,10 @@ program
const aq = new script.ActionQueue;
for (const file of files) {
const src = pathlib.path(file);
for (const src of files) {
const output = script.runOnFile(scr, src);
const dst = pathlib.join(outputDir, output);
aq.copy(pathlib.format(src), pathlib.format(dst));
const dst = nodePath.join(outputDir, output);
aq.copy(src, dst);
}
if (act) {

View File

@ -13,9 +13,8 @@ test('aq', () => {
test('runOnFile', () => {
const scr = new script.Script('({name: "25"})', 'expr');
const src = pathlib.path('/foo/bar/pikachu.png');
const dst = script.runOnFile(scr, src);
expect(dst).toEqual(pathlib.path('25.png'));
const dst = script.runOnFile(scr, '/foo/bar/pikachu.png');
expect(dst).toEqual('25.png');
});
test('run identity', () => {

View File

@ -101,18 +101,19 @@ function makeEnv(srcDir : string, queue: ActionQueue) {
}
}
export function runOnFile(scr : Script, src : pathlib.Path) : pathlib.Path {
const input = pathlib.update(src, {dir: ""});
export function runOnFile(scr : Script, src : string) : string {
const input = pathlib.path(src, {dir: ""});
const result = scr.runInNewContext({
__proto__: ENV_PROTO,
path: input,
...input
});
if (result === undefined) {
throw new Error(`undefined output on ${pathlib.format(src)}`);
throw new Error(`undefined output on ${src}`);
}
const output = pathlib.path(input, result);
return output;
const output = pathlib.update(input, result);
const dst = pathlib.format(output);
return dst;
}
export function run(scr : Script, srcDir : string, queue : ActionQueue) {