Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: proof of concept #7

Merged
merged 21 commits into from
Nov 11, 2021
Merged

feat: proof of concept #7

merged 21 commits into from
Nov 11, 2021

Conversation

norskeld
Copy link
Owner

Combinators:

  • chainl
  • choice (alt)
  • defer
  • error
  • lazy
  • many
  • map and mapTo
  • nothing (nil)
  • optional (opt)
  • regexp (re)
  • sequence (seq)
  • string (str)
  • takeLeft (tleft), takeMid (tmid) and takeRight (tright)

Also some kind of "runner" to wrap a given parser and run it.

Resolves #1

@norskeld norskeld added the feat New feature or request label Nov 11, 2021
@norskeld norskeld self-assigned this Nov 11, 2021
@coveralls
Copy link

coveralls commented Nov 11, 2021

Pull Request Test Coverage Report for Build 1450898329

  • 145 of 145 (100.0%) changed or added relevant lines in 19 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 1447975160: 0.0%
Covered Lines: 145
Relevant Lines: 145

💛 - Coveralls

- Takes a parser and returns an object with a
single 'method' — `with`, which consumes textual
input and parses it.
@norskeld norskeld changed the title feat: poc feat: proof of concept Nov 11, 2021
@norskeld norskeld merged commit ca56bbc into master Nov 11, 2021
@norskeld norskeld deleted the feat/poc branch November 11, 2021 23:10
norskeld added a commit that referenced this pull request Nov 11, 2021
* chore: vscode launch config

* chore: ts & jest configs overhaul

- Use separate tsconfigs for build and tests + add path mappings.
- Update jest config to support path mappings.
- Update package scripts.

* feat(combinators/string): implement `string` combinator

- Add basic parser state and result w/ helpers.

* ci: use the correct script to generate coverage

* feat(combinators/regexp): implement `regexp` combinator

* refactor(tests): refactor, improve & restructure to mirror `src`

- Add test for public API.
- Clean up re-exports.

* ci: get rid of matrix

* feat(combinators/map): implement `map` and `mapTo`

* feat(combinators/error): implement `error` combinator

* feat(combinators/sequence): implement `sequence` combinator

* refactor(tests): clean up and simplify tests

* feat(combinators/nothing): implement `nothing` combinator

* feat(combinators/choice): implement `choice` combinator

* feat(combinators/take): implement `take*` combinators

* feat(combinators/many): implement `many` combinator

* feat(combinators/list): implement `list` combinator

* feat(combinators/optional): implement `optional` combinator

* feat(combinators/lazy): implement `lazy` combinator

* feat(combinators/defer): implement `defer` combinator

* feat(combinators/chain): implement `chainl` combinator

* feat(run): implement simple parser runner

- Takes a parser and returns an object with a single 'method' — `with`, which consumes
textual input and parses it.
github-actions bot pushed a commit that referenced this pull request Nov 12, 2021
# 1.0.0 (2021-11-12)

### Features

* proof of concept ([#7](#7)) ([ee117b6](ee117b6))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: poc
2 participants