MCPcopy
hub / github.com/Effect-TS/effect / make

Function make

packages/sql/src/internal/statement.ts:304–376  ·  view source on GitHub ↗
(
  acquirer: Connection.Connection.Acquirer,
  compiler: Statement.Compiler,
  spanAttributes: ReadonlyArray<readonly [string, unknown]>,
  transformRows: (<A extends object>(row: ReadonlyArray<A>) => ReadonlyArray<A>) | undefined
)

Source from the content-addressed store, hash-verified

302
303/** @internal */
304export const make = (
305 acquirer: Connection.Connection.Acquirer,
306 compiler: Statement.Compiler,
307 spanAttributes: ReadonlyArray<readonly [string, unknown]>,
308 transformRows: (<A extends object>(row: ReadonlyArray<A>) => ReadonlyArray<A>) | undefined
309): Statement.Constructor => {
310 const cache = transformRows === undefined ? constructorCache.noTransforms : constructorCache.transforms
311 if (cache.has(acquirer)) {
312 return cache.get(acquirer)!
313 }
314 const self = Object.assign(
315 function sql(strings: unknown, ...args: Array<any>): any {
316 if (Array.isArray(strings) && "raw" in strings) {
317 return statement(
318 acquirer,
319 compiler,
320 strings as TemplateStringsArray,
321 args,
322 spanAttributes,
323 transformRows
324 )
325 } else if (typeof strings === "string") {
326 return new IdentifierImpl(strings)
327 }
328
329 throw "absurd"
330 },
331 {
332 unsafe<A extends object = Connection.Row>(
333 sql: string,
334 params?: ReadonlyArray<unknown>
335 ) {
336 return new StatementPrimitive<A>(
337 [new LiteralImpl(sql, params)],
338 acquirer,
339 compiler,
340 spanAttributes,
341 transformRows
342 )
343 },
344 literal(sql: string) {
345 return new FragmentImpl([new LiteralImpl(sql)])
346 },
347 in: in_,
348 insert(value: any) {
349 return new RecordInsertHelperImpl(
350 Array.isArray(value) ? value : [value],
351 undefined
352 )
353 },
354 update(value: any, omit: any) {
355 return new RecordUpdateHelperSingleImpl(value, omit ?? [], undefined)
356 },
357 updateValues(value: any, alias: any) {
358 return new RecordUpdateHelperImpl(value, alias, undefined)
359 },
360 and,
361 or,

Callers 1

withStatementFunction · 0.70

Calls 3

statementFunction · 0.85
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected