@shivaedev/effect-prisma 0.6.3 → 0.7.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.
Files changed (138) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/bin/normalize-contract.js +1 -0
  3. package/dist/bin/normalize-contract.js.map +1 -1
  4. package/dist/database.d.ts +4 -4
  5. package/dist/database.d.ts.map +1 -1
  6. package/dist/database.js +12 -12
  7. package/dist/database.js.map +1 -1
  8. package/dist/error.d.ts +5 -5
  9. package/dist/error.d.ts.map +1 -1
  10. package/dist/error.js +5 -6
  11. package/dist/error.js.map +1 -1
  12. package/dist/index.d.ts +3 -3
  13. package/dist/internal/adapters/transaction-settlement.d.ts +10 -0
  14. package/dist/internal/adapters/transaction-settlement.d.ts.map +1 -0
  15. package/dist/internal/adapters/transaction-settlement.js +56 -0
  16. package/dist/internal/adapters/transaction-settlement.js.map +1 -0
  17. package/dist/internal/client-lifecycle.d.ts +2 -2
  18. package/dist/internal/client-lifecycle.d.ts.map +1 -1
  19. package/dist/internal/client-lifecycle.js.map +1 -1
  20. package/dist/internal/contract-normalization.d.ts +0 -4
  21. package/dist/internal/contract-normalization.d.ts.map +1 -1
  22. package/dist/internal/contract-normalization.js +5 -10
  23. package/dist/internal/contract-normalization.js.map +1 -1
  24. package/dist/internal/database-facade.d.ts +19 -0
  25. package/dist/internal/database-facade.d.ts.map +1 -0
  26. package/dist/internal/database-facade.js +79 -0
  27. package/dist/internal/database-facade.js.map +1 -0
  28. package/dist/internal/database-factory.d.ts +4 -48
  29. package/dist/internal/database-factory.d.ts.map +1 -1
  30. package/dist/internal/database-factory.js +11 -90
  31. package/dist/internal/database-factory.js.map +1 -1
  32. package/dist/internal/database-types.d.ts +33 -0
  33. package/dist/internal/database-types.d.ts.map +1 -0
  34. package/dist/internal/database-types.js +2 -0
  35. package/dist/internal/database-types.js.map +1 -0
  36. package/dist/internal/dynamic.d.ts +5 -0
  37. package/dist/internal/dynamic.d.ts.map +1 -0
  38. package/dist/internal/dynamic.js +12 -0
  39. package/dist/internal/dynamic.js.map +1 -0
  40. package/dist/internal/executor.d.ts +3 -7
  41. package/dist/internal/executor.d.ts.map +1 -1
  42. package/dist/internal/promise.d.ts +1 -1
  43. package/dist/internal/promise.d.ts.map +1 -1
  44. package/dist/internal/promise.js +2 -4
  45. package/dist/internal/promise.js.map +1 -1
  46. package/dist/internal/query-execution.d.ts +2 -2
  47. package/dist/internal/query-execution.d.ts.map +1 -1
  48. package/dist/internal/query-execution.js +2 -6
  49. package/dist/internal/query-execution.js.map +1 -1
  50. package/dist/internal/recipe.d.ts +3 -3
  51. package/dist/internal/recipe.d.ts.map +1 -1
  52. package/dist/internal/recipe.js +9 -20
  53. package/dist/internal/recipe.js.map +1 -1
  54. package/dist/internal/relation-plan.d.ts +1 -1
  55. package/dist/internal/relation-result.d.ts +4 -0
  56. package/dist/internal/relation-result.d.ts.map +1 -0
  57. package/dist/internal/relation-result.js +19 -0
  58. package/dist/internal/relation-result.js.map +1 -0
  59. package/dist/internal/relation-runtime.d.ts +3 -3
  60. package/dist/internal/relation-runtime.d.ts.map +1 -1
  61. package/dist/internal/relation-runtime.js +12 -37
  62. package/dist/internal/relation-runtime.js.map +1 -1
  63. package/dist/internal/relation-stream.d.ts +3 -3
  64. package/dist/internal/relation-stream.d.ts.map +1 -1
  65. package/dist/internal/relation-stream.js +20 -24
  66. package/dist/internal/relation-stream.js.map +1 -1
  67. package/dist/internal/sqlite-datetime.d.ts +1 -27
  68. package/dist/internal/sqlite-datetime.d.ts.map +1 -1
  69. package/dist/internal/sqlite-datetime.js +16 -35
  70. package/dist/internal/sqlite-datetime.js.map +1 -1
  71. package/dist/internal/sqlite-pragmas.d.ts +1 -13
  72. package/dist/internal/sqlite-pragmas.d.ts.map +1 -1
  73. package/dist/internal/sqlite-pragmas.js +2 -12
  74. package/dist/internal/sqlite-pragmas.js.map +1 -1
  75. package/dist/internal/testing.d.ts +1 -1
  76. package/dist/internal/testing.d.ts.map +1 -1
  77. package/dist/internal/testing.js +5 -2
  78. package/dist/internal/testing.js.map +1 -1
  79. package/dist/internal/transaction.d.ts +5 -5
  80. package/dist/internal/transaction.d.ts.map +1 -1
  81. package/dist/internal/transaction.js +5 -53
  82. package/dist/internal/transaction.js.map +1 -1
  83. package/dist/relation/include-metadata.d.ts +1 -1
  84. package/dist/relation/include-metadata.d.ts.map +1 -1
  85. package/dist/relation/include.d.ts +8 -5
  86. package/dist/relation/include.d.ts.map +1 -1
  87. package/dist/relation/prisma-methods.d.ts +17 -17
  88. package/dist/relation/prisma-methods.d.ts.map +1 -1
  89. package/dist/relation.d.ts +4 -4
  90. package/dist/relation.d.ts.map +1 -1
  91. package/dist/sqlite.d.ts +5 -10
  92. package/dist/sqlite.d.ts.map +1 -1
  93. package/dist/sqlite.js +14 -12
  94. package/dist/sqlite.js.map +1 -1
  95. package/dist/testing/transaction.d.ts +6 -7
  96. package/dist/testing/transaction.d.ts.map +1 -1
  97. package/dist/testing/transaction.js +2 -2
  98. package/dist/testing/transaction.js.map +1 -1
  99. package/dist/testing/types.d.ts +7 -7
  100. package/dist/testing/types.d.ts.map +1 -1
  101. package/dist/testing/vitest.d.ts +3 -3
  102. package/dist/testing/vitest.d.ts.map +1 -1
  103. package/dist/testing/vitest.js +2 -2
  104. package/dist/testing/vitest.js.map +1 -1
  105. package/dist/testing.d.ts +3 -3
  106. package/package.json +35 -37
  107. package/src/bin/normalize-contract.ts +2 -1
  108. package/src/database.ts +49 -67
  109. package/src/error.ts +13 -23
  110. package/src/index.ts +3 -3
  111. package/src/internal/adapters/transaction-settlement.ts +70 -0
  112. package/src/internal/client-lifecycle.ts +4 -11
  113. package/src/internal/contract-normalization.ts +6 -14
  114. package/src/internal/database-facade.ts +138 -0
  115. package/src/internal/database-factory.ts +34 -306
  116. package/src/internal/database-types.ts +65 -0
  117. package/src/internal/dynamic.ts +16 -0
  118. package/src/internal/executor.ts +4 -11
  119. package/src/internal/promise.ts +4 -12
  120. package/src/internal/query-execution.ts +4 -8
  121. package/src/internal/recipe.ts +24 -89
  122. package/src/internal/relation-plan.ts +1 -1
  123. package/src/internal/relation-result.ts +27 -0
  124. package/src/internal/relation-runtime.ts +45 -135
  125. package/src/internal/relation-stream.ts +24 -51
  126. package/src/internal/sqlite-datetime.ts +20 -54
  127. package/src/internal/sqlite-pragmas.ts +3 -16
  128. package/src/internal/testing.ts +13 -15
  129. package/src/internal/transaction.ts +16 -109
  130. package/src/relation/include-metadata.ts +11 -43
  131. package/src/relation/include.ts +46 -140
  132. package/src/relation/prisma-methods.ts +36 -122
  133. package/src/relation.ts +20 -48
  134. package/src/sqlite.ts +59 -85
  135. package/src/testing/transaction.ts +20 -33
  136. package/src/testing/types.ts +15 -34
  137. package/src/testing/vitest.ts +14 -28
  138. package/src/testing.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"relation-runtime.js","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAIjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACN,eAAe,EAEf,YAAY,EACZ,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAiB1D,MAAM,cAAc,GAAG,CACtB,KAAc,EACd,QAAiC,EACK,EAAE;IACxC,IACC,QAAQ,KAAK,OAAO;QACpB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,UAAU,EACpD,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAgB,EAC9C,KAAK,EACL,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,iBAAiB,CACvB,GAAG,EAAE,CAAC,SAA2C,CACjD,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IACC,QAAQ,KAAK,QAAQ;QACrB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,UAAU,EAChD,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAgB,EAC1C,KAAK,EACL,EAAE,CACF,CAAC;QACF,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,KAA6B,CAAC,CAAC,IAAI,CACjE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CACvC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GACf,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,UAAU;QAC9C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;QACpE,CAAC,CAAC,KAAK,CAAC;IAEV,IACC,OAAO,UAAU,KAAK,QAAQ;QAC9B,UAAU,KAAK,IAAI;QACnB,MAAM,IAAI,UAAU,EACnB,CAAC;QACF,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,UAAkC,CAAC,CAAC,IAAI,CACtE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAC5D,CACD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC,CAAC;AAMF,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAmB,CAAC;AAEhD,MAAM,SAAS,GAAG,CACjB,IAAY,EACwB,EAAE;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAA4C,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAItB,IAAmB,EACmB,EAAE;IACxC,MAAM,OAAO,GAAG,SAAS,CAAmB,IAAI,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC3D,YAAY,CACX,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACnB,cAAc,CACb,YAAY,CACX,QAAQ,CAAC,MAAM,EACf,OAAO,CAAC,MAAM,EACd,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,mBAAmB,CAC5B,EACD,OAAO,CAAC,QAAQ,CAChB,CACD,CACD,CACD,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CACd,UAAU,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EACrE;QACC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAChC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;SACjD;KACD,CACD,CACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACzB,GAAG,UAAU,CAAC,SAAS,CAAgB;QACtC,KAAK,EAAE,sBAAsB;QAC7B,QAAQ;YACP,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;KACD,CAAC;IACF,IAAI,MAAM;QACT,MAAM,QAAQ,GAAG,IAAqB,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CACxB,QAAQ,CACR,CAAC;QACF,OAAO,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;CACD,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAIzB,OAA0C,EAChC,EAAE;IACZ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAkB,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;QAC/B,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ;YAC3B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,GAAG,EAAE,CACX,iBAAiB,CAAC;oBACjB,GAAG,OAAO;oBACV,QAAQ,EAAE,QAAQ;iBAClB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC1B,OAAO,GAAG,EAAE,CACX,iBAAiB,CAAC;oBACjB,GAAG,OAAO;oBACV,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,GAAG,UAAkC,EAAE,EAAE,CAChD,iBAAiB,CAAC;gBACjB,GAAG,OAAO;gBACV,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAC7D,QAAQ,EAAE,QAAQ;aAClB,CAAC,CAAC;QACL,CAAC;KACD,CAAC,CAAC;IACH,MAAM,IAAI,GAAG;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;QACnC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzE,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;KACzD,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7B,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAMhC,QAAoD,EACpD,KAAY,EACZ,kBAGI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EACa,EAAE,CAC3C,iBAAiB,CAAC;IACjB,QAAQ;IACR,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACzB,eAAe;CACf,CAA2C,CAAC"}
