@fougere/core 0.5.0-alpha.1 → 0.7.0-alpha.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 (519) hide show
  1. package/README.md +1 -1
  2. package/dist/boot/Emissions.d.ts +14 -91
  3. package/dist/boot/Emissions.d.ts.map +1 -1
  4. package/dist/boot/Emissions.js +21 -118
  5. package/dist/boot/Emissions.js.map +1 -1
  6. package/dist/boot/ambient-port.d.ts +3 -24
  7. package/dist/boot/ambient-port.d.ts.map +1 -1
  8. package/dist/boot/ambient.als.d.ts.map +1 -1
  9. package/dist/boot/ambient.als.js +7 -12
  10. package/dist/boot/ambient.als.js.map +1 -1
  11. package/dist/boot/ambient.queue.d.ts +2 -5
  12. package/dist/boot/ambient.queue.d.ts.map +1 -1
  13. package/dist/boot/ambient.queue.js.map +1 -1
  14. package/dist/boot/apply.d.ts +1 -13
  15. package/dist/boot/apply.d.ts.map +1 -1
  16. package/dist/boot/apply.js +3 -15
  17. package/dist/boot/apply.js.map +1 -1
  18. package/dist/boot/auth.d.ts +6 -16
  19. package/dist/boot/auth.d.ts.map +1 -1
  20. package/dist/boot/boot.d.ts +5 -18
  21. package/dist/boot/boot.d.ts.map +1 -1
  22. package/dist/boot/boot.js +4 -11
  23. package/dist/boot/boot.js.map +1 -1
  24. package/dist/boot/bootstrap.d.ts.map +1 -1
  25. package/dist/boot/bootstrap.js +106 -163
  26. package/dist/boot/bootstrap.js.map +1 -1
  27. package/dist/boot/card.d.ts +5 -0
  28. package/dist/boot/card.d.ts.map +1 -0
  29. package/dist/boot/card.js +71 -0
  30. package/dist/boot/card.js.map +1 -0
  31. package/dist/boot/frame.d.ts +8 -32
  32. package/dist/boot/frame.d.ts.map +1 -1
  33. package/dist/boot/frame.js +23 -57
  34. package/dist/boot/frame.js.map +1 -1
  35. package/dist/boot/hosted.d.ts +3 -19
  36. package/dist/boot/hosted.d.ts.map +1 -1
  37. package/dist/boot/hosted.js +12 -17
  38. package/dist/boot/hosted.js.map +1 -1
  39. package/dist/boot/ownership.d.ts +5 -36
  40. package/dist/boot/ownership.d.ts.map +1 -1
  41. package/dist/boot/ownership.js +9 -49
  42. package/dist/boot/ownership.js.map +1 -1
  43. package/dist/boot/ports.d.ts +2 -15
  44. package/dist/boot/ports.d.ts.map +1 -1
  45. package/dist/boot/ports.js +1 -14
  46. package/dist/boot/ports.js.map +1 -1
  47. package/dist/boot/remote.d.ts +5 -38
  48. package/dist/boot/remote.d.ts.map +1 -1
  49. package/dist/boot/remote.js +8 -41
  50. package/dist/boot/remote.js.map +1 -1
  51. package/dist/boot/runner.d.ts +11 -0
  52. package/dist/boot/runner.d.ts.map +1 -0
  53. package/dist/boot/runner.js +13 -0
  54. package/dist/boot/runner.js.map +1 -0
  55. package/dist/boot/seed.d.ts +5 -32
  56. package/dist/boot/seed.d.ts.map +1 -1
  57. package/dist/boot/seed.js +10 -41
  58. package/dist/boot/seed.js.map +1 -1
  59. package/dist/boot/statement-drift.d.ts +4 -22
  60. package/dist/boot/statement-drift.d.ts.map +1 -1
  61. package/dist/boot/statement-drift.js +4 -9
  62. package/dist/boot/statement-drift.js.map +1 -1
  63. package/dist/boot/together.d.ts +8 -12
  64. package/dist/boot/together.d.ts.map +1 -1
  65. package/dist/boot/together.js +28 -65
  66. package/dist/boot/together.js.map +1 -1
  67. package/dist/boot/types.d.ts +36 -180
  68. package/dist/boot/types.d.ts.map +1 -1
  69. package/dist/builtin/config.d.ts +7 -0
  70. package/dist/builtin/config.d.ts.map +1 -0
  71. package/dist/builtin/config.js +15 -0
  72. package/dist/builtin/config.js.map +1 -0
  73. package/dist/{builtins → builtin}/logger.d.ts +4 -25
  74. package/dist/builtin/logger.d.ts.map +1 -0
  75. package/dist/{builtins → builtin}/logger.js +5 -32
  76. package/dist/builtin/logger.js.map +1 -0
  77. package/dist/config-loader.d.ts +9 -67
  78. package/dist/config-loader.d.ts.map +1 -1
  79. package/dist/config-loader.js +5 -18
  80. package/dist/config-loader.js.map +1 -1
  81. package/dist/contract.d.ts +13 -31
  82. package/dist/contract.d.ts.map +1 -1
  83. package/dist/contract.js +10 -26
  84. package/dist/contract.js.map +1 -1
  85. package/dist/crypto/encoding.d.ts +2 -15
  86. package/dist/crypto/encoding.d.ts.map +1 -1
  87. package/dist/crypto/encoding.js +2 -15
  88. package/dist/crypto/encoding.js.map +1 -1
  89. package/dist/crypto/node.d.ts.map +1 -1
  90. package/dist/crypto/node.js +1 -7
  91. package/dist/crypto/node.js.map +1 -1
  92. package/dist/crypto/port.d.ts +2 -18
  93. package/dist/crypto/port.d.ts.map +1 -1
  94. package/dist/crypto/port.js +1 -17
  95. package/dist/crypto/port.js.map +1 -1
  96. package/dist/crypto/webcrypto.d.ts.map +1 -1
  97. package/dist/crypto/webcrypto.js +1 -12
  98. package/dist/crypto/webcrypto.js.map +1 -1
  99. package/dist/declare.d.ts +41 -0
  100. package/dist/declare.d.ts.map +1 -0
  101. package/dist/{scan/declare.js → declare.js} +6 -31
  102. package/dist/declare.js.map +1 -0
  103. package/dist/define.d.ts +2 -3
  104. package/dist/define.d.ts.map +1 -1
  105. package/dist/define.js +2 -3
  106. package/dist/define.js.map +1 -1
  107. package/dist/descriptor/Fronds.d.ts +19 -0
  108. package/dist/descriptor/Fronds.d.ts.map +1 -0
  109. package/dist/descriptor/Fronds.js +40 -0
  110. package/dist/descriptor/Fronds.js.map +1 -0
  111. package/dist/descriptor/frond.d.ts +135 -0
  112. package/dist/descriptor/frond.d.ts.map +1 -0
  113. package/dist/{scan → descriptor}/frond.js.map +1 -1
  114. package/dist/dispatch/ArgumentResolver.d.ts +6 -3
  115. package/dist/dispatch/ArgumentResolver.d.ts.map +1 -1
  116. package/dist/dispatch/ArgumentResolver.js +48 -3
  117. package/dist/dispatch/ArgumentResolver.js.map +1 -1
  118. package/dist/dispatch/DispatchEvent.d.ts +2 -2
  119. package/dist/dispatch/DispatchEvent.d.ts.map +1 -1
  120. package/dist/dispatch/DispatchLifecycle.d.ts +1 -7
  121. package/dist/dispatch/DispatchLifecycle.d.ts.map +1 -1
  122. package/dist/dispatch/DispatchLifecycle.js +1 -7
  123. package/dist/dispatch/DispatchLifecycle.js.map +1 -1
  124. package/dist/dispatch/DispatchPort.d.ts +1 -1
  125. package/dist/dispatch/DispatchPort.d.ts.map +1 -1
  126. package/dist/dispatch/Dispatcher.d.ts +1 -1
  127. package/dist/dispatch/Dispatcher.d.ts.map +1 -1
  128. package/dist/dispatch/Dispatcher.js +2 -2
  129. package/dist/dispatch/Dispatcher.js.map +1 -1
  130. package/dist/{boot → dispatch}/HandlerFacade.d.ts +25 -38
  131. package/dist/dispatch/HandlerFacade.d.ts.map +1 -0
  132. package/dist/{boot → dispatch}/HandlerFacade.js +65 -74
  133. package/dist/dispatch/HandlerFacade.js.map +1 -0
  134. package/dist/dispatch/LocalRoutePolicy.d.ts +1 -1
  135. package/dist/dispatch/LocalRoutePolicy.d.ts.map +1 -1
  136. package/dist/dispatch/LocalRoutePolicy.js +4 -4
  137. package/dist/dispatch/LocalRoutePolicy.js.map +1 -1
  138. package/dist/dispatch/OperationRoute.d.ts +2 -2
  139. package/dist/dispatch/OperationRoute.d.ts.map +1 -1
  140. package/dist/dispatch/OutputView.d.ts +3 -2
  141. package/dist/dispatch/OutputView.d.ts.map +1 -1
  142. package/dist/dispatch/OutputView.js +19 -1
  143. package/dist/dispatch/OutputView.js.map +1 -1
  144. package/dist/dispatch/Route.d.ts +2 -3
  145. package/dist/dispatch/Route.d.ts.map +1 -1
  146. package/dist/dispatch/RoutePolicy.d.ts +1 -1
  147. package/dist/dispatch/RoutePolicy.d.ts.map +1 -1
  148. package/dist/dispatch/RouteRegistry.d.ts +1 -1
  149. package/dist/dispatch/RouteRegistry.d.ts.map +1 -1
  150. package/dist/dispatch/RouteRegistry.js +2 -2
  151. package/dist/dispatch/RouteRegistry.js.map +1 -1
  152. package/dist/dispatch/RouteResolver.d.ts +2 -4
  153. package/dist/dispatch/RouteResolver.d.ts.map +1 -1
  154. package/dist/dispatch/StorageGuard.d.ts +9 -8
  155. package/dist/dispatch/StorageGuard.d.ts.map +1 -1
  156. package/dist/dispatch/StorageGuard.js +66 -23
  157. package/dist/dispatch/StorageGuard.js.map +1 -1
  158. package/dist/dispatch/presenterArguments.d.ts +7 -0
  159. package/dist/dispatch/presenterArguments.d.ts.map +1 -0
  160. package/dist/dispatch/presenterArguments.js +12 -0
  161. package/dist/dispatch/presenterArguments.js.map +1 -0
  162. package/dist/dispatch/remoteRoutes.d.ts +7 -0
  163. package/dist/dispatch/remoteRoutes.d.ts.map +1 -0
  164. package/dist/dispatch/{RemoteRouteResolver.js → remoteRoutes.js} +6 -10
  165. package/dist/dispatch/remoteRoutes.js.map +1 -0
  166. package/dist/dispatch/routeNotFound.d.ts +9 -0
  167. package/dist/dispatch/routeNotFound.d.ts.map +1 -0
  168. package/dist/dispatch/routeNotFound.js +21 -0
  169. package/dist/dispatch/routeNotFound.js.map +1 -0
  170. package/dist/dispatch/validateInput.d.ts +5 -0
  171. package/dist/dispatch/validateInput.d.ts.map +1 -0
  172. package/dist/dispatch/validateInput.js +20 -0
  173. package/dist/dispatch/validateInput.js.map +1 -0
  174. package/dist/effective-operation.d.ts +6 -3
  175. package/dist/effective-operation.d.ts.map +1 -1
  176. package/dist/effective-operation.js +49 -27
  177. package/dist/effective-operation.js.map +1 -1
  178. package/dist/emit.d.ts +4 -42
  179. package/dist/emit.d.ts.map +1 -1
  180. package/dist/emit.js +3 -39
  181. package/dist/emit.js.map +1 -1
  182. package/dist/entry/facade.d.ts +8 -0
  183. package/dist/entry/facade.d.ts.map +1 -0
  184. package/dist/entry/facade.js +28 -0
  185. package/dist/entry/facade.js.map +1 -0
  186. package/dist/entry/transport.d.ts +5 -0
  187. package/dist/entry/transport.d.ts.map +1 -0
  188. package/dist/entry/transport.js +11 -0
  189. package/dist/entry/transport.js.map +1 -0
  190. package/dist/frond-config.d.ts +8 -71
  191. package/dist/frond-config.d.ts.map +1 -1
  192. package/dist/frond-config.js +1 -9
  193. package/dist/frond-config.js.map +1 -1
  194. package/dist/graph.d.ts +1 -1
  195. package/dist/graph.d.ts.map +1 -1
  196. package/dist/identity-keys.d.ts +2 -5
  197. package/dist/identity-keys.d.ts.map +1 -1
  198. package/dist/identity-keys.js +3 -16
  199. package/dist/identity-keys.js.map +1 -1
  200. package/dist/identity.d.ts +4 -30
  201. package/dist/identity.d.ts.map +1 -1
  202. package/dist/identity.js +11 -73
  203. package/dist/identity.js.map +1 -1
  204. package/dist/imports.d.ts +2 -8
  205. package/dist/imports.d.ts.map +1 -1
  206. package/dist/imports.js +1 -7
  207. package/dist/imports.js.map +1 -1
  208. package/dist/index.d.ts +28 -30
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +17 -22
  211. package/dist/index.js.map +1 -1
  212. package/dist/loader.d.ts +1 -8
  213. package/dist/loader.d.ts.map +1 -1
  214. package/dist/loader.js +1 -8
  215. package/dist/loader.js.map +1 -1
  216. package/dist/node.d.ts +2 -11
  217. package/dist/node.d.ts.map +1 -1
  218. package/dist/node.js +2 -11
  219. package/dist/node.js.map +1 -1
  220. package/dist/prefab/collector.d.ts +1 -22
  221. package/dist/prefab/collector.d.ts.map +1 -1
  222. package/dist/prefab/collector.js +1 -22
  223. package/dist/prefab/collector.js.map +1 -1
  224. package/dist/prefab/crud.d.ts +19 -35
  225. package/dist/prefab/crud.d.ts.map +1 -1
  226. package/dist/prefab/crud.js +39 -66
  227. package/dist/prefab/crud.js.map +1 -1
  228. package/dist/prefab/mirror.d.ts +5 -27
  229. package/dist/prefab/mirror.d.ts.map +1 -1
  230. package/dist/prefab/mirror.js +6 -24
  231. package/dist/prefab/mirror.js.map +1 -1
  232. package/dist/prefab/prefab.d.ts +1 -7
  233. package/dist/prefab/prefab.d.ts.map +1 -1
  234. package/dist/prefab/prefab.js +1 -7
  235. package/dist/prefab/prefab.js.map +1 -1
  236. package/dist/prefab/presenter.d.ts +2 -36
  237. package/dist/prefab/presenter.d.ts.map +1 -1
  238. package/dist/prefab/presenter.js +2 -36
  239. package/dist/prefab/presenter.js.map +1 -1
  240. package/dist/prefab/repository.d.ts +12 -80
  241. package/dist/prefab/repository.d.ts.map +1 -1
  242. package/dist/prefab/repository.js +22 -35
  243. package/dist/prefab/repository.js.map +1 -1
  244. package/dist/scan/adapters.d.ts +3 -0
  245. package/dist/scan/adapters.d.ts.map +1 -0
  246. package/dist/scan/adapters.js +25 -0
  247. package/dist/scan/adapters.js.map +1 -0
  248. package/dist/scan/bundling.d.ts +1 -12
  249. package/dist/scan/bundling.d.ts.map +1 -1
  250. package/dist/scan/bundling.js +1 -12
  251. package/dist/scan/bundling.js.map +1 -1
  252. package/dist/scan/conventions.d.ts +6 -40
  253. package/dist/scan/conventions.d.ts.map +1 -1
  254. package/dist/scan/conventions.js +5 -34
  255. package/dist/scan/conventions.js.map +1 -1
  256. package/dist/scan/emit.d.ts +2 -6
  257. package/dist/scan/emit.d.ts.map +1 -1
  258. package/dist/scan/emit.js +5 -39
  259. package/dist/scan/emit.js.map +1 -1
  260. package/dist/scan/handler-parser.d.ts +9 -76
  261. package/dist/scan/handler-parser.d.ts.map +1 -1
  262. package/dist/scan/handler-parser.js +28 -85
  263. package/dist/scan/handler-parser.js.map +1 -1
  264. package/dist/scan/result.d.ts +28 -0
  265. package/dist/scan/result.d.ts.map +1 -0
  266. package/dist/scan/result.js +2 -0
  267. package/dist/scan/result.js.map +1 -0
  268. package/dist/scan/scanner.d.ts +3 -28
  269. package/dist/scan/scanner.d.ts.map +1 -1
  270. package/dist/scan/scanner.js +36 -135
  271. package/dist/scan/scanner.js.map +1 -1
  272. package/dist/scan/statement.d.ts +1 -1
  273. package/dist/scan/statement.d.ts.map +1 -1
  274. package/dist/scan/statement.js +4 -30
  275. package/dist/scan/statement.js.map +1 -1
  276. package/dist/source.d.ts +41 -0
  277. package/dist/source.d.ts.map +1 -0
  278. package/dist/source.js +10 -0
  279. package/dist/source.js.map +1 -0
  280. package/dist/storage.d.ts +92 -0
  281. package/dist/storage.d.ts.map +1 -0
  282. package/dist/storage.js +50 -0
  283. package/dist/storage.js.map +1 -0
  284. package/dist/store.d.ts +18 -0
  285. package/dist/store.d.ts.map +1 -0
  286. package/dist/store.js +146 -0
  287. package/dist/store.js.map +1 -0
  288. package/dist/verify.d.ts +6 -39
  289. package/dist/verify.d.ts.map +1 -1
  290. package/dist/verify.js +19 -39
  291. package/dist/verify.js.map +1 -1
  292. package/dist/wire/CallLog.d.ts +32 -0
  293. package/dist/wire/CallLog.d.ts.map +1 -0
  294. package/dist/{contract → wire}/CallLog.js.map +1 -1
  295. package/dist/wire/Invocation.d.ts +32 -0
  296. package/dist/wire/Invocation.d.ts.map +1 -0
  297. package/dist/wire/Invocation.js +66 -0
  298. package/dist/wire/Invocation.js.map +1 -0
  299. package/dist/wire/RouteAddress.d.ts +24 -0
  300. package/dist/wire/RouteAddress.d.ts.map +1 -0
  301. package/dist/{contract → wire}/RouteAddress.js +7 -0
  302. package/dist/wire/RouteAddress.js.map +1 -0
  303. package/dist/wire/binding.d.ts +36 -0
  304. package/dist/wire/binding.d.ts.map +1 -0
  305. package/dist/{boot → wire}/binding.js +5 -62
  306. package/dist/wire/binding.js.map +1 -0
  307. package/dist/wire/call.d.ts +25 -172
  308. package/dist/wire/call.d.ts.map +1 -1
  309. package/dist/wire/call.js +15 -166
  310. package/dist/wire/call.js.map +1 -1
  311. package/dist/wire/drift.d.ts +3 -28
  312. package/dist/wire/drift.d.ts.map +1 -1
  313. package/dist/wire/drift.js +4 -23
  314. package/dist/wire/drift.js.map +1 -1
  315. package/dist/wire/errors.d.ts +4 -24
  316. package/dist/wire/errors.d.ts.map +1 -1
  317. package/dist/wire/errors.js +4 -24
  318. package/dist/wire/errors.js.map +1 -1
  319. package/dist/wire/http-error.d.ts +2 -13
  320. package/dist/wire/http-error.d.ts.map +1 -1
  321. package/dist/wire/http-error.js +5 -19
  322. package/dist/wire/http-error.js.map +1 -1
  323. package/dist/wire/loggerMiddleware.d.ts +2 -8
  324. package/dist/wire/loggerMiddleware.d.ts.map +1 -1
  325. package/dist/wire/loggerMiddleware.js +1 -7
  326. package/dist/wire/loggerMiddleware.js.map +1 -1
  327. package/dist/wire/middleware.d.ts +3 -7
  328. package/dist/wire/middleware.d.ts.map +1 -1
  329. package/dist/wire/middleware.js +1 -5
  330. package/dist/wire/middleware.js.map +1 -1
  331. package/dist/wire/operation.d.ts +12 -74
  332. package/dist/wire/operation.d.ts.map +1 -1
  333. package/dist/wire/operation.js +4 -66
  334. package/dist/wire/operation.js.map +1 -1
  335. package/dist/wire/signature.d.ts +37 -0
  336. package/dist/wire/signature.d.ts.map +1 -0
  337. package/dist/wire/signature.js +2 -0
  338. package/dist/wire/signature.js.map +1 -0
  339. package/package.json +3 -3
  340. package/src/boot/Emissions.ts +22 -119
  341. package/src/boot/ambient-port.ts +3 -24
  342. package/src/boot/ambient.als.ts +7 -12
  343. package/src/boot/ambient.queue.ts +2 -5
  344. package/src/boot/apply.ts +3 -15
  345. package/src/boot/auth.ts +6 -16
  346. package/src/boot/boot.ts +8 -23
  347. package/src/boot/bootstrap.ts +117 -173
  348. package/src/boot/card.ts +84 -0
  349. package/src/boot/frame.ts +31 -65
  350. package/src/boot/hosted.ts +15 -40
  351. package/src/boot/ownership.ts +14 -49
  352. package/src/boot/ports.ts +2 -15
  353. package/src/boot/remote.ts +11 -58
  354. package/src/boot/runner.ts +17 -0
  355. package/src/boot/seed.ts +11 -42
  356. package/src/boot/statement-drift.ts +10 -28
  357. package/src/boot/together.ts +38 -72
  358. package/src/boot/types.ts +36 -180
  359. package/src/{builtins → builtin}/config.ts +1 -7
  360. package/src/{builtins → builtin}/logger.ts +6 -39
  361. package/src/config-loader.ts +12 -71
  362. package/src/contract.ts +15 -39
  363. package/src/crypto/encoding.ts +2 -15
  364. package/src/crypto/node.ts +1 -7
  365. package/src/crypto/port.ts +2 -18
  366. package/src/crypto/webcrypto.ts +1 -12
  367. package/src/{scan/declare.ts → declare.ts} +11 -42
  368. package/src/define.ts +2 -3
  369. package/src/descriptor/Fronds.ts +47 -0
  370. package/src/descriptor/frond.ts +145 -0
  371. package/src/dispatch/ArgumentResolver.ts +54 -8
  372. package/src/dispatch/DispatchEvent.ts +2 -2
  373. package/src/dispatch/DispatchLifecycle.ts +1 -7
  374. package/src/dispatch/DispatchPort.ts +1 -1
  375. package/src/dispatch/Dispatcher.ts +3 -3
  376. package/src/dispatch/HandlerFacade.ts +231 -0
  377. package/src/dispatch/LocalRoutePolicy.ts +4 -4
  378. package/src/dispatch/OperationRoute.ts +2 -2
  379. package/src/dispatch/OutputView.ts +24 -2
  380. package/src/dispatch/Route.ts +2 -4
  381. package/src/dispatch/RoutePolicy.ts +1 -1
  382. package/src/dispatch/RouteRegistry.ts +2 -2
  383. package/src/dispatch/RouteResolver.ts +2 -4
  384. package/src/dispatch/StorageGuard.ts +75 -23
  385. package/src/dispatch/presenterArguments.ts +25 -0
  386. package/src/dispatch/{RemoteRouteResolver.ts → remoteRoutes.ts} +7 -9
  387. package/src/dispatch/routeNotFound.ts +33 -0
  388. package/src/dispatch/validateInput.ts +28 -0
  389. package/src/effective-operation.ts +60 -37
  390. package/src/emit.ts +5 -63
  391. package/src/entry/facade.ts +44 -0
  392. package/src/entry/transport.ts +16 -0
  393. package/src/frond-config.ts +8 -71
  394. package/src/graph.ts +1 -1
  395. package/src/identity-keys.ts +3 -16
  396. package/src/identity.ts +12 -80
  397. package/src/imports.ts +3 -32
  398. package/src/index.ts +28 -33
  399. package/src/loader.ts +2 -16
  400. package/src/node.ts +2 -11
  401. package/src/prefab/collector.ts +1 -22
  402. package/src/prefab/crud.ts +51 -90
  403. package/src/prefab/mirror.ts +9 -49
  404. package/src/prefab/prefab.ts +2 -21
  405. package/src/prefab/presenter.ts +2 -36
  406. package/src/prefab/repository.ts +32 -108
  407. package/src/scan/adapters.ts +32 -0
  408. package/src/scan/bundling.ts +1 -12
  409. package/src/scan/conventions.ts +6 -40
  410. package/src/scan/emit.ts +7 -43
  411. package/src/scan/handler-parser.ts +41 -163
  412. package/src/scan/result.ts +29 -0
  413. package/src/scan/scanner.ts +40 -138
  414. package/src/scan/statement.ts +6 -31
  415. package/src/source.ts +44 -0
  416. package/src/storage.ts +141 -0
  417. package/src/store.ts +152 -0
  418. package/src/verify.ts +19 -60
  419. package/src/wire/CallLog.ts +30 -0
  420. package/src/{contract → wire}/Invocation.ts +24 -17
  421. package/src/{contract → wire}/RouteAddress.ts +10 -0
  422. package/src/wire/binding.ts +102 -0
  423. package/src/wire/call.ts +30 -261
  424. package/src/wire/drift.ts +5 -30
  425. package/src/wire/errors.ts +4 -24
  426. package/src/wire/http-error.ts +5 -19
  427. package/src/wire/loggerMiddleware.ts +2 -8
  428. package/src/wire/middleware.ts +3 -7
  429. package/src/wire/operation.ts +13 -110
  430. package/src/wire/signature.ts +38 -0
  431. package/dist/boot/HandlerFacade.d.ts.map +0 -1
  432. package/dist/boot/HandlerFacade.js.map +0 -1
  433. package/dist/boot/binding.d.ts +0 -60
  434. package/dist/boot/binding.d.ts.map +0 -1
  435. package/dist/boot/binding.js.map +0 -1
  436. package/dist/builtins/config.d.ts +0 -13
  437. package/dist/builtins/config.d.ts.map +0 -1
  438. package/dist/builtins/config.js +0 -21
  439. package/dist/builtins/config.js.map +0 -1
  440. package/dist/builtins/logger.d.ts.map +0 -1
  441. package/dist/builtins/logger.js.map +0 -1
  442. package/dist/contract/Call.d.ts +0 -10
  443. package/dist/contract/Call.d.ts.map +0 -1
  444. package/dist/contract/Call.js +0 -15
  445. package/dist/contract/Call.js.map +0 -1
  446. package/dist/contract/CallLog.d.ts +0 -57
  447. package/dist/contract/CallLog.d.ts.map +0 -1
  448. package/dist/contract/Invocation.d.ts +0 -27
  449. package/dist/contract/Invocation.d.ts.map +0 -1
  450. package/dist/contract/Invocation.js +0 -59
  451. package/dist/contract/Invocation.js.map +0 -1
  452. package/dist/contract/RouteAddress.d.ts +0 -17
  453. package/dist/contract/RouteAddress.d.ts.map +0 -1
  454. package/dist/contract/RouteAddress.js.map +0 -1
  455. package/dist/dispatch/InputValidator.d.ts +0 -7
  456. package/dist/dispatch/InputValidator.d.ts.map +0 -1
  457. package/dist/dispatch/InputValidator.js +0 -22
  458. package/dist/dispatch/InputValidator.js.map +0 -1
  459. package/dist/dispatch/OperationExecutor.d.ts +0 -25
  460. package/dist/dispatch/OperationExecutor.d.ts.map +0 -1
  461. package/dist/dispatch/OperationExecutor.js +0 -32
  462. package/dist/dispatch/OperationExecutor.js.map +0 -1
  463. package/dist/dispatch/OutputProjector.d.ts +0 -12
  464. package/dist/dispatch/OutputProjector.d.ts.map +0 -1
  465. package/dist/dispatch/OutputProjector.js +0 -30
  466. package/dist/dispatch/OutputProjector.js.map +0 -1
  467. package/dist/dispatch/PresenterArgumentResolver.d.ts +0 -12
  468. package/dist/dispatch/PresenterArgumentResolver.d.ts.map +0 -1
  469. package/dist/dispatch/PresenterArgumentResolver.js +0 -20
  470. package/dist/dispatch/PresenterArgumentResolver.js.map +0 -1
  471. package/dist/dispatch/RemoteRouteResolver.d.ts +0 -13
  472. package/dist/dispatch/RemoteRouteResolver.d.ts.map +0 -1
  473. package/dist/dispatch/RemoteRouteResolver.js.map +0 -1
  474. package/dist/dispatch/RouteNotFoundError.d.ts +0 -10
  475. package/dist/dispatch/RouteNotFoundError.d.ts.map +0 -1
  476. package/dist/dispatch/RouteNotFoundError.js +0 -24
  477. package/dist/dispatch/RouteNotFoundError.js.map +0 -1
  478. package/dist/entry/DynamicFacade.d.ts +0 -10
  479. package/dist/entry/DynamicFacade.d.ts.map +0 -1
  480. package/dist/entry/DynamicFacade.js +0 -27
  481. package/dist/entry/DynamicFacade.js.map +0 -1
  482. package/dist/entry/FacadeEntry.d.ts +0 -11
  483. package/dist/entry/FacadeEntry.d.ts.map +0 -1
  484. package/dist/entry/FacadeEntry.js +0 -26
  485. package/dist/entry/FacadeEntry.js.map +0 -1
  486. package/dist/entry/TransportEntry.d.ts +0 -13
  487. package/dist/entry/TransportEntry.d.ts.map +0 -1
  488. package/dist/entry/TransportEntry.js +0 -24
  489. package/dist/entry/TransportEntry.js.map +0 -1
  490. package/dist/orm.d.ts +0 -207
  491. package/dist/orm.d.ts.map +0 -1
  492. package/dist/orm.js +0 -66
  493. package/dist/orm.js.map +0 -1
  494. package/dist/scan/Fronds.d.ts +0 -45
  495. package/dist/scan/Fronds.d.ts.map +0 -1
  496. package/dist/scan/Fronds.js +0 -66
  497. package/dist/scan/Fronds.js.map +0 -1
  498. package/dist/scan/declare.d.ts +0 -71
  499. package/dist/scan/declare.d.ts.map +0 -1
  500. package/dist/scan/declare.js.map +0 -1
  501. package/dist/scan/frond.d.ts +0 -224
  502. package/dist/scan/frond.d.ts.map +0 -1
  503. package/src/boot/HandlerFacade.ts +0 -242
  504. package/src/boot/binding.ts +0 -182
  505. package/src/contract/Call.ts +0 -18
  506. package/src/contract/CallLog.ts +0 -55
  507. package/src/dispatch/InputValidator.ts +0 -28
  508. package/src/dispatch/OperationExecutor.ts +0 -60
  509. package/src/dispatch/OutputProjector.ts +0 -32
  510. package/src/dispatch/PresenterArgumentResolver.ts +0 -25
  511. package/src/dispatch/RouteNotFoundError.ts +0 -29
  512. package/src/entry/DynamicFacade.ts +0 -28
  513. package/src/entry/FacadeEntry.ts +0 -32
  514. package/src/entry/TransportEntry.ts +0 -30
  515. package/src/orm.ts +0 -252
  516. package/src/scan/Fronds.ts +0 -73
  517. package/src/scan/frond.ts +0 -235
  518. /package/dist/{scan → descriptor}/frond.js +0 -0
  519. /package/dist/{contract → wire}/CallLog.js +0 -0
