1
0
mirror of https://github.com/JuanCanham/HackMyResume.git synced 2025-05-03 04:47:07 +01:00

Improve PEEK behavior.

This commit is contained in:
hacksalot
2016-02-02 17:34:10 -05:00
parent d7c83613df
commit 11dd8952d8
4 changed files with 40 additions and 22 deletions

View File

@ -157,12 +157,20 @@ module.exports = class OutputHandler
when HME.afterPeek
sty = if evt.error then 'red' else ( if evt.target != undefined then 'green' else 'yellow' )
# "Peeking at 'someKey' in 'someFile'."
if evt.requested
L(M2C(this.msgs.beforePeek.msg[0], sty), evt.requested, evt.file)
else
L(M2C(this.msgs.beforePeek.msg[1], sty), evt.file)
# If the key was present, print it
if evt.target != undefined
console.dir( evt.target, { depth: null, colors: true } )
# If the key was not present, but no error occurred, print it
else if !evt.error
L(M2C( this.msgs.afterPeek.msg, 'yellow'), evt.requested, evt.file);
else if evt.error
L( chalk.red( evt.error.inner.inner ));

View File

@ -33,9 +33,10 @@ _peek = ( src, dst, opts ) ->
results = _.map src, ( t ) ->
return { } if opts.assert and @hasError()
tgt = _peekOne.call @, t, objPath
if tgt.fluenterror
if tgt.error
tgt.quit = opts.assert
@err tgt.fluenterror, tgt
tgt
, @
if @hasError() and !opts.assert
@ -49,7 +50,7 @@ _peek = ( src, dst, opts ) ->
###* Peek at a single resume, resume section, or resume field. ###
_peekOne = ( t, objPath ) ->
@.stat HMEVENT.beforePeek, { file: t, target: objPath }
@stat HMEVENT.beforePeek, { file: t, target: objPath }
# Load the input file JSON 1st
obj = safeLoadJSON t
@ -59,18 +60,20 @@ _peekOne = ( t, objPath ) ->
if !obj.ex
tgt = if objPath then __.get obj.json, objPath else obj.json;
# Fire the 'afterPeek' event with collected info
@.stat HMEVENT.afterPeek,
file: t
requested: objPath
target: tgt
error: obj.ex
## safeLoadJSON can only return a READ error or a PARSE error
pkgError = null
if obj.ex
errCode = if obj.ex.operation == 'parse' then HMSTATUS.parseError else HMSTATUS.readError
if errCode == HMSTATUS.readError
obj.ex.quiet = true
return fluenterror: errCode, inner: obj.ex
pkgError = fluenterror: errCode, inner: obj.ex
tgt
# Fire the 'afterPeek' event with collected info
@stat HMEVENT.afterPeek,
file: t
requested: objPath
target: if obj.ex then undefined else tgt
error: pkgError
val: tgt, errpr: pkgError