UNPKG

nsify

Version:

NetSuite-side require() the node.js

39 lines (32 loc) 1.09 kB
'use strict'; var path = require('path'), nsify = require('./index'); module.exports = (nsObj, filePath) => { let nskObj = JSON.parse(JSON.stringify(nsObj)); if (nskObj.id.indexOf('customscript') !== 0) { nskObj.id = `customscript${nskObj.id}`; } let dir = path.dirname(filePath); nskObj.files = []; nskObj.libs.forEach(lib => { let ext = ~lib.indexOf('.js') ? '' : '.js', libPath = path.resolve(`${dir}/${lib}${ext}`), libScript = nsify(libPath); libScript && nskObj.files.push([libPath, libScript.alias]); }); // add main file after libs nskObj.files.push([filePath, nskObj.alias]); let alias = nskObj.alias; if (nskObj.functions) { let funcs = nskObj.functions; Object.keys(nskObj.functions).forEach(func => { funcs[func] = `${alias}.${funcs[func]}`; }); } else if (nskObj.function) { nskObj.function = `${alias}.${nskObj.function}`; } ['libs', 'custom'].forEach(prop => { delete nskObj[prop]; }); return nskObj; };