grafeo-ogm 1.0.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 (333) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1121 -0
  3. package/dist/cjs/compilers/fulltext.compiler.d.ts +67 -0
  4. package/dist/cjs/compilers/fulltext.compiler.d.ts.map +1 -0
  5. package/dist/cjs/compilers/fulltext.compiler.js +254 -0
  6. package/dist/cjs/compilers/fulltext.compiler.js.map +1 -0
  7. package/dist/cjs/compilers/mutation.compiler.d.ts +126 -0
  8. package/dist/cjs/compilers/mutation.compiler.d.ts.map +1 -0
  9. package/dist/cjs/compilers/mutation.compiler.js +1239 -0
  10. package/dist/cjs/compilers/mutation.compiler.js.map +1 -0
  11. package/dist/cjs/compilers/select-normalizer.d.ts +50 -0
  12. package/dist/cjs/compilers/select-normalizer.d.ts.map +1 -0
  13. package/dist/cjs/compilers/select-normalizer.js +225 -0
  14. package/dist/cjs/compilers/select-normalizer.js.map +1 -0
  15. package/dist/cjs/compilers/selection.compiler.d.ts +113 -0
  16. package/dist/cjs/compilers/selection.compiler.d.ts.map +1 -0
  17. package/dist/cjs/compilers/selection.compiler.js +410 -0
  18. package/dist/cjs/compilers/selection.compiler.js.map +1 -0
  19. package/dist/cjs/compilers/where.compiler.d.ts +39 -0
  20. package/dist/cjs/compilers/where.compiler.d.ts.map +1 -0
  21. package/dist/cjs/compilers/where.compiler.js +456 -0
  22. package/dist/cjs/compilers/where.compiler.js.map +1 -0
  23. package/dist/cjs/errors.d.ts +28 -0
  24. package/dist/cjs/errors.d.ts.map +1 -0
  25. package/dist/cjs/errors.js +42 -0
  26. package/dist/cjs/errors.js.map +1 -0
  27. package/dist/cjs/execution/executor.d.ts +38 -0
  28. package/dist/cjs/execution/executor.d.ts.map +1 -0
  29. package/dist/cjs/execution/executor.js +50 -0
  30. package/dist/cjs/execution/executor.js.map +1 -0
  31. package/dist/cjs/execution/result-mapper.d.ts +26 -0
  32. package/dist/cjs/execution/result-mapper.d.ts.map +1 -0
  33. package/dist/cjs/execution/result-mapper.js +92 -0
  34. package/dist/cjs/execution/result-mapper.js.map +1 -0
  35. package/dist/cjs/generator/generate-types.d.ts +55 -0
  36. package/dist/cjs/generator/generate-types.d.ts.map +1 -0
  37. package/dist/cjs/generator/generate-types.js +181 -0
  38. package/dist/cjs/generator/generate-types.js.map +1 -0
  39. package/dist/cjs/generator/index.d.ts +3 -0
  40. package/dist/cjs/generator/index.d.ts.map +1 -0
  41. package/dist/cjs/generator/index.js +6 -0
  42. package/dist/cjs/generator/index.js.map +1 -0
  43. package/dist/cjs/generator/type-emitters/aggregation-emitter.d.ts +7 -0
  44. package/dist/cjs/generator/type-emitters/aggregation-emitter.d.ts.map +1 -0
  45. package/dist/cjs/generator/type-emitters/aggregation-emitter.js +196 -0
  46. package/dist/cjs/generator/type-emitters/aggregation-emitter.js.map +1 -0
  47. package/dist/cjs/generator/type-emitters/connection-emitter.d.ts +22 -0
  48. package/dist/cjs/generator/type-emitters/connection-emitter.d.ts.map +1 -0
  49. package/dist/cjs/generator/type-emitters/connection-emitter.js +270 -0
  50. package/dist/cjs/generator/type-emitters/connection-emitter.js.map +1 -0
  51. package/dist/cjs/generator/type-emitters/enum-emitter.d.ts +7 -0
  52. package/dist/cjs/generator/type-emitters/enum-emitter.d.ts.map +1 -0
  53. package/dist/cjs/generator/type-emitters/enum-emitter.js +45 -0
  54. package/dist/cjs/generator/type-emitters/enum-emitter.js.map +1 -0
  55. package/dist/cjs/generator/type-emitters/fulltext-emitter.d.ts +15 -0
  56. package/dist/cjs/generator/type-emitters/fulltext-emitter.d.ts.map +1 -0
  57. package/dist/cjs/generator/type-emitters/fulltext-emitter.js +80 -0
  58. package/dist/cjs/generator/type-emitters/fulltext-emitter.js.map +1 -0
  59. package/dist/cjs/generator/type-emitters/helpers.d.ts +32 -0
  60. package/dist/cjs/generator/type-emitters/helpers.d.ts.map +1 -0
  61. package/dist/cjs/generator/type-emitters/helpers.js +69 -0
  62. package/dist/cjs/generator/type-emitters/helpers.js.map +1 -0
  63. package/dist/cjs/generator/type-emitters/input-emitter.d.ts +6 -0
  64. package/dist/cjs/generator/type-emitters/input-emitter.d.ts.map +1 -0
  65. package/dist/cjs/generator/type-emitters/input-emitter.js +560 -0
  66. package/dist/cjs/generator/type-emitters/input-emitter.js.map +1 -0
  67. package/dist/cjs/generator/type-emitters/interface-emitter.d.ts +10 -0
  68. package/dist/cjs/generator/type-emitters/interface-emitter.d.ts.map +1 -0
  69. package/dist/cjs/generator/type-emitters/interface-emitter.js +88 -0
  70. package/dist/cjs/generator/type-emitters/interface-emitter.js.map +1 -0
  71. package/dist/cjs/generator/type-emitters/model-map-emitter.d.ts +32 -0
  72. package/dist/cjs/generator/type-emitters/model-map-emitter.d.ts.map +1 -0
  73. package/dist/cjs/generator/type-emitters/model-map-emitter.js +154 -0
  74. package/dist/cjs/generator/type-emitters/model-map-emitter.js.map +1 -0
  75. package/dist/cjs/generator/type-emitters/mutation-response-emitter.d.ts +9 -0
  76. package/dist/cjs/generator/type-emitters/mutation-response-emitter.d.ts.map +1 -0
  77. package/dist/cjs/generator/type-emitters/mutation-response-emitter.js +69 -0
  78. package/dist/cjs/generator/type-emitters/mutation-response-emitter.js.map +1 -0
  79. package/dist/cjs/generator/type-emitters/node-type-emitter.d.ts +13 -0
  80. package/dist/cjs/generator/type-emitters/node-type-emitter.d.ts.map +1 -0
  81. package/dist/cjs/generator/type-emitters/node-type-emitter.js +123 -0
  82. package/dist/cjs/generator/type-emitters/node-type-emitter.js.map +1 -0
  83. package/dist/cjs/generator/type-emitters/select-fields-emitter.d.ts +8 -0
  84. package/dist/cjs/generator/type-emitters/select-fields-emitter.d.ts.map +1 -0
  85. package/dist/cjs/generator/type-emitters/select-fields-emitter.js +169 -0
  86. package/dist/cjs/generator/type-emitters/select-fields-emitter.js.map +1 -0
  87. package/dist/cjs/generator/type-emitters/select-result-emitter.d.ts +9 -0
  88. package/dist/cjs/generator/type-emitters/select-result-emitter.d.ts.map +1 -0
  89. package/dist/cjs/generator/type-emitters/select-result-emitter.js +61 -0
  90. package/dist/cjs/generator/type-emitters/select-result-emitter.js.map +1 -0
  91. package/dist/cjs/generator/type-emitters/sort-options-emitter.d.ts +8 -0
  92. package/dist/cjs/generator/type-emitters/sort-options-emitter.d.ts.map +1 -0
  93. package/dist/cjs/generator/type-emitters/sort-options-emitter.js +47 -0
  94. package/dist/cjs/generator/type-emitters/sort-options-emitter.js.map +1 -0
  95. package/dist/cjs/generator/type-emitters/utility-types.d.ts +10 -0
  96. package/dist/cjs/generator/type-emitters/utility-types.d.ts.map +1 -0
  97. package/dist/cjs/generator/type-emitters/utility-types.js +93 -0
  98. package/dist/cjs/generator/type-emitters/utility-types.js.map +1 -0
  99. package/dist/cjs/generator/type-emitters/where-emitter.d.ts +15 -0
  100. package/dist/cjs/generator/type-emitters/where-emitter.d.ts.map +1 -0
  101. package/dist/cjs/generator/type-emitters/where-emitter.js +189 -0
  102. package/dist/cjs/generator/type-emitters/where-emitter.js.map +1 -0
  103. package/dist/cjs/index.d.ts +30 -0
  104. package/dist/cjs/index.d.ts.map +1 -0
  105. package/dist/cjs/index.js +59 -0
  106. package/dist/cjs/index.js.map +1 -0
  107. package/dist/cjs/interface-model.d.ts +158 -0
  108. package/dist/cjs/interface-model.d.ts.map +1 -0
  109. package/dist/cjs/interface-model.js +214 -0
  110. package/dist/cjs/interface-model.js.map +1 -0
  111. package/dist/cjs/model.d.ts +354 -0
  112. package/dist/cjs/model.d.ts.map +1 -0
  113. package/dist/cjs/model.js +513 -0
  114. package/dist/cjs/model.js.map +1 -0
  115. package/dist/cjs/ogm.d.ts +97 -0
  116. package/dist/cjs/ogm.d.ts.map +1 -0
  117. package/dist/cjs/ogm.js +224 -0
  118. package/dist/cjs/ogm.js.map +1 -0
  119. package/dist/cjs/package.json +1 -0
  120. package/dist/cjs/schema/parser.d.ts +12 -0
  121. package/dist/cjs/schema/parser.d.ts.map +1 -0
  122. package/dist/cjs/schema/parser.js +331 -0
  123. package/dist/cjs/schema/parser.js.map +1 -0
  124. package/dist/cjs/schema/types.d.ts +66 -0
  125. package/dist/cjs/schema/types.d.ts.map +1 -0
  126. package/dist/cjs/schema/types.js +3 -0
  127. package/dist/cjs/schema/types.js.map +1 -0
  128. package/dist/cjs/schema/utils.d.ts +23 -0
  129. package/dist/cjs/schema/utils.d.ts.map +1 -0
  130. package/dist/cjs/schema/utils.js +92 -0
  131. package/dist/cjs/schema/utils.js.map +1 -0
  132. package/dist/cjs/subgraph/index.d.ts +3 -0
  133. package/dist/cjs/subgraph/index.d.ts.map +1 -0
  134. package/dist/cjs/subgraph/index.js +7 -0
  135. package/dist/cjs/subgraph/index.js.map +1 -0
  136. package/dist/cjs/subgraph/subgraph-operations.d.ts +34 -0
  137. package/dist/cjs/subgraph/subgraph-operations.d.ts.map +1 -0
  138. package/dist/cjs/subgraph/subgraph-operations.js +225 -0
  139. package/dist/cjs/subgraph/subgraph-operations.js.map +1 -0
  140. package/dist/cjs/subgraph/types.d.ts +23 -0
  141. package/dist/cjs/subgraph/types.d.ts.map +1 -0
  142. package/dist/cjs/subgraph/types.js +3 -0
  143. package/dist/cjs/subgraph/types.js.map +1 -0
  144. package/dist/cjs/testing/cypher-assert.d.ts +35 -0
  145. package/dist/cjs/testing/cypher-assert.d.ts.map +1 -0
  146. package/dist/cjs/testing/cypher-assert.js +72 -0
  147. package/dist/cjs/testing/cypher-assert.js.map +1 -0
  148. package/dist/cjs/testing/index.d.ts +4 -0
  149. package/dist/cjs/testing/index.d.ts.map +1 -0
  150. package/dist/cjs/testing/index.js +10 -0
  151. package/dist/cjs/testing/index.js.map +1 -0
  152. package/dist/cjs/testing/neo4j-record-factory.d.ts +25 -0
  153. package/dist/cjs/testing/neo4j-record-factory.d.ts.map +1 -0
  154. package/dist/cjs/testing/neo4j-record-factory.js +43 -0
  155. package/dist/cjs/testing/neo4j-record-factory.js.map +1 -0
  156. package/dist/cjs/testing/selection-set-factory.d.ts +24 -0
  157. package/dist/cjs/testing/selection-set-factory.d.ts.map +1 -0
  158. package/dist/cjs/testing/selection-set-factory.js +44 -0
  159. package/dist/cjs/testing/selection-set-factory.js.map +1 -0
  160. package/dist/cjs/utils/lucene.d.ts +9 -0
  161. package/dist/cjs/utils/lucene.d.ts.map +1 -0
  162. package/dist/cjs/utils/lucene.js +25 -0
  163. package/dist/cjs/utils/lucene.js.map +1 -0
  164. package/dist/cjs/utils/validation.d.ts +25 -0
  165. package/dist/cjs/utils/validation.d.ts.map +1 -0
  166. package/dist/cjs/utils/validation.js +53 -0
  167. package/dist/cjs/utils/validation.js.map +1 -0
  168. package/dist/esm/compilers/fulltext.compiler.d.ts +67 -0
  169. package/dist/esm/compilers/fulltext.compiler.d.ts.map +1 -0
  170. package/dist/esm/compilers/fulltext.compiler.js +250 -0
  171. package/dist/esm/compilers/fulltext.compiler.js.map +1 -0
  172. package/dist/esm/compilers/mutation.compiler.d.ts +126 -0
  173. package/dist/esm/compilers/mutation.compiler.d.ts.map +1 -0
  174. package/dist/esm/compilers/mutation.compiler.js +1235 -0
  175. package/dist/esm/compilers/mutation.compiler.js.map +1 -0
  176. package/dist/esm/compilers/select-normalizer.d.ts +50 -0
  177. package/dist/esm/compilers/select-normalizer.d.ts.map +1 -0
  178. package/dist/esm/compilers/select-normalizer.js +221 -0
  179. package/dist/esm/compilers/select-normalizer.js.map +1 -0
  180. package/dist/esm/compilers/selection.compiler.d.ts +113 -0
  181. package/dist/esm/compilers/selection.compiler.d.ts.map +1 -0
  182. package/dist/esm/compilers/selection.compiler.js +406 -0
  183. package/dist/esm/compilers/selection.compiler.js.map +1 -0
  184. package/dist/esm/compilers/where.compiler.d.ts +39 -0
  185. package/dist/esm/compilers/where.compiler.d.ts.map +1 -0
  186. package/dist/esm/compilers/where.compiler.js +452 -0
  187. package/dist/esm/compilers/where.compiler.js.map +1 -0
  188. package/dist/esm/errors.d.ts +28 -0
  189. package/dist/esm/errors.d.ts.map +1 -0
  190. package/dist/esm/errors.js +36 -0
  191. package/dist/esm/errors.js.map +1 -0
  192. package/dist/esm/execution/executor.d.ts +38 -0
  193. package/dist/esm/execution/executor.d.ts.map +1 -0
  194. package/dist/esm/execution/executor.js +46 -0
  195. package/dist/esm/execution/executor.js.map +1 -0
  196. package/dist/esm/execution/result-mapper.d.ts +26 -0
  197. package/dist/esm/execution/result-mapper.d.ts.map +1 -0
  198. package/dist/esm/execution/result-mapper.js +85 -0
  199. package/dist/esm/execution/result-mapper.js.map +1 -0
  200. package/dist/esm/generator/generate-types.d.ts +55 -0
  201. package/dist/esm/generator/generate-types.d.ts.map +1 -0
  202. package/dist/esm/generator/generate-types.js +141 -0
  203. package/dist/esm/generator/generate-types.js.map +1 -0
  204. package/dist/esm/generator/index.d.ts +3 -0
  205. package/dist/esm/generator/index.d.ts.map +1 -0
  206. package/dist/esm/generator/index.js +2 -0
  207. package/dist/esm/generator/index.js.map +1 -0
  208. package/dist/esm/generator/type-emitters/aggregation-emitter.d.ts +7 -0
  209. package/dist/esm/generator/type-emitters/aggregation-emitter.d.ts.map +1 -0
  210. package/dist/esm/generator/type-emitters/aggregation-emitter.js +193 -0
  211. package/dist/esm/generator/type-emitters/aggregation-emitter.js.map +1 -0
  212. package/dist/esm/generator/type-emitters/connection-emitter.d.ts +22 -0
  213. package/dist/esm/generator/type-emitters/connection-emitter.d.ts.map +1 -0
  214. package/dist/esm/generator/type-emitters/connection-emitter.js +266 -0
  215. package/dist/esm/generator/type-emitters/connection-emitter.js.map +1 -0
  216. package/dist/esm/generator/type-emitters/enum-emitter.d.ts +7 -0
  217. package/dist/esm/generator/type-emitters/enum-emitter.d.ts.map +1 -0
  218. package/dist/esm/generator/type-emitters/enum-emitter.js +42 -0
  219. package/dist/esm/generator/type-emitters/enum-emitter.js.map +1 -0
  220. package/dist/esm/generator/type-emitters/fulltext-emitter.d.ts +15 -0
  221. package/dist/esm/generator/type-emitters/fulltext-emitter.d.ts.map +1 -0
  222. package/dist/esm/generator/type-emitters/fulltext-emitter.js +77 -0
  223. package/dist/esm/generator/type-emitters/fulltext-emitter.js.map +1 -0
  224. package/dist/esm/generator/type-emitters/helpers.d.ts +32 -0
  225. package/dist/esm/generator/type-emitters/helpers.d.ts.map +1 -0
  226. package/dist/esm/generator/type-emitters/helpers.js +63 -0
  227. package/dist/esm/generator/type-emitters/helpers.js.map +1 -0
  228. package/dist/esm/generator/type-emitters/input-emitter.d.ts +6 -0
  229. package/dist/esm/generator/type-emitters/input-emitter.d.ts.map +1 -0
  230. package/dist/esm/generator/type-emitters/input-emitter.js +557 -0
  231. package/dist/esm/generator/type-emitters/input-emitter.js.map +1 -0
  232. package/dist/esm/generator/type-emitters/interface-emitter.d.ts +10 -0
  233. package/dist/esm/generator/type-emitters/interface-emitter.d.ts.map +1 -0
  234. package/dist/esm/generator/type-emitters/interface-emitter.js +85 -0
  235. package/dist/esm/generator/type-emitters/interface-emitter.js.map +1 -0
  236. package/dist/esm/generator/type-emitters/model-map-emitter.d.ts +32 -0
  237. package/dist/esm/generator/type-emitters/model-map-emitter.d.ts.map +1 -0
  238. package/dist/esm/generator/type-emitters/model-map-emitter.js +149 -0
  239. package/dist/esm/generator/type-emitters/model-map-emitter.js.map +1 -0
  240. package/dist/esm/generator/type-emitters/mutation-response-emitter.d.ts +9 -0
  241. package/dist/esm/generator/type-emitters/mutation-response-emitter.d.ts.map +1 -0
  242. package/dist/esm/generator/type-emitters/mutation-response-emitter.js +66 -0
  243. package/dist/esm/generator/type-emitters/mutation-response-emitter.js.map +1 -0
  244. package/dist/esm/generator/type-emitters/node-type-emitter.d.ts +13 -0
  245. package/dist/esm/generator/type-emitters/node-type-emitter.d.ts.map +1 -0
  246. package/dist/esm/generator/type-emitters/node-type-emitter.js +120 -0
  247. package/dist/esm/generator/type-emitters/node-type-emitter.js.map +1 -0
  248. package/dist/esm/generator/type-emitters/select-fields-emitter.d.ts +8 -0
  249. package/dist/esm/generator/type-emitters/select-fields-emitter.d.ts.map +1 -0
  250. package/dist/esm/generator/type-emitters/select-fields-emitter.js +166 -0
  251. package/dist/esm/generator/type-emitters/select-fields-emitter.js.map +1 -0
  252. package/dist/esm/generator/type-emitters/select-result-emitter.d.ts +9 -0
  253. package/dist/esm/generator/type-emitters/select-result-emitter.d.ts.map +1 -0
  254. package/dist/esm/generator/type-emitters/select-result-emitter.js +58 -0
  255. package/dist/esm/generator/type-emitters/select-result-emitter.js.map +1 -0
  256. package/dist/esm/generator/type-emitters/sort-options-emitter.d.ts +8 -0
  257. package/dist/esm/generator/type-emitters/sort-options-emitter.d.ts.map +1 -0
  258. package/dist/esm/generator/type-emitters/sort-options-emitter.js +44 -0
  259. package/dist/esm/generator/type-emitters/sort-options-emitter.js.map +1 -0
  260. package/dist/esm/generator/type-emitters/utility-types.d.ts +10 -0
  261. package/dist/esm/generator/type-emitters/utility-types.d.ts.map +1 -0
  262. package/dist/esm/generator/type-emitters/utility-types.js +88 -0
  263. package/dist/esm/generator/type-emitters/utility-types.js.map +1 -0
  264. package/dist/esm/generator/type-emitters/where-emitter.d.ts +15 -0
  265. package/dist/esm/generator/type-emitters/where-emitter.d.ts.map +1 -0
  266. package/dist/esm/generator/type-emitters/where-emitter.js +186 -0
  267. package/dist/esm/generator/type-emitters/where-emitter.js.map +1 -0
  268. package/dist/esm/index.d.ts +30 -0
  269. package/dist/esm/index.d.ts.map +1 -0
  270. package/dist/esm/index.js +29 -0
  271. package/dist/esm/index.js.map +1 -0
  272. package/dist/esm/interface-model.d.ts +158 -0
  273. package/dist/esm/interface-model.d.ts.map +1 -0
  274. package/dist/esm/interface-model.js +210 -0
  275. package/dist/esm/interface-model.js.map +1 -0
  276. package/dist/esm/model.d.ts +354 -0
  277. package/dist/esm/model.d.ts.map +1 -0
  278. package/dist/esm/model.js +507 -0
  279. package/dist/esm/model.js.map +1 -0
  280. package/dist/esm/ogm.d.ts +97 -0
  281. package/dist/esm/ogm.d.ts.map +1 -0
  282. package/dist/esm/ogm.js +220 -0
  283. package/dist/esm/ogm.js.map +1 -0
  284. package/dist/esm/package.json +1 -0
  285. package/dist/esm/schema/parser.d.ts +12 -0
  286. package/dist/esm/schema/parser.d.ts.map +1 -0
  287. package/dist/esm/schema/parser.js +324 -0
  288. package/dist/esm/schema/parser.js.map +1 -0
  289. package/dist/esm/schema/types.d.ts +66 -0
  290. package/dist/esm/schema/types.d.ts.map +1 -0
  291. package/dist/esm/schema/types.js +2 -0
  292. package/dist/esm/schema/types.js.map +1 -0
  293. package/dist/esm/schema/utils.d.ts +23 -0
  294. package/dist/esm/schema/utils.d.ts.map +1 -0
  295. package/dist/esm/schema/utils.js +87 -0
  296. package/dist/esm/schema/utils.js.map +1 -0
  297. package/dist/esm/subgraph/index.d.ts +3 -0
  298. package/dist/esm/subgraph/index.d.ts.map +1 -0
  299. package/dist/esm/subgraph/index.js +2 -0
  300. package/dist/esm/subgraph/index.js.map +1 -0
  301. package/dist/esm/subgraph/subgraph-operations.d.ts +34 -0
  302. package/dist/esm/subgraph/subgraph-operations.d.ts.map +1 -0
  303. package/dist/esm/subgraph/subgraph-operations.js +221 -0
  304. package/dist/esm/subgraph/subgraph-operations.js.map +1 -0
  305. package/dist/esm/subgraph/types.d.ts +23 -0
  306. package/dist/esm/subgraph/types.d.ts.map +1 -0
  307. package/dist/esm/subgraph/types.js +2 -0
  308. package/dist/esm/subgraph/types.js.map +1 -0
  309. package/dist/esm/testing/cypher-assert.d.ts +35 -0
  310. package/dist/esm/testing/cypher-assert.d.ts.map +1 -0
  311. package/dist/esm/testing/cypher-assert.js +68 -0
  312. package/dist/esm/testing/cypher-assert.js.map +1 -0
  313. package/dist/esm/testing/index.d.ts +4 -0
  314. package/dist/esm/testing/index.d.ts.map +1 -0
  315. package/dist/esm/testing/index.js +4 -0
  316. package/dist/esm/testing/index.js.map +1 -0
  317. package/dist/esm/testing/neo4j-record-factory.d.ts +25 -0
  318. package/dist/esm/testing/neo4j-record-factory.d.ts.map +1 -0
  319. package/dist/esm/testing/neo4j-record-factory.js +36 -0
  320. package/dist/esm/testing/neo4j-record-factory.js.map +1 -0
  321. package/dist/esm/testing/selection-set-factory.d.ts +24 -0
  322. package/dist/esm/testing/selection-set-factory.d.ts.map +1 -0
  323. package/dist/esm/testing/selection-set-factory.js +40 -0
  324. package/dist/esm/testing/selection-set-factory.js.map +1 -0
  325. package/dist/esm/utils/lucene.d.ts +9 -0
  326. package/dist/esm/utils/lucene.d.ts.map +1 -0
  327. package/dist/esm/utils/lucene.js +22 -0
  328. package/dist/esm/utils/lucene.js.map +1 -0
  329. package/dist/esm/utils/validation.d.ts +25 -0
  330. package/dist/esm/utils/validation.d.ts.map +1 -0
  331. package/dist/esm/utils/validation.js +46 -0
  332. package/dist/esm/utils/validation.js.map +1 -0
  333. package/package.json +88 -0
