mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-11-22 08:20:11 +00:00
[fix] Private fields: resolve off-by-one error [2].
This commit is contained in:
parent
c6adab7f9e
commit
fde2146a0b
7
dist/core/abstract-resume.js
vendored
7
dist/core/abstract-resume.js
vendored
@ -79,7 +79,7 @@ Definition of the AbstractResume class.
|
|||||||
ignoreList = [];
|
ignoreList = [];
|
||||||
privateList = [];
|
privateList = [];
|
||||||
includePrivates = (opts != null ? opts["private"] : void 0) == null ? true : opts != null ? opts["private"] : void 0;
|
includePrivates = (opts != null ? opts["private"] : void 0) == null ? true : opts != null ? opts["private"] : void 0;
|
||||||
scrubbed = traverse(rep).map(function(x) {
|
scrubbed = traverse(rep).map(function() {
|
||||||
if (!this.isLeaf) {
|
if (!this.isLeaf) {
|
||||||
if (this.node.ignore === true || this.node.ignore === 'true') {
|
if (this.node.ignore === true || this.node.ignore === 'true') {
|
||||||
ignoreList.push(this.node);
|
ignoreList.push(this.node);
|
||||||
@ -89,6 +89,11 @@ Definition of the AbstractResume class.
|
|||||||
this["delete"]();
|
this["delete"]();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (_.isArray(this.node)) {
|
||||||
|
this.after(function() {
|
||||||
|
this.update(_.compact(this.node));
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
scrubbed: scrubbed,
|
scrubbed: scrubbed,
|
||||||
|
@ -65,7 +65,7 @@ class AbstractResume
|
|||||||
privateList = []
|
privateList = []
|
||||||
includePrivates = if not opts?.private? then true else opts?.private
|
includePrivates = if not opts?.private? then true else opts?.private
|
||||||
|
|
||||||
scrubbed = traverse( rep ).map ( x ) ->
|
scrubbed = traverse( rep ).map () -> # [^1]
|
||||||
if !@isLeaf
|
if !@isLeaf
|
||||||
if @node.ignore == true || @node.ignore == 'true'
|
if @node.ignore == true || @node.ignore == 'true'
|
||||||
ignoreList.push @node
|
ignoreList.push @node
|
||||||
@ -73,6 +73,10 @@ class AbstractResume
|
|||||||
else if (@node.private == true || @node.private == 'true') && !includePrivates
|
else if (@node.private == true || @node.private == 'true') && !includePrivates
|
||||||
privateList.push @node
|
privateList.push @node
|
||||||
@delete()
|
@delete()
|
||||||
|
if _.isArray(@node) # [^2]
|
||||||
|
@after () ->
|
||||||
|
@update _.compact this.node
|
||||||
|
return
|
||||||
return
|
return
|
||||||
|
|
||||||
scrubbed: scrubbed
|
scrubbed: scrubbed
|
||||||
@ -80,3 +84,15 @@ class AbstractResume
|
|||||||
privateList: privateList
|
privateList: privateList
|
||||||
|
|
||||||
module.exports = AbstractResume
|
module.exports = AbstractResume
|
||||||
|
|
||||||
|
|
||||||
|
# [^1]: As of this writing, the NPM traverse library has a quirk when attempting
|
||||||
|
# to remove array elements directly using traverse's `this.remove`. See:
|
||||||
|
#
|
||||||
|
# https://github.com/substack/js-traverse/issues/48
|
||||||
|
#
|
||||||
|
# [^2]: The workaround is to use traverse's 'this.delete' to nullify the value
|
||||||
|
# first, followed by removal with something like _.compact.
|
||||||
|
#
|
||||||
|
# https://github.com/substack/js-traverse/issues/48#issuecomment-142607200
|
||||||
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user