From c1b48293daf0faedc37b9da39b04ad9515af0dfe Mon Sep 17 00:00:00 2001 From: Leo Sin Date: Thu, 6 Jun 2024 02:02:00 -0400 Subject: [PATCH 1/4] fix: added signatures of newline, crlf and end_of_line --- src/parsec/__init__.pyi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/parsec/__init__.pyi b/src/parsec/__init__.pyi index 827022b..6846791 100644 --- a/src/parsec/__init__.pyi +++ b/src/parsec/__init__.pyi @@ -139,6 +139,9 @@ def digit() -> Parser[str]: ... def eof() -> Parser[None]: ... def string(s: _VS) -> Parser[_VS]: ... def regex(exp: str | re.Pattern, flags: re.RegexFlag = ...) -> Parser[str]: ... +def newline() -> Parser[str]: ... +def crlf() -> Parser[str]: ... +def end_of_line() -> Parser[str]: ... def success_with(value: _U, advance: bool = False) -> Parser[_U]: ... def fail_with(message: str) -> Parser: ... def exclude(p: Parser[_U], exclude: Parser) -> Parser[_U]: ... From 69e6d077bfeb7608739e7bf9ba46059a51332387 Mon Sep 17 00:00:00 2001 From: Leo Sin Date: Thu, 6 Jun 2024 02:17:11 -0400 Subject: [PATCH 2/4] fix: typing --- src/parsec/__init__.pyi | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/parsec/__init__.pyi b/src/parsec/__init__.pyi index 6846791..80e354e 100644 --- a/src/parsec/__init__.pyi +++ b/src/parsec/__init__.pyi @@ -55,7 +55,17 @@ class Parser(T.Generic[_U]): def skip(self, other: Parser[_V]) -> Parser[_U]: ... def ends_with(self, other: Parser[_V]) -> Parser[_U]: ... def excepts(self, ohter: Parser[_V]) -> Parser[_U]: ... - def parsecmap(self, fn: CA.Callable[[_U], _V], star: bool = False) -> Parser[_V]: ... + @T.overload + def parsecmap(self, fn: CA.Callable[..., _V], star: Literal[True] = ...) -> Parser[_V]: ... + @T.overload + def parsecmap(self, fn: CA.Callable[[_U], _V], star: Literal[False] = ) -> Parser[_V]: ... + @T.overload + def parsecmap(self, fn, star: bool = False) -> Parser[_V]: ... + @T.overload + def map(self, fn: CA.Callable[..., _V], star: Literal[True]) -> Parser[_V]: ... + @T.overload + def map(self, fn: CA.Callable[[_U], _V], star: Literal[False]) -> Parser[_V]: ... + @T.overload def map(self, fn: CA.Callable[[_U], _V], star: bool = False) -> Parser[_V]: ... def parsecapp( self: Parser[CA.Callable[[_V], _W]], other: Parser[_V] From 9e53f0177deb0a040a9c6b051d99c65dc9358700 Mon Sep 17 00:00:00 2001 From: Leo Sin Date: Thu, 6 Jun 2024 02:18:47 -0400 Subject: [PATCH 3/4] fix: typing --- src/parsec/__init__.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parsec/__init__.pyi b/src/parsec/__init__.pyi index 80e354e..441b67a 100644 --- a/src/parsec/__init__.pyi +++ b/src/parsec/__init__.pyi @@ -56,9 +56,9 @@ class Parser(T.Generic[_U]): def ends_with(self, other: Parser[_V]) -> Parser[_U]: ... def excepts(self, ohter: Parser[_V]) -> Parser[_U]: ... @T.overload - def parsecmap(self, fn: CA.Callable[..., _V], star: Literal[True] = ...) -> Parser[_V]: ... + def parsecmap(self, fn: CA.Callable[..., _V], star: Literal[True]) -> Parser[_V]: ... @T.overload - def parsecmap(self, fn: CA.Callable[[_U], _V], star: Literal[False] = ) -> Parser[_V]: ... + def parsecmap(self, fn: CA.Callable[[_U], _V], star: Literal[False]) -> Parser[_V]: ... @T.overload def parsecmap(self, fn, star: bool = False) -> Parser[_V]: ... @T.overload From 48dfe687b9430150bd0febd4d860bf96f5e7e390 Mon Sep 17 00:00:00 2001 From: Leo Sin Date: Thu, 6 Jun 2024 02:20:27 -0400 Subject: [PATCH 4/4] fix: typing --- src/parsec/__init__.pyi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/parsec/__init__.pyi b/src/parsec/__init__.pyi index 441b67a..54fcbe3 100644 --- a/src/parsec/__init__.pyi +++ b/src/parsec/__init__.pyi @@ -56,15 +56,15 @@ class Parser(T.Generic[_U]): def ends_with(self, other: Parser[_V]) -> Parser[_U]: ... def excepts(self, ohter: Parser[_V]) -> Parser[_U]: ... @T.overload - def parsecmap(self, fn: CA.Callable[..., _V], star: Literal[True]) -> Parser[_V]: ... + def parsecmap(self, fn: CA.Callable[..., _V], star: T.Literal[True]) -> Parser[_V]: ... @T.overload - def parsecmap(self, fn: CA.Callable[[_U], _V], star: Literal[False]) -> Parser[_V]: ... + def parsecmap(self, fn: CA.Callable[[_U], _V], star: T.Literal[False]) -> Parser[_V]: ... @T.overload def parsecmap(self, fn, star: bool = False) -> Parser[_V]: ... @T.overload - def map(self, fn: CA.Callable[..., _V], star: Literal[True]) -> Parser[_V]: ... + def map(self, fn: CA.Callable[..., _V], star: T.Literal[True]) -> Parser[_V]: ... @T.overload - def map(self, fn: CA.Callable[[_U], _V], star: Literal[False]) -> Parser[_V]: ... + def map(self, fn: CA.Callable[[_U], _V], star: T.Literal[False]) -> Parser[_V]: ... @T.overload def map(self, fn: CA.Callable[[_U], _V], star: bool = False) -> Parser[_V]: ... def parsecapp(