1
+ {"version":3,"file":"relation-runtime.js","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Effect, Stream } from "effect";
2
- import { type PrismaError } from "../error.js";
3
- import type { AnyPostgresContract, DatabaseExecutor } from "./executor.js";
4
- import { type RelationRecipe } from "./recipe.js";
2
+ import { type PrismaError } from "../error.ts";
3
+ import type { AnyPostgresContract, DatabaseExecutor } from "./executor.ts";
4
+ import { type RelationRecipe } from "./recipe.ts";
5
5
  export declare const makeRelationStream: <Models extends object, Contract extends AnyPostgresContract>(resolveExecutor: Effect.Effect<DatabaseExecutor<Models, Contract>, PrismaError>, recipe: RelationRecipe) => Stream.Stream<unknown, PrismaError>;
6
6
  //# sourceMappingURL=relation-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-stream.d.ts","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,aAAa,CAAC;AAIhE,eAAO,MAAM,kBAAkB,GAC9B,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,mBAAmB,EAEpC,iBAAiB,MAAM,CAAC,MAAM,CAC7B,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAClC,WAAW,CACX,EACD,QAAQ,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAqDpC,CAAC"}
1
+ {"version":3,"file":"relation-stream.d.ts","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,aAAa,CAAC;AAWhE,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,mBAAmB,EAC7F,iBAAiB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC/E,QAAQ,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAwBnC,CAAC"}
@@ -1,30 +1,26 @@
1
1
  import { Effect, Stream } from "effect";
2
2
  import { isPrismaFailure, toPrismaError } from "../error.js";
3
+ import { hasMethod, invokeMethod, isAsyncIterable } from "./dynamic.js";
3
4
  import { fromPrismaPromise } from "./promise.js";
4
5
  import { executeQuery } from "./query-execution.js";
5
6
  import { replayRecipe } from "./recipe.js";
6
- export const makeRelationStream = (resolveExecutor, recipe) => {
7
- return Stream.unwrap(Effect.flatMap(resolveExecutor, (executor) => executeQuery(executor, Effect.sync(() => {
8
- const collection = replayRecipe(executor.models, recipe, executor.identity, executor.transactionIdentity);
9
- if (typeof collection !== "object" ||
10
- collection === null ||
11
- typeof Reflect.get(collection, "all") !== "function") {
12
- throw new TypeError("Only collection Relations can be streamed");
13
- }
14
- const iterable = Reflect.apply(Reflect.get(collection, "all"), collection, []);
15
- if (executor.mode === "root") {
16
- return Stream.fromAsyncIterable(iterable, (error) => error).pipe(Stream.catch((error) => isPrismaFailure(error)
17
- ? Stream.fail(toPrismaError(error))
18
- : Stream.die(error)));
19
- }
20
- const buffered = executeQuery(executor, fromPrismaPromise(async () => {
21
- const rows = [];
22
- for await (const row of iterable) {
23
- rows.push(row);
24
- }
25
- return rows;
26
- }));
27
- return Stream.unwrap(Effect.map(buffered, (rows) => Stream.fromIterable(rows)));
28
- }))));
29
- };
7
+ const collectRows = (iterable) => fromPrismaPromise(async () => {
8
+ const rows = [];
9
+ for await (const row of iterable) {
10
+ rows.push(row);
11
+ }
12
+ return rows;
13
+ });
14
+ export const makeRelationStream = (resolveExecutor, recipe) => Stream.unwrap(Effect.flatMap(resolveExecutor, (executor) => executeQuery(executor, Effect.sync(() => {
15
+ const collection = replayRecipe(executor.models, recipe, executor.identity, executor.transactionIdentity);
16
+ const iterable = hasMethod(collection, "all") ? invokeMethod(collection, "all", []) : undefined;
17
+ if (!isAsyncIterable(iterable)) {
18
+ throw new TypeError("Only collection Relations can be streamed");
19
+ }
20
+ if (executor.mode === "root") {
21
+ return Stream.fromAsyncIterable(iterable, (error) => error).pipe(Stream.catch((error) => (isPrismaFailure(error) ? Stream.fail(toPrismaError(error)) : Stream.die(error))));
22
+ }
23
+ const buffered = executeQuery(executor, collectRows(iterable));
24
+ return Stream.unwrap(Effect.map(buffered, (rows) => Stream.fromIterable(rows)));
25
+ }))));
30
26
  //# sourceMappingURL=relation-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-stream.js","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAuB,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAIjC,eAGC,EACD,MAAsB,EACgB,EAAE;IACxC,OAAO,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5C,YAAY,CACX,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QAChB,MAAM,UAAU,GAAG,YAAY,CAC9B,QAAQ,CAAC,MAAM,EACf,MAAM,EACN,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,mBAAmB,CAC5B,CAAC;QACF,IACC,OAAO,UAAU,KAAK,QAAQ;YAC9B,UAAU,KAAK,IAAI;YACnB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,UAAU,EACnD,CAAC;YACF,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAgB,EAC7C,UAAU,EACV,EAAE,CACwB,CAAC;QAE5B,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACtB,eAAe,CAAC,KAAK,CAAC;gBACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CACpB,CACD,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAC5B,QAAQ,EACR,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,GAAmB,EAAE,CAAC;YAChC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;IACH,CAAC,CAAC,CACF,CACD,CACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"relation-stream.js","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAuB,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,GAAG,CAAC,QAAgC,EAAyC,EAAE,CAC/F,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,eAA+E,EAC/E,MAAsB,EACgB,EAAE,CACxC,MAAM,CAAC,MAAM,CACZ,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5C,YAAY,CACX,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAChB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC1G,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACzG,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC,CACF,CACD,CACD,CAAC"}
@@ -1,31 +1,5 @@
1
1
  import type { ExecutionContext } from "@prisma-next/sql-runtime";
2
- import type { AnySqlContract } from "./executor.js";
3
- /**
4
- * Stamp `Z` onto a SQLite datetime string that carries no zone designator.
5
- *
6
- * SQLite stores `DateTime` as text and computes `datetime('now')` — the default
7
- * `prisma-next db init` generates — in UTC, but writes it as
8
- * `YYYY-MM-DD HH:MM:SS` with no zone. `new Date` reads that form as local time,
9
- * so decoding it unchanged shifts the instant by the process' UTC offset.
10
- * Values that already carry `Z` or a numeric offset, date-only values (which
11
- * `new Date` already reads as UTC), and anything that is not a datetime string
12
- * are returned unchanged.
13
- */
2
+ import type { AnySqlContract } from "./executor.ts";
14
3
  export declare const normalizeSqliteDatetime: (value: string) => string;
15
- /**
16
- * Replace the client's codec registry with one that decodes zone-less
17
- * `sqlite/datetime@1` values as UTC.
18
- *
19
- * The registry is the single resolution point for both row decoding and the
20
- * JSON decoding of included relations, so wrapping it covers every read path
21
- * without touching encoding. Prisma Next rejects a second descriptor for an
22
- * already-registered codec id, so an extension pack cannot replace the codec
23
- * itself. Must run before the first query, because the runtime reads the
24
- * registry off the context when it is created.
25
- *
26
- * Codecs are identified by the resolved reference rather than by `codec.id`:
27
- * Prisma Next materializes a codec through an unbound descriptor factory, so
28
- * the instance's `id` accessor throws.
29
- */
30
4
  export declare const decodeSqliteDatetimesAsUtc: (context: ExecutionContext<AnySqlContract>) => void;
31
5
  //# sourceMappingURL=sqlite-datetime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-datetime.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAYpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MACd,CAAC;AAiB3C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,GACtC,SAAS,gBAAgB,CAAC,cAAc,CAAC,KACvC,IAmCF,CAAC"}
1
+ {"version":3,"file":"sqlite-datetime.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAapD,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MAAmD,CAAC;AAa5G,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,CAAC,cAAc,CAAC,KAAG,IAiCtF,CAAC"}
@@ -1,39 +1,18 @@
1
1
  const sqliteDatetimeCodecId = "sqlite/datetime@1";
2
- const zonelessDatetime = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?)$/;
3
- /**
4
- * Stamp `Z` onto a SQLite datetime string that carries no zone designator.
5
- *
6
- * SQLite stores `DateTime` as text and computes `datetime('now')` — the default
7
- * `prisma-next db init` generates — in UTC, but writes it as
8
- * `YYYY-MM-DD HH:MM:SS` with no zone. `new Date` reads that form as local time,
9
- * so decoding it unchanged shifts the instant by the process' UTC offset.
10
- * Values that already carry `Z` or a numeric offset, date-only values (which
11
- * `new Date` already reads as UTC), and anything that is not a datetime string
12
- * are returned unchanged.
13
- */
2
+ const zonelessDatetime = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?)$/u;
3
+ // SQLite computes `datetime('now')`, the default `prisma-next db init` generates, in UTC but writes it as `YYYY-MM-DD HH:MM:SS`
4
+ // with no zone, and `new Date` reads that form as local time. Values with a zone and date-only values already read as UTC.
14
5
  export const normalizeSqliteDatetime = (value) => value.replace(zonelessDatetime, "$1T$2Z");
