@typesql/core 0.5.0 → 0.6.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/CHANGELOG.md +84 -0
- package/README.md +35 -91
- package/dist/engine/ast.d.ts +6 -1
- package/dist/engine/ast.d.ts.map +1 -1
- package/dist/engine/binder/clauses.d.ts +24 -7
- package/dist/engine/binder/clauses.d.ts.map +1 -1
- package/dist/engine/binder/from.d.ts +21 -15
- package/dist/engine/binder/from.d.ts.map +1 -1
- package/dist/engine/binder/narrow.d.ts +5 -2
- package/dist/engine/binder/narrow.d.ts.map +1 -1
- package/dist/engine/binder/resolve.d.ts +13 -9
- package/dist/engine/binder/resolve.d.ts.map +1 -1
- package/dist/engine/cache.d.ts +15 -12
- package/dist/engine/cache.d.ts.map +1 -1
- package/dist/engine/ddl/apply.d.ts +34 -19
- package/dist/engine/ddl/apply.d.ts.map +1 -1
- package/dist/engine/errors.d.ts +0 -4
- package/dist/engine/errors.d.ts.map +1 -1
- package/dist/engine/infer.d.ts +20 -13
- package/dist/engine/infer.d.ts.map +1 -1
- package/dist/engine/inline.d.ts +5 -5
- package/dist/engine/inline.d.ts.map +1 -1
- package/dist/engine/json.d.ts +30 -25
- package/dist/engine/json.d.ts.map +1 -1
- package/dist/engine/lexer/lex.d.ts +27 -18
- package/dist/engine/lexer/lex.d.ts.map +1 -1
- package/dist/engine/lexer/tokens.d.ts +6 -1
- package/dist/engine/lexer/tokens.d.ts.map +1 -1
- package/dist/engine/lexer/unicode.d.ts +16 -10
- package/dist/engine/lexer/unicode.d.ts.map +1 -1
- package/dist/engine/parser/ddl.d.ts +11 -8
- package/dist/engine/parser/ddl.d.ts.map +1 -1
- package/dist/engine/parser/dml.d.ts +35 -62
- package/dist/engine/parser/dml.d.ts.map +1 -1
- package/dist/engine/parser/expr.d.ts +22 -7
- package/dist/engine/parser/expr.d.ts.map +1 -1
- package/dist/engine/parser/merge.d.ts +10 -19
- package/dist/engine/parser/merge.d.ts.map +1 -1
- package/dist/engine/parser/select.d.ts +20 -19
- package/dist/engine/parser/select.d.ts.map +1 -1
- package/dist/engine/parser/stmt.d.ts +11 -15
- package/dist/engine/parser/stmt.d.ts.map +1 -1
- package/dist/engine/parser/typename.d.ts +4 -7
- package/dist/engine/parser/typename.d.ts.map +1 -1
- package/dist/engine/parser/utility.d.ts +19 -12
- package/dist/engine/parser/utility.d.ts.map +1 -1
- package/dist/engine/project/dml.d.ts +24 -34
- package/dist/engine/project/dml.d.ts.map +1 -1
- package/dist/engine/project/merge.d.ts +8 -5
- package/dist/engine/project/merge.d.ts.map +1 -1
- package/dist/engine/project/naming.d.ts +9 -9
- package/dist/engine/project/naming.d.ts.map +1 -1
- package/dist/engine/splice.d.ts +3 -6
- package/dist/engine/splice.d.ts.map +1 -1
- package/dist/engine/suggest.d.ts +1 -1
- package/dist/engine/suggest.d.ts.map +1 -1
- package/dist/engine/typer/catalog.d.ts +27 -29
- package/dist/engine/typer/catalog.d.ts.map +1 -1
- package/dist/engine/typer/params.d.ts +30 -23
- package/dist/engine/typer/params.d.ts.map +1 -1
- package/dist/engine/typer/typeof.d.ts +85 -15
- package/dist/engine/typer/typeof.d.ts.map +1 -1
- package/dist/engine/types.d.ts +4 -17
- package/dist/engine/types.d.ts.map +1 -1
- package/dist/engine/write.d.ts +5 -4
- package/dist/engine/write.d.ts.map +1 -1
- package/package.json +1 -5
- package/src/engine/ast.ts +6 -1
- package/src/engine/binder/clauses.ts +86 -56
- package/src/engine/binder/from.ts +45 -41
- package/src/engine/binder/narrow.ts +17 -11
- package/src/engine/binder/resolve.ts +25 -12
- package/src/engine/cache.ts +40 -27
- package/src/engine/ddl/apply.ts +158 -133
- package/src/engine/errors.ts +0 -10
- package/src/engine/infer.ts +64 -38
- package/src/engine/inline.ts +35 -33
- package/src/engine/json.ts +64 -84
- package/src/engine/lexer/lex.ts +100 -34
- package/src/engine/lexer/tokens.ts +6 -1
- package/src/engine/lexer/unicode.ts +43 -83
- package/src/engine/parser/ddl.ts +43 -32
- package/src/engine/parser/dml.ts +84 -142
- package/src/engine/parser/expr.ts +40 -12
- package/src/engine/parser/merge.ts +27 -42
- package/src/engine/parser/select.ts +43 -34
- package/src/engine/parser/stmt.ts +28 -20
- package/src/engine/parser/typename.ts +4 -7
- package/src/engine/parser/utility.ts +45 -37
- package/src/engine/project/dml.ts +61 -91
- package/src/engine/project/merge.ts +12 -12
- package/src/engine/project/naming.ts +11 -12
- package/src/engine/splice.ts +14 -19
- package/src/engine/suggest.ts +9 -9
- package/src/engine/typer/catalog.ts +86 -66
- package/src/engine/typer/params.ts +62 -74
- package/src/engine/typer/pg-functions.ts +55 -55
- package/src/engine/typer/typeof.ts +158 -32
- package/src/engine/types.ts +8 -27
- package/src/engine/write.ts +13 -19
- package/dist/editor/call.d.ts +0 -33
- package/dist/editor/call.d.ts.map +0 -1
- package/dist/editor/call.js +0 -97
- package/dist/editor/call.js.map +0 -1
- package/dist/editor/complete.d.ts +0 -42
- package/dist/editor/complete.d.ts.map +0 -1
- package/dist/editor/complete.js +0 -213
- package/dist/editor/complete.js.map +0 -1
- package/dist/editor/index.d.ts +0 -10
- package/dist/editor/index.d.ts.map +0 -1
- package/dist/editor/index.js +0 -38
- package/dist/editor/index.js.map +0 -1
- package/dist/editor/scan.d.ts +0 -53
- package/dist/editor/scan.d.ts.map +0 -1
- package/dist/editor/scan.js +0 -754
- package/dist/editor/scan.js.map +0 -1
- package/dist/editor/schema.d.ts +0 -37
- package/dist/editor/schema.d.ts.map +0 -1
- package/dist/editor/schema.js +0 -132
- package/dist/editor/schema.js.map +0 -1
- package/src/editor/call.ts +0 -168
- package/src/editor/complete.ts +0 -282
- package/src/editor/index.ts +0 -60
- package/src/editor/scan.ts +0 -841
- package/src/editor/schema.ts +0 -187
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,89 @@
|
|
|
1
1
|
# @typesql/core
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `@typesql/core/editor` is removed: editor completions moved to `@typesql/language-server`, which the VS Code extension bundles.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- `SELECT … INTO` inside a WITH query is rejected with PostgreSQL's `SELECT ... INTO is not allowed here` (it was read as a data-modifying WITH query), and that error points at the new table's name, as in PostgreSQL.
|
|
12
|
+
|
|
13
|
+
- Lexer errors read like PostgreSQL's: an unterminated literal names where it starts (`unterminated quoted string at or near "'abc"`, `unterminated bit string literal …`), and a character no token starts with is `syntax error at or near "\\"`.
|
|
14
|
+
|
|
15
|
+
- `UPDATE … SET (a) = x` with a source that is neither `ROW(…)` nor a subquery is an error, as in PostgreSQL (`source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression`).
|
|
16
|
+
|
|
17
|
+
- A window function in the operand of `IN (SELECT …)` is checked like any other (`window "w" does not exist`).
|
|
18
|
+
|
|
19
|
+
- `SELECT … INTO` without a table name is a syntax error, as in PostgreSQL, instead of being accepted.
|
|
20
|
+
|
|
21
|
+
- `$1 BETWEEN a AND b` types the parameter as `a` (`$1 BETWEEN id AND big` → `number`, not `string | number | bigint`), as in PostgreSQL, which resolves `$1 >= a` first.
|
|
22
|
+
|
|
23
|
+
- Bit strings (`B'101'`, `X'1F'`) are typed `bit` instead of `text`, and a digit that does not belong is an error (`"2" is not a valid binary digit`), as in PostgreSQL.
|
|
24
|
+
|
|
25
|
+
- `DECLARE` rejects contradictory options (`ASENSITIVE` with `INSENSITIVE`, `SCROLL` with `NO SCROLL`), and errors after `NO`, `WITH` / `WITHOUT` and a lone sign in `FETCH` point at the token PostgreSQL names.
|
|
26
|
+
|
|
27
|
+
- Subscripts of `point`, `line` (`float8`), `lseg`, `box` (`point`) and `name` (`"char"`) are typed as in PostgreSQL instead of `unknown`, and a `UESCAPE` at the end of the statement reports `UESCAPE must be followed by a simple string literal at end of input`.
|
|
28
|
+
|
|
29
|
+
- Syntax errors after a `WITH` that is not followed by `(` in CREATE TABLE / VIEW, after `UPDATE` without `SET` or `DO` without `NOTHING` in a MERGE action, and after an `AS` without a label point at the token PostgreSQL points at.
|
|
30
|
+
|
|
31
|
+
- A call decoration the function does not take is an error, as in PostgreSQL: `*`, `DISTINCT`, `FILTER` or `OVER` on a plain function (`lower(x) FILTER (…)`), a window function without `OVER`, and `count()` without `*`.
|
|
32
|
+
|
|
33
|
+
- A parameter in a numeric-category argument (`abs($1)`, `width_bucket($1, …)`) is `float8` (`number`) instead of `numeric`, and `to_tsvector($1)` / `ts_headline($1, …)` take text instead of jsonb, as PostgreSQL resolves them.
|
|
34
|
+
|
|
35
|
+
- A JSON step that misses (`x -> 'nope'`, an index past the end, a key on an array) is SQL NULL, so `coalesce(x -> 'nope', '[]')` is typed `[]` instead of `[] | null`.
|
|
36
|
+
|
|
37
|
+
- Subscripts in a row on an array (`a[1][2]`, `a[1][1:2]`) apply to the array together, as in PostgreSQL: they are typed as its element, or as the array when one is a slice, instead of `unknown`.
|
|
38
|
+
|
|
39
|
+
- Error messages name the `"char"` and `bit varying` types as PostgreSQL does (`cannot subscript type bit varying …`).
|
|
40
|
+
|
|
41
|
+
- A column of `CREATE TABLE … AS SELECT NULL AS x` or of a view over `SELECT NULL` is `text`, as in PostgreSQL, instead of a column that only takes `null`.
|
|
42
|
+
|
|
43
|
+
- A window function inside the array of `x = ANY (ARRAY[…])` is checked like any other (`window "w" does not exist`).
|
|
44
|
+
|
|
45
|
+
- An array slice is nullable when a bound is (`nums[n:2]`, `nums[NULL:2]`), as in PostgreSQL, and a subscript chain with a slice (`nums[1][1:2]`) is NULL only through a NULL array or subscript (out of range it is an empty array).
|
|
46
|
+
|
|
47
|
+
- `SUBSTRING` and `OVERLAY` of a `varbit` are typed `bit`, as in PostgreSQL.
|
|
48
|
+
|
|
49
|
+
- Subscripting an enum (`mood[1]`, in a query or as an assignment target) reports PostgreSQL's `cannot subscript type mood because it does not support subscripting`.
|
|
50
|
+
|
|
51
|
+
- The README is shorter: install, one example and links to the docs site, which now has the details it used to repeat.
|
|
52
|
+
|
|
53
|
+
- A sort order in an `ON CONFLICT` target (`ON CONFLICT (email DESC)`, `NULLS FIRST`) is an error, as in PostgreSQL.
|
|
54
|
+
|
|
55
|
+
- An ORDER BY / GROUP BY position written with leading zeros (`ORDER BY 01`) is that position, and one past the int4 range is a non-integer constant, as in PostgreSQL.
|
|
56
|
+
|
|
57
|
+
- `x IN (SELECT …)` and `x = ANY (SELECT …)` over a subquery without columns report `subquery has too few columns`, as PostgreSQL does.
|
|
58
|
+
|
|
59
|
+
- "Trailing junk" errors quote the whole junk token (`123abc`, `100__000`, `$0_1`), and invalid Unicode escapes in `E'…'` strings say where they are, as PostgreSQL does.
|
|
60
|
+
|
|
61
|
+
- An assignment target with `.*` (`SET col.* = …`, `INSERT INTO t (col.*)`) reports PostgreSQL's `row expansion via "*" is not supported here` at the column.
|
|
62
|
+
|
|
63
|
+
- Subscripting a value of a type without subscripts (`json`, `text`, …) is an error in any expression, and a `jsonb` slice is too, as in PostgreSQL; they were typed `unknown`.
|
|
64
|
+
|
|
65
|
+
- `ORDER BY` / `GROUP BY` / `DISTINCT ON` position errors (`ORDER BY position 2 is not in select list`) point at the number, as in PostgreSQL.
|
|
66
|
+
|
|
67
|
+
- A national character literal `N'abc'` is a `character` value (`string`), as in PostgreSQL, instead of `unknown`.
|
|
68
|
+
|
|
69
|
+
- `SELECT DISTINCT *` checks its ORDER BY too: an expression that is not in the select list (`ORDER BY id + 1`) is an error, as in PostgreSQL.
|
|
70
|
+
|
|
71
|
+
- A row compared with a subquery (`(a, b) = (SELECT x, y …)`) is a nullable boolean and needs a subquery of the same width, as in PostgreSQL; it was rejected as a scalar subquery with more than one column.
|
|
72
|
+
|
|
73
|
+
- DDL errors name relations as PostgreSQL does: a missing schema in `ALTER TABLE`, `DROP TABLE`, `INHERITS` or `LIKE` reports `schema "s" does not exist`, a missing relation there is spelled as written (`relation "public.t" does not exist`), `DROP` / `is not a table` messages use the bare name, and two parents with different column types report `inherited column "x" has a type conflict`.
|
|
74
|
+
|
|
75
|
+
- A typed literal with a schema-qualified type name, `pg_catalog.int4 '1'`, is accepted (the schema is dropped, as in casts) instead of being a syntax error.
|
|
76
|
+
|
|
77
|
+
- A missing relation written with `public.` keeps it in the error (`relation "public.t" does not exist`), and errors about a schema-qualified name point at the name, as in PostgreSQL.
|
|
78
|
+
|
|
79
|
+
- `INSERT INTO t AS excluded … ON CONFLICT DO UPDATE SET c = excluded.c` is an error (`table reference "excluded" is ambiguous`), as in PostgreSQL.
|
|
80
|
+
|
|
81
|
+
- Syntax errors in `1 + ANY 2`, `f(1 => x)`, `current_date()` and `localtime('a')` point at the token PostgreSQL points at, and `current_user(1)` is a syntax error, as in PostgreSQL.
|
|
82
|
+
|
|
83
|
+
- The merged column of `FULL JOIN … USING` / `NATURAL FULL JOIN` is nullable when either side's column is (a row without a match carries that side's NULL), as in PostgreSQL; it was non-null unless both were nullable.
|
|
84
|
+
|
|
85
|
+
- `U&'…' uescapeé` (UESCAPE followed by a non-ASCII letter) reads as an alias, as in PostgreSQL, instead of an error.
|
|
86
|
+
|
|
3
87
|
## 0.5.0
|
|
4
88
|
|
|
5
89
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1,124 +1,68 @@
|
|
|
1
1
|
# @typesql/core
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
**inside the type system** and gives you the exact row type, the parameter types, and (for DDL)
|
|
5
|
-
the resulting schema. No codegen, no database connection, no build step. Zero runtime
|
|
6
|
-
dependencies.
|
|
3
|
+
Write Postgres SQL in TypeScript and get exact types for rows and parameters. TypeSQL parses your SQL inside the type checker: no codegen, no database connection, no build step.
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
regression tests that can be checked statically, the parser accepts exactly what Postgres accepts
|
|
10
|
-
and rejects its syntax errors ([how it is tested](https://typesql.karsli.net/guide/postgres-compatibility)).
|
|
5
|
+
## Install
|
|
11
6
|
|
|
12
7
|
```sh
|
|
13
|
-
|
|
8
|
+
npm install @typesql/core
|
|
14
9
|
```
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Add the adapter for your driver to run queries: [`@typesql/pg`](https://www.npmjs.com/package/@typesql/pg)
|
|
19
|
-
(node-postgres) or [`@typesql/postgres`](https://www.npmjs.com/package/@typesql/postgres)
|
|
20
|
-
(postgres.js). Already describing your database for an ORM? `@typesql/kysely`,
|
|
21
|
-
`@typesql/drizzle` and `@typesql/prisma` take the schema from it.
|
|
11
|
+
Requires TypeScript 7.1 or later and Node.js 26 or later.
|
|
22
12
|
|
|
23
13
|
## Usage
|
|
24
14
|
|
|
15
|
+
Describe your tables with Postgres type names, then write queries:
|
|
16
|
+
|
|
25
17
|
```ts
|
|
26
18
|
import { createSql, type Col, type Generated, type Nullable } from "@typesql/core";
|
|
27
19
|
|
|
28
20
|
interface DB {
|
|
29
21
|
users: {
|
|
30
|
-
id: Generated<"int4">; // has a default
|
|
31
|
-
email: Col<"text">;
|
|
32
|
-
display_name: Nullable<"text">;
|
|
33
|
-
created_at: Generated<"timestamptz">;
|
|
22
|
+
id: Generated<"int4">; // has a default, so optional on INSERT
|
|
23
|
+
email: Col<"text">; // NOT NULL
|
|
24
|
+
display_name: Nullable<"text">; // NULL allowed
|
|
34
25
|
};
|
|
35
26
|
posts: {
|
|
36
27
|
id: Generated<"int8">;
|
|
37
28
|
author_id: Col<"int4">;
|
|
38
29
|
title: Col<"text">;
|
|
39
|
-
body: Nullable<"text">;
|
|
40
30
|
};
|
|
41
31
|
}
|
|
42
32
|
|
|
43
33
|
const sql = createSql<DB>();
|
|
44
34
|
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
35
|
+
const query = sql(
|
|
36
|
+
`SELECT u.email, p.title
|
|
37
|
+
FROM users u LEFT JOIN posts p ON p.author_id = u.id
|
|
38
|
+
WHERE u.id = $1`,
|
|
39
|
+
7,
|
|
40
|
+
);
|
|
41
|
+
// row: { email: string; title: string | null }
|
|
42
|
+
// params: [number | null]
|
|
43
|
+
|
|
44
|
+
sql("SELECT emial FROM users");
|
|
45
|
+
// error: column "emial" does not exist. Perhaps you meant the column "email"?
|
|
55
46
|
```
|
|
56
47
|
|
|
57
|
-
|
|
58
|
-
can be passed positionally (`$1`), by name (`:email` with an object), or inline with
|
|
59
|
-
`${sql.param(value)}` (`${sql.json(value)}` for JSON); all are sent as bind parameters and
|
|
60
|
-
checked against their context.
|
|
61
|
-
|
|
62
|
-
## What you get
|
|
63
|
-
|
|
64
|
-
- **Rows and parameters** for `SELECT` (joins, subqueries, CTEs, set operations, aggregates,
|
|
65
|
-
window functions) and `INSERT`/`UPDATE`/`DELETE … RETURNING`.
|
|
66
|
-
- **Nullability** from the schema, outer joins, `WHERE` filters and expressions (`COALESCE`,
|
|
67
|
-
aggregates, `CASE`).
|
|
68
|
-
- **Typed JSON**: `json_build_object`, `json_agg`, `to_json(t)` and `->` / `#>` give the JSON's
|
|
69
|
-
structure, typed as Postgres serializes it.
|
|
70
|
-
- **Postgres column naming** (`?column?`, `count`, `lower`) and Postgres-worded compile errors.
|
|
71
|
-
- **Fragments**: `sql.fragment`, `sql.id`, `sql.join` (also over runtime arrays of typed
|
|
72
|
-
elements), `sql.raw`, spliced into inference with `$n` renumbering.
|
|
73
|
-
- **Write helpers**: `sql.param(x)` sends `DEFAULT` for `undefined`; `sql.set(table, partial)`
|
|
74
|
-
and `sql.values(table, rows)` build typed `SET` lists and `VALUES` rows from objects.
|
|
75
|
-
- **DDL**: `ApplyDdl<DB, "ALTER TABLE …">` and the `migrations()` builder derive the schema from
|
|
76
|
-
your migrations.
|
|
77
|
-
- **Running queries**: with `createSql(executor)` (or an adapter's `createSql(client)`), queries
|
|
78
|
-
have `execute()`, `executeTakeFirst()`, `executeTakeFirstOrThrow()` and `executeCount()` (the
|
|
79
|
-
affected row count). An `Executor` resolves to the rows or to `{ rows, rowCount }`. An
|
|
80
|
-
adapter's `sql` also has `sql.transaction(fn)`, which runs `fn` with a `sql` bound to one
|
|
81
|
-
transaction (`TransactionalSql`).
|
|
82
|
-
- **camelCase rows**: `createSql(executor, { rowKeys: "camelCase" })` renames the rows'
|
|
83
|
-
top-level keys (`created_at` → `createdAt`, as Kysely's `CamelCasePlugin` does) in the types
|
|
84
|
-
and at runtime, leaving JSON values alone.
|
|
85
|
-
- **Escape hatch**: `sql.as<Row>(…)` for SQL the engine cannot type.
|
|
86
|
-
|
|
87
|
-
## Schema
|
|
88
|
-
|
|
89
|
-
Columns are declared with Postgres type names; a type map turns them into TypeScript types
|
|
90
|
-
(`DefaultTypeMap` matches node-postgres: `int8` and `numeric` rows are `string`; their parameters
|
|
91
|
-
also take numbers and bigints, and date parameters take `Date | string`):
|
|
92
|
-
|
|
93
|
-
| Helper | Meaning |
|
|
94
|
-
|---|---|
|
|
95
|
-
| `Col<"text">` | `NOT NULL`, no default |
|
|
96
|
-
| `Nullable<"text">` | `NULL` allowed |
|
|
97
|
-
| `Generated<"int4">` | has a default: optional in `INSERT` |
|
|
98
|
-
| `NullableGenerated<"text">` | both |
|
|
99
|
-
| `Enum<"mood">` | values in `DB["$types"]["mood"]` |
|
|
100
|
-
| `Json<T>` | `jsonb` holding `T`: rows read `T`, `->` indexes into it, `${sql.json(v)}` writes it |
|
|
101
|
-
| `View<{ … }>` | read-only relation |
|
|
48
|
+
[Open the example in the TypeScript Playground](https://www.typescriptlang.org/play/#code/PTAEBUE8AcFMGUCKAZAXKACgewM4BcBzAJ1h1CWQBpRoBDInWAE1ACNIIYEBjIgS2h4A5GTxdQOSPlgBbAHSgAokz55QeABaxyKULQB2LDVgBusIuq3quOVACgQoIlgDuZAyzpFaM2HnNkAGZYADYhrtQeoDJ8+LQA1qR6JKDcWDLQfCHa5s4MoFj6ltr4-PoEcnZ8GVhEagDedgCQYnCgAMKhlM28sLT+8ACOId0t4gDisPrm-cyjrdoAcgCuYbSs2fPiGPQ+OFBwW20ASq4HsN0AvqCBzjKgAEQAAgs4w8BpJA8A3HZV+v4iIFaNxtAARABCoEaTWWjAY6BhTT4THQk2m3n8TAAPA8+ACACwPAB831Ajg0tHcoCYsGBqzw6Cwgj4hVoIQKRQAkot4IpjuBmk1ZLQsuhOiFcf4AB54Em-JpNFQ4aAhWiQAD6+h8sHQKzWG1gUtgsvlQt6syYGv6aKmMyxUuqpDwPkEAC8zU1LgroLg8LZoUKUbaMZbcfi8AAOT1NWjLTS1DXBjqhcOEmN4VTZcWph4yuWkoWsLBMSB61Zqw3G02Fr2-S5-NL6fASYagAC8qRIsyGkshxIAFABKX4OMDIRQAMXAoAAUgB5HnRBJJTTafgEDRqHAo7T6CvrbJkgAkAEZ1CuyKpROJbulQMs5CjKk2W4MO62QgPmgADPkT9oZ0fFFqEfEUsmoaA5EzPBsjsUAEMQpDkMnY55wAWQfeEyGWUAJ2nOdF0WGg-TIaBQHnYioLjBMiCTFhO2Aph4OQ1jEIAdQACX5RQHyfBjQDPH9RgAdm6Ec7AWUBThcD8ZPObEFiwQJQEGQtHAQgA9AB+STtl2GQyE7HZvEMhSlJUtTfg00AdL+RwAEECGIWACFmdxDFSUJlhkIptV8IJQnCWTsHwFyAzSZYAQHAAqIdQFiBKAUjSIJDwMoCAfQxzFAfQS1gABaX0wpIHAX0KFs4n9D83i-X9-0UQC9HjYw6JAryorwWKh2oGRaGlAcYOyeKHPgUA1X8FtUIwkj8DIcY0IAVQwUAIQATWa2j6OEuwJKk+AXWqzt5K4RSuGUtL+hwdSwC03Sx1ALl9BCfFtBMdlliSegSimNQqUEoovB1QEPJYbgtG4RIWFoNz8RbFwtBSNcOG+rDmHK5s1HAjlOweWgmFoJ4TVdbI5DSGQfjsV81AtLEauGb8mh-Hk+QFR7FnAec0fyAdsfigA1BzkEWxQxoHY96lquQgZkXm+qyIdLni45FHARbjkWHlxgSphqFp5hrTwHa9vEdpuzp46zlOiyuz6LEbsQuyHvQ2IXUSdwUnJzJslAXJajIQpih0ZA0oyhRJz4aVihkexaoHP9FAAmd9F8UBpswuEAh-EdyTAP2iHQNIQh8ooHhT2AHhpLAkjyrHpVduw4+Z3l+RnHlOdm6rBqzWABaFkWxbPIdhMeTjYDCLAHhzxx8-QGjWvohKyEWecZ0WRbkBDqJKTIPKaTpOMQjwOwgA) <!-- playground:core -->: edit the SQL and hover the types, with nothing to install. The Playground runs TypeScript 6, so treat it as a demo.
|
|
102
49
|
|
|
103
|
-
|
|
104
|
-
`pg_stat_activity`, `pg_tables`, `information_schema.columns` and other system catalogs, add the
|
|
105
|
-
opt-in slice: `createSql<DB & PgCatalog>()`.
|
|
50
|
+
## Run queries
|
|
106
51
|
|
|
107
|
-
|
|
52
|
+
`@typesql/core` types your queries. To run them, add the package for your driver or ORM:
|
|
108
53
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
54
|
+
| Package | Runs queries on |
|
|
55
|
+
|---|---|
|
|
56
|
+
| [`@typesql/pg`](https://www.npmjs.com/package/@typesql/pg) | node-postgres |
|
|
57
|
+
| [`@typesql/postgres`](https://www.npmjs.com/package/@typesql/postgres) | postgres.js |
|
|
58
|
+
| [`@typesql/kysely`](https://www.npmjs.com/package/@typesql/kysely) | Kysely, with its `DB` interface as the schema |
|
|
59
|
+
| [`@typesql/drizzle`](https://www.npmjs.com/package/@typesql/drizzle) | Drizzle, with its schema |
|
|
60
|
+
| [`@typesql/prisma`](https://www.npmjs.com/package/@typesql/prisma) | Prisma Client, with its schema |
|
|
115
61
|
|
|
116
62
|
## Documentation
|
|
117
63
|
|
|
118
|
-
[
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
[
|
|
123
|
-
[Type cache](https://typesql.karsli.net/guide/performance#type-cache) ·
|
|
124
|
-
[VS Code extension](https://typesql.karsli.net/guide/editor)
|
|
64
|
+
The full guide is at **[typesql.karsli.net](https://typesql.karsli.net)**. It covers the [schema](https://typesql.karsli.net/guide/schema), [parameters](https://typesql.karsli.net/guide/parameters), [writing data](https://typesql.karsli.net/guide/writing-data), [dynamic SQL](https://typesql.karsli.net/guide/dynamic-sql), [migrations](https://typesql.karsli.net/guide/migrations), the [type cache](https://typesql.karsli.net/guide/performance) and [known limits](https://typesql.karsli.net/guide/limits).
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
[MIT](LICENSE)
|
package/dist/engine/ast.d.ts
CHANGED
|
@@ -42,11 +42,16 @@ export type Param = {
|
|
|
42
42
|
export type DefaultExpr = {
|
|
43
43
|
readonly t: "default";
|
|
44
44
|
};
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Typed literal: `DATE '2020-01-01'`, `interval '1 day'`, `int4 '1'`. `type` is canonical. A
|
|
47
|
+
* bit string (`B'101'`, `X'1F'`) is one of type `bit` with `bits: true` (digits as written): it
|
|
48
|
+
* names no column.
|
|
49
|
+
*/
|
|
46
50
|
export type TypedLit = {
|
|
47
51
|
readonly t: "typed";
|
|
48
52
|
readonly type: string;
|
|
49
53
|
readonly v: string;
|
|
54
|
+
readonly bits?: true;
|
|
50
55
|
};
|
|
51
56
|
/** Binary operator, including `and`/`or` (op lowercased for word operators). */
|
|
52
57
|
export type BinOp = {
|
package/dist/engine/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { Expr, NamedWindow, Target, WindowSpec } from "../ast.js";
|
|
|
2
2
|
import type { AnyErr, ErrMsg, SqlError } from "../errors.js";
|
|
3
3
|
import type { Nx } from "../parser/util.js";
|
|
4
4
|
import type { AnyShaped, BaseOf } from "../shape.js";
|
|
5
|
+
import type { NumLitType } from "../typer/operators.js";
|
|
5
6
|
import type { TypeList, TypeOf } from "../typer/typeof.js";
|
|
6
7
|
import type { ColInfo, Cols, Ctx } from "../types.js";
|
|
7
8
|
/**
|
|
@@ -27,6 +28,8 @@ type DisplayNames = {
|
|
|
27
28
|
bool: "boolean";
|
|
28
29
|
varchar: "character varying";
|
|
29
30
|
bpchar: "character";
|
|
31
|
+
char: '"char"';
|
|
32
|
+
varbit: "bit varying";
|
|
30
33
|
timestamptz: "timestamp with time zone";
|
|
31
34
|
timestamp: "timestamp without time zone";
|
|
32
35
|
timetz: "time with time zone";
|
|
@@ -79,7 +82,9 @@ type AllSame<L extends readonly unknown[]> = L extends readonly [
|
|
|
79
82
|
] ? R extends readonly [] ? true : InList<H, R> extends true ? AllSame<R> : false : true;
|
|
80
83
|
type DigitsOnly<V extends string> = V extends `${infer C}${infer R}` ? C extends "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ? DigitsOnly<R> : false : true;
|
|
81
84
|
/** `ORDER BY 2`: the target expression at that position, `null` when unknown (a `*` precedes it), or an error. */
|
|
82
|
-
type Ordinal<V extends string, Clause extends string, Ts extends readonly Target[], Cs extends Cols> = DigitsOnly<V> extends false ? SqlError<`non-integer constant in ${Clause}`, null> : HasStar<Cs> extends true ? null : V extends `${infer N extends number}` ? N extends 0 ? SqlError<`${Clause} position
|
|
85
|
+
type Ordinal<V extends string, Clause extends string, Ts extends readonly Target[], Cs extends Cols> = DigitsOnly<V> extends false ? SqlError<`non-integer constant in ${Clause}`, null> : NumLitType<NoLeadingZeros<V>> extends "int4" ? HasStar<Cs> extends true ? null : NoLeadingZeros<V> extends `${infer N extends number}` ? N extends 0 ? SqlError<`${Clause} position 0 is not in select list`, null> : [null, ...Ts][N] extends infer T ? T extends Target ? T["e"] : SqlError<`${Clause} position ${N} is not in select list`, null> : never : never : SqlError<`non-integer constant in ${Clause}`, null>;
|
|
86
|
+
/** `007` → `7` (an ordinal is the integer the literal denotes). */
|
|
87
|
+
export type NoLeadingZeros<V extends string> = V extends `0${infer R}` ? R extends "" ? "0" : NoLeadingZeros<R> : V;
|
|
83
88
|
type CheckExpr<E extends Expr, C extends Ctx> = TypeOf<E, C> extends infer T ? (T extends ColInfo ? E : T) : never;
|
|
84
89
|
/** Resolve one ORDER BY / DISTINCT ON item (SQL92 rules: output names first). */
|
|
85
90
|
type ResolveSortKey<E extends Expr, Clause extends string, Ts extends readonly Target[], Cs extends Cols, C extends Ctx> = E extends {
|
|
@@ -123,16 +128,21 @@ export type CheckDistinctOnOrder<D extends readonly unknown[], O extends readonl
|
|
|
123
128
|
type DistinctWalk<D extends readonly unknown[], O extends readonly unknown[], Skipped extends boolean, Seen extends readonly unknown[], I extends number> = O[I] extends undefined ? Skipped extends true ? AllIn<D, Seen> extends true ? true : DistinctOnErr : true : InList<O[I], D> extends true ? Skipped extends true ? DistinctOnErr : DistinctWalk<D, O, false, [...Seen, O[I]], Nx<I>> : DistinctWalk<D, O, true, Seen, Nx<I>>;
|
|
124
129
|
type AllIn<D extends readonly unknown[], Seen extends readonly unknown[]> = D extends readonly [infer H, ...infer R] ? InList<H, Seen> extends true ? AllIn<R, Seen> : false : true;
|
|
125
130
|
type DistinctOnErr = SqlError<"SELECT DISTINCT ON expressions must match initial ORDER BY expressions", null>;
|
|
126
|
-
/**
|
|
127
|
-
|
|
131
|
+
/**
|
|
132
|
+
* `SELECT DISTINCT ... ORDER BY o`: every ORDER BY expression must be one of the targets. With a
|
|
133
|
+
* `*` target a column reference is taken to be one of its columns.
|
|
134
|
+
*/
|
|
135
|
+
export type CheckDistinctOrder<O extends readonly unknown[], Ts extends readonly Target[], Cs extends Cols> = DistinctOrderWalk<O, TargetExprs<Ts, [], 0>, HasStar<Cs>, 0>;
|
|
128
136
|
type TargetExprs<Ts extends readonly Target[], Acc extends readonly unknown[], I extends number> = Ts[I] extends undefined ? Acc : TargetExprs<Ts, [...Acc, Ts[I]["e"]], Nx<I>>;
|
|
129
|
-
type DistinctOrderWalk<O extends readonly unknown[], Es extends readonly unknown[], I extends number> = O[I] extends undefined ? true : O[I] extends null ? DistinctOrderWalk<O, Es, Nx<I>> : InList<O[I], Es> extends true ? DistinctOrderWalk<O, Es, Nx<I>> :
|
|
137
|
+
type DistinctOrderWalk<O extends readonly unknown[], Es extends readonly unknown[], Star extends boolean, I extends number> = O[I] extends undefined ? true : O[I] extends null ? DistinctOrderWalk<O, Es, Star, Nx<I>> : InList<O[I], Es> extends true ? DistinctOrderWalk<O, Es, Star, Nx<I>> : [Star, O[I]] extends [true, {
|
|
138
|
+
readonly t: "col";
|
|
139
|
+
}] ? DistinctOrderWalk<O, Es, Star, Nx<I>> : SqlError<"for SELECT DISTINCT, ORDER BY expressions must appear in select list", null>;
|
|
130
140
|
/** ORDER BY of a set operation: output names and positions only. */
|
|
131
141
|
export type CheckOutputOrder<Items extends readonly Expr[], Cs extends Cols, I extends number = 0> = Items[I] extends undefined ? true : OutputOrderItem<Items[I], Cs> extends infer R ? R extends AnyErr ? R : CheckOutputOrder<Items, Cs, Nx<I>> : never;
|
|
132
142
|
type OutputOrderItem<E extends Expr, Cs extends Cols> = E extends {
|
|
133
143
|
readonly t: "num";
|
|
134
144
|
readonly v: infer V extends string;
|
|
135
|
-
} ? DigitsOnly<V> extends false ? SqlError<"non-integer constant in ORDER BY", null> : HasStar<Cs> extends true ? true : V extends `${infer N extends number}` ? N extends
|
|
145
|
+
} ? DigitsOnly<V> extends false ? SqlError<"non-integer constant in ORDER BY", null> : NumLitType<NoLeadingZeros<V>> extends "int4" ? HasStar<Cs> extends true ? true : NoLeadingZeros<V> extends `${infer N extends number}` ? [null, ...Cs][N] extends undefined ? PosErr<`${N}`> : N extends 0 ? PosErr<"0"> : true : never : SqlError<"non-integer constant in ORDER BY", null> : E extends {
|
|
136
146
|
readonly t: "str";
|
|
137
147
|
} ? SqlError<"non-integer constant in ORDER BY", null> : E extends {
|
|
138
148
|
readonly t: "col";
|
|
@@ -169,7 +179,11 @@ type CheckSpecs<Ss, Defs extends WindowDefs, C extends Ctx> = [Ss] extends [
|
|
|
169
179
|
never
|
|
170
180
|
] ? true : (Ss extends WindowSpec ? CheckWindowSpec<Ss, Defs, C> extends infer X ? X extends boolean ? never : X : never : never) extends infer Errs ? [Errs] extends [never] ? true : FirstOf<Errs> : never;
|
|
171
181
|
type FirstOf<U> = (U extends unknown ? (u: U) => void : never) extends (u: infer F) => void ? F : U;
|
|
172
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Nodes without a window inside: leaves, and subqueries (their own query level). A shortcut: the
|
|
184
|
+
* last branch of `Wins` gives `never` for them too (`x IN (SELECT …)` is not one: its `x` is walked).
|
|
185
|
+
*/
|
|
186
|
+
type LeafTag = "col" | "num" | "str" | "bool" | "null" | "param" | "default" | "typed" | "star" | "sub" | "exists" | "arraysub";
|
|
173
187
|
/**
|
|
174
188
|
* Window specifications of the calls in an expression, as a union (`never` when there are
|
|
175
189
|
* none). Subqueries are not entered (they are their own query level). Plain recursion over
|
|
@@ -221,7 +235,10 @@ type Wins<E> = E extends {
|
|
|
221
235
|
} ? Wins<E["e"]> | Wins<E["zone"]> : E extends {
|
|
222
236
|
readonly t: "quant";
|
|
223
237
|
readonly l: unknown;
|
|
224
|
-
|
|
238
|
+
readonly r: unknown;
|
|
239
|
+
} ? Wins<E["l"]> | (E["r"] extends {
|
|
240
|
+
readonly t: "select";
|
|
241
|
+
} ? never : Wins<E["r"]>) : E extends {
|
|
225
242
|
readonly e: unknown;
|
|
226
243
|
} ? Wins<E["e"]> : never;
|
|
227
244
|
/** Left-nested operator chains (`a || b || c ...`) are walked down the left spine iteratively. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clauses.d.ts","sources":["../../../src/engine/binder/clauses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAIH,KAAK,YAAY,GAAG;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,0BAA0B,CAAC;IACxC,SAAS,EAAE,6BAA6B,CAAC;IACzC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;CAChB,CAAC;AACF,iFAAiF;AACjF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,SAAS,GAC5D,MAAM,CAAC,CAAC,CAAC,GACT,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,GACvB,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,GACrB,CAAC,SAAS,MAAM,YAAY,GAC3B,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,CAAC;AAIP,4GAA4G;AAC5G,MAAM,MAAM,cAAc,CACzB,MAAM,SAAS,MAAM,EACrB,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,CAAC,SAAS,GAAG,IACV,CAAC,SAAS,IAAI,GACf,IAAI,GACJ,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GACxC,CAAC,SAAS,OAAO,GAChB,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAC5C,IAAI,GACJ,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9B,IAAI,GACJ,QAAQ,CACR,eAAe,MAAM,mCAAmC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAChF,IAAI,CACJ,GACF,CAAC,GACF,KAAK,CAAC;AAIV,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,CAClD,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GACtB,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACnC,IAAI,GACJ,KAAK,GACN,KAAK,CACR,GACE,IAAI,GACJ,KAAK,CAAC;AAET,oHAAoH;AACpH,KAAK,WAAW,CACf,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,SAAS,OAAO,EAAE,EAC9B,CAAC,SAAS,MAAM,IACb,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,GACxB,GAAG,GACH,EAAE,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;CAAE,GAC9B,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GACnD,EAAE,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GACvC,CAAC,SAAS,MAAM,CAAC,GAChB,WAAW,CACX,EAAE,EACF,EAAE,EACF,CAAC,EACD;IAAC,GAAG,GAAG;IAAE;QAAE,CAAC,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE;CAAC,EAC1C,EAAE,CAAC,CAAC,CAAC,CACL,GACA,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GACnC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAExC;;;GAGG;AACH,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS;IAC/B,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CACxB,GACE,CAAC,SAAS;IACV,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CACxB,GACC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAChB,EAAE,SAAS,IAAI,GACd,IAAI,GACJ,EAAE,SAAS,IAAI,GACd,IAAI,GACJ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAChB,IAAI,GACJ,KAAK,GACR,KAAK,GACN,KAAK,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACd,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACd,IAAI,GACJ,KAAK,GACN,KAAK,CAAC;AACV,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,SAAS;IACjE,MAAM,CAAC;IACP,GAAG,MAAM,CAAC;CACV,GACE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAC1B,IAAI,GACJ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACb,KAAK,CAAC;AACT,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,SAAS;IAC/D,MAAM,CAAC;IACP,GAAG,MAAM,CAAC;CACV,GACE,CAAC,SAAS,SAAS,EAAE,GACpB,IAAI,GACJ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACxB,OAAO,CAAC,CAAC,CAAC,GACV,KAAK,GACP,IAAI,CAAC;AAER,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GACjE,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAClE,UAAU,CAAC,CAAC,CAAC,GACb,KAAK,GACN,IAAI,CAAC;AAER,kHAAkH;AAClH,KAAK,OAAO,CACX,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,MAAM,EACrB,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,IAEf,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GACxB,QAAQ,CAAC,2BAA2B,MAAM,EAAE,EAAE,IAAI,CAAC,GACnD,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GACpC,CAAC,SAAS,CAAC,GACV,QAAQ,CAAC,GAAG,MAAM,aAAa,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAC/D,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAC/B,CAAC,SAAS,MAAM,GACf,CAAC,CAAC,GAAG,CAAC,GACN,QAAQ,CAAC,GAAG,MAAM,aAAa,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAChE,KAAK,GACP,QAAQ,CAAC,2BAA2B,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AAE1D,KAAK,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,GAAG,IAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAEpE,iFAAiF;AACjF,KAAK,cAAc,CAClB,CAAC,SAAS,IAAI,EACd,MAAM,SAAS,MAAM,EACrB,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,GAAG,IACV,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GACpE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,GAC1B,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9B,QAAQ,CAAC,2BAA2B,MAAM,EAAE,EAAE,IAAI,CAAC,GACnD,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,CAAC;CACtE,GACA,QAAQ,CAAC,GAAG,MAAM,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAChE,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACtC,GACA,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,SAC9C,SAAS,OAAO,EAAE,GACjB,EAAE,SAAS,SAAS,EAAE,GACrB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACf,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,GACvB,EAAE,CAAC,CAAC,CAAC,GACL,QAAQ,CAAC,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,GACjD,KAAK,GACN,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtB,0EAA0E;AAC1E,KAAK,eAAe,CACnB,CAAC,SAAS,IAAI,EACd,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,GAAG,IACV,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GACpE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,GAC9B,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9B,QAAQ,CAAC,kCAAkC,EAAE,IAAI,CAAC,GAClD,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACtC,GACA,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAC3B,CAAC,SAAS,OAAO,GAChB,CAAC,GACD,MAAM,CAAC,CAAC,CAAC,SAAS,WAAW,MAAM,kBAAkB,GACpD,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,SAC9C,SAAS,OAAO,EAAE,GACjB,EAAE,SAAS,SAAS,EAAE,GACrB,CAAC,GACD,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,GACvB,EAAE,CAAC,CAAC,CAAC,GACL,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAChD,KAAK,GACN,CAAC,GACH,KAAK,GACN,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAErB,4HAA4H;AAC5H,MAAM,MAAM,eAAe,CAC1B,KAAK,SAAS,SAAS,IAAI,EAAE,EAC7B,MAAM,SAAS,MAAM,EACrB,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,GAAG,EACb,GAAG,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EACnC,CAAC,SAAS,MAAM,GAAG,CAAC,IACjB,KAAK,CAAC,CAAC,CAAC,SAAS,SAAS,GAC3B,GAAG,GACH,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAC1D,CAAC,SAAS,MAAM,GACf,CAAC,GACD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAC9D,KAAK,CAAC;AAEV,2CAA2C;AAC3C,MAAM,MAAM,YAAY,CACvB,KAAK,SAAS,SAAS,IAAI,EAAE,GAAG,IAAI,EACpC,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,MAAM,GAAG,CAAC,IACjB,KAAK,SAAS,SAAS,IAAI,EAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,SAAS,SAAS,GACzB,IAAI,GACJ,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GACnD,CAAC,SAAS,MAAM,GACf,CAAC,GACD,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GACtC,KAAK,GACP,IAAI,CAAC;AAER;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAC/B,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,CAAC,SAAS,SAAS,OAAO,EAAE,IACzB,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GACnC,IAAI,GACJ,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,YAAY,CAChB,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,OAAO,SAAS,OAAO,EACvB,IAAI,SAAS,SAAS,OAAO,EAAE,EAC/B,CAAC,SAAS,MAAM,IACb,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GACvB,OAAO,SAAS,IAAI,GACnB,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,GAC1B,IAAI,GACJ,aAAa,GACd,IAAI,GACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAC3B,OAAO,SAAS,IAAI,GACnB,aAAa,GACb,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAClD,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,KAAK,KAAK,CACT,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,IAAI,SAAS,SAAS,OAAO,EAAE,IAC5B,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GACzC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,GAC3B,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GACd,KAAK,GACN,IAAI,CAAC;AACR,KAAK,aAAa,GAAG,QAAQ,CAC5B,wEAAwE,EACxE,IAAI,CACJ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,CAC7B,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,EAAE,SAAS,IAAI,IAEf,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,GACrB,IAAI,GACJ,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,KAAK,WAAW,CACf,EAAE,SAAS,SAAS,MAAM,EAAE,EAC5B,GAAG,SAAS,SAAS,OAAO,EAAE,EAC9B,CAAC,SAAS,MAAM,IACb,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,GACxB,GAAG,GACH,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,iBAAiB,CACrB,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,EAAE,SAAS,SAAS,OAAO,EAAE,EAC7B,CAAC,SAAS,MAAM,IACb,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GACvB,IAAI,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAChB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAC/B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,GAC5B,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAC/B,QAAQ,CACR,sEAAsE,EACtE,IAAI,CACJ,CAAC;AAEN,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,CAC3B,KAAK,SAAS,SAAS,IAAI,EAAE,EAC7B,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,MAAM,GAAG,CAAC,IACjB,KAAK,CAAC,CAAC,CAAC,SAAS,SAAS,GAC3B,IAAI,GACJ,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,GAC5C,CAAC,SAAS,MAAM,GACf,CAAC,GACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC;AACV,KAAK,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS;IACjE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACnC,GACE,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAC1B,QAAQ,CAAC,kCAAkC,EAAE,IAAI,CAAC,GAClD,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GACpC,CAAC,SAAS,CAAC,GACV,MAAM,CAAC,CAAC,CAAC,GACT,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GACjC,MAAM,CAAC,CAAC,CAAC,GACT,IAAI,GACN,MAAM,CAAC,CAAC,CAAC,GACZ,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9B,QAAQ,CAAC,kCAAkC,EAAE,IAAI,CAAC,GAClD,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACtC,GACA,EAAE,SAAS,MAAM,GAChB,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE,IAAI,CAAC,GAC7D,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAC5C,SAAS,OAAO,EAAE,GAClB,CAAC,SAAS,SAAS,EAAE,GACpB,QAAQ,CAAC,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAC9C,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,GAC3B,IAAI,GACJ,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAChD,KAAK,GACP,QAAQ,CAAC,gDAAgD,EAAE,IAAI,CAAC,CAAC;AACtE,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CACvC,qBAAqB,CAAC,wBAAwB,EAC9C,IAAI,CACJ,CAAC;AACF,KAAK,eAAe,CACnB,EAAE,SAAS,IAAI,EACf,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,SAAS,OAAO,EAAE,EAC9B,CAAC,SAAS,MAAM,IACb,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,GACxB,GAAG,GACH,EAAE,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;CAAE,GAC9B,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAC1C,EAAE,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GACvC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GACpE,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAIxC,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,EAAE,SAAS,SAAS,WAAW,EAAE,EACjC,CAAC,SAAS,GAAG,EACb,IAAI,SAAS,UAAU,GAAG,EAAE,EAC5B,CAAC,SAAS,MAAM,GAAG,CAAC,IACjB,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,GACxB,IAAI,GACJ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,GAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,GAC9D,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GACtD,CAAC,SAAS,OAAO,GAChB,iBAAiB,CACjB,EAAE,EACF,CAAC,EACD,IAAI,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;CAAE,EAC3C,EAAE,CAAC,CAAC,CAAC,CACL,GACA,CAAC,GACF,KAAK,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAC1B,CAAC,SAAS,UAAU,EACpB,IAAI,SAAS,UAAU,EACvB,CAAC,SAAS,GAAG,IAEb,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,GAC5C,CAAC,SAAS,SAAS,OAAO,EAAE,GAC3B,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,GAC1C,CAAC,SAAS,SAAS,OAAO,EAAE,GAC3B,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GACvB,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,GAC3B,CAAC,CAAC,WAAW,CAAC,SAAS,SAAS,EAAE,GACjC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,IAAI,GAC3B,CAAC,CAAC,OAAO,CAAC,SAAS,SAAS,EAAE,GAC7B,IAAI,GACJ,QAAQ,CACR,8CAA8C,CAAC,CAAC,MAAM,CAAC,GAAG,EAC1D,IAAI,CACJ,GACD,CAAC,CAAC,OAAO,CAAC,SAAS,SAAS,EAAE,GAC7B,KAAK,GACL,IAAI,GACN,QAAQ,CACR,kDAAkD,CAAC,CAAC,MAAM,CAAC,GAAG,EAC9D,IAAI,CACJ,GACD,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,GACvD,CAAC,CAAC,OAAO,CAAC,SAAS,SAAS,EAAE,GAC7B,KAAK,GACL,IAAI,GACN,CAAC,GACF,KAAK,GACN,CAAC,GACF,KAAK,CAAC;AAEV,4FAA4F;AAC5F,MAAM,MAAM,eAAe,CAC1B,EAAE,SAAS,SAAS,IAAI,EAAE,EAC1B,IAAI,SAAS,UAAU,EACvB,CAAC,SAAS,GAAG,EACb,CAAC,SAAS,MAAM,GAAG,CAAC,IACjB,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,GACxB,IAAI,GACJ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAC/C,CAAC,SAAS,MAAM,GACf,CAAC,GACD,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GACpC,KAAK,CAAC;AACV,mFAAmF;AACnF,KAAK,UAAU,CAAC,EAAE,EAAE,IAAI,SAAS,UAAU,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS;IAC1E,KAAK;CACL,GACE,IAAI,GACJ,CACC,EAAE,SAAS,UAAU,GAClB,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAC3C,CAAC,SAAS,OAAO,GAChB,KAAK,GACL,CAAC,GACF,KAAK,GACN,KAAK,CACR,SAAS,MAAM,IAAI,GACnB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GACrB,IAAI,GACJ,OAAO,CAAC,IAAI,CAAC,GACd,KAAK,CAAC;AACV,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACtE,CAAC,EAAE,MAAM,CAAC,KACN,IAAI,GACN,CAAC,GACD,CAAC,CAAC;AAEL,KAAK,OAAO,GACT,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,OAAO,GACP,MAAM,GACN,KAAK,GACL,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AACX;;;;;GAKG;AACH,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GACpD,KAAK,GACL,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACtB,GACA,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GACxE,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;IACjC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAC/B,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CACnC,GACA,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAC5B,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS;QACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;KACvB,EAAE,CAAC;IACJ,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACvB,GAEE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAClB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GACf,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAChC,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACrB,GACA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAC5C,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;CAClC,GACA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAC1C,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACtB,GACA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAC7B,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAC3B,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACvB,GACA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAC9B,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GACZ,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GACZ,KAAK,CAAC;AACpB,kGAAkG;AAClG,KAAK,SAAS,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS;IAClC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;IACjC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;CACpB,GACE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACrC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAK,MAAM,CACV,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,GAAG,EACH,CAAC,SAAS,MAAM,IACb,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,KAAK,QAAQ,CACZ,CAAC,SAAS,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EACvE,GAAG,EACH,CAAC,SAAS,MAAM,IACb,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GACvB,GAAG,GACH,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"clauses.d.ts","sources":["../../../src/engine/binder/clauses.ts"],"names":[],"mappings":"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"}
|