546
return result;
547
}
549
>
return {
550
>
setPosition: setPosition,
551
>
getPosition: () => pos,
552
>
scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
553
>
getToken: () => token,
554
>
getTokenValue: () => value,
555
>
getTokenOffset: () => tokenOffset,
556
>
getTokenLength: () => pos - tokenOffset,
557
>
getTokenError: () => scanError
558
>
};
559
>
}
560
561
>
function isWhitespace(ch: number): boolean {
json.ts
562
>
return ch === CharacterCodes.space || ch === CharacterCodes.tab || ch === CharacterCodes.verticalTab || ch === CharacterCodes.formFeed ||
563
>
ch === CharacterCodes.nonBreakingSpace || ch === CharacterCodes.ogham || ch >= CharacterCodes.enQuad && ch <= CharacterCodes.zeroWidthSpace ||
564
>
ch === CharacterCodes.narrowNoBreakSpace || ch === CharacterCodes.mathematicalSpace || ch === CharacterCodes.ideographicSpace || ch === CharacterCodes.byteOrderMark;
565
>
}
566
567
>
function isLineBreak(ch: number): boolean {
json.ts
568
>
return ch === CharacterCodes.lineFeed || ch === CharacterCodes.carriageReturn || ch === CharacterCodes.lineSeparator || ch === CharacterCodes.paragraphSeparator;
569
>
}
570
571
function isDigit(ch: number): boolean {