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,270 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitConnectionWhereTypes = emitConnectionWhereTypes;
4
+ exports.emitConnectionEdgeTypes = emitConnectionEdgeTypes;
5
+ const helpers_1 = require("./helpers");
6
+ // ---------------------------------------------------------------------------
7
+ // Connection Where types
8
+ // ---------------------------------------------------------------------------
9
+ /**
10
+ * Emits `{Parent}{PascalField}ConnectionWhere` types for every relationship
11
+ * on every node in the schema.
12
+ *
13
+ * Each ConnectionWhere type contains:
14
+ * - `node` / `node_NOT` — target node Where filter
15
+ * - `edge` / `edge_NOT` — edge property Where filter (only when relationship has properties)
16
+ * - `AND` / `OR` / `NOT` — logical operators
17
+ */
18
+ function emitConnectionWhereTypes(schema) {
19
+ const blocks = [];
20
+ const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
21
+ for (const [, node] of sortedNodes) {
22
+ const sortedRels = [...node.relationships.entries()].sort(([a], [b]) => a.localeCompare(b));
23
+ for (const [, rel] of sortedRels) {
24
+ const unionMembers = schema.unions?.get(rel.target);
25
+ if (unionMembers)
26
+ // Union target → emit per-member ConnectionWhere types
27
+ blocks.push(...emitUnionConnectionWheres(node.typeName, rel, unionMembers, schema));
28
+ else
29
+ blocks.push(emitConnectionWhere(node.typeName, rel, schema));
30
+ }
31
+ }
32
+ // Interface connection where types
33
+ const sortedInterfaces = [...schema.interfaces.entries()].sort(([a], [b]) => a.localeCompare(b));
34
+ for (const [, iface] of sortedInterfaces) {
35
+ const sortedRels = [...iface.relationships.entries()].sort(([a], [b]) => a.localeCompare(b));
36
+ for (const [, rel] of sortedRels)
37
+ blocks.push(emitInterfaceConnectionWhere(iface.name, rel, schema));
38
+ }
39
+ return blocks.join('\n\n');
40
+ }
41
+ function emitConnectionWhere(parentType, rel, schema) {
42
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
43
+ const typeName = `${parentType}${pascalField}ConnectionWhere`;
44
+ const lines = [];
45
+ // node filters
46
+ lines.push(` node?: InputMaybe<${rel.target}Where>;`);
47
+ lines.push(` node_NOT?: InputMaybe<${rel.target}Where>;`);
48
+ // edge filters (only when relationship has properties)
49
+ if (rel.properties) {
50
+ const edgeWhereName = resolveEdgeWhereName(rel.properties, schema);
51
+ lines.push(` edge?: InputMaybe<${edgeWhereName}>;`);
52
+ lines.push(` edge_NOT?: InputMaybe<${edgeWhereName}>;`);
53
+ }
54
+ // Logical operators
55
+ lines.push(` AND?: InputMaybe<Array<${typeName}>>;`);
56
+ lines.push(` OR?: InputMaybe<Array<${typeName}>>;`);
57
+ lines.push(` NOT?: InputMaybe<${typeName}>;`);
58
+ return `export type ${typeName} = {\n${lines.join('\n')}\n};`;
59
+ }
60
+ // ---------------------------------------------------------------------------
61
+ // Connection & Edge (Relationship) types
62
+ // ---------------------------------------------------------------------------
63
+ /**
64
+ * Emits Connection, Relationship (edge), and PageInfo types.
65
+ *
66
+ * For each relationship on each node:
67
+ * - `{Parent}{PascalField}Connection` — edges array, totalCount, pageInfo
68
+ * - `{Parent}{PascalField}Relationship` — cursor, node, and optional properties
69
+ *
70
+ * Also emits the `PageInfo` type exactly once.
71
+ */
72
+ function emitConnectionEdgeTypes(schema) {
73
+ const blocks = [];
74
+ // PageInfo (emitted once at the top)
75
+ blocks.push(emitPageInfo());
76
+ const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
77
+ for (const [, node] of sortedNodes) {
78
+ const sortedRels = [...node.relationships.entries()].sort(([a], [b]) => a.localeCompare(b));
79
+ for (const [, rel] of sortedRels) {
80
+ const unionMembers = schema.unions?.get(rel.target);
81
+ if (unionMembers)
82
+ blocks.push(...emitUnionConnectionAndRelationships(node.typeName, rel, unionMembers));
83
+ else
84
+ blocks.push(emitConnectionAndRelationship(node.typeName, rel));
85
+ }
86
+ }
87
+ // Interface connection/edge types
88
+ const sortedInterfaces = [...schema.interfaces.entries()].sort(([a], [b]) => a.localeCompare(b));
89
+ for (const [, iface] of sortedInterfaces) {
90
+ const sortedRels = [...iface.relationships.entries()].sort(([a], [b]) => a.localeCompare(b));
91
+ for (const [, rel] of sortedRels)
92
+ blocks.push(emitInterfaceConnectionAndRelationship(iface.name, rel, schema));
93
+ }
94
+ return blocks.join('\n\n');
95
+ }
96
+ // ---------------------------------------------------------------------------
97
+ // Helpers
98
+ // ---------------------------------------------------------------------------
99
+ function emitPageInfo() {
100
+ return `export type PageInfo = {
101
+ hasNextPage: Scalars["Boolean"]["output"];
102
+ hasPreviousPage: Scalars["Boolean"]["output"];
103
+ startCursor?: Maybe<Scalars["String"]["output"]>;
104
+ endCursor?: Maybe<Scalars["String"]["output"]>;
105
+ };`;
106
+ }
107
+ function emitConnectionAndRelationship(parentType, rel) {
108
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
109
+ const connectionName = `${parentType}${pascalField}Connection`;
110
+ const relationshipName = `${parentType}${pascalField}Relationship`;
111
+ // Connection type
112
+ const connectionType = `export type ${connectionName} = {
113
+ edges: Array<${relationshipName}>;
114
+ totalCount: Scalars["Int"]["output"];
115
+ pageInfo: PageInfo;
116
+ };`;
117
+ // Relationship type
118
+ const relLines = [];
119
+ relLines.push(` cursor: Scalars["String"]["output"];`);
120
+ relLines.push(` node: ${rel.target};`);
121
+ if (rel.properties)
122
+ relLines.push(` properties: ${rel.properties};`);
123
+ const relationshipType = `export type ${relationshipName} = {\n${relLines.join('\n')}\n};`;
124
+ return `${connectionType}\n\n${relationshipType}`;
125
+ }
126
+ /**
127
+ * Resolves the Where type name for edge properties.
128
+ *
129
+ * Uses `{RelPropsTypeName}Where` — matching Neo4j OGM convention where the
130
+ * relationship-properties type name is suffixed with `Where`.
131
+ */
132
+ function resolveEdgeWhereName(propsTypeName, _schema) {
133
+ return `${propsTypeName}Where`;
134
+ }
135
+ /**
136
+ * For an interface relationship, find the edge properties type name used by
137
+ * any concrete implementor. Returns `undefined` if none of the implementors
138
+ * have edge properties for this relationship field.
139
+ */
140
+ function findInterfaceRelEdgeProps(interfaceName, fieldName, schema) {
141
+ const iface = schema.interfaces.get(interfaceName);
142
+ if (!iface)
143
+ return undefined;
144
+ for (const implName of iface.implementedBy) {
145
+ const node = schema.nodes.get(implName);
146
+ if (!node)
147
+ continue;
148
+ const rel = node.relationships.get(fieldName);
149
+ if (rel?.properties)
150
+ return rel.properties;
151
+ }
152
+ return undefined;
153
+ }
154
+ /**
155
+ * Emits ConnectionWhere for interface relationships.
156
+ * When implementors have edge properties, emits an intermediate EdgeWhere
157
+ * type with a discriminator key (the properties type name).
158
+ */
159
+ function emitInterfaceConnectionWhere(interfaceName, rel, schema) {
160
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
161
+ const typeName = `${interfaceName}${pascalField}ConnectionWhere`;
162
+ const lines = [];
163
+ // node filters
164
+ lines.push(` node?: InputMaybe<${rel.target}Where>;`);
165
+ lines.push(` node_NOT?: InputMaybe<${rel.target}Where>;`);
166
+ // edge filters — check concrete implementors for edge properties
167
+ const edgeProps = findInterfaceRelEdgeProps(interfaceName, rel.fieldName, schema);
168
+ if (edgeProps) {
169
+ const edgeWhereName = `${interfaceName}${pascalField}EdgeWhere`;
170
+ lines.push(` edge?: InputMaybe<${edgeWhereName}>;`);
171
+ lines.push(` edge_NOT?: InputMaybe<${edgeWhereName}>;`);
172
+ }
173
+ // Logical operators
174
+ lines.push(` AND?: InputMaybe<Array<${typeName}>>;`);
175
+ lines.push(` OR?: InputMaybe<Array<${typeName}>>;`);
176
+ lines.push(` NOT?: InputMaybe<${typeName}>;`);
177
+ const blocks = [];
178
+ blocks.push(`export type ${typeName} = {\n${lines.join('\n')}\n};`);
179
+ // Emit the intermediate EdgeWhere type if needed
180
+ if (edgeProps)
181
+ blocks.push(`export type ${interfaceName}${pascalField}EdgeWhere = {\n` +
182
+ ` ${edgeProps}?: InputMaybe<${edgeProps}Where>;\n` +
183
+ `};`);
184
+ return blocks.join('\n\n');
185
+ }
186
+ // ---------------------------------------------------------------------------
187
+ // Union-target per-member Connection types
188
+ // ---------------------------------------------------------------------------
189
+ /**
190
+ * For union-target relationships, emits per-member ConnectionWhere types.
191
+ * e.g., DoseDoseTypesStandardDoseConnectionWhere
192
+ */
193
+ function emitUnionConnectionWheres(parentType, rel, members, schema) {
194
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
195
+ const prefix = `${parentType}${pascalField}`;
196
+ const blocks = [];
197
+ // Also emit the top-level ConnectionWhere (used by Where types)
198
+ blocks.push(emitConnectionWhere(parentType, rel, schema));
199
+ for (const m of [...members].sort()) {
200
+ const typeName = `${prefix}${m}ConnectionWhere`;
201
+ const lines = [];
202
+ lines.push(` node?: InputMaybe<${m}Where>;`);
203
+ lines.push(` node_NOT?: InputMaybe<${m}Where>;`);
204
+ if (rel.properties) {
205
+ const edgeWhereName = `${rel.properties}Where`;
206
+ lines.push(` edge?: InputMaybe<${edgeWhereName}>;`);
207
+ lines.push(` edge_NOT?: InputMaybe<${edgeWhereName}>;`);
208
+ }
209
+ lines.push(` AND?: InputMaybe<Array<${typeName}>>;`);
210
+ lines.push(` OR?: InputMaybe<Array<${typeName}>>;`);
211
+ lines.push(` NOT?: InputMaybe<${typeName}>;`);
212
+ blocks.push(`export type ${typeName} = {\n${lines.join('\n')}\n};`);
213
+ }
214
+ return blocks;
215
+ }
216
+ /**
217
+ * For union-target relationships, emits per-member Connection and Relationship types.
218
+ */
219
+ function emitUnionConnectionAndRelationships(parentType, rel, _members) {
220
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
221
+ const prefix = `${parentType}${pascalField}`;
222
+ const blocks = [];
223
+ // Top-level Connection type
224
+ const connectionName = `${prefix}Connection`;
225
+ const relationshipName = `${prefix}Relationship`;
226
+ blocks.push(`export type ${connectionName} = {\n` +
227
+ ` edges: Array<${relationshipName}>;\n` +
228
+ ` totalCount: Scalars["Int"]["output"];\n` +
229
+ ` pageInfo: PageInfo;\n` +
230
+ `};`);
231
+ // Top-level Relationship type
232
+ const relLines = [];
233
+ relLines.push(` cursor: Scalars["String"]["output"];`);
234
+ relLines.push(` node: ${rel.target};`);
235
+ if (rel.properties)
236
+ relLines.push(` properties: ${rel.properties};`);
237
+ blocks.push(`export type ${relationshipName} = {\n${relLines.join('\n')}\n};`);
238
+ return blocks;
239
+ }
240
+ /**
241
+ * Emits Connection and Relationship types for interface relationships.
242
+ */
243
+ function emitInterfaceConnectionAndRelationship(interfaceName, rel, schema) {
244
+ const pascalField = (0, helpers_1.toPascalCase)(rel.fieldName);
245
+ const connectionName = `${interfaceName}${pascalField}Connection`;
246
+ const relationshipName = `${interfaceName}${pascalField}Relationship`;
247
+ // Connection type
248
+ const connectionType = `export type ${connectionName} = {\n` +
249
+ ` edges: Array<${relationshipName}>;\n` +
250
+ ` totalCount: Scalars["Int"]["output"];\n` +
251
+ ` pageInfo: PageInfo;\n` +
252
+ `};`;
253
+ // Relationship type
254
+ const relLines = [];
255
+ relLines.push(` cursor: Scalars["String"]["output"];`);
256
+ relLines.push(` node: ${rel.target};`);
257
+ // Check if any implementor uses edge properties for this field
258
+ const edgeProps = findInterfaceRelEdgeProps(interfaceName, rel.fieldName, schema);
259
+ if (edgeProps) {
260
+ const propsAlias = `${interfaceName}${pascalField}RelationshipProperties`;
261
+ relLines.push(` properties: ${propsAlias};`);
262
+ }
263
+ const relationshipType = `export type ${relationshipName} = {\n${relLines.join('\n')}\n};`;
264
+ const blocks = [connectionType, relationshipType];
265
+ // Emit RelationshipProperties alias if needed
266
+ if (edgeProps)
267
+ blocks.push(`export type ${interfaceName}${pascalField}RelationshipProperties = ${edgeProps};`);
268
+ return blocks.join('\n\n');
269
+ }
270
+ //# sourceMappingURL=connection-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/connection-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits TypeScript `enum` declarations for every enum found in the schema,
4
+ * plus the always-present `SortDirection` enum.
5
+ */
6
+ export declare function emitEnums(schema: SchemaMetadata): string;
7
+ //# sourceMappingURL=enum-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/enum-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuBzD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAsBxD"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitEnums = emitEnums;
4
+ /**
5
+ * Converts an UPPER_SNAKE_CASE enum value to PascalCase.
6
+ * Values that are already PascalCase (or mixed case) are returned as-is.
7
+ *
8
+ * Examples:
9
+ * - `WELCOME` → `Welcome`
10
+ * - `PENDING_APPROVAL` → `PendingApproval`
11
+ * - `US_BANK_ACCOUNT` → `UsBankAccount`
12
+ * - `Chart` → `Chart` (already PascalCase)
13
+ */
14
+ function toPascalCaseEnum(value) {
15
+ // If the value is not all-uppercase (possibly with underscores/digits),
16
+ // it's already in a mixed case format — return as-is
17
+ if (value !== value.toUpperCase())
18
+ return value;
19
+ return value
20
+ .split('_')
21
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
22
+ .join('');
23
+ }
24
+ /**
25
+ * Emits TypeScript `enum` declarations for every enum found in the schema,
26
+ * plus the always-present `SortDirection` enum.
27
+ */
28
+ function emitEnums(schema) {
29
+ const blocks = [];
30
+ // Schema-defined enums (sorted alphabetically)
31
+ const sortedNames = [...schema.enums.keys()].sort();
32
+ for (const name of sortedNames) {
33
+ const values = schema.enums.get(name);
34
+ const members = values
35
+ .map((v) => ` ${toPascalCaseEnum(v)} = "${v}",`)
36
+ .join('\n');
37
+ blocks.push(`export enum ${name} {\n${members}\n}`);
38
+ }
39
+ // SortDirection is always emitted (skip if the schema already declares it)
40
+ // Uses Asc/Desc PascalCase for backward compatibility with @neo4j/graphql-ogm
41
+ if (!schema.enums.has('SortDirection'))
42
+ blocks.push(`export enum SortDirection {\n Asc = "ASC",\n Desc = "DESC",\n}`);
43
+ return blocks.join('\n\n');
44
+ }
45
+ //# sourceMappingURL=enum-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/enum-emitter.ts"],"names":[],"mappings":";;AA2BA,8BAsBC;AA/CD;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,wEAAwE;IACxE,qDAAqD;IACrD,IAAI,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IAEhD,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAsB;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,+CAA+C;IAC/C,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;aAChD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,OAAO,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;QACpC,MAAM,CAAC,IAAI,CACT,kEAAkE,CACnE,CAAC;IAEJ,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits fulltext-related types for every node that declares at least one
4
+ * `@fulltext` index:
5
+ *
6
+ * - `<Node>FulltextResult` — score + the matched node
7
+ * - `<Node>FulltextWhere` — filtering by score and node-level where
8
+ * - `<Node>FulltextSort` — sorting by score and node-level sort
9
+ *
10
+ * Also emits the shared `FloatWhere` type used for score filtering.
11
+ *
12
+ * Returns an empty string when no nodes have fulltext indexes.
13
+ */
14
+ export declare function emitFulltextTypes(schema: SchemaMetadata): string;
15
+ //# sourceMappingURL=fulltext-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fulltext-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/fulltext-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAMzE;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAchE"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitFulltextTypes = emitFulltextTypes;
4
+ // ---------------------------------------------------------------------------
5
+ // Public API
6
+ // ---------------------------------------------------------------------------
7
+ /**
8
+ * Emits fulltext-related types for every node that declares at least one
9
+ * `@fulltext` index:
10
+ *
11
+ * - `<Node>FulltextResult` — score + the matched node
12
+ * - `<Node>FulltextWhere` — filtering by score and node-level where
13
+ * - `<Node>FulltextSort` — sorting by score and node-level sort
14
+ *
15
+ * Also emits the shared `FloatWhere` type used for score filtering.
16
+ *
17
+ * Returns an empty string when no nodes have fulltext indexes.
18
+ */
19
+ function emitFulltextTypes(schema) {
20
+ const nodesWithFulltext = getNodesWithFulltext(schema);
21
+ if (nodesWithFulltext.length === 0)
22
+ return '';
23
+ const blocks = [FLOAT_WHERE_TYPE];
24
+ for (const node of nodesWithFulltext) {
25
+ blocks.push(emitFulltextResult(node));
26
+ blocks.push(emitFulltextWhere(node));
27
+ blocks.push(emitFulltextSort(node));
28
+ }
29
+ return blocks.join('\n\n');
30
+ }
31
+ // ---------------------------------------------------------------------------
32
+ // Shared types
33
+ // ---------------------------------------------------------------------------
34
+ const FLOAT_WHERE_TYPE = `export type FloatWhere = {
35
+ min?: InputMaybe<Scalars["Float"]["input"]>;
36
+ max?: InputMaybe<Scalars["Float"]["input"]>;
37
+ };`;
38
+ // ---------------------------------------------------------------------------
39
+ // Helpers
40
+ // ---------------------------------------------------------------------------
41
+ /**
42
+ * Returns all nodes that have at least one fulltext index,
43
+ * sorted alphabetically by type name.
44
+ */
45
+ function getNodesWithFulltext(schema) {
46
+ return [...schema.nodes.values()]
47
+ .filter((node) => node.fulltextIndexes.length > 0)
48
+ .sort((a, b) => a.typeName.localeCompare(b.typeName));
49
+ }
50
+ /**
51
+ * Converts a PascalCase type name to camelCase for the result field name.
52
+ * e.g. `Book` → `book`, `BookCategory` → `bookCategory`
53
+ */
54
+ function toCamelCase(typeName) {
55
+ return typeName.charAt(0).toLowerCase() + typeName.slice(1);
56
+ }
57
+ function emitFulltextResult(node) {
58
+ const fieldName = toCamelCase(node.typeName);
59
+ return `export type ${node.typeName}FulltextResult = {
60
+ __typename?: "${node.typeName}FulltextResult";
61
+ score: Scalars["Float"]["output"];
62
+ ${fieldName}: ${node.typeName};
63
+ };`;
64
+ }
65
+ function emitFulltextWhere(node) {
66
+ const fieldName = toCamelCase(node.typeName);
67
+ return `/** The input for filtering a fulltext query on an index of ${node.typeName} */
68
+ export type ${node.typeName}FulltextWhere = {
69
+ score?: InputMaybe<FloatWhere>;
70
+ ${fieldName}?: InputMaybe<${node.typeName}Where>;
71
+ };`;
72
+ }
73
+ function emitFulltextSort(node) {
74
+ const fieldName = toCamelCase(node.typeName);
75
+ return `export type ${node.typeName}FulltextSort = {
76
+ score?: InputMaybe<SortDirection>;
77
+ ${fieldName}?: InputMaybe<${node.typeName}Sort>;
78
+ };`;
79
+ }
80
+ //# sourceMappingURL=fulltext-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fulltext-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/fulltext-emitter.ts"],"names":[],"mappings":";;AAkBA,8CAcC;AA9BD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAAC,MAAsB;IACtD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEvD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAa,CAAC,gBAAgB,CAAC,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;;;GAGtB,CAAC;AAEJ,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAsB;IAClD,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAoB;IAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,eAAe,IAAI,CAAC,QAAQ;kBACnB,IAAI,CAAC,QAAQ;;IAE3B,SAAS,KAAK,IAAI,CAAC,QAAQ;GAC5B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,+DAA+D,IAAI,CAAC,QAAQ;cACvE,IAAI,CAAC,QAAQ;;IAEvB,SAAS,iBAAiB,IAAI,CAAC,QAAQ;GACxC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB;IAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,eAAe,IAAI,CAAC,QAAQ;;IAEjC,SAAS,iBAAiB,IAAI,CAAC,QAAQ;GACxC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Shared helpers for type emitters — GraphQL-to-TypeScript type mapping
3
+ * and common formatting utilities.
4
+ */
5
+ /**
6
+ * Returns `true` when `typeName` is one of the built-in GraphQL scalars
7
+ * (`ID`, `String`, `Int`, `Float`, `Boolean`, `DateTime`, `BigInt`,
8
+ * `Date`, `Time`, `LocalTime`, `LocalDateTime`, `Duration`, `Point`,
9
+ * `CartesianPoint`).
10
+ */
11
+ export declare function isBuiltInScalar(typeName: string): boolean;
12
+ /**
13
+ * Maps a GraphQL scalar type name to its TypeScript output representation.
14
+ *
15
+ * Built-in scalars → `Scalars["<TYPE>"]["output"]`
16
+ * Enum / other types → used directly (the type name itself).
17
+ */
18
+ export declare function mapScalarType(typeName: string, enums: Map<string, string[]>): string;
19
+ /**
20
+ * Wraps `inner` in `Maybe<>` when the field is optional.
21
+ */
22
+ export declare function wrapMaybe(inner: string, required: boolean): string;
23
+ /**
24
+ * Converts a field name to PascalCase (first letter uppercased).
25
+ *
26
+ * Examples:
27
+ * - `drugs` → `Drugs`
28
+ * - `hasStatus` → `HasStatus`
29
+ * - `isDescribedBy` → `IsDescribedBy`
30
+ */
31
+ export declare function toPascalCase(fieldName: string): string;
32
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC3B,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * Shared helpers for type emitters — GraphQL-to-TypeScript type mapping
4
+ * and common formatting utilities.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.isBuiltInScalar = isBuiltInScalar;
8
+ exports.mapScalarType = mapScalarType;
9
+ exports.wrapMaybe = wrapMaybe;
10
+ exports.toPascalCase = toPascalCase;
11
+ /** Built-in GraphQL scalar names that map to `Scalars[TYPE]["output"]`. */
12
+ const SCALAR_TYPES = new Set([
13
+ 'ID',
14
+ 'String',
15
+ 'Int',
16
+ 'Float',
17
+ 'Boolean',
18
+ 'DateTime',
19
+ 'BigInt',
20
+ 'Date',
21
+ 'Time',
22
+ 'LocalTime',
23
+ 'LocalDateTime',
24
+ 'Duration',
25
+ 'Point',
26
+ 'CartesianPoint',
27
+ ]);
28
+ /**
29
+ * Returns `true` when `typeName` is one of the built-in GraphQL scalars
30
+ * (`ID`, `String`, `Int`, `Float`, `Boolean`, `DateTime`, `BigInt`,
31
+ * `Date`, `Time`, `LocalTime`, `LocalDateTime`, `Duration`, `Point`,
32
+ * `CartesianPoint`).
33
+ */
34
+ function isBuiltInScalar(typeName) {
35
+ return SCALAR_TYPES.has(typeName);
36
+ }
37
+ /**
38
+ * Maps a GraphQL scalar type name to its TypeScript output representation.
39
+ *
40
+ * Built-in scalars → `Scalars["<TYPE>"]["output"]`
41
+ * Enum / other types → used directly (the type name itself).
42
+ */
43
+ function mapScalarType(typeName, enums) {
44
+ if (SCALAR_TYPES.has(typeName))
45
+ return `Scalars["${typeName}"]["output"]`;
46
+ // Enum types are referenced by name directly
47
+ if (enums.has(typeName))
48
+ return typeName;
49
+ // Fallback: treat as a known type reference (e.g. another node/interface)
50
+ return typeName;
51
+ }
52
+ /**
53
+ * Wraps `inner` in `Maybe<>` when the field is optional.
54
+ */
55
+ function wrapMaybe(inner, required) {
56
+ return required ? inner : `Maybe<${inner}>`;
57
+ }
58
+ /**
59
+ * Converts a field name to PascalCase (first letter uppercased).
60
+ *
61
+ * Examples:
62
+ * - `drugs` → `Drugs`
63
+ * - `hasStatus` → `HasStatus`
64
+ * - `isDescribedBy` → `IsDescribedBy`
65
+ */
66
+ function toPascalCase(fieldName) {
67
+ return fieldName.charAt(0).toUpperCase() + fieldName.slice(1);
68
+ }
69
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/helpers.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA0BH,0CAEC;AAQD,sCAWC;AAKD,8BAEC;AAUD,oCAEC;AAhED,2EAA2E;AAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,IAAI;IACJ,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,MAAM;IACN,MAAM;IACN,WAAW;IACX,eAAe;IACf,UAAU;IACV,OAAO;IACP,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,QAAgB,EAChB,KAA4B;IAE5B,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,YAAY,QAAQ,cAAc,CAAC;IAE1E,6CAA6C;IAC7C,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEzC,0EAA0E;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAa,EAAE,QAAiB;IACxD,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { SchemaMetadata } from '../../schema/types';
2
+ /**
3
+ * Emits all input types for every node in the schema.
4
+ */
5
+ export declare function emitInputTypes(schema: SchemaMetadata): string;
6
+ //# sourceMappingURL=input-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/input-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,oBAAoB,CAAC;AAiB5B;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAmI7D"}