@prisma-next/sql-relational-core 0.3.0-dev.11 → 0.3.0-dev.113

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 (188) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +18 -1
  3. package/dist/errors-BNiBIGfC.d.mts +2 -0
  4. package/dist/errors-DXSQwbhk.mjs +3 -0
  5. package/dist/exports/ast.d.mts +126 -0
  6. package/dist/exports/ast.d.mts.map +1 -0
  7. package/dist/exports/ast.mjs +253 -0
  8. package/dist/exports/ast.mjs.map +1 -0
  9. package/dist/exports/errors.d.mts +2 -0
  10. package/dist/exports/errors.mjs +3 -0
  11. package/dist/exports/guards.d.mts +5 -0
  12. package/dist/exports/guards.mjs +3 -0
  13. package/dist/exports/operations-registry.d.mts +5 -0
  14. package/dist/exports/operations-registry.mjs +3 -0
  15. package/dist/exports/param.d.mts +5 -0
  16. package/dist/exports/param.mjs +3 -0
  17. package/dist/exports/plan.d.mts +2 -0
  18. package/dist/exports/plan.mjs +17 -0
  19. package/dist/exports/plan.mjs.map +1 -0
  20. package/dist/exports/query-lane-context.d.mts +2 -0
  21. package/dist/exports/query-lane-context.mjs +1 -0
  22. package/dist/exports/query-operations.d.mts +2 -0
  23. package/dist/exports/query-operations.mjs +18 -0
  24. package/dist/exports/query-operations.mjs.map +1 -0
  25. package/dist/exports/schema.d.mts +5 -0
  26. package/dist/exports/schema.mjs +4 -0
  27. package/dist/exports/types.d.mts +4 -0
  28. package/dist/exports/types.mjs +3 -0
  29. package/dist/exports/utils/guards.d.mts +5 -0
  30. package/dist/exports/utils/guards.mjs +3 -0
  31. package/dist/guards-D1ax7TKN.mjs +57 -0
  32. package/dist/guards-D1ax7TKN.mjs.map +1 -0
  33. package/dist/guards-DC2Ll67p.d.mts +31 -0
  34. package/dist/guards-DC2Ll67p.d.mts.map +1 -0
  35. package/dist/index.d.mts +12 -0
  36. package/dist/index.mjs +13 -0
  37. package/dist/operations-registry-CBmGut8O.d.mts +9 -0
  38. package/dist/operations-registry-CBmGut8O.d.mts.map +1 -0
  39. package/dist/operations-registry-D8INFH9J.mjs +145 -0
  40. package/dist/operations-registry-D8INFH9J.mjs.map +1 -0
  41. package/dist/param-CFyhvphn.mjs +14 -0
  42. package/dist/param-CFyhvphn.mjs.map +1 -0
  43. package/dist/param-Cmdv_exJ.d.mts +8 -0
  44. package/dist/param-Cmdv_exJ.d.mts.map +1 -0
  45. package/dist/plan-BrZtMUA9.d.mts +517 -0
  46. package/dist/plan-BrZtMUA9.d.mts.map +1 -0
  47. package/dist/query-lane-context-BTtg0xm8.d.mts +278 -0
  48. package/dist/query-lane-context-BTtg0xm8.d.mts.map +1 -0
  49. package/dist/query-operation-registry-B6bClJs8.d.mts +27 -0
  50. package/dist/query-operation-registry-B6bClJs8.d.mts.map +1 -0
  51. package/dist/schema-XcyJSq4j.mjs +174 -0
  52. package/dist/schema-XcyJSq4j.mjs.map +1 -0
  53. package/dist/schema-j3Srik3R.d.mts +88 -0
  54. package/dist/schema-j3Srik3R.d.mts.map +1 -0
  55. package/dist/types-BZKzxgOb.mjs +18 -0
  56. package/dist/types-BZKzxgOb.mjs.map +1 -0
  57. package/dist/types-CMyotK6U.d.mts +443 -0
  58. package/dist/types-CMyotK6U.d.mts.map +1 -0
  59. package/dist/types-I6Hsg-GU.mjs +1102 -0
  60. package/dist/types-I6Hsg-GU.mjs.map +1 -0
  61. package/package.json +40 -56
  62. package/src/ast/codec-types.ts +123 -22
  63. package/src/ast/driver-types.ts +20 -3
  64. package/src/ast/join.ts +3 -23
  65. package/src/ast/sql-codecs.ts +81 -0
  66. package/src/ast/types.ts +1704 -74
  67. package/src/exports/ast.ts +1 -7
  68. package/src/exports/guards.ts +3 -4
  69. package/src/exports/query-operations.ts +1 -0
  70. package/src/exports/utils/guards.ts +1 -0
  71. package/src/operations-registry.ts +115 -89
  72. package/src/plan.ts +4 -4
  73. package/src/query-lane-context.ts +79 -1
  74. package/src/query-operation-registry.ts +35 -0
  75. package/src/schema.ts +104 -43
  76. package/src/types.ts +333 -84
  77. package/src/utils/guards.ts +44 -80
  78. package/dist/ast/adapter-types.d.ts +0 -28
  79. package/dist/ast/adapter-types.d.ts.map +0 -1
  80. package/dist/ast/codec-types.d.ts +0 -141
  81. package/dist/ast/codec-types.d.ts.map +0 -1
  82. package/dist/ast/common.d.ts +0 -7
  83. package/dist/ast/common.d.ts.map +0 -1
  84. package/dist/ast/delete.d.ts +0 -8
  85. package/dist/ast/delete.d.ts.map +0 -1
  86. package/dist/ast/driver-types.d.ts +0 -20
  87. package/dist/ast/driver-types.d.ts.map +0 -1
  88. package/dist/ast/insert.d.ts +0 -8
  89. package/dist/ast/insert.d.ts.map +0 -1
  90. package/dist/ast/join.d.ts +0 -6
  91. package/dist/ast/join.d.ts.map +0 -1
  92. package/dist/ast/order.d.ts +0 -6
  93. package/dist/ast/order.d.ts.map +0 -1
  94. package/dist/ast/predicate.d.ts +0 -4
  95. package/dist/ast/predicate.d.ts.map +0 -1
  96. package/dist/ast/select.d.ts +0 -18
  97. package/dist/ast/select.d.ts.map +0 -1
  98. package/dist/ast/types.d.ts +0 -118
  99. package/dist/ast/types.d.ts.map +0 -1
  100. package/dist/ast/update.d.ts +0 -9
  101. package/dist/ast/update.d.ts.map +0 -1
  102. package/dist/ast/util.d.ts +0 -2
  103. package/dist/ast/util.d.ts.map +0 -1
  104. package/dist/chunk-2F7DSEOU.js +0 -8
  105. package/dist/chunk-2F7DSEOU.js.map +0 -1
  106. package/dist/chunk-36WJWNHT.js +0 -1
  107. package/dist/chunk-36WJWNHT.js.map +0 -1
  108. package/dist/chunk-5N34PNVZ.js +0 -62
  109. package/dist/chunk-5N34PNVZ.js.map +0 -1
  110. package/dist/chunk-7I3EMQID.js +0 -16
  111. package/dist/chunk-7I3EMQID.js.map +0 -1
  112. package/dist/chunk-CBTYMOX2.js +0 -152
  113. package/dist/chunk-CBTYMOX2.js.map +0 -1
  114. package/dist/chunk-G52ENULI.js +0 -1
  115. package/dist/chunk-G52ENULI.js.map +0 -1
  116. package/dist/chunk-KYSP7L5C.js +0 -16
  117. package/dist/chunk-KYSP7L5C.js.map +0 -1
  118. package/dist/chunk-M23L3JHG.js +0 -159
  119. package/dist/chunk-M23L3JHG.js.map +0 -1
  120. package/dist/chunk-MM74SVJ4.js +0 -13
  121. package/dist/chunk-MM74SVJ4.js.map +0 -1
  122. package/dist/chunk-U7AXAUJA.js +0 -1
  123. package/dist/chunk-U7AXAUJA.js.map +0 -1
  124. package/dist/chunk-WZBPVEZI.js +0 -320
  125. package/dist/chunk-WZBPVEZI.js.map +0 -1
  126. package/dist/errors.d.ts +0 -2
  127. package/dist/errors.d.ts.map +0 -1
  128. package/dist/exports/ast.d.ts +0 -14
  129. package/dist/exports/ast.d.ts.map +0 -1
  130. package/dist/exports/ast.js +0 -46
  131. package/dist/exports/ast.js.map +0 -1
  132. package/dist/exports/errors.d.ts +0 -2
  133. package/dist/exports/errors.d.ts.map +0 -1
  134. package/dist/exports/errors.js +0 -9
  135. package/dist/exports/errors.js.map +0 -1
  136. package/dist/exports/guards.d.ts +0 -2
  137. package/dist/exports/guards.d.ts.map +0 -1
  138. package/dist/exports/guards.js +0 -21
  139. package/dist/exports/guards.js.map +0 -1
  140. package/dist/exports/operations-registry.d.ts +0 -2
  141. package/dist/exports/operations-registry.d.ts.map +0 -1
  142. package/dist/exports/operations-registry.js +0 -9
  143. package/dist/exports/operations-registry.js.map +0 -1
  144. package/dist/exports/param.d.ts +0 -3
  145. package/dist/exports/param.d.ts.map +0 -1
  146. package/dist/exports/param.js +0 -7
  147. package/dist/exports/param.js.map +0 -1
  148. package/dist/exports/plan.d.ts +0 -2
  149. package/dist/exports/plan.d.ts.map +0 -1
  150. package/dist/exports/plan.js +0 -7
  151. package/dist/exports/plan.js.map +0 -1
  152. package/dist/exports/query-lane-context.d.ts +0 -2
  153. package/dist/exports/query-lane-context.d.ts.map +0 -1
  154. package/dist/exports/query-lane-context.js +0 -2
  155. package/dist/exports/query-lane-context.js.map +0 -1
  156. package/dist/exports/schema.d.ts +0 -3
  157. package/dist/exports/schema.d.ts.map +0 -1
  158. package/dist/exports/schema.js +0 -14
  159. package/dist/exports/schema.js.map +0 -1
  160. package/dist/exports/types.d.ts +0 -2
  161. package/dist/exports/types.d.ts.map +0 -1
  162. package/dist/exports/types.js +0 -10
  163. package/dist/exports/types.js.map +0 -1
  164. package/dist/index.d.ts +0 -9
  165. package/dist/index.d.ts.map +0 -1
  166. package/dist/index.js +0 -81
  167. package/dist/index.js.map +0 -1
  168. package/dist/operations-registry.d.ts +0 -5
  169. package/dist/operations-registry.d.ts.map +0 -1
  170. package/dist/param.d.ts +0 -4
  171. package/dist/param.d.ts.map +0 -1
  172. package/dist/plan.d.ts +0 -23
  173. package/dist/plan.d.ts.map +0 -1
  174. package/dist/query-lane-context.d.ts +0 -16
  175. package/dist/query-lane-context.d.ts.map +0 -1
  176. package/dist/schema.d.ts +0 -63
  177. package/dist/schema.d.ts.map +0 -1
  178. package/dist/types.d.ts +0 -332
  179. package/dist/types.d.ts.map +0 -1
  180. package/dist/utils/guards.d.ts +0 -55
  181. package/dist/utils/guards.d.ts.map +0 -1
  182. package/src/ast/common.ts +0 -36
  183. package/src/ast/delete.ts +0 -17
  184. package/src/ast/insert.ts +0 -17
  185. package/src/ast/order.ts +0 -11
  186. package/src/ast/predicate.ts +0 -30
  187. package/src/ast/select.ts +0 -39
  188. package/src/ast/update.ts +0 -19
