MCPcopy Create free account
hub / github.com/effect-app/libs / make

Function make

repos/effect/packages/effect/src/unstable/sql/Statement.ts:531–602  ·  view source on GitHub ↗
(
  acquirer: Acquirer,
  compiler: Compiler,
  spanAttributes: ReadonlyArray<readonly [string, unknown]>,
  transformRows: (<A extends object>(row: ReadonlyArray<A>) => ReadonlyArray<A>) | undefined
)

Source from the content-addressed store, hash-verified

529 * @category constructors
530 * @since 4.0.0
531 */
532export const make = (
533 acquirer: Acquirer,
534 compiler: Compiler,
535 spanAttributes: ReadonlyArray<readonly [string, unknown]>,
536 transformRows: (<A extends object>(row: ReadonlyArray<A>) => ReadonlyArray<A>) | undefined
537): Constructor => {
538 const cache = transformRows === undefined ? constructorCache.noTransforms : constructorCache.transforms
539 if (cache.has(acquirer)) {
540 return cache.get(acquirer)!
541 }
542 const self = Object.assign(
543 function sql(strings: unknown, ...args: Array<any>): any {
544 if (typeof strings === "string") {
545 return identifier(strings)
546 } else if (Array.isArray(strings) && "raw" in strings) {
547 return statement(
548 acquirer,
549 compiler,
550 strings as TemplateStringsArray,
551 args,
552 spanAttributes,
553 transformRows
554 )
555 }
556
557 throw "absurd"
558 },
559 {
560 unsafe<A extends object = Row>(
561 sql: string,
562 params?: ReadonlyArray<unknown>
563 ) {
564 return makeUnsafe<A>(
565 [literal(sql, params)],
566 acquirer,
567 compiler,
568 spanAttributes,
569 transformRows
570 )
571 },
572 literal(sql: string) {
573 return fragment([literal(sql)])
574 },
575 in: in_,
576 insert(value: any) {
577 return recordInsertHelper(
578 Array.isArray(value) ? value : [value]
579 )
580 },
581 update(value: any, omit: any) {
582 return recordUpdateHelperSingle(value, omit ?? [])
583 },
584 updateValues(value: any, alias: any) {
585 return recordUpdateHelper(value, alias)
586 },
587 and,
588 or,

Callers 1

withStatementFunction · 0.70

Calls 5

identifierFunction · 0.70
statementFunction · 0.70
getMethod · 0.65
setMethod · 0.65
hasMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…