Skip to content

Commit c23d552

Browse files
committed
chore: use Token namespace
1 parent 4b87e1b commit c23d552

File tree

1 file changed

+39
-38
lines changed

1 file changed

+39
-38
lines changed

src/select-query-parser/parser.ts

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -506,40 +506,6 @@ type ParseNodesHelper<
506506
// Some utils type for the ParseQuery parser logic
507507
// Count is a special case where an aggregate function won't need a column to be run against
508508
// see: https://postgrest.org/en/v12/references/api/aggregate_functions.html#the-case-of-count
509-
type LowerAlphabet =
510-
| 'a'
511-
| 'b'
512-
| 'c'
513-
| 'd'
514-
| 'e'
515-
| 'f'
516-
| 'g'
517-
| 'h'
518-
| 'i'
519-
| 'j'
520-
| 'k'
521-
| 'l'
522-
| 'm'
523-
| 'n'
524-
| 'o'
525-
| 'p'
526-
| 'q'
527-
| 'r'
528-
| 's'
529-
| 't'
530-
| 'u'
531-
| 'v'
532-
| 'w'
533-
| 'x'
534-
| 'y'
535-
| 'z'
536-
537-
type Alphabet = LowerAlphabet | Uppercase<LowerAlphabet>
538-
539-
type Digit = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0'
540-
541-
type Letter = Alphabet | Digit | '_'
542-
543509
/**
544510
* Reads a consecutive sequence of 1 or more letters, where letters are `[0-9a-zA-Z_]`.
545511
*/
@@ -554,7 +520,7 @@ type ReadLetters<Input extends string> = string extends Input
554520
type ReadLettersHelper<Input extends string, Acc extends string> = string extends Input
555521
? GenericStringError
556522
: Input extends `${infer L}${infer Remainder}`
557-
? L extends Letter
523+
? L extends Token.Letter
558524
? ReadLettersHelper<Remainder, `${Acc}${L}`>
559525
: [Acc, Input]
560526
: [Acc, '']
@@ -588,17 +554,52 @@ type CreateParserErrorIfRequired<Input, Message extends string> = Input extends
588554
? Input
589555
: ParserError<Message>
590556

591-
type Whitespace = ' ' | '\n' | '\t'
592-
593557
/**
594558
* Trims whitespace from the left of the input.
595559
*/
596560
type EatWhitespace<Input extends string> = string extends Input
597561
? GenericStringError
598-
: Input extends `${Whitespace}${infer Remainder}`
562+
: Input extends `${Token.Whitespace}${infer Remainder}`
599563
? EatWhitespace<Remainder>
600564
: Input
601565

566+
namespace Token {
567+
type LowerAlphabet =
568+
| 'a'
569+
| 'b'
570+
| 'c'
571+
| 'd'
572+
| 'e'
573+
| 'f'
574+
| 'g'
575+
| 'h'
576+
| 'i'
577+
| 'j'
578+
| 'k'
579+
| 'l'
580+
| 'm'
581+
| 'n'
582+
| 'o'
583+
| 'p'
584+
| 'q'
585+
| 'r'
586+
| 's'
587+
| 't'
588+
| 'u'
589+
| 'v'
590+
| 'w'
591+
| 'x'
592+
| 'y'
593+
| 'z'
594+
595+
type Alphabet = LowerAlphabet | Uppercase<LowerAlphabet>
596+
597+
type Digit = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0'
598+
599+
export type Letter = Alphabet | Digit | '_'
600+
export type Whitespace = ' ' | '\n' | '\t'
601+
}
602+
602603
export namespace Ast {
603604
export interface IdentifierNode {
604605
type: 'identifier'

0 commit comments

Comments
 (0)