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;
|
||
|
}
|