@thi.ng/parse 2.6.48 → 2.6.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -29
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!-- This file is generated - DO NOT EDIT! -->
|
|
2
|
-
<!-- Please see: https://
|
|
3
|
-
# 
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@thi.ng/parse)
|
|
6
6
|

|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
> [!NOTE]
|
|
10
10
|
> This is one of 214 standalone projects, maintained as part
|
|
11
|
-
> of the [@thi.ng/umbrella](https://
|
|
11
|
+
> of the [@thi.ng/umbrella](https://codeberg.org/thi.ng/umbrella/) ecosystem
|
|
12
12
|
> and anti-framework.
|
|
13
13
|
>
|
|
14
|
-
> 🚀 Please help me to work full-time on these projects by [sponsoring
|
|
15
|
-
>
|
|
14
|
+
> 🚀 Please help me to work full-time on these projects by [sponsoring
|
|
15
|
+
> me](https://codeberg.org/thi.ng/umbrella/src/branch/develop/CONTRIBUTING.md#donations).
|
|
16
|
+
> Thank you! ❤️
|
|
16
17
|
|
|
17
18
|
- [About](#about)
|
|
18
19
|
- [Features](#features)
|
|
@@ -69,13 +70,13 @@ grammars](https://makertube.net/w/ursFuQNJQQskmejx1ydL7q)
|
|
|
69
70
|
|
|
70
71
|
**STABLE** - used in production
|
|
71
72
|
|
|
72
|
-
[Search or submit any issues for this package](https://
|
|
73
|
+
[Search or submit any issues for this package](https://codeberg.org/thi.ng/umbrella/issues?q=%5Bparse%5D)
|
|
73
74
|
|
|
74
75
|
## Related packages
|
|
75
76
|
|
|
76
|
-
- [@thi.ng/hiccup-markdown](https://
|
|
77
|
-
- [@thi.ng/proctext](https://
|
|
78
|
-
- [@thi.ng/transducers-fsm](https://
|
|
77
|
+
- [@thi.ng/hiccup-markdown](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/hiccup-markdown) - Markdown parser & serializer from/to Hiccup format
|
|
78
|
+
- [@thi.ng/proctext](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/proctext) - Extensible procedural text generation engine with dynamic, mutable state, indirection, randomizable & recursive variable expansions
|
|
79
|
+
- [@thi.ng/transducers-fsm](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/transducers-fsm) - Transducer-based Finite State Machine transformer
|
|
79
80
|
|
|
80
81
|
## Installation
|
|
81
82
|
|
|
@@ -107,28 +108,28 @@ Package sizes (brotli'd, pre-treeshake): ESM: 5.41 KB
|
|
|
107
108
|
|
|
108
109
|
## Dependencies
|
|
109
110
|
|
|
110
|
-
- [@thi.ng/api](https://
|
|
111
|
-
- [@thi.ng/checks](https://
|
|
112
|
-
- [@thi.ng/defmulti](https://
|
|
113
|
-
- [@thi.ng/errors](https://
|
|
114
|
-
- [@thi.ng/strings](https://
|
|
111
|
+
- [@thi.ng/api](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/api)
|
|
112
|
+
- [@thi.ng/checks](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/checks)
|
|
113
|
+
- [@thi.ng/defmulti](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/defmulti)
|
|
114
|
+
- [@thi.ng/errors](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/errors)
|
|
115
|
+
- [@thi.ng/strings](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/strings)
|
|
115
116
|
|
|
116
117
|
Note: @thi.ng/api is in _most_ cases a type-only import (not used at runtime)
|
|
117
118
|
|
|
118
119
|
## Usage examples
|
|
119
120
|
|
|
120
121
|
Three projects in this repo's
|
|
121
|
-
[/examples](https://
|
|
122
|
+
[/examples](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples)
|
|
122
123
|
directory are using this package:
|
|
123
124
|
|
|
124
|
-
| Screenshot | Description | Live demo | Source
|
|
125
|
-
|
|
126
|
-
| <img src="https://
|
|
127
|
-
| <img src="https://
|
|
128
|
-
| <img src="https://
|
|
125
|
+
| Screenshot | Description | Live demo | Source |
|
|
126
|
+
|:------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------|:-------------------------------------------------------|:--------------------------------------------------------------------------------------------|
|
|
127
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/markdown-parser.jpg" width="240"/> | Markdown to Hiccup to HTML parser / transformer | [Demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/markdown) |
|
|
128
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/mastodon-feed.jpg" width="240"/> | Mastodon API feed reader with support for different media types, fullscreen media modal, HTML rewriting | [Demo](https://demo.thi.ng/umbrella/mastodon-feed/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/mastodon-feed) |
|
|
129
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/parse-playground.png" width="240"/> | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/parse-playground) |
|
|
129
130
|
|
|
130
131
|
**Note:** Please also see the [dedicated wiki
|
|
131
|
-
page](https://
|
|
132
|
+
page](https://codeberg.org/thi.ng/umbrella/wiki/Parser-grammars) collecting
|
|
132
133
|
various grammar examples and links to their playgrounds.
|
|
133
134
|
|
|
134
135
|
## API
|
|
@@ -139,10 +140,10 @@ TODO
|
|
|
139
140
|
|
|
140
141
|
### Context & reader creation
|
|
141
142
|
|
|
142
|
-
- [`defContext`](https://
|
|
143
|
+
- [`defContext`](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/context.ts)
|
|
143
144
|
|
|
144
145
|
Source:
|
|
145
|
-
[/readers](https://
|
|
146
|
+
[/readers](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/readers)
|
|
146
147
|
|
|
147
148
|
- `defArrayReader`
|
|
148
149
|
- `defStringReader`
|
|
@@ -150,7 +151,7 @@ Source:
|
|
|
150
151
|
### Presets parsers
|
|
151
152
|
|
|
152
153
|
Source:
|
|
153
|
-
[/presets](https://
|
|
154
|
+
[/presets](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/presets)
|
|
154
155
|
|
|
155
156
|
- `WS` / `WS0` / `WS1` / `NL` / `DNL` / `SPACE` / `SPACES` / `SPACES0`
|
|
156
157
|
- `ALPHA` / `LOWER_CASE` / `UPPER_CASE` / `ALPHA_NUM`
|
|
@@ -163,7 +164,7 @@ Source:
|
|
|
163
164
|
### Primitives
|
|
164
165
|
|
|
165
166
|
Source:
|
|
166
|
-
[/prims](https://
|
|
167
|
+
[/prims](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/prims)
|
|
167
168
|
|
|
168
169
|
#### Naming conventions / suffixes
|
|
169
170
|
|
|
@@ -201,7 +202,7 @@ in order to decide about successful matching.
|
|
|
201
202
|
### Combinators
|
|
202
203
|
|
|
203
204
|
Source:
|
|
204
|
-
[/combinators](https://
|
|
205
|
+
[/combinators](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/combinators)
|
|
205
206
|
|
|
206
207
|
- `alt` / `altS` / `altD`
|
|
207
208
|
- `check`
|
|
@@ -217,7 +218,7 @@ Source:
|
|
|
217
218
|
### Transformers
|
|
218
219
|
|
|
219
220
|
Source:
|
|
220
|
-
[/xform](https://
|
|
221
|
+
[/xform](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/xform)
|
|
221
222
|
|
|
222
223
|
Syntax sugars for `xform(parser, fn)`:
|
|
223
224
|
|
|
@@ -253,7 +254,7 @@ Actual transforms:
|
|
|
253
254
|
## Grammar definition
|
|
254
255
|
|
|
255
256
|
Complex parsers can be constructed via
|
|
256
|
-
[`defGrammar()`](https://
|
|
257
|
+
[`defGrammar()`](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/parse/src/grammar.ts#L320),
|
|
257
258
|
which accepts a string of rule definitions in the built-in (and still
|
|
258
259
|
WIP) grammar rule definition language, similar to PEGs and regular
|
|
259
260
|
expressions:
|
|
@@ -437,7 +438,7 @@ rule references in the grammar definition as well:
|
|
|
437
438
|
### S-expression DSL
|
|
438
439
|
|
|
439
440
|
(Also see
|
|
440
|
-
[@thi.ng/defmulti](https://
|
|
441
|
+
[@thi.ng/defmulti](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/defmulti)
|
|
441
442
|
as a useful tool for processing/interpreting/compiling the result AST)
|
|
442
443
|
|
|
443
444
|
```ts tangle:export/readme-sexpr.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/parse",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.49",
|
|
4
4
|
"description": "Purely functional parser combinators & AST generation for generic inputs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "git+https://
|
|
11
|
+
"url": "git+https://codeberg.org/thi.ng/umbrella.git",
|
|
12
12
|
"directory": "packages/parse"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://thi.ng/parse",
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@thi.ng/api": "^8.12.
|
|
44
|
-
"@thi.ng/checks": "^3.8.
|
|
45
|
-
"@thi.ng/defmulti": "^3.0.
|
|
46
|
-
"@thi.ng/errors": "^2.6.
|
|
47
|
-
"@thi.ng/strings": "^3.11.
|
|
43
|
+
"@thi.ng/api": "^8.12.18",
|
|
44
|
+
"@thi.ng/checks": "^3.8.8",
|
|
45
|
+
"@thi.ng/defmulti": "^3.0.95",
|
|
46
|
+
"@thi.ng/errors": "^2.6.7",
|
|
47
|
+
"@thi.ng/strings": "^3.11.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"esbuild": "^0.27.2",
|
|
@@ -247,5 +247,5 @@
|
|
|
247
247
|
],
|
|
248
248
|
"year": 2020
|
|
249
249
|
},
|
|
250
|
-
"gitHead": "
|
|
250
|
+
"gitHead": "8ddf86ea0a1e658ddbf19cc645b29d0c176e29c4\n"
|
|
251
251
|
}
|