deploy/script: runOnFile takes aq

This commit is contained in:
Christopher Monsanto
2020-08-24 03:36:49 -04:00
parent c00a2e62a4
commit d150893cc4
3 changed files with 8 additions and 6 deletions

View File

@@ -50,8 +50,7 @@ program
for (const src of files) {
try {
const dst = script.runOnFile(scr, src);
aq.copy(src, dst);
script.runOnFile(scr, src, aq);
} catch(e) {
// Move to script.runOnFile?
aq.throw(e);

View File

@@ -166,7 +166,7 @@ function makeEnv(srcDir : string, queue: ActionQueue) {
}
}
export function runOnFile(scr : Script, src : string) : string {
export function runOnFile(scr : Script, src : string, queue: ActionQueue) {
const input = pathlib.path(src, {dir: ""});
const result = scr.runInNewContext({
__proto__: ENV_PROTO,
@@ -178,7 +178,7 @@ export function runOnFile(scr : Script, src : string) : string {
}
const output = pathlib.update(input, result);
const dst = pathlib.format(output);
return dst;
queue.copy(src, dst);
}
export function run(scr : Script, srcDir : string, queue : ActionQueue) {

View File

@@ -24,8 +24,11 @@ it('aq', () => {
it('runOnFile', () => {
const scr = new script.Script('({name: "25"})', 'expr');
const dst = script.runOnFile(scr, '/foo/bar/pikachu.png');
expect(dst).toEqual('25.png');
const aq = new script.ActionQueue();
script.runOnFile(scr, '/foo/bar/pikachu.png', aq);
expect(aq.log).toEqual(expect.arrayContaining([
{type: 'Copy', src: '/foo/bar/pikachu.png', dst: "25.png", valid: 'Success', debugObjs: []},
]));
});
it('run identity', () => {