@zyraxon-ai/effect-drizzle-sqlite 19.0.5

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.
Files changed (77) hide show
  1. package/dist/effect-sqlite/driver.d.ts +44 -0
  2. package/dist/effect-sqlite/driver.d.ts.map +1 -0
  3. package/dist/effect-sqlite/driver.js +55 -0
  4. package/dist/effect-sqlite/driver.js.map +1 -0
  5. package/dist/effect-sqlite/index.d.ts +4 -0
  6. package/dist/effect-sqlite/index.d.ts.map +1 -0
  7. package/dist/effect-sqlite/index.js +5 -0
  8. package/dist/effect-sqlite/index.js.map +1 -0
  9. package/dist/effect-sqlite/migrator.d.ts +5 -0
  10. package/dist/effect-sqlite/migrator.d.ts.map +1 -0
  11. package/dist/effect-sqlite/migrator.js +7 -0
  12. package/dist/effect-sqlite/migrator.js.map +1 -0
  13. package/dist/effect-sqlite/session.d.ts +48 -0
  14. package/dist/effect-sqlite/session.d.ts.map +1 -0
  15. package/dist/effect-sqlite/session.js +78 -0
  16. package/dist/effect-sqlite/session.js.map +1 -0
  17. package/dist/index.d.ts +6 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +6 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/internal/drizzle-utils.d.ts +21 -0
  22. package/dist/internal/drizzle-utils.d.ts.map +1 -0
  23. package/dist/internal/drizzle-utils.js +96 -0
  24. package/dist/internal/drizzle-utils.js.map +1 -0
  25. package/dist/sqlite-core/effect/count.d.ts +21 -0
  26. package/dist/sqlite-core/effect/count.d.ts.map +1 -0
  27. package/dist/sqlite-core/effect/count.js +31 -0
  28. package/dist/sqlite-core/effect/count.js.map +1 -0
  29. package/dist/sqlite-core/effect/db.d.ts +83 -0
  30. package/dist/sqlite-core/effect/db.d.ts.map +1 -0
  31. package/dist/sqlite-core/effect/db.js +168 -0
  32. package/dist/sqlite-core/effect/db.js.map +1 -0
  33. package/dist/sqlite-core/effect/delete.d.ts +70 -0
  34. package/dist/sqlite-core/effect/delete.d.ts.map +1 -0
  35. package/dist/sqlite-core/effect/delete.js +77 -0
  36. package/dist/sqlite-core/effect/delete.js.map +1 -0
  37. package/dist/sqlite-core/effect/index.d.ts +10 -0
  38. package/dist/sqlite-core/effect/index.d.ts.map +1 -0
  39. package/dist/sqlite-core/effect/index.js +11 -0
  40. package/dist/sqlite-core/effect/index.js.map +1 -0
  41. package/dist/sqlite-core/effect/insert.d.ts +96 -0
  42. package/dist/sqlite-core/effect/insert.d.ts.map +1 -0
  43. package/dist/sqlite-core/effect/insert.js +124 -0
  44. package/dist/sqlite-core/effect/insert.js.map +1 -0
  45. package/dist/sqlite-core/effect/query.d.ts +64 -0
  46. package/dist/sqlite-core/effect/query.d.ts.map +1 -0
  47. package/dist/sqlite-core/effect/query.js +105 -0
  48. package/dist/sqlite-core/effect/query.js.map +1 -0
  49. package/dist/sqlite-core/effect/raw.d.ts +33 -0
  50. package/dist/sqlite-core/effect/raw.d.ts.map +1 -0
  51. package/dist/sqlite-core/effect/raw.js +30 -0
  52. package/dist/sqlite-core/effect/raw.js.map +1 -0
  53. package/dist/sqlite-core/effect/select.d.ts +65 -0
  54. package/dist/sqlite-core/effect/select.d.ts.map +1 -0
  55. package/dist/sqlite-core/effect/select.js +106 -0
  56. package/dist/sqlite-core/effect/select.js.map +1 -0
  57. package/dist/sqlite-core/effect/session.d.ts +89 -0
  58. package/dist/sqlite-core/effect/session.d.ts.map +1 -0
  59. package/dist/sqlite-core/effect/session.js +280 -0
  60. package/dist/sqlite-core/effect/session.js.map +1 -0
  61. package/dist/sqlite-core/effect/update.d.ts +91 -0
  62. package/dist/sqlite-core/effect/update.d.ts.map +1 -0
  63. package/dist/sqlite-core/effect/update.js +125 -0
  64. package/dist/sqlite-core/effect/update.js.map +1 -0
  65. package/dist/up-migrations/effect-sqlite.d.ts +9 -0
  66. package/dist/up-migrations/effect-sqlite.d.ts.map +1 -0
  67. package/dist/up-migrations/effect-sqlite.js +50 -0
  68. package/dist/up-migrations/effect-sqlite.js.map +1 -0
  69. package/dist/up-migrations/sqlite.d.ts +54 -0
  70. package/dist/up-migrations/sqlite.d.ts.map +1 -0
  71. package/dist/up-migrations/sqlite.js +152 -0
  72. package/dist/up-migrations/sqlite.js.map +1 -0
  73. package/dist/up-migrations/utils.d.ts +22 -0
  74. package/dist/up-migrations/utils.d.ts.map +1 -0
  75. package/dist/up-migrations/utils.js +47 -0
  76. package/dist/up-migrations/utils.js.map +1 -0
  77. package/package.json +37 -0
