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,10 @@
1
+ import type Database from '../index';
2
+ import type { ModelClass } from '../interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export default function initializeClass<T extends ModelClass>({ store, table, model }: {
7
+ store: Database;
8
+ table: T['table'];
9
+ model: T;
10
+ }): Promise<T>;
@@ -0,0 +1,14 @@
1
+ import type Model from './index';
2
+ export type Model$Hook = (instance: Model, trx: unknown) => Promise<unknown>;
3
+ export interface Model$Hooks {
4
+ readonly afterCreate?: Model$Hook;
5
+ readonly afterDestroy?: Model$Hook;
6
+ readonly afterSave?: Model$Hook;
7
+ readonly afterUpdate?: Model$Hook;
8
+ readonly afterValidation?: Model$Hook;
9
+ readonly beforeCreate?: Model$Hook;
10
+ readonly beforeDestroy?: Model$Hook;
11
+ readonly beforeSave?: Model$Hook;
12
+ readonly beforeUpdate?: Model$Hook;
13
+ readonly beforeValidation?: Model$Hook;
14
+ }
@@ -0,0 +1,5 @@
1
+ import type Model from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function getColumns(record: Model, only?: Array<string>): Record<string, unknown>;
@@ -0,0 +1,18 @@
1
+ import type Logger from '../../../logger';
2
+ import type Model from '../index';
3
+ /**
4
+ * @private
5
+ */
6
+ export declare function create(record: Model, trx: unknown): Array<any>;
7
+ /**
8
+ * @private
9
+ */
10
+ export declare function update(record: Model, trx: unknown): Array<any>;
11
+ /**
12
+ * @private
13
+ */
14
+ export declare function destroy(record: Model, trx: unknown): Array<any>;
15
+ /**
16
+ * @private
17
+ */
18
+ export declare function createRunner(logger: Logger, statements: Array<any>): (query: Array<any>) => Promise<Array<any>>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function resolveWriteError(err: Error): Error;
@@ -0,0 +1,6 @@
1
+ import type Model from '../index';
2
+ import type { Model$Hook } from '../interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export default function runHooks(record: Model, trx: unknown, ...hooks: Array<Model$Hook | undefined>): Promise<unknown>;
@@ -0,0 +1,5 @@
1
+ import type { Model } from '../../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function validate(instance: Model): true;
@@ -0,0 +1 @@
1
+ export { default as RecordNotFoundError } from './record-not-found-error';
@@ -0,0 +1,6 @@
1
+ import type { ModelClass } from '../../interfaces';
2
+ declare class RecordNotFoundError extends Error {
3
+ constructor({ name, primaryKey }: ModelClass, primaryKeyValue: unknown);
4
+ }
5
+ declare const _default: new (...args: Array<any>) => RecordNotFoundError & import("../../../server/interfaces").Server$Error;
6
+ export default _default;
@@ -0,0 +1,38 @@
1
+ import type { ModelClass } from '../interfaces';
2
+ /**
3
+ * @class Query
4
+ * @extends Promise
5
+ * @private
6
+ */
7
+ declare class Query<T = any> extends Promise<T> {
8
+ model: ModelClass;
9
+ isFind: boolean;
10
+ snapshots: Array<Array<any>>;
11
+ collection: boolean;
12
+ shouldCount: boolean;
13
+ relationships: Record<string, any>;
14
+ constructor(model: ModelClass);
15
+ static get [Symbol.species](): PromiseConstructor;
16
+ all(): this;
17
+ not(conditions?: Record<string, any>): this;
18
+ find(primaryKey: any): this;
19
+ page(num?: number): this;
20
+ limit(amount?: number): this;
21
+ order(attr: string, direction?: string): this;
22
+ where(conditions?: Record<string, any>, not?: boolean): this;
23
+ whereBetween(conditions: Record<string, any>, not?: boolean): this;
24
+ whereRaw(query: string, bindings?: Array<any>): this;
25
+ first(): this;
26
+ last(): this;
27
+ count(): Query<number>;
28
+ offset(amount: number): this;
29
+ select(...attrs: Array<string>): this;
30
+ distinct(...attrs: Array<string>): this;
31
+ include(...relationships: Array<Record<string, any> | string>): this;
32
+ unscope(...scopes: Array<string>): this;
33
+ then<TResult1 = T, TResult2 = never>(onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onRejected?: ((error: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
34
+ catch<TResult = never>(onRejected?: ((error: unknown) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
35
+ static from(src: any): Query<unknown>;
36
+ }
37
+ export default Query;
38
+ export { RecordNotFoundError } from './errors';
@@ -0,0 +1,2 @@
1
+ import type Query from '../index';
2
+ export declare const RUNNERS: WeakMap<Query<unknown>, () => Promise<void>>;
@@ -0,0 +1,9 @@
1
+ import type Query from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export declare function createRunner(target: Query<unknown>, opts: {
6
+ resolve?: (value: any) => void;
7
+ reject?: (error: Error) => void;
8
+ }): void;
9
+ export declare function runQuery(target: Query<unknown>): void;
@@ -0,0 +1,10 @@
1
+ import type Model from '../../../model';
2
+ import type { ModelClass } from '../../../interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export default function buildResults<T extends Model>({ model, records, relationships }: {
7
+ model: ModelClass<T>;
8
+ records: Promise<Array<Record<string, any>>>;
9
+ relationships: Record<string, any>;
10
+ }): Promise<Array<T>>;
@@ -0,0 +1,2 @@
1
+ import type Query from '../../index';
2
+ export default function getFindParam({ isFind, snapshots, model: { tableName, primaryKey } }: Query<unknown>): unknown;
@@ -0,0 +1,5 @@
1
+ import type { ModelClass } from '../../interfaces';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function formatSelect(model: ModelClass, attrs?: Array<string>, prefix?: string): string[];
@@ -0,0 +1,2 @@
1
+ import type Query from '../index';
2
+ export default function scopesFor<T>(target: Query<T>): PropertyDescriptorMap;
@@ -0,0 +1,11 @@
1
+ import type Model from '../model';
2
+ /**
3
+ * @private
4
+ */
5
+ export declare function set(owner: Model, key: string, value?: Array<Model> | Model | null): void;
6
+ /**
7
+ * @private
8
+ */
9
+ export declare function get(owner: Model, key: string): Promise<Array<Model> | Model | null>;
10
+ export { default as updateRelationship } from './utils/update-relationship';
11
+ export type { Relationship$opts } from './interfaces';
@@ -0,0 +1,12 @@
1
+ import type { Model } from '../index';
2
+ import type { ModelClass } from '../interfaces';
3
+ type Relationship$ref = Model | Array<Model>;
4
+ export type Relationship$refs = WeakMap<Model, Map<string, Relationship$ref>>;
5
+ export type Relationship$opts = {
6
+ type: 'hasOne' | 'hasMany' | 'belongsTo';
7
+ model: ModelClass;
8
+ inverse: string;
9
+ through?: ModelClass;
10
+ foreignKey: string;
11
+ };
12
+ export {};
@@ -0,0 +1,14 @@
1
+ import type Model from '../../model';
2
+ import type { Relationship$opts } from '../index';
3
+ /**
4
+ * @private
5
+ */
6
+ export declare function getHasOne(owner: Model, { model, foreignKey }: Relationship$opts): import("../..").Query<Model>;
7
+ /**
8
+ * @private
9
+ */
10
+ export declare function getHasMany(owner: Model, opts: Relationship$opts): Promise<Model[]>;
11
+ /**
12
+ * @private
13
+ */
14
+ export declare function getBelongsTo(owner: Model, { model, foreignKey }: Relationship$opts): import("../..").Query<Model> | Promise<null>;
@@ -0,0 +1,15 @@
1
+ import type Model from '../../model';
2
+ import type { ModelClass } from '../../interfaces';
3
+ import type { Relationship$opts } from '../index';
4
+ /**
5
+ * @private
6
+ */
7
+ export declare function setHasManyInverse(owner: Model, value: Array<Model>, { inverse, foreignKey, inverseModel }: Relationship$opts & {
8
+ inverseModel: ModelClass;
9
+ }): void;
10
+ /**
11
+ * @private
12
+ */
13
+ export declare function setHasOneInverse(owner: Model, value: Model | null | undefined, { inverse, foreignKey, inverseModel }: Relationship$opts & {
14
+ inverseModel: ModelClass;
15
+ }): void;
@@ -0,0 +1,14 @@
1
+ import type Model from '../../model';
2
+ import type { Relationship$opts } from '../index';
3
+ /**
4
+ * @private
5
+ */
6
+ export declare function setHasMany(owner: Model, key: string, value: Array<Model>, { type, model, inverse, foreignKey }: Relationship$opts): void;
7
+ /**
8
+ * @private
9
+ */
10
+ export declare function setHasOne(owner: Model, key: string, value: Model | null | undefined, { type, model, inverse, foreignKey }: Relationship$opts): void;
11
+ /**
12
+ * @private
13
+ */
14
+ export declare function setBelongsTo(owner: Model, key: string, value: Model | null | undefined, { type, model, inverse, foreignKey }: Relationship$opts): void;
@@ -0,0 +1,5 @@
1
+ import type Model from '../../model';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function unassociate<T extends Model>(value: Array<T>, foreignKey: string): Array<T>;
@@ -0,0 +1,5 @@
1
+ import type Model from '../../model';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function updateRelationship(record: Model, name: string, trx: unknown): Array<unknown>;
@@ -0,0 +1,2 @@
1
+ import type { ModelClass } from '../../interfaces';
2
+ export default function validateType(model: ModelClass, value: unknown): boolean;
@@ -0,0 +1,16 @@
1
+ import type { Model } from '../index';
2
+ import type { ModelClass } from '../interfaces';
3
+ import type { Transaction$ResultProxy } from './interfaces';
4
+ /**
5
+ * @private
6
+ */
7
+ export declare function createStaticTransactionProxy<T extends ModelClass>(target: T, trx: unknown): T;
8
+ /**
9
+ * @private
10
+ */
11
+ export declare function createInstanceTransactionProxy<T extends Model>(target: T, trx: unknown): T;
12
+ /**
13
+ * @private
14
+ */
15
+ export declare function createTransactionResultProxy<T extends Model, U extends boolean>(record: T, didPersist: U): Transaction$ResultProxy<T, U>;
16
+ export type { Transaction$ResultProxy } from './interfaces';
@@ -0,0 +1,5 @@
1
+ import type { Model } from '../index';
2
+ export type Transaction$ResultProxy<T extends Model, U extends boolean> = T & {
3
+ didPersist: U;
4
+ unwrap(): T;
5
+ };
@@ -0,0 +1,6 @@
1
+ import type { Knex } from 'knex';
2
+ import type { Database$environment } from '../interfaces';
3
+ /**
4
+ * @private
5
+ */
6
+ export default function connect(path: string, config: Database$environment): Knex;
@@ -0,0 +1,5 @@
1
+ import type Database from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function createMigrations(schema: Database['schema']): Promise<boolean>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare const _default: (input: unknown) => string;
5
+ export default _default;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function pendingMigrations(appPath: string, table: () => any): Promise<Array<string>>;
@@ -0,0 +1,5 @@
1
+ import type { Database$column } from '../interfaces';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function typeForColumn(column: Database$column): string | undefined;
@@ -0,0 +1 @@
1
+ export { default as ValidationError } from './validation-error';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class ValidationError extends Error {
5
+ constructor(key: string, value: string);
6
+ }
7
+ export default ValidationError;
@@ -0,0 +1,13 @@
1
+ import type { Validation$opts } from './interfaces';
2
+ /**
3
+ * @private
4
+ */
5
+ declare class Validation<T> {
6
+ key: string;
7
+ value: T;
8
+ validator: (value?: T) => boolean;
9
+ constructor(opts: Validation$opts<T>);
10
+ isValid(): boolean;
11
+ }
12
+ export default Validation;
13
+ export { ValidationError } from './errors';
@@ -0,0 +1,5 @@
1
+ export type Validation$opts<T> = {
2
+ key: string;
3
+ value: T;
4
+ validator: (value?: T) => boolean;
5
+ };
@@ -0,0 +1 @@
1
+ export declare const FREEZER: WeakSet<object>;
@@ -0,0 +1,3 @@
1
+ export { default as FreezeableMap } from './map';
2
+ export { default as FreezeableSet } from './set';
3
+ export { freezeArray, freezeValue, freezeProps, deepFreezeProps } from './utils/freeze';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class FreezeableMap<K, V> extends Map<K, V> {
5
+ set(key: K, value: V): this;
6
+ clear(): void;
7
+ delete(key: K): boolean;
8
+ freeze(deep?: boolean): this;
9
+ isFrozen(): boolean;
10
+ }
11
+ export default FreezeableMap;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class FreezeableSet<T> extends Set<T> {
5
+ add(value: T): this;
6
+ clear(): void;
7
+ delete(value: T): boolean;
8
+ freeze(deep?: boolean): this;
9
+ isFrozen(): boolean;
10
+ }
11
+ export default FreezeableSet;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function freeze<T extends object>(value: T): T;
5
+ /**
6
+ * @private
7
+ */
8
+ export declare function freezeArray<T>(target: T[]): readonly T[];
9
+ /**
10
+ * @private
11
+ */
12
+ export declare function freezeValue<T>(value: T): T;
13
+ /**
14
+ * @private
15
+ */
16
+ export declare function freezeProps<T extends object>(target: T, makePublic: boolean, ...props: string[]): T;
17
+ /**
18
+ * @private
19
+ */
20
+ export declare function deepFreezeProps<T extends object>(target: T, makePublic: boolean, ...props: string[]): T;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function isFrozen(value: unknown): boolean;
@@ -0,0 +1,52 @@
1
+ import type { Stats } from 'fs';
2
+ import Watcher from './watcher';
3
+ import type { fs$readOpts, fs$writeOpts } from './interfaces';
4
+ export { default as rmrf } from './utils/rmrf';
5
+ export { default as exists } from './utils/exists';
6
+ export { default as isJSFile } from './utils/is-js-file';
7
+ export { default as parsePath } from './utils/parse-path';
8
+ export type { fs$ParsedPath } from './interfaces';
9
+ /**
10
+ * @private
11
+ */
12
+ export declare function watch(path: string): Promise<Watcher>;
13
+ /**
14
+ * @private
15
+ */
16
+ export declare function stat(path: string): Promise<Stats>;
17
+ /**
18
+ * @private
19
+ */
20
+ export declare function mkdir(path: string, mode?: number): Promise<void>;
21
+ /**
22
+ * @private
23
+ */
24
+ export declare function mkdirRec(path: string, mode?: number): Promise<void>;
25
+ /**
26
+ * @private
27
+ */
28
+ export declare function rmdir(path: string): Promise<void>;
29
+ /**
30
+ * @private
31
+ */
32
+ export declare function readdir(path: string, opts?: fs$readOpts): Promise<Array<string>>;
33
+ /**
34
+ * @private
35
+ */
36
+ export declare function readdirRec(path: string, opts?: fs$readOpts): Promise<Array<string>>;
37
+ /**
38
+ * @private
39
+ */
40
+ export declare function readFile(path: string, opts?: fs$readOpts): Promise<string | Buffer>;
41
+ /**
42
+ * @private
43
+ */
44
+ export declare function writeFile(path: string, data: string | Buffer, opts?: fs$writeOpts): Promise<void>;
45
+ /**
46
+ * @private
47
+ */
48
+ export declare function appendFile(path: string, data: string | Buffer, opts?: fs$writeOpts): Promise<void>;
49
+ /**
50
+ * @private
51
+ */
52
+ export declare function unlink(path: string): Promise<void>;
@@ -0,0 +1,19 @@
1
+ export type fs$writeOpts = string | {
2
+ mode?: number;
3
+ flag?: string;
4
+ encoding?: string | null;
5
+ };
6
+ export type fs$readOpts = string | {
7
+ flag?: string;
8
+ encoding?: string | null;
9
+ };
10
+ export type fs$PathRemover = (source: string) => string;
11
+ export interface fs$ParsedPath {
12
+ root: string;
13
+ dir: string;
14
+ base: string;
15
+ ext: string;
16
+ name: string;
17
+ relative: string;
18
+ absolute: string;
19
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare function createPathRemover(path: string): (src: string) => string;
5
+ export default createPathRemover;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function createResolver(resolve: (data: any) => void, reject: (err: Error) => void): (err: Error | null, ...args: Array<any>) => void;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function exists(path: string | RegExp, dir?: string): Promise<boolean>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export default function isJSFile(target: string): boolean;
@@ -0,0 +1,5 @@
1
+ import type { fs$ParsedPath } from '../index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function resolvePath(cwd?: string, dir?: string, name?: string): fs$ParsedPath;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare function rmrf(target: string): Promise<boolean>;
5
+ export default rmrf;
@@ -0,0 +1,13 @@
1
+ import EventEmitter from 'events';
2
+ import type { FSWatcher } from 'fs';
3
+ import { Client } from 'fb-watchman';
4
+ /**
5
+ * @private
6
+ */
7
+ declare class Watcher extends EventEmitter {
8
+ path: string;
9
+ client: Client | FSWatcher;
10
+ constructor(path: string, useWatchman?: boolean);
11
+ destroy(): void;
12
+ }
13
+ export default Watcher;
@@ -0,0 +1,5 @@
1
+ import type Watcher from './index';
2
+ /**
3
+ * @private
4
+ */
5
+ export default function initialize<T extends Watcher>(instance: T, path: string, useWatchman: boolean): Promise<T>;
@@ -0,0 +1,3 @@
1
+ import type { FSWatcher } from 'fs';
2
+ import type { Client } from 'fb-watchman';
3
+ export type Watcher$Client = Client | FSWatcher;
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "1.0";
2
+ export declare const MIME_TYPE = "application/vnd.api+json";
@@ -0,0 +1,3 @@
1
+ export { default as NotAcceptableError } from './not-acceptable-error';
2
+ export { default as UnsupportedMediaTypeError } from './unsupported-media-type-error';
3
+ export { default as InvalidContentTypeError } from './invalid-content-type-error';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class InvalidContentTypeError extends TypeError {
5
+ constructor(contentType?: string);
6
+ }
7
+ declare const _default: new (...args: Array<any>) => InvalidContentTypeError & import("../../server/interfaces").Server$Error;
8
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class NotAcceptableError extends TypeError {
5
+ constructor(contentType: string);
6
+ }
7
+ declare const _default: new (...args: Array<any>) => NotAcceptableError & import("../../server/interfaces").Server$Error;
8
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ declare class UnsupportedMediaTypeError extends TypeError {
5
+ constructor(contentType: string);
6
+ }
7
+ declare const _default: new (...args: Array<any>) => UnsupportedMediaTypeError & import("../../server/interfaces").Server$Error;
8
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export * from './constants';
2
+ export * from './errors';
3
+ export { default as isJSONAPI } from './utils/is-jsonapi';
4
+ export { default as hasMediaType } from './utils/has-media-type';
5
+ export type { JSONAPI$versions, JSONAPI$Document, JSONAPI$ErrorObject, JSONAPI$DocumentLinks, JSONAPI$ResourceObject, JSONAPI$IdentifierObject, JSONAPI$RelationshipObject } from './interfaces';