@@ -0,0 +1,85 @@
1
+ import { mapScalarType, wrapMaybe, toPascalCase } from './helpers';
2
+ /**
3
+ * Emits interface type declarations and their `*Implementation` enums.
4
+ *
5
+ * For each interface in the schema (sorted alphabetically):
6
+ * 1. `export type Entity = { ... }` — only fields declared on the interface
7
+ * 2. `export enum EntityImplementation { ... }` — if there are implementing types
8
+ */
9
+ export function emitInterfaceTypes(schema) {
10
+ const blocks = [];
11
+ const sortedInterfaces = [...schema.interfaces.entries()].sort(([a], [b]) => a.localeCompare(b));
12
+ for (const [, iface] of sortedInterfaces)
13
+ blocks.push(emitSingleInterface(iface, schema));
14
+ return blocks.join('\n\n');
15
+ }
16
+ // ---------------------------------------------------------------------------
17
+ // Helpers
18
+ // ---------------------------------------------------------------------------
19
+ function emitSingleInterface(iface, schema) {
20
+ const parts = [];
21
+ // --- Interface type ---
22
+ parts.push(emitInterfaceType(iface, schema));
23
+ // --- Implementation enum ---
24
+ if (iface.implementedBy.length > 0)
25
+ parts.push(emitImplementationEnum(iface));
26
+ return parts.join('\n\n');
27
+ }
28
+ /**
29
+ * Emits `export type <Interface> = { ... }` with only the fields declared
30
+ * directly on the interface (no `__typename`).
31
+ */
32
+ function emitInterfaceType(iface, schema) {
33
+ const members = [];
34
+ // --- Scalar properties ---
35
+ for (const [, prop] of iface.properties) {
36
+ if (prop.isCypher)
37
+ continue;
38
+ members.push(emitPropertyField(prop, schema));
39
+ }
40
+ // --- Relationship fields ---
41
+ for (const [, rel] of iface.relationships) {
42
+ members.push(emitRelationshipField(rel));
43
+ members.push(emitConnectionField(iface.name, rel));
44
+ }
45
+ return `export type ${iface.name} = {\n${members.join('\n')}\n};`;
46
+ }
47
+ /**
48
+ * Emits `export enum <Interface>Implementation { ... }`.
49
+ *
50
+ * Members are sorted alphabetically, each with `Name = "Name"`.
51
+ */
52
+ function emitImplementationEnum(iface) {
53
+ const sorted = [...iface.implementedBy].sort();
54
+ const members = sorted.map((name) => ` ${name} = "${name}",`).join('\n');
55
+ return `export enum ${iface.name}Implementation {\n${members}\n}`;
56
+ }
57
+ /**
58
+ * Emits a single scalar property line for an interface field.
59
+ */
60
+ function emitPropertyField(prop, schema) {
61
+ const tsType = mapScalarType(prop.type, schema.enums);
62
+ const wrapped = prop.isArray ? `Array<${tsType}>` : tsType;
63
+ const final = wrapMaybe(wrapped, prop.required);
64
+ const optional = prop.required ? '' : '?';
65
+ return ` ${prop.name}${optional}: ${final};`;
66
+ }
67
+ /**
68
+ * Emits the relationship field line for an interface.
69
+ */
70
+ function emitRelationshipField(rel) {
71
+ if (rel.isArray)
72
+ return ` ${rel.fieldName}: Array<${rel.target}>;`;
73
+ const optional = rel.isRequired ? '' : '?';
74
+ const type = wrapMaybe(rel.target, rel.isRequired);
75
+ return ` ${rel.fieldName}${optional}: ${type};`;
76
+ }
77
+ /**
78
+ * Emits the connection field for a relationship on an interface.
79
+ */
80
+ function emitConnectionField(interfaceName, rel) {
81
+ const pascalField = toPascalCase(rel.fieldName);
82
+ const connectionType = `${interfaceName}${pascalField}Connection`;
83
+ return ` ${rel.fieldName}Connection: ${connectionType};`;
84
+ }
85
+ //# sourceMappingURL=interface-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/interface-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits a model declaration type for each node type, wrapping the generic
4
+ * `ModelInterface` from `grafeo-ogm` with the correct type parameters.
5
+ *
6
+ * Example output:
7
+ * ```typescript
8
+ * export type BookModel = ModelInterface<
9
+ * Book,
10
+ * BookSelectFields,
11
+ * BookWhere,
12
+ * BookCreateInput,
13
+ * BookUpdateInput,
14
+ * BookConnectInput,
15
+ * BookDisconnectInput,
16
+ * BookDeleteInput,
17
+ * 'books'
18
+ * >;
19
+ * ```
20
+ */
21
+ export declare function emitModelDeclarations(schema: SchemaMetadata): string;
22
+ /**
23
+ * Emits the `ModelMap` type that maps every node name to its associated
24
+ * generated types (node type, select fields, where, and mutation inputs).
25
+ */
26
+ export declare function emitModelMap(schema: SchemaMetadata): string;
27
+ /**
28
+ * Emits the `InterfaceModelMap` type that maps every interface name to its
29
+ * associated generated types (interface type and where input).
30
+ */
31
+ export declare function emitInterfaceModelMap(schema: SchemaMetadata): string;
32
+ //# sourceMappingURL=model-map-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-map-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/model-map-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAiBpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAiB3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAWpE"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Emits a model declaration type for each node type, wrapping the generic
3
+ * `ModelInterface` from `grafeo-ogm` with the correct type parameters.
4
+ *
5
+ * Example output:
6
+ * ```typescript
7
+ * export type BookModel = ModelInterface<
8
+ * Book,
9
+ * BookSelectFields,
10
+ * BookWhere,
11
+ * BookCreateInput,
12
+ * BookUpdateInput,
13
+ * BookConnectInput,
14
+ * BookDisconnectInput,
15
+ * BookDeleteInput,
16
+ * 'books'
17
+ * >;
18
+ * ```
19
+ */
20
+ export function emitModelDeclarations(schema) {
21
+ const blocks = [];
22
+ const sortedNodes = [...schema.nodes.keys()].sort();
23
+ for (const typeName of sortedNodes) {
24
+ const node = schema.nodes.get(typeName);
25
+ const hasRels = node.relationships.size > 0;
26
+ blocks.push(buildModelType(typeName, node.pluralName, hasRels));
27
+ }
28
+ // Interface model declarations
29
+ const sortedInterfaces = [...schema.interfaces.keys()].sort();
30
+ for (const ifaceName of sortedInterfaces)
31
+ blocks.push(buildInterfaceModelType(ifaceName));
32
+ return blocks.join('\n\n');
33
+ }
34
+ /**
35
+ * Emits the `ModelMap` type that maps every node name to its associated
36
+ * generated types (node type, select fields, where, and mutation inputs).
37
+ */
38
+ export function emitModelMap(schema) {
39
+ const entries = [];
40
+ const sortedNodes = [...schema.nodes.keys()].sort();
41
+ for (const typeName of sortedNodes) {
42
+ const node = schema.nodes.get(typeName);
43
+ const hasRels = node.relationships.size > 0;
44
+ entries.push(buildModelMapEntry(typeName, node.pluralName, hasRels));
45
+ }
46
+ // Include interfaces so ogm.model('InterfaceName') gets autocomplete
47
+ const sortedInterfaces = [...schema.interfaces.keys()].sort();
48
+ for (const ifaceName of sortedInterfaces)
49
+ entries.push(buildInterfaceAsModelMapEntry(ifaceName));
50
+ return `export type ModelMap = {\n${entries.join('\n')}\n};`;
51
+ }
52
+ /**
53
+ * Emits the `InterfaceModelMap` type that maps every interface name to its
54
+ * associated generated types (interface type and where input).
55
+ */
56
+ export function emitInterfaceModelMap(schema) {
57
+ const entries = [];
58
+ const sortedInterfaces = [...schema.interfaces.keys()].sort();
59
+ for (const ifaceName of sortedInterfaces)
60
+ entries.push(buildInterfaceModelMapEntry(ifaceName));
61
+ if (entries.length === 0)
62
+ return 'export type InterfaceModelMap = {};';
63
+ return `export type InterfaceModelMap = {\n${entries.join('\n')}\n};`;
64
+ }
65
+ // ---------------------------------------------------------------------------
66
+ // Helpers
67
+ // ---------------------------------------------------------------------------
68
+ function buildModelType(typeName, pluralName, hasRels) {
69
+ const connectType = hasRels
70
+ ? `${typeName}ConnectInput`
71
+ : 'Record<string, never>';
72
+ const disconnectType = hasRels
73
+ ? `${typeName}DisconnectInput`
74
+ : 'Record<string, never>';
75
+ const deleteType = hasRels
76
+ ? `${typeName}DeleteInput`
77
+ : 'Record<string, never>';
78
+ return [
79
+ `export type ${typeName}Model = ModelInterface<`,
80
+ ` ${typeName},`,
81
+ ` ${typeName}SelectFields,`,
82
+ ` ${typeName}Where,`,
83
+ ` ${typeName}CreateInput,`,
84
+ ` ${typeName}UpdateInput,`,
85
+ ` ${connectType},`,
86
+ ` ${disconnectType},`,
87
+ ` ${deleteType},`,
88
+ ` '${pluralName}',`,
89
+ ` ${typeName}MutationSelectFields`,
90
+ `>;`,
91
+ ].join('\n');
92
+ }
93
+ function buildInterfaceModelType(ifaceName) {
94
+ return [
95
+ `export type ${ifaceName}Model = InterfaceModelInterface<`,
96
+ ` ${ifaceName},`,
97
+ ` ${ifaceName}Where`,
98
+ `>;`,
99
+ ].join('\n');
100
+ }
101
+ function buildModelMapEntry(typeName, pluralName, hasRels) {
102
+ const connectType = hasRels
103
+ ? `${typeName}ConnectInput`
104
+ : 'Record<string, never>';
105
+ const disconnectType = hasRels
106
+ ? `${typeName}DisconnectInput`
107
+ : 'Record<string, never>';
108
+ const deleteType = hasRels
109
+ ? `${typeName}DeleteInput`
110
+ : 'Record<string, never>';
111
+ return [
112
+ ` ${typeName}: {`,
113
+ ` Type: ${typeName};`,
114
+ ` SelectFields: ${typeName}SelectFields;`,
115
+ ` MutationSelectFields: ${typeName}MutationSelectFields;`,
116
+ ` Where: ${typeName}Where;`,
117
+ ` CreateInput: ${typeName}CreateInput;`,
118
+ ` UpdateInput: ${typeName}UpdateInput;`,
119
+ ` ConnectInput: ${connectType};`,
120
+ ` DisconnectInput: ${disconnectType};`,
121
+ ` DeleteInput: ${deleteType};`,
122
+ ` PluralKey: '${pluralName}';`,
123
+ ` };`,
124
+ ].join('\n');
125
+ }
126
+ function buildInterfaceAsModelMapEntry(ifaceName) {
127
+ return [
128
+ ` ${ifaceName}: {`,
129
+ ` Type: ${ifaceName};`,
130
+ ` SelectFields: ${ifaceName}SelectFields;`,
131
+ ` Where: ${ifaceName}Where;`,
132
+ ` CreateInput: Record<string, never>;`,
133
+ ` UpdateInput: Record<string, never>;`,
134
+ ` ConnectInput: Record<string, never>;`,
135
+ ` DisconnectInput: Record<string, never>;`,
136
+ ` DeleteInput: Record<string, never>;`,
137
+ ` PluralKey: never;`,
138
+ ` };`,
139
+ ].join('\n');
140
+ }
141
+ function buildInterfaceModelMapEntry(ifaceName) {
142
+ return [
143
+ ` ${ifaceName}: {`,
144
+ ` Type: ${ifaceName};`,
145
+ ` Where: ${ifaceName}Where;`,
146
+ ` };`,
147
+ ].join('\n');
148
+ }
149
+ //# sourceMappingURL=model-map-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-map-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/model-map-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits mutation response types for every node in the schema:
4
+ * - `CreateInfo` and `UpdateInfo` (emitted once)
5
+ * - `Create{PluralName}MutationResponse` per node
6
+ * - `Update{PluralName}MutationResponse` per node
7
+ */
8
+ export declare function emitMutationResponseTypes(schema: SchemaMetadata): string;
9
+ //# sourceMappingURL=mutation-response-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-response-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/mutation-response-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwCxE"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Emits mutation response types for every node in the schema:
3
+ * - `CreateInfo` and `UpdateInfo` (emitted once)
4
+ * - `Create{PluralName}MutationResponse` per node
5
+ * - `Update{PluralName}MutationResponse` per node
6
+ */
7
+ export function emitMutationResponseTypes(schema) {
8
+ const blocks = [];
9
+ // Static info types — emitted once
10
+ blocks.push(emitCreateInfo());
11
+ blocks.push(emitUpdateInfo());
12
+ blocks.push(emitMutationInfoSelectFields());
13
+ // Per-node mutation responses (sorted alphabetically)
14
+ const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
15
+ for (const [, node] of sortedNodes) {
16
+ const pascalPlural = toPascalPlural(node.pluralName);
17
+ blocks.push(`export type Create${pascalPlural}MutationResponse = {\n` +
18
+ ` info: CreateInfo;\n` +
19
+ ` ${node.pluralName}: Array<${node.typeName}>;\n` +
20
+ `};`);
21
+ blocks.push(`export type Update${pascalPlural}MutationResponse = {\n` +
22
+ ` info: UpdateInfo;\n` +
23
+ ` ${node.pluralName}: Array<${node.typeName}>;\n` +
24
+ `};`);
25
+ // Per-node mutation select fields
26
+ blocks.push(`export type ${node.typeName}MutationSelectFields = {\n` +
27
+ ` info?: MutationInfoSelectFields;\n` +
28
+ ` ${node.pluralName}?: ${node.typeName}SelectFields;\n` +
29
+ `};`);
30
+ }
31
+ return blocks.join('\n\n');
32
+ }
33
+ // ---------------------------------------------------------------------------
34
+ // Helpers
35
+ // ---------------------------------------------------------------------------
36
+ function emitMutationInfoSelectFields() {
37
+ return `export type MutationInfoSelectFields = {
38
+ nodesCreated?: boolean;
39
+ nodesDeleted?: boolean;
40
+ relationshipsCreated?: boolean;
41
+ relationshipsDeleted?: boolean;
42
+ };`;
43
+ }
44
+ function emitCreateInfo() {
45
+ return `export type CreateInfo = {
46
+ nodesCreated: Scalars["Int"]["output"];
47
+ nodesDeleted?: Scalars["Int"]["output"];
48
+ relationshipsCreated: Scalars["Int"]["output"];
49
+ relationshipsDeleted?: Scalars["Int"]["output"];
50
+ };`;
51
+ }
52
+ function emitUpdateInfo() {
53
+ return `export type UpdateInfo = {
54
+ nodesCreated: Scalars["Int"]["output"];
55
+ nodesDeleted?: Scalars["Int"]["output"];
56
+ relationshipsCreated: Scalars["Int"]["output"];
57
+ relationshipsDeleted?: Scalars["Int"]["output"];
58
+ };`;
59
+ }
60
+ /**
61
+ * Converts a plural name (e.g. `charts`) to PascalCase (`Charts`).
62
+ */
63
+ function toPascalPlural(pluralName) {
64
+ return pluralName.charAt(0).toUpperCase() + pluralName.slice(1);
65
+ }
66
+ //# sourceMappingURL=mutation-response-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-response-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/mutation-response-emitter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAsB;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAE5C,sDAAsD;IACtD,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;IAEF,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CACT,qBAAqB,YAAY,wBAAwB;YACvD,uBAAuB;YACvB,KAAK,IAAI,CAAC,UAAU,WAAW,IAAI,CAAC,QAAQ,MAAM;YAClD,IAAI,CACP,CAAC;QAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,YAAY,wBAAwB;YACvD,uBAAuB;YACvB,KAAK,IAAI,CAAC,UAAU,WAAW,IAAI,CAAC,QAAQ,MAAM;YAClD,IAAI,CACP,CAAC;QAEF,kCAAkC;QAClC,MAAM,CAAC,IAAI,CACT,eAAe,IAAI,CAAC,QAAQ,4BAA4B;YACtD,sCAAsC;YACtC,KAAK,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,QAAQ,iBAAiB;YACxD,IAAI,CACP,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,4BAA4B;IACnC,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits one `export type <Node> = { ... }` declaration per node in the
4
+ * schema, sorted alphabetically.
5
+ *
6
+ * Each type includes:
7
+ * - `__typename?: "<TypeName>"`
8
+ * - Scalar properties (skipping `@cypher` fields)
9
+ * - Relationship fields (array or singular, required or optional)
10
+ * - Connection fields for every relationship
11
+ */
12
+ export declare function emitNodeTypes(schema: SchemaMetadata): string;
13
+ //# sourceMappingURL=node-type-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-type-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/node-type-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAiC5D"}
@@ -0,0 +1,120 @@
1
+ import { mapScalarType, toPascalCase, wrapMaybe } from './helpers';
2
+ /**
3
+ * Emits one `export type <Node> = { ... }` declaration per node in the
4
+ * schema, sorted alphabetically.
5
+ *
6
+ * Each type includes:
7
+ * - `__typename?: "<TypeName>"`
8
+ * - Scalar properties (skipping `@cypher` fields)
9
+ * - Relationship fields (array or singular, required or optional)
10
+ * - Connection fields for every relationship
11
+ */
12
+ export function emitNodeTypes(schema) {
13
+ const blocks = [];
14
+ const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
15
+ for (const [, node] of sortedNodes)
16
+ blocks.push(emitSingleNodeType(node, schema));
17
+ // Union types (sorted alphabetically)
18
+ const sortedUnions = [...(schema.unions?.entries() ?? [])].sort(([a], [b]) => a.localeCompare(b));
19
+ for (const [name, members] of sortedUnions)
20
+ blocks.push(`export type ${name} = ${members.join(' | ')};`);
21
+ // Relationship-property base types (sorted alphabetically)
22
+ const sortedRelProps = [...schema.relationshipProperties.entries()].sort(([a], [b]) => a.localeCompare(b));
23
+ for (const [, relProp] of sortedRelProps) {
24
+ const members = [];
25
+ for (const [, prop] of relProp.properties) {
26
+ if (prop.isCypher)
27
+ continue;
28
+ members.push(emitPropertyField(prop, schema));
29
+ }
30
+ blocks.push(`export type ${relProp.typeName} = {\n${members.join('\n')}\n};`);
31
+ }
32
+ return blocks.join('\n\n');
33
+ }
34
+ // ---------------------------------------------------------------------------
35
+ // Helpers
36
+ // ---------------------------------------------------------------------------
37
+ function emitSingleNodeType(node, schema) {
38
+ const members = [];
39
+ // __typename (always optional)
40
+ members.push(` __typename?: "${node.typeName}";`);
41
+ // --- Scalar properties ---
42
+ for (const [, prop] of node.properties) {
43
+ if (prop.isCypher) {
44
+ // @cypher fields are computed — emit as always-optional
45
+ members.push(emitCypherField(prop, schema));
46
+ continue;
47
+ }
48
+ members.push(emitPropertyField(prop, schema));
49
+ }
50
+ // --- Relationship fields ---
51
+ for (const [, rel] of node.relationships) {
52
+ members.push(emitAggregateField(node.typeName, rel));
53
+ members.push(emitRelationshipField(rel));
54
+ members.push(emitConnectionField(node.typeName, rel));
55
+ }
56
+ return `export type ${node.typeName} = {\n${members.join('\n')}\n};`;
57
+ }
58
+ /**
59
+ * Emits a @cypher computed field as always-optional.
60
+ *
61
+ * @cypher fields may return scalars or node types (arrays or singular).
62
+ * They are always optional since they're only present when explicitly queried.
63
+ */
64
+ function emitCypherField(prop, schema) {
65
+ const isNodeType = schema.nodes.has(prop.type);
66
+ const tsType = isNodeType
67
+ ? prop.type
68
+ : mapScalarType(prop.type, schema.enums);
69
+ const wrapped = prop.isArray ? `Maybe<Array<${tsType}>>` : `Maybe<${tsType}>`;
70
+ return ` ${prop.name}?: ${wrapped};`;
71
+ }
72
+ /**
73
+ * Emits a single scalar property line.
74
+ *
75
+ * Examples:
76
+ * ` id: Scalars["ID"]["output"];`
77
+ * ` name?: Maybe<Scalars["String"]["output"]>;`
78
+ */
79
+ function emitPropertyField(prop, schema) {
80
+ const tsType = mapScalarType(prop.type, schema.enums);
81
+ const wrapped = prop.isArray ? `Array<${tsType}>` : tsType;
82
+ const final = wrapMaybe(wrapped, prop.required);
83
+ const optional = prop.required ? '' : '?';
84
+ return ` ${prop.name}${optional}: ${final};`;
85
+ }
86
+ /**
87
+ * Emits the relationship field line.
88
+ *
89
+ * Array relationships → ` drugs: Array<Drug>;`
90
+ * Singular required → ` hasStatus: Status;`
91
+ * Singular optional → ` resource?: Maybe<Resource>;`
92
+ */
93
+ function emitRelationshipField(rel) {
94
+ if (rel.isArray)
95
+ return ` ${rel.fieldName}: Array<${rel.target}>;`;
96
+ const optional = rel.isRequired ? '' : '?';
97
+ const type = wrapMaybe(rel.target, rel.isRequired);
98
+ return ` ${rel.fieldName}${optional}: ${type};`;
99
+ }
100
+ /**
101
+ * Emits the aggregate field for a relationship.
102
+ *
103
+ * Example: ` drugsAggregate?: Maybe<ChartDrugDrugsAggregationSelection>;`
104
+ */
105
+ function emitAggregateField(typeName, rel) {
106
+ const pascalField = toPascalCase(rel.fieldName);
107
+ const aggType = `${typeName}${rel.target}${pascalField}AggregationSelection`;
108
+ return ` ${rel.fieldName}Aggregate?: Maybe<${aggType}>;`;
109
+ }
110
+ /**
111
+ * Emits the connection field for a relationship.
112
+ *
113
+ * Example: ` drugsConnection: ChartDrugsConnection;`
114
+ */
115
+ function emitConnectionField(typeName, rel) {
116
+ const pascalField = toPascalCase(rel.fieldName);
117
+ const connectionType = `${typeName}${pascalField}Connection`;
118
+ return ` ${rel.fieldName}Connection: ${connectionType};`;
119
+ }
120
+ //# sourceMappingURL=node-type-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-type-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/node-type-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits `SelectFields` types for every node, interface, and edge-properties
4
+ * type in the schema. These types describe which fields can be selected in
5
+ * the type-safe `select` API.
6
+ */
7
+ export declare function emitSelectFieldTypes(schema: SchemaMetadata): string;
8
+ //# sourceMappingURL=select-fields-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-fields-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/select-fields-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,oBAAoB,CAAC;AAG5B;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAkCnE"}