lumen-framework 3.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 (302) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +164 -0
  3. package/bin/lumen +275 -0
  4. package/dist/cli.cjs +3002 -0
  5. package/dist/cli.cjs.map +7 -0
  6. package/dist/index.js +6515 -0
  7. package/dist/index.js.map +7 -0
  8. package/dist/index.mjs +6480 -0
  9. package/dist/index.mjs.map +7 -0
  10. package/dist/types/constants.d.ts +7 -0
  11. package/dist/types/errors/controller-missing-error.d.ts +7 -0
  12. package/dist/types/errors/serializer-missing-error.d.ts +7 -0
  13. package/dist/types/index.d.ts +6 -0
  14. package/dist/types/interfaces.d.ts +12 -0
  15. package/dist/types/packages/application/index.d.ts +97 -0
  16. package/dist/types/packages/application/initialize.d.ts +6 -0
  17. package/dist/types/packages/application/interfaces.d.ts +16 -0
  18. package/dist/types/packages/application/utils/create-controller.d.ts +12 -0
  19. package/dist/types/packages/application/utils/create-serializer.d.ts +4 -0
  20. package/dist/types/packages/application/utils/normalize-port.d.ts +4 -0
  21. package/dist/types/packages/cli/commands/build.d.ts +1 -0
  22. package/dist/types/packages/cli/commands/create.d.ts +4 -0
  23. package/dist/types/packages/cli/commands/dbcreate.d.ts +4 -0
  24. package/dist/types/packages/cli/commands/dbdrop.d.ts +4 -0
  25. package/dist/types/packages/cli/commands/dbmigrate.d.ts +4 -0
  26. package/dist/types/packages/cli/commands/dbrollback.d.ts +4 -0
  27. package/dist/types/packages/cli/commands/dbseed.d.ts +4 -0
  28. package/dist/types/packages/cli/commands/destroy.d.ts +11 -0
  29. package/dist/types/packages/cli/commands/generate.d.ts +10 -0
  30. package/dist/types/packages/cli/commands/index.d.ts +12 -0
  31. package/dist/types/packages/cli/commands/repl.d.ts +1 -0
  32. package/dist/types/packages/cli/commands/serve.d.ts +8 -0
  33. package/dist/types/packages/cli/commands/test.d.ts +4 -0
  34. package/dist/types/packages/cli/constants.d.ts +2 -0
  35. package/dist/types/packages/cli/errors/database-config-missing.d.ts +4 -0
  36. package/dist/types/packages/cli/generator/constants.d.ts +5 -0
  37. package/dist/types/packages/cli/generator/index.d.ts +11 -0
  38. package/dist/types/packages/cli/generator/interfaces.d.ts +9 -0
  39. package/dist/types/packages/cli/generator/utils/create-generator.d.ts +9 -0
  40. package/dist/types/packages/cli/generator/utils/generate-type.d.ts +33 -0
  41. package/dist/types/packages/cli/generator/utils/generator-for.d.ts +2 -0
  42. package/dist/types/packages/cli/generator/utils/log.d.ts +4 -0
  43. package/dist/types/packages/cli/generator/utils/migration-conflict.d.ts +6 -0
  44. package/dist/types/packages/cli/templates/application.d.ts +5 -0
  45. package/dist/types/packages/cli/templates/config.d.ts +5 -0
  46. package/dist/types/packages/cli/templates/controller.d.ts +5 -0
  47. package/dist/types/packages/cli/templates/database.d.ts +5 -0
  48. package/dist/types/packages/cli/templates/empty-migration.d.ts +5 -0
  49. package/dist/types/packages/cli/templates/eslint-config.d.ts +5 -0
  50. package/dist/types/packages/cli/templates/gitignore.d.ts +5 -0
  51. package/dist/types/packages/cli/templates/license.d.ts +5 -0
  52. package/dist/types/packages/cli/templates/middleware.d.ts +5 -0
  53. package/dist/types/packages/cli/templates/model-migration.d.ts +5 -0
  54. package/dist/types/packages/cli/templates/model.d.ts +5 -0
  55. package/dist/types/packages/cli/templates/package-json.d.ts +5 -0
  56. package/dist/types/packages/cli/templates/readme.d.ts +5 -0
  57. package/dist/types/packages/cli/templates/routes.d.ts +5 -0
  58. package/dist/types/packages/cli/templates/seed.d.ts +5 -0
  59. package/dist/types/packages/cli/templates/serializer.d.ts +5 -0
  60. package/dist/types/packages/cli/templates/util.d.ts +5 -0
  61. package/dist/types/packages/cli/utils/create-prompt.d.ts +4 -0
  62. package/dist/types/packages/cli/utils/driver-for.d.ts +1 -0
  63. package/dist/types/packages/cli/utils/indent.d.ts +1 -0
  64. package/dist/types/packages/compiler/index.d.ts +11 -0
  65. package/dist/types/packages/compiler/interfaces.d.ts +1 -0
  66. package/dist/types/packages/compiler/utils/create-boot-script.d.ts +6 -0
  67. package/dist/types/packages/compiler/utils/create-manifest.d.ts +6 -0
  68. package/dist/types/packages/compiler/utils/format-name.d.ts +5 -0
  69. package/dist/types/packages/config/index.d.ts +3 -0
  70. package/dist/types/packages/config/interfaces.d.ts +6 -0
  71. package/dist/types/packages/controller/constants.d.ts +2 -0
  72. package/dist/types/packages/controller/index.d.ts +591 -0
  73. package/dist/types/packages/controller/interfaces.d.ts +13 -0
  74. package/dist/types/packages/controller/utils/find-many.d.ts +6 -0
  75. package/dist/types/packages/controller/utils/find-one.d.ts +6 -0
  76. package/dist/types/packages/controller/utils/params-to-query.d.ts +16 -0
  77. package/dist/types/packages/controller/utils/resolve-relationships.d.ts +5 -0
  78. package/dist/types/packages/database/attribute/index.d.ts +6 -0
  79. package/dist/types/packages/database/attribute/interfaces.d.ts +6 -0
  80. package/dist/types/packages/database/attribute/utils/create-attribute.d.ts +5 -0
  81. package/dist/types/packages/database/attribute/utils/create-getter.d.ts +3 -0
  82. package/dist/types/packages/database/attribute/utils/create-normalizer.d.ts +1 -0
  83. package/dist/types/packages/database/attribute/utils/create-setter.d.ts +8 -0
  84. package/dist/types/packages/database/change-set/index.d.ts +10 -0
  85. package/dist/types/packages/database/constants.d.ts +3 -0
  86. package/dist/types/packages/database/errors/config-missing-error.d.ts +4 -0
  87. package/dist/types/packages/database/errors/index.d.ts +5 -0
  88. package/dist/types/packages/database/errors/invalid-driver-error.d.ts +7 -0
  89. package/dist/types/packages/database/errors/migrations-pending-error.d.ts +7 -0
  90. package/dist/types/packages/database/errors/model-missing-error.d.ts +7 -0
  91. package/dist/types/packages/database/errors/unique-constraint-error.d.ts +4 -0
  92. package/dist/types/packages/database/index.d.ts +26 -0
  93. package/dist/types/packages/database/initialize.d.ts +6 -0
  94. package/dist/types/packages/database/interfaces.d.ts +85 -0
  95. package/dist/types/packages/database/migration/index.d.ts +12 -0
  96. package/dist/types/packages/database/migration/interfaces.d.ts +4 -0
  97. package/dist/types/packages/database/migration/utils/generate-timestamp.d.ts +2 -0
  98. package/dist/types/packages/database/model/index.d.ts +1046 -0
  99. package/dist/types/packages/database/model/initialize-class.d.ts +10 -0
  100. package/dist/types/packages/database/model/interfaces.d.ts +14 -0
  101. package/dist/types/packages/database/model/utils/get-columns.d.ts +5 -0
  102. package/dist/types/packages/database/model/utils/persistence.d.ts +18 -0
  103. package/dist/types/packages/database/model/utils/process-write-error.d.ts +4 -0
  104. package/dist/types/packages/database/model/utils/run-hooks.d.ts +6 -0
  105. package/dist/types/packages/database/model/utils/validate.d.ts +5 -0
  106. package/dist/types/packages/database/query/errors/index.d.ts +1 -0
  107. package/dist/types/packages/database/query/errors/record-not-found-error.d.ts +6 -0
  108. package/dist/types/packages/database/query/index.d.ts +38 -0
  109. package/dist/types/packages/database/query/runner/constants.d.ts +2 -0
  110. package/dist/types/packages/database/query/runner/index.d.ts +9 -0
  111. package/dist/types/packages/database/query/runner/utils/build-results.d.ts +10 -0
  112. package/dist/types/packages/database/query/runner/utils/get-find-param.d.ts +2 -0
  113. package/dist/types/packages/database/query/utils/format-select.d.ts +5 -0
  114. package/dist/types/packages/database/query/utils/scopes-for.d.ts +2 -0
  115. package/dist/types/packages/database/relationship/index.d.ts +11 -0
  116. package/dist/types/packages/database/relationship/interfaces.d.ts +12 -0
  117. package/dist/types/packages/database/relationship/utils/getters.d.ts +14 -0
  118. package/dist/types/packages/database/relationship/utils/inverse-setters.d.ts +15 -0
  119. package/dist/types/packages/database/relationship/utils/setters.d.ts +14 -0
  120. package/dist/types/packages/database/relationship/utils/unassociate.d.ts +5 -0
  121. package/dist/types/packages/database/relationship/utils/update-relationship.d.ts +5 -0
  122. package/dist/types/packages/database/relationship/utils/validate-type.d.ts +2 -0
  123. package/dist/types/packages/database/transaction/index.d.ts +16 -0
  124. package/dist/types/packages/database/transaction/interfaces.d.ts +5 -0
  125. package/dist/types/packages/database/utils/connect.d.ts +6 -0
  126. package/dist/types/packages/database/utils/create-migrations.d.ts +5 -0
  127. package/dist/types/packages/database/utils/normalize-model-name.d.ts +5 -0
  128. package/dist/types/packages/database/utils/pending-migrations.d.ts +4 -0
  129. package/dist/types/packages/database/utils/type-for-column.d.ts +5 -0
  130. package/dist/types/packages/database/validation/errors/index.d.ts +1 -0
  131. package/dist/types/packages/database/validation/errors/validation-error.d.ts +7 -0
  132. package/dist/types/packages/database/validation/index.d.ts +13 -0
  133. package/dist/types/packages/database/validation/interfaces.d.ts +5 -0
  134. package/dist/types/packages/freezeable/constants.d.ts +1 -0
  135. package/dist/types/packages/freezeable/index.d.ts +3 -0
  136. package/dist/types/packages/freezeable/map/index.d.ts +11 -0
  137. package/dist/types/packages/freezeable/set/index.d.ts +11 -0
  138. package/dist/types/packages/freezeable/utils/freeze.d.ts +20 -0
  139. package/dist/types/packages/freezeable/utils/is-frozen.d.ts +4 -0
  140. package/dist/types/packages/fs/index.d.ts +52 -0
  141. package/dist/types/packages/fs/interfaces.d.ts +19 -0
  142. package/dist/types/packages/fs/utils/create-path-remover.d.ts +5 -0
  143. package/dist/types/packages/fs/utils/create-resolver.d.ts +4 -0
  144. package/dist/types/packages/fs/utils/exists.d.ts +4 -0
  145. package/dist/types/packages/fs/utils/is-js-file.d.ts +4 -0
  146. package/dist/types/packages/fs/utils/parse-path.d.ts +5 -0
  147. package/dist/types/packages/fs/utils/rmrf.d.ts +5 -0
  148. package/dist/types/packages/fs/watcher/index.d.ts +13 -0
  149. package/dist/types/packages/fs/watcher/initialize.d.ts +5 -0
  150. package/dist/types/packages/fs/watcher/interfaces.d.ts +3 -0
  151. package/dist/types/packages/jsonapi/constants.d.ts +2 -0
  152. package/dist/types/packages/jsonapi/errors/index.d.ts +3 -0
  153. package/dist/types/packages/jsonapi/errors/invalid-content-type-error.d.ts +8 -0
  154. package/dist/types/packages/jsonapi/errors/not-acceptable-error.d.ts +8 -0
  155. package/dist/types/packages/jsonapi/errors/unsupported-media-type-error.d.ts +8 -0
  156. package/dist/types/packages/jsonapi/index.d.ts +5 -0
  157. package/dist/types/packages/jsonapi/interfaces.d.ts +66 -0
  158. package/dist/types/packages/jsonapi/utils/has-media-type.d.ts +4 -0
  159. package/dist/types/packages/jsonapi/utils/is-jsonapi.d.ts +4 -0
  160. package/dist/types/packages/loader/builder/index.d.ts +6 -0
  161. package/dist/types/packages/loader/builder/interfaces.d.ts +10 -0
  162. package/dist/types/packages/loader/builder/utils/create-children-builder.d.ts +2 -0
  163. package/dist/types/packages/loader/builder/utils/create-parent-builder.d.ts +2 -0
  164. package/dist/types/packages/loader/builder/utils/sort-by-namespace.d.ts +5 -0
  165. package/dist/types/packages/loader/index.d.ts +8 -0
  166. package/dist/types/packages/loader/interfaces.d.ts +4 -0
  167. package/dist/types/packages/loader/resolver/index.d.ts +7 -0
  168. package/dist/types/packages/loader/resolver/utils/closest-ancestor.d.ts +2 -0
  169. package/dist/types/packages/loader/resolver/utils/closest-child.d.ts +2 -0
  170. package/dist/types/packages/loader/utils/bundle-for.d.ts +5 -0
  171. package/dist/types/packages/loader/utils/format-key.d.ts +4 -0
  172. package/dist/types/packages/logger/constants.d.ts +8 -0
  173. package/dist/types/packages/logger/index.d.ts +182 -0
  174. package/dist/types/packages/logger/interfaces.d.ts +17 -0
  175. package/dist/types/packages/logger/request-logger/index.d.ts +6 -0
  176. package/dist/types/packages/logger/request-logger/interfaces.d.ts +25 -0
  177. package/dist/types/packages/logger/request-logger/templates.d.ts +9 -0
  178. package/dist/types/packages/logger/request-logger/utils/filter-params.d.ts +4 -0
  179. package/dist/types/packages/logger/request-logger/utils/log-json.d.ts +10 -0
  180. package/dist/types/packages/logger/request-logger/utils/log-text.d.ts +10 -0
  181. package/dist/types/packages/logger/utils/line.d.ts +4 -0
  182. package/dist/types/packages/logger/utils/sql.d.ts +4 -0
  183. package/dist/types/packages/logger/writer/constants.d.ts +3 -0
  184. package/dist/types/packages/logger/writer/index.d.ts +6 -0
  185. package/dist/types/packages/logger/writer/interfaces.d.ts +2 -0
  186. package/dist/types/packages/logger/writer/utils/format-message.d.ts +9 -0
  187. package/dist/types/packages/lumenify/index.d.ts +11 -0
  188. package/dist/types/packages/lumenify/utils/create-response-proxy.d.ts +8 -0
  189. package/dist/types/packages/pm/cluster/index.d.ts +21 -0
  190. package/dist/types/packages/pm/cluster/interfaces.d.ts +7 -0
  191. package/dist/types/packages/pm/index.d.ts +6 -0
  192. package/dist/types/packages/router/definitions/context/index.d.ts +11 -0
  193. package/dist/types/packages/router/definitions/context/utils/create-definition-group.d.ts +7 -0
  194. package/dist/types/packages/router/definitions/context/utils/create-definition.d.ts +10 -0
  195. package/dist/types/packages/router/definitions/context/utils/normalize-resource-args.d.ts +12 -0
  196. package/dist/types/packages/router/definitions/index.d.ts +10 -0
  197. package/dist/types/packages/router/definitions/interfaces.d.ts +7 -0
  198. package/dist/types/packages/router/index.d.ts +18 -0
  199. package/dist/types/packages/router/interfaces.d.ts +18 -0
  200. package/dist/types/packages/router/namespace/index.d.ts +20 -0
  201. package/dist/types/packages/router/namespace/interfaces.d.ts +9 -0
  202. package/dist/types/packages/router/namespace/utils/normalize-name.d.ts +4 -0
  203. package/dist/types/packages/router/namespace/utils/normalize-path.d.ts +4 -0
  204. package/dist/types/packages/router/resource/index.d.ts +13 -0
  205. package/dist/types/packages/router/resource/interfaces.d.ts +5 -0
  206. package/dist/types/packages/router/resource/utils/normalize-only.d.ts +5 -0
  207. package/dist/types/packages/router/route/action/constants.d.ts +1 -0
  208. package/dist/types/packages/router/route/action/enhancers/resource.d.ts +5 -0
  209. package/dist/types/packages/router/route/action/enhancers/track-perf.d.ts +5 -0
  210. package/dist/types/packages/router/route/action/index.d.ts +9 -0
  211. package/dist/types/packages/router/route/action/interfaces.d.ts +2 -0
  212. package/dist/types/packages/router/route/action/utils/create-page-links.d.ts +12 -0
  213. package/dist/types/packages/router/route/action/utils/get-action-name.d.ts +5 -0
  214. package/dist/types/packages/router/route/action/utils/get-controller-name.d.ts +5 -0
  215. package/dist/types/packages/router/route/constants.d.ts +1 -0
  216. package/dist/types/packages/router/route/index.d.ts +28 -0
  217. package/dist/types/packages/router/route/interfaces.d.ts +10 -0
  218. package/dist/types/packages/router/route/params/errors/index.d.ts +5 -0
  219. package/dist/types/packages/router/route/params/errors/invalid-parameter-error.d.ts +8 -0
  220. package/dist/types/packages/router/route/params/errors/parameter-not-nullable-error.d.ts +9 -0
  221. package/dist/types/packages/router/route/params/errors/parameter-required-error.d.ts +8 -0
  222. package/dist/types/packages/router/route/params/errors/parameter-type-error.d.ts +9 -0
  223. package/dist/types/packages/router/route/params/errors/parameter-value-error.d.ts +9 -0
  224. package/dist/types/packages/router/route/params/errors/resource-mismatch-error.d.ts +8 -0
  225. package/dist/types/packages/router/route/params/index.d.ts +18 -0
  226. package/dist/types/packages/router/route/params/interfaces.d.ts +25 -0
  227. package/dist/types/packages/router/route/params/parameter/index.d.ts +14 -0
  228. package/dist/types/packages/router/route/params/parameter/interfaces.d.ts +4 -0
  229. package/dist/types/packages/router/route/params/parameter/utils/validate-value.d.ts +5 -0
  230. package/dist/types/packages/router/route/params/parameter-group/index.d.ts +14 -0
  231. package/dist/types/packages/router/route/params/parameter-group/utils/has-required-params.d.ts +5 -0
  232. package/dist/types/packages/router/route/params/utils/get-data-params.d.ts +6 -0
  233. package/dist/types/packages/router/route/params/utils/get-default-collection-params.d.ts +6 -0
  234. package/dist/types/packages/router/route/params/utils/get-default-member-params.d.ts +5 -0
  235. package/dist/types/packages/router/route/params/utils/get-query-params.d.ts +14 -0
  236. package/dist/types/packages/router/route/params/utils/get-url-params.d.ts +5 -0
  237. package/dist/types/packages/router/route/params/utils/validate-resource-id.d.ts +5 -0
  238. package/dist/types/packages/router/route/params/utils/validate-type.d.ts +5 -0
  239. package/dist/types/packages/router/route/utils/get-dynamic-segments.d.ts +4 -0
  240. package/dist/types/packages/router/route/utils/get-static-path.d.ts +4 -0
  241. package/dist/types/packages/router/utils/create-replacer.d.ts +5 -0
  242. package/dist/types/packages/serializer/index.d.ts +521 -0
  243. package/dist/types/packages/serializer/interfaces.d.ts +7 -0
  244. package/dist/types/packages/server/constants.d.ts +2 -0
  245. package/dist/types/packages/server/index.d.ts +27 -0
  246. package/dist/types/packages/server/interfaces.d.ts +18 -0
  247. package/dist/types/packages/server/request/constants.d.ts +2 -0
  248. package/dist/types/packages/server/request/index.d.ts +8 -0
  249. package/dist/types/packages/server/request/interfaces.d.ts +63 -0
  250. package/dist/types/packages/server/request/parser/constants.d.ts +6 -0
  251. package/dist/types/packages/server/request/parser/errors/index.d.ts +1 -0
  252. package/dist/types/packages/server/request/parser/errors/malformed-request-error.d.ts +8 -0
  253. package/dist/types/packages/server/request/parser/index.d.ts +5 -0
  254. package/dist/types/packages/server/request/parser/utils/format.d.ts +17 -0
  255. package/dist/types/packages/server/request/parser/utils/parse-nested-object.d.ts +4 -0
  256. package/dist/types/packages/server/request/parser/utils/parse-read.d.ts +5 -0
  257. package/dist/types/packages/server/request/parser/utils/parse-write.d.ts +5 -0
  258. package/dist/types/packages/server/request/utils/get-domain.d.ts +5 -0
  259. package/dist/types/packages/server/responder/index.d.ts +5 -0
  260. package/dist/types/packages/server/responder/utils/data-for.d.ts +5 -0
  261. package/dist/types/packages/server/responder/utils/has-content-type.d.ts +2 -0
  262. package/dist/types/packages/server/responder/utils/normalize.d.ts +7 -0
  263. package/dist/types/packages/server/response/index.d.ts +5 -0
  264. package/dist/types/packages/server/response/interfaces.d.ts +22 -0
  265. package/dist/types/packages/server/utils/create-server-error.d.ts +7 -0
  266. package/dist/types/packages/server/utils/set-cors-headers.d.ts +3 -0
  267. package/dist/types/packages/server/utils/validate-accept.d.ts +4 -0
  268. package/dist/types/packages/server/utils/validate-content-type.d.ts +4 -0
  269. package/dist/types/packages/template/index.d.ts +8 -0
  270. package/dist/types/packages/template/utils/insert-values.d.ts +4 -0
  271. package/dist/types/utils/chain.d.ts +5 -0
  272. package/dist/types/utils/compact.d.ts +11 -0
  273. package/dist/types/utils/compose.d.ts +19 -0
  274. package/dist/types/utils/create-query-string.d.ts +6 -0
  275. package/dist/types/utils/diff.d.ts +4 -0
  276. package/dist/types/utils/entries.d.ts +4 -0
  277. package/dist/types/utils/env.d.ts +3 -0
  278. package/dist/types/utils/exec.d.ts +5 -0
  279. package/dist/types/utils/github.d.ts +9 -0
  280. package/dist/types/utils/has-own-property.d.ts +1 -0
  281. package/dist/types/utils/insert.d.ts +4 -0
  282. package/dist/types/utils/is-buffer.d.ts +4 -0
  283. package/dist/types/utils/is-null.d.ts +4 -0
  284. package/dist/types/utils/is-object.d.ts +17 -0
  285. package/dist/types/utils/is-undefined.d.ts +4 -0
  286. package/dist/types/utils/k.d.ts +10 -0
  287. package/dist/types/utils/map-to-object.d.ts +1 -0
  288. package/dist/types/utils/merge.d.ts +4 -0
  289. package/dist/types/utils/omit.d.ts +9 -0
  290. package/dist/types/utils/pick.d.ts +11 -0
  291. package/dist/types/utils/present.d.ts +4 -0
  292. package/dist/types/utils/promise-hash.d.ts +9 -0
  293. package/dist/types/utils/proxy.d.ts +6 -0
  294. package/dist/types/utils/range.d.ts +4 -0
  295. package/dist/types/utils/set-type.d.ts +11 -0
  296. package/dist/types/utils/sleep.d.ts +4 -0
  297. package/dist/types/utils/stringify.d.ts +4 -0
  298. package/dist/types/utils/transform-keys.d.ts +29 -0
  299. package/dist/types/utils/try-catch.d.ts +55 -0
  300. package/dist/types/utils/underscore.d.ts +4 -0
  301. package/dist/types/utils/uniq.d.ts +4 -0
  302. package/package.json +87 -0
