{"version":3,"file":"transaction-handle.mjs","names":[],"sources":["../../src/drizzle/transaction-handle.ts"],"sourcesContent":["import { PasskeyConfigurationError } from \"@yielded/auth/Passkey\";\nimport * as Effect from \"effect/Effect\";\nimport * as Predicate from \"effect/Predicate\";\n\n/** Only foreign constructor types are erased; this creates Drizzle's actual\n * transaction handle while the shared SqlClient owner holds the transaction. */\n// oxlint-disable-next-line no-explicit-any\n// oxlint-disable-next-line no-explicit-any\nexport type DrizzleTransactionFactory = (database: any) => object;\n\n// oxlint-disable-next-line no-explicit-any\nexport type DrizzleTransactionConstructor = new (...arguments_: any[]) => object;\n\nexport const makeDrizzleTransactionHandle = Effect.fnUntraced(function* (\n  database: object,\n  constructor: DrizzleTransactionConstructor | undefined,\n): Effect.fn.Return<object, PasskeyConfigurationError> {\n  if (\n    constructor === undefined ||\n    !Predicate.hasProperty(database, \"_\") ||\n    !Predicate.hasProperty(database._, \"session\") ||\n    !Predicate.hasProperty(database._, \"relations\") ||\n    !Predicate.hasProperty(database, \"select\") ||\n    typeof database.select !== \"function\"\n  )\n    return yield* PasskeyConfigurationError.make({});\n  const selection: unknown = database.select();\n\n  if (!Predicate.hasProperty(selection, \"dialect\"))\n    return yield* PasskeyConfigurationError.make({});\n\n  return new constructor(\n    selection.dialect,\n    database._.session,\n    database._.relations,\n    0,\n    Predicate.hasProperty(database, \"forbidJsonb\")\n      ? database.forbidJsonb\n      : Predicate.hasProperty(database, \"parseRqbJson\")\n        ? database.parseRqbJson\n        : undefined,\n  );\n});\n"],"mappings":";;;;AAaA,MAAa,+BAA+B,OAAO,WAAW,WAC5D,UACA,aACqD;CACrD,IACE,gBAAgB,KAAA,KAChB,CAAC,UAAU,YAAY,UAAU,GAAG,KACpC,CAAC,UAAU,YAAY,SAAS,GAAG,SAAS,KAC5C,CAAC,UAAU,YAAY,SAAS,GAAG,WAAW,KAC9C,CAAC,UAAU,YAAY,UAAU,QAAQ,KACzC,OAAO,SAAS,WAAW,YAE3B,OAAO,OAAO,0BAA0B,KAAK,CAAC,CAAC;CACjD,MAAM,YAAqB,SAAS,OAAO;CAE3C,IAAI,CAAC,UAAU,YAAY,WAAW,SAAS,GAC7C,OAAO,OAAO,0BAA0B,KAAK,CAAC,CAAC;CAEjD,OAAO,IAAI,YACT,UAAU,SACV,SAAS,EAAE,SACX,SAAS,EAAE,WACX,GACA,UAAU,YAAY,UAAU,aAAa,IACzC,SAAS,cACT,UAAU,YAAY,UAAU,cAAc,IAC5C,SAAS,eACT,KAAA,CACR;AACF,CAAC"}