@@ -0,0 +1,124 @@
1
+ import { applyEffectWrapper } from "drizzle-orm/effect-core/query-effect";
2
+ import { entityKind, is } from "drizzle-orm/entity";
3
+ import { Param, SQL, sql } from "drizzle-orm/sql/sql";
4
+ import { extractUsedTable } from "drizzle-orm/sqlite-core/utils";
5
+ import { haveSameKeys } from "drizzle-orm/utils";
6
+ import { QueryBuilder } from "drizzle-orm/sqlite-core/query-builders/query-builder";
7
+ import { getTableColumnsRuntime, mapUpdateSet, orderSelectedFields } from "../../internal/drizzle-utils";
8
+ export class SQLiteEffectInsertBuilder {
9
+ table;
10
+ session;
11
+ dialect;
12
+ withList;
13
+ static [entityKind] = "SQLiteEffectInsertBuilder";
14
+ constructor(table, session, dialect, withList) {
15
+ this.table = table;
16
+ this.session = session;
17
+ this.dialect = dialect;
18
+ this.withList = withList;
19
+ }
20
+ values(values) {
21
+ values = Array.isArray(values) ? values : [values];
22
+ if (values.length === 0) {
23
+ throw new Error("values() must be called with at least one value");
24
+ }
25
+ const mappedValues = values.map((entry) => {
26
+ const result = {};
27
+ const cols = getTableColumnsRuntime(this.table);
28
+ for (const colKey of Object.keys(entry)) {
29
+ const colValue = entry[colKey];
30
+ result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
31
+ }
32
+ return result;
33
+ });
34
+ return new SQLiteEffectInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
35
+ }
36
+ select(selectQuery) {
37
+ const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
38
+ if (!is(select, SQL) && !haveSameKeys(getTableColumnsRuntime(this.table), select._.selectedFields)) {
39
+ throw new Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");
40
+ }
41
+ return new SQLiteEffectInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
42
+ }
43
+ }
44
+ export class SQLiteEffectInsertBase {
45
+ table;
46
+ effectSession;
47
+ effectDialect;
48
+ static [entityKind] = "SQLiteEffectInsert";
49
+ /** @internal */
50
+ config;
51
+ constructor(table, values, effectSession, effectDialect, withList, select) {
52
+ this.table = table;
53
+ this.effectSession = effectSession;
54
+ this.effectDialect = effectDialect;
55
+ this.config = { table, values: values, withList, select };
56
+ }
57
+ returning(fields = getTableColumnsRuntime(this.config.table)) {
58
+ this.config.returning = orderSelectedFields(fields);
59
+ return this;
60
+ }
61
+ onConflictDoNothing(config = {}) {
62
+ if (!this.config.onConflict)
63
+ this.config.onConflict = [];
64
+ if (config.target === undefined) {
65
+ this.config.onConflict.push(sql ` on conflict do nothing`);
66
+ return this;
67
+ }
68
+ const targetSql = Array.isArray(config.target) ? sql `${config.target}` : sql `${[config.target]}`;
69
+ const whereSql = config.where ? sql ` where ${config.where}` : sql ``;
70
+ this.config.onConflict.push(sql ` on conflict ${targetSql} do nothing${whereSql}`);
71
+ return this;
72
+ }
73
+ onConflictDoUpdate(config) {
74
+ if (config.where && (config.targetWhere || config.setWhere)) {
75
+ throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');
76
+ }
77
+ if (!this.config.onConflict)
78
+ this.config.onConflict = [];
79
+ const whereSql = config.where ? sql ` where ${config.where}` : undefined;
80
+ const targetWhereSql = config.targetWhere ? sql ` where ${config.targetWhere}` : undefined;
81
+ const setWhereSql = config.setWhere ? sql ` where ${config.setWhere}` : undefined;
82
+ const targetSql = Array.isArray(config.target) ? sql `${config.target}` : sql `${[config.target]}`;
83
+ const setSql = this.effectDialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
84
+ this.config.onConflict.push(sql ` on conflict ${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`);
85
+ return this;
86
+ }
87
+ /** @internal */
88
+ getSQL() {
89
+ return this.effectDialect.buildInsertQuery(this.config);
90
+ }
91
+ toSQL() {
92
+ return this.effectDialect.sqlToQuery(this.getSQL());
93
+ }
94
+ /** @internal */
95
+ _prepare(isOneTimeQuery = true) {
96
+ return this.effectSession[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](this.effectDialect.sqlToQuery(this.getSQL()), this.config.returning, this.config.returning ? "all" : "run", undefined, {
97
+ type: "insert",
98
+ tables: extractUsedTable(this.config.table),
99
+ });
100
+ }
101
+ prepare() {
102
+ return this._prepare(false);
103
+ }
104
+ run = (placeholderValues) => {
105
+ return this._prepare().run(placeholderValues);
106
+ };
107
+ all = (placeholderValues) => {
108
+ return this._prepare().all(placeholderValues);
109
+ };
110
+ get = (placeholderValues) => {
111
+ return this._prepare().get(placeholderValues);
112
+ };
113
+ values = (placeholderValues) => {
114
+ return this._prepare().values(placeholderValues);
115
+ };
116
+ execute = (placeholderValues) => {
117
+ return this._prepare().execute(placeholderValues);
118
+ };
119
+ $dynamic() {
120
+ return this;
121
+ }
122
+ }
123
+ applyEffectWrapper(SQLiteEffectInsertBase);
124
+ //# sourceMappingURL=insert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../src/sqlite-core/effect/insert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import { type QueryEffectHKTBase } from "drizzle-orm/effect-core/query-effect";
3
+ import { entityKind } from "drizzle-orm/entity";
4
+ import { type BuildQueryResult, type DBQueryConfig, type TableRelationalConfig, type TablesRelationalConfig } from "drizzle-orm/relations";
5
+ import type { RunnableQuery } from "drizzle-orm/runnable-query";
6
+ import { type Query, type SQL, type SQLWrapper } from "drizzle-orm/sql/sql";
7
+ import type { KnownKeysOnly } from "drizzle-orm/utils";
8
+ import type { SQLiteDialect } from "drizzle-orm/sqlite-core/dialect";
9
+ import type { PreparedQueryConfig } from "drizzle-orm/sqlite-core/session";
10
+ import type { SQLiteTable } from "drizzle-orm/sqlite-core/table";
11
+ import type { SQLiteEffectPreparedQuery, SQLiteEffectSession } from "./session";
12
+ export declare class SQLiteEffectRelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> {
13
+ private schema;
14
+ private table;
15
+ private tableConfig;
16
+ private dialect;
17
+ private session;
18
+ private rowMode?;
19
+ private forbidJsonb?;
20
+ static readonly [entityKind]: string;
21
+ constructor(schema: TSchema, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteEffectSession<TEffectHKT, any, any>, rowMode?: boolean, forbidJsonb?: boolean);
22
+ findMany<TConfig extends DBQueryConfig<"many", TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<"many", TSchema, TFields>>): SQLiteEffectRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[], TEffectHKT>;
23
+ findFirst<TConfig extends DBQueryConfig<"one", TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<"one", TSchema, TFields>>): SQLiteEffectRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig> | undefined, TEffectHKT>;
24
+ }
25
+ export interface SQLiteEffectRelationalQuery<TResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends Effect.Effect<TResult, TEffectHKT["error"], TEffectHKT["context"]>, RunnableQuery<TResult, "sqlite">, SQLWrapper {
26
+ }
27
+ export declare class SQLiteEffectRelationalQuery<TResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> implements RunnableQuery<TResult, "sqlite">, SQLWrapper {
28
+ private schema;
29
+ private tableConfig;
30
+ private dialect;
31
+ private session;
32
+ private config;
33
+ private rowMode?;
34
+ private forbidJsonb?;
35
+ static readonly [entityKind]: string;
36
+ readonly _: {
37
+ readonly dialect: "sqlite";
38
+ readonly type: "async";
39
+ readonly result: TResult;
40
+ };
41
+ /** @internal */
42
+ mode: "many" | "first";
43
+ /** @internal */
44
+ table: SQLiteTable;
45
+ constructor(schema: TablesRelationalConfig, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteEffectSession<TEffectHKT, any, any>, config: DBQueryConfig<"many" | "one"> | true, mode: "many" | "first", rowMode?: boolean, forbidJsonb?: boolean);
46
+ /** @internal */
47
+ getSQL(): SQL;
48
+ /** @internal */
49
+ _prepare(isOneTimeQuery?: boolean): SQLiteEffectPreparedQuery<PreparedQueryConfig & {
50
+ all: TResult;
51
+ get: TResult;
52
+ execute: TResult;
53
+ }, TEffectHKT, true>;
54
+ prepare(): SQLiteEffectPreparedQuery<PreparedQueryConfig & {
55
+ all: TResult;
56
+ get: TResult;
57
+ execute: TResult;
58
+ }, TEffectHKT, true>;
59
+ private _getQuery;
60
+ private _toSQL;
61
+ toSQL(): Query;
62
+ execute(placeholderValues?: Record<string, unknown>): import("drizzle-orm/effect-core").QueryEffectKind<TEffectHKT, TResult>;
63
+ }
64
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/sqlite-core/effect/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import { applyEffectWrapper } from "drizzle-orm/effect-core/query-effect";
2
+ import { entityKind } from "drizzle-orm/entity";
3
+ import { makeDefaultRqbMapper, } from "drizzle-orm/relations";
4
+ import { sql } from "drizzle-orm/sql/sql";
5
+ export class SQLiteEffectRelationalQueryBuilder {
6
+ schema;
7
+ table;
8
+ tableConfig;
9
+ dialect;
10
+ session;
11
+ rowMode;
12
+ forbidJsonb;
13
+ static [entityKind] = "SQLiteEffectRelationalQueryBuilderV2";
14
+ constructor(schema, table, tableConfig, dialect, session, rowMode, forbidJsonb) {
15
+ this.schema = schema;
16
+ this.table = table;
17
+ this.tableConfig = tableConfig;
18
+ this.dialect = dialect;
19
+ this.session = session;
20
+ this.rowMode = rowMode;
21
+ this.forbidJsonb = forbidJsonb;
22
+ }
23
+ findMany(config) {
24
+ return new SQLiteEffectRelationalQuery(this.schema, this.table, this.tableConfig, this.dialect, this.session, config ?? true, "many", this.rowMode, this.forbidJsonb);
25
+ }
26
+ findFirst(config) {
27
+ return new SQLiteEffectRelationalQuery(this.schema, this.table, this.tableConfig, this.dialect, this.session, config ?? true, "first", this.rowMode, this.forbidJsonb);
28
+ }
29
+ }
30
+ export class SQLiteEffectRelationalQuery {
31
+ schema;
32
+ tableConfig;
33
+ dialect;
34
+ session;
35
+ config;
36
+ rowMode;
37
+ forbidJsonb;
38
+ static [entityKind] = "SQLiteEffectRelationalQueryV2";
39
+ /** @internal */
40
+ mode;
41
+ /** @internal */
42
+ table;
43
+ constructor(schema, table, tableConfig, dialect, session, config, mode, rowMode, forbidJsonb) {
44
+ this.schema = schema;
45
+ this.tableConfig = tableConfig;
46
+ this.dialect = dialect;
47
+ this.session = session;
48
+ this.config = config;
49
+ this.rowMode = rowMode;
50
+ this.forbidJsonb = forbidJsonb;
51
+ this.mode = mode;
52
+ this.table = table;
53
+ }
54
+ /** @internal */
55
+ getSQL() {
56
+ return this._getQuery().sql;
57
+ }
58
+ /** @internal */
59
+ _prepare(isOneTimeQuery = true) {
60
+ const { query, builtQuery } = this._toSQL();
61
+ const mapperConfig = {
62
+ isFirst: this.mode === "first",
63
+ parseJson: !this.rowMode,
64
+ parseJsonIfString: false,
65
+ rootJsonMappers: true,
66
+ selection: query.selection,
67
+ };
68
+ return this.session[isOneTimeQuery ? "prepareOneTimeRelationalQuery" : "prepareRelationalQuery"](builtQuery, undefined, this.mode === "first" ? "get" : "all", makeDefaultRqbMapper(mapperConfig), mapperConfig);
69
+ }
70
+ prepare() {
71
+ return this._prepare(false);
72
+ }
73
+ _getQuery() {
74
+ const jsonb = this.forbidJsonb ? sql `json` : sql `jsonb`;
75
+ const query = this.dialect.buildRelationalQuery({
76
+ schema: this.schema,
77
+ table: this.table,
78
+ tableConfig: this.tableConfig,
79
+ queryConfig: this.config,
80
+ mode: this.mode,
81
+ isNested: this.rowMode,
82
+ jsonb,
83
+ });
84
+ if (this.rowMode) {
85
+ const jsonColumns = sql.join(query.selection.map((s) => {
86
+ return sql `${sql.raw(this.dialect.escapeString(s.key))}, ${s.selection ? sql `${jsonb}(${sql.identifier(s.key)})` : sql.identifier(s.key)}`;
87
+ }), sql `, `);
88
+ query.sql = sql `select json_object(${jsonColumns}) as ${sql.identifier("r")} from (${query.sql}) as ${sql.identifier("t")}`;
89
+ }
90
+ return query;
91
+ }
92
+ _toSQL() {
93
+ const query = this._getQuery();
94
+ const builtQuery = this.dialect.sqlToQuery(query.sql);
95
+ return { query, builtQuery };
96
+ }
97
+ toSQL() {
98
+ return this._toSQL().builtQuery;
99
+ }
100
+ execute(placeholderValues) {
101
+ return this.mode === "first" ? this._prepare().get(placeholderValues) : this._prepare().all(placeholderValues);
102
+ }
103
+ }
104
+ applyEffectWrapper(SQLiteEffectRelationalQuery);
105
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/sqlite-core/effect/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import { type QueryEffectHKTBase } from "drizzle-orm/effect-core/query-effect";
3
+ import { entityKind } from "drizzle-orm/entity";
4
+ import type { RunnableQuery } from "drizzle-orm/runnable-query";
5
+ import type { PreparedQuery } from "drizzle-orm/session";
6
+ import type { Query, SQL, SQLWrapper } from "drizzle-orm/sql/sql";
7
+ import type { SQLiteAsyncDialect } from "drizzle-orm/sqlite-core/dialect";
8
+ type SQLiteEffectRawAction = "all" | "get" | "values" | "run";
9
+ export interface SQLiteEffectRaw<TResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends Effect.Effect<TResult, TEffectHKT["error"], TEffectHKT["context"]>, RunnableQuery<TResult, "sqlite">, SQLWrapper {
10
+ }
11
+ export declare class SQLiteEffectRaw<TResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> implements RunnableQuery<TResult, "sqlite">, SQLWrapper, PreparedQuery {
12
+ execute: () => Effect.Effect<TResult, TEffectHKT["error"], TEffectHKT["context"]>;
13
+ /** @internal */
14
+ getSQL: () => SQL;
15
+ private action;
16
+ private dialect;
17
+ private mapBatchResult;
18
+ static readonly [entityKind]: string;
19
+ readonly _: {
20
+ readonly dialect: "sqlite";
21
+ readonly result: TResult;
22
+ };
23
+ constructor(execute: () => Effect.Effect<TResult, TEffectHKT["error"], TEffectHKT["context"]>,
24
+ /** @internal */
25
+ getSQL: () => SQL, action: SQLiteEffectRawAction, dialect: SQLiteAsyncDialect, mapBatchResult: (result: unknown) => unknown);
26
+ getQuery(): Query & {
27
+ method: SQLiteEffectRawAction;
28
+ };
29
+ mapResult(result: unknown, isFromBatch?: boolean): unknown;
30
+ _prepare(): PreparedQuery;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=raw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../../src/sqlite-core/effect/raw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEzE,KAAK,qBAAqB,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE7D,MAAM,WAAW,eAAe,CAAC,OAAO,EAAE,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,CAClG,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EACxE,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,EAChC,UAAU;CAAG;AAEjB,qBAAa,eAAe,CAAC,OAAO,EAAE,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,CAC9F,YAAW,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa;IAU7D,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACxF,gBAAgB;IACT,MAAM,EAAE,MAAM,GAAG;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IAbxB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAoB;IAExD,SAAiB,CAAC,EAAE;QAClB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;QAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KACzB,CAAA;gBAGQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACxF,gBAAgB;IACT,MAAM,EAAE,MAAM,GAAG,EAChB,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO;IAGtD,QAAQ,IAAI,KAAK,GAAG;QAAE,MAAM,EAAE,qBAAqB,CAAA;KAAE;IAIrD,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO;IAIhD,QAAQ,IAAI,aAAa;CAG1B"}
@@ -0,0 +1,30 @@
1
+ import { applyEffectWrapper } from "drizzle-orm/effect-core/query-effect";
2
+ import { entityKind } from "drizzle-orm/entity";
3
+ export class SQLiteEffectRaw {
4
+ execute;
5
+ getSQL;
6
+ action;
7
+ dialect;
8
+ mapBatchResult;
9
+ static [entityKind] = "SQLiteEffectRaw";
10
+ constructor(execute,
11
+ /** @internal */
12
+ getSQL, action, dialect, mapBatchResult) {
13
+ this.execute = execute;
14
+ this.getSQL = getSQL;
15
+ this.action = action;
16
+ this.dialect = dialect;
17
+ this.mapBatchResult = mapBatchResult;
18
+ }
19
+ getQuery() {
20
+ return { ...this.dialect.sqlToQuery(this.getSQL()), method: this.action };
21
+ }
22
+ mapResult(result, isFromBatch) {
23
+ return isFromBatch ? this.mapBatchResult(result) : result;
24
+ }
25
+ _prepare() {
26
+ return this;
27
+ }
28
+ }
29
+ applyEffectWrapper(SQLiteEffectRaw);
30
+ //# sourceMappingURL=raw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.js","sourceRoot":"","sources":["../../../src/sqlite-core/effect/raw.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sCAAsC,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAa/C,MAAM,OAAO,eAAe;IAWjB;IAEA;IACC;IACA;IACA;IAbV,MAAM,CAAU,CAAC,UAAU,CAAC,GAAW,iBAAiB,CAAA;IAOxD,YACS,OAAiF;IACxF,gBAAgB;IACT,MAAiB,EAChB,MAA6B,EAC7B,OAA2B,EAC3B,cAA4C;QAL7C,YAAO,GAAP,OAAO,CAA0E;QAEjF,WAAM,GAAN,MAAM,CAAW;QAChB,WAAM,GAAN,MAAM,CAAuB;QAC7B,YAAO,GAAP,OAAO,CAAoB;QAC3B,mBAAc,GAAd,cAAc,CAA8B;IACnD,CAAC;IAEJ,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3E,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,WAAqB;QAC9C,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC3D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;;AAGH,kBAAkB,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,65 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import type { CacheConfig } from "drizzle-orm/cache/core/types";
3
+ import { type QueryEffectHKTBase } from "drizzle-orm/effect-core/query-effect";
4
+ import { entityKind } from "drizzle-orm/entity";
5
+ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinNullability, SelectMode, SelectResult } from "drizzle-orm/query-builders/select.types";
6
+ import { SQL } from "drizzle-orm/sql/sql";
7
+ import type { ColumnsSelection, SQLWrapper } from "drizzle-orm/sql/sql";
8
+ import type { SQLiteDialect } from "drizzle-orm/sqlite-core/dialect";
9
+ import { SQLiteSelectQueryBuilderBase } from "drizzle-orm/sqlite-core/query-builders/select";
10
+ import type { CreateSQLiteSelectFromBuilderMode, SelectedFields, SQLiteSelectHKTBase } from "drizzle-orm/sqlite-core/query-builders/select.types";
11
+ import type { SQLiteTable } from "drizzle-orm/sqlite-core/table";
12
+ import { SQLiteViewBase } from "drizzle-orm/sqlite-core/view-base";
13
+ import { Subquery } from "drizzle-orm/subquery";
14
+ import { type Assume } from "drizzle-orm/utils";
15
+ import type { SQLiteEffectPreparedQuery, SQLiteEffectSession } from "./session";
16
+ export type SQLiteEffectSelectPrepare<T extends AnySQLiteEffectSelect, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> = SQLiteEffectPreparedQuery<{
17
+ type: "async";
18
+ run: T["_"]["runResult"];
19
+ all: T["_"]["result"];
20
+ get: T["_"]["result"][number] | undefined;
21
+ values: any[][];
22
+ execute: T["_"]["result"];
23
+ }, TEffectHKT>;
24
+ export declare class SQLiteEffectSelectBuilder<TSelection extends SelectedFields | undefined, TRunResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, TBuilderMode extends "db" | "qb" = "db"> {
25
+ static readonly [entityKind]: string;
26
+ private fields;
27
+ private session;
28
+ private dialect;
29
+ private withList;
30
+ private distinct;
31
+ constructor(config: {
32
+ fields: TSelection;
33
+ session: SQLiteEffectSession<TEffectHKT, TRunResult, any> | undefined;
34
+ dialect: SQLiteDialect;
35
+ withList?: Subquery[];
36
+ distinct?: boolean;
37
+ });
38
+ from<TFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL>(source: TFrom): TBuilderMode extends "db" ? SQLiteEffectSelectBase<GetSelectTableName<TFrom>, TRunResult, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? "single" : "partial", GetSelectTableName<TFrom> extends string ? Record<GetSelectTableName<TFrom>, "not-null"> : {}, false, never, SelectResult<TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? "single" : "partial", GetSelectTableName<TFrom> extends string ? Record<GetSelectTableName<TFrom>, "not-null"> : {}>[], BuildSubquerySelection<TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, GetSelectTableName<TFrom> extends string ? Record<GetSelectTableName<TFrom>, "not-null"> : {}>, TEffectHKT> : CreateSQLiteSelectFromBuilderMode<TBuilderMode, GetSelectTableName<TFrom>, "async", TRunResult, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? "single" : "partial">;
39
+ }
40
+ export interface SQLiteEffectSelectHKT<TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends SQLiteSelectHKTBase {
41
+ _type: SQLiteEffectSelectBase<this["tableName"], this["runResult"], Assume<this["selection"], ColumnsSelection>, this["selectMode"], Assume<this["nullabilityMap"], Record<string, JoinNullability>>, this["dynamic"], this["excludedMethods"], Assume<this["result"], any[]>, Assume<this["selectedFields"], ColumnsSelection>, TEffectHKT>;
42
+ }
43
+ export interface SQLiteEffectSelectBase<TTableName extends string | undefined, TRunResult, TSelection extends ColumnsSelection, TSelectMode extends SelectMode = "single", TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, "not-null"> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult extends any[] = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends SQLiteSelectQueryBuilderBase<SQLiteEffectSelectHKT<TEffectHKT>, TTableName, "async", TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields>, Effect.Effect<TResult, TEffectHKT["error"], TEffectHKT["context"]> {
44
+ }
45
+ export declare class SQLiteEffectSelectBase<TTableName extends string | undefined, TRunResult, TSelection extends ColumnsSelection, TSelectMode extends SelectMode = "single", TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, "not-null"> : {}, TDynamic extends boolean = false, TExcludedMethods extends string = never, TResult extends any[] = SelectResult<TSelection, TSelectMode, TNullabilityMap>[], TSelectedFields extends ColumnsSelection = BuildSubquerySelection<TSelection, TNullabilityMap>, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends SQLiteSelectQueryBuilderBase<SQLiteEffectSelectHKT<TEffectHKT>, TTableName, "async", TRunResult, TSelection, TSelectMode, TNullabilityMap, TDynamic, TExcludedMethods, TResult, TSelectedFields> implements SQLWrapper {
46
+ static readonly [entityKind]: string;
47
+ private get effectConfig();
48
+ /** @internal */
49
+ getSQL(): SQL;
50
+ /** @internal */
51
+ _prepare(isOneTimeQuery?: boolean): SQLiteEffectSelectPrepare<this, TEffectHKT>;
52
+ $withCache(config?: {
53
+ config?: CacheConfig;
54
+ tag?: string;
55
+ autoInvalidate?: boolean;
56
+ } | false): this;
57
+ prepare(): SQLiteEffectSelectPrepare<this, TEffectHKT>;
58
+ run: ReturnType<this["prepare"]>["run"];
59
+ all: ReturnType<this["prepare"]>["all"];
60
+ get: ReturnType<this["prepare"]>["get"];
61
+ values: ReturnType<this["prepare"]>["values"];
62
+ execute: ReturnType<this["prepare"]>["execute"];
63
+ }
64
+ export type AnySQLiteEffectSelect = SQLiteEffectSelectBase<any, any, any, any, any, any, any, any, any, any>;
65
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/sqlite-core/effect/select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { applyEffectWrapper } from "drizzle-orm/effect-core/query-effect";
2
+ import { entityKind, is } from "drizzle-orm/entity";
3
+ import { SQL } from "drizzle-orm/sql/sql";
4
+ import { SQLiteSelectQueryBuilderBase } from "drizzle-orm/sqlite-core/query-builders/select";
5
+ import { SQLiteViewBase } from "drizzle-orm/sqlite-core/view-base";
6
+ import { Subquery } from "drizzle-orm/subquery";
7
+ import { getTableColumns } from "drizzle-orm/utils";
8
+ import { getViewSelectedFieldsRuntime, orderSelectedFields } from "../../internal/drizzle-utils";
9
+ export class SQLiteEffectSelectBuilder {
10
+ static [entityKind] = "SQLiteEffectSelectBuilder";
11
+ fields;
12
+ session;
13
+ dialect;
14
+ withList;
15
+ distinct;
16
+ constructor(config) {
17
+ this.fields = config.fields;
18
+ this.session = config.session;
19
+ this.dialect = config.dialect;
20
+ this.withList = config.withList;
21
+ this.distinct = config.distinct;
22
+ }
23
+ from(source) {
24
+ const isPartialSelect = !!this.fields;
25
+ let fields;
26
+ if (this.fields) {
27
+ fields = this.fields;
28
+ }
29
+ else if (is(source, Subquery)) {
30
+ fields = Object.fromEntries(Object.keys(source._.selectedFields).map((key) => [
31
+ key,
32
+ source[key],
33
+ ]));
34
+ }
35
+ else if (is(source, SQLiteViewBase)) {
36
+ fields = getViewSelectedFieldsRuntime(source).selectedFields;
37
+ }
38
+ else if (is(source, SQL)) {
39
+ fields = {};
40
+ }
41
+ else {
42
+ fields = getTableColumns(source);
43
+ }
44
+ return new SQLiteEffectSelectBase({
45
+ table: source,
46
+ fields,
47
+ isPartialSelect,
48
+ session: this.session,
49
+ dialect: this.dialect,
50
+ withList: this.withList,
51
+ distinct: this.distinct,
52
+ });
53
+ }
54
+ }
55
+ export class SQLiteEffectSelectBase extends SQLiteSelectQueryBuilderBase {
56
+ static [entityKind] = "SQLiteEffectSelect";
57
+ get effectConfig() {
58
+ return this.config;
59
+ }
60
+ /** @internal */
61
+ getSQL() {
62
+ return this.dialect.buildSelectQuery(this.effectConfig);
63
+ }
64
+ /** @internal */
65
+ _prepare(isOneTimeQuery = true) {
66
+ if (!this.session) {
67
+ throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
68
+ }
69
+ const session = this.session;
70
+ const query = session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](this.dialect.sqlToQuery(this.getSQL()), orderSelectedFields(this.effectConfig.fields), "all", undefined, {
71
+ type: "select",
72
+ tables: [...this.usedTables],
73
+ }, this.cacheConfig);
74
+ query.joinsNotNullableMap = this.joinsNotNullableMap;
75
+ return query;
76
+ }
77
+ $withCache(config) {
78
+ this.cacheConfig =
79
+ config === undefined
80
+ ? { config: {}, enabled: true, autoInvalidate: true }
81
+ : config === false
82
+ ? { enabled: false }
83
+ : { enabled: true, autoInvalidate: true, ...config };
84
+ return this;
85
+ }
86
+ prepare() {
87
+ return this._prepare(false);
88
+ }
89
+ run = (placeholderValues) => {
90
+ return this._prepare().run(placeholderValues);
91
+ };
92
+ all = (placeholderValues) => {
93
+ return this._prepare().all(placeholderValues);
94
+ };
95
+ get = (placeholderValues) => {
96
+ return this._prepare().get(placeholderValues);
97
+ };
98
+ values = (placeholderValues) => {
99
+ return this._prepare().values(placeholderValues);
100
+ };
101
+ execute = (placeholderValues) => {
102
+ return this._prepare().execute(placeholderValues);
103
+ };
104
+ }
105
+ applyEffectWrapper(SQLiteEffectSelectBase);
106
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/sqlite-core/effect/select.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sCAAsC,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AASnD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAIzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AAQ5F,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAe,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAkBhG,MAAM,OAAO,yBAAyB;IAMpC,MAAM,CAAU,CAAC,UAAU,CAAC,GAAW,2BAA2B,CAAA;IAE1D,MAAM,CAAY;IAClB,OAAO,CAA8D;IACrE,OAAO,CAAe;IACtB,QAAQ,CAAwB;IAChC,QAAQ,CAAqB;IAErC,YAAY,MAMX;QACC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IACjC,CAAC;IAED,IAAI,CACF,MAAa;QA6Bb,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAErC,IAAI,MAAsB,CAAA;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACtB,CAAC;aAAM,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBAChD,GAAG;gBACH,MAAM,CAAC,GAAqC,CAAsC;aACnF,CAAC,CACH,CAAA;QACH,CAAC;aAAM,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC,cAAgC,CAAA;QAChF,CAAC;aAAM,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,eAAe,CAAc,MAAM,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC;YAChC,KAAK,EAAE,MAAM;YACb,MAAM;YACN,eAAe;YACf,OAAO,EAAE,IAAI,CAAC,OAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAQ,CAAA;IACX,CAAC;;AA+CH,MAAM,OAAO,sBAcX,SAAQ,4BAYP;IAGD,MAAM,CAAmB,CAAC,UAAU,CAAC,GAAW,oBAAoB,CAAA;IAEpE,IAAY,YAAY;QACtB,OAAQ,IAAkD,CAAC,MAAM,CAAA;IACnE,CAAC;IAED,gBAAgB;IAChB,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzD,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,cAAc,GAAG,IAAI;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;QACvG,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAsE,CAAA;QAC3F,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAC5E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,mBAAmB,CAAe,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAC3D,KAAK,EACL,SAAS,EACT;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAC7B,EACD,IAAI,CAAC,WAAW,CACjB,CAAA;QACD,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;QACpD,OAAO,KAAoC,CAAA;IAC7C,CAAC;IAED,UAAU,CAAC,MAAiF;QAC1F,IAAI,CAAC,WAAW;YACd,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;gBACrD,CAAC,CAAC,MAAM,KAAK,KAAK;oBAChB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;oBACpB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,GAAG,GAAuC,CAAC,iBAAiB,EAAE,EAAE;QAC9D,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,GAAG,GAAuC,CAAC,iBAAiB,EAAE,EAAE;QAC9D,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,GAAG,GAAuC,CAAC,iBAAiB,EAAE,EAAE;QAC9D,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,GAA0C,CAAC,iBAAiB,EAAE,EAAE;QACpE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAClD,CAAC,CAAA;IAED,OAAO,GAA2C,CAAC,iBAAiB,EAAE,EAAE;QACtE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACnD,CAAC,CAAA;;AAGH,kBAAkB,CAAC,sBAAsB,CAAC,CAAA"}