@primate/core 0.4.6 → 0.5.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 (412) hide show
  1. package/lib/private/App.d.ts +531 -3
  2. package/lib/private/App.js +8 -3
  3. package/lib/private/Binder.d.ts +2 -2
  4. package/lib/private/Flags.d.ts +3 -3
  5. package/lib/private/Module.d.ts +5 -5
  6. package/lib/private/app/Facade.d.ts +566 -0
  7. package/lib/private/app/Facade.js +33 -0
  8. package/lib/private/asset/Asset.d.ts +1 -1
  9. package/lib/private/backend/Module.d.ts +1 -1
  10. package/lib/private/backend/Module.js +2 -5
  11. package/lib/private/backend/TAG.d.ts +1 -1
  12. package/lib/private/backend/TAG.js +1 -1
  13. package/lib/private/build/App.d.ts +2 -2
  14. package/lib/private/build/App.js +0 -2
  15. package/lib/private/build/client/index.js +11 -7
  16. package/lib/private/build/hook.js +4 -3
  17. package/lib/private/build/index.js +14 -13
  18. package/lib/private/build/presets.d.ts +10 -0
  19. package/lib/private/build/presets.js +39 -0
  20. package/lib/private/build/server/index.js +5 -7
  21. package/lib/private/build/server/plugin/assets.js +9 -7
  22. package/lib/private/build/server/plugin/config.js +11 -4
  23. package/lib/private/build/server/plugin/db-default.d.ts +4 -0
  24. package/lib/private/build/server/plugin/db-default.js +45 -0
  25. package/lib/private/build/server/plugin/frontend.js +4 -2
  26. package/lib/private/build/server/plugin/live-reload.d.ts +4 -0
  27. package/lib/private/build/server/plugin/{hot-reload.js → live-reload.js} +4 -4
  28. package/lib/private/build/server/plugin/native-addons.js +6 -4
  29. package/lib/private/build/server/plugin/node-imports.js +2 -2
  30. package/lib/private/build/server/plugin/route.js +2 -2
  31. package/lib/private/build/server/plugin/store-wrap.js +2 -2
  32. package/lib/private/build/server/plugin/store.js +6 -6
  33. package/lib/private/build/server/plugin/stores.js +4 -5
  34. package/lib/private/build/server/plugin/view.js +4 -4
  35. package/lib/private/build/server/plugin/views.js +4 -4
  36. package/lib/private/build/server/plugin/virtual-pages.js +8 -8
  37. package/lib/private/build/server/plugin/virtual-routes.js +8 -13
  38. package/lib/private/build/server/plugin/wasm.js +2 -3
  39. package/lib/private/bye.js +2 -3
  40. package/lib/private/client/Data.d.ts +1 -1
  41. package/lib/private/client/ValidateInit.d.ts +1 -3
  42. package/lib/private/client/ValidationError.d.ts +1 -1
  43. package/lib/private/client/app.js +2 -1
  44. package/lib/private/client/create-form.d.ts +31 -0
  45. package/lib/private/client/create-form.js +124 -0
  46. package/lib/private/client/extract-issues.d.ts +4 -0
  47. package/lib/private/client/extract-issues.js +20 -0
  48. package/lib/private/client/spa/index.d.ts +1 -1
  49. package/lib/private/client/spa/index.js +4 -5
  50. package/lib/private/client/{toValidated.d.ts → to-validated.d.ts} +2 -4
  51. package/lib/private/client/{toValidated.js → to-validated.js} +1 -1
  52. package/lib/private/client/validate-field.d.ts +3 -0
  53. package/lib/private/client/validate-field.js +41 -0
  54. package/lib/private/config/index.d.ts +2 -21
  55. package/lib/private/config/index.js +3 -1
  56. package/lib/private/config/schema.d.ts +13 -9
  57. package/lib/private/config/schema.js +10 -5
  58. package/lib/private/cookie.d.ts +5 -5
  59. package/lib/private/cookie.js +10 -14
  60. package/lib/private/db/As.d.ts +10 -0
  61. package/lib/private/db/DB.d.ts +33 -0
  62. package/lib/private/db/DB.js +2 -0
  63. package/lib/private/db/DataDict.d.ts +5 -0
  64. package/lib/private/db/DataKey.d.ts +4 -0
  65. package/lib/private/db/DataValue.d.ts +17 -0
  66. package/lib/private/db/MemoryDB.d.ts +35 -0
  67. package/lib/private/db/MemoryDB.js +317 -0
  68. package/lib/private/db/PK.d.ts +3 -0
  69. package/lib/private/db/PK.js +2 -0
  70. package/lib/private/{database → db}/Query.d.ts +2 -2
  71. package/lib/private/{database → db}/QueryBuilder.d.ts +2 -3
  72. package/lib/private/db/ReadArgs.d.ts +9 -0
  73. package/lib/private/db/ReadArgs.js +2 -0
  74. package/lib/private/db/ReadRelationsArgs.d.ts +6 -0
  75. package/lib/private/db/ReadRelationsArgs.js +2 -0
  76. package/lib/private/{database → db}/Schema.d.ts +1 -2
  77. package/lib/private/db/Sort.d.ts +4 -0
  78. package/lib/private/{database → db}/TypeMap.d.ts +2 -3
  79. package/lib/private/{database → db}/Types.d.ts +1 -1
  80. package/lib/private/db/With.d.ts +16 -0
  81. package/lib/private/db/With.js +2 -0
  82. package/lib/private/db/common.d.ts +18 -0
  83. package/lib/private/db/common.js +36 -0
  84. package/lib/private/db/error.d.ts +81 -0
  85. package/lib/private/db/error.js +199 -0
  86. package/lib/private/db/sql.d.ts +28 -0
  87. package/lib/private/db/sql.js +177 -0
  88. package/lib/private/db/storage.d.ts +3 -0
  89. package/lib/private/db/storage.js +3 -0
  90. package/lib/private/db/symbol/wrap.js +2 -0
  91. package/lib/private/db/symbol.js +2 -0
  92. package/lib/private/db/test.d.ts +4 -0
  93. package/lib/private/db/test.js +1384 -0
  94. package/lib/private/frontend/Module.d.ts +6 -6
  95. package/lib/private/frontend/Module.js +28 -23
  96. package/lib/private/frontend/Render.d.ts +1 -2
  97. package/lib/private/frontend/ServerData.d.ts +1 -1
  98. package/lib/private/frontend/ServerView.d.ts +1 -2
  99. package/lib/private/frontend/View.d.ts +1 -1
  100. package/lib/private/frontend/ViewOptions.d.ts +1 -1
  101. package/lib/private/frontend/ViewResponse.d.ts +1 -1
  102. package/lib/private/hash.js +0 -1
  103. package/lib/private/i18n/Catalog.d.ts +5 -2
  104. package/lib/private/i18n/Formatter.js +20 -8
  105. package/lib/private/i18n/Module.d.ts +3 -3
  106. package/lib/private/i18n/Module.js +28 -17
  107. package/lib/private/i18n/format.d.ts +4 -0
  108. package/lib/private/i18n/format.js +95 -0
  109. package/lib/private/i18n/index/client.d.ts +9 -0
  110. package/lib/private/i18n/index/client.js +152 -0
  111. package/lib/private/i18n/index/server.d.ts +9 -0
  112. package/lib/private/i18n/index/server.js +57 -0
  113. package/lib/private/i18n/index/types.d.ts +33 -0
  114. package/lib/private/i18n/index/types.js +2 -0
  115. package/lib/private/i18n/locale.d.ts +9 -3
  116. package/lib/private/i18n/ordinals.d.ts +1 -1
  117. package/lib/private/i18n/resolve.d.ts +7 -0
  118. package/lib/private/i18n/resolve.js +30 -0
  119. package/lib/private/i18n/schema.d.ts +4 -4
  120. package/lib/private/i18n/schema.js +6 -10
  121. package/lib/private/i18n/storage.d.ts +3 -0
  122. package/lib/private/i18n/storage.js +5 -0
  123. package/lib/private/i18n/validate.d.ts +2 -0
  124. package/lib/private/i18n/validate.js +21 -0
  125. package/lib/private/log.d.ts +1 -0
  126. package/lib/private/log.js +10 -10
  127. package/lib/private/module/Hook.d.ts +1 -1
  128. package/lib/private/module/Next.d.ts +1 -1
  129. package/lib/private/orm/ForeignKey.d.ts +11 -0
  130. package/lib/private/orm/ForeignKey.js +22 -0
  131. package/lib/private/orm/PrimaryKey.d.ts +15 -0
  132. package/lib/private/orm/PrimaryKey.js +35 -0
  133. package/lib/private/orm/Set.d.ts +11 -0
  134. package/lib/private/orm/Set.js +2 -0
  135. package/lib/private/orm/Store.d.ts +171 -0
  136. package/lib/private/orm/Store.js +518 -0
  137. package/lib/private/orm/foreign.d.ts +4 -0
  138. package/lib/private/orm/foreign.js +5 -0
  139. package/lib/private/orm/key.d.ts +8 -0
  140. package/lib/private/orm/key.js +4 -0
  141. package/lib/private/orm/parse.d.ts +12 -0
  142. package/lib/private/orm/parse.js +29 -0
  143. package/lib/private/orm/primary.d.ts +5 -0
  144. package/lib/private/orm/primary.js +5 -0
  145. package/lib/private/orm/relation.d.ts +43 -0
  146. package/lib/private/orm/relation.js +26 -0
  147. package/lib/private/orm/types.d.ts +18 -0
  148. package/lib/private/orm/types.js +2 -0
  149. package/lib/private/orm/wrap.d.ts +5 -0
  150. package/lib/private/orm/wrap.js +5 -0
  151. package/lib/private/paths.d.ts +2 -2
  152. package/lib/private/request/RequestBag.d.ts +1 -1
  153. package/lib/private/request/RequestBag.js +11 -7
  154. package/lib/private/request/RequestBody.d.ts +2 -4
  155. package/lib/private/request/RequestBody.js +8 -11
  156. package/lib/private/request/RequestContext.d.ts +12 -0
  157. package/lib/private/request/RequestContext.js +31 -0
  158. package/lib/private/request/RequestFacade.d.ts +16 -6
  159. package/lib/private/request/parse.d.ts +2 -2
  160. package/lib/private/request/parse.js +54 -16
  161. package/lib/private/request/route.js +37 -21
  162. package/lib/private/request/router.d.ts +1 -1
  163. package/lib/private/request/router.js +2 -2
  164. package/lib/private/request/sContext.d.ts +3 -0
  165. package/lib/private/request/sContext.js +2 -0
  166. package/lib/private/response/ResponseFunction.d.ts +1 -2
  167. package/lib/private/response/ResponseLike.d.ts +1 -1
  168. package/lib/private/response/binary.d.ts +1 -1
  169. package/lib/private/response/binary.js +4 -3
  170. package/lib/private/response/json.d.ts +1 -1
  171. package/lib/private/response/json.js +2 -2
  172. package/lib/private/response/redirect.js +1 -1
  173. package/lib/private/response/respond.js +7 -10
  174. package/lib/private/response/sse.d.ts +1 -1
  175. package/lib/private/response/sse.js +2 -2
  176. package/lib/private/response/text.d.ts +1 -1
  177. package/lib/private/response/text.js +3 -3
  178. package/lib/private/response/view.d.ts +2 -2
  179. package/lib/private/response/view.js +3 -3
  180. package/lib/private/response.d.ts +1 -1
  181. package/lib/private/route/Handler.d.ts +1 -1
  182. package/lib/private/route/hook.d.ts +6 -0
  183. package/lib/private/route/hook.js +5 -0
  184. package/lib/private/route/router.d.ts +9 -5
  185. package/lib/private/route/router.js +34 -17
  186. package/lib/private/route/wrap.js +2 -2
  187. package/lib/private/serve/App.d.ts +5 -18
  188. package/lib/private/serve/App.js +91 -82
  189. package/lib/private/serve/Init.d.ts +3 -3
  190. package/lib/private/serve/hook.js +1 -7
  191. package/lib/private/serve/index.js +6 -2
  192. package/lib/private/serve/module/Dev.d.ts +1 -1
  193. package/lib/private/serve/module/Dev.js +9 -5
  194. package/lib/private/serve/module/Handle.js +2 -2
  195. package/lib/private/session/Data.d.ts +1 -2
  196. package/lib/private/session/SessionHandle.d.ts +1 -1
  197. package/lib/private/session/SessionHandle.js +10 -9
  198. package/lib/private/session/SessionModule.js +7 -7
  199. package/lib/private/session/index.d.ts +3 -4
  200. package/lib/private/session/schema.d.ts +6 -6
  201. package/lib/private/session/schema.js +5 -4
  202. package/lib/private/session/storage.d.ts +1 -2
  203. package/lib/private/session/storage.js +2 -2
  204. package/lib/private/tags.js +2 -2
  205. package/lib/private/target/Target.d.ts +1 -1
  206. package/lib/public/AppFacade.d.ts +2 -0
  207. package/lib/public/AppFacade.js +2 -0
  208. package/lib/public/build/presets.d.ts +2 -0
  209. package/lib/public/build/presets.js +2 -0
  210. package/lib/public/build/transform.d.ts +2 -0
  211. package/lib/public/build/transform.js +2 -0
  212. package/lib/public/client.d.ts +14 -0
  213. package/lib/public/client.js +10 -0
  214. package/lib/public/db/MemoryDB.d.ts +2 -0
  215. package/lib/public/db/MemoryDB.js +2 -0
  216. package/lib/public/db/error.d.ts +2 -0
  217. package/lib/public/db/error.js +2 -0
  218. package/lib/public/db/sql.d.ts +2 -0
  219. package/lib/public/db/sql.js +2 -0
  220. package/lib/public/db/test.d.ts +2 -0
  221. package/lib/public/db/test.js +2 -0
  222. package/lib/public/db.d.ts +12 -0
  223. package/lib/public/db.js +2 -0
  224. package/lib/public/orm/Store.d.ts +2 -0
  225. package/lib/public/orm/Store.js +2 -0
  226. package/lib/public/orm/key.d.ts +2 -0
  227. package/lib/public/orm/key.js +2 -0
  228. package/lib/public/orm/relation.d.ts +2 -0
  229. package/lib/public/orm/relation.js +2 -0
  230. package/lib/public/orm/wrap.d.ts +2 -0
  231. package/lib/public/orm/wrap.js +2 -0
  232. package/lib/public/request.d.ts +4 -0
  233. package/lib/public/request.js +2 -0
  234. package/lib/public/response.d.ts +22 -0
  235. package/lib/public/response.js +19 -0
  236. package/lib/public/route/hook.d.ts +2 -0
  237. package/lib/public/route/hook.js +2 -0
  238. package/package.json +28 -23
  239. package/lib/private/build/client/reload.d.ts +0 -7
  240. package/lib/private/build/client/reload.js +0 -6
  241. package/lib/private/build/server/plugin/database-default.d.ts +0 -4
  242. package/lib/private/build/server/plugin/database-default.js +0 -48
  243. package/lib/private/build/server/plugin/hot-reload.d.ts +0 -4
  244. package/lib/private/client/validate.d.ts +0 -3
  245. package/lib/private/client/validate.js +0 -54
  246. package/lib/private/database/As.d.ts +0 -7
  247. package/lib/private/database/Binds.d.ts +0 -4
  248. package/lib/private/database/Binds.js +0 -2
  249. package/lib/private/database/Changes.d.ts +0 -11
  250. package/lib/private/database/Changes.js +0 -2
  251. package/lib/private/database/ColumnTypes.d.ts +0 -11
  252. package/lib/private/database/ColumnTypes.js +0 -2
  253. package/lib/private/database/DataDict.d.ts +0 -5
  254. package/lib/private/database/DataKey.d.ts +0 -4
  255. package/lib/private/database/DataValue.d.ts +0 -5
  256. package/lib/private/database/Database.d.ts +0 -56
  257. package/lib/private/database/Database.js +0 -153
  258. package/lib/private/database/InMemoryDatabase.d.ts +0 -37
  259. package/lib/private/database/InMemoryDatabase.js +0 -181
  260. package/lib/private/database/Sort.d.ts +0 -4
  261. package/lib/private/database/Store.d.ts +0 -172
  262. package/lib/private/database/Store.js +0 -261
  263. package/lib/private/database/storage.d.ts +0 -4
  264. package/lib/private/database/storage.js +0 -3
  265. package/lib/private/database/symbol/wrap.js +0 -2
  266. package/lib/private/database/symbol.js +0 -2
  267. package/lib/private/database/test.d.ts +0 -4
  268. package/lib/private/database/test.js +0 -678
  269. package/lib/private/database/wrap.d.ts +0 -5
  270. package/lib/private/database/wrap.js +0 -5
  271. package/lib/private/i18n/index.d.ts +0 -28
  272. package/lib/private/i18n/index.js +0 -236
  273. package/lib/private/route/guard.d.ts +0 -4
  274. package/lib/private/route/guard.js +0 -22
  275. package/lib/private/wasm/API.d.ts +0 -7
  276. package/lib/private/wasm/API.js +0 -2
  277. package/lib/private/wasm/BufferViewSource.d.ts +0 -4
  278. package/lib/private/wasm/BufferViewSource.js +0 -2
  279. package/lib/private/wasm/Exports.d.ts +0 -23
  280. package/lib/private/wasm/Exports.js +0 -2
  281. package/lib/private/wasm/I32.d.ts +0 -5
  282. package/lib/private/wasm/I32.js +0 -2
  283. package/lib/private/wasm/I32_SIZE.d.ts +0 -3
  284. package/lib/private/wasm/I32_SIZE.js +0 -2
  285. package/lib/private/wasm/Instantiation.d.ts +0 -12
  286. package/lib/private/wasm/Instantiation.js +0 -2
  287. package/lib/private/wasm/Tagged.d.ts +0 -7
  288. package/lib/private/wasm/Tagged.js +0 -2
  289. package/lib/private/wasm/buffersize.d.ts +0 -2
  290. package/lib/private/wasm/buffersize.js +0 -5
  291. package/lib/private/wasm/decode-bytes.d.ts +0 -3
  292. package/lib/private/wasm/decode-bytes.js +0 -5
  293. package/lib/private/wasm/decode-json.d.ts +0 -7
  294. package/lib/private/wasm/decode-json.js +0 -11
  295. package/lib/private/wasm/decode-option.d.ts +0 -5
  296. package/lib/private/wasm/decode-option.js +0 -10
  297. package/lib/private/wasm/decode-response.d.ts +0 -19
  298. package/lib/private/wasm/decode-response.js +0 -90
  299. package/lib/private/wasm/decode-string.d.ts +0 -3
  300. package/lib/private/wasm/decode-string.js +0 -5
  301. package/lib/private/wasm/decode-websocket-close.d.ts +0 -5
  302. package/lib/private/wasm/decode-websocket-close.js +0 -6
  303. package/lib/private/wasm/decode-websocket-send.d.ts +0 -6
  304. package/lib/private/wasm/decode-websocket-send.js +0 -19
  305. package/lib/private/wasm/encode-buffer.d.ts +0 -3
  306. package/lib/private/wasm/encode-buffer.js +0 -6
  307. package/lib/private/wasm/encode-request.d.ts +0 -9
  308. package/lib/private/wasm/encode-request.js +0 -195
  309. package/lib/private/wasm/encode-session.d.ts +0 -3
  310. package/lib/private/wasm/encode-session.js +0 -25
  311. package/lib/private/wasm/encode-string-map.d.ts +0 -5
  312. package/lib/private/wasm/encode-string-map.js +0 -14
  313. package/lib/private/wasm/encode-string.d.ts +0 -13
  314. package/lib/private/wasm/encode-string.js +0 -17
  315. package/lib/private/wasm/encode-url.d.ts +0 -11
  316. package/lib/private/wasm/encode-url.js +0 -14
  317. package/lib/private/wasm/encode-websocket-close.d.ts +0 -2
  318. package/lib/private/wasm/encode-websocket-close.js +0 -7
  319. package/lib/private/wasm/encode-websocket-message.d.ts +0 -4
  320. package/lib/private/wasm/encode-websocket-message.js +0 -30
  321. package/lib/private/wasm/encode-websocket-open.d.ts +0 -2
  322. package/lib/private/wasm/encode-websocket-open.js +0 -7
  323. package/lib/private/wasm/filesize.d.ts +0 -2
  324. package/lib/private/wasm/filesize.js +0 -8
  325. package/lib/private/wasm/instantiate.d.ts +0 -37
  326. package/lib/private/wasm/instantiate.js +0 -408
  327. package/lib/private/wasm/open-websocket.d.ts +0 -4
  328. package/lib/private/wasm/open-websocket.js +0 -26
  329. package/lib/private/wasm/stringsize.d.ts +0 -3
  330. package/lib/private/wasm/stringsize.js +0 -5
  331. package/lib/private/wasm/urlsize.d.ts +0 -2
  332. package/lib/private/wasm/urlsize.js +0 -5
  333. package/lib/public/Database.d.ts +0 -2
  334. package/lib/public/Database.js +0 -2
  335. package/lib/public/client/ValidateInit.d.ts +0 -2
  336. package/lib/public/client/ValidateInit.js +0 -2
  337. package/lib/public/client/ValidateUpdater.d.ts +0 -2
  338. package/lib/public/client/ValidateUpdater.js +0 -2
  339. package/lib/public/client/ValidationError.d.ts +0 -2
  340. package/lib/public/client/ValidationError.js +0 -2
  341. package/lib/public/client/toValidated.d.ts +0 -2
  342. package/lib/public/client/toValidated.js +0 -2
  343. package/lib/public/client/validate.d.ts +0 -2
  344. package/lib/public/client/validate.js +0 -2
  345. package/lib/public/database/As.d.ts +0 -2
  346. package/lib/public/database/As.js +0 -2
  347. package/lib/public/database/DataDict.d.ts +0 -2
  348. package/lib/public/database/DataDict.js +0 -2
  349. package/lib/public/database/InMemoryDatabase.d.ts +0 -2
  350. package/lib/public/database/InMemoryDatabase.js +0 -2
  351. package/lib/public/database/Sort.d.ts +0 -2
  352. package/lib/public/database/Sort.js +0 -2
  353. package/lib/public/database/Store.d.ts +0 -2
  354. package/lib/public/database/Store.js +0 -2
  355. package/lib/public/database/TypeMap.d.ts +0 -2
  356. package/lib/public/database/TypeMap.js +0 -2
  357. package/lib/public/database/Types.d.ts +0 -2
  358. package/lib/public/database/Types.js +0 -2
  359. package/lib/public/database/test.d.ts +0 -2
  360. package/lib/public/database/test.js +0 -2
  361. package/lib/public/database/wrap.d.ts +0 -2
  362. package/lib/public/database/wrap.js +0 -2
  363. package/lib/public/request/RequestBody.d.ts +0 -2
  364. package/lib/public/request/RequestBody.js +0 -2
  365. package/lib/public/request/RequestFacade.d.ts +0 -2
  366. package/lib/public/request/RequestFacade.js +0 -2
  367. package/lib/public/request/Verb.d.ts +0 -2
  368. package/lib/public/request/Verb.js +0 -2
  369. package/lib/public/response/ResponseFunction.d.ts +0 -2
  370. package/lib/public/response/ResponseFunction.js +0 -2
  371. package/lib/public/response/ResponseLike.d.ts +0 -2
  372. package/lib/public/response/ResponseLike.js +0 -2
  373. package/lib/public/response/binary.d.ts +0 -2
  374. package/lib/public/response/binary.js +0 -2
  375. package/lib/public/response/error.d.ts +0 -2
  376. package/lib/public/response/error.js +0 -2
  377. package/lib/public/response/json.d.ts +0 -2
  378. package/lib/public/response/json.js +0 -2
  379. package/lib/public/response/redirect.d.ts +0 -2
  380. package/lib/public/response/redirect.js +0 -2
  381. package/lib/public/response/sse.d.ts +0 -2
  382. package/lib/public/response/sse.js +0 -2
  383. package/lib/public/response/text.d.ts +0 -2
  384. package/lib/public/response/text.js +0 -2
  385. package/lib/public/response/view.d.ts +0 -2
  386. package/lib/public/response/view.js +0 -2
  387. package/lib/public/response/ws.d.ts +0 -2
  388. package/lib/public/response/ws.js +0 -2
  389. package/lib/public/wasm/decode-json.d.ts +0 -5
  390. package/lib/public/wasm/decode-json.js +0 -3
  391. package/lib/public/wasm/decode-response.d.ts +0 -3
  392. package/lib/public/wasm/decode-response.js +0 -3
  393. package/lib/public/wasm/encode-request.d.ts +0 -3
  394. package/lib/public/wasm/encode-request.js +0 -3
  395. package/lib/public/wasm/encode-session.d.ts +0 -3
  396. package/lib/public/wasm/encode-session.js +0 -3
  397. package/lib/public/wasm/instantiate.d.ts +0 -4
  398. package/lib/public/wasm/instantiate.js +0 -3
  399. /package/lib/private/{database → db}/As.js +0 -0
  400. /package/lib/private/{database → db}/DataDict.js +0 -0
  401. /package/lib/private/{database → db}/DataKey.js +0 -0
  402. /package/lib/private/{database → db}/DataValue.js +0 -0
  403. /package/lib/private/{database → db}/Query.js +0 -0
  404. /package/lib/private/{database → db}/QueryBuilder.js +0 -0
  405. /package/lib/private/{database → db}/Schema.js +0 -0
  406. /package/lib/private/{database → db}/Sort.js +0 -0
  407. /package/lib/private/{database → db}/TypeMap.js +0 -0
  408. /package/lib/private/{database → db}/Types.js +0 -0
  409. /package/lib/private/{database → db}/primary.d.ts +0 -0
  410. /package/lib/private/{database → db}/primary.js +0 -0
  411. /package/lib/private/{database → db}/symbol/wrap.d.ts +0 -0
  412. /package/lib/private/{database → db}/symbol.d.ts +0 -0