@@ -2,46 +2,38 @@ import { upperFirst } from '@fougere/schema';
2
2
  export function Repository(...entities) {
3
3
  return entities.length === 1 ? one(entities[0]) : many(entities);
4
4
  }
5
- /**
6
- * The port forwarded, member by member. Written out rather than proxied: a Proxy would
7
- * answer every name including the ones the port does not have, and this file would then
8
- * state the surface nowhere. Thirteen lines against one declaration that can be read.
9
- */
5
+ /** The port forwarded, member by member. */
10
6
  function one(entity) {
11
7
  class RepositoryBase {
12
- orm;
8
+ storage;
13
9
  static __entity = entity;
14
- constructor(orm) {
15
- this.orm = orm;
10
+ constructor(storage) {
11
+ this.storage = storage;
16
12
  }
17
- list(options) { return this.orm.list(options); }
18
- findById(id, options) { return this.orm.findById(id, options); }
19
- findBy(criteria, options) { return this.orm.findBy(criteria, options); }
20
- findAllBy(criteria, options) { return this.orm.findAllBy(criteria, options); }
21
- findByKeys(ids, options) { return this.orm.findByKeys(ids, options); }
22
- findAllByKeys(field, keys, options) { return this.orm.findAllByKeys(field, keys, options); }
23
- create(input, options) { return this.orm.create(input, options); }
24
- upsert(input, options) { return this.orm.upsert(input, options); }
25
- upsertAll(inputs, options) { return this.orm.upsertAll(inputs, options); }
26
- update(id, input, options) { return this.orm.update(id, input, options); }
27
- delete(id) { return this.orm.delete(id); }
28
- output(schema) { return this.orm.output(schema); }
29
- get client() { return this.orm.client; }
13
+ list(options) { return this.storage.list(options); }
14
+ findById(id, options) { return this.storage.findById(id, options); }
15
+ findBy(criteria, options) { return this.storage.findBy(criteria, options); }
16
+ findAllBy(criteria, options) { return this.storage.findAllBy(criteria, options); }
17
+ findByKeys(ids, options) { return this.storage.findByKeys(ids, options); }
18
+ findAllByKeys(field, keys, options) { return this.storage.findAllByKeys(field, keys, options); }
19
+ create(input, options) { return this.storage.create(input, options); }
20
+ upsert(input, options) { return this.storage.upsert(input, options); }
21
+ upsertAll(inputs, options) { return this.storage.upsertAll(inputs, options); }
22
+ update(id, input, options) { return this.storage.update(id, input, options); }
23
+ delete(id) { return this.storage.delete(id); }
24
+ output(schema) { return this.storage.output(schema); }
25
+ get client() { return this.storage.client; }
30
26
  }
31
27
  return RepositoryBase;
32
28
  }
33
- /**
34
- * The aggregate. Its constructor takes the members' storage in the DECLARED order — the
35
- * order `toProvider` fills its `deps` with, and the order a subclass hands back to `super()`
36
- * when it declares a constructor of its own.
37
- */
29
+ /** The aggregate. */
38
30
  function many(entities) {
39
31
  class AggregateBase {
40
32
  static __entity = entities[0];
41
33
  static __owns = entities;
42
- orms;
43
- constructor(...orms) {
44
- this.orms = orms.slice(0, entities.length);
34
+ storages;
35
+ constructor(...storages) {
36
+ this.storages = storages.slice(0, entities.length);
45
37
  }
46
38
  }
47
39
  return AggregateBase;
@@ -50,12 +42,7 @@ function many(entities) {
50
42
  export function repositoryKeyOf(entity) {
51
43
  return `${upperFirst(entity)}Repository`;
52
44
  }
53
- /**
54
- * The entities a class owns — empty for anything that is not an aggregate.
55
- *
56
- * Read from the mark rather than from the constructor, for the reason `Crud.__ops` exists:
57
- * the AST scan is workspace-only, so an installed prefab resolves to nothing.
58
- */
45
+ /** The entities a class owns — empty for anything that is not an aggregate. */
59
46
  export function ownedBy(ctor) {
60
47
  return ctor?.__owns ?? [];
61
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/prefab/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,iBAAiB,CAAC;AAqGrE,MAAM,UAAU,UAAU,CAAC,GAAG,QAA6B;IACzD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,SAAS,GAAG,CAA8B,MAAS;IAGjD,MAAM,cAAc;QAGI;QAFtB,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC;QAElC,YAAsB,GAAiB;YAAjB,QAAG,GAAH,GAAG,CAAc;QAAG,CAAC;QAE3C,IAAI,CAAC,OAAoC,IAA4B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrG,QAAQ,CAAC,EAAU,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,CAAC,QAA8C,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7H,SAAS,CAAC,QAA8C,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACnI,UAAU,CAAC,GAAsB,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACxG,aAAa,CAAC,KAAa,EAAE,IAAuB,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACtI,MAAM,CAAC,KAAiB,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,CAAC,KAAiB,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7F,SAAS,CAAC,MAA6B,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,CAAC,EAAU,EAAE,KAAiB,EAAE,OAAsB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7G,MAAM,CAAC,EAAU,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAkB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,MAAM,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;;IAGnD,OAAO,cAAqD,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAyC,QAAW;IAC/D,MAAM,aAAa;QACjB,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAU,MAAM,GAAG,QAAQ,CAAC;QAExB,IAAI,CAAiB;QAE/B,YAAY,GAAG,IAAe;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAmB,CAAC;QAC/D,CAAC;;IAGH,OAAO,aAAmD,CAAC;AAC7D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,OAAQ,IAA8D,EAAE,MAAM,IAAI,EAAE,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/prefab/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** The adapter names this project depends on — empty when it has no package.json to read. */
2
+ export declare function adaptersOf(root: string): Promise<string[]>;
3
+ //# sourceMappingURL=adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/scan/adapters.ts"],"names":[],"mappings":"AAMA,6FAA6F;AAC7F,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAShE"}
@@ -0,0 +1,25 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ /** Which adapters a PROJECT could load, read off its dependencies. */
4
+ const ADAPTER_PACKAGE = /^@fougere\/adapter-(.+)$/;
5
+ /** The adapter names this project depends on — empty when it has no package.json to read. */
6
+ export async function adaptersOf(root) {
7
+ const manifest = await read(join(root, 'package.json'));
8
+ if (!manifest)
9
+ return [];
10
+ const declared = { ...manifest.dependencies, ...manifest.devDependencies };
11
+ return Object.keys(declared)
12
+ .map((name) => ADAPTER_PACKAGE.exec(name)?.[1])
13
+ .filter((name) => name !== undefined);
14
+ }
15
+ async function read(path) {
16
+ try {
17
+ return JSON.parse(await readFile(path, 'utf8'));
18
+ }
19
+ catch {
20
+ // No manifest, or one that is not JSON. Either way this cannot validate a name, and
21
+ // reporting every `adapters:` key as unknown would be worse than saying nothing.
22
+ return undefined;
23
+ }
24
+ }
25
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/scan/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sEAAsE;AACtE,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAE3E,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAa,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;QACpF,iFAAiF;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,14 +1,3 @@
1
- /**
2
- * What a Fougere boot loads at RUNTIME, so a bundler must leave it alone.
3
- *
4
- * Stated once because it was stated twice and the two had already drifted: the Vite plugin
5
- * listed `@fougere/schema`, `@fougere/adapter-graphql` and `@fougere/auth-better`, the Next
6
- * one did not, and BOTH omitted the two packages `@fougere/app`'s boot actually imports
7
- * dynamically — `@fougere/defaults` and `@fougere/transport-http`. A list a bundler reads
8
- * has no way to notice it is wrong: nothing fails at build time, the app fails at boot.
9
- *
10
- * It sits here rather than beside the dynamic imports because both readers are BUILD-TIME
11
- * plugins that already depend on core, and neither may pull the boot into a bundler config.
12
- */
1
+ /** What a Fougere boot loads at RUNTIME, so a bundler must leave it alone. */
13
2
  export declare const RUNTIME_PACKAGES: readonly string[];
14
3
  //# sourceMappingURL=bundling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundling.d.ts","sourceRoot":"","sources":["../../src/scan/bundling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAY7C,CAAC"}
1
+ {"version":3,"file":"bundling.d.ts","sourceRoot":"","sources":["../../src/scan/bundling.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAY7C,CAAC"}
@@ -1,15 +1,4 @@
1
- /**
2
- * What a Fougere boot loads at RUNTIME, so a bundler must leave it alone.
3
- *
4
- * Stated once because it was stated twice and the two had already drifted: the Vite plugin
5
- * listed `@fougere/schema`, `@fougere/adapter-graphql` and `@fougere/auth-better`, the Next
6
- * one did not, and BOTH omitted the two packages `@fougere/app`'s boot actually imports
7
- * dynamically — `@fougere/defaults` and `@fougere/transport-http`. A list a bundler reads
8
- * has no way to notice it is wrong: nothing fails at build time, the app fails at boot.
9
- *
10
- * It sits here rather than beside the dynamic imports because both readers are BUILD-TIME
11
- * plugins that already depend on core, and neither may pull the boot into a bundler config.
12
- */
1
+ /** What a Fougere boot loads at RUNTIME, so a bundler must leave it alone. */
13
2
  export const RUNTIME_PACKAGES = [
14
3
  '@fougere/app',
15
4
  '@fougere/core',
@@ -1 +1 @@
1
- {"version":3,"file":"bundling.js","sourceRoot":"","sources":["../../src/scan/bundling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,sBAAsB;IACtB,0BAA0B;IAC1B,sBAAsB;IACtB,gBAAgB;IAChB,MAAM;IACN,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"bundling.js","sourceRoot":"","sources":["../../src/scan/bundling.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,sBAAsB;IACtB,0BAA0B;IAC1B,sBAAsB;IACtB,gBAAgB;IAChB,MAAM;IACN,YAAY;CACb,CAAC"}
@@ -1,18 +1,6 @@
1
- /**
2
- * The names the scan READS instead of deriving them.
3
- *
4
- * Everything else a frond states, it states by its shape; these seven directories and the
5
- * import prefix are the one place where a name is the declaration. They were spelled as
6
- * literals in five packages, so a project could not move any of them and `frondsDir` was
7
- * a declared key with no reader.
8
- */
1
+ /** The names the scan READS instead of deriving them. */
9
2
  export interface Conventions {
10
- /**
11
- * The scope a frond's package name carries — `@fronds/blog`.
12
- *
13
- * A real package name, not only an alias: the CLI writes it as `name` in a scaffolded
14
- * frond and as a `workspace:*` dependency in the app that consumes it.
15
- */
3
+ /** The scope a frond's package name carries — `@fronds/blog`. */
16
4
  scope: string;
17
5
  /** The directory holding fronds, below the project root. */
18
6
  fronds: string;
@@ -29,12 +17,7 @@ export interface Conventions {
29
17
  versions: string;
30
18
  };
31
19
  }
32
- /**
33
- * What a project means when it declares nothing — the convention itself.
34
- *
35
- * `@fronds` and not `@frond`: the npm org for the singular belongs to someone else, and a
36
- * scope is a name that must be ownable.
37
- */
20
+ /** What a project means when it declares nothing — the convention itself. */
38
21
  export declare const DEFAULT_CONVENTIONS: Conventions;
39
22
  /** What a `fougere.config.ts` may state: only the names that differ. */
40
23
  export type ConventionsInput = {
@@ -42,29 +25,12 @@ export type ConventionsInput = {
42
25
  fronds?: string;
43
26
  dirs?: Partial<Conventions['dirs']>;
44
27
  };
45
- /**
46
- * The convention, with a project's exceptions folded in.
47
- *
48
- * Merged one level into `dirs` so renaming one directory does not require restating the
49
- * other six — the same reading `sources:` and `ports:` get, where only the exception is
50
- * declared.
51
- */
28
+ /** The convention, with a project's exceptions folded in. */
52
29
  export declare function resolveConventions(input?: ConventionsInput): Conventions;
53
30
  /** The package name a frond answers to. */
54
31
  export declare function frondPackage(name: string, conventions: Conventions): string;
55
- /**
56
- * Directories whose classes register as providers — two spellings, one behaviour.
57
- *
58
- * A project may point both roles at one directory; the scan must then read it once, or
59
- * every provider would be registered twice.
60
- */
32
+ /** Directories whose classes register as providers — two spellings, one behaviour. */
61
33
  export declare function providerDirsOf(conventions: Conventions): string[];
62
- /**
63
- * The frond vocabulary — every directory the scan reads.
64
- *
65
- * What a reader needs to bound a frond: the Nuxt module watches these for the root frond
66
- * (watching the root itself would match every write), and a flat app's tsconfig lists
67
- * them instead of `["."]`, which would swallow `app/` and `nuxt.config.ts`.
68
- */
34
+ /** The frond vocabulary — every directory the scan reads. */
69
35
  export declare function frondDirsOf(conventions: Conventions): string[];
70
36
  //# sourceMappingURL=conventions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/scan/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,uFAAuF;QACvF,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAajC,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAMxE;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAK9D"}
1
+ {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/scan/conventions.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,uFAAuF;QACvF,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,EAAE,WAajC,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAMxE;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAE3E;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAEjE;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAK9D"}
@@ -1,17 +1,5 @@
1
- /**
2
- * The names the scan READS instead of deriving them.
3
- *
4
- * Everything else a frond states, it states by its shape; these seven directories and the
5
- * import prefix are the one place where a name is the declaration. They were spelled as
6
- * literals in five packages, so a project could not move any of them and `frondsDir` was
7
- * a declared key with no reader.
8
- */
9
- /**
10
- * What a project means when it declares nothing — the convention itself.
11
- *
12
- * `@fronds` and not `@frond`: the npm org for the singular belongs to someone else, and a
13
- * scope is a name that must be ownable.
14
- */
1
+ /** The names the scan READS instead of deriving them. */
2
+ /** What a project means when it declares nothing — the convention itself. */
15
3
  export const DEFAULT_CONVENTIONS = {
16
4
  scope: '@fronds',
17
5
  fronds: 'fronds',
@@ -26,13 +14,7 @@ export const DEFAULT_CONVENTIONS = {
26
14
  versions: 'versions',
27
15
  },
28
16
  };
29
- /**
30
- * The convention, with a project's exceptions folded in.
31
- *
32
- * Merged one level into `dirs` so renaming one directory does not require restating the
33
- * other six — the same reading `sources:` and `ports:` get, where only the exception is
34
- * declared.
35
- */
17
+ /** The convention, with a project's exceptions folded in. */
36
18
  export function resolveConventions(input) {
37
19
  return {
38
20
  scope: input?.scope ?? DEFAULT_CONVENTIONS.scope,
@@ -44,22 +26,11 @@ export function resolveConventions(input) {
44
26
  export function frondPackage(name, conventions) {
45
27
  return `${conventions.scope}/${name}`;
46
28
  }
47
- /**
48
- * Directories whose classes register as providers — two spellings, one behaviour.
49
- *
50
- * A project may point both roles at one directory; the scan must then read it once, or
51
- * every provider would be registered twice.
52
- */
29
+ /** Directories whose classes register as providers — two spellings, one behaviour. */
53
30
  export function providerDirsOf(conventions) {
54
31
  return [...new Set([conventions.dirs.services, conventions.dirs.repositories])];
55
32
  }
56
- /**
57
- * The frond vocabulary — every directory the scan reads.
58
- *
59
- * What a reader needs to bound a frond: the Nuxt module watches these for the root frond
60
- * (watching the root itself would match every write), and a flat app's tsconfig lists
61
- * them instead of `["."]`, which would swallow `app/` and `nuxt.config.ts`.
62
- */
33
+ /** The frond vocabulary — every directory the scan reads. */
63
34
  export function frondDirsOf(conventions) {
64
35
  const { entities, handlers, presenters, collectors, seeds, versions } = conventions.dirs;
65
36
  return [...new Set([
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/scan/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0BH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AASF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,mBAAmB,CAAC,KAAK;QAChD,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,mBAAmB,CAAC,MAAM;QACnD,IAAI,EAAE,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE;KACtD,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,WAAwB;IACjE,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,WAAwB;IACrD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,WAAwB;IAClD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;YACjB,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC;SAC5F,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/scan/conventions.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAqBzD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AASF,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,mBAAmB,CAAC,KAAK;QAChD,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,mBAAmB,CAAC,MAAM;QACnD,IAAI,EAAE,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE;KACtD,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,WAAwB;IACjE,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,WAAwB;IACrD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,WAAwB;IAClD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;YACjB,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC;SAC5F,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,14 +1,10 @@
1
- import type { ScanResult } from './frond.js';
1
+ import type { ScanResult } from './result.js';
2
2
  export interface EmitOptions {
3
3
  /** Where the generated module will sit. Imports are written relative to it. */
4
4
  outFile: string;
5
5
  /** How `@fougere/core` is reached from there. Default: the package name. */
6
6
  core?: string;
7
7
  }
8
- /**
9
- * Write a scan down. The result is a TypeScript module whose only imports are the classes
10
- * the scan found — static, so a bundler traces them — and whose only value is the
11
- * descriptor `createApp` asks for.
12
- */
8
+ /** Write a scan down. */
13
9
  export declare function emitScan(result: ScanResult, options: EmitOptions): string;
14
10
  //# sourceMappingURL=emit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/scan/emit.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyJD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CA2CzE"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/scan/emit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA0ID,yBAAyB;AACzB,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CA2CzE"}
package/dist/scan/emit.js CHANGED
@@ -1,31 +1,9 @@
1
- /**
2
- * The scan, written down as a module — what `createApp` is handed where there is no disk.
3
- *
4
- * It RE-RESOLVES NOTHING. By the time this runs the scan has already decided what every
5
- * slot holds, and `resolveSchema` put the entity's own class in `contract.output` — the
6
- * very object `EntityEntry.entityClass` holds. So the emitter keeps a table from object
7
- * to import alias and writes the alias. Identity is preserved because it is the same
8
- * object that becomes the same import, which is what three call sites depend on
9
- * (`adapter/graphql`'s `view === entity.entityClass` and its WeakMap, and `bootstrap`'s
10
- * `outputSchema !== entity.entityClass`). An emitter that re-resolved instead would build
11
- * a second class for `Post` and those three would silently take the other branch.
12
- *
13
- * Measured on three real projects: every live reference is either a class the descriptor
14
- * already names by `filePath`, a named export of the file that declared the signature, or
15
- * `Partial<X>` — the one derivation `resolveSchema` fabricates.
16
- */
1
+ /** The scan, written down as a module — what `createApp` is handed where there is no disk. */
17
2
  import { dirname, relative } from 'node:path';
18
3
  import { ANONYMOUS_SCHEMA_NAME, Card } from '@fougere/schema';
19
4
  /** Is a TypeScript compiler going to read this module? Its name is the only thing that says. */
20
5
  const isTypeScript = (outFile) => /\.tsx?$/.test(outFile);
21
- /**
22
- * A source file becomes a specifier its reader can follow — and the two readers differ.
23
- *
24
- * A `.ts` destination is compiled by tsc under Node16 resolution, which spells a
25
- * TypeScript source with `.js`. A `.mjs` destination is read by a bundler, which resolves
26
- * the path AS IT IS ON DISK — measured, Nitro's rollup refused `Post.seed.js` because no
27
- * such file exists. One rule, read off the destination, exactly like the type annotation.
28
- */
6
+ /** A source file becomes a specifier its reader can follow — and the two readers differ. */
29
7
  function specifierOf(filePath, outFile) {
30
8
  const path = relative(dirname(outFile), filePath);
31
9
  const rel = isTypeScript(outFile) ? path.replace(/\.tsx?$/, '.js') : path;
@@ -65,15 +43,7 @@ class Imports {
65
43
  aliasOf(value) { return this.byValue.get(value); }
66
44
  render() { return this.lines.join('\n'); }
67
45
  }
68
- /**
69
- * What a schema slot becomes in the generated module.
70
- *
71
- * Three answers, and the third is the only rule: a class already imported is its alias; a
72
- * named export of the file that declared the signature is imported by its own name — it
73
- * IS exported there, because that is where `resolveSchema` found it; and an anonymous
74
- * schema is `Partial<X>`, the one derivation `resolveSchema` builds, so it is written as
75
- * the derivation rather than as a value.
76
- */
46
+ /** What a schema slot becomes in the generated module. */
77
47
  function schemaRef(schema, declaredIn, imports) {
78
48
  if (!schema)
79
49
  return undefined;
@@ -157,11 +127,7 @@ function frondOf(f, imports) {
157
127
  ' }',
158
128
  ].filter(Boolean).join('\n');
159
129
  }
160
- /**
161
- * Write a scan down. The result is a TypeScript module whose only imports are the classes
162
- * the scan found — static, so a bundler traces them — and whose only value is the
163
- * descriptor `createApp` asks for.
164
- */
130
+ /** Write a scan down. */
165
131
  export function emitScan(result, options) {
166
132
  const imports = new Imports(options.outFile);
167
133
  const core = options.core ?? '@fougere/core';
@@ -202,7 +168,7 @@ import { Fronds } from '${core}';
202
168
  ${typed ? `import type { ScanResult } from '${core}';\n` : ''}${imports.render()}
203
169
 
204
170
  export const scan${typed ? ': ScanResult' : ''} = {
205
- fronds: Fronds.scanned([
171
+ fronds: Fronds.hosting([
206
172
  ${fronds}
207
173
  ]),
208
174
  diagnostics: [${diagnostics.join(', ')}],
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/scan/emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/scan/emit.ts"],"names":[],"mappings":"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"}
@@ -1,76 +1,13 @@
1
+ /** Handler signature parser — extracts method signatures from handler source files. */
2
+ import type { Param, Signature } from '../wire/signature.js';
1
3
  export declare function resetTypePrograms(): void;
2
4
  /** Drop what runs share. For a test that must prove a cold read. */
3
5
  export declare function forgetParsedSources(): void;
4
- /**
5
- * Declare every file a run will read, so one program covers it.
6
- *
7
- * `checkedSourceOf` rebuilds whenever it meets a root it has not seen, and a frond lives
8
- * outside its project's tsconfig `include`, so every declaration was a new root: 44 files
9
- * cost 7.3 s that way against 0.34 s for one program.
10
- */
6
+ /** Declare every file a run will read, so one program covers it. */
11
7
  export declare function seedTypeProgram(filePaths: readonly string[], projectRoot?: string): Promise<void>;
12
- /** A parsed type reference — supports primitives, entities, arrays, generics. */
13
- export interface ParsedType {
14
- /** Raw type text as written in source (e.g. 'Pagination<Post>'). */
15
- raw: string;
16
- /** Base type name (e.g. 'Pagination', 'string', 'Post'). */
17
- name: string;
18
- /** Whether this is an array (T[] or Array<T>) — true at any depth. */
19
- array?: boolean;
20
- /**
21
- * How MANY array levels: `string[]` is 1, `string[][]` is 2. `array` only ever said
22
- * "at least one", which sufficed while one level meant one thing. It stopped sufficing
23
- * when a presenter method started taking the page — there the outer level IS the page
24
- * and what remains is the field, so telling `string[]` from `string[][]` is telling a
25
- * computed string from a computed list.
26
- */
27
- arrayDepth?: number;
28
- /** Generic type arguments (e.g. for Pagination<Post> → [{ name: 'Post' }]). */
29
- generics?: ParsedType[];
30
- /** Whether `null` belongs to the type. */
31
- nullable?: boolean;
32
- /** Whether absence (`undefined` or `void`) belongs to the type. */
33
- undefined?: boolean;
34
- /** Whether this is a Promise wrapper (unwrapped in output). */
35
- promise?: boolean;
36
- }
37
- /** A parsed method parameter. */
38
- export interface ParsedParam {
39
- name: string;
40
- type: ParsedType;
41
- optional?: boolean;
42
- }
43
- /** A parsed method signature from a handler source file. */
44
- export interface ParsedMethod {
45
- name: string;
46
- params: ParsedParam[];
47
- returnType?: ParsedType;
48
- /**
49
- * Came from a base class, not from the file being scanned. What a prefab
50
- * handler declares about its own ops beats this — the scan reads a signature
51
- * and guesses, the builder knows.
52
- */
53
- inherited?: boolean;
54
- /**
55
- * The operation in words — the first sentence of the method's doc comment.
56
- *
57
- * Not a new thing to write: handlers already carry it (`/** Judge: the author,
58
- * a draft… *&#47;`), the AST already holds it, and nothing read it. A caller that
59
- * discovers an operation over the wire has its name and its schema; what the
60
- * operation is FOR lived only in the source.
61
- */
62
- description?: string;
63
- }
64
- /**
65
- * What a handler file yielded — its methods, AND what the pass could not open.
66
- *
67
- * The second half is why this is a pair rather than an array: an unresolvable base
68
- * class used to give the same answer as a base class with no method, so an op
69
- * inherited from an installed package was missing from the façade in silence. The
70
- * pair travels through the scan cache, which is why {@link PARSER_VERSION} moved.
71
- */
8
+ /** What a handler file yielded — its methods, AND what the pass could not open. */
72
9
  export interface HandlerParse {
73
- methods: ParsedMethod[];
10
+ methods: Signature[];
74
11
  /** Base classes whose source this pass could not open. Empty is a claim. */
75
12
  unresolvedHeritage: string[];
76
13
  }
@@ -79,15 +16,11 @@ export interface HandlerParse {
79
16
  * binding plan. With a `projectRoot`, the heritage clause is followed too.
80
17
  */
81
18
  export declare function parseAllHandlerMethods(filePath: string, projectRoot?: string): Promise<HandlerParse>;
82
- /**
83
- * Parse a presenter source file and extract all method signatures.
84
- *
85
- * Returns all methods (no CRUD filtering) — each method is a computed field.
86
- */
87
- export declare function parsePresenterMethods(filePath: string, projectRoot?: string): Promise<ParsedMethod[]>;
19
+ /** Parse a presenter source file and extract all method signatures. */
20
+ export declare function parsePresenterMethods(filePath: string, projectRoot?: string): Promise<Signature[]>;
88
21
  /**
89
22
  * Parse constructor parameter types from a source file's default class.
90
- * Returns type names (e.g. ['PostOrm', 'Logger']) for DI resolution.
23
+ * Returns type names (e.g. ['PostStorage', 'Logger']) for DI resolution.
91
24
  */
92
- export declare function parseConstructorParams(filePath: string, projectRoot?: string): Promise<ParsedParam[]>;
25
+ export declare function parseConstructorParams(filePath: string, projectRoot?: string): Promise<Param[]>;
93
26
  //# sourceMappingURL=handler-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler-parser.d.ts","sourceRoot":"","sources":["../../src/scan/handler-parser.ts"],"names":[],"mappings":"AAkDA,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAgFD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvG;AA8CD,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8dD;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,4EAA4E;IAC5E,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAG1G;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAK3G;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAQ3G"}
1
+ {"version":3,"file":"handler-parser.d.ts","sourceRoot":"","sources":["../../src/scan/handler-parser.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAW,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AA8BtE,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAgFD,oEAAoE;AACpE,wBAAsB,eAAe,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvG;AA2eD,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,4EAA4E;IAC5E,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAG1G;AAED,uEAAuE;AACvE,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAKxG;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAQrG"}