deploy/script: assoc debug() with copy(), add gdebug()

This commit is contained in:
Christopher Monsanto 2020-08-23 21:03:43 -04:00
parent 93c338e35c
commit ce64c42f7b
2 changed files with 25 additions and 10 deletions

View File

@ -10,7 +10,8 @@ type CopyEntry = {
type : 'Copy',
src : string,
dst : string,
valid : 'Success' | 'Absolute' | 'Multiple'
valid : 'Success' | 'Absolute' | 'Multiple',
debugObjs : unknown[]
};
export type LogEntry = CopyEntry | {
@ -23,11 +24,13 @@ export class ActionQueue {
// Have an accessor for this in the future? idk
public log : LogEntry[];
public valid : boolean;
private debugBuffer : unknown[];
constructor() {
this.seen = new Map;
this.log = [];
this.valid = true;
this.debugBuffer = [];
}
throw(obj : Error) {
@ -36,6 +39,10 @@ export class ActionQueue {
}
debug(obj : unknown) {
this.debugBuffer.push(obj);
}
gdebug(obj : unknown) {
this.log.push({type: 'Debug', obj});
}
@ -45,9 +52,11 @@ export class ActionQueue {
type : 'Copy',
src,
dst,
valid : 'Success'
valid : 'Success',
debugObjs : this.debugBuffer
};
this.log.push(entry);
this.debugBuffer = [];
if (nodePath.isAbsolute(dst)) {
this.valid = false;
entry.valid = 'Absolute';
@ -72,11 +81,17 @@ export class ActionQueue {
if (entry.valid !== 'Success') {
addendum = ` (${entry.valid})`;
}
for (const obj of entry.debugObjs) {
console.log("DEBUG: ", obj);
}
console.log(`${entry.src} ==> ${entry.dst}${addendum}`);
} else if (entry.type === 'Debug') {
console.log("DEBUG: ", entry.obj);
console.log("GDEBUG: ", entry.obj);
}
}
for (const obj of this.debugBuffer) {
console.log("STRAY DEBUG: ", obj);
}
}
run(dir : string, mode : 'link' | 'copy') {

View File

@ -14,9 +14,9 @@ it('aq', () => {
aq.copy("baz", "/bar")
expect(aq.log).toEqual(expect.arrayContaining([
{type: 'Copy', src: 'foo', dst: "bar", valid: 'Multiple'},
{type: 'Copy', src: 'baz', dst: "bar", valid: 'Multiple'},
{type: 'Copy', src: 'baz', dst: "/bar", valid: 'Absolute'},
{type: 'Copy', src: 'foo', dst: "bar", valid: 'Multiple', debugObjs: []},
{type: 'Copy', src: 'baz', dst: "bar", valid: 'Multiple', debugObjs: []},
{type: 'Copy', src: 'baz', dst: "/bar", valid: 'Absolute', debugObjs: []},
]));
});
@ -32,8 +32,8 @@ it('run identity', () => {
const scr = new script.Script(` list(".").forEach(p => copy(p, p))`, 'expr');
script.run(scr, spriteSrc, aq);
expect(aq.log).toEqual(expect.arrayContaining([
{type: 'Copy', src: path.join(spriteSrc, '32.png'), dst: "32.png", valid: 'Success'},
{type: 'Copy', src: path.join(spriteSrc, '192-g-vsmogon.png'), dst: "192-g-vsmogon.png", valid: 'Success'},
{type: 'Copy', src: path.join(spriteSrc, '32.png'), dst: "32.png", valid: 'Success', debugObjs: []},
{type: 'Copy', src: path.join(spriteSrc, '192-g-vsmogon.png'), dst: "192-g-vsmogon.png", valid: 'Success', debugObjs: []},
]));
});
@ -42,8 +42,8 @@ it('run delta', () => {
const scr = new script.Script(` list(".").forEach(p => copy(p, {dir: "dest"}))`, 'expr');
script.run(scr, spriteSrc, aq);
expect(aq.log).toEqual(expect.arrayContaining([
{type: 'Copy', src: path.join(spriteSrc, '32.png'), dst: "dest/32.png", valid: 'Success'},
{type: 'Copy', src: path.join(spriteSrc, '192-g-vsmogon.png'), dst: "dest/192-g-vsmogon.png", valid: 'Success'},
{type: 'Copy', src: path.join(spriteSrc, '32.png'), dst: "dest/32.png", valid: 'Success', debugObjs: []},
{type: 'Copy', src: path.join(spriteSrc, '192-g-vsmogon.png'), dst: "dest/192-g-vsmogon.png", valid: 'Success', debugObjs: []},
]));
});