(s: string)
| 631 | } |
| 632 | |
| 633 | function byteLengthUtf8(s: string): number { |
| 634 | let b = 0 |
| 635 | for (let i = 0; i < s.length; i++) { |
| 636 | const c = s.charCodeAt(i) |
| 637 | if (c < 0x80) b++ |
| 638 | else if (c < 0x800) b += 2 |
| 639 | else if (c >= 0xd800 && c <= 0xdbff) { |
| 640 | b += 4 |
| 641 | i++ |
| 642 | } else b += 3 |
| 643 | } |
| 644 | return b |
| 645 | } |
| 646 | |
| 647 | function checkBudget(P: ParseState): void { |
| 648 | P.nodeCount++ |