@effect/sql-clickhouse 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ClickhouseClient/package.json +6 -0
- package/ClickhouseMigrator/package.json +6 -0
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/cjs/ClickhouseClient.js +258 -0
- package/dist/cjs/ClickhouseClient.js.map +1 -0
- package/dist/cjs/ClickhouseMigrator.js +61 -0
- package/dist/cjs/ClickhouseMigrator.js.map +1 -0
- package/dist/cjs/index.js +13 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/ClickhouseClient.d.ts +96 -0
- package/dist/dts/ClickhouseClient.d.ts.map +1 -0
- package/dist/dts/ClickhouseMigrator.d.ts +27 -0
- package/dist/dts/ClickhouseMigrator.d.ts.map +1 -0
- package/dist/dts/index.d.ts +9 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/ClickhouseClient.js +246 -0
- package/dist/esm/ClickhouseClient.js.map +1 -0
- package/dist/esm/ClickhouseMigrator.js +24 -0
- package/dist/esm/ClickhouseMigrator.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +56 -0
- package/src/ClickhouseClient.ts +361 -0
- package/src/ClickhouseMigrator.ts +42 -0
- package/src/index.ts +9 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023-present The Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeCompiler = exports.make = exports.layer = exports.currentQueryId = exports.currentClientMethod = exports.TypeId = exports.ClickhouseClient = void 0;
|
|
7
|
+
var Clickhouse = _interopRequireWildcard(require("@clickhouse/client"));
|
|
8
|
+
var NodeStream = _interopRequireWildcard(require("@effect/platform-node/NodeStream"));
|
|
9
|
+
var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
|
|
10
|
+
var _SqlError = require("@effect/sql/SqlError");
|
|
11
|
+
var Statement = _interopRequireWildcard(require("@effect/sql/Statement"));
|
|
12
|
+
var Otel = _interopRequireWildcard(require("@opentelemetry/semantic-conventions"));
|
|
13
|
+
var Chunk = _interopRequireWildcard(require("effect/Chunk"));
|
|
14
|
+
var Config = _interopRequireWildcard(require("effect/Config"));
|
|
15
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
16
|
+
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
17
|
+
var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
|
|
18
|
+
var _Function = require("effect/Function");
|
|
19
|
+
var _GlobalValue = require("effect/GlobalValue");
|
|
20
|
+
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
21
|
+
var Stream = _interopRequireWildcard(require("effect/Stream"));
|
|
22
|
+
var Crypto = _interopRequireWildcard(require("node:crypto"));
|
|
23
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @category type ids
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/sql-clickhouse/ClickhouseClient");
|
|
34
|
+
/**
|
|
35
|
+
* @category tags
|
|
36
|
+
* @since 1.0.0
|
|
37
|
+
*/
|
|
38
|
+
const ClickhouseClient = exports.ClickhouseClient = /*#__PURE__*/Context.GenericTag("@effect/sql-clickhouse/ClickhouseClient");
|
|
39
|
+
/**
|
|
40
|
+
* @category constructors
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
*/
|
|
43
|
+
const make = options => Effect.gen(function* (_) {
|
|
44
|
+
const compiler = makeCompiler(options.transformQueryNames);
|
|
45
|
+
const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : _Function.identity;
|
|
46
|
+
const client = Clickhouse.createClient(options);
|
|
47
|
+
yield* Effect.acquireRelease(Effect.tryPromise({
|
|
48
|
+
try: () => client.exec({
|
|
49
|
+
query: "SELECT 1"
|
|
50
|
+
}),
|
|
51
|
+
catch: cause => new _SqlError.SqlError({
|
|
52
|
+
cause,
|
|
53
|
+
message: "ClickhouseClient: Failed to connect"
|
|
54
|
+
})
|
|
55
|
+
}), () => Effect.promise(() => client.close()));
|
|
56
|
+
class ConnectionImpl {
|
|
57
|
+
conn;
|
|
58
|
+
constructor(conn) {
|
|
59
|
+
this.conn = conn;
|
|
60
|
+
}
|
|
61
|
+
runRaw(sql, params, format = "JSON") {
|
|
62
|
+
const paramsObj = {};
|
|
63
|
+
for (let i = 0; i < params.length; i++) {
|
|
64
|
+
paramsObj[`p${i + 1}`] = params[i];
|
|
65
|
+
}
|
|
66
|
+
return Effect.withFiberRuntime(fiber => {
|
|
67
|
+
const method = fiber.getFiberRef(currentClientMethod);
|
|
68
|
+
return Effect.async(resume => {
|
|
69
|
+
const queryId = fiber.getFiberRef(currentQueryId) ?? Crypto.randomUUID();
|
|
70
|
+
const controller = new AbortController();
|
|
71
|
+
if (method === "command") {
|
|
72
|
+
this.conn.command({
|
|
73
|
+
query: sql,
|
|
74
|
+
query_params: paramsObj,
|
|
75
|
+
abort_signal: controller.signal,
|
|
76
|
+
query_id: queryId
|
|
77
|
+
}).then(result => resume(Effect.succeed(result)), cause => resume(Effect.fail(new _SqlError.SqlError({
|
|
78
|
+
cause,
|
|
79
|
+
message: "Failed to execute statement"
|
|
80
|
+
}))));
|
|
81
|
+
} else {
|
|
82
|
+
this.conn.query({
|
|
83
|
+
query: sql,
|
|
84
|
+
query_params: paramsObj,
|
|
85
|
+
abort_signal: controller.signal,
|
|
86
|
+
query_id: queryId,
|
|
87
|
+
format
|
|
88
|
+
}).then(result => resume(Effect.succeed(result)), cause => resume(Effect.fail(new _SqlError.SqlError({
|
|
89
|
+
cause,
|
|
90
|
+
message: "Failed to execute statement"
|
|
91
|
+
}))));
|
|
92
|
+
}
|
|
93
|
+
return Effect.suspend(() => {
|
|
94
|
+
controller.abort();
|
|
95
|
+
return Effect.promise(() => this.conn.command({
|
|
96
|
+
query: `KILL QUERY WHERE query_id = '${queryId}'`
|
|
97
|
+
}));
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
run(sql, params, format) {
|
|
103
|
+
return this.runRaw(sql, params, format).pipe(Effect.flatMap(result => {
|
|
104
|
+
if ("json" in result) {
|
|
105
|
+
return Effect.promise(() => result.json().then(result => "data" in result ? result.data : result, () => []));
|
|
106
|
+
}
|
|
107
|
+
return Effect.succeed([]);
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
runTransform(sql, params) {
|
|
111
|
+
return options.transformResultNames ? Effect.map(this.run(sql, params), transformRows) : this.run(sql, params);
|
|
112
|
+
}
|
|
113
|
+
execute(sql, params) {
|
|
114
|
+
return this.runTransform(sql, params);
|
|
115
|
+
}
|
|
116
|
+
executeRaw(sql, params) {
|
|
117
|
+
return this.runRaw(sql, params);
|
|
118
|
+
}
|
|
119
|
+
executeWithoutTransform(sql, params) {
|
|
120
|
+
return this.run(sql, params);
|
|
121
|
+
}
|
|
122
|
+
executeValues(sql, params) {
|
|
123
|
+
return this.run(sql, params, "JSONCompact");
|
|
124
|
+
}
|
|
125
|
+
executeUnprepared(sql, params) {
|
|
126
|
+
return this.runTransform(sql, params ?? []);
|
|
127
|
+
}
|
|
128
|
+
executeStream(sql, params) {
|
|
129
|
+
return this.runRaw(sql, params, "JSONEachRow").pipe(Effect.map(result => {
|
|
130
|
+
if (!("stream" in result)) {
|
|
131
|
+
return Stream.empty;
|
|
132
|
+
}
|
|
133
|
+
return NodeStream.fromReadable(() => result.stream(), cause => new _SqlError.SqlError({
|
|
134
|
+
cause,
|
|
135
|
+
message: "Failed to execute stream"
|
|
136
|
+
}));
|
|
137
|
+
}), Stream.unwrap, Stream.chunks, Stream.mapEffect(chunk => {
|
|
138
|
+
const promises = [];
|
|
139
|
+
for (const rows of chunk) {
|
|
140
|
+
for (const row of rows) {
|
|
141
|
+
promises.push(row.json());
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return Effect.tryPromise({
|
|
145
|
+
try: () => Promise.all(promises).then(rows => Chunk.unsafeFromArray(transformRows(rows))),
|
|
146
|
+
catch: cause => new _SqlError.SqlError({
|
|
147
|
+
cause,
|
|
148
|
+
message: "Failed to parse row"
|
|
149
|
+
})
|
|
150
|
+
});
|
|
151
|
+
}), Stream.flattenChunks);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const connection = new ConnectionImpl(client);
|
|
155
|
+
return Object.assign(Client.make({
|
|
156
|
+
acquirer: Effect.succeed(connection),
|
|
157
|
+
compiler,
|
|
158
|
+
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, "clickhouse"], [Otel.SEMATTRS_DB_NAME, options.database ?? "default"]],
|
|
159
|
+
beginTransaction: "BEGIN TRANSACTION"
|
|
160
|
+
}), {
|
|
161
|
+
[TypeId]: TypeId,
|
|
162
|
+
config: options,
|
|
163
|
+
param(dataType, value) {
|
|
164
|
+
return clickhouseParam(dataType, value);
|
|
165
|
+
},
|
|
166
|
+
asCommand(effect) {
|
|
167
|
+
return Effect.locally(effect, currentClientMethod, "command");
|
|
168
|
+
},
|
|
169
|
+
insertQuery(options) {
|
|
170
|
+
return FiberRef.getWith(currentQueryId, queryId_ => Effect.async(resume => {
|
|
171
|
+
const queryId = queryId_ ?? Crypto.randomUUID();
|
|
172
|
+
const controller = new AbortController();
|
|
173
|
+
client.insert({
|
|
174
|
+
format: "JSONEachRow",
|
|
175
|
+
...options,
|
|
176
|
+
abort_signal: controller.signal,
|
|
177
|
+
query_id: queryId
|
|
178
|
+
}).then(result => resume(Effect.succeed(result)), cause => resume(Effect.fail(new _SqlError.SqlError({
|
|
179
|
+
cause,
|
|
180
|
+
message: "Failed to insert data"
|
|
181
|
+
}))));
|
|
182
|
+
return Effect.suspend(() => {
|
|
183
|
+
controller.abort();
|
|
184
|
+
return Effect.promise(() => client.command({
|
|
185
|
+
query: `KILL QUERY WHERE query_id = '${queryId}'`
|
|
186
|
+
}));
|
|
187
|
+
});
|
|
188
|
+
}));
|
|
189
|
+
},
|
|
190
|
+
withQueryId: (0, _Function.dual)(2, (effect, queryId) => Effect.locally(effect, currentQueryId, queryId))
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
/**
|
|
194
|
+
* @category fiber refs
|
|
195
|
+
* @since 1.0.0
|
|
196
|
+
*/
|
|
197
|
+
exports.make = make;
|
|
198
|
+
const currentClientMethod = exports.currentClientMethod = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect/sql-clickhouse/ClickhouseClient/currentClientMethod", () => FiberRef.unsafeMake("query"));
|
|
199
|
+
/**
|
|
200
|
+
* @category fiber refs
|
|
201
|
+
* @since 1.0.0
|
|
202
|
+
*/
|
|
203
|
+
const currentQueryId = exports.currentQueryId = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect/sql-clickhouse/ClickhouseClient/currentQueryId", () => FiberRef.unsafeMake(undefined));
|
|
204
|
+
/**
|
|
205
|
+
* @category constructor
|
|
206
|
+
* @since 1.0.0
|
|
207
|
+
*/
|
|
208
|
+
const layer = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(ClickhouseClient, client).pipe(Context.add(Client.SqlClient, client)))));
|
|
209
|
+
exports.layer = layer;
|
|
210
|
+
const typeFromUnknown = value => {
|
|
211
|
+
if (Statement.isFragment(value)) {
|
|
212
|
+
return typeFromUnknown(value.segments[0]);
|
|
213
|
+
} else if (isClickhouseParam(value)) {
|
|
214
|
+
return value.i0;
|
|
215
|
+
} else if (Array.isArray(value)) {
|
|
216
|
+
return `Array(${typeFromUnknown(value[0])})`;
|
|
217
|
+
}
|
|
218
|
+
switch (typeof value) {
|
|
219
|
+
case "number":
|
|
220
|
+
return "Decimal";
|
|
221
|
+
case "bigint":
|
|
222
|
+
return "Int64";
|
|
223
|
+
case "boolean":
|
|
224
|
+
return "Bool";
|
|
225
|
+
case "object":
|
|
226
|
+
if (value instanceof Date) {
|
|
227
|
+
return "DateTime()";
|
|
228
|
+
}
|
|
229
|
+
return "String";
|
|
230
|
+
default:
|
|
231
|
+
return "String";
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* @category compiler
|
|
236
|
+
* @since 1.0.0
|
|
237
|
+
*/
|
|
238
|
+
const makeCompiler = transform => Statement.makeCompiler({
|
|
239
|
+
dialect: "sqlite",
|
|
240
|
+
placeholder(i, u) {
|
|
241
|
+
return `{p${i}: ${typeFromUnknown(u)}}`;
|
|
242
|
+
},
|
|
243
|
+
onIdentifier: transform ? function (value, withoutTransform) {
|
|
244
|
+
return withoutTransform ? escape(value) : escape(transform(value));
|
|
245
|
+
} : escape,
|
|
246
|
+
onRecordUpdate() {
|
|
247
|
+
return ["", []];
|
|
248
|
+
},
|
|
249
|
+
onCustom(type, placeholder) {
|
|
250
|
+
return [placeholder(type), [type.i1]];
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
// compiler helpers
|
|
254
|
+
exports.makeCompiler = makeCompiler;
|
|
255
|
+
const escape = /*#__PURE__*/Statement.defaultEscape("\"");
|
|
256
|
+
const clickhouseParam = /*#__PURE__*/Statement.custom("ClickhouseParam");
|
|
257
|
+
const isClickhouseParam = /*#__PURE__*/Statement.isCustom("ClickhouseParam");
|
|
258
|
+
//# sourceMappingURL=ClickhouseClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickhouseClient.js","names":["Clickhouse","_interopRequireWildcard","require","NodeStream","Client","_SqlError","Statement","Otel","Chunk","Config","Context","Effect","FiberRef","_Function","_GlobalValue","Layer","Stream","Crypto","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","ClickhouseClient","GenericTag","make","options","gen","_","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","identity","client","createClient","acquireRelease","tryPromise","try","exec","query","catch","cause","SqlError","message","promise","close","ConnectionImpl","conn","constructor","runRaw","sql","params","format","paramsObj","length","withFiberRuntime","fiber","method","getFiberRef","currentClientMethod","async","resume","queryId","currentQueryId","randomUUID","controller","AbortController","command","query_params","abort_signal","signal","query_id","then","result","succeed","fail","suspend","abort","run","pipe","flatMap","json","data","runTransform","map","execute","executeRaw","executeWithoutTransform","executeValues","executeUnprepared","executeStream","empty","fromReadable","stream","unwrap","chunks","mapEffect","chunk","promises","rows","row","push","Promise","all","unsafeFromArray","flattenChunks","connection","assign","acquirer","spanAttributes","entries","SEMATTRS_DB_SYSTEM","SEMATTRS_DB_NAME","database","beginTransaction","config","param","dataType","value","clickhouseParam","asCommand","effect","locally","insertQuery","getWith","queryId_","insert","withQueryId","dual","globalValue","unsafeMake","undefined","layer","scopedContext","add","SqlClient","typeFromUnknown","isFragment","segments","isClickhouseParam","i0","Array","isArray","Date","transform","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","onCustom","type","i1","defaultEscape","custom","isCustom"],"sources":["../../src/ClickhouseClient.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAR,uBAAA,CAAAC,OAAA;AAEA,IAAAQ,OAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,MAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAd,uBAAA,CAAAC,OAAA;AAEA,IAAAc,MAAA,GAAAf,uBAAA,CAAAC,OAAA;AACA,IAAAe,MAAA,GAAAhB,uBAAA,CAAAC,OAAA;AAAqC,SAAAgB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAlB,wBAAAkB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAtBrC;;;;AAyBA;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,yCAAyC,CAAC;AA4B1F;;;;AAIO,MAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,gBAAGhC,OAAO,CAACiC,UAAU,CAAmB,yCAAyC,CAAC;AAY/G;;;;AAIO,MAAMC,IAAI,GACfC,OAA+B,IAE/BlC,MAAM,CAACmC,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,QAAQ,GAAGC,YAAY,CAACJ,OAAO,CAACK,mBAAmB,CAAC;EAC1D,MAAMC,aAAa,GAAGN,OAAO,CAACO,oBAAoB,GAC9C9C,SAAS,CAAC+C,iBAAiB,CAACR,OAAO,CAACO,oBAAoB,CAAC,CAACE,KAAK,GAC/DC,kBAAQ;EAEZ,MAAMC,MAAM,GAAGxD,UAAU,CAACyD,YAAY,CAACZ,OAAO,CAAC;EAE/C,OAAOlC,MAAM,CAAC+C,cAAc,CAC1B/C,MAAM,CAACgD,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMJ,MAAM,CAACK,IAAI,CAAC;MAAEC,KAAK,EAAE;IAAU,CAAE,CAAC;IAC7CC,KAAK,EAAGC,KAAK,IAAK,IAAIC,kBAAQ,CAAC;MAAED,KAAK;MAAEE,OAAO,EAAE;IAAqC,CAAE;GACzF,CAAC,EACF,MAAMvD,MAAM,CAACwD,OAAO,CAAC,MAAMX,MAAM,CAACY,KAAK,EAAE,CAAC,CAC3C;EAED,MAAMC,cAAc;IACWC,IAAA;IAA7BC,YAA6BD,IAAiC;MAAjC,KAAAA,IAAI,GAAJA,IAAI;IAAgC;IAEzDE,MAAMA,CAACC,GAAW,EAAEC,MAAgC,EAAEC,MAAA,GAAgC,MAAM;MAClG,MAAMC,SAAS,GAA4B,EAAE;MAC7C,KAAK,IAAIxC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsC,MAAM,CAACG,MAAM,EAAEzC,CAAC,EAAE,EAAE;QACtCwC,SAAS,CAAC,IAAIxC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGsC,MAAM,CAACtC,CAAC,CAAC;MACpC;MACA,OAAOzB,MAAM,CAACmE,gBAAgB,CAAqEC,KAAK,IAAI;QAC1G,MAAMC,MAAM,GAAGD,KAAK,CAACE,WAAW,CAACC,mBAAmB,CAAC;QACrD,OAAOvE,MAAM,CAACwE,KAAK,CAAqEC,MAAM,IAAI;UAChG,MAAMC,OAAO,GAAGN,KAAK,CAACE,WAAW,CAACK,cAAc,CAAC,IAAIrE,MAAM,CAACsE,UAAU,EAAE;UACxE,MAAMC,UAAU,GAAG,IAAIC,eAAe,EAAE;UACxC,IAAIT,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAACV,IAAI,CAACoB,OAAO,CAAC;cAChB5B,KAAK,EAAEW,GAAG;cACVkB,YAAY,EAAEf,SAAS;cACvBgB,YAAY,EAAEJ,UAAU,CAACK,MAAM;cAC/BC,QAAQ,EAAET;aACX,CAAC,CAACU,IAAI,CACJC,MAAM,IAAKZ,MAAM,CAACzE,MAAM,CAACsF,OAAO,CAACD,MAAM,CAAC,CAAC,EACzChC,KAAK,IAAKoB,MAAM,CAACzE,MAAM,CAACuF,IAAI,CAAC,IAAIjC,kBAAQ,CAAC;cAAED,KAAK;cAAEE,OAAO,EAAE;YAA6B,CAAE,CAAC,CAAC,CAAC,CAChG;UACH,CAAC,MAAM;YACL,IAAI,CAACI,IAAI,CAACR,KAAK,CAAC;cACdA,KAAK,EAAEW,GAAG;cACVkB,YAAY,EAAEf,SAAS;cACvBgB,YAAY,EAAEJ,UAAU,CAACK,MAAM;cAC/BC,QAAQ,EAAET,OAAO;cACjBV;aACD,CAAC,CAACoB,IAAI,CACJC,MAAM,IAAKZ,MAAM,CAACzE,MAAM,CAACsF,OAAO,CAACD,MAAM,CAAC,CAAC,EACzChC,KAAK,IAAKoB,MAAM,CAACzE,MAAM,CAACuF,IAAI,CAAC,IAAIjC,kBAAQ,CAAC;cAAED,KAAK;cAAEE,OAAO,EAAE;YAA6B,CAAE,CAAC,CAAC,CAAC,CAChG;UACH;UACA,OAAOvD,MAAM,CAACwF,OAAO,CAAC,MAAK;YACzBX,UAAU,CAACY,KAAK,EAAE;YAClB,OAAOzF,MAAM,CAACwD,OAAO,CAAC,MAAM,IAAI,CAACG,IAAI,CAACoB,OAAO,CAAC;cAAE5B,KAAK,EAAE,gCAAgCuB,OAAO;YAAG,CAAE,CAAC,CAAC;UACvG,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEQgB,GAAGA,CAAC5B,GAAW,EAAEC,MAAgC,EAAEC,MAA8B;MACvF,OAAO,IAAI,CAACH,MAAM,CAACC,GAAG,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAC2B,IAAI,CAC1C3F,MAAM,CAAC4F,OAAO,CAAEP,MAAM,IAAI;QACxB,IAAI,MAAM,IAAIA,MAAM,EAAE;UACpB,OAAOrF,MAAM,CAACwD,OAAO,CAAC,MACpB6B,MAAM,CAACQ,IAAI,EAAE,CAACT,IAAI,CACfC,MAAM,IAAK,MAAM,IAAIA,MAAM,GAAGA,MAAM,CAACS,IAAI,GAAGT,MAAa,EAC1D,MAAM,EAAE,CACT,CACF;QACH;QACA,OAAOrF,MAAM,CAACsF,OAAO,CAAC,EAAE,CAAC;MAC3B,CAAC,CAAC,CACH;IACH;IAEQS,YAAYA,CAACjC,GAAW,EAAEC,MAAgC;MAChE,OAAO7B,OAAO,CAACO,oBAAoB,GAC/BzC,MAAM,CAACgG,GAAG,CAAC,IAAI,CAACN,GAAG,CAAC5B,GAAG,EAAEC,MAAM,CAAC,EAAEvB,aAAa,CAAC,GAChD,IAAI,CAACkD,GAAG,CAAC5B,GAAG,EAAEC,MAAM,CAAC;IAC3B;IAEAkC,OAAOA,CAACnC,GAAW,EAAEC,MAAgC;MACnD,OAAO,IAAI,CAACgC,YAAY,CAACjC,GAAG,EAAEC,MAAM,CAAC;IACvC;IACAmC,UAAUA,CAACpC,GAAW,EAAEC,MAAgC;MACtD,OAAO,IAAI,CAACF,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC;IACjC;IACAoC,uBAAuBA,CAACrC,GAAW,EAAEC,MAAgC;MACnE,OAAO,IAAI,CAAC2B,GAAG,CAAC5B,GAAG,EAAEC,MAAM,CAAC;IAC9B;IACAqC,aAAaA,CAACtC,GAAW,EAAEC,MAAgC;MACzD,OAAO,IAAI,CAAC2B,GAAG,CAAC5B,GAAG,EAAEC,MAAM,EAAE,aAAa,CAAC;IAC7C;IACAsC,iBAAiBA,CAACvC,GAAW,EAAEC,MAAiC;MAC9D,OAAO,IAAI,CAACgC,YAAY,CAACjC,GAAG,EAAEC,MAAM,IAAI,EAAE,CAAC;IAC7C;IACAuC,aAAaA,CAACxC,GAAW,EAAEC,MAAgC;MACzD,OAAO,IAAI,CAACF,MAAM,CAACC,GAAG,EAAEC,MAAM,EAAE,aAAa,CAAC,CAAC4B,IAAI,CACjD3F,MAAM,CAACgG,GAAG,CAAEX,MAAM,IAAI;QACpB,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC,EAAE;UACzB,OAAOhF,MAAM,CAACkG,KAAK;QACrB;QACA,OAAO/G,UAAU,CAACgH,YAAY,CAC5B,MAAMnB,MAAM,CAACoB,MAAM,EAAS,EAC3BpD,KAAK,IAAK,IAAIC,kBAAQ,CAAC;UAAED,KAAK;UAAEE,OAAO,EAAE;QAA0B,CAAE,CAAC,CACxE;MACH,CAAC,CAAC,EACFlD,MAAM,CAACqG,MAAM,EACbrG,MAAM,CAACsG,MAAM,EACbtG,MAAM,CAACuG,SAAS,CAAEC,KAAK,IAAI;QACzB,MAAMC,QAAQ,GAAwB,EAAE;QACxC,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;UACxB,KAAK,MAAMG,GAAG,IAAID,IAAI,EAAE;YACtBD,QAAQ,CAACG,IAAI,CAACD,GAAG,CAACnB,IAAI,EAAE,CAAC;UAC3B;QACF;QACA,OAAO7F,MAAM,CAACgD,UAAU,CAAC;UACvBC,GAAG,EAAEA,CAAA,KAAMiE,OAAO,CAACC,GAAG,CAACL,QAAQ,CAAC,CAAC1B,IAAI,CAAE2B,IAAI,IAAKlH,KAAK,CAACuH,eAAe,CAAC5E,aAAa,CAACuE,IAAI,CAAC,CAAC,CAAC;UAC3F3D,KAAK,EAAGC,KAAK,IAAK,IAAIC,kBAAQ,CAAC;YAAED,KAAK;YAAEE,OAAO,EAAE;UAAqB,CAAE;SACzE,CAAC;MACJ,CAAC,CAAC,EACFlD,MAAM,CAACgH,aAAa,CACrB;IACH;;EAGF,MAAMC,UAAU,GAAG,IAAI5D,cAAc,CAACb,MAAM,CAAC;EAE7C,OAAO1B,MAAM,CAACoG,MAAM,CAClB9H,MAAM,CAACwC,IAAI,CAAC;IACVuF,QAAQ,EAAExH,MAAM,CAACsF,OAAO,CAACgC,UAAU,CAAC;IACpCjF,QAAQ;IACRoF,cAAc,EAAE,CACd,IAAIvF,OAAO,CAACuF,cAAc,GAAGtG,MAAM,CAACuG,OAAO,CAACxF,OAAO,CAACuF,cAAc,CAAC,GAAG,EAAE,CAAC,EACzE,CAAC7H,IAAI,CAAC+H,kBAAkB,EAAE,YAAY,CAAC,EACvC,CAAC/H,IAAI,CAACgI,gBAAgB,EAAE1F,OAAO,CAAC2F,QAAQ,IAAI,SAAS,CAAC,CACvD;IACDC,gBAAgB,EAAE;GACnB,CAAC,EACF;IACE,CAACnG,MAAM,GAAGA,MAAgB;IAC1BoG,MAAM,EAAE7F,OAAO;IACf8F,KAAKA,CAACC,QAAgB,EAAEC,KAA0B;MAChD,OAAOC,eAAe,CAACF,QAAQ,EAAEC,KAAK,CAAC;IACzC,CAAC;IACDE,SAASA,CAAUC,MAA8B;MAC/C,OAAOrI,MAAM,CAACsI,OAAO,CAACD,MAAM,EAAE9D,mBAAmB,EAAE,SAAS,CAAC;IAC/D,CAAC;IACDgE,WAAWA,CAAcrG,OAIxB;MACC,OAAOjC,QAAQ,CAACuI,OAAO,CAAC7D,cAAc,EAAG8D,QAAQ,IAC/CzI,MAAM,CAACwE,KAAK,CAAqCC,MAAM,IAAI;QACzD,MAAMC,OAAO,GAAG+D,QAAQ,IAAInI,MAAM,CAACsE,UAAU,EAAE;QAC/C,MAAMC,UAAU,GAAG,IAAIC,eAAe,EAAE;QACxCjC,MAAM,CAAC6F,MAAM,CAAC;UACZ1E,MAAM,EAAE,aAAa;UACrB,GAAG9B,OAAO;UACV+C,YAAY,EAAEJ,UAAU,CAACK,MAAM;UAC/BC,QAAQ,EAAET;SACX,CAAC,CAACU,IAAI,CACJC,MAAM,IACLZ,MAAM,CAACzE,MAAM,CAACsF,OAAO,CAACD,MAAM,CAAC,CAAC,EAC/BhC,KAAK,IAAKoB,MAAM,CAACzE,MAAM,CAACuF,IAAI,CAAC,IAAIjC,kBAAQ,CAAC;UAAED,KAAK;UAAEE,OAAO,EAAE;QAAuB,CAAE,CAAC,CAAC,CAAC,CAC1F;QACD,OAAOvD,MAAM,CAACwF,OAAO,CAAC,MAAK;UACzBX,UAAU,CAACY,KAAK,EAAE;UAClB,OAAOzF,MAAM,CAACwD,OAAO,CAAC,MAAMX,MAAM,CAACkC,OAAO,CAAC;YAAE5B,KAAK,EAAE,gCAAgCuB,OAAO;UAAG,CAAE,CAAC,CAAC;QACpG,CAAC,CAAC;MACJ,CAAC,CAAC,CAAC;IACP,CAAC;IACDiE,WAAW,EAAE,IAAAC,cAAI,EAAC,CAAC,EAAE,CAAUP,MAA8B,EAAE3D,OAAe,KAC5E1E,MAAM,CAACsI,OAAO,CAACD,MAAM,EAAE1D,cAAc,EAAED,OAAO,CAAC;GAClD,CACF;AACH,CAAC,CAAC;AAEJ;;;;AAAA9C,OAAA,CAAAK,IAAA,GAAAA,IAAA;AAIO,MAAMsC,mBAAmB,GAAA3C,OAAA,CAAA2C,mBAAA,gBAAsD,IAAAsE,wBAAW,EAC/F,6DAA6D,EAC7D,MAAM5I,QAAQ,CAAC6I,UAAU,CAAiC,OAAO,CAAC,CACnE;AAED;;;;AAIO,MAAMnE,cAAc,GAAA/C,OAAA,CAAA+C,cAAA,gBAA0C,IAAAkE,wBAAW,EAC9E,wDAAwD,EACxD,MAAM5I,QAAQ,CAAC6I,UAAU,CAAqBC,SAAS,CAAC,CACzD;AAED;;;;AAIO,MAAMC,KAAK,GAChBjB,MAAkD,IAElD3H,KAAK,CAAC6I,aAAa,CACjBnJ,MAAM,CAAC4G,MAAM,CAACqB,MAAM,CAAC,CAACpC,IAAI,CACxB3F,MAAM,CAAC4F,OAAO,CAAC3D,IAAI,CAAC,EACpBjC,MAAM,CAACgG,GAAG,CAAEnD,MAAM,IAChB9C,OAAO,CAACkC,IAAI,CAACF,gBAAgB,EAAEc,MAAM,CAAC,CAAC8C,IAAI,CACzC5F,OAAO,CAACmJ,GAAG,CAACzJ,MAAM,CAAC0J,SAAS,EAAEtG,MAAM,CAAC,CACtC,CACF,CACF,CACF;AAAAjB,OAAA,CAAAoH,KAAA,GAAAA,KAAA;AAEH,MAAMI,eAAe,GAAIlB,KAAc,IAAY;EACjD,IAAIvI,SAAS,CAAC0J,UAAU,CAACnB,KAAK,CAAC,EAAE;IAC/B,OAAOkB,eAAe,CAAClB,KAAK,CAACoB,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC3C,CAAC,MAAM,IAAIC,iBAAiB,CAACrB,KAAK,CAAC,EAAE;IACnC,OAAOA,KAAK,CAACsB,EAAE;EACjB,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACxB,KAAK,CAAC,EAAE;IAC/B,OAAO,SAASkB,eAAe,CAAClB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG;EAC9C;EACA,QAAQ,OAAOA,KAAK;IAClB,KAAK,QAAQ;MACX,OAAO,SAAS;IAClB,KAAK,QAAQ;MACX,OAAO,OAAO;IAChB,KAAK,SAAS;MACZ,OAAO,MAAM;IACf,KAAK,QAAQ;MACX,IAAIA,KAAK,YAAYyB,IAAI,EAAE;QACzB,OAAO,YAAY;MACrB;MACA,OAAO,QAAQ;IACjB;MACE,OAAO,QAAQ;EACnB;AACF,CAAC;AAED;;;;AAIO,MAAMrH,YAAY,GAAIsH,SAAiC,IAC5DjK,SAAS,CAAC2C,YAAY,CAAmB;EACvCuH,OAAO,EAAE,QAAQ;EACjBC,WAAWA,CAACrI,CAAC,EAAEH,CAAC;IACd,OAAO,KAAKG,CAAC,KAAK2H,eAAe,CAAC9H,CAAC,CAAC,GAAG;EACzC,CAAC;EACDyI,YAAY,EAAEH,SAAS,GACrB,UAAS1B,KAAK,EAAE8B,gBAAgB;IAC9B,OAAOA,gBAAgB,GAAGC,MAAM,CAAC/B,KAAK,CAAC,GAAG+B,MAAM,CAACL,SAAS,CAAC1B,KAAK,CAAC,CAAC;EACpE,CAAC,GACD+B,MAAM;EACRC,cAAcA,CAAA;IACZ,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;EACjB,CAAC;EACDC,QAAQA,CAACC,IAAI,EAAEN,WAAW;IACxB,OAAO,CAACA,WAAW,CAACM,IAAI,CAAC,EAAE,CAACA,IAAI,CAACC,EAAE,CAAC,CAAC;EACvC;CACD,CAAC;AAEJ;AAAAzI,OAAA,CAAAU,YAAA,GAAAA,YAAA;AAEA,MAAM2H,MAAM,gBAAGtK,SAAS,CAAC2K,aAAa,CAAC,IAAI,CAAC;AAc5C,MAAMnC,eAAe,gBAAGxI,SAAS,CAAC4K,MAAM,CAAkB,iBAAiB,CAAC;AAC5E,MAAMhB,iBAAiB,gBAAG5J,SAAS,CAAC6K,QAAQ,CAAkB,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
run: true,
|
|
8
|
+
layer: true
|
|
9
|
+
};
|
|
10
|
+
exports.run = exports.layer = void 0;
|
|
11
|
+
var Migrator = _interopRequireWildcard(require("@effect/sql/Migrator"));
|
|
12
|
+
Object.keys(Migrator).forEach(function (key) {
|
|
13
|
+
if (key === "default" || key === "__esModule") return;
|
|
14
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
15
|
+
if (key in exports && exports[key] === Migrator[key]) return;
|
|
16
|
+
Object.defineProperty(exports, key, {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () {
|
|
19
|
+
return Migrator[key];
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
24
|
+
var _FileSystem = require("@effect/sql/Migrator/FileSystem");
|
|
25
|
+
Object.keys(_FileSystem).forEach(function (key) {
|
|
26
|
+
if (key === "default" || key === "__esModule") return;
|
|
27
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
28
|
+
if (key in exports && exports[key] === _FileSystem[key]) return;
|
|
29
|
+
Object.defineProperty(exports, key, {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () {
|
|
32
|
+
return _FileSystem[key];
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
37
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
38
|
+
/**
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @category constructor
|
|
52
|
+
* @since 1.0.0
|
|
53
|
+
*/
|
|
54
|
+
const run = exports.run = /*#__PURE__*/Migrator.make({});
|
|
55
|
+
/**
|
|
56
|
+
* @category layers
|
|
57
|
+
* @since 1.0.0
|
|
58
|
+
*/
|
|
59
|
+
const layer = options => Layer.effectDiscard(run(options));
|
|
60
|
+
exports.layer = layer;
|
|
61
|
+
//# sourceMappingURL=ClickhouseMigrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickhouseMigrator.js","names":["Migrator","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","Layer","_FileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","run","make","layer","options","effectDiscard"],"sources":["../../src/ClickhouseMigrator.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AASAC,MAAA,CAAAC,IAAA,CAAAJ,QAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,QAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,QAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AALA,IAAAS,KAAA,GAAAd,uBAAA,CAAAC,OAAA;AAUA,IAAAc,WAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,WAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,WAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AAA+C,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAP,GAAA,CAAAI,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAxB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAyB,wBAAA,WAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAArB,cAAA,CAAAC,IAAA,CAAAS,CAAA,EAAAW,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAAxB,MAAA,CAAAyB,wBAAA,CAAAV,CAAA,EAAAW,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAAhB,GAAA,IAAAgB,CAAA,CAAAC,GAAA,IAAA5B,MAAA,CAAAS,cAAA,CAAAa,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA;AAjB/C;;;;AASA;;;;AAKA;;;;AAKA;;;;AAIO,MAAMO,GAAG,GAAArB,OAAA,CAAAqB,GAAA,gBAMZhC,QAAQ,CAACiC,IAAI,CAAC,EAAE,CAAC;AAErB;;;;AAIO,MAAMC,KAAK,GAChBC,OAAoC,IAKjCpB,KAAK,CAACqB,aAAa,CAACJ,GAAG,CAACG,OAAO,CAAC,CAAC;AAAAxB,OAAA,CAAAuB,KAAA,GAAAA,KAAA","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ClickhouseMigrator = exports.ClickhouseClient = void 0;
|
|
7
|
+
var _ClickhouseClient = _interopRequireWildcard(require("./ClickhouseClient.js"));
|
|
8
|
+
exports.ClickhouseClient = _ClickhouseClient;
|
|
9
|
+
var _ClickhouseMigrator = _interopRequireWildcard(require("./ClickhouseMigrator.js"));
|
|
10
|
+
exports.ClickhouseMigrator = _ClickhouseMigrator;
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Clickhouse from "@clickhouse/client";
|
|
5
|
+
import * as Client from "@effect/sql/SqlClient";
|
|
6
|
+
import { SqlError } from "@effect/sql/SqlError";
|
|
7
|
+
import * as Statement from "@effect/sql/Statement";
|
|
8
|
+
import * as Config from "effect/Config";
|
|
9
|
+
import type { ConfigError } from "effect/ConfigError";
|
|
10
|
+
import * as Context from "effect/Context";
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as FiberRef from "effect/FiberRef";
|
|
13
|
+
import * as Layer from "effect/Layer";
|
|
14
|
+
import type * as Scope from "effect/Scope";
|
|
15
|
+
import type { Readable } from "node:stream";
|
|
16
|
+
/**
|
|
17
|
+
* @category type ids
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
export declare const TypeId: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* @category type ids
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
export type TypeId = typeof TypeId;
|
|
26
|
+
/**
|
|
27
|
+
* @category models
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
export interface ClickhouseClient extends Client.SqlClient {
|
|
31
|
+
readonly [TypeId]: TypeId;
|
|
32
|
+
readonly config: ClickhouseClientConfig;
|
|
33
|
+
readonly param: (dataType: string, value: Statement.Primitive) => Statement.Fragment;
|
|
34
|
+
readonly asCommand: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
35
|
+
readonly insertQuery: <T = unknown>(options: {
|
|
36
|
+
readonly table: string;
|
|
37
|
+
readonly values: Clickhouse.InsertValues<Readable, T>;
|
|
38
|
+
readonly format?: Clickhouse.DataFormat;
|
|
39
|
+
}) => Effect.Effect<Clickhouse.InsertResult, SqlError>;
|
|
40
|
+
readonly withQueryId: {
|
|
41
|
+
(queryId: string): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
42
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, queryId: string): Effect.Effect<A, E, R>;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @category tags
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
*/
|
|
49
|
+
export declare const ClickhouseClient: Context.Tag<ClickhouseClient, ClickhouseClient>;
|
|
50
|
+
/**
|
|
51
|
+
* @category constructors
|
|
52
|
+
* @since 1.0.0
|
|
53
|
+
*/
|
|
54
|
+
export interface ClickhouseClientConfig extends Clickhouse.ClickHouseClientConfigOptions {
|
|
55
|
+
readonly spanAttributes?: Record<string, unknown> | undefined;
|
|
56
|
+
readonly transformResultNames?: ((str: string) => string) | undefined;
|
|
57
|
+
readonly transformQueryNames?: ((str: string) => string) | undefined;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @category constructors
|
|
61
|
+
* @since 1.0.0
|
|
62
|
+
*/
|
|
63
|
+
export declare const make: (options: ClickhouseClientConfig) => Effect.Effect<ClickhouseClient, SqlError, Scope.Scope>;
|
|
64
|
+
/**
|
|
65
|
+
* @category fiber refs
|
|
66
|
+
* @since 1.0.0
|
|
67
|
+
*/
|
|
68
|
+
export declare const currentClientMethod: FiberRef.FiberRef<"query" | "command" | "insert">;
|
|
69
|
+
/**
|
|
70
|
+
* @category fiber refs
|
|
71
|
+
* @since 1.0.0
|
|
72
|
+
*/
|
|
73
|
+
export declare const currentQueryId: FiberRef.FiberRef<string | undefined>;
|
|
74
|
+
/**
|
|
75
|
+
* @category constructor
|
|
76
|
+
* @since 1.0.0
|
|
77
|
+
*/
|
|
78
|
+
export declare const layer: (config: Config.Config.Wrap<ClickhouseClientConfig>) => Layer.Layer<ClickhouseClient | Client.SqlClient, ConfigError | SqlError>;
|
|
79
|
+
/**
|
|
80
|
+
* @category compiler
|
|
81
|
+
* @since 1.0.0
|
|
82
|
+
*/
|
|
83
|
+
export declare const makeCompiler: (transform?: (_: string) => string) => Statement.Compiler;
|
|
84
|
+
/**
|
|
85
|
+
* @category custom types
|
|
86
|
+
* @since 1.0.0
|
|
87
|
+
*/
|
|
88
|
+
export type ClickhouseCustom = ClickhouseParam;
|
|
89
|
+
/**
|
|
90
|
+
* @category custom types
|
|
91
|
+
* @since 1.0.0
|
|
92
|
+
*/
|
|
93
|
+
interface ClickhouseParam extends Statement.Custom<"ClickhouseParam", string, Statement.Primitive> {
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=ClickhouseClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickhouseClient.d.ts","sourceRoot":"","sources":["../../src/ClickhouseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Migrator from "@effect/sql/Migrator";
|
|
5
|
+
import type * as Client from "@effect/sql/SqlClient";
|
|
6
|
+
import type { SqlError } from "@effect/sql/SqlError";
|
|
7
|
+
import type * as Effect from "effect/Effect";
|
|
8
|
+
import * as Layer from "effect/Layer";
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export * from "@effect/sql/Migrator";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * from "@effect/sql/Migrator/FileSystem";
|
|
17
|
+
/**
|
|
18
|
+
* @category constructor
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
export declare const run: <R2 = never>({ loader, schemaDirectory, table }: Migrator.MigratorOptions<R2>) => Effect.Effect<ReadonlyArray<readonly [id: number, name: string]>, Migrator.MigrationError | SqlError, Client.SqlClient | R2>;
|
|
22
|
+
/**
|
|
23
|
+
* @category layers
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
*/
|
|
26
|
+
export declare const layer: <R>(options: Migrator.MigratorOptions<R>) => Layer.Layer<never, Migrator.MigrationError | SqlError, Client.SqlClient | R>;
|
|
27
|
+
//# sourceMappingURL=ClickhouseMigrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClickhouseMigrator.d.ts","sourceRoot":"","sources":["../../src/ClickhouseMigrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;GAEG;AACH,cAAc,sBAAsB,CAAA;AAEpC;;GAEG;AACH,cAAc,iCAAiC,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAC7D,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,MAAM,CAAC,SAAS,GAAG,EAAE,CACF,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,WACZ,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CACZ,KAAK,EACL,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA"}
|