15
6
  const decodeAsUtc = (codec) => ({
16
- id: sqliteDatetimeCodecId,
17
- encode: (value, context) => codec.encode(value, context),
18
7
  decode: (wire, context) => codec.decode(typeof wire === "string" ? normalizeSqliteDatetime(wire) : wire, context),
19
- encodeJson: (value) => codec.encodeJson(value),
20
8
  decodeJson: (json) => codec.decodeJson(typeof json === "string" ? normalizeSqliteDatetime(json) : json),
9
+ encode: (value, context) => codec.encode(value, context),
10
+ encodeJson: (value) => codec.encodeJson(value),
11
+ id: sqliteDatetimeCodecId,
21
12
  });
22
- /**
23
- * Replace the client's codec registry with one that decodes zone-less
24
- * `sqlite/datetime@1` values as UTC.
25
- *
26
- * The registry is the single resolution point for both row decoding and the
27
- * JSON decoding of included relations, so wrapping it covers every read path
28
- * without touching encoding. Prisma Next rejects a second descriptor for an
29
- * already-registered codec id, so an extension pack cannot replace the codec
30
- * itself. Must run before the first query, because the runtime reads the
31
- * registry off the context when it is created.
32
- *
33
- * Codecs are identified by the resolved reference rather than by `codec.id`:
34
- * Prisma Next materializes a codec through an unbound descriptor factory, so
35
- * the instance's `id` accessor throws.
36
- */
13
+ // The registry resolves codecs for rows and included relations alike, and Prisma Next rejects a second descriptor for a registered
14
+ // codec id, so wrapping the registry is the one way to cover every read. It must run before the first query, which reads the
15
+ // registry off the context. Codecs are matched by reference because a materialized codec's `id` accessor throws.
37
16
  export const decodeSqliteDatetimesAsUtc = (context) => {
38
17
  const registry = context.contractCodecs;
39
18
  const descriptors = context.codecDescriptors;
@@ -48,6 +27,10 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
48
27
  return utc;
49
28
  };
