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,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitInterfaceTypes = emitInterfaceTypes;
4
+ const helpers_1 = require("./helpers");
5
+ /**
6
+ * Emits interface type declarations and their `*Implementation` enums.
7
+ *
8
+ * For each interface in the schema (sorted alphabetically):
9
+ * 1. `export type Entity = { ... }` — only fields declared on the interface
10
+ * 2. `export enum EntityImplementation { ... }` — if there are implementing types
11
+ */
12
+ function emitInterfaceTypes(schema) {
13
+ const blocks = [];
14
+ const sortedInterfaces = [...schema.interfaces.entries()].sort(([a], [b]) => a.localeCompare(b));
15
+ for (const [, iface] of sortedInterfaces)
16
+ blocks.push(emitSingleInterface(iface, schema));
17
+ return blocks.join('\n\n');
18
+ }
19
+ // ---------------------------------------------------------------------------
20
+ // Helpers
21
+ // ---------------------------------------------------------------------------
22
+ function emitSingleInterface(iface, schema) {
23
+ const parts = [];
24
+ // --- Interface type ---
25
+ parts.push(emitInterfaceType(iface, schema));
26
+ // --- Implementation enum ---
27
+ if (iface.implementedBy.length > 0)
28
+ parts.push(emitImplementationEnum(iface));
29
+ return parts.join('\n\n');
30
+ }
31
+ /**
32
+ * Emits `export type <Interface> = { ... }` with only the fields declared
33
+ * directly on the interface (no `__typename`).
34
+ */
35
+ function emitInterfaceType(iface, schema) {
36
+ const members = [];
37
+ // --- Scalar properties ---
38
+ for (const [, prop] of iface.properties) {
39
+ if (prop.isCypher)
40
+ continue;
41
+ members.push(emitPropertyField(prop, schema));
42
+ }
43
+ // --- Relationship fields ---
44
+ for (const [, rel] of iface.relationships) {
45
+ members.push(emitRelationshipField(rel));
46
+ members.push(emitConnectionField(iface.name, rel));
47
+ }
48
+ return `export type ${iface.name} = {\n${members.join('\n')}\n};`;
49
+ }
50
+ /**
51
+ * Emits `export enum <Interface>Implementation { ... }`.
52
+ *
53
+ * Members are sorted alphabetically, each with `Name = "Name"`.
54
+ */
55
+ function emitImplementationEnum(iface) {
56
+ const sorted = [...iface.implementedBy].sort();
57
+ const members = sorted.map((name) => ` ${name} = "${name}",`).join('\n');
58
+ return `export enum ${iface.name}Implementation {\n${members}\n}`;
59
+ }
60
+ /**
61
+ * Emits a single scalar property line for an interface field.
62
+ */
63
+ function emitPropertyField(prop, schema) {
64
+ const tsType = (0, helpers_1.mapScalarType)(prop.type, schema.enums);
65
+ const wrapped = prop.isArray ? `Array<${tsType}>` : tsType;
66
+ const final = (0, helpers_1.wrapMaybe)(wrapped, prop.required);
67
+ const optional = prop.required ? '' : '?';
68
+ return ` ${prop.name}${optional}: ${final};`;
69
+ }
70
+ /**
71
+ * Emits the relationship field line for an interface.
72
+ */
73
+ function emitRelationshipField(rel) {
74
+ if (rel.isArray)
75
+ return ` ${rel.fieldName}: Array<${rel.target}>;`;
76
+ const optional = rel.isRequired ? '' : '?';
77
+ const type = (0, helpers_1.wrapMaybe)(rel.target, rel.isRequired);
78
+ return ` ${rel.fieldName}${optional}: ${type};`;
79
+ }
80
+ /**
81
+ * Emits the connection field for a relationship on an interface.
82
+ */
83
+ function emitConnectionField(interfaceName, rel) {
84
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
85
+ const connectionType = `${interfaceName}${pascalField}Connection`;
86
+ return ` ${rel.fieldName}Connection: ${connectionType};`;
87
+ }
88
+ //# 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,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitModelDeclarations = emitModelDeclarations;
4
+ exports.emitModelMap = emitModelMap;
5
+ exports.emitInterfaceModelMap = emitInterfaceModelMap;
6
+ /**
7
+ * Emits a model declaration type for each node type, wrapping the generic
8
+ * `ModelInterface` from `grafeo-ogm` with the correct type parameters.
9
+ *
10
+ * Example output:
11
+ * ```typescript
12
+ * export type BookModel = ModelInterface<
13
+ * Book,
14
+ * BookSelectFields,
15
+ * BookWhere,
16
+ * BookCreateInput,
17
+ * BookUpdateInput,
18
+ * BookConnectInput,
19
+ * BookDisconnectInput,
20
+ * BookDeleteInput,
21
+ * 'books'
22
+ * >;
23
+ * ```
24
+ */
25
+ function emitModelDeclarations(schema) {
26
+ const blocks = [];
27
+ const sortedNodes = [...schema.nodes.keys()].sort();
28
+ for (const typeName of sortedNodes) {
29
+ const node = schema.nodes.get(typeName);
30
+ const hasRels = node.relationships.size > 0;
31
+ blocks.push(buildModelType(typeName, node.pluralName, hasRels));
32
+ }
33
+ // Interface model declarations
34
+ const sortedInterfaces = [...schema.interfaces.keys()].sort();
35
+ for (const ifaceName of sortedInterfaces)
36
+ blocks.push(buildInterfaceModelType(ifaceName));
37
+ return blocks.join('\n\n');
38
+ }
39
+ /**
40
+ * Emits the `ModelMap` type that maps every node name to its associated
41
+ * generated types (node type, select fields, where, and mutation inputs).
42
+ */
43
+ function emitModelMap(schema) {
44
+ const entries = [];
45
+ const sortedNodes = [...schema.nodes.keys()].sort();
46
+ for (const typeName of sortedNodes) {
47
+ const node = schema.nodes.get(typeName);
48
+ const hasRels = node.relationships.size > 0;
49
+ entries.push(buildModelMapEntry(typeName, node.pluralName, hasRels));
50
+ }
51
+ // Include interfaces so ogm.model('InterfaceName') gets autocomplete
52
+ const sortedInterfaces = [...schema.interfaces.keys()].sort();
53
+ for (const ifaceName of sortedInterfaces)
54
+ entries.push(buildInterfaceAsModelMapEntry(ifaceName));
55
+ return `export type ModelMap = {\n${entries.join('\n')}\n};`;
56
+ }
57
+ /**
58
+ * Emits the `InterfaceModelMap` type that maps every interface name to its
59
+ * associated generated types (interface type and where input).
60
+ */
61
+ function emitInterfaceModelMap(schema) {
62
+ const entries = [];
63
+ const sortedInterfaces = [...schema.interfaces.keys()].sort();
64
+ for (const ifaceName of sortedInterfaces)
65
+ entries.push(buildInterfaceModelMapEntry(ifaceName));
66
+ if (entries.length === 0)
67
+ return 'export type InterfaceModelMap = {};';
68
+ return `export type InterfaceModelMap = {\n${entries.join('\n')}\n};`;
69
+ }
70
+ // ---------------------------------------------------------------------------
71
+ // Helpers
72
+ // ---------------------------------------------------------------------------
73
+ function buildModelType(typeName, pluralName, hasRels) {
74
+ const connectType = hasRels
75
+ ? `${typeName}ConnectInput`
76
+ : 'Record<string, never>';
77
+ const disconnectType = hasRels
78
+ ? `${typeName}DisconnectInput`
79
+ : 'Record<string, never>';
80
+ const deleteType = hasRels
81
+ ? `${typeName}DeleteInput`
82
+ : 'Record<string, never>';
83
+ return [
84
+ `export type ${typeName}Model = ModelInterface<`,
85
+ ` ${typeName},`,
86
+ ` ${typeName}SelectFields,`,
87
+ ` ${typeName}Where,`,
88
+ ` ${typeName}CreateInput,`,
89
+ ` ${typeName}UpdateInput,`,
90
+ ` ${connectType},`,
91
+ ` ${disconnectType},`,
92
+ ` ${deleteType},`,
93
+ ` '${pluralName}',`,
94
+ ` ${typeName}MutationSelectFields`,
95
+ `>;`,
96
+ ].join('\n');
97
+ }
98
+ function buildInterfaceModelType(ifaceName) {
99
+ return [
100
+ `export type ${ifaceName}Model = InterfaceModelInterface<`,
101
+ ` ${ifaceName},`,
102
+ ` ${ifaceName}Where`,
103
+ `>;`,
104
+ ].join('\n');
105
+ }
106
+ function buildModelMapEntry(typeName, pluralName, hasRels) {
107
+ const connectType = hasRels
108
+ ? `${typeName}ConnectInput`
109
+ : 'Record<string, never>';
110
+ const disconnectType = hasRels
111
+ ? `${typeName}DisconnectInput`
112
+ : 'Record<string, never>';
113
+ const deleteType = hasRels
114
+ ? `${typeName}DeleteInput`
115
+ : 'Record<string, never>';
116
+ return [
117
+ ` ${typeName}: {`,
118
+ ` Type: ${typeName};`,
119
+ ` SelectFields: ${typeName}SelectFields;`,
120
+ ` MutationSelectFields: ${typeName}MutationSelectFields;`,
121
+ ` Where: ${typeName}Where;`,
122
+ ` CreateInput: ${typeName}CreateInput;`,
123
+ ` UpdateInput: ${typeName}UpdateInput;`,
124
+ ` ConnectInput: ${connectType};`,
125
+ ` DisconnectInput: ${disconnectType};`,
126
+ ` DeleteInput: ${deleteType};`,
127
+ ` PluralKey: '${pluralName}';`,
128
+ ` };`,
129
+ ].join('\n');
130
+ }
131
+ function buildInterfaceAsModelMapEntry(ifaceName) {
132
+ return [
133
+ ` ${ifaceName}: {`,
134
+ ` Type: ${ifaceName};`,
135
+ ` SelectFields: ${ifaceName}SelectFields;`,
136
+ ` Where: ${ifaceName}Where;`,
137
+ ` CreateInput: Record<string, never>;`,
138
+ ` UpdateInput: Record<string, never>;`,
139
+ ` ConnectInput: Record<string, never>;`,
140
+ ` DisconnectInput: Record<string, never>;`,
141
+ ` DeleteInput: Record<string, never>;`,
142
+ ` PluralKey: never;`,
143
+ ` };`,
144
+ ].join('\n');
145
+ }
146
+ function buildInterfaceModelMapEntry(ifaceName) {
147
+ return [
148
+ ` ${ifaceName}: {`,
149
+ ` Type: ${ifaceName};`,
150
+ ` Where: ${ifaceName}Where;`,
151
+ ` };`,
152
+ ].join('\n');
153
+ }
154
+ //# 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,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitMutationResponseTypes = emitMutationResponseTypes;
4
+ /**
5
+ * Emits mutation response types for every node in the schema:
6
+ * - `CreateInfo` and `UpdateInfo` (emitted once)
7
+ * - `Create{PluralName}MutationResponse` per node
8
+ * - `Update{PluralName}MutationResponse` per node
9
+ */
10
+ function emitMutationResponseTypes(schema) {
11
+ const blocks = [];
12
+ // Static info types — emitted once
13
+ blocks.push(emitCreateInfo());
14
+ blocks.push(emitUpdateInfo());
15
+ blocks.push(emitMutationInfoSelectFields());
16
+ // Per-node mutation responses (sorted alphabetically)
17
+ const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
18
+ for (const [, node] of sortedNodes) {
19
+ const pascalPlural = toPascalPlural(node.pluralName);
20
+ blocks.push(`export type Create${pascalPlural}MutationResponse = {\n` +
21
+ ` info: CreateInfo;\n` +
22
+ ` ${node.pluralName}: Array<${node.typeName}>;\n` +
23
+ `};`);
24
+ blocks.push(`export type Update${pascalPlural}MutationResponse = {\n` +
25
+ ` info: UpdateInfo;\n` +
26
+ ` ${node.pluralName}: Array<${node.typeName}>;\n` +
27
+ `};`);
28
+ // Per-node mutation select fields
29
+ blocks.push(`export type ${node.typeName}MutationSelectFields = {\n` +
30
+ ` info?: MutationInfoSelectFields;\n` +
31
+ ` ${node.pluralName}?: ${node.typeName}SelectFields;\n` +
32
+ `};`);
33
+ }
34
+ return blocks.join('\n\n');
35
+ }
36
+ // ---------------------------------------------------------------------------
37
+ // Helpers
38
+ // ---------------------------------------------------------------------------
39
+ function emitMutationInfoSelectFields() {
40
+ return `export type MutationInfoSelectFields = {
41
+ nodesCreated?: boolean;
42
+ nodesDeleted?: boolean;
43
+ relationshipsCreated?: boolean;
44
+ relationshipsDeleted?: boolean;
45
+ };`;
46
+ }
47
+ function emitCreateInfo() {
48
+ return `export type CreateInfo = {
49
+ nodesCreated: Scalars["Int"]["output"];
50
+ nodesDeleted?: Scalars["Int"]["output"];
51
+ relationshipsCreated: Scalars["Int"]["output"];
52
+ relationshipsDeleted?: Scalars["Int"]["output"];
53
+ };`;
54
+ }
55
+ function emitUpdateInfo() {
56
+ return `export type UpdateInfo = {
57
+ nodesCreated: Scalars["Int"]["output"];
58
+ nodesDeleted?: Scalars["Int"]["output"];
59
+ relationshipsCreated: Scalars["Int"]["output"];
60
+ relationshipsDeleted?: Scalars["Int"]["output"];
61
+ };`;
62
+ }
63
+ /**
64
+ * Converts a plural name (e.g. `charts`) to PascalCase (`Charts`).
65
+ */
66
+ function toPascalPlural(pluralName) {
67
+ return pluralName.charAt(0).toUpperCase() + pluralName.slice(1);
68
+ }
69
+ //# 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":";;AAQA,8DAwCC;AA9CD;;;;;GAKG;AACH,SAAgB,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,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitNodeTypes = emitNodeTypes;
4
+ const helpers_1 = require("./helpers");
5
+ /**
6
+ * Emits one `export type <Node> = { ... }` declaration per node in the
7
+ * schema, sorted alphabetically.
8
+ *
9
+ * Each type includes:
10
+ * - `__typename?: "<TypeName>"`
11
+ * - Scalar properties (skipping `@cypher` fields)
12
+ * - Relationship fields (array or singular, required or optional)
13
+ * - Connection fields for every relationship
14
+ */
15
+ function emitNodeTypes(schema) {
16
+ const blocks = [];
17
+ const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
18
+ for (const [, node] of sortedNodes)
19
+ blocks.push(emitSingleNodeType(node, schema));
20
+ // Union types (sorted alphabetically)
21
+ const sortedUnions = [...(schema.unions?.entries() ?? [])].sort(([a], [b]) => a.localeCompare(b));
22
+ for (const [name, members] of sortedUnions)
23
+ blocks.push(`export type ${name} = ${members.join(' | ')};`);
24
+ // Relationship-property base types (sorted alphabetically)
25
+ const sortedRelProps = [...schema.relationshipProperties.entries()].sort(([a], [b]) => a.localeCompare(b));
26
+ for (const [, relProp] of sortedRelProps) {
27
+ const members = [];
28
+ for (const [, prop] of relProp.properties) {
29
+ if (prop.isCypher)
30
+ continue;
31
+ members.push(emitPropertyField(prop, schema));
32
+ }
33
+ blocks.push(`export type ${relProp.typeName} = {\n${members.join('\n')}\n};`);
34
+ }
35
+ return blocks.join('\n\n');
36
+ }
37
+ // ---------------------------------------------------------------------------
38
+ // Helpers
39
+ // ---------------------------------------------------------------------------
40
+ function emitSingleNodeType(node, schema) {
41
+ const members = [];
42
+ // __typename (always optional)
43
+ members.push(` __typename?: "${node.typeName}";`);
44
+ // --- Scalar properties ---
45
+ for (const [, prop] of node.properties) {
46
+ if (prop.isCypher) {
47
+ // @cypher fields are computed — emit as always-optional
48
+ members.push(emitCypherField(prop, schema));
49
+ continue;
50
+ }
51
+ members.push(emitPropertyField(prop, schema));
52
+ }
53
+ // --- Relationship fields ---
54
+ for (const [, rel] of node.relationships) {
55
+ members.push(emitAggregateField(node.typeName, rel));
56
+ members.push(emitRelationshipField(rel));
57
+ members.push(emitConnectionField(node.typeName, rel));
58
+ }
59
+ return `export type ${node.typeName} = {\n${members.join('\n')}\n};`;
60
+ }
61
+ /**
62
+ * Emits a @cypher computed field as always-optional.
63
+ *
64
+ * @cypher fields may return scalars or node types (arrays or singular).
65
+ * They are always optional since they're only present when explicitly queried.
66
+ */
67
+ function emitCypherField(prop, schema) {
68
+ const isNodeType = schema.nodes.has(prop.type);
69
+ const tsType = isNodeType
70
+ ? prop.type
71
+ : (0, helpers_1.mapScalarType)(prop.type, schema.enums);
72
+ const wrapped = prop.isArray ? `Maybe<Array<${tsType}>>` : `Maybe<${tsType}>`;
73
+ return ` ${prop.name}?: ${wrapped};`;
74
+ }
75
+ /**
76
+ * Emits a single scalar property line.
77
+ *
78
+ * Examples:
79
+ * ` id: Scalars["ID"]["output"];`
80
+ * ` name?: Maybe<Scalars["String"]["output"]>;`
81
+ */
82
+ function emitPropertyField(prop, schema) {
83
+ const tsType = (0, helpers_1.mapScalarType)(prop.type, schema.enums);
84
+ const wrapped = prop.isArray ? `Array<${tsType}>` : tsType;
85
+ const final = (0, helpers_1.wrapMaybe)(wrapped, prop.required);
86
+ const optional = prop.required ? '' : '?';
87
+ return ` ${prop.name}${optional}: ${final};`;
88
+ }
89
+ /**
90
+ * Emits the relationship field line.
91
+ *
92
+ * Array relationships → ` drugs: Array<Drug>;`
93
+ * Singular required → ` hasStatus: Status;`
94
+ * Singular optional → ` resource?: Maybe<Resource>;`
95
+ */
96
+ function emitRelationshipField(rel) {
97
+ if (rel.isArray)
98
+ return ` ${rel.fieldName}: Array<${rel.target}>;`;
99
+ const optional = rel.isRequired ? '' : '?';
100
+ const type = (0, helpers_1.wrapMaybe)(rel.target, rel.isRequired);
101
+ return ` ${rel.fieldName}${optional}: ${type};`;
102
+ }
103
+ /**
104
+ * Emits the aggregate field for a relationship.
105
+ *
106
+ * Example: ` drugsAggregate?: Maybe<ChartDrugDrugsAggregationSelection>;`
107
+ */
108
+ function emitAggregateField(typeName, rel) {
109
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
110
+ const aggType = `${typeName}${rel.target}${pascalField}AggregationSelection`;
111
+ return ` ${rel.fieldName}Aggregate?: Maybe<${aggType}>;`;
112
+ }
113
+ /**
114
+ * Emits the connection field for a relationship.
115
+ *
116
+ * Example: ` drugsConnection: ChartDrugsConnection;`
117
+ */
118
+ function emitConnectionField(typeName, rel) {
119
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
120
+ const connectionType = `${typeName}${pascalField}Connection`;
121
+ return ` ${rel.fieldName}Connection: ${connectionType};`;
122
+ }
123
+ //# 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"}