@@ -0,0 +1,35 @@
1
+ import type As from "#db/As";
2
+ import type DB from "#db/DB";
3
+ import type DataDict from "#db/DataDict";
4
+ import type Sort from "#db/Sort";
5
+ import type With from "#db/With";
6
+ import type { Dict, MaybePromise } from "@rcompat/type";
7
+ export default class MemoryDB implements DB {
8
+ #private;
9
+ get schema(): {
10
+ create: (as: As) => void;
11
+ delete: (table: string) => void;
12
+ };
13
+ close(): void;
14
+ create<O extends Dict>(as: As, record: Dict): MaybePromise<O>;
15
+ read(as: As, args: {
16
+ count: true;
17
+ where: DataDict;
18
+ with?: never;
19
+ }): number;
20
+ read(as: As, args: {
21
+ where: DataDict;
22
+ fields?: string[];
23
+ limit?: number;
24
+ sort?: Sort;
25
+ with?: With;
26
+ }): Dict[];
27
+ update(as: As, args: {
28
+ set: DataDict;
29
+ where: DataDict;
30
+ }): Promise<number>;
31
+ delete(as: As, args: {
32
+ where: DataDict;
33
+ }): number;
34
+ }
35
+ //# sourceMappingURL=MemoryDB.d.ts.map
@@ -0,0 +1,317 @@
1
+ import E from "#db/error";
2
+ import assert from "@rcompat/assert";
3
+ import entries from "@rcompat/dict/entries";
4
+ import is from "@rcompat/is";
5
+ const PK_TYPES = ["string", "bigint", "number"];
6
+ function escape_re(s) {
7
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
8
+ }
9
+ function comparable(x) {
10
+ if (is.date(x))
11
+ return x.getTime();
12
+ if (is.url(x))
13
+ return x.href;
14
+ return x;
15
+ }
16
+ ;
17
+ function like_re(pattern, flags = "") {
18
+ return new RegExp("^" + escape_re(pattern)
19
+ .replace(/\\%/g, "<<PERCENT>>")
20
+ .replace(/\\_/g, "<<UNDERSCORE>>")
21
+ .replace(/%/g, "[\\s\\S]*")
22
+ .replace(/_/g, "[\\s\\S]")
23
+ .replace(/<<PERCENT>>/g, "%")
24
+ .replace(/<<UNDERSCORE>>/g, "_") +
25
+ "$", flags);
26
+ }
27
+ function match(record, where) {
28
+ return Object.entries(where).every(([k, v]) => {
29
+ const value = record[k];
30
+ // null where (IS NULL semantics in this DB == key absent)
31
+ if (v === null)
32
+ return value === null || value === undefined;
33
+ // operator objects: only plain dicts
34
+ if (is.dict(v)) {
35
+ // NULL / missing values don't match operator predicates
36
+ if (value === null || value === undefined)
37
+ return false;
38
+ for (const [op, op_val] of Object.entries(v)) {
39
+ switch (op) {
40
+ case "$like": {
41
+ if (!is.string(value))
42
+ return false;
43
+ if (!like_re(op_val).test(value))
44
+ return false;
45
+ break;
46
+ }
47
+ case "$ilike": {
48
+ if (!is.string(value))
49
+ return false;
50
+ if (!like_re(op_val, "i").test(value))
51
+ return false;
52
+ break;
53
+ }
54
+ case "$gte":
55
+ if (!(comparable(value) >= comparable(op_val)))
56
+ return false;
57
+ break;
58
+ case "$gt":
59
+ case "$after":
60
+ if (!(comparable(value) > comparable(op_val)))
61
+ return false;
62
+ break;
63
+ case "$lte":
64
+ if (!(comparable(value) <= comparable(op_val)))
65
+ return false;
66
+ break;
67
+ case "$lt":
68
+ case "$before":
69
+ if (!(comparable(value) < comparable(op_val)))
70
+ return false;
71
+ break;
72
+ case "$ne": {
73
+ if (is.date(value) && is.date(op_val)) {
74
+ if (value.getTime() === op_val.getTime())
75
+ return false;
76
+ break;
77
+ }
78
+ if (is.url(value) && is.url(op_val)) {
79
+ if (value.href === op_val.href)
80
+ return false;
81
+ break;
82
+ }
83
+ if (value === op_val)
84
+ return false;
85
+ break;
86
+ }
87
+ default:
88
+ throw E.operator_unknown(k, op);
89
+ }
90
+ }
91
+ return true;
92
+ }
93
+ // literal equality
94
+ if (is.date(value) && is.date(v))
95
+ return value.getTime() === v.getTime();
96
+ if (is.url(value) && is.url(v))
97
+ return value.href === v.href;
98
+ return value === v;
99
+ });
100
+ }
101
+ function filter(record, fields) {
102
+ return Object.fromEntries(Object.entries(record)
103
+ .filter(([key]) => fields.includes(key)));
104
+ }
105
+ function toSorted(d1, d2, sort) {
106
+ return [...entries(sort).valmap(([, value]) => value === "asc" ? 1 : -1)]
107
+ .reduce((sorting, [field, direction]) => {
108
+ const left = d1[field];
109
+ const right = d2[field];
110
+ // if sorting has been established, it stays fixed
111
+ if (sorting !== 0) {
112
+ return sorting;
113
+ }
114
+ // equal, sorting doesn't change
115
+ if (left === right) {
116
+ return sorting;
117
+ }
118
+ if (left < right) {
119
+ return -1 * direction;
120
+ }
121
+ return direction;
122
+ }, 0);
123
+ }
124
+ export default class MemoryDB {
125
+ #tables = {};
126
+ #new(as) {
127
+ if (this.#tables[as.table] !== undefined)
128
+ return;
129
+ this.#tables[as.table] = [];
130
+ }
131
+ #drop(table) {
132
+ if (this.#tables[table] !== undefined)
133
+ delete this.#tables[table];
134
+ }
135
+ #use(name) {
136
+ this.#tables[name] ??= [];
137
+ return this.#tables[name];
138
+ }
139
+ get schema() {
140
+ return {
141
+ create: this.#new.bind(this),
142
+ delete: this.#drop.bind(this),
143
+ };
144
+ }
145
+ // noop
146
+ close() { }
147
+ #next_id(as) {
148
+ const table = this.#use(as.table);
149
+ const size = table.length;
150
+ const pk = assert.defined(as.pk);
151
+ const type = as.types[pk];
152
+ if (type === "string") {
153
+ return crypto.randomUUID();
154
+ }
155
+ else if (["u64", "u128", "i64", "i128"].includes(type)) {
156
+ return size === 0 ? 0n : table[size - 1][pk] + 1n;
157
+ }
158
+ else {
159
+ return size === 0 ? 0 : table[size - 1][pk] + 1;
160
+ }
161
+ }
162
+ create(as, record) {
163
+ assert.nonempty(record, "empty record");
164
+ const table = this.#use(as.table);
165
+ const pk = as.pk;
166
+ let to_insert = record;
167
+ if (pk !== null && !(pk in record)) {
168
+ if (as.generate_pk === false)
169
+ throw E.pk_required(pk);
170
+ to_insert = { ...record, [pk]: this.#next_id(as) };
171
+ }
172
+ if (pk !== null) {
173
+ const pkv = to_insert[pk];
174
+ if (!PK_TYPES.includes(typeof pkv))
175
+ throw E.pk_invalid(pkv);
176
+ if (table.find(stored => stored[pk] === pkv))
177
+ throw E.pk_duplicate(pk);
178
+ }
179
+ table.push({ ...to_insert });
180
+ return to_insert;
181
+ }
182
+ read(as, args) {
183
+ assert.dict(args.where);
184
+ const table = this.#use(as.table);
185
+ const matches = table.filter(r => match(r, args.where));
186
+ if (args.count === true)
187
+ return matches.length;
188
+ const sort = args.sort ?? {};
189
+ const sorted = Object.keys(sort).length === 0
190
+ ? matches
191
+ : matches.toSorted((a, b) => toSorted(a, b, sort));
192
+ const limit = args.limit ?? sorted.length;
193
+ const base_rows = sorted.slice(0, limit);
194
+ // no relations -> preserve existing behavior
195
+ if (args.with === undefined) {
196
+ const fields = args.fields ?? [];
197
+ return (fields.length === 0
198
+ ? base_rows
199
+ : base_rows.map(r => filter(r, fields)));
200
+ }
201
+ assert.dict(args.with);
202
+ const base_fields = args.fields ?? [];
203
+ // output objects must be detached, so as to not mutate stored rows whilst
204
+ // attaching relations
205
+ const out = base_rows.map(full => {
206
+ return base_fields.length === 0
207
+ ? { ...full }
208
+ : filter(full, base_fields);
209
+ });
210
+ // need access to the full base rows to read join keys even if not projected
211
+ const base_full = base_rows;
212
+ for (const [r_name, rel] of Object.entries(args.with)) {
213
+ const target_as = rel.as;
214
+ const kind = rel.kind;
215
+ const fk = rel.fk;
216
+ const reverse = rel.reverse === true;
217
+ const r_where = rel.where;
218
+ const r_sort = rel.sort;
219
+ const r_limit = rel.limit;
220
+ const r_fields = rel.fields ?? [];
221
+ const target = this.#use(target_as.table);
222
+ function project_rel(row) {
223
+ if (r_fields.length === 0)
224
+ return { ...row };
225
+ return filter(row, r_fields);
226
+ }
227
+ ;
228
+ // reverse one: FK on parent points to target PK
229
+ if (kind === "one" && reverse) {
230
+ const target_pk = target_as.pk;
231
+ if (target_pk === null)
232
+ throw E.relation_requires_pk("target");
233
+ for (let i = 0; i < out.length; i++) {
234
+ const parent_full = base_full[i];
235
+ const fk_value = parent_full[fk];
236
+ if (fk_value == null) {
237
+ (out[i])[r_name] = null;
238
+ continue;
239
+ }
240
+ // filter by target_pk equality + optional where
241
+ let candidates = target.filter(t => t[target_pk] === fk_value && match(t, r_where));
242
+ if (r_sort && Object.keys(r_sort).length > 0) {
243
+ candidates = candidates.toSorted((a, b) => toSorted(a, b, r_sort));
244
+ }
245
+ if (r_limit !== undefined)
246
+ candidates = candidates.slice(0, r_limit);
247
+ const got = candidates[0];
248
+ (out[i])[r_name] = got ? project_rel(got) : null;
249
+ }
250
+ continue;
251
+ }
252
+ // non-reverse: FK on target points to parent PK
253
+ const parent_pk = as.pk;
254
+ if (parent_pk === null)
255
+ throw E.relation_requires_pk("parent");
256
+ const parent_keys = new Set(base_full.map(r => r[parent_pk]));
257
+ const grouped = new Map();
258
+ for (const row of target) {
259
+ const key = row[fk];
260
+ if (!parent_keys.has(key))
261
+ continue;
262
+ if (!match(row, r_where))
263
+ continue;
264
+ const bucket = grouped.get(key);
265
+ if (bucket)
266
+ bucket.push(row);
267
+ else
268
+ grouped.set(key, [row]);
269
+ }
270
+ for (let i = 0; i < out.length; i++) {
271
+ const parent_full = base_full[i];
272
+ const key = parent_full[parent_pk];
273
+ let rows = grouped.get(key) ?? [];
274
+ if (r_sort && Object.keys(r_sort).length > 0) {
275
+ rows = rows.toSorted((a, b) => toSorted(a, b, r_sort));
276
+ }
277
+ if (kind === "one") {
278
+ if (r_limit !== undefined)
279
+ rows = rows.slice(0, r_limit);
280
+ const got = rows[0];
281
+ (out[i])[r_name] = got ? project_rel(got) : null;
282
+ }
283
+ else {
284
+ if (r_limit !== undefined)
285
+ rows = rows.slice(0, r_limit);
286
+ (out[i])[r_name] = rows.map(project_rel);
287
+ }
288
+ }
289
+ }
290
+ return out;
291
+ }
292
+ async update(as, args) {
293
+ assert.nonempty(args.set);
294
+ assert.dict(args.where);
295
+ const table = this.#use(as.table);
296
+ const matched = table.filter(record => match(record, args.where));
297
+ const pk = as.pk;
298
+ return matched.map(record => {
299
+ const changed = entries({ ...record, ...args.set })
300
+ .filter(([, value]) => value !== null)
301
+ .get();
302
+ const index = pk !== null
303
+ ? table.findIndex(stored => stored[pk] === record[pk])
304
+ : table.findIndex(stored => stored === record);
305
+ table.splice(index, 1, changed);
306
+ return changed;
307
+ }).length;
308
+ }
309
+ delete(as, args) {
310
+ assert.nonempty(args.where);
311
+ const table = this.#use(as.table);
312
+ const size_before = table.length;
313
+ this.#tables[as.table] = table.filter(record => !match(record, args.where));
314
+ return size_before - this.#use(as.table).length;
315
+ }
316
+ }
317
+ //# sourceMappingURL=MemoryDB.js.map
@@ -0,0 +1,3 @@
1
+ type PK = string | null;
2
+ export type { PK as default };
3
+ //# sourceMappingURL=PK.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PK.js.map
@@ -1,5 +1,5 @@
1
- import type Schema from "#database/Schema";
2
- import type StoreSchema from "pema/StoreSchema";
1
+ import type Schema from "#db/Schema";
2
+ import type { StoreSchema } from "pema";
3
3
  type X<T> = {
4
4
  [K in keyof T]: T[K];
5
5
  } & {};