@@ -0,0 +1,81 @@
1
+ import { type as arktype } from 'arktype';
2
+ import { codec, defineCodecs } from './codec-types';
3
+
4
+ export const SQL_CHAR_CODEC_ID = 'sql/char@1' as const;
5
+ export const SQL_VARCHAR_CODEC_ID = 'sql/varchar@1' as const;
6
+ export const SQL_INT_CODEC_ID = 'sql/int@1' as const;
7
+ export const SQL_FLOAT_CODEC_ID = 'sql/float@1' as const;
8
+
9
+ const lengthParamsSchema = arktype({
10
+ length: 'number.integer > 0',
11
+ });
12
+
13
+ type LengthTypeHelper = {
14
+ readonly kind: 'fixed' | 'variable';
15
+ readonly maxLength: number;
16
+ };
17
+
18
+ function createLengthTypeHelper(
19
+ kind: LengthTypeHelper['kind'],
20
+ ): (params: Record<string, unknown>) => LengthTypeHelper {
21
+ return (params) => ({
22
+ kind,
23
+ maxLength: params['length'] as number,
24
+ });
25
+ }
26
+
27
+ const sqlCharCodec = codec<
28
+ typeof SQL_CHAR_CODEC_ID,
29
+ readonly ['equality', 'order', 'textual'],
30
+ string,
31
+ string
32
+ >({
33
+ typeId: SQL_CHAR_CODEC_ID,
34
+ targetTypes: ['char'],
35
+ traits: ['equality', 'order', 'textual'],
36
+ encode: (value: string): string => value,
37
+ decode: (wire: string): string => wire.trimEnd(),
38
+ paramsSchema: lengthParamsSchema,
39
+ init: createLengthTypeHelper('fixed'),
40
+ });
41
+
42
+ const sqlVarcharCodec = codec<
43
+ typeof SQL_VARCHAR_CODEC_ID,
44
+ readonly ['equality', 'order', 'textual'],
45
+ string,
46
+ string
47
+ >({
48
+ typeId: SQL_VARCHAR_CODEC_ID,
49
+ targetTypes: ['varchar'],
50
+ traits: ['equality', 'order', 'textual'],
51
+ encode: (value: string): string => value,
52
+ decode: (wire: string): string => wire,
53
+ paramsSchema: lengthParamsSchema,
54
+ init: createLengthTypeHelper('variable'),
55
+ });
56
+
57
+ const sqlIntCodec = codec({
58
+ typeId: SQL_INT_CODEC_ID,
59
+ targetTypes: ['int'],
60
+ traits: ['equality', 'order', 'numeric'],
61
+ encode: (value: number): number => value,
62
+ decode: (wire: number): number => wire,
63
+ });
64
+
65
+ const sqlFloatCodec = codec({
66
+ typeId: SQL_FLOAT_CODEC_ID,
67
+ targetTypes: ['float'],
68
+ traits: ['equality', 'order', 'numeric'],
69
+ encode: (value: number): number => value,
70
+ decode: (wire: number): number => wire,
71
+ });
72
+
73
+ const codecs = defineCodecs()
74
+ .add('char', sqlCharCodec)
75
+ .add('varchar', sqlVarcharCodec)
76
+ .add('int', sqlIntCodec)
77
+ .add('float', sqlFloatCodec);
78
+
79
+ export const sqlCodecDefinitions = codecs.codecDefinitions;
80
+ export const sqlDataTypes = codecs.dataTypes;
81
+ export type SqlCodecTypes = typeof codecs.CodecTypes;