50
29
  const utcRegistry = {
30
+ forCodecRef: (reference) => {
31
+ const codec = registry.forCodecRef(reference);
32
+ return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
33
+ },
51
34
  forColumn: (namespaceId, table, column) => {
52
35
  const codec = registry.forColumn(namespaceId, table, column);
53
36
  if (codec === undefined) {
@@ -56,11 +39,9 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
56
39
  const reference = descriptors.codecRefForColumn(namespaceId, table, column);
57
40
  return reference?.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
58
41
  },
59
- forCodecRef: (reference) => {
60
- const codec = registry.forCodecRef(reference);
61
- return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
62
- },
63
42
  };
64
- context.contractCodecs = utcRegistry;
43
+ if (!Reflect.set(context, "contractCodecs", utcRegistry)) {
44
+ throw new TypeError("The SQLite execution context does not accept a codec registry");
45
+ }
65
46
  };
66
47
  //# sourceMappingURL=sqlite-datetime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAQA,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAElD,MAAM,gBAAgB,GACrB,6DAA6D,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAU,EAAE,CAChE,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAE3C,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAiB,EAAE,CAAC,CAAC;IAC7D,EAAE,EAAE,qBAAqB;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;IACxD,MAAM,EAAE,CAAC,IAAe,EAAE,OAAO,EAAE,EAAE,CACpC,KAAK,CAAC,MAAM,CACX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAC/D,OAAO,CACP;IACF,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;IAC9C,UAAU,EAAE,CAAC,IAAe,EAAE,EAAE,CAC/B,KAAK,CAAC,UAAU,CACf,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/D;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,OAAyC,EAClC,EAAE;IACT,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,OAAO,EAAgC,CAAC;IAE9D,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAiB,EAAE;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAkB;QAClC,SAAS,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAC9C,WAAW,EACX,KAAK,EACL,MAAM,CACN,CAAC;YACF,OAAO,SAAS,EAAE,OAAO,KAAK,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC;QACD,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,SAAS,CAAC,OAAO,KAAK,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,CAAC;KACD,CAAC;IAED,OAA6C,CAAC,cAAc,GAAG,WAAW,CAAC;AAC7E,CAAC,CAAC"}