@@ -0,0 +1,20 @@
1
+ import { FreezeableSet } from '../../freezeable';
2
+ import type Controller from '../../controller';
3
+ import type { Route, Router$Namespace } from '../index';
4
+ import type { Namespace$opts } from './interfaces';
5
+ /**
6
+ * @private
7
+ */
8
+ declare class Namespace extends FreezeableSet<Route | Router$Namespace> {
9
+ name: string;
10
+ path: string;
11
+ isRoot: boolean;
12
+ namespace: Router$Namespace;
13
+ controller: Controller;
14
+ controllers: Map<string, Controller>;
15
+ constructor({ name, path, namespace, controller, controllers }: Namespace$opts);
16
+ }
17
+ export default Namespace;
18
+ export { default as normalizeName } from './utils/normalize-name';
19
+ export { default as normalizePath } from './utils/normalize-path';
20
+ export type { Namespace$opts } from './interfaces';
@@ -0,0 +1,9 @@
1
+ import type Controller from '../../controller';
2
+ import type { Router$Namespace } from '../index';
3
+ export type Namespace$opts = {
4
+ name: string;
5
+ path: string;
6
+ namespace?: Router$Namespace;
7
+ controller: Controller;
8
+ controllers: Map<string, Controller>;
9
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function normalizeName(str: string): string;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function normalizePath(str: string): string;
@@ -0,0 +1,13 @@
1
+ import Namespace from '../namespace';
2
+ import { FreezeableSet } from '../../freezeable';
3
+ import type { Controller$builtIn } from '../../controller';
4
+ import type { Resource$opts } from './interfaces';
5
+ /**
6
+ * @private
7
+ */
8
+ declare class Resource extends Namespace {
9
+ only: FreezeableSet<Controller$builtIn>;
10
+ constructor({ only, ...opts }: Resource$opts);
11
+ }
12
+ export default Resource;
13
+ export type { Resource$opts } from './interfaces';
@@ -0,0 +1,5 @@
1
+ import type { Controller$builtIn } from '../../controller';
2
+ import type { Namespace$opts } from '../namespace';
3
+ export type Resource$opts = Namespace$opts & {
4
+ only: Array<Controller$builtIn>;
5
+ };
@@ -0,0 +1,5 @@
1
+ import { type Controller$builtIn } from '../../../controller';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function normalizeOnly(only: Array<Controller$builtIn>): Array<Controller$builtIn>;
@@ -0,0 +1 @@
1
+ export declare const FINAL_HANDLER = "__FINAL_HANDLER__";
@@ -0,0 +1,5 @@
1
+ import type { Action } from '../interfaces';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function resource(action: Action<unknown>): Action<unknown>;
@@ -0,0 +1,5 @@
1
+ import type { Action } from '../interfaces';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function trackPerf<T, U extends Action<T>>(action: U): Action<T>;
@@ -0,0 +1,9 @@
1
+ import type Controller from '../../../controller';
2
+ import type { Action } from './interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export declare function createAction(type: string, action: Action<unknown>, controller: Controller): Array<Action<unknown>>;
7
+ export { FINAL_HANDLER } from './constants';
8
+ export { default as createPageLinks } from './utils/create-page-links';
9
+ export type { Action } from './interfaces';
@@ -0,0 +1,2 @@
1
+ import type { Request, Response } from '../../../server';
2
+ export type Action<T> = (req: Request, res: Response, data?: unknown) => Promise<T>;
@@ -0,0 +1,12 @@
1
+ import type { Request$params } from '../../../../server';
2
+ import type { JSONAPI$DocumentLinks } from '../../../../jsonapi';
3
+ /**
4
+ * @private
5
+ */
6
+ export default function createPageLinks(opts: {
7
+ total: number;
8
+ params: Request$params;
9
+ domain: string;
10
+ pathname: string;
11
+ defaultPerPage: number;
12
+ }): JSONAPI$DocumentLinks;
@@ -0,0 +1,5 @@
1
+ import type { Request } from '../../../../server';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function getActionName({ route: { action } }: Request): string;
@@ -0,0 +1,5 @@
1
+ import type { Request } from '../../../../server';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function getControllerName({ route: { controller: { constructor: { name } } } }: Request): string;
@@ -0,0 +1 @@
1
+ export declare const DYNAMIC_PATTERN: RegExp;
@@ -0,0 +1,28 @@
1
+ import { FreezeableSet } from '../../freezeable';
2
+ import type Controller from '../../controller';
3
+ import type { Request, Response, Request$method } from '../../server';
4
+ import type { Action } from './action';
5
+ import type { ParameterGroup } from './params';
6
+ import type { Route$opts } from './interfaces';
7
+ /**
8
+ * @private
9
+ */
10
+ declare class Route extends FreezeableSet<Action<unknown>> {
11
+ type: string;
12
+ path: string;
13
+ action: string;
14
+ params: ParameterGroup;
15
+ method: Request$method;
16
+ controller: Controller;
17
+ staticPath: string;
18
+ defaultParams: Record<string, unknown>;
19
+ dynamicSegments: Array<string>;
20
+ constructor({ type, path, action, method, controller }: Route$opts);
21
+ parseParams(params: Array<string>): Record<string, number>;
22
+ execHandlers(req: Request, res: Response): Promise<unknown>;
23
+ visit(req: Request, res: Response): Promise<unknown>;
24
+ }
25
+ export default Route;
26
+ export { DYNAMIC_PATTERN } from './constants';
27
+ export type { Action } from './action';
28
+ export type { Route$opts, Route$type } from './interfaces';
@@ -0,0 +1,10 @@
1
+ import type Controller from '../../controller';
2
+ import type { Request$method } from '../../server';
3
+ export type Route$type = 'custom' | 'member' | 'collection';
4
+ export type Route$opts = {
5
+ type: Route$type;
6
+ path: string;
7
+ action: string;
8
+ method: Request$method;
9
+ controller: Controller;
10
+ };
@@ -0,0 +1,5 @@
1
+ export { default as ParameterTypeError } from './parameter-type-error';
2
+ export { default as ParameterValueError } from './parameter-value-error';
3
+ export { default as InvalidParameterError } from './invalid-parameter-error';
4
+ export { default as ResourceMismatchError } from './resource-mismatch-error';
5
+ export { default as ParameterRequiredError } from './parameter-required-error';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class InvalidParameterError extends TypeError {
5
+ constructor(path: string);
6
+ }
7
+ declare const _default: new (...args: Array<any>) => InvalidParameterError & import("../../../../server/interfaces").Server$Error;
8
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { ParameterLike } from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ declare class ParameterNotNullableError extends TypeError {
6
+ constructor({ path }: ParameterLike);
7
+ }
8
+ declare const _default: new (...args: Array<any>) => ParameterNotNullableError & import("../../../../server/interfaces").Server$Error;
9
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class ParameterRequiredError extends TypeError {
5
+ constructor(path: string);
6
+ }
7
+ declare const _default: new (...args: Array<any>) => ParameterRequiredError & import("../../../../server/interfaces").Server$Error;
8
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { ParameterLike } from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ declare class ParameterTypeError extends TypeError {
6
+ constructor(param: ParameterLike, actual: string);
7
+ }
8
+ declare const _default: new (...args: Array<any>) => ParameterTypeError & import("../../../../server/interfaces").Server$Error;
9
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { ParameterLike } from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ declare class ParameterValueError extends TypeError {
6
+ constructor(param: ParameterLike, actual: unknown);
7
+ }
8
+ declare const _default: new (...args: Array<any>) => ParameterValueError & import("../../../../server/interfaces").Server$Error;
9
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class ResourceMismatchError extends TypeError {
5
+ constructor(path: string, expected: unknown, actual: unknown);
6
+ }
7
+ declare const _default: new (...args: Array<any>) => ResourceMismatchError & import("../../../../server/interfaces").Server$Error;
8
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import type Controller from '../../../controller';
2
+ import ParameterGroup from './parameter-group';
3
+ import type { Params$opts } from './interfaces';
4
+ /**
5
+ * @private
6
+ */
7
+ export declare function paramsFor({ type, method, controller, dynamicSegments }: Params$opts): ParameterGroup;
8
+ /**
9
+ * @private
10
+ */
11
+ export declare function defaultParamsFor({ type, controller }: {
12
+ type: string;
13
+ controller: Controller;
14
+ }): Record<string, unknown>;
15
+ export { default as validateResourceId } from './utils/validate-resource-id';
16
+ export type { ParameterLike, ParameterLike$opts } from './interfaces';
17
+ export type { default as Parameter } from './parameter';
18
+ export type { default as ParameterGroup } from './parameter-group';
@@ -0,0 +1,25 @@
1
+ import type Controller from '../../../controller';
2
+ import type { Route$type } from '../index';
3
+ import type { Request$method } from '../../../server';
4
+ import type { Lumen$Collection } from '../../../../interfaces';
5
+ export type Params$opts = {
6
+ type: Route$type;
7
+ method: Request$method;
8
+ controller: Controller;
9
+ dynamicSegments: Array<string>;
10
+ };
11
+ export type ParameterLike$opts = {
12
+ path: string;
13
+ type?: string;
14
+ values?: Array<unknown>;
15
+ required?: boolean;
16
+ sanitize?: boolean;
17
+ };
18
+ export interface ParameterLike extends Lumen$Collection<unknown> {
19
+ path: string;
20
+ type: string;
21
+ required: boolean;
22
+ sanitize: boolean;
23
+ values(): IterableIterator<unknown>;
24
+ validate<V>(value: V): V;
25
+ }
@@ -0,0 +1,14 @@
1
+ import { FreezeableSet } from '../../../../freezeable';
2
+ import type { Parameter$opts } from './interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ declare class Parameter extends FreezeableSet<unknown> {
7
+ path: string;
8
+ type: string;
9
+ required: boolean;
10
+ sanitize: boolean;
11
+ constructor({ path, type, values, required, sanitize }: Parameter$opts);
12
+ validate<V>(value: V): V;
13
+ }
14
+ export default Parameter;
@@ -0,0 +1,4 @@
1
+ import type { ParameterLike$opts } from '../index';
2
+ export type Parameter$opts = ParameterLike$opts & {
3
+ values?: Array<unknown>;
4
+ };
@@ -0,0 +1,5 @@
1
+ import type Parameter from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function validateValue<V>(param: Parameter, value: V): V;
@@ -0,0 +1,14 @@
1
+ import { FreezeableMap } from '../../../../freezeable';
2
+ import type { ParameterLike, ParameterLike$opts } from '../index';
3
+ /**
4
+ * @private
5
+ */
6
+ declare class ParameterGroup extends FreezeableMap<string, ParameterLike> {
7
+ type: string;
8
+ path: string;
9
+ required: boolean;
10
+ sanitize: boolean;
11
+ constructor(contents: Array<[string, ParameterLike]>, { path, required, sanitize }: ParameterLike$opts);
12
+ validate<V>(params: V): V;
13
+ }
14
+ export default ParameterGroup;
@@ -0,0 +1,5 @@
1
+ import type ParameterGroup from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function hasRequiredParams(group: ParameterGroup, params: Record<string, unknown>): boolean;
@@ -0,0 +1,6 @@
1
+ import type Controller from '../../../../controller';
2
+ import type { ParameterLike } from '../interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export default function getDataParams(controller: Controller, method: 'PATCH' | 'POST', includeID: boolean): [string, ParameterLike];
@@ -0,0 +1,6 @@
1
+ import type Controller from '../../../../controller';
2
+ /**
3
+ * @private
4
+ */
5
+ declare function getDefaultCollectionParams(controller: Controller): Record<string, unknown>;
6
+ export default getDefaultCollectionParams;
@@ -0,0 +1,5 @@
1
+ import type Controller from '../../../../controller';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function getDefaultMemberParams({ model, serializer: { hasOne, hasMany, attributes } }: Controller): Record<string, unknown>;
@@ -0,0 +1,14 @@
1
+ import type Controller from '../../../../controller';
2
+ import type { ParameterLike } from '../interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export declare function getCustomParams({ query }: Controller): Array<[string, ParameterLike]>;
7
+ /**
8
+ * @private
9
+ */
10
+ export declare function getMemberQueryParams(controller: Controller): Array<[string, ParameterLike]>;
11
+ /**
12
+ * @private
13
+ */
14
+ export declare function getCollectionQueryParams(controller: Controller): Array<[string, ParameterLike]>;
@@ -0,0 +1,5 @@
1
+ import type { ParameterLike } from '../interfaces';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function getURLParams(dynamicSegments: Array<string>): Array<[string, ParameterLike]>;
@@ -0,0 +1,5 @@
1
+ import type { Request } from '../../../../server';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function validateResourceId({ params: { id, data: { id: resourceId } } }: Request): true;
@@ -0,0 +1,5 @@
1
+ import type { Parameter, ParameterGroup } from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function validateType(param: Parameter | ParameterGroup, value: unknown): true;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function getDynamicSegments(path: string): Array<string>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function getStaticPath(path: string, dynamicSegments: Array<string>): string;
@@ -0,0 +1,5 @@
1
+ import type Controller from '../../controller';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function createReplacer(controllers: Map<string, Controller>): RegExp;