text: import { Scalar } from '../../nodes/Scalar.js';
  import { stringifyNumber } from '../../stringify/stringifyNumber.js';
  
  const floatNaN = {
      identify: value => typeof value === 'number',
      default: true,
      tag: 'tag:yaml.org,2002:float',
      test: /^(?:[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN))$/,
      resolve: str => str.slice(-3).toLowerCase() === 'nan'
          ? NaN
          : str[0] === '-'
              ? Number.NEGATIVE_INFINITY
              : Number.POSITIVE_INFINITY,
      stringify: stringifyNumber
  };
  const floatExp = {
      identify: value => typeof value === 'number',
      default: true,
      tag: 'tag:yaml.org,2002:float',
      format: 'EXP',
      test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
      resolve: str => parseFloat(str),
      stringify: ({ value }) => Number(value).toExponential()
  };
  const float = {
      identify: value => typeof value === 'number',
      default: true,
      tag: 'tag:yaml.org,2002:float',
      test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
      resolve(str) {
          const node = new Scalar(parseFloat(str));
          const dot = str.indexOf('.');
          if (dot !== -1 && str[str.length - 1] === '0')
              node.minFractionDigits = str.length - dot - 1;
          return node;
      },
      stringify: stringifyNumber
  };
  
  export { float, floatExp, floatNaN };
  