@vasp-framework/parser 0.1.0
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 +69 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/lexer/Lexer.d.ts +21 -0
- package/dist/lexer/Lexer.d.ts.map +1 -0
- package/dist/lexer/Lexer.js +219 -0
- package/dist/lexer/Lexer.js.map +1 -0
- package/dist/lexer/Token.d.ts +8 -0
- package/dist/lexer/Token.d.ts.map +1 -0
- package/dist/lexer/Token.js +2 -0
- package/dist/lexer/Token.js.map +1 -0
- package/dist/lexer/TokenType.d.ts +29 -0
- package/dist/lexer/TokenType.d.ts.map +1 -0
- package/dist/lexer/TokenType.js +49 -0
- package/dist/lexer/TokenType.js.map +1 -0
- package/dist/parser/Parser.d.ts +3 -0
- package/dist/parser/Parser.d.ts.map +1 -0
- package/dist/parser/Parser.js +408 -0
- package/dist/parser/Parser.js.map +1 -0
- package/dist/validator/SemanticValidator.d.ts +13 -0
- package/dist/validator/SemanticValidator.d.ts.map +1 -0
- package/dist/validator/SemanticValidator.js +145 -0
- package/dist/validator/SemanticValidator.js.map +1 -0
- package/package.json +35 -0
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# @vasp-framework/parser
|
|
2
|
+
|
|
3
|
+
Lexer, recursive descent parser, and semantic validator for the `.vasp` DSL.
|
|
4
|
+
|
|
5
|
+
This is an internal package used by `vasp-cli` and `@vasp-framework/generator`. You don't need to install it unless you're building custom Vasp tooling.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { parse } from '@vasp-framework/parser'
|
|
11
|
+
|
|
12
|
+
const ast = parse(`
|
|
13
|
+
app MyApp {
|
|
14
|
+
title: "My App"
|
|
15
|
+
db: Drizzle
|
|
16
|
+
ssr: false
|
|
17
|
+
typescript: false
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
route HomeRoute {
|
|
21
|
+
path: "/"
|
|
22
|
+
to: HomePage
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
page HomePage {
|
|
26
|
+
component: import Home from "@src/pages/Home.vue"
|
|
27
|
+
}
|
|
28
|
+
`)
|
|
29
|
+
|
|
30
|
+
console.log(ast.app.name) // 'MyApp'
|
|
31
|
+
console.log(ast.routes[0]) // { type: 'Route', name: 'HomeRoute', path: '/', to: 'HomePage', ... }
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## API
|
|
35
|
+
|
|
36
|
+
### `parse(source: string, filename?: string): VaspAST`
|
|
37
|
+
|
|
38
|
+
Tokenizes, parses, and semantically validates a `.vasp` source string. Throws `ParseError` on any error.
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
import { parse } from '@vasp-framework/parser'
|
|
42
|
+
import { ParseError } from '@vasp-framework/core'
|
|
43
|
+
|
|
44
|
+
try {
|
|
45
|
+
const ast = parse(source, 'main.vasp')
|
|
46
|
+
} catch (err) {
|
|
47
|
+
if (err instanceof ParseError) {
|
|
48
|
+
console.error(err.message) // '[E010_UNEXPECTED_TOKEN] (line 3, col 5): ...'
|
|
49
|
+
console.log(err.diagnostics) // structured list of errors with codes, messages, locations
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Error Codes
|
|
55
|
+
|
|
56
|
+
| Code | Description |
|
|
57
|
+
|---|---|
|
|
58
|
+
| `E001_UNCLOSED_BLOCK_COMMENT` | Block comment `/* ... */` was never closed |
|
|
59
|
+
| `E002_INVALID_CHARACTER` | Unexpected character in source |
|
|
60
|
+
| `E003_UNTERMINATED_STRING` | String literal missing closing quote |
|
|
61
|
+
| `E010_UNEXPECTED_TOKEN` | Parser got a token it didn't expect |
|
|
62
|
+
| `E011_DUPLICATE_BLOCK` | Block name already defined |
|
|
63
|
+
| `E100_MISSING_APP_BLOCK` | No `app` block found |
|
|
64
|
+
| `E105_INVALID_ROUTE_REF` | `route.to` references unknown page |
|
|
65
|
+
| `E108_UNKNOWN_ENTITY_REF` | Query/action references unknown entity |
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
[Apache 2.0](../../LICENSE)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../core/dist/types/ast.d.ts","../../core/dist/types/config.d.ts","../../core/dist/errors/vasperror.d.ts","../../core/dist/errors/parseerror.d.ts","../../core/dist/errors/generatorerror.d.ts","../../core/dist/constants.d.ts","../../core/dist/index.d.ts","../src/lexer/tokentype.ts","../src/lexer/token.ts","../src/lexer/lexer.ts","../src/parser/parser.ts","../src/validator/semanticvalidator.ts","../src/index.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/utility.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/header.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/readable.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/console.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/events.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/http.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/https.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/module.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/net.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/os.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/path.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/process.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/quic.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/sea.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/test.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/url.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/util.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/util/types.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.bun/@types+node@25.5.0/node_modules/@types/node/index.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/fetch.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/formdata.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/connector.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/client.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/errors.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/pool.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/handlers.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/agent.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/api.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/util.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/cookies.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/patch.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/websocket.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/content-type.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/cache.d.ts","../../../node_modules/.bun/undici-types@7.18.2/node_modules/undici-types/index.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/globals.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/s3.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/fetch.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/jsx.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/bun.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/extensions.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/devserver.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/ffi.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/html-rewriter.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/jsc.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/sqlite.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/utils.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/overloads.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/branding.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/messages.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/index.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/test.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/wasm.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/overrides.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/deprecated.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/redis.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/shell.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/serve.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/sql.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/security.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/bundle.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/bun.ns.d.ts","../../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/index.d.ts","../../../node_modules/.bun/@types+bun@1.3.11/node_modules/@types/bun/index.d.ts"],"fileIdsList":[[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240,243],[99,117,118,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,119,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,159,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,121,126,128,131,132,135,137,138,139,141,151,156,168,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,121,122,128,131,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,123,128,132,135,137,138,139,151,169,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,124,125,128,132,135,137,138,139,142,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,135,137,138,139,151,156,165,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,126,128,131,132,135,137,138,139,141,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,119,120,127,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,129,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,130,131,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,119,120,128,131,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,133,135,137,138,139,151,156,168,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,131,132,133,135,137,138,139,151,156,159,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,131,132,134,135,137,138,139,141,151,156,168,215,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,134,135,137,138,139,141,151,156,165,168,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,134,135,136,137,138,139,151,156,165,168,216,217,218,220,222,233,234,235,236,237,238,239,240],[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,140,151,168,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,135,137,138,139,141,151,156,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,142,151,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,143,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,135,137,138,139,146,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,148,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,149,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,135,137,138,139,141,151,159,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,135,137,138,139,151,152,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,153,169,172,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,135,137,138,139,151,156,158,159,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,157,159,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,159,169,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,160,216,217,218,220,222,233,235,236,237,238,239,240],[99,117,120,128,132,135,137,138,139,151,156,162,168,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,156,161,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,135,137,138,139,151,163,164,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,163,164,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,135,137,138,139,141,151,156,165,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,166,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,141,151,167,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,134,135,137,138,139,149,151,168,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,169,170,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,135,137,138,139,151,170,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,156,171,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,140,151,172,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,173,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,123,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,169,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,215,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,168,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,174,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,146,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,159,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,164,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,131,132,133,135,137,138,139,146,151,156,159,168,171,172,174,215,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,156,175,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,134,135,137,138,139,151,165,169,174,215,216,217,218,219,222,223,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,215,216,217,220,222,233,235,236,237,238,239,240],[99,120,125,128,132,135,137,138,139,146,151,156,159,165,169,174,215,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,176,216,217,218,220,221,222,223,224,225,226,232,233,234,235,236,237,238,239,240,241,242],[99,120,123,125,128,132,133,135,137,138,139,142,151,159,165,168,175,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,226,233,235,236,237,238,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,231,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,227,228,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,227,228,229,230,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,227,229,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,227,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,216,217,218,220,222,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,168,180,183,186,187,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,156,168,183,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,168,183,187,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,156,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,177,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,181,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,168,179,180,183,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,141,151,165,216,217,218,220,222,233,234,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,176,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,176,177,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,141,151,168,179,183,216,217,218,220,222,233,235,236,237,238,239,240],[94,95,96,99,120,128,131,132,135,137,138,139,151,156,168,178,182,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,192,200,216,217,218,220,222,233,235,236,237,238,239,240],[95,99,120,128,132,135,137,138,139,151,181,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,209,210,216,217,218,220,222,233,235,236,237,238,239,240],[95,99,120,128,132,135,137,138,139,151,159,168,176,178,183,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,168,179,183,216,217,218,220,222,233,235,236,237,238,239,240],[94,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,177,178,179,181,182,183,184,185,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,202,205,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,192,193,194,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,181,183,193,195,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,182,216,217,218,220,222,233,235,236,237,238,239,240],[95,99,120,128,132,135,137,138,139,151,177,183,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,187,193,195,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,187,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,168,181,183,186,216,217,218,220,222,233,235,236,237,238,239,240],[95,99,120,128,132,135,137,138,139,151,179,183,192,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,183,202,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,195,216,217,218,220,222,233,235,236,237,238,239,240],[99,120,128,132,135,137,138,139,151,159,174,176,177,183,209,216,217,218,220,222,233,235,236,237,238,239,240],[83,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[81,83,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[81,82,83,84,85,86,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[87,88,89,90,91,92,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[87,88,89,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[87,88,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[87,88,89,90,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240],[87,99,120,128,132,135,137,138,139,151,216,217,218,220,222,233,235,236,237,238,239,240]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"514e0848b2854eacb80b3e19c00bff9034627957693a65ba4822fe5ea8ee93b1","15cadd3984a2f710a7feb85ddcfebd80ec2cb937cab18ec3cbe366854a7eb0f8","84a36fe0f68cb86bda901bb6070f525649b96dc5fbe8347dce4a8f24b26a71bb","0f8c55bd35fdb4e2a3af1a2e2f3dab87c31e851e11e2e5c18548af0cfc9828d2","c95667bfa98c3433de392b0712e6e5d583ef0f556c4e3db05e636258500018a5","ddd9618b372f09f06ad17fbfc971e53d5e2b6a34fd67409607e3cdbec13f9b6c","37f9d610718af68741c3f090e42ad2f02c93afba87f8649adc67700662068ee9",{"version":"67940f91e10d180f517b1a189b85e96deb8f55851afe8a0833d7d0e8d40e1bcb","signature":"7f3ef6fc4db9ccf7b00040baaaefee73bbbddd3218b9aa5c6154b7fa3fd119b0"},{"version":"4890ce487c36ecfcc89732f1ea81bc091f8514f34e873f6820fbb6a0bc935062","signature":"fb2b2ab9b91b96e560dcd9a16202147101419696ee8565722a8f49c9d6d184c3"},{"version":"14c80108542c5ddb8153078165fa141403aff608799aabe5895d4fc4e6e3e738","signature":"0d60fe8d46c995fad7eb8a621bef3e7999298dc79544c8996f9906c8fb49d39f"},{"version":"44c6fcf2c8a73bbdbc682c81721a58c1fbbada7883c1e62a67039f7713a6752d","signature":"c100161b90aa8cbe834328c2c819553c0974ca024ddebe88d6cb9662401aa29a"},{"version":"b51a03971c20bf43eed50284fd3f62073ecf4d7d1bcbe32dff39e33f5481e09e","signature":"07a7ef85fb395b8dda83d05371268e33cff585e19f08956114120bac7b08f2cd"},{"version":"5c828f82e84267c6197808aed0f260a3ffbfe206e1dd2de54c30ff21713aa435","signature":"476c8d7ac729feeb59b614ce04cb4c02c47a813c62f7268c803ef22149ba73d6"},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"438b41419b1df9f1fbe33b5e1b18f5853432be205991d1b19f5b7f351675541e","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fad5618174d74a34ee006406d4eb37e8d07dd62eb1315dbf52f48d31a337547","impliedFormat":1},{"version":"7e49f52a159435fc8df4de9dc377ef5860732ca2dc9efec1640531d3cf5da7a3","impliedFormat":1},{"version":"dd4bde4bdc2e5394aed6855e98cf135dfdf5dd6468cad842e03116d31bbcc9bc","impliedFormat":1},{"version":"4d4e879009a84a47c05350b8dca823036ba3a29a3038efed1be76c9f81e45edf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b50a819485ffe0d237bf0d131e92178d14d11e2aa873d73615a9ec578b341f5","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"1d024184fb57c58c5c91823f9d10b4915a4867b7934e89115fd0d861a9df27c8","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"12d602a8fe4c2f2ba4f7804f5eda8ba07e0c83bf5cf0cda8baffa2e9967bfb77","affectsGlobalScope":true,"impliedFormat":1},{"version":"a856ab781967b62b288dfd85b860bef0e62f005ed4b1b8fa25c53ce17856acaf","impliedFormat":1},{"version":"cc25940cfb27aa538e60d465f98bb5068d4d7d33131861ace43f04fe6947d68f","impliedFormat":1},{"version":"8db46b61a690f15b245cf16270db044dc047dce9f93b103a59f50262f677ea1f","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"757227c8b345c57d76f7f0e3bbad7a91ffca23f1b2547cbed9e10025816c9cb7","impliedFormat":1},{"version":"959d0327c96dd9bb5521f3ed6af0c435996504cc8dd46baa8e12cb3b3518cef1","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"266bee0a41e9c3ba335583e21e9277ae03822402cf5e8e1d99f5196853613b98","affectsGlobalScope":true,"impliedFormat":1},{"version":"386606f8a297988535cb1401959041cfa7f59d54b8a9ed09738e65c98684c976","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"e236b5eba291f51bdf32c231673e6cab81b5410850e61f51a7a524dddadc0f95","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f2c62938251b45715fd2a9887060ec4fbc8724727029d1cbce373747252bdd7","impliedFormat":1},{"version":"e3ace08b6bbd84655d41e244677b474fd995923ffef7149ddb68af8848b60b05","impliedFormat":1},{"version":"132580b0e86c48fab152bab850fc57a4b74fe915c8958d2ccb052b809a44b61c","impliedFormat":1},{"version":"90a278f5fab7557e69e97056c0841adf269c42697194f0bd5c5e69152637d4b3","impliedFormat":1},{"version":"69c9a5a9392e8564bd81116e1ed93b13205201fb44cb35a7fde8c9f9e21c4b23","impliedFormat":1},{"version":"5f8fc37f8434691ffac1bfd8fc2634647da2c0e84253ab5d2dd19a7718915b35","impliedFormat":1},{"version":"5981c2340fd8b076cae8efbae818d42c11ffc615994cb060b1cd390795f1be2b","impliedFormat":1},{"version":"f263485c9ca90df9fe7bb3a906db9701997dc6cae86ace1f8106ac8d2f7f677b","impliedFormat":1},{"version":"1edcf2f36fc332615846bde6dcc71a8fe526065505bc5e3dcfd65a14becdf698","affectsGlobalScope":true,"impliedFormat":1},{"version":"0250da3eb85c99624f974e77ef355cdf86f43980251bc371475c2b397ba55bcd","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"3d3a5f27ffbc06c885dd4d5f9ee20de61faf877fe2c3a7051c4825903d9a7fdc","impliedFormat":1},{"version":"12806f9f085598ef930edaf2467a5fa1789a878fba077cd27e85dc5851e11834","impliedFormat":1},{"version":"1dbca38aa4b0db1f4f9e6edacc2780af7e028b733d2a98dd3598cd235ca0c97d","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"19143c930aef7ccf248549f3e78992f2f1049118ec5d4622e95025057d8e392b","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"cca8917838a876e2d7016c9b6af57cbf11fdf903c5fdd8e613fa31840b2957bf","impliedFormat":1},{"version":"d91ae55e4282c22b9c21bc26bd3ef637d3fe132507b10529ae68bf76f5de785b","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"7e8a671604329e178bb479c8f387715ebd40a091fc4a7552a0a75c2f3a21c65c","impliedFormat":1},{"version":"41ef7992c555671a8fe54db302788adefa191ded810a50329b79d20a6772d14c","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"4c5e90ddbcd177ad3f2ffc909ae217c87820f1e968f6959e4b6ba38a8cec935e","impliedFormat":1},{"version":"b70dd9a44e1ac42f030bb12e7d79117eac7cb74170d72d381a1e7913320af23a","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"24371e69a38fc33e268d4a8716dbcda430d6c2c414a99ff9669239c4b8f40dea","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"c63b9ada8c72f95aac5db92aea07e5e87ec810353cdf63b2d78f49a58662cf6c","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"6e215dac8b234548d91b718f9c07d5b09473cd5cabb29053fcd8be0af190acb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d759cc99e081cacd0352467a0c24e979a6ef748329aa6ddea2d789664580201","impliedFormat":1},{"version":"f3d3e999a323c85c8a63ce90c6e4624ff89fe137a0e2508fddc08e0556d08abf","impliedFormat":1},{"version":"314607151cc203975193d5f44765f38597be3b0a43f466d3c1bfb17176dd3bd3","impliedFormat":1},{"version":"5beb6b7c030620fbc8cb339028593127dd0cf02bdc079fd94baf6d794a83e3d8","impliedFormat":1},{"version":"f40aad6c91017f20fc542f5701ec41e0f6aeba63c61bbf7aa13266ec29a50a3b","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa0a44af370a2d7c1aac988a17836f57910a6c52689f52f5b3ac1d4c6cadcb23","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"b5a907deaba678e5083ccdd7cc063a3a8c3413c688098f6de29d6e4cefabc85f","impliedFormat":1},{"version":"ffd344731abee98a0a85a735b19052817afd2156d97d1410819cd9bcd1bd575e","impliedFormat":1},{"version":"475e07c959f4766f90678425b45cf58ac9b95e50de78367759c1e5118e85d5c3","impliedFormat":1},{"version":"a524ae401b30a1b0814f1bbcdae459da97fa30ae6e22476e506bb3f82e3d9456","impliedFormat":1},{"version":"7375e803c033425e27cb33bae21917c106cb37b508fd242cccd978ef2ee244c7","impliedFormat":1},{"version":"eeb890c7e9218afdad2f30ad8a76b0b0b5161d11ce13b6723879de408e6bc47a","impliedFormat":1},{"version":"998da6b85ebace9ebea67040dd1a640f0156064e3d28dbe9bd9c0229b6f72347","impliedFormat":1},{"version":"dfbcc400ac6d20b941ccc7bd9031b9d9f54e4d495dd79117334e771959df4805","affectsGlobalScope":true,"impliedFormat":1},{"version":"944d65951e33a13068be5cd525ec42bf9bc180263ba0b723fa236970aa21f611","affectsGlobalScope":true,"impliedFormat":1},{"version":"6b386c7b6ce6f369d18246904fa5eac73566167c88fb6508feba74fa7501a384","affectsGlobalScope":true,"impliedFormat":1},{"version":"592a109e67b907ffd2078cd6f727d5c326e06eaada169eef8fb18546d96f6797","impliedFormat":1},{"version":"f2eb1e35cae499d57e34b4ac3650248776fe7dbd9a3ec34b23754cfd8c22fceb","impliedFormat":1},{"version":"fbed43a6fcf5b675f5ec6fc960328114777862b58a2bb19c109e8fc1906caa09","impliedFormat":1},{"version":"9e98bd421e71f70c75dae7029e316745c89fa7b8bc8b43a91adf9b82c206099c","impliedFormat":1},{"version":"fc803e6b01f4365f71f51f9ce13f71396766848204d4f7a1b2b6154434b84b15","impliedFormat":1},{"version":"f3afcc0d6f77a9ca2d2c5c92eb4b89cd38d6fa4bdc1410d626bd701760a977ec","impliedFormat":1},{"version":"c8109fe76467db6e801d0edfbc50e6826934686467c9418ce6b246232ce7f109","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6f803e4e45915d58e721c04ec17830c6e6678d1e3e00e28edf3d52720909cea","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1}],"root":[[88,93]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":99,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":false,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[244,1],[117,2],[118,2],[119,3],[99,4],[120,5],[121,6],[122,7],[97,8],[123,9],[124,10],[125,11],[126,12],[127,13],[128,14],[129,14],[130,15],[131,16],[132,17],[133,18],[100,8],[98,8],[134,19],[135,20],[136,21],[176,22],[137,23],[138,24],[139,23],[140,25],[141,26],[142,27],[143,28],[144,28],[145,28],[146,29],[147,30],[148,31],[149,32],[150,33],[151,34],[152,34],[153,35],[154,8],[155,8],[156,36],[157,37],[158,36],[159,38],[160,39],[161,40],[162,41],[163,42],[164,43],[165,44],[166,45],[167,46],[168,47],[169,48],[170,49],[171,50],[172,51],[173,52],[101,23],[102,8],[103,53],[104,54],[105,8],[106,55],[107,8],[108,56],[109,57],[110,58],[111,58],[112,59],[113,8],[114,60],[115,61],[116,57],[174,62],[175,63],[220,64],[242,8],[241,8],[235,65],[222,66],[221,8],[218,67],[223,8],[216,68],[224,8],[243,69],[225,8],[219,8],[234,70],[236,71],[217,72],[240,73],[238,74],[237,75],[239,76],[226,8],[232,77],[229,78],[231,79],[230,80],[228,81],[227,8],[233,82],[79,8],[80,8],[14,8],[13,8],[2,8],[15,8],[16,8],[17,8],[18,8],[19,8],[20,8],[21,8],[22,8],[3,8],[23,8],[24,8],[4,8],[25,8],[29,8],[26,8],[27,8],[28,8],[30,8],[31,8],[32,8],[5,8],[33,8],[34,8],[35,8],[36,8],[6,8],[40,8],[37,8],[38,8],[39,8],[41,8],[7,8],[42,8],[47,8],[48,8],[43,8],[44,8],[45,8],[46,8],[8,8],[52,8],[49,8],[50,8],[51,8],[53,8],[9,8],[54,8],[55,8],[56,8],[58,8],[57,8],[59,8],[60,8],[10,8],[61,8],[62,8],[63,8],[11,8],[64,8],[65,8],[66,8],[67,8],[68,8],[1,8],[69,8],[70,8],[12,8],[74,8],[72,8],[77,8],[76,8],[71,8],[75,8],[73,8],[78,8],[192,83],[204,84],[189,85],[205,86],[214,87],[180,88],[181,89],[179,90],[213,91],[208,92],[212,93],[183,94],[201,95],[182,96],[211,97],[177,98],[178,92],[184,99],[185,8],[191,100],[188,99],[95,101],[215,102],[206,103],[195,104],[194,99],[196,105],[199,106],[193,107],[197,108],[209,91],[186,109],[187,110],[200,111],[96,86],[203,112],[202,99],[190,110],[198,113],[207,8],[94,8],[210,114],[86,8],[85,115],[84,116],[83,8],[87,117],[81,8],[82,8],[93,118],[90,119],[89,120],[88,8],[91,121],[92,122]],"latestChangedDtsFile":"./validator/SemanticValidator.d.ts","version":"5.9.3"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { VaspAST } from '@vasp-framework/core';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a .vasp source string into a validated VaspAST.
|
|
4
|
+
* Throws ParseError on any syntax or semantic error.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parse(source: string, filename?: string): VaspAST;
|
|
7
|
+
export { Lexer } from './lexer/Lexer.js';
|
|
8
|
+
export { SemanticValidator } from './validator/SemanticValidator.js';
|
|
9
|
+
export type { Token } from './lexer/Token.js';
|
|
10
|
+
export { TokenType } from './lexer/TokenType.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAc,GAAG,OAAO,CAIrE;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { parse as _parse } from './parser/Parser.js';
|
|
2
|
+
import { SemanticValidator } from './validator/SemanticValidator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parse a .vasp source string into a validated VaspAST.
|
|
5
|
+
* Throws ParseError on any syntax or semantic error.
|
|
6
|
+
*/
|
|
7
|
+
export function parse(source, filename = 'main.vasp') {
|
|
8
|
+
const ast = _parse(source, filename);
|
|
9
|
+
new SemanticValidator().validate(ast);
|
|
10
|
+
return ast;
|
|
11
|
+
}
|
|
12
|
+
export { Lexer } from './lexer/Lexer.js';
|
|
13
|
+
export { SemanticValidator } from './validator/SemanticValidator.js';
|
|
14
|
+
export { TokenType } from './lexer/TokenType.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,QAAQ,GAAG,WAAW;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpC,IAAI,iBAAiB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Token } from './Token.js';
|
|
2
|
+
export declare class Lexer {
|
|
3
|
+
private readonly source;
|
|
4
|
+
private readonly filename;
|
|
5
|
+
private pos;
|
|
6
|
+
private line;
|
|
7
|
+
private col;
|
|
8
|
+
private readonly tokens;
|
|
9
|
+
constructor(source: string, filename?: string);
|
|
10
|
+
tokenize(): Token[];
|
|
11
|
+
private loc;
|
|
12
|
+
private peek;
|
|
13
|
+
private advance;
|
|
14
|
+
private skipWhitespaceAndComments;
|
|
15
|
+
private scanToken;
|
|
16
|
+
private scanString;
|
|
17
|
+
private unescape;
|
|
18
|
+
private scanNumber;
|
|
19
|
+
private scanIdentifierOrKeyword;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=Lexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lexer.d.ts","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,qBAAa,KAAK;IAOd,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,GAAG,CAAI;IACf,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,GAAG,CAAI;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAGlB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAoB;IAGjD,QAAQ,IAAI,KAAK,EAAE;IAgBnB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,yBAAyB;IAgDjC,OAAO,CAAC,SAAS;IAgDjB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,uBAAuB;CAoChC"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { ParseError } from '@vasp-framework/core';
|
|
2
|
+
import { ALL_KEYWORDS, BLOCK_KEYWORDS, TokenType } from './TokenType.js';
|
|
3
|
+
export class Lexer {
|
|
4
|
+
source;
|
|
5
|
+
filename;
|
|
6
|
+
pos = 0;
|
|
7
|
+
line = 1;
|
|
8
|
+
col = 1;
|
|
9
|
+
tokens = [];
|
|
10
|
+
constructor(source, filename = 'main.vasp') {
|
|
11
|
+
this.source = source;
|
|
12
|
+
this.filename = filename;
|
|
13
|
+
}
|
|
14
|
+
tokenize() {
|
|
15
|
+
while (this.pos < this.source.length) {
|
|
16
|
+
this.skipWhitespaceAndComments();
|
|
17
|
+
if (this.pos >= this.source.length)
|
|
18
|
+
break;
|
|
19
|
+
this.scanToken();
|
|
20
|
+
}
|
|
21
|
+
this.tokens.push({
|
|
22
|
+
type: TokenType.EOF,
|
|
23
|
+
value: '',
|
|
24
|
+
loc: { line: this.line, col: this.col, offset: this.pos, file: this.filename },
|
|
25
|
+
});
|
|
26
|
+
return this.tokens;
|
|
27
|
+
}
|
|
28
|
+
// ---- private helpers ----
|
|
29
|
+
loc() {
|
|
30
|
+
return { line: this.line, col: this.col, offset: this.pos, file: this.filename };
|
|
31
|
+
}
|
|
32
|
+
peek(offset = 0) {
|
|
33
|
+
return this.source[this.pos + offset] ?? '';
|
|
34
|
+
}
|
|
35
|
+
advance() {
|
|
36
|
+
const ch = this.source[this.pos++] ?? '';
|
|
37
|
+
if (ch === '\n') {
|
|
38
|
+
this.line++;
|
|
39
|
+
this.col = 1;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.col++;
|
|
43
|
+
}
|
|
44
|
+
return ch;
|
|
45
|
+
}
|
|
46
|
+
skipWhitespaceAndComments() {
|
|
47
|
+
while (this.pos < this.source.length) {
|
|
48
|
+
const ch = this.peek();
|
|
49
|
+
// Whitespace
|
|
50
|
+
if (ch === ' ' || ch === '\t' || ch === '\r' || ch === '\n') {
|
|
51
|
+
this.advance();
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
// Line comment: //
|
|
55
|
+
if (ch === '/' && this.peek(1) === '/') {
|
|
56
|
+
while (this.pos < this.source.length && this.peek() !== '\n') {
|
|
57
|
+
this.advance();
|
|
58
|
+
}
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
// Block comment: /* ... */
|
|
62
|
+
if (ch === '/' && this.peek(1) === '*') {
|
|
63
|
+
const startLoc = this.loc();
|
|
64
|
+
this.advance(); // /
|
|
65
|
+
this.advance(); // *
|
|
66
|
+
let closed = false;
|
|
67
|
+
while (this.pos < this.source.length) {
|
|
68
|
+
if (this.peek() === '*' && this.peek(1) === '/') {
|
|
69
|
+
this.advance(); // *
|
|
70
|
+
this.advance(); // /
|
|
71
|
+
closed = true;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
this.advance();
|
|
75
|
+
}
|
|
76
|
+
if (!closed) {
|
|
77
|
+
throw new ParseError([{
|
|
78
|
+
code: 'E001_UNCLOSED_BLOCK_COMMENT',
|
|
79
|
+
message: 'Unclosed block comment',
|
|
80
|
+
hint: 'Add */ to close the block comment',
|
|
81
|
+
loc: startLoc,
|
|
82
|
+
}]);
|
|
83
|
+
}
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
scanToken() {
|
|
90
|
+
const ch = this.peek();
|
|
91
|
+
// Single-char punctuation
|
|
92
|
+
const punctuation = {
|
|
93
|
+
'{': TokenType.LBRACE,
|
|
94
|
+
'}': TokenType.RBRACE,
|
|
95
|
+
'[': TokenType.LBRACKET,
|
|
96
|
+
']': TokenType.RBRACKET,
|
|
97
|
+
':': TokenType.COLON,
|
|
98
|
+
',': TokenType.COMMA,
|
|
99
|
+
};
|
|
100
|
+
const punc = punctuation[ch];
|
|
101
|
+
if (punc !== undefined) {
|
|
102
|
+
const loc = this.loc();
|
|
103
|
+
this.advance();
|
|
104
|
+
this.tokens.push({ type: punc, value: ch, loc });
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// String literal: "..." or '...'
|
|
108
|
+
if (ch === '"' || ch === "'") {
|
|
109
|
+
this.scanString(ch);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Number
|
|
113
|
+
if (ch >= '0' && ch <= '9') {
|
|
114
|
+
this.scanNumber();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
// Identifier or keyword (including @src/... paths treated as identifiers)
|
|
118
|
+
if (ch === '_' || (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
|
|
119
|
+
this.scanIdentifierOrKeyword();
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// Unknown character
|
|
123
|
+
throw new ParseError([{
|
|
124
|
+
code: 'E002_UNEXPECTED_CHAR',
|
|
125
|
+
message: `Unexpected character: '${ch}'`,
|
|
126
|
+
hint: 'Check for typos or unsupported syntax in your .vasp file',
|
|
127
|
+
loc: this.loc(),
|
|
128
|
+
}]);
|
|
129
|
+
}
|
|
130
|
+
scanString(quote) {
|
|
131
|
+
const loc = this.loc();
|
|
132
|
+
this.advance(); // opening quote
|
|
133
|
+
let value = '';
|
|
134
|
+
while (this.pos < this.source.length && this.peek() !== quote) {
|
|
135
|
+
if (this.peek() === '\n') {
|
|
136
|
+
throw new ParseError([{
|
|
137
|
+
code: 'E003_UNTERMINATED_STRING',
|
|
138
|
+
message: 'Unterminated string literal',
|
|
139
|
+
hint: 'Close the string with a matching quote on the same line',
|
|
140
|
+
loc,
|
|
141
|
+
}]);
|
|
142
|
+
}
|
|
143
|
+
if (this.peek() === '\\') {
|
|
144
|
+
this.advance(); // backslash
|
|
145
|
+
const escaped = this.advance();
|
|
146
|
+
value += this.unescape(escaped);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
value += this.advance();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (this.pos >= this.source.length) {
|
|
153
|
+
throw new ParseError([{
|
|
154
|
+
code: 'E003_UNTERMINATED_STRING',
|
|
155
|
+
message: 'Unterminated string literal',
|
|
156
|
+
hint: 'Close the string with a matching quote',
|
|
157
|
+
loc,
|
|
158
|
+
}]);
|
|
159
|
+
}
|
|
160
|
+
this.advance(); // closing quote
|
|
161
|
+
this.tokens.push({ type: TokenType.STRING, value, loc });
|
|
162
|
+
}
|
|
163
|
+
unescape(ch) {
|
|
164
|
+
const map = { n: '\n', t: '\t', r: '\r', '"': '"', "'": "'", '\\': '\\' };
|
|
165
|
+
return map[ch] ?? ch;
|
|
166
|
+
}
|
|
167
|
+
scanNumber() {
|
|
168
|
+
const loc = this.loc();
|
|
169
|
+
let value = '';
|
|
170
|
+
while (this.pos < this.source.length && this.peek() >= '0' && this.peek() <= '9') {
|
|
171
|
+
value += this.advance();
|
|
172
|
+
}
|
|
173
|
+
if (this.peek() === '.' && this.peek(1) >= '0' && this.peek(1) <= '9') {
|
|
174
|
+
value += this.advance(); // .
|
|
175
|
+
while (this.pos < this.source.length && this.peek() >= '0' && this.peek() <= '9') {
|
|
176
|
+
value += this.advance();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
this.tokens.push({ type: TokenType.NUMBER, value, loc });
|
|
180
|
+
}
|
|
181
|
+
scanIdentifierOrKeyword() {
|
|
182
|
+
const loc = this.loc();
|
|
183
|
+
let value = '';
|
|
184
|
+
while (this.pos < this.source.length) {
|
|
185
|
+
const c = this.peek();
|
|
186
|
+
// Allow alphanumeric, underscore, hyphen (for kebab-case names)
|
|
187
|
+
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c === '_' || c === '-') {
|
|
188
|
+
value += this.advance();
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Check if it is a reserved keyword
|
|
195
|
+
if (ALL_KEYWORDS.has(value)) {
|
|
196
|
+
if (BLOCK_KEYWORDS.has(value)) {
|
|
197
|
+
// Map to specific KW_ token type
|
|
198
|
+
this.tokens.push({ type: value, value, loc });
|
|
199
|
+
}
|
|
200
|
+
else if (value === 'import') {
|
|
201
|
+
this.tokens.push({ type: TokenType.KW_IMPORT, value, loc });
|
|
202
|
+
}
|
|
203
|
+
else if (value === 'from') {
|
|
204
|
+
this.tokens.push({ type: TokenType.KW_FROM, value, loc });
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this.tokens.push({ type: TokenType.IDENTIFIER, value, loc });
|
|
208
|
+
}
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
// Boolean literals
|
|
212
|
+
if (value === 'true' || value === 'false') {
|
|
213
|
+
this.tokens.push({ type: TokenType.BOOLEAN, value, loc });
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
this.tokens.push({ type: TokenType.IDENTIFIER, value, loc });
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=Lexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../src/lexer/Token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../src/lexer/Token.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare enum TokenType {
|
|
2
|
+
KW_APP = "app",
|
|
3
|
+
KW_AUTH = "auth",
|
|
4
|
+
KW_ROUTE = "route",
|
|
5
|
+
KW_PAGE = "page",
|
|
6
|
+
KW_QUERY = "query",
|
|
7
|
+
KW_ACTION = "action",
|
|
8
|
+
KW_CRUD = "crud",
|
|
9
|
+
KW_REALTIME = "realtime",
|
|
10
|
+
KW_JOB = "job",
|
|
11
|
+
KW_IMPORT = "import",
|
|
12
|
+
KW_FROM = "from",
|
|
13
|
+
IDENTIFIER = "IDENTIFIER",
|
|
14
|
+
STRING = "STRING",
|
|
15
|
+
BOOLEAN = "BOOLEAN",
|
|
16
|
+
NUMBER = "NUMBER",
|
|
17
|
+
LBRACE = "{",
|
|
18
|
+
RBRACE = "}",
|
|
19
|
+
LBRACKET = "[",
|
|
20
|
+
RBRACKET = "]",
|
|
21
|
+
COLON = ":",
|
|
22
|
+
COMMA = ",",
|
|
23
|
+
EOF = "EOF"
|
|
24
|
+
}
|
|
25
|
+
/** Keywords that start a top-level declaration block */
|
|
26
|
+
export declare const BLOCK_KEYWORDS: Set<string>;
|
|
27
|
+
/** All reserved keywords (cannot be used as identifiers in value position) */
|
|
28
|
+
export declare const ALL_KEYWORDS: Set<string>;
|
|
29
|
+
//# sourceMappingURL=TokenType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenType.d.ts","sourceRoot":"","sources":["../../src/lexer/TokenType.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IAEnB,MAAM,QAAQ;IACd,OAAO,SAAS;IAChB,QAAQ,UAAU;IAClB,OAAO,SAAS;IAChB,QAAQ,UAAU;IAClB,SAAS,WAAW;IACpB,OAAO,SAAS;IAChB,WAAW,aAAa;IACxB,MAAM,QAAQ;IAGd,SAAS,WAAW;IACpB,OAAO,SAAS;IAGhB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IAGjB,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,QAAQ,MAAM;IACd,QAAQ,MAAM;IACd,KAAK,MAAM;IACX,KAAK,MAAM;IAGX,GAAG,QAAQ;CACZ;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,aAUzB,CAAA;AAEF,8EAA8E;AAC9E,eAAO,MAAM,YAAY,aAIvB,CAAA"}
|