feat: include private fields during convert

This commit is contained in:
hacksalot 2018-02-01 06:44:07 -05:00
parent 76a386c9df
commit 5161a3a823
No known key found for this signature in database
GPG Key ID: 2F343EC247CA4B06
8 changed files with 30 additions and 21 deletions

View File

@ -78,7 +78,7 @@ Definition of the AbstractResume class.
traverse = require('traverse');
ignoreList = [];
privateList = [];
includePrivates = (opts != null ? opts["private"] : void 0) == null ? true : opts != null ? opts["private"] : void 0;
includePrivates = opts && opts["private"];
scrubbed = traverse(rep).map(function() {
if (!this.isLeaf) {
if (this.node.ignore === true || this.node.ignore === 'true') {

View File

@ -77,10 +77,11 @@ Definition of the FRESHResume class.
*/
FreshResume.prototype.parseJSON = function(rep, opts) {
var ignoreList, privateList, ref, ref1, scrubbed, that;
that = this;
ref = this.scrubResume(rep, opts), scrubbed = ref.scrubbed, ignoreList = ref.ignoreList, privateList = ref.privateList;
extend(true, this, scrubbed);
var ignoreList, privateList, ref, ref1, scrubbed;
if (opts && opts.privatize) {
ref = this.scrubResume(rep, opts), scrubbed = ref.scrubbed, ignoreList = ref.ignoreList, privateList = ref.privateList;
}
extend(true, this, opts && opts.privatize ? scrubbed : rep);
if (!((ref1 = this.imp) != null ? ref1.processed : void 0)) {
opts = opts || {};
if (opts.imp === void 0 || opts.imp) {

View File

@ -71,11 +71,12 @@ Definition of the JRSResume class.
*/
JRSResume.prototype.parseJSON = function(rep, opts) {
var ignoreList, privateList, ref, ref1, scrubbed, that;
var ignoreList, privateList, ref, ref1, scrubbed;
opts = opts || {};
that = this;
ref = this.scrubResume(rep, opts), scrubbed = ref.scrubbed, ignoreList = ref.ignoreList, privateList = ref.privateList;
extend(true, this, scrubbed);
if (opts.privatize) {
ref = this.scrubResume(rep, opts), scrubbed = ref.scrubbed, ignoreList = ref.ignoreList, privateList = ref.privateList;
}
extend(true, this, opts.privatize ? scrubbed : rep);
if (!((ref1 = this.imp) != null ? ref1.processed : void 0)) {
opts = opts || {};
if (opts.imp === void 0 || opts.imp) {

View File

@ -93,7 +93,10 @@ Implementation of the 'convert' verb for HackMyResume.
var rez, rinfo, srcFmt, targetFormat;
rinfo = ResumeFactory.loadOne(src, {
format: null,
objectify: true
objectify: true,
inner: {
privatize: false
}
});
if (rinfo.fluenterror) {
this.stat(HMEVENT.beforeConvert, {

View File

@ -63,7 +63,7 @@ class AbstractResume
traverse = require 'traverse'
ignoreList = []
privateList = []
includePrivates = if not opts?.private? then true else opts?.private
includePrivates = opts && opts.private
scrubbed = traverse( rep ).map () -> # [^1]
if !@isLeaf
@ -86,7 +86,7 @@ class AbstractResume
module.exports = AbstractResume
# [^1]: As of this writing, the NPM traverse library has a quirk when attempting
# [^1]: As of v0.6.6, 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

View File

@ -53,12 +53,12 @@ class FreshResume extends AbstractResume
###
parseJSON: ( rep, opts ) ->
# Ignore any element with the 'ignore: true' or 'private: true' designator.
that = @
{ scrubbed, ignoreList, privateList } = @scrubResume rep, opts
if opts and opts.privatize
# Ignore any element with the 'ignore: true' or 'private: true' designator.
{ scrubbed, ignoreList, privateList } = @scrubResume rep, opts
# Now apply the resume representation onto this object
extend( true, @, scrubbed );
extend true, @, if opts and opts.privatize then scrubbed else rep
# If the resume has already been processed, then we are being called from
# the .dupe method, and there's no need to do any post processing

View File

@ -48,12 +48,12 @@ class JRSResume extends AbstractResume
###
parseJSON: ( rep, opts ) ->
opts = opts || { };
# Ignore any element with the 'ignore: true' or 'private: true' designator.
that = this
{ scrubbed, ignoreList, privateList } = @scrubResume rep, opts
if opts.privatize
# Ignore any element with the 'ignore: true' or 'private: true' designator.
{ scrubbed, ignoreList, privateList } = @scrubResume rep, opts
# Extend resume properties onto ourself.
extend true, this, scrubbed
extend true, this, if opts.privatize then scrubbed else rep
# Set up metadata
if !@imp?.processed

View File

@ -77,7 +77,11 @@ _convert = ( srcs, dst, opts ) ->
_convertOne = (src, dst, idx) ->
# Load the resume
rinfo = ResumeFactory.loadOne src, format: null, objectify: true
rinfo = ResumeFactory.loadOne src,
format: null
objectify: true,
inner:
privatize: false
# If a load error occurs, report it and move on to the next file (if any)
if rinfo.fluenterror