@@ -1,6 +1,5 @@
1
- import type Schema from "#database/Schema";
2
- import type InferStoreOut from "pema/InferStoreOut";
3
- import type StoreSchema from "pema/StoreSchema";
1
+ import type Schema from "#db/Schema";
2
+ import type { InferStoreOut, StoreSchema } from "pema";
4
3
  type X<T> = {
5
4
  [K in keyof T]: T[K];
6
5
  } & {};
@@ -0,0 +1,9 @@
1
+ import type DataDict from "#db/DataDict";
2
+ import type Sort from "#db/Sort";
3
+ export default interface ReadArgs {
4
+ where: DataDict;
5
+ fields?: string[];
6
+ sort?: Sort;
7
+ limit?: number;
8
+ }
9
+ //# sourceMappingURL=ReadArgs.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReadArgs.js.map
@@ -0,0 +1,6 @@
1
+ import type ReadArgs from "#db/ReadArgs";
2
+ import type With from "#db/With";
3
+ export default interface ReadRelationsArgs extends ReadArgs {
4
+ with: With;
5
+ }
6
+ //# sourceMappingURL=ReadRelationsArgs.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReadRelationsArgs.js.map
@@ -1,5 +1,4 @@
1
- import type InferStoreOut from "pema/InferStoreOut";
2
- import type StoreSchema from "pema/StoreSchema";
1
+ import type { InferStoreOut, StoreSchema } from "pema";
3
2
  type X<T> = {
4
3
  [K in keyof T]: T[K];
5
4
  } & {};
