Skip to content

Commit

Permalink
fix(builder): Export classes to avoid TS4094 (#202)
Browse files Browse the repository at this point in the history
  • Loading branch information
zharinov committed Nov 15, 2022
1 parent 8acfde9 commit 7787b97
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 14 deletions.
24 changes: 12 additions & 12 deletions lib/query/builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,13 +187,13 @@ abstract class AbstractBuilder<Ctx> extends TerminalBuilder<Ctx> {

// Anchors

class BeginBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class BeginBuilder<Ctx> extends AbstractBuilder<Ctx> {
build(): BeginMatcher<Ctx> {
return new BeginMatcher<Ctx>();
}
}

class EndBuilder<Ctx> extends TerminalBuilder<Ctx> {
export class EndBuilder<Ctx> extends TerminalBuilder<Ctx> {
constructor(private readonly builder: QueryBuilder<Ctx>) {
super();
}
Expand All @@ -210,7 +210,7 @@ export function begin<Ctx>(): BeginBuilder<Ctx> {
return new BeginBuilder<Ctx>();
}

class VoidBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class VoidBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private readonly fn: (context: Ctx) => Ctx) {
super();
}
Expand All @@ -226,7 +226,7 @@ export function handler<Ctx>(fn: (context: Ctx) => Ctx): VoidBuilder<Ctx> {

// Sequence

class SeqBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class SeqBuilder<Ctx> extends AbstractBuilder<Ctx> {
private readonly builders: QueryBuilder<Ctx>[];

constructor(prev: QueryBuilder<Ctx>, next: QueryBuilder<Ctx>) {
Expand Down Expand Up @@ -266,7 +266,7 @@ export function join<Ctx>(

// Symbols

class SymBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class SymBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: SymMatcherOptions<Ctx>) {
super();
}
Expand Down Expand Up @@ -294,7 +294,7 @@ export function sym<Ctx>(

// Operators

class OpBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class OpBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: OpMatcherOptions<Ctx>) {
super();
}
Expand Down Expand Up @@ -322,7 +322,7 @@ export function op<Ctx>(

// Comments

class CommentBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class CommentBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: CommentMatcherOptions<Ctx>) {
super();
}
Expand Down Expand Up @@ -357,7 +357,7 @@ export function comment<Ctx>(

// Numbers

class NumBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class NumBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: NumMatcherOptions<Ctx>) {
super();
}
Expand Down Expand Up @@ -385,7 +385,7 @@ export function num<Ctx>(

// Repetitive patterns

class ManyBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class ManyBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: ManyBuilderOpts<Ctx>) {
super();
}
Expand Down Expand Up @@ -418,7 +418,7 @@ export function opt<Ctx>(builder: QueryBuilder<Ctx>): ManyBuilder<Ctx> {

// Alternatives

class AltBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class AltBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private builders: QueryBuilder<Ctx>[]) {
super();
}
Expand All @@ -435,7 +435,7 @@ export function alt<Ctx>(...builders: QueryBuilder<Ctx>[]): AltBuilder<Ctx> {

// Trees

class TreeBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class TreeBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: TreeBuilderOptions<Ctx>) {
super();
}
Expand All @@ -460,7 +460,7 @@ export function tree<Ctx>(

// Strings

class StrBuilder<Ctx> extends AbstractBuilder<Ctx> {
export class StrBuilder<Ctx> extends AbstractBuilder<Ctx> {
constructor(private opts: StrBuilderOptions<Ctx>) {
super();
}
Expand Down
16 changes: 15 additions & 1 deletion lib/query/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
export * from './builder';
export {
begin,
handler,
join,
sym,
op,
comment,
num,
many,
opt,
alt,
tree,
str,
buildRoot,
} from './builder';
export * from './types';
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "good-enough-parser",
"description": "Parse and query computer programs source code",
"version": "1.1.20",
"version": "1.1.21",
"repository": "https://github.com/zharinov/good-enough-parser.git",
"author": "Sergei Zharinov",
"contributors": [
Expand Down

0 comments on commit 7787b97

Please sign in to comment.