Literal.js 658 B

123456789101112131415161718192021222324252627
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = extractValueFromLiteral;
  6. /**
  7. * Extractor function for a Literal type value node.
  8. *
  9. * @param - value - AST Value object with type `Literal`
  10. * @returns { String|Boolean } - The extracted value converted to correct type.
  11. */
  12. function extractValueFromLiteral(value) {
  13. var extractedValue = value.value;
  14. var normalizedStringValue = typeof extractedValue === 'string' && extractedValue.toLowerCase();
  15. if (normalizedStringValue === 'true') {
  16. return true;
  17. }
  18. if (normalizedStringValue === 'false') {
  19. return false;
  20. }
  21. return extractedValue;
  22. }