pundle-loader-js
Version:
Javascript loader for Pundle
44 lines (35 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.getName = getName;
exports.getParsedReplacement = getParsedReplacement;
var _babelTypes = require('babel-types');
var t = _interopRequireWildcard(_babelTypes);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function getName(obj) {
if (typeof obj.name === 'string') {
return obj.name;
}
var chunks = [];
if (_typeof(obj.object) === 'object') {
chunks.push(getName(obj.object));
}
if (_typeof(obj.property) === 'object') {
chunks.push(getName(obj.property));
}
return chunks.join('.');
}
var STRING_REGEX = /^"[^"]*"$/;
function getParsedReplacement(rawValue) {
var parsedValue = void 0;
if (STRING_REGEX.test(rawValue)) {
parsedValue = t.stringLiteral(JSON.parse(rawValue));
} else if (typeof rawValue === 'number') {
parsedValue = t.numericLiteral(rawValue);
} else {
parsedValue = t.identifier(rawValue);
}
return parsedValue;
}