@@ -0,0 +1,4 @@
1
+ import type { Dict } from "@rcompat/type";
2
+ type Sort = Dict<"asc" | "desc">;
3
+ export type { Sort as default };
4
+ //# sourceMappingURL=Sort.d.ts.map
@@ -1,6 +1,5 @@
1
- import type MaybePromise from "@rcompat/type/MaybePromise";
2
- import type DataType from "pema/DataType";
3
- import type Dict from "@rcompat/type/Dict";
1
+ import type { Dict, MaybePromise } from "@rcompat/type";
2
+ import type { DataType } from "pema";
4
3
  type TypeMap<Columns extends Dict = Dict> = {
5
4
  [K in keyof DataType]: {
6
5
  [C in keyof Columns]: {
@@ -1,4 +1,4 @@
1
- import type DataType from "pema/DataType";
1
+ import type { DataType } from "pema";
2
2
  type Types = {
3
3
  [k: string]: keyof DataType;
4
4
  };
@@ -0,0 +1,16 @@
1
+ import type As from "#db/As";
2
+ import type DataDict from "#db/DataDict";
3
+ import type Sort from "#db/Sort";
4
+ import type { Dict } from "@rcompat/type";
5
+ type With = Dict<{
6
+ as: As;
7
+ kind: "one" | "many";
8
+ fk: string;
9
+ reverse?: boolean;
10
+ where: DataDict;
11
+ fields?: string[];
12
+ sort?: Sort;
13
+ limit?: number;
14
+ }>;
15
+ export type { With as default };
16
+ //# sourceMappingURL=With.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=With.js.map
@@ -0,0 +1,18 @@
1
+ import type As from "#db/As";
2
+ import type ReadArgs from "#db/ReadArgs";
3
+ import type ReadRelationsArgs from "#db/ReadRelationsArgs";
4
+ import type With from "#db/With";
5
+ import type { Dict } from "@rcompat/type";
6
+ declare const BASE: {
7
+ withed(args: ReadArgs & {
8
+ with?: With;
9
+ }): args is ReadRelationsArgs;
10
+ fields(base: string[] | undefined, ...add: (string | null)[]): string[] | undefined;
11
+ project(row: Dict, fields?: string[]): Dict;
12
+ expand(as: As, fields: string[] | undefined, relations: With): string[] | undefined;
13
+ BIGINT_STRING_TYPES: string[];
14
+ UNSIGNED_BIGINT_TYPES: string[];
15
+ INT_TYPES: string[];
16
+ };
17
+ export default BASE;
18
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1,36 @@
1
+ const UNSIGNED_BIGINT_TYPES = ["u64", "u128"];
2
+ const SIGNED_BIGINT_TYPES = ["i128"];
3
+ const BIGINT_STRING_TYPES = [...UNSIGNED_BIGINT_TYPES, ...SIGNED_BIGINT_TYPES];
4
+ const INT_TYPES = ["u8", "u16", "u32", "i8", "i16", "i32"];
5
+ const BASE = {
6
+ withed(args) {
7
+ return args.with !== undefined;
8
+ },
9
+ fields(base, ...add) {
10
+ if (base === undefined)
11
+ return undefined;
12
+ const set = new Set(base);
13
+ for (const f of add)
14
+ if (f !== null)
15
+ set.add(f);
16
+ return [...set];
17
+ },
18
+ project(row, fields) {
19
+ if (fields === undefined || fields.length === 0)
20
+ return { ...row };
21
+ const out = {};
22
+ for (const k of fields)
23
+ if (k in row)
24
+ out[k] = row[k];
25
+ return out;
26
+ },
27
+ expand(as, fields, relations) {
28
+ const fks = Object.values(relations).flatMap(r => r.reverse ? [r.fk] : []);
29
+ return BASE.fields(fields, as.pk, ...fks);
30
+ },
31
+ BIGINT_STRING_TYPES,
32
+ UNSIGNED_BIGINT_TYPES,
33
+ INT_TYPES,
34
+ };
35
+ export default BASE;
36
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1,81 @@
1
+ declare function db_missing(): import("../AppError.js").default;
2
+ declare function store_name_required(): import("../AppError.js").default;
3
+ declare function unregistered_schema(): import("../AppError.js").default;
4
+ declare function record_not_found(field: string, value: string | number | bigint): import("../AppError.js").default;
5
+ declare function key_duplicate(key: string): import("../AppError.js").default;
6
+ declare function pk_undefined(store: string): import("../AppError.js").default;
7
+ declare function pk_immutable(pk: string): import("../AppError.js").default;
8
+ declare function pk_duplicate(pk: string): import("../AppError.js").default;
9
+ declare function pk_invalid(pk: unknown): import("../AppError.js").default;
10
+ declare function pk_required(table: string): import("../AppError.js").default;
11
+ type Context = "select" | "where" | "sort" | "insert" | "set";
12
+ declare function field_unknown(field: string, context: Context): import("../AppError.js").default;
13
+ declare function field_duplicate(field: string, context: Context): import("../AppError.js").default;
14
+ declare function field_required(operator: string): import("../AppError.js").default;
15
+ declare function field_undefined(field: string, context: Context): import("../AppError.js").default;
16
+ declare function fields_unknown(fields: string[]): import("../AppError.js").default;
17
+ declare function null_not_allowed(field: string): import("../AppError.js").default;
18
+ declare function wrong_type(type: "string" | "number" | "bigint" | "boolean" | "url" | "date" | "blob", field: string, got: unknown, op?: string): import("../AppError.js").default;
19
+ declare function operator_unknown(field: string, operator: string): import("../AppError.js").default;
20
+ declare function operator_empty(field: string): import("../AppError.js").default;
21
+ declare function operator_scalar(field: string): import("../AppError.js").default;
22
+ declare function sort_empty(): import("../AppError.js").default;
23
+ declare function sort_invalid(): import("../AppError.js").default;
24
+ declare function sort_invalid_value(field: string, value: unknown): import("../AppError.js").default;
25
+ declare function select_empty(): import("../AppError.js").default;
26
+ declare function select_invalid(): import("../AppError.js").default;
27
+ declare function limit_invalid(): import("../AppError.js").default;
28
+ declare function select_invalid_value(index: number, x: unknown): import("../AppError.js").default;
29
+ declare function where_required(): import("../AppError.js").default;
30
+ declare function where_invalid(): import("../AppError.js").default;
31
+ declare function where_invalid_value(field: string, value: unknown): import("../AppError.js").default;
32
+ declare function set_empty(): import("../AppError.js").default;
33
+ declare function relation_unknown(relation: string): import("../AppError.js").default;
34
+ declare function relation_requires_pk(type: "target" | "parent"): import("../AppError.js").default;
35
+ declare function option_unknown(option: string): import("../AppError.js").default;
36
+ declare function identifier_invalid(identifier: string): import("../AppError.js").default;
37
+ declare function count_with_invalid(): import("../AppError.js").default;
38
+ declare function count_overflow(table: string, count: unknown): import("../AppError.js").default;
39
+ declare const errors: {
40
+ option_unknown: typeof option_unknown;
41
+ identifier_invalid: typeof identifier_invalid;
42
+ count_with_invalid: typeof count_with_invalid;
43
+ count_overflow: typeof count_overflow;
44
+ relation_unknown: typeof relation_unknown;
45
+ relation_requires_pk: typeof relation_requires_pk;
46
+ sort_empty: typeof sort_empty;
47
+ sort_invalid: typeof sort_invalid;
48
+ sort_invalid_value: typeof sort_invalid_value;
49
+ select_empty: typeof select_empty;
50
+ select_invalid: typeof select_invalid;
51
+ select_invalid_value: typeof select_invalid_value;
52
+ where_required: typeof where_required;
53
+ where_invalid: typeof where_invalid;
54
+ where_invalid_value: typeof where_invalid_value;
55
+ set_empty: typeof set_empty;
56
+ limit_invalid: typeof limit_invalid;
57
+ operator_unknown: typeof operator_unknown;
58
+ operator_empty: typeof operator_empty;
59
+ wrong_type: typeof wrong_type;
60
+ operator_scalar: typeof operator_scalar;
61
+ null_not_allowed: typeof null_not_allowed;
62
+ field_unknown: typeof field_unknown;
63
+ field_duplicate: typeof field_duplicate;
64
+ field_required: typeof field_required;
65
+ field_undefined: typeof field_undefined;
66
+ fields_unknown: typeof fields_unknown;
67
+ pk_undefined: typeof pk_undefined;
68
+ pk_immutable: typeof pk_immutable;
69
+ pk_duplicate: typeof pk_duplicate;
70
+ pk_invalid: typeof pk_invalid;
71
+ pk_required: typeof pk_required;
72
+ db_missing: typeof db_missing;
73
+ store_name_required: typeof store_name_required;
74
+ unregistered_schema: typeof unregistered_schema;
75
+ record_not_found: typeof record_not_found;
76
+ key_duplicate: typeof key_duplicate;
77
+ };
78
+ export type Code = keyof typeof errors;
79
+ export declare const Code: { [K in Code]: K; };
80
+ export default errors;
81
+ //# sourceMappingURL=error.d.ts.map