1
+ {"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,4 @@
1
1
  export declare const MEMORY_PATH = ":memory:";
2
- /**
3
- * Prisma Next's SQLite driver opens a fresh `node:sqlite` connection for every
4
- * `RuntimeConnection`, so an in-memory database would give each transaction its
5
- * own empty database.
6
- */
7
2
  export declare const assertFileBackedPath: (path: string) => void;
8
- /**
9
- * Apply connect-time pragmas.
10
- *
11
- * The driver already sets `foreign_keys` and `busy_timeout` on every connection
12
- * it opens, but it has no hook for anything else, so durable pragmas such as
13
- * `journal_mode` are applied once against the database file itself.
14
- */
15
- export declare const applySqlitePragmas: (path: string, pragmas: ReadonlyArray<string>) => void;
3
+ export declare const applySqlitePragmas: (path: string, pragmas: readonly string[]) => void;
16
4
  //# sourceMappingURL=sqlite-pragmas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAMnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC9B,MAAM,MAAM,EACZ,SAAS,aAAa,CAAC,MAAM,CAAC,KAC5B,IAaF,CAAC"}
1
+ {"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;AAGtC,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAMnD,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,IAa7E,CAAC"}
@@ -1,22 +1,12 @@
1
1
  import { DatabaseSync } from "node:sqlite";
2
2
  export const MEMORY_PATH = ":memory:";
3
- /**
4
- * Prisma Next's SQLite driver opens a fresh `node:sqlite` connection for every
5
- * `RuntimeConnection`, so an in-memory database would give each transaction its
6
- * own empty database.
7
- */
3
+ // Prisma Next's SQLite driver opens a fresh `node:sqlite` connection per `RuntimeConnection`, so each transaction would get its own empty in-memory database.
8
4
  export const assertFileBackedPath = (path) => {
9
5
  if (path === MEMORY_PATH || path.trim().length === 0) {
10
6
  throw new TypeError("Effect Prisma requires a file-backed SQLite database; transactions run on their own connection and cannot see an in-memory database");
11
7
  }
12
8
  };
13
- /**
14
- * Apply connect-time pragmas.
15
- *
16
- * The driver already sets `foreign_keys` and `busy_timeout` on every connection
17
- * it opens, but it has no hook for anything else, so durable pragmas such as
18
- * `journal_mode` are applied once against the database file itself.
19
- */
9
+ // The driver has no hook for pragmas beyond `foreign_keys` and `busy_timeout`, so durable ones such as `journal_mode` go to the file once.
20
10
  export const applySqlitePragmas = (path, pragmas) => {
21
11
  if (pragmas.length === 0) {
22
12
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-pragmas.js","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAClB,qIAAqI,CACrI,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,IAAY,EACZ,OAA8B,EACvB,EAAE;IACT,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"sqlite-pragmas.js","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC,8JAA8J;AAC9J,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAClB,qIAAqI,CACrI,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,2IAA2I;AAC3I,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAA0B,EAAQ,EAAE;IACpF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Effect } from "effect";
2
- import type { PrismaError } from "../error.js";
2
+ import type { PrismaError } from "../error.ts";
3
3
  export declare const DatabaseTestingTypeId: unique symbol;
4
4
  export interface DatabaseTesting<DatabaseId> {
5
5
  readonly withTestTransaction: <A, E, R>(program: Effect.Effect<A, E, R> & (DatabaseId extends R ? unknown : never)) => Effect.Effect<A, E | PrismaError, DatabaseId | Exclude<R, DatabaseId>>;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAE1C,CAAC;AAEF,MAAM,WAAW,eAAe,CAAC,UAAU;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,KACtE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,mBAAmB,CAAC,UAAU;IAC9C,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,EAC5C,UAAU,MAAM,KACd,eAAe,CAAC,UAAU,CAY5B,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAA+D,CAAC;AAE3G,MAAM,WAAW,eAAe,CAAC,UAAU;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,KACtE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,mBAAmB,CAAC,UAAU;IAC9C,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CAC9D;AAQD,eAAO,MAAM,kBAAkB,GAAI,UAAU,EAAE,UAAU,MAAM,KAAG,eAAe,CAAC,UAAU,CAQ3F,CAAC"}
@@ -1,9 +1,12 @@
1
1
  export const DatabaseTestingTypeId = Symbol.for("@shivaedev/effect-prisma/DatabaseTesting");
2
+ function testingFor(testing) {
3
+ return testing;
4
+ }
2
5
  export const getDatabaseTesting = (database) => {
3
6
  const testing = Reflect.get(database, DatabaseTestingTypeId);
4
- if (testing === undefined) {
7
+ if (typeof testing !== "object" || testing === null || typeof Reflect.get(testing, "withTestTransaction") !== "function") {
5
8
  throw new TypeError("The database was not created by this copy of @shivaedev/effect-prisma");
6
9
  }
7
- return testing;
10
+ return testingFor(testing);
8
11
  };
9
12
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CAAC,GAAG,CAC7D,0CAA0C,CAC1C,CAAC;AAYF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,QAAgB,EACc,EAAE;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAE/C,CAAC;IAEb,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAClB,uEAAuE,CACvE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAc3G,SAAS,UAAU,CAAC,OAAe;IAClC,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAa,QAAgB,EAA+B,EAAE;IAC/F,MAAM,OAAO,GAAY,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAEtE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,UAAU,EAAE,CAAC;QAC1H,MAAM,IAAI,SAAS,CAAC,uEAAuE,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,UAAU,CAAa,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { orm } from "@prisma-next/sql-orm-client";
2
- import type { RuntimeConnection, RuntimeTransaction } from "@prisma-next/sql-runtime";
3
2
  import { Effect, Exit, Semaphore } from "effect";
4
- import type { PrismaError } from "../error.js";
5
- import type { AnySqlContract, DatabaseExecutor } from "./executor.js";
3
+ import type { PrismaError } from "../error.ts";
4
+ import { type SettledConnection, type SettledTransaction } from "./adapters/transaction-settlement.ts";
5
+ import type { AnySqlContract, DatabaseExecutor } from "./executor.ts";
6
6
  export type TransactionOrm<Contract extends AnySqlContract> = ReturnType<typeof orm<Contract>>;
7
7
  export declare const withTransactionSemaphore: <A, E, R>(semaphore: Semaphore.Semaphore | undefined, transaction: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
8
8
  export interface TransactionResource<Models extends object, Contract extends AnySqlContract> {
9
- readonly connection: RuntimeConnection;
10
- readonly transaction: RuntimeTransaction;
9
+ readonly connection: SettledConnection;
11
10
  readonly executor: DatabaseExecutor<Models, Contract> & {
12
11
  readonly querySemaphore: Semaphore.Semaphore;
13
12
  };
13
+ readonly transaction: SettledTransaction;
14
14
  }
15
15
  export declare const acquireTransaction: <Models extends object, Contract extends AnySqlContract>(current: DatabaseExecutor<Models, Contract>, models: (orm: TransactionOrm<Contract>) => Models, mode: "test" | "transaction") => Effect.Effect<TransactionResource<Models, Contract>, PrismaError>;
16
16
  export declare const releaseTransaction: <Models extends object, Contract extends AnySqlContract, A, E>(resource: TransactionResource<Models, Contract>, exit: Exit.Exit<A, E>) => Effect.Effect<void, PrismaError>;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,cAAc,IAAI,UAAU,CACvE,OAAO,GAAG,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,WAAW,SAAS,CAAC,SAAS,GAAG,SAAS,EAC1C,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACkD,CAAC;AAE3E,MAAM,WAAW,mBAAmB,CACnC,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,cAAc;IAE/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;QACvD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC;KAC7C,CAAC;CACF;AASD,eAAO,MAAM,kBAAkB,GAC9B,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,cAAc,EAE/B,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,MAAM,EACjD,MAAM,MAAM,GAAG,aAAa,KAC1B,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAgChE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAC9B,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,cAAc,EAC/B,CAAC,EACD,CAAC,EAED,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA4C,CAAC;AAE/E,eAAO,MAAM,sBAAsB,GAClC,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,cAAc,EAC/B,CAAC,EACD,CAAC,EAED,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA6C,CAAC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAoB,MAAM,sCAAsC,CAAC;AACzH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,cAAc,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/F,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,WAAW,SAAS,CAAC,SAAS,GAAG,SAAS,EAC1C,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgF,CAAC;AAEzG,MAAM,WAAW,mBAAmB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc;IAC1F,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;QACvD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC;KAC7C,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CACzC;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EACxF,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,MAAM,EACjD,MAAM,MAAM,GAAG,aAAa,KAC1B,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAgChE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,EAC9F,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA4C,CAAC;AAE/E,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,EAClG,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA6C,CAAC"}
@@ -1,19 +1,18 @@
1
1
  import { orm } from "@prisma-next/sql-orm-client";
2
2
  import { Effect, Exit, Semaphore } from "effect";
3
+ import { settleConnection } from "./adapters/transaction-settlement.js";
3
4
  import { fromPrismaPromise } from "./promise.js";
4
- export const withTransactionSemaphore = (semaphore, transaction) => semaphore === undefined ? transaction : semaphore.withPermit(transaction);
5
- const runtimeFailure = (code, cause, details) => Object.assign(new Error(code, { cause }), { code, ...details });
5
+ export const withTransactionSemaphore = (semaphore, transaction) => (semaphore === undefined ? transaction : semaphore.withPermit(transaction));
6
6
  export const acquireTransaction = (current, models, mode) => fromPrismaPromise(async () => {
7
7
  const connection = await current.client.runtime().connection();
8
8
  try {
9
9
  const transaction = await connection.transaction();
10
10
  const transactionOrm = orm({
11
- runtime: transaction,
12
11
  context: current.client.context,
12
+ runtime: transaction,
13
13
  });
14
14
  return {
15
15
  connection,
16
- transaction,
17
16
  executor: {
18
17
  client: current.client,
19
18
  identity: current.identity,
@@ -27,6 +26,7 @@ export const acquireTransaction = (current, models, mode) => fromPrismaPromise(a
27
26
  transactionIdentity: {},
28
27
  transactionSemaphore: current.transactionSemaphore,
29
28
  },
29
+ transaction,
30
30
  };
31
31
  }
32
32
  catch (error) {
@@ -38,53 +38,5 @@ export const releaseTransaction = (resource, exit) => settleTransaction(resource
38
38
  export const releaseTestTransaction = (resource, exit) => settleTransaction(resource, exit, false);
39
39
  const settleTransaction = (resource, exit, commitOnSuccess) => Effect.uninterruptible(Effect.sync(() => {
40
40
  resource.executor.liveness.open = false;
41
- }).pipe(Effect.andThen(resource.executor.querySemaphore.withPermit(fromPrismaPromise(async () => {
42
- let disposed = false;
43
- let failure;
44
- const destroy = async (reason) => {
45
- if (disposed) {
46
- return;
47
- }
48
- disposed = true;
49
- await resource.connection.destroy(reason).catch(() => undefined);
50
- };
51
- if (commitOnSuccess && Exit.isSuccess(exit)) {
52
- try {
53
- await resource.transaction.commit();
54
- }
55
- catch (commitError) {
56
- try {
57
- await resource.transaction.rollback();
58
- }
59
- catch {
60
- await destroy(commitError);
61
- }
62
- failure = runtimeFailure("RUNTIME.TRANSACTION_COMMIT_FAILED", commitError);
63
- }
64
- }
65
- else {
66
- try {
67
- await resource.transaction.rollback();
68
- }
69
- catch (rollbackError) {
70
- await destroy(rollbackError);
71
- failure = runtimeFailure("RUNTIME.TRANSACTION_ROLLBACK_FAILED", rollbackError);
72
- }
73
- }
74
- if (!disposed) {
75
- try {
76
- await resource.connection.release();
77
- }
78
- catch (releaseError) {
79
- await destroy(releaseError);
80
- if (failure !== undefined) {
81
- throw runtimeFailure("RUNTIME.TRANSACTION_RELEASE_FAILED", failure, { releaseError });
82
- }
83
- throw releaseError;
84
- }
85
- }
86
- if (failure !== undefined) {
87
- throw failure;
88
- }
89
- })))));
41
+ }).pipe(Effect.andThen(resource.executor.querySemaphore.withPermit(fromPrismaPromise(() => settleConnection(resource, commitOnSuccess && Exit.isSuccess(exit)))))));
90
42
  //# sourceMappingURL=transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAmD,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,SAA0C,EAC1C,WAAmC,EACV,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAUzG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,OAA2C,EAC3C,MAAiD,EACjD,IAA4B,EACwC,EAAE,CACtE,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IAE/D,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,GAAG,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,OAAO,EAAE,WAAW;SACpB,CAAC,CAAC;QAEH,OAAO;YACN,UAAU;YACV,QAAQ,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE;oBACT,UAAU,EAAE,4BAA4B;oBACxC,IAAI,EAAE,IAAI;iBACV;gBACD,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;gBAC9B,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvC,mBAAmB,EAAE,EAAE;gBACvB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aAClD;YACD,WAAW;SACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,QAA+C,EAC/C,IAAqB,EACc,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,QAA+C,EAC/C,IAAqB,EACc,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEhF,MAAM,iBAAiB,GAAG,CACzB,QAA+C,EAC/C,IAAqB,EACrB,eAAwB,EACW,EAAE,CACrC,MAAM,CAAC,eAAe,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAChB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;AACzC,CAAC,CAAC,CAAC,IAAI,CACN,MAAM,CAAC,OAAO,CACb,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzI,CACD,CACD,CAAC"}
@@ -29,6 +29,6 @@ type AnyNullableField<Fields, Names extends readonly string[]> = Names extends r
29
29
  ] ? Head extends keyof Fields ? Fields[Head] extends {
30
30
  readonly nullable: true;
31
31
  } ? true : AnyNullableField<Fields, Tail> : true : false;
32
- export type IncludedRelationValue<Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = RelationCardinalityOf<Contract, Model, RelationName> extends "1:N" | "N:M" ? Array<Value> : RelationCardinalityOf<Contract, Model, RelationName> extends "N:1" ? AnyNullableField<ModelFields<Contract, Model>, RelationLocalFields<Contract, Model, RelationName>> extends true ? Value | null : Value : Value | null;
32
+ export type IncludedRelationValue<Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = RelationCardinalityOf<Contract, Model, RelationName> extends "1:N" | "N:M" ? Value[] : RelationCardinalityOf<Contract, Model, RelationName> extends "N:1" ? AnyNullableField<ModelFields<Contract, Model>, RelationLocalFields<Contract, Model, RelationName>> extends true ? Value | null : Value : Value | null;
33
33
  export {};
34
34
  //# sourceMappingURL=include-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"include-metadata.d.ts","sourceRoot":"","sources":["../../src/relation/include-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"include-metadata.d.ts","sourceRoot":"","sources":["../../src/relation/include-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { DefaultModelRow, Collection as PrismaCollection, RelationNames } from "@prisma-next/sql-orm-client";
2
- import type { Relation, RelationQuery } from "../relation.js";
3
- import type { AnyPostgresContract, IncludedRelationValue, IsToManyRelation, RelatedModelNameOf } from "./include-metadata.js";
2
+ import type { Relation, RelationQuery } from "../relation.ts";
3
+ import type { AnyPostgresContract, IncludedRelationValue, IsToManyRelation, RelatedModelNameOf } from "./include-metadata.ts";
4
4
  type Simplify<Value> = {
5
5
  [Key in keyof Value]: Value[Key];
6
6
  };
@@ -18,10 +18,13 @@ type AcceptRelatedQueryShape<Shape extends Readonly<Record<string, unknown>>, Co
18
18
  type WithIncludedRelation<Collection, Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = Collection extends PrismaCollection<Contract, Model, infer Row, infer State> ? PrismaCollection<Contract, Model, Simplify<Row & {
19
19
  readonly [Key in RelationName]: Value;
20
20
  }>, State> : never;
21
+ interface IncludeOverloads<Collection, Contract extends AnyPostgresContract, Model extends string, DatabaseId> {
22
+ <RelationName extends RelationNames<Contract, Model>>(relationName: RelationName): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedRelationValue<Contract, Model, RelationName, DefaultModelRow<Contract, RelatedModelNameOf<Contract, Model, RelationName>>>>, Contract, Model, DatabaseId>;
23
+ <RelationName extends RelationNames<Contract, Model>, Query>(relationName: RelationName, query: Query & AcceptRelatedQuery<Query, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId>): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedQueryValue<Query, Contract, Model, RelationName>>, Contract, Model, DatabaseId>;
24
+ <RelationName extends RelationNames<Contract, Model>, Shape extends Readonly<Record<string, unknown>>>(relationName: RelationName, shape: IsToManyRelation<Contract, Model, RelationName> extends true ? keyof Shape extends never ? never : Shape & AcceptRelatedQueryShape<Shape, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId> : never): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, QueryShapeValue<Shape>>, Contract, Model, DatabaseId>;
25
+ }
21
26
  export type IncludeMethod<Collection, Contract, Model extends string, DatabaseId> = Contract extends AnyPostgresContract ? Collection extends PrismaCollection<Contract, Model, infer _Row, infer _State> ? {
22
- include<RelationName extends RelationNames<Contract, Model>>(relationName: RelationName): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedRelationValue<Contract, Model, RelationName, DefaultModelRow<Contract, RelatedModelNameOf<Contract, Model, RelationName>>>>, Contract, Model, DatabaseId>;
23
- include<RelationName extends RelationNames<Contract, Model>, Query>(relationName: RelationName, query: Query & AcceptRelatedQuery<Query, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId>): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedQueryValue<Query, Contract, Model, RelationName>>, Contract, Model, DatabaseId>;
24
- include<RelationName extends RelationNames<Contract, Model>, Shape extends Readonly<Record<string, unknown>>>(relationName: RelationName, shape: IsToManyRelation<Contract, Model, RelationName> extends true ? keyof Shape extends never ? never : Shape & AcceptRelatedQueryShape<Shape, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId> : never): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, QueryShapeValue<Shape>>, Contract, Model, DatabaseId>;
27
+ include: IncludeOverloads<Collection, Contract, Model, DatabaseId>;
25
28
  } : Record<never, never> : Record<never, never>;
26
29
  export {};
27
30
  //# sourceMappingURL=include.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../src/relation/include.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../src/relation/include.ts"],"names":[],"mappings":"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"}