@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.
- package/dist/effect-sqlite/driver.d.ts +44 -0
- package/dist/effect-sqlite/driver.d.ts.map +1 -0
- package/dist/effect-sqlite/driver.js +55 -0
- package/dist/effect-sqlite/driver.js.map +1 -0
- package/dist/effect-sqlite/index.d.ts +4 -0
- package/dist/effect-sqlite/index.d.ts.map +1 -0
- package/dist/effect-sqlite/index.js +5 -0
- package/dist/effect-sqlite/index.js.map +1 -0
- package/dist/effect-sqlite/migrator.d.ts +5 -0
- package/dist/effect-sqlite/migrator.d.ts.map +1 -0
- package/dist/effect-sqlite/migrator.js +7 -0
- package/dist/effect-sqlite/migrator.js.map +1 -0
- package/dist/effect-sqlite/session.d.ts +48 -0
- package/dist/effect-sqlite/session.d.ts.map +1 -0
- package/dist/effect-sqlite/session.js +78 -0
- package/dist/effect-sqlite/session.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/drizzle-utils.d.ts +21 -0
- package/dist/internal/drizzle-utils.d.ts.map +1 -0
- package/dist/internal/drizzle-utils.js +96 -0
- package/dist/internal/drizzle-utils.js.map +1 -0
- package/dist/sqlite-core/effect/count.d.ts +21 -0
- package/dist/sqlite-core/effect/count.d.ts.map +1 -0
- package/dist/sqlite-core/effect/count.js +31 -0
- package/dist/sqlite-core/effect/count.js.map +1 -0
- package/dist/sqlite-core/effect/db.d.ts +83 -0
- package/dist/sqlite-core/effect/db.d.ts.map +1 -0
- package/dist/sqlite-core/effect/db.js +168 -0
- package/dist/sqlite-core/effect/db.js.map +1 -0
- package/dist/sqlite-core/effect/delete.d.ts +70 -0
- package/dist/sqlite-core/effect/delete.d.ts.map +1 -0
- package/dist/sqlite-core/effect/delete.js +77 -0
- package/dist/sqlite-core/effect/delete.js.map +1 -0
- package/dist/sqlite-core/effect/index.d.ts +10 -0
- package/dist/sqlite-core/effect/index.d.ts.map +1 -0
- package/dist/sqlite-core/effect/index.js +11 -0
- package/dist/sqlite-core/effect/index.js.map +1 -0
- package/dist/sqlite-core/effect/insert.d.ts +96 -0
- package/dist/sqlite-core/effect/insert.d.ts.map +1 -0
- package/dist/sqlite-core/effect/insert.js +124 -0
- package/dist/sqlite-core/effect/insert.js.map +1 -0
- package/dist/sqlite-core/effect/query.d.ts +64 -0
- package/dist/sqlite-core/effect/query.d.ts.map +1 -0
- package/dist/sqlite-core/effect/query.js +105 -0
- package/dist/sqlite-core/effect/query.js.map +1 -0
- package/dist/sqlite-core/effect/raw.d.ts +33 -0
- package/dist/sqlite-core/effect/raw.d.ts.map +1 -0
- package/dist/sqlite-core/effect/raw.js +30 -0
- package/dist/sqlite-core/effect/raw.js.map +1 -0
- package/dist/sqlite-core/effect/select.d.ts +65 -0
- package/dist/sqlite-core/effect/select.d.ts.map +1 -0
- package/dist/sqlite-core/effect/select.js +106 -0
- package/dist/sqlite-core/effect/select.js.map +1 -0
- package/dist/sqlite-core/effect/session.d.ts +89 -0
- package/dist/sqlite-core/effect/session.d.ts.map +1 -0
- package/dist/sqlite-core/effect/session.js +280 -0
- package/dist/sqlite-core/effect/session.js.map +1 -0
- package/dist/sqlite-core/effect/update.d.ts +91 -0
- package/dist/sqlite-core/effect/update.d.ts.map +1 -0
- package/dist/sqlite-core/effect/update.js +125 -0
- package/dist/sqlite-core/effect/update.js.map +1 -0
- package/dist/up-migrations/effect-sqlite.d.ts +9 -0
- package/dist/up-migrations/effect-sqlite.d.ts.map +1 -0
- package/dist/up-migrations/effect-sqlite.js +50 -0
- package/dist/up-migrations/effect-sqlite.js.map +1 -0
- package/dist/up-migrations/sqlite.d.ts +54 -0
- package/dist/up-migrations/sqlite.d.ts.map +1 -0
- package/dist/up-migrations/sqlite.js +152 -0
- package/dist/up-migrations/sqlite.js.map +1 -0
- package/dist/up-migrations/utils.d.ts +22 -0
- package/dist/up-migrations/utils.d.ts.map +1 -0
- package/dist/up-migrations/utils.js +47 -0
- package/dist/up-migrations/utils.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type { SqlError } from "effect/unstable/sql/SqlError";
|
|
3
|
+
import type { EffectCacheShape } from "drizzle-orm/cache/core/cache-effect";
|
|
4
|
+
import type { WithCacheConfig } from "drizzle-orm/cache/core/types";
|
|
5
|
+
import { MigratorInitError } from "drizzle-orm/effect-core/errors";
|
|
6
|
+
import { EffectTransactionRollbackError } from "drizzle-orm/effect-core/errors";
|
|
7
|
+
import type { EffectLoggerShape } from "drizzle-orm/effect-core/logger";
|
|
8
|
+
import type { QueryEffectHKTBase, QueryEffectKind } from "drizzle-orm/effect-core/query-effect";
|
|
9
|
+
import { entityKind } from "drizzle-orm/entity";
|
|
10
|
+
import type { MigrationConfig, MigrationMeta } from "drizzle-orm/migrator";
|
|
11
|
+
import type { AnyRelations, EmptyRelations, RelationalQueryMapperConfig } from "drizzle-orm/relations";
|
|
12
|
+
import type { PreparedQuery } from "drizzle-orm/session";
|
|
13
|
+
import { type Query, type SQL } from "drizzle-orm/sql/sql";
|
|
14
|
+
import type { SQLiteAsyncDialect } from "drizzle-orm/sqlite-core/dialect";
|
|
15
|
+
import type { SelectedFieldsOrdered } from "drizzle-orm/sqlite-core/query-builders/select.types";
|
|
16
|
+
import type { PreparedQueryConfig, SQLiteExecuteMethod, SQLiteTransactionConfig } from "drizzle-orm/sqlite-core/session";
|
|
17
|
+
import { SQLiteEffectDatabase } from "./db";
|
|
18
|
+
type MigrationConfigWithInit = MigrationConfig & {
|
|
19
|
+
init?: boolean;
|
|
20
|
+
};
|
|
21
|
+
type SQLiteEffectExecuteMethod = SQLiteExecuteMethod | "values";
|
|
22
|
+
export declare class SQLiteEffectPreparedQuery<T extends PreparedQueryConfig, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, TIsRqbV2 extends boolean = false> implements PreparedQuery {
|
|
23
|
+
private executor;
|
|
24
|
+
protected query: Query;
|
|
25
|
+
private logger;
|
|
26
|
+
private cache;
|
|
27
|
+
private queryMetadata;
|
|
28
|
+
private fields;
|
|
29
|
+
private useJitMappers;
|
|
30
|
+
private customResultMapper?;
|
|
31
|
+
private isRqbV2Query?;
|
|
32
|
+
private rqbConfig?;
|
|
33
|
+
private isInTransaction;
|
|
34
|
+
static readonly [entityKind]: string;
|
|
35
|
+
/** @internal */
|
|
36
|
+
joinsNotNullableMap?: Record<string, boolean>;
|
|
37
|
+
private jitMapper?;
|
|
38
|
+
private cacheConfig;
|
|
39
|
+
private effectExecuteMethod;
|
|
40
|
+
constructor(executor: (params: unknown[], executeMethod: SQLiteEffectExecuteMethod) => Effect.Effect<unknown, unknown, unknown>, query: Query, logger: EffectLoggerShape, cache: EffectCacheShape, queryMetadata: {
|
|
41
|
+
type: "select" | "update" | "delete" | "insert";
|
|
42
|
+
tables: string[];
|
|
43
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, useJitMappers: boolean | undefined, customResultMapper?: (rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown, isRqbV2Query?: TIsRqbV2, rqbConfig?: RelationalQueryMapperConfig, isInTransaction?: Effect.Effect<boolean>);
|
|
44
|
+
run(placeholderValues?: Record<string, unknown>): QueryEffectKind<TEffectHKT, T["run"]>;
|
|
45
|
+
all(placeholderValues?: Record<string, unknown>): QueryEffectKind<TEffectHKT, T["all"]>;
|
|
46
|
+
get(placeholderValues?: Record<string, unknown>): QueryEffectKind<TEffectHKT, T["get"]>;
|
|
47
|
+
values(placeholderValues?: Record<string, unknown>): QueryEffectKind<TEffectHKT, T["values"]>;
|
|
48
|
+
execute(placeholderValues?: Record<string, unknown>): QueryEffectKind<TEffectHKT, T["execute"]>;
|
|
49
|
+
mapRunResult(result: unknown, _isFromBatch?: boolean): unknown;
|
|
50
|
+
mapAllResult(rows: unknown, isFromBatch?: boolean): unknown;
|
|
51
|
+
mapGetResult(rows: unknown, isFromBatch?: boolean): unknown;
|
|
52
|
+
private allRqbV2;
|
|
53
|
+
private getRqbV2;
|
|
54
|
+
private executeWithCache;
|
|
55
|
+
private mapCachedResult;
|
|
56
|
+
private queryWithCache;
|
|
57
|
+
getQuery(): Query;
|
|
58
|
+
mapResult(response: unknown, isFromBatch?: boolean): unknown;
|
|
59
|
+
}
|
|
60
|
+
export declare abstract class SQLiteEffectSession<TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase, TRunResult = unknown, TRelations extends AnyRelations = EmptyRelations> {
|
|
61
|
+
readonly dialect: SQLiteAsyncDialect;
|
|
62
|
+
static readonly [entityKind]: string;
|
|
63
|
+
constructor(dialect: SQLiteAsyncDialect);
|
|
64
|
+
abstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown, queryMetadata?: {
|
|
65
|
+
type: "select" | "update" | "delete" | "insert";
|
|
66
|
+
tables: string[];
|
|
67
|
+
}, cacheConfig?: WithCacheConfig): SQLiteEffectPreparedQuery<T, TEffectHKT>;
|
|
68
|
+
prepareOneTimeQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown, queryMetadata?: {
|
|
69
|
+
type: "select" | "update" | "delete" | "insert";
|
|
70
|
+
tables: string[];
|
|
71
|
+
}, cacheConfig?: WithCacheConfig): SQLiteEffectPreparedQuery<T, TEffectHKT>;
|
|
72
|
+
abstract prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[], mapColumnValue?: (value: unknown) => unknown) => unknown, config: RelationalQueryMapperConfig): SQLiteEffectPreparedQuery<T, TEffectHKT, true>;
|
|
73
|
+
prepareOneTimeRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[], mapColumnValue?: (value: unknown) => unknown) => unknown, config: RelationalQueryMapperConfig): SQLiteEffectPreparedQuery<T, TEffectHKT, true>;
|
|
74
|
+
run(query: SQL): QueryEffectKind<TEffectHKT, TRunResult>;
|
|
75
|
+
all<T = unknown>(query: SQL): QueryEffectKind<TEffectHKT, T[]>;
|
|
76
|
+
get<T = unknown>(query: SQL): QueryEffectKind<TEffectHKT, T | undefined>;
|
|
77
|
+
values<T extends unknown[] = unknown[]>(query: SQL): QueryEffectKind<TEffectHKT, T[]>;
|
|
78
|
+
count(query: SQL): QueryEffectKind<TEffectHKT, number>;
|
|
79
|
+
abstract transaction<A, E, R>(transaction: (tx: SQLiteEffectTransaction<TEffectHKT, TRunResult, TRelations>) => Effect.Effect<A, E, R>, config?: SQLiteTransactionConfig): Effect.Effect<A, E | SqlError, R>;
|
|
80
|
+
}
|
|
81
|
+
export declare abstract class SQLiteEffectTransaction<TEffectHKT extends QueryEffectHKTBase, TRunResult, TRelations extends AnyRelations = EmptyRelations> extends SQLiteEffectDatabase<TEffectHKT, TRunResult, TRelations> {
|
|
82
|
+
protected relations: TRelations;
|
|
83
|
+
static readonly [entityKind]: string;
|
|
84
|
+
constructor(dialect: SQLiteAsyncDialect, session: SQLiteEffectSession<TEffectHKT, TRunResult, TRelations>, relations: TRelations);
|
|
85
|
+
rollback(): EffectTransactionRollbackError;
|
|
86
|
+
}
|
|
87
|
+
export declare const migrate: <TEffectHKT extends QueryEffectHKTBase>(migrations: MigrationMeta[], session: SQLiteEffectSession<TEffectHKT, unknown, EmptyRelations>, config: string | MigrationConfigWithInit) => Effect.Effect<never, MigratorInitError | import("drizzle-orm/effect-core").EffectDrizzleError | SqlError | TEffectHKT["error"], TEffectHKT["context"]>;
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/sqlite-core/effect/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/* oxlint-disable */
|
|
2
|
+
import * as Cause from "effect/Cause";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import { NoopCache, strategyFor } from "drizzle-orm/cache/core/cache";
|
|
5
|
+
import { MigratorInitError } from "drizzle-orm/effect-core/errors";
|
|
6
|
+
import { EffectDrizzleQueryError, EffectTransactionRollbackError } from "drizzle-orm/effect-core/errors";
|
|
7
|
+
import { entityKind, is } from "drizzle-orm/entity";
|
|
8
|
+
import { getMigrationsToRun } from "drizzle-orm/migrator.utils";
|
|
9
|
+
import { makeJitRqbMapper } from "drizzle-orm/relations";
|
|
10
|
+
import { fillPlaceholders, sql } from "drizzle-orm/sql/sql";
|
|
11
|
+
import { upgradeIfNeeded } from "../../up-migrations/effect-sqlite";
|
|
12
|
+
import { assertUnreachable, makeJitQueryMapper } from "drizzle-orm/utils";
|
|
13
|
+
import { mapResultRow } from "../../internal/drizzle-utils";
|
|
14
|
+
import { SQLiteEffectDatabase } from "./db";
|
|
15
|
+
export class SQLiteEffectPreparedQuery {
|
|
16
|
+
executor;
|
|
17
|
+
query;
|
|
18
|
+
logger;
|
|
19
|
+
cache;
|
|
20
|
+
queryMetadata;
|
|
21
|
+
fields;
|
|
22
|
+
useJitMappers;
|
|
23
|
+
customResultMapper;
|
|
24
|
+
isRqbV2Query;
|
|
25
|
+
rqbConfig;
|
|
26
|
+
isInTransaction;
|
|
27
|
+
static [entityKind] = "SQLiteEffectPreparedQuery";
|
|
28
|
+
/** @internal */
|
|
29
|
+
joinsNotNullableMap;
|
|
30
|
+
jitMapper;
|
|
31
|
+
cacheConfig;
|
|
32
|
+
effectExecuteMethod;
|
|
33
|
+
constructor(executor, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMappers, customResultMapper, isRqbV2Query, rqbConfig, isInTransaction = Effect.succeed(false)) {
|
|
34
|
+
this.executor = executor;
|
|
35
|
+
this.query = query;
|
|
36
|
+
this.logger = logger;
|
|
37
|
+
this.cache = cache;
|
|
38
|
+
this.queryMetadata = queryMetadata;
|
|
39
|
+
this.fields = fields;
|
|
40
|
+
this.useJitMappers = useJitMappers;
|
|
41
|
+
this.customResultMapper = customResultMapper;
|
|
42
|
+
this.isRqbV2Query = isRqbV2Query;
|
|
43
|
+
this.rqbConfig = rqbConfig;
|
|
44
|
+
this.isInTransaction = isInTransaction;
|
|
45
|
+
this.effectExecuteMethod = executeMethod;
|
|
46
|
+
this.cacheConfig =
|
|
47
|
+
cache.strategy() === "all" && cacheConfig === undefined ? { enabled: true, autoInvalidate: true } : cacheConfig;
|
|
48
|
+
if (!this.cacheConfig?.enabled) {
|
|
49
|
+
this.cacheConfig = undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
run(placeholderValues) {
|
|
53
|
+
return this.executeWithCache(placeholderValues, "run");
|
|
54
|
+
}
|
|
55
|
+
all(placeholderValues) {
|
|
56
|
+
if (this.isRqbV2Query)
|
|
57
|
+
return this.allRqbV2(placeholderValues);
|
|
58
|
+
if (!this.fields && !this.customResultMapper) {
|
|
59
|
+
return this.executeWithCache(placeholderValues, "all");
|
|
60
|
+
}
|
|
61
|
+
return this.executeWithCache(placeholderValues, "values", (rows) => this.mapAllResult(rows));
|
|
62
|
+
}
|
|
63
|
+
get(placeholderValues) {
|
|
64
|
+
if (this.isRqbV2Query)
|
|
65
|
+
return this.getRqbV2(placeholderValues);
|
|
66
|
+
if (!this.fields && !this.customResultMapper) {
|
|
67
|
+
return this.executeWithCache(placeholderValues, "get");
|
|
68
|
+
}
|
|
69
|
+
return this.executeWithCache(placeholderValues, "values", (rows) => this.mapGetResult(rows));
|
|
70
|
+
}
|
|
71
|
+
values(placeholderValues) {
|
|
72
|
+
return this.executeWithCache(placeholderValues, "values");
|
|
73
|
+
}
|
|
74
|
+
execute(placeholderValues) {
|
|
75
|
+
return this[this.effectExecuteMethod](placeholderValues);
|
|
76
|
+
}
|
|
77
|
+
mapRunResult(result, _isFromBatch) {
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
mapAllResult(rows, isFromBatch) {
|
|
81
|
+
if (isFromBatch) {
|
|
82
|
+
rows = Array.isArray(rows) ? rows : [];
|
|
83
|
+
}
|
|
84
|
+
if (!this.fields && !this.customResultMapper) {
|
|
85
|
+
return rows;
|
|
86
|
+
}
|
|
87
|
+
if (this.isRqbV2Query) {
|
|
88
|
+
return this.useJitMappers
|
|
89
|
+
? (this.jitMapper =
|
|
90
|
+
this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(rows)
|
|
91
|
+
: this.customResultMapper(rows);
|
|
92
|
+
}
|
|
93
|
+
if (this.customResultMapper) {
|
|
94
|
+
return this.customResultMapper(rows);
|
|
95
|
+
}
|
|
96
|
+
return this.useJitMappers
|
|
97
|
+
? (this.jitMapper =
|
|
98
|
+
this.jitMapper ??
|
|
99
|
+
makeJitQueryMapper(this.fields, this.joinsNotNullableMap))(rows)
|
|
100
|
+
: rows.map((row) => mapResultRow(this.fields, row, this.joinsNotNullableMap));
|
|
101
|
+
}
|
|
102
|
+
mapGetResult(rows, isFromBatch) {
|
|
103
|
+
if (isFromBatch) {
|
|
104
|
+
rows = Array.isArray(rows) ? rows : [];
|
|
105
|
+
}
|
|
106
|
+
if (!this.fields && !this.customResultMapper) {
|
|
107
|
+
return Array.isArray(rows) ? rows[0] : rows;
|
|
108
|
+
}
|
|
109
|
+
const row = Array.isArray(rows) ? rows[0] : rows;
|
|
110
|
+
if (!row)
|
|
111
|
+
return undefined;
|
|
112
|
+
if (this.isRqbV2Query) {
|
|
113
|
+
return this.useJitMappers
|
|
114
|
+
? (this.jitMapper =
|
|
115
|
+
this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))([
|
|
116
|
+
row,
|
|
117
|
+
])
|
|
118
|
+
: this.customResultMapper([row]);
|
|
119
|
+
}
|
|
120
|
+
if (this.customResultMapper) {
|
|
121
|
+
return this.customResultMapper([row]);
|
|
122
|
+
}
|
|
123
|
+
return this.useJitMappers
|
|
124
|
+
? (this.jitMapper =
|
|
125
|
+
this.jitMapper ??
|
|
126
|
+
makeJitQueryMapper(this.fields, this.joinsNotNullableMap))([row])[0]
|
|
127
|
+
: mapResultRow(this.fields, row, this.joinsNotNullableMap);
|
|
128
|
+
}
|
|
129
|
+
allRqbV2(placeholderValues) {
|
|
130
|
+
return this.executeWithCache(placeholderValues, "all", (rows) => this.mapAllResult(rows));
|
|
131
|
+
}
|
|
132
|
+
getRqbV2(placeholderValues) {
|
|
133
|
+
return this.executeWithCache(placeholderValues, "get", (row) => row === undefined ? undefined : this.mapGetResult(row));
|
|
134
|
+
}
|
|
135
|
+
executeWithCache(placeholderValues, executeMethod, mapResult) {
|
|
136
|
+
return Effect.gen({ self: this }, function* () {
|
|
137
|
+
const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
|
|
138
|
+
yield* this.logger.logQuery(this.query.sql, params);
|
|
139
|
+
return yield* this.queryWithCache(this.query.sql, params, Effect.suspend(() => this.executor(params, executeMethod)), mapResult);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
mapCachedResult(result, mapResult) {
|
|
143
|
+
if (!mapResult)
|
|
144
|
+
return Effect.succeed(result);
|
|
145
|
+
return Effect.try({
|
|
146
|
+
try: () => mapResult(result),
|
|
147
|
+
catch: (cause) => cause,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
queryWithCache(queryString, params, query, mapResult) {
|
|
151
|
+
return Effect.gen({ self: this }, function* () {
|
|
152
|
+
if (this.queryMetadata?.type === "select" && this.cacheConfig?.enabled && (yield* this.isInTransaction)) {
|
|
153
|
+
return yield* this.mapCachedResult(yield* query, mapResult);
|
|
154
|
+
}
|
|
155
|
+
const cacheStrat = !is(this.cache.cache, NoopCache)
|
|
156
|
+
? yield* Effect.tryPromise(() => strategyFor(queryString, params, this.queryMetadata, this.cacheConfig))
|
|
157
|
+
: { type: "skip" };
|
|
158
|
+
if (cacheStrat.type === "skip") {
|
|
159
|
+
return yield* this.mapCachedResult(yield* query, mapResult);
|
|
160
|
+
}
|
|
161
|
+
if (cacheStrat.type === "invalidate") {
|
|
162
|
+
const result = yield* query;
|
|
163
|
+
yield* this.cache.onMutate({ tables: cacheStrat.tables });
|
|
164
|
+
return yield* this.mapCachedResult(result, mapResult);
|
|
165
|
+
}
|
|
166
|
+
if (cacheStrat.type === "try") {
|
|
167
|
+
if (yield* this.isInTransaction) {
|
|
168
|
+
return yield* this.mapCachedResult(yield* query, mapResult);
|
|
169
|
+
}
|
|
170
|
+
const { tables, key, isTag, autoInvalidate, config } = cacheStrat;
|
|
171
|
+
const fromCache = yield* this.cache.get(key, tables, isTag, autoInvalidate);
|
|
172
|
+
if (typeof fromCache !== "undefined") {
|
|
173
|
+
return yield* this.mapCachedResult(fromCache, mapResult);
|
|
174
|
+
}
|
|
175
|
+
const result = yield* query;
|
|
176
|
+
yield* this.cache.put(key, result, autoInvalidate ? tables : [], isTag, config);
|
|
177
|
+
return yield* this.mapCachedResult(result, mapResult);
|
|
178
|
+
}
|
|
179
|
+
assertUnreachable(cacheStrat);
|
|
180
|
+
}).pipe(Effect.catch((e) => {
|
|
181
|
+
return Effect.fail(new EffectDrizzleQueryError({ query: queryString, params, cause: Cause.fail(e) }));
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
getQuery() {
|
|
185
|
+
return this.query;
|
|
186
|
+
}
|
|
187
|
+
mapResult(response, isFromBatch) {
|
|
188
|
+
switch (this.effectExecuteMethod) {
|
|
189
|
+
case "run": {
|
|
190
|
+
return this.mapRunResult(response, isFromBatch);
|
|
191
|
+
}
|
|
192
|
+
case "all": {
|
|
193
|
+
return this.mapAllResult(response, isFromBatch);
|
|
194
|
+
}
|
|
195
|
+
case "get": {
|
|
196
|
+
return this.mapGetResult(response, isFromBatch);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export class SQLiteEffectSession {
|
|
202
|
+
dialect;
|
|
203
|
+
static [entityKind] = "SQLiteEffectSession";
|
|
204
|
+
constructor(dialect) {
|
|
205
|
+
this.dialect = dialect;
|
|
206
|
+
}
|
|
207
|
+
prepareOneTimeQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig) {
|
|
208
|
+
return this.prepareQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig);
|
|
209
|
+
}
|
|
210
|
+
prepareOneTimeRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
|
|
211
|
+
return this.prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config);
|
|
212
|
+
}
|
|
213
|
+
run(query) {
|
|
214
|
+
return this.prepareQuery(this.dialect.sqlToQuery(query), undefined, "run").run();
|
|
215
|
+
}
|
|
216
|
+
all(query) {
|
|
217
|
+
return this.prepareQuery(this.dialect.sqlToQuery(query), undefined, "all").all();
|
|
218
|
+
}
|
|
219
|
+
get(query) {
|
|
220
|
+
return this.prepareQuery(this.dialect.sqlToQuery(query), undefined, "get").get();
|
|
221
|
+
}
|
|
222
|
+
values(query) {
|
|
223
|
+
return this.prepareQuery(this.dialect.sqlToQuery(query), undefined, "all").values();
|
|
224
|
+
}
|
|
225
|
+
count(query) {
|
|
226
|
+
return this.values(query).pipe(Effect.map((result) => result[0]?.[0] ?? 0));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
export class SQLiteEffectTransaction extends SQLiteEffectDatabase {
|
|
230
|
+
relations;
|
|
231
|
+
static [entityKind] = "SQLiteEffectTransaction";
|
|
232
|
+
constructor(dialect, session, relations) {
|
|
233
|
+
super(dialect, session, relations);
|
|
234
|
+
this.relations = relations;
|
|
235
|
+
}
|
|
236
|
+
rollback() {
|
|
237
|
+
return new EffectTransactionRollbackError();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
export const migrate = Effect.fn("migrate")(function* (migrations, session, config) {
|
|
241
|
+
const migrationsTable = typeof config === "string" ? "__drizzle_migrations" : (config.migrationsTable ?? "__drizzle_migrations");
|
|
242
|
+
const { newDb } = yield* upgradeIfNeeded(migrationsTable, session, migrations);
|
|
243
|
+
if (newDb) {
|
|
244
|
+
yield* session.run(sql `
|
|
245
|
+
CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
|
|
246
|
+
id INTEGER PRIMARY KEY,
|
|
247
|
+
hash text NOT NULL,
|
|
248
|
+
created_at numeric,
|
|
249
|
+
name text,
|
|
250
|
+
applied_at TEXT
|
|
251
|
+
)
|
|
252
|
+
`);
|
|
253
|
+
}
|
|
254
|
+
const dbMigrations = yield* session.all(sql `SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`);
|
|
255
|
+
if (typeof config === "object" && config.init) {
|
|
256
|
+
if (dbMigrations.length) {
|
|
257
|
+
return yield* new MigratorInitError({ exitCode: "databaseMigrations" });
|
|
258
|
+
}
|
|
259
|
+
if (migrations.length > 1) {
|
|
260
|
+
return yield* new MigratorInitError({ exitCode: "localMigrations" });
|
|
261
|
+
}
|
|
262
|
+
const [migration] = migrations;
|
|
263
|
+
if (!migration)
|
|
264
|
+
return;
|
|
265
|
+
yield* session.run(sql `insert into ${sql.identifier(migrationsTable)} ("hash", "created_at", "name", "applied_at") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${new Date().toISOString()})`);
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
const migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });
|
|
269
|
+
if (migrationsToRun.length === 0)
|
|
270
|
+
return;
|
|
271
|
+
yield* session.transaction((tx) => Effect.gen(function* () {
|
|
272
|
+
for (const migration of migrationsToRun) {
|
|
273
|
+
for (const stmt of migration.sql) {
|
|
274
|
+
yield* tx.run(sql.raw(stmt));
|
|
275
|
+
}
|
|
276
|
+
yield* tx.run(sql `insert into ${sql.identifier(migrationsTable)} ("hash", "created_at", "name", "applied_at") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${new Date().toISOString()})`);
|
|
277
|
+
}
|
|
278
|
+
}));
|
|
279
|
+
});
|
|
280
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/sqlite-core/effect/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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 { SelectResultFields } from "drizzle-orm/query-builders/select.types";
|
|
5
|
+
import type { RunnableQuery } from "drizzle-orm/runnable-query";
|
|
6
|
+
import type { Placeholder, Query, SQL, SQLWrapper } from "drizzle-orm/sql/sql";
|
|
7
|
+
import type { SQLiteDialect } from "drizzle-orm/sqlite-core/dialect";
|
|
8
|
+
import type { SelectedFields } from "drizzle-orm/sqlite-core/query-builders/select.types";
|
|
9
|
+
import type { SQLiteUpdateConfig, SQLiteUpdateSetSource } from "drizzle-orm/sqlite-core/query-builders/update";
|
|
10
|
+
import type { PreparedQueryConfig } from "drizzle-orm/sqlite-core/session";
|
|
11
|
+
import { 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 DrizzleTypeError, type UpdateSet, type ValueOrArray } from "drizzle-orm/utils";
|
|
15
|
+
import type { SQLiteColumn } from "drizzle-orm/sqlite-core/columns/common";
|
|
16
|
+
import type { SQLiteEffectPreparedQuery, SQLiteEffectSession } from "./session";
|
|
17
|
+
export type SQLiteEffectUpdateWithout<T extends AnySQLiteEffectUpdate, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<SQLiteEffectUpdateBase<T["_"]["table"], T["_"]["runResult"], T["_"]["from"], T["_"]["returning"], TDynamic, T["_"]["excludedMethods"] | K, T["_"]["effectHKT"]>, T["_"]["excludedMethods"] | K>;
|
|
18
|
+
export type SQLiteEffectUpdateWithJoins<T extends AnySQLiteEffectUpdate, TDynamic extends boolean, TFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL> = TDynamic extends true ? T : Omit<SQLiteEffectUpdateBase<T["_"]["table"], T["_"]["runResult"], TFrom, T["_"]["returning"], TDynamic, Exclude<T["_"]["excludedMethods"] | "from", "leftJoin" | "rightJoin" | "innerJoin" | "fullJoin">, T["_"]["effectHKT"]>, Exclude<T["_"]["excludedMethods"] | "from", "leftJoin" | "rightJoin" | "innerJoin" | "fullJoin">>;
|
|
19
|
+
export type SQLiteEffectUpdateReturningAll<T extends AnySQLiteEffectUpdate, TDynamic extends boolean> = SQLiteEffectUpdateWithout<SQLiteEffectUpdateBase<T["_"]["table"], T["_"]["runResult"], T["_"]["from"], T["_"]["table"]["$inferSelect"], TDynamic, T["_"]["excludedMethods"], T["_"]["effectHKT"]>, TDynamic, "returning">;
|
|
20
|
+
export type SQLiteEffectUpdateReturning<T extends AnySQLiteEffectUpdate, TDynamic extends boolean, TSelectedFields extends SelectedFields> = SQLiteEffectUpdateWithout<SQLiteEffectUpdateBase<T["_"]["table"], T["_"]["runResult"], T["_"]["from"], SelectResultFields<TSelectedFields>, TDynamic, T["_"]["excludedMethods"], T["_"]["effectHKT"]>, TDynamic, "returning">;
|
|
21
|
+
export type SQLiteEffectUpdateExecute<T extends AnySQLiteEffectUpdate> = T["_"]["returning"] extends undefined ? T["_"]["runResult"] : T["_"]["returning"][];
|
|
22
|
+
export type SQLiteEffectUpdatePrepare<T extends AnySQLiteEffectUpdate, TEffectHKT extends QueryEffectHKTBase = T["_"]["effectHKT"]> = SQLiteEffectPreparedQuery<PreparedQueryConfig & {
|
|
23
|
+
run: T["_"]["runResult"];
|
|
24
|
+
all: T["_"]["returning"] extends undefined ? DrizzleTypeError<".all() cannot be used without .returning()"> : T["_"]["returning"][];
|
|
25
|
+
get: T["_"]["returning"] extends undefined ? DrizzleTypeError<".get() cannot be used without .returning()"> : T["_"]["returning"];
|
|
26
|
+
values: T["_"]["returning"] extends undefined ? DrizzleTypeError<".values() cannot be used without .returning()"> : any[][];
|
|
27
|
+
execute: SQLiteEffectUpdateExecute<T>;
|
|
28
|
+
}, TEffectHKT>;
|
|
29
|
+
export type SQLiteEffectUpdateDynamic<T extends AnySQLiteEffectUpdate> = SQLiteEffectUpdate<T["_"]["table"], T["_"]["runResult"], T["_"]["from"], T["_"]["returning"], T["_"]["effectHKT"]>;
|
|
30
|
+
export type SQLiteEffectUpdate<TTable extends SQLiteTable = SQLiteTable, TRunResult = unknown, TFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined, TReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> = SQLiteEffectUpdateBase<TTable, TRunResult, TFrom, TReturning, true, never, TEffectHKT>;
|
|
31
|
+
export type AnySQLiteEffectUpdate = SQLiteEffectUpdateBase<any, any, any, any, any, any, any>;
|
|
32
|
+
export type SQLiteEffectUpdateJoinFn<T extends AnySQLiteEffectUpdate> = <TJoinedTable extends SQLiteTable | Subquery | SQLiteViewBase | SQL>(table: TJoinedTable, on: ((updateTable: T["_"]["table"]["_"]["columns"], from: T["_"]["from"] extends SQLiteTable ? T["_"]["from"]["_"]["columns"] : T["_"]["from"] extends Subquery | SQLiteViewBase ? T["_"]["from"]["_"]["selectedFields"] : never) => SQL | undefined) | SQL | undefined) => T;
|
|
33
|
+
export declare class SQLiteEffectUpdateBuilder<TTable extends SQLiteTable, TRunResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> {
|
|
34
|
+
protected table: TTable;
|
|
35
|
+
protected session: SQLiteEffectSession<TEffectHKT, TRunResult, any>;
|
|
36
|
+
protected dialect: SQLiteDialect;
|
|
37
|
+
private withList?;
|
|
38
|
+
static readonly [entityKind]: string;
|
|
39
|
+
readonly _: {
|
|
40
|
+
readonly table: TTable;
|
|
41
|
+
};
|
|
42
|
+
constructor(table: TTable, session: SQLiteEffectSession<TEffectHKT, TRunResult, any>, dialect: SQLiteDialect, withList?: Subquery[]);
|
|
43
|
+
set(values: SQLiteUpdateSetSource<TTable>): SQLiteEffectUpdateWithout<SQLiteEffectUpdateBase<TTable, TRunResult, undefined, undefined, false, never, TEffectHKT>, false, "leftJoin" | "rightJoin" | "innerJoin" | "fullJoin">;
|
|
44
|
+
}
|
|
45
|
+
export interface SQLiteEffectUpdateBase<TTable extends SQLiteTable = SQLiteTable, TRunResult = unknown, TFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined, TReturning = undefined, TDynamic extends boolean = false, _TExcludedMethods extends string = never, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends SQLWrapper, RunnableQuery<TReturning extends undefined ? TRunResult : TReturning[], "sqlite">, Effect.Effect<TReturning extends undefined ? TRunResult : TReturning[], TEffectHKT["error"], TEffectHKT["context"]> {
|
|
46
|
+
readonly _: {
|
|
47
|
+
readonly dialect: "sqlite";
|
|
48
|
+
readonly table: TTable;
|
|
49
|
+
readonly resultType: "async";
|
|
50
|
+
readonly runResult: TRunResult;
|
|
51
|
+
readonly from: TFrom;
|
|
52
|
+
readonly returning: TReturning;
|
|
53
|
+
readonly dynamic: TDynamic;
|
|
54
|
+
readonly excludedMethods: _TExcludedMethods;
|
|
55
|
+
readonly result: TReturning extends undefined ? TRunResult : TReturning[];
|
|
56
|
+
readonly effectHKT: TEffectHKT;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export declare class SQLiteEffectUpdateBase<TTable extends SQLiteTable = SQLiteTable, TRunResult = unknown, TFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined, TReturning = undefined, TDynamic extends boolean = false, _TExcludedMethods extends string = never, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> implements RunnableQuery<TReturning extends undefined ? TRunResult : TReturning[], "sqlite">, SQLWrapper {
|
|
60
|
+
private effectSession;
|
|
61
|
+
private effectDialect;
|
|
62
|
+
static readonly [entityKind]: string;
|
|
63
|
+
/** @internal */
|
|
64
|
+
config: SQLiteUpdateConfig;
|
|
65
|
+
constructor(table: TTable, set: UpdateSet, effectSession: SQLiteEffectSession<TEffectHKT, TRunResult, any>, effectDialect: SQLiteDialect, withList?: Subquery[]);
|
|
66
|
+
from<TFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL>(source: TFrom): SQLiteEffectUpdateWithJoins<this, TDynamic, TFrom>;
|
|
67
|
+
private createJoin;
|
|
68
|
+
leftJoin: SQLiteEffectUpdateJoinFn<this>;
|
|
69
|
+
rightJoin: SQLiteEffectUpdateJoinFn<this>;
|
|
70
|
+
innerJoin: SQLiteEffectUpdateJoinFn<this>;
|
|
71
|
+
fullJoin: SQLiteEffectUpdateJoinFn<this>;
|
|
72
|
+
where(where: SQL | undefined): SQLiteEffectUpdateWithout<this, TDynamic, "where">;
|
|
73
|
+
orderBy(builder: (updateTable: TTable) => ValueOrArray<SQLiteColumn | SQL | SQL.Aliased>): SQLiteEffectUpdateWithout<this, TDynamic, "orderBy">;
|
|
74
|
+
orderBy(...columns: (SQLiteColumn | SQL | SQL.Aliased)[]): SQLiteEffectUpdateWithout<this, TDynamic, "orderBy">;
|
|
75
|
+
limit(limit: number | Placeholder): SQLiteEffectUpdateWithout<this, TDynamic, "limit">;
|
|
76
|
+
returning(): SQLiteEffectUpdateReturningAll<this, TDynamic>;
|
|
77
|
+
returning<TSelectedFields extends SelectedFields>(fields: TSelectedFields): SQLiteEffectUpdateReturning<this, TDynamic, TSelectedFields>;
|
|
78
|
+
/** @internal */
|
|
79
|
+
getSQL(): SQL;
|
|
80
|
+
toSQL(): Query;
|
|
81
|
+
/** @internal */
|
|
82
|
+
_prepare(isOneTimeQuery?: boolean): SQLiteEffectUpdatePrepare<this, TEffectHKT>;
|
|
83
|
+
prepare(): SQLiteEffectUpdatePrepare<this, TEffectHKT>;
|
|
84
|
+
run: ReturnType<this["prepare"]>["run"];
|
|
85
|
+
all: ReturnType<this["prepare"]>["all"];
|
|
86
|
+
get: ReturnType<this["prepare"]>["get"];
|
|
87
|
+
values: ReturnType<this["prepare"]>["values"];
|
|
88
|
+
execute: ReturnType<this["prepare"]>["execute"];
|
|
89
|
+
$dynamic(): SQLiteEffectUpdateDynamic<this>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/sqlite-core/effect/update.ts"],"names":[],"mappings":"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"}
|