(scanner: Scanner)
| 605 | ]); |
| 606 | const INFINITY_REGEXP = /[+-]?inf\b/y; |
| 607 | export function infinity(scanner: Scanner): ParseResult<number> { |
| 608 | scanner.skipWhitespaces(); |
| 609 | const match = scanner.match(INFINITY_REGEXP); |
| 610 | if (!match) return failure(); |
| 611 | const string = match[0]; |
| 612 | scanner.next(string.length); |
| 613 | const value = INFINITY_MAP.get(string)!; |
| 614 | return success(value); |
| 615 | } |
| 616 | |
| 617 | const NAN_REGEXP = /[+-]?nan\b/y; |
| 618 | export function nan(scanner: Scanner): ParseResult<number> { |