27 lines
658 B
JavaScript
27 lines
658 B
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = extractValueFromLiteral;
|
|
/**
|
|
* Extractor function for a Literal type value node.
|
|
*
|
|
* @param - value - AST Value object with type `Literal`
|
|
* @returns { String|Boolean } - The extracted value converted to correct type.
|
|
*/
|
|
function extractValueFromLiteral(value) {
|
|
var extractedValue = value.value;
|
|
|
|
|
|
var normalizedStringValue = typeof extractedValue === 'string' && extractedValue.toLowerCase();
|
|
if (normalizedStringValue === 'true') {
|
|
return true;
|
|
}
|
|
|
|
if (normalizedStringValue === 'false') {
|
|
return false;
|
|
}
|
|
|
|
return extractedValue;
|
|
} |