@primate/core 0.1.9 → 0.2.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 (572) hide show
  1. package/lib/private/App.d.ts +54 -0
  2. package/lib/private/App.js +128 -0
  3. package/lib/private/AppError.d.ts +4 -0
  4. package/lib/private/AppError.js +8 -0
  5. package/lib/private/Binder.d.ts +13 -0
  6. package/lib/private/Binder.js +2 -0
  7. package/lib/private/BindingContext.d.ts +3 -0
  8. package/lib/private/BindingContext.js +2 -0
  9. package/lib/private/BuildApp.d.ts +23 -0
  10. package/lib/private/BuildApp.js +121 -0
  11. package/lib/private/CSP.d.ts +6 -0
  12. package/lib/private/CSP.js +2 -0
  13. package/lib/private/Loader.d.ts +17 -0
  14. package/lib/private/Loader.js +46 -0
  15. package/lib/private/Mode.d.ts +3 -0
  16. package/lib/private/Mode.js +2 -0
  17. package/lib/private/Module.d.ts +18 -0
  18. package/lib/private/Module.js +18 -0
  19. package/lib/private/ServeApp.d.ts +89 -0
  20. package/lib/private/ServeApp.js +305 -0
  21. package/lib/private/ServeInit.d.ts +29 -0
  22. package/lib/private/ServeInit.js +2 -0
  23. package/lib/private/asset/Asset.d.ts +11 -0
  24. package/lib/private/asset/Asset.js +2 -0
  25. package/lib/private/asset/Font.d.ts +8 -0
  26. package/lib/private/asset/Font.js +2 -0
  27. package/lib/private/asset/Script.d.ts +9 -0
  28. package/lib/private/asset/Script.js +2 -0
  29. package/lib/private/asset/Style.d.ts +6 -0
  30. package/lib/private/asset/Style.js +2 -0
  31. package/lib/private/backend/Module.d.ts +18 -0
  32. package/lib/private/backend/Module.js +22 -0
  33. package/lib/private/build.d.ts +4 -0
  34. package/lib/private/build.js +45 -0
  35. package/lib/private/builtin/DevModule.d.ts +11 -0
  36. package/lib/private/builtin/DevModule.js +32 -0
  37. package/lib/private/builtin/HandleModule.d.ts +10 -0
  38. package/lib/private/builtin/HandleModule.js +15 -0
  39. package/lib/private/bye.d.ts +3 -0
  40. package/{src → lib}/private/bye.js +2 -2
  41. package/lib/private/client/App.d.ts +4 -0
  42. package/lib/private/client/App.js +12 -0
  43. package/lib/private/client/Data.d.ts +9 -0
  44. package/lib/private/client/Data.js +2 -0
  45. package/lib/private/client/ValidateInit.d.ts +13 -0
  46. package/lib/private/client/ValidateInit.js +2 -0
  47. package/lib/private/client/ValidateUpdater.d.ts +3 -0
  48. package/lib/private/client/ValidateUpdater.js +2 -0
  49. package/lib/private/client/ValidationError.d.ts +6 -0
  50. package/lib/private/client/ValidationError.js +2 -0
  51. package/lib/private/client/spa/index.d.ts +6 -0
  52. package/lib/private/client/spa/index.js +192 -0
  53. package/lib/private/client/spa/storage.d.ts +12 -0
  54. package/lib/private/client/spa/storage.js +54 -0
  55. package/lib/private/client/toValidated.d.ts +17 -0
  56. package/lib/private/client/toValidated.js +21 -0
  57. package/lib/private/client/validate.d.ts +3 -0
  58. package/lib/private/client/validate.js +54 -0
  59. package/lib/private/config/Config.d.ts +4 -0
  60. package/lib/private/config/Config.js +2 -0
  61. package/lib/private/config/config/app.d.ts +3 -0
  62. package/lib/private/config/config/app.js +3 -0
  63. package/lib/private/config/config/database/index.d.ts +3 -0
  64. package/lib/private/config/config/database/index.js +3 -0
  65. package/lib/private/config/config/session.d.ts +3 -0
  66. package/lib/private/config/config/session.js +3 -0
  67. package/lib/private/config/index.d.ts +25 -0
  68. package/lib/private/config/index.js +3 -0
  69. package/lib/private/config/schema.d.ts +26 -0
  70. package/lib/private/config/schema.js +34 -0
  71. package/lib/private/cookie.d.ts +11 -0
  72. package/lib/private/cookie.js +30 -0
  73. package/lib/private/database/As.d.ts +7 -0
  74. package/lib/private/database/As.js +2 -0
  75. package/lib/private/database/Binds.d.ts +4 -0
  76. package/lib/private/database/Binds.js +2 -0
  77. package/lib/private/database/Changes.d.ts +11 -0
  78. package/lib/private/database/Changes.js +2 -0
  79. package/lib/private/database/ColumnTypes.d.ts +11 -0
  80. package/lib/private/database/ColumnTypes.js +2 -0
  81. package/lib/private/database/DataDict.d.ts +5 -0
  82. package/lib/private/database/DataDict.js +2 -0
  83. package/lib/private/database/DataKey.d.ts +4 -0
  84. package/lib/private/database/DataKey.js +2 -0
  85. package/lib/private/database/DataRecord.d.ts +8 -0
  86. package/lib/private/database/DataRecord.js +3 -0
  87. package/lib/private/database/DataValue.d.ts +5 -0
  88. package/lib/private/database/DataValue.js +2 -0
  89. package/lib/private/database/Database.d.ts +56 -0
  90. package/lib/private/database/Database.js +153 -0
  91. package/lib/private/database/InMemoryDatabase.d.ts +37 -0
  92. package/lib/private/database/InMemoryDatabase.js +181 -0
  93. package/lib/private/database/Query.d.ts +14 -0
  94. package/lib/private/database/Query.js +15 -0
  95. package/lib/private/database/QueryBuilder.d.ts +14 -0
  96. package/lib/private/database/QueryBuilder.js +3 -0
  97. package/lib/private/database/Sort.d.ts +4 -0
  98. package/lib/private/database/Sort.js +2 -0
  99. package/lib/private/database/Store.d.ts +169 -0
  100. package/lib/private/database/Store.js +255 -0
  101. package/lib/private/database/TypeMap.d.ts +14 -0
  102. package/lib/private/database/TypeMap.js +2 -0
  103. package/lib/private/database/Types.d.ts +6 -0
  104. package/lib/private/database/Types.js +2 -0
  105. package/lib/private/database/primary.d.ts +3 -0
  106. package/lib/private/database/primary.js +2 -0
  107. package/lib/private/database/storage.d.ts +4 -0
  108. package/lib/private/database/storage.js +3 -0
  109. package/lib/private/database/symbol/wrap.d.ts +3 -0
  110. package/lib/private/database/symbol/wrap.js +2 -0
  111. package/lib/private/database/symbol.d.ts +3 -0
  112. package/lib/private/database/symbol.js +2 -0
  113. package/lib/private/database/test.d.ts +4 -0
  114. package/lib/private/database/test.js +678 -0
  115. package/lib/private/database/wrap.d.ts +5 -0
  116. package/lib/private/database/wrap.js +5 -0
  117. package/lib/private/fail.d.ts +3 -0
  118. package/lib/private/fail.js +5 -0
  119. package/lib/private/frontend/Component.d.ts +8 -0
  120. package/lib/private/frontend/Component.js +2 -0
  121. package/lib/private/frontend/Module.d.ts +60 -0
  122. package/lib/private/frontend/Module.js +241 -0
  123. package/lib/private/frontend/Publish.d.ts +5 -0
  124. package/lib/private/frontend/Publish.js +2 -0
  125. package/lib/private/frontend/Render.d.ts +9 -0
  126. package/lib/private/frontend/Render.js +2 -0
  127. package/lib/private/frontend/ServerComponent.d.ts +5 -0
  128. package/lib/private/frontend/ServerComponent.js +2 -0
  129. package/lib/private/frontend/ServerData.d.ts +7 -0
  130. package/lib/private/frontend/ServerData.js +2 -0
  131. package/lib/private/frontend/ViewOptions.d.ts +12 -0
  132. package/lib/private/frontend/ViewOptions.js +3 -0
  133. package/lib/private/frontend/ViewResponse.d.ts +6 -0
  134. package/lib/private/frontend/ViewResponse.js +2 -0
  135. package/lib/private/frontend/bundle-server.d.ts +11 -0
  136. package/lib/private/frontend/bundle-server.js +48 -0
  137. package/lib/private/hash.d.ts +3 -0
  138. package/lib/private/hash.js +10 -0
  139. package/lib/private/hook/build.d.ts +4 -0
  140. package/lib/private/hook/build.js +245 -0
  141. package/lib/private/hook/serve.d.ts +4 -0
  142. package/lib/private/hook/serve.js +13 -0
  143. package/lib/private/i18n/API.d.ts +21 -0
  144. package/lib/private/i18n/API.js +2 -0
  145. package/lib/private/i18n/Catalog.d.ts +4 -0
  146. package/lib/private/i18n/Catalog.js +2 -0
  147. package/lib/private/i18n/Catalogs.d.ts +4 -0
  148. package/lib/private/i18n/Catalogs.js +2 -0
  149. package/lib/private/i18n/Config.d.ts +10 -0
  150. package/lib/private/i18n/Config.js +2 -0
  151. package/lib/private/i18n/ContextData.d.ts +6 -0
  152. package/lib/private/i18n/ContextData.js +2 -0
  153. package/lib/private/i18n/Formatter.d.ts +18 -0
  154. package/lib/private/i18n/Formatter.js +108 -0
  155. package/lib/private/i18n/Module.d.ts +16 -0
  156. package/lib/private/i18n/Module.js +109 -0
  157. package/lib/private/i18n/PersistMode.d.ts +3 -0
  158. package/lib/private/i18n/PersistMode.js +2 -0
  159. package/lib/private/i18n/TypeOf.d.ts +4 -0
  160. package/lib/private/i18n/TypeOf.js +2 -0
  161. package/lib/private/i18n/constant/COOKIE_NAME.d.ts +3 -0
  162. package/lib/private/i18n/constant/COOKIE_NAME.js +2 -0
  163. package/lib/private/i18n/constant/DEFAULT_LOCALE.d.ts +3 -0
  164. package/lib/private/i18n/constant/DEFAULT_LOCALE.js +2 -0
  165. package/lib/private/i18n/constant/DEFAULT_PERSIST_MODE.d.ts +3 -0
  166. package/lib/private/i18n/constant/DEFAULT_PERSIST_MODE.js +2 -0
  167. package/lib/private/i18n/constant/PERSIST_HEADER.d.ts +3 -0
  168. package/lib/private/i18n/constant/PERSIST_HEADER.js +2 -0
  169. package/lib/private/i18n/constant/PERSIST_METHOD.d.ts +3 -0
  170. package/lib/private/i18n/constant/PERSIST_METHOD.js +2 -0
  171. package/lib/private/i18n/constant/PERSIST_STORAGE_KEY.d.ts +3 -0
  172. package/lib/private/i18n/constant/PERSIST_STORAGE_KEY.js +2 -0
  173. package/lib/private/i18n/index.d.ts +28 -0
  174. package/lib/private/i18n/index.js +236 -0
  175. package/lib/private/i18n/locale.d.ts +5 -0
  176. package/lib/private/i18n/locale.js +4 -0
  177. package/lib/private/i18n/ordinals.d.ts +4 -0
  178. package/lib/private/i18n/ordinals.js +52 -0
  179. package/lib/private/i18n/schema.d.ts +8 -0
  180. package/lib/private/i18n/schema.js +13 -0
  181. package/lib/private/i18n/symbol/internal.d.ts +3 -0
  182. package/lib/private/i18n/symbol/internal.js +3 -0
  183. package/lib/private/i18n/toIntlUnit.d.ts +3 -0
  184. package/lib/private/i18n/toIntlUnit.js +125 -0
  185. package/lib/private/inline.d.ts +7 -0
  186. package/lib/private/inline.js +12 -0
  187. package/lib/private/location.d.ts +17 -0
  188. package/lib/private/location.js +29 -0
  189. package/lib/private/log.d.ts +19 -0
  190. package/lib/private/log.js +46 -0
  191. package/lib/private/module/BuildHook.d.ts +5 -0
  192. package/lib/private/module/BuildHook.js +2 -0
  193. package/lib/private/module/Hook.d.ts +5 -0
  194. package/lib/private/module/Hook.js +2 -0
  195. package/lib/private/module/Next.d.ts +4 -0
  196. package/lib/private/module/Next.js +2 -0
  197. package/lib/private/module/NextBuild.d.ts +5 -0
  198. package/lib/private/module/NextBuild.js +2 -0
  199. package/lib/private/module/NextHandle.d.ts +5 -0
  200. package/lib/private/module/NextHandle.js +2 -0
  201. package/lib/private/module/NextRoute.d.ts +6 -0
  202. package/lib/private/module/NextRoute.js +2 -0
  203. package/lib/private/module/NextServe.d.ts +5 -0
  204. package/lib/private/module/NextServe.js +2 -0
  205. package/lib/private/module/RequestHook.d.ts +6 -0
  206. package/lib/private/module/RequestHook.js +2 -0
  207. package/lib/private/reducer.d.ts +24 -0
  208. package/lib/private/reducer.js +10 -0
  209. package/lib/private/request/RequestBag.d.ts +80 -0
  210. package/lib/private/request/RequestBag.js +119 -0
  211. package/lib/private/request/RequestBody.d.ts +39 -0
  212. package/lib/private/request/RequestBody.js +91 -0
  213. package/lib/private/request/RequestFacade.d.ts +20 -0
  214. package/lib/private/request/RequestFacade.js +2 -0
  215. package/lib/private/request/Verb.d.ts +4 -0
  216. package/lib/private/request/Verb.js +2 -0
  217. package/lib/private/request/parse.d.ts +4 -0
  218. package/lib/private/request/parse.js +69 -0
  219. package/lib/private/request/route.d.ts +4 -0
  220. package/lib/private/request/route.js +61 -0
  221. package/lib/private/request/router.d.ts +5 -0
  222. package/lib/private/request/router.js +56 -0
  223. package/lib/private/request/verbs.d.ts +3 -0
  224. package/lib/private/request/verbs.js +12 -0
  225. package/lib/private/response/ResponseFunction.d.ts +8 -0
  226. package/lib/private/response/ResponseFunction.js +2 -0
  227. package/lib/private/response/ResponseLike.d.ts +6 -0
  228. package/lib/private/response/ResponseLike.js +2 -0
  229. package/lib/private/response/binary.d.ts +10 -0
  230. package/lib/private/response/binary.js +47 -0
  231. package/lib/private/response/error.d.ts +18 -0
  232. package/lib/private/response/error.js +18 -0
  233. package/lib/private/response/json.d.ts +9 -0
  234. package/lib/private/response/json.js +10 -0
  235. package/lib/private/response/redirect.d.ts +11 -0
  236. package/lib/private/response/redirect.js +62 -0
  237. package/lib/private/response/respond.d.ts +5 -0
  238. package/lib/private/response/respond.js +31 -0
  239. package/lib/private/response/sse.d.ts +15 -0
  240. package/lib/private/response/sse.js +25 -0
  241. package/lib/private/response/text.d.ts +9 -0
  242. package/lib/private/response/text.js +11 -0
  243. package/lib/private/response/view.d.ts +11 -0
  244. package/lib/private/response/view.js +41 -0
  245. package/lib/private/response/ws.d.ts +5 -0
  246. package/lib/private/response/ws.js +2 -0
  247. package/lib/private/response.d.ts +5 -0
  248. package/lib/private/response.js +2 -0
  249. package/lib/private/route/Handler.d.ts +6 -0
  250. package/lib/private/route/Handler.js +2 -0
  251. package/lib/private/route/Options.d.ts +5 -0
  252. package/lib/private/route/Options.js +2 -0
  253. package/lib/private/route/Path.d.ts +11 -0
  254. package/lib/private/route/Path.js +2 -0
  255. package/lib/private/route/guard.d.ts +4 -0
  256. package/lib/private/route/guard.js +22 -0
  257. package/lib/private/route/router.d.ts +51 -0
  258. package/lib/private/route/router.js +32 -0
  259. package/lib/private/route/wrap.d.ts +6 -0
  260. package/lib/private/route/wrap.js +17 -0
  261. package/lib/private/route.d.ts +9 -0
  262. package/lib/private/route.js +6 -0
  263. package/lib/private/serve.d.ts +5 -0
  264. package/lib/private/serve.js +8 -0
  265. package/lib/private/session/Config.d.ts +4 -0
  266. package/lib/private/session/Config.js +2 -0
  267. package/lib/private/session/Data.d.ts +5 -0
  268. package/lib/private/session/Data.js +2 -0
  269. package/lib/private/session/InMemoryManager.d.ts +9 -0
  270. package/lib/private/session/InMemoryManager.js +23 -0
  271. package/lib/private/session/Manager.d.ts +9 -0
  272. package/lib/private/session/Manager.js +4 -0
  273. package/lib/private/session/SessionFacade.d.ts +56 -0
  274. package/lib/private/session/SessionFacade.js +2 -0
  275. package/lib/private/session/SessionHandle.d.ts +20 -0
  276. package/lib/private/session/SessionHandle.js +67 -0
  277. package/lib/private/session/SessionModule.d.ts +13 -0
  278. package/lib/private/session/SessionModule.js +99 -0
  279. package/lib/private/session/index.d.ts +13 -0
  280. package/lib/private/session/index.js +41 -0
  281. package/lib/private/session/k-serialize.d.ts +3 -0
  282. package/lib/private/session/k-serialize.js +2 -0
  283. package/lib/private/session/schema.d.ts +14 -0
  284. package/lib/private/session/schema.js +20 -0
  285. package/lib/private/session/storage.d.ts +5 -0
  286. package/lib/private/session/storage.js +5 -0
  287. package/lib/private/symbol/config.d.ts +3 -0
  288. package/lib/private/symbol/config.js +2 -0
  289. package/lib/private/symbol/layout-depth.d.ts +3 -0
  290. package/lib/private/symbol/layout-depth.js +2 -0
  291. package/lib/private/tags.d.ts +10 -0
  292. package/lib/private/tags.js +29 -0
  293. package/lib/private/target/Manager.d.ts +14 -0
  294. package/lib/private/target/Manager.js +44 -0
  295. package/lib/private/target/Target.d.ts +8 -0
  296. package/lib/private/target/Target.js +3 -0
  297. package/lib/private/target/web.d.ts +4 -0
  298. package/lib/private/target/web.js +68 -0
  299. package/lib/private/wasm/API.d.ts +7 -0
  300. package/lib/private/wasm/API.js +2 -0
  301. package/lib/private/wasm/BufferViewSource.d.ts +4 -0
  302. package/lib/private/wasm/BufferViewSource.js +2 -0
  303. package/lib/private/wasm/Exports.d.ts +23 -0
  304. package/lib/private/wasm/Exports.js +2 -0
  305. package/lib/private/wasm/I32.d.ts +5 -0
  306. package/lib/private/wasm/I32.js +2 -0
  307. package/lib/private/wasm/I32_SIZE.d.ts +3 -0
  308. package/lib/private/wasm/I32_SIZE.js +2 -0
  309. package/lib/private/wasm/Instantiation.d.ts +12 -0
  310. package/lib/private/wasm/Instantiation.js +2 -0
  311. package/lib/private/wasm/Tagged.d.ts +7 -0
  312. package/lib/private/wasm/Tagged.js +2 -0
  313. package/lib/private/wasm/buffersize.d.ts +2 -0
  314. package/lib/private/wasm/buffersize.js +5 -0
  315. package/lib/private/wasm/decode-bytes.d.ts +3 -0
  316. package/lib/private/wasm/decode-bytes.js +5 -0
  317. package/lib/private/wasm/decode-json.d.ts +7 -0
  318. package/lib/private/wasm/decode-json.js +11 -0
  319. package/lib/private/wasm/decode-option.d.ts +5 -0
  320. package/lib/private/wasm/decode-option.js +10 -0
  321. package/lib/private/wasm/decode-response.d.ts +19 -0
  322. package/lib/private/wasm/decode-response.js +90 -0
  323. package/lib/private/wasm/decode-string.d.ts +3 -0
  324. package/lib/private/wasm/decode-string.js +5 -0
  325. package/lib/private/wasm/decode-websocket-close.d.ts +5 -0
  326. package/lib/private/wasm/decode-websocket-close.js +6 -0
  327. package/lib/private/wasm/decode-websocket-send.d.ts +6 -0
  328. package/lib/private/wasm/decode-websocket-send.js +19 -0
  329. package/lib/private/wasm/encode-buffer.d.ts +3 -0
  330. package/lib/private/wasm/encode-buffer.js +6 -0
  331. package/lib/private/wasm/encode-request.d.ts +9 -0
  332. package/lib/private/wasm/encode-request.js +198 -0
  333. package/lib/private/wasm/encode-session.d.ts +3 -0
  334. package/lib/private/wasm/encode-session.js +25 -0
  335. package/lib/private/wasm/encode-string-map.d.ts +5 -0
  336. package/lib/private/wasm/encode-string-map.js +14 -0
  337. package/lib/private/wasm/encode-string.d.ts +13 -0
  338. package/lib/private/wasm/encode-string.js +17 -0
  339. package/lib/private/wasm/encode-url.d.ts +11 -0
  340. package/lib/private/wasm/encode-url.js +14 -0
  341. package/lib/private/wasm/encode-websocket-close.d.ts +2 -0
  342. package/lib/private/wasm/encode-websocket-close.js +7 -0
  343. package/lib/private/wasm/encode-websocket-message.d.ts +4 -0
  344. package/lib/private/wasm/encode-websocket-message.js +30 -0
  345. package/lib/private/wasm/encode-websocket-open.d.ts +2 -0
  346. package/lib/private/wasm/encode-websocket-open.js +7 -0
  347. package/lib/private/wasm/filesize.d.ts +2 -0
  348. package/lib/private/wasm/filesize.js +8 -0
  349. package/lib/private/wasm/instantiate.d.ts +37 -0
  350. package/lib/private/wasm/instantiate.js +408 -0
  351. package/lib/private/wasm/open-websocket.d.ts +4 -0
  352. package/lib/private/wasm/open-websocket.js +26 -0
  353. package/lib/private/wasm/stringsize.d.ts +3 -0
  354. package/lib/private/wasm/stringsize.js +5 -0
  355. package/lib/private/wasm/urlsize.d.ts +2 -0
  356. package/lib/private/wasm/urlsize.js +5 -0
  357. package/lib/public/App.d.ts +2 -0
  358. package/lib/public/App.js +2 -0
  359. package/lib/public/AppError.d.ts +2 -0
  360. package/lib/public/AppError.js +2 -0
  361. package/lib/public/BuildApp.d.ts +2 -0
  362. package/lib/public/BuildApp.js +2 -0
  363. package/lib/public/BuildHook.d.ts +2 -0
  364. package/lib/public/BuildHook.js +2 -0
  365. package/lib/public/Database.d.ts +2 -0
  366. package/lib/public/Database.js +2 -0
  367. package/lib/public/Loader.d.ts +2 -0
  368. package/lib/public/Loader.js +2 -0
  369. package/lib/public/Mode.d.ts +2 -0
  370. package/lib/public/Mode.js +2 -0
  371. package/lib/public/Module.d.ts +2 -0
  372. package/lib/public/Module.js +2 -0
  373. package/lib/public/Next.d.ts +2 -0
  374. package/lib/public/Next.js +2 -0
  375. package/lib/public/NextBuild.d.ts +2 -0
  376. package/lib/public/NextBuild.js +2 -0
  377. package/lib/public/NextHandle.d.ts +2 -0
  378. package/lib/public/NextHandle.js +2 -0
  379. package/lib/public/NextRoute.d.ts +3 -0
  380. package/lib/public/NextRoute.js +2 -0
  381. package/lib/public/NextServe.d.ts +2 -0
  382. package/lib/public/NextServe.js +2 -0
  383. package/lib/public/ServeApp.d.ts +2 -0
  384. package/lib/public/ServeApp.js +2 -0
  385. package/lib/public/Target.d.ts +2 -0
  386. package/lib/public/Target.js +2 -0
  387. package/lib/public/backend/Module.d.ts +2 -0
  388. package/lib/public/backend/Module.js +2 -0
  389. package/lib/public/build.d.ts +2 -0
  390. package/lib/public/build.js +2 -0
  391. package/lib/public/client/App.d.ts +2 -0
  392. package/lib/public/client/App.js +2 -0
  393. package/lib/public/client/Data.d.ts +2 -0
  394. package/lib/public/client/Data.js +2 -0
  395. package/lib/public/client/ValidateInit.d.ts +2 -0
  396. package/lib/public/client/ValidateInit.js +2 -0
  397. package/lib/public/client/ValidateUpdater.d.ts +2 -0
  398. package/lib/public/client/ValidateUpdater.js +2 -0
  399. package/lib/public/client/ValidationError.d.ts +2 -0
  400. package/lib/public/client/ValidationError.js +2 -0
  401. package/lib/public/client/spa.d.ts +2 -0
  402. package/lib/public/client/spa.js +2 -0
  403. package/lib/public/client/toValidated.d.ts +2 -0
  404. package/lib/public/client/toValidated.js +2 -0
  405. package/lib/public/client/validate.d.ts +2 -0
  406. package/lib/public/client/validate.js +2 -0
  407. package/lib/public/config.d.ts +2 -0
  408. package/lib/public/config.js +2 -0
  409. package/lib/public/database/As.d.ts +2 -0
  410. package/lib/public/database/As.js +2 -0
  411. package/lib/public/database/DataDict.d.ts +2 -0
  412. package/lib/public/database/DataDict.js +2 -0
  413. package/lib/public/database/InMemoryDatabase.d.ts +2 -0
  414. package/lib/public/database/InMemoryDatabase.js +2 -0
  415. package/lib/public/database/Sort.d.ts +2 -0
  416. package/lib/public/database/Sort.js +2 -0
  417. package/lib/public/database/Store.d.ts +2 -0
  418. package/lib/public/database/Store.js +2 -0
  419. package/lib/public/database/TypeMap.d.ts +2 -0
  420. package/lib/public/database/TypeMap.js +2 -0
  421. package/lib/public/database/Types.d.ts +2 -0
  422. package/lib/public/database/Types.js +2 -0
  423. package/lib/public/database/test.d.ts +2 -0
  424. package/lib/public/database/test.js +2 -0
  425. package/lib/public/database/wrap.d.ts +2 -0
  426. package/lib/public/database/wrap.js +2 -0
  427. package/lib/public/frontend/Module.d.ts +2 -0
  428. package/lib/public/frontend/Module.js +2 -0
  429. package/lib/public/frontend/Publish.d.ts +2 -0
  430. package/lib/public/frontend/Publish.js +2 -0
  431. package/lib/public/frontend/Render.d.ts +2 -0
  432. package/lib/public/frontend/Render.js +2 -0
  433. package/lib/public/frontend/ViewResponse.d.ts +2 -0
  434. package/lib/public/frontend/ViewResponse.js +2 -0
  435. package/lib/public/i18n/API.d.ts +2 -0
  436. package/lib/public/i18n/API.js +2 -0
  437. package/lib/public/i18n/Catalogs.d.ts +2 -0
  438. package/lib/public/i18n/Catalogs.js +2 -0
  439. package/lib/public/i18n/ContextData.d.ts +2 -0
  440. package/lib/public/i18n/ContextData.js +2 -0
  441. package/lib/public/i18n/config.d.ts +2 -0
  442. package/lib/public/i18n/config.js +2 -0
  443. package/lib/public/i18n/locale.d.ts +2 -0
  444. package/lib/public/i18n/locale.js +2 -0
  445. package/lib/public/i18n/sInternal.d.ts +2 -0
  446. package/lib/public/i18n/sInternal.js +2 -0
  447. package/lib/public/inline.d.ts +2 -0
  448. package/lib/public/inline.js +2 -0
  449. package/lib/public/location.d.ts +2 -0
  450. package/lib/public/location.js +2 -0
  451. package/lib/public/log.d.ts +2 -0
  452. package/{src/log/index.js → lib/public/log.js} +1 -0
  453. package/lib/public/request/RequestBody.d.ts +2 -0
  454. package/lib/public/request/RequestBody.js +2 -0
  455. package/lib/public/request/RequestFacade.d.ts +2 -0
  456. package/lib/public/request/RequestFacade.js +2 -0
  457. package/lib/public/request/Verb.d.ts +2 -0
  458. package/lib/public/request/Verb.js +2 -0
  459. package/lib/public/request/verbs.d.ts +2 -0
  460. package/lib/public/request/verbs.js +2 -0
  461. package/lib/public/response/ResponseFunction.d.ts +2 -0
  462. package/lib/public/response/ResponseFunction.js +2 -0
  463. package/lib/public/response/ResponseLike.d.ts +2 -0
  464. package/lib/public/response/ResponseLike.js +2 -0
  465. package/lib/public/response/binary.d.ts +2 -0
  466. package/lib/public/response/binary.js +2 -0
  467. package/lib/public/response/error.d.ts +2 -0
  468. package/lib/public/response/error.js +2 -0
  469. package/lib/public/response/json.d.ts +2 -0
  470. package/lib/public/response/json.js +2 -0
  471. package/lib/public/response/redirect.d.ts +2 -0
  472. package/lib/public/response/redirect.js +2 -0
  473. package/lib/public/response/sse.d.ts +2 -0
  474. package/lib/public/response/sse.js +2 -0
  475. package/lib/public/response/text.d.ts +2 -0
  476. package/lib/public/response/text.js +2 -0
  477. package/lib/public/response/view.d.ts +2 -0
  478. package/lib/public/response/view.js +2 -0
  479. package/lib/public/response/ws.d.ts +2 -0
  480. package/lib/public/response/ws.js +2 -0
  481. package/lib/public/route/router.d.ts +2 -0
  482. package/lib/public/route/router.js +2 -0
  483. package/lib/public/route/wrap.d.ts +2 -0
  484. package/lib/public/route/wrap.js +2 -0
  485. package/lib/public/route.d.ts +2 -0
  486. package/lib/public/route.js +2 -0
  487. package/lib/public/serve.d.ts +2 -0
  488. package/lib/public/serve.js +2 -0
  489. package/lib/public/session/Manager.d.ts +2 -0
  490. package/lib/public/session/Manager.js +2 -0
  491. package/lib/public/session/config.d.ts +2 -0
  492. package/lib/public/session/config.js +2 -0
  493. package/lib/public/symbol/config.d.ts +2 -0
  494. package/lib/public/symbol/config.js +2 -0
  495. package/lib/public/wasm/decode-json.d.ts +5 -0
  496. package/lib/public/wasm/decode-json.js +3 -0
  497. package/lib/public/wasm/decode-response.d.ts +3 -0
  498. package/lib/public/wasm/decode-response.js +3 -0
  499. package/lib/public/wasm/encode-request.d.ts +3 -0
  500. package/lib/public/wasm/encode-request.js +3 -0
  501. package/lib/public/wasm/encode-session.d.ts +3 -0
  502. package/lib/public/wasm/encode-session.js +3 -0
  503. package/lib/public/wasm/instantiate.d.ts +4 -0
  504. package/lib/public/wasm/instantiate.js +3 -0
  505. package/package.json +41 -35
  506. package/src/build/app.js +0 -99
  507. package/src/build/hook/build.js +0 -188
  508. package/src/build/hook/copy_includes.js +0 -20
  509. package/src/build/hook/exports.js +0 -2
  510. package/src/build/hook/init.js +0 -3
  511. package/src/build/hook/router.js +0 -33
  512. package/src/build/index.js +0 -49
  513. package/src/build/module_loader.js +0 -30
  514. package/src/build/targets/exports.js +0 -1
  515. package/src/build/targets/web.js +0 -70
  516. package/src/dispatch/index.js +0 -1
  517. package/src/http/verbs.js +0 -11
  518. package/src/private/config-filename.js +0 -1
  519. package/src/private/config.js +0 -48
  520. package/src/private/depend.js +0 -20
  521. package/src/private/dispatch.js +0 -18
  522. package/src/private/error/bad-body.js +0 -6
  523. package/src/private/error/bad-default-export.js +0 -6
  524. package/src/private/error/bad-path.js +0 -6
  525. package/src/private/error/bad-type-export.js +0 -6
  526. package/src/private/error/bad-type-name.js +0 -6
  527. package/src/private/error/double-extension.js +0 -6
  528. package/src/private/error/double-module.js +0 -6
  529. package/src/private/error/double-path-parameter.js +0 -6
  530. package/src/private/error/double-route.js +0 -6
  531. package/src/private/error/empty-config-file.js +0 -6
  532. package/src/private/error/empty-directory.js +0 -6
  533. package/src/private/error/empty-path-parameter.js +0 -6
  534. package/src/private/error/empty-route-file.js +0 -6
  535. package/src/private/error/error-in-config-file.js +0 -6
  536. package/src/private/error/mismatched-body.js +0 -6
  537. package/src/private/error/mismatched-path.js +0 -6
  538. package/src/private/error/mismatched-type.js +0 -6
  539. package/src/private/error/module-no-name.js +0 -6
  540. package/src/private/error/modules-array.js +0 -6
  541. package/src/private/error/no-handler.js +0 -6
  542. package/src/private/error/no-route-to-path.js +0 -6
  543. package/src/private/error/optional-route.js +0 -6
  544. package/src/private/error/reserved-type-name.js +0 -6
  545. package/src/private/error/rest-route.js +0 -6
  546. package/src/private/error.js +0 -15
  547. package/src/private/log.js +0 -69
  548. package/src/private/loglevel.js +0 -9
  549. package/src/private/mark.js +0 -5
  550. package/src/private/validate.js +0 -11
  551. package/src/serve/app.js +0 -206
  552. package/src/serve/handler/error.js +0 -10
  553. package/src/serve/handler/json.js +0 -10
  554. package/src/serve/handler/redirect.js +0 -11
  555. package/src/serve/handler/shared/base.js +0 -4
  556. package/src/serve/handler/sse.js +0 -24
  557. package/src/serve/handler/stream.js +0 -4
  558. package/src/serve/handler/text.js +0 -10
  559. package/src/serve/handler/view.js +0 -15
  560. package/src/serve/handler/ws.js +0 -2
  561. package/src/serve/hook/exports.js +0 -5
  562. package/src/serve/hook/handle.js +0 -106
  563. package/src/serve/hook/init.js +0 -3
  564. package/src/serve/hook/parse.js +0 -17
  565. package/src/serve/hook/respond.js +0 -28
  566. package/src/serve/hook/route.js +0 -50
  567. package/src/serve/hook/serve.js +0 -53
  568. package/src/serve/index.js +0 -9
  569. package/src/serve/module_loader.js +0 -16
  570. package/src/serve/to_sorted.js +0 -1
  571. /package/{src/build → lib/private}/defaults/app.html +0 -0
  572. /package/{src/build → lib/private}/defaults/error.html +0 -0
@@ -0,0 +1,2 @@
1
+ export default "primate-i18n";
2
+ //# sourceMappingURL=PERSIST_STORAGE_KEY.js.map
@@ -0,0 +1,28 @@
1
+ import type API from "#i18n/API";
2
+ import type Catalog from "#i18n/Catalog";
3
+ import type Catalogs from "#i18n/Catalogs";
4
+ import type Config from "#i18n/Config";
5
+ import type TypeOf from "#i18n/TypeOf";
6
+ import type Dict from "@rcompat/type/Dict";
7
+ type EntryOf<Body extends string> = Body extends `${infer Name}:${infer Spec}` ? {
8
+ __name: Name & string;
9
+ __type: TypeOf<Spec>;
10
+ } : {
11
+ __name: Body & string;
12
+ __type: string;
13
+ };
14
+ type EntriesOf<S extends string> = S extends `${infer _}{${infer Body}}${infer Rest}` ? EntryOf<Body> | EntriesOf<Rest> : never;
15
+ type ParamsFromEntries<E> = [
16
+ E
17
+ ] extends [never] ? Dict : {
18
+ [K in E as K extends {
19
+ __name: infer N extends string;
20
+ } ? N : never]: K extends {
21
+ __type: infer T;
22
+ } ? T : never;
23
+ };
24
+ export default function i18n<const C extends Catalogs>(config: Config<C>): (<K extends string>(...args: K extends keyof (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) & string ? [EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>] extends [never] ? [key: K] : [key: K, params: ParamsFromEntries<EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>>] : [`[i18n] Missing locale key "${K}".`]) => string) & API<C> & {
25
+ subscribe(run: (value: (<K extends string>(...args: K extends keyof (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) & string ? [EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>] extends [never] ? [key: K] : [key: K, params: ParamsFromEntries<EntriesOf<(C[keyof C & string] extends Catalog ? C[keyof C & string] : never)[K]>>] : [`[i18n] Missing locale key "${K}".`]) => string) & API<C>) => void): () => void;
26
+ };
27
+ export {};
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,236 @@
1
+ import DEFAULT_PERSIST_MODE from "#i18n/constant/DEFAULT_PERSIST_MODE";
2
+ import PERSIST_HEADER from "#i18n/constant/PERSIST_HEADER";
3
+ import PERSIST_METHOD from "#i18n/constant/PERSIST_METHOD";
4
+ import PERSIST_STORAGE_KEY from "#i18n/constant/PERSIST_STORAGE_KEY";
5
+ import Formatter from "#i18n/Formatter";
6
+ import sInternal from "#i18n/symbol/internal";
7
+ import sConfig from "#symbol/config";
8
+ export default function i18n(config) {
9
+ const catalogs = config.locales;
10
+ let activeLocale = config.defaultLocale;
11
+ const currency = config.currency ?? "USD";
12
+ const formatter = new Formatter(activeLocale);
13
+ const defaultCatalog = catalogs[config.defaultLocale];
14
+ // reactive core
15
+ let version = 0;
16
+ const subscribers = new Set();
17
+ const touch = () => {
18
+ for (const subscriber of subscribers) {
19
+ try {
20
+ subscriber();
21
+ }
22
+ catch {
23
+ // ignore
24
+ }
25
+ }
26
+ };
27
+ let persistFn;
28
+ let loading = null;
29
+ const listeners = new Set();
30
+ const notify = (locale) => {
31
+ for (const fn of listeners)
32
+ fn(locale);
33
+ };
34
+ function apply(locale, options = {}) {
35
+ const { emit = false, persist = false } = options;
36
+ if (locale === activeLocale)
37
+ return;
38
+ activeLocale = locale;
39
+ formatter.locale = locale;
40
+ version++;
41
+ if (emit)
42
+ notify(locale);
43
+ if (persist && persistFn) {
44
+ const run = async (l) => { await persistFn(l); };
45
+ loading = run(locale)
46
+ .catch(e => { console.warn("[i18n]: persist failed", e); })
47
+ .finally(() => {
48
+ loading = null;
49
+ version++;
50
+ notify(activeLocale);
51
+ });
52
+ }
53
+ }
54
+ const set = (locale) => apply(locale, {
55
+ emit: true, persist: true,
56
+ });
57
+ const init = (locale) => apply(locale);
58
+ if (typeof window !== "undefined") {
59
+ const mode = config.persist ?? DEFAULT_PERSIST_MODE;
60
+ if (mode === "cookie") {
61
+ persistFn = async (locale) => {
62
+ const res = await fetch("/", {
63
+ method: PERSIST_METHOD, headers: { [PERSIST_HEADER]: locale },
64
+ });
65
+ if (!res.ok)
66
+ throw new Error(`[i18n] persist failed: ${res.status}`);
67
+ };
68
+ }
69
+ else if (mode === "localStorage") {
70
+ persistFn = (locale) => {
71
+ try {
72
+ localStorage.setItem(PERSIST_STORAGE_KEY, locale);
73
+ }
74
+ catch { } // ignore
75
+ };
76
+ }
77
+ else if (mode === "sessionStorage") {
78
+ persistFn = (locale) => {
79
+ try {
80
+ sessionStorage.setItem(PERSIST_STORAGE_KEY, locale);
81
+ }
82
+ catch { } // ignore
83
+ };
84
+ } // no persistence
85
+ }
86
+ function storageRestore() {
87
+ if (typeof window === "undefined")
88
+ return;
89
+ const mode = config.persist ?? DEFAULT_PERSIST_MODE;
90
+ if (mode === "localStorage" || mode === "sessionStorage") {
91
+ try {
92
+ const store = mode === "localStorage" ? localStorage : sessionStorage;
93
+ const saved = store.getItem(PERSIST_STORAGE_KEY);
94
+ if (saved && saved in catalogs) {
95
+ set(saved);
96
+ }
97
+ }
98
+ catch { } //
99
+ }
100
+ }
101
+ function t(...args) {
102
+ touch(); // reactive read
103
+ const [key, maybeParams] = args;
104
+ const active = catalogs[activeLocale];
105
+ let template = (active && active[key]) ??
106
+ (defaultCatalog && defaultCatalog[key]) ??
107
+ String(key);
108
+ const params = (maybeParams ?? {});
109
+ // save escaped braces
110
+ template = template.replace(/\{\{/g, "\uE000");
111
+ template = template.replace(/\}\}/g, "\uE001");
112
+ // Process normal parameters with nested brace support
113
+ const template_re = /\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;
114
+ template = template.replace(template_re, (_, body) => {
115
+ // name[:spec]
116
+ let name = body;
117
+ let spec;
118
+ const colon = body.indexOf(":");
119
+ if (colon >= 0) {
120
+ name = body.slice(0, colon);
121
+ spec = body.slice(colon + 1);
122
+ }
123
+ const value = params[name];
124
+ if (!spec)
125
+ return value == null ? "" : String(value);
126
+ // number selection: "n|one|other" or "n|zero|one|other"
127
+ const bar = spec.indexOf("|");
128
+ const head = (bar === -1 ? spec : spec.slice(0, bar)).toLowerCase();
129
+ const tail = bar === -1 ? "" : spec.slice(bar + 1);
130
+ // units u(...)/unit(...)
131
+ const m = /^(?:u|unit)\(([^)]+)\)$/.exec(head);
132
+ if (m)
133
+ return formatter.unit(Number(value ?? 0), m[1]);
134
+ switch (head) {
135
+ case "n":
136
+ case "number": {
137
+ if (tail) {
138
+ const options = tail.split("|");
139
+ const n = Number(value ?? 0);
140
+ const formatted = formatter.number(n);
141
+ const plural = () => {
142
+ const category = Number.isFinite(n)
143
+ ? formatter.pluralRules().select(n)
144
+ : "other";
145
+ if (options.length === 2) {
146
+ const [one, other] = options;
147
+ return category === "one" ? one : other;
148
+ }
149
+ if (options.length === 3) {
150
+ const [zero, one, other] = options;
151
+ return n === 0 ? zero : (category === "one" ? one : other);
152
+ }
153
+ if (options.length === 5) {
154
+ const [zero, one, few, many, other] = options;
155
+ if (n === 0)
156
+ return zero;
157
+ switch (category) {
158
+ case "one": return one;
159
+ case "few": return few;
160
+ case "many": return many;
161
+ default: return other;
162
+ }
163
+ }
164
+ return formatted;
165
+ };
166
+ return plural().replace(new RegExp(`\\{${name}\\}`, "g"), formatted);
167
+ }
168
+ return formatter.number(Number(value ?? 0));
169
+ }
170
+ case "d":
171
+ case "date": {
172
+ const d = typeof value === "number"
173
+ ? new Date(value)
174
+ : value instanceof Date ? value : new Date(NaN);
175
+ return formatter.date(d);
176
+ }
177
+ case "c":
178
+ case "currency":
179
+ return formatter.currency(currency, Number(value ?? 0));
180
+ case "o":
181
+ case "ordinal":
182
+ return formatter.ordinal(Number(value ?? 0));
183
+ case "a":
184
+ case "ago":
185
+ return formatter.relative(Number(value ?? 0));
186
+ case "l":
187
+ case "list":
188
+ return formatter.list(Array.isArray(value) ? value : []);
189
+ default:
190
+ return value == null ? "" : String(value);
191
+ }
192
+ });
193
+ // restore escaped braces
194
+ template = template.replace(/\uE000/g, "{");
195
+ template = template.replace(/\uE001/g, "}");
196
+ return template;
197
+ }
198
+ const api = t;
199
+ api.onChange = (fn) => {
200
+ listeners.add(fn);
201
+ try {
202
+ fn(activeLocale);
203
+ }
204
+ catch { } // ignore
205
+ return () => { listeners.delete(fn); };
206
+ };
207
+ api.locale = {
208
+ get: () => { touch(); return activeLocale; },
209
+ set,
210
+ };
211
+ Object.defineProperty(api, "loading", {
212
+ get: () => { touch(); return loading !== null; },
213
+ });
214
+ Object.defineProperty(api, sConfig, {
215
+ get: () => config,
216
+ });
217
+ Object.defineProperty(api, sInternal, {
218
+ value: {
219
+ init,
220
+ wait: () => loading ?? Promise.resolve(),
221
+ depend(fn) {
222
+ subscribers.add(fn);
223
+ return () => subscribers.delete(fn);
224
+ },
225
+ get version() { return version; },
226
+ touch,
227
+ restore: storageRestore,
228
+ },
229
+ });
230
+ // svelte-style store interface
231
+ api.subscribe = (run) => {
232
+ return api.onChange(() => run(api));
233
+ };
234
+ return api;
235
+ }
236
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ import type Dict from "@rcompat/type/Dict";
2
+ type MessageMap = Dict<string>;
3
+ export default function locale<const M extends MessageMap>(messages: M): M;
4
+ export {};
5
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1,4 @@
1
+ export default function locale(messages) {
2
+ return messages;
3
+ }
4
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1,4 @@
1
+ import type Dict from "@rcompat/type/Dict";
2
+ declare const ordinals: Dict<Dict<string>>;
3
+ export default ordinals;
4
+ //# sourceMappingURL=ordinals.d.ts.map
@@ -0,0 +1,52 @@
1
+ const STRATEGY = {
2
+ EN: { position: "suffix", one: "st", two: "nd", few: "rd", other: "th" },
3
+ FR: { position: "suffix", one: "er", other: "e" },
4
+ NL: { position: "suffix", other: "e" },
5
+ SV: { position: "suffix", one: ":a", other: ":e" },
6
+ RU: { position: "suffix", other: "-й" },
7
+ EL: { position: "suffix", other: "ος" },
8
+ CA: { position: "suffix", one: "r", other: "a" },
9
+ GA: { position: "suffix", other: "ú" },
10
+ RO: { position: "suffix", one: "-lea", other: "-lea" },
11
+ HY: { position: "suffix", one: "-ին", other: "-րդ" },
12
+ DOT: { position: "suffix", other: "." },
13
+ NUMERO: { position: "suffix", other: "º" },
14
+ JA: { position: "prefix", other: "第" },
15
+ ZH: { position: "prefix", other: "第" },
16
+ TH: { position: "prefix", other: "ที่" },
17
+ VI: { position: "prefix", other: "thứ " },
18
+ MS: { position: "prefix", other: "ke-" },
19
+ };
20
+ const ordinals = Object.fromEntries(Object.entries({
21
+ EN: ["en"], // English
22
+ FR: ["fr"], // French
23
+ NL: ["nl"], // Dutch
24
+ SV: ["sv"], // Swedish
25
+ GA: ["ga"], // Irish
26
+ EL: ["el"], // Greek
27
+ RO: ["ro"], // Romanian
28
+ JA: ["ja"], // Japanese
29
+ ZH: ["zh"], // Chinese
30
+ TH: ["th"], // Thai
31
+ VI: ["vi"], // Vietnamese
32
+ HY: ["hy"], // Armenian
33
+ RU: ["ru", "uk", "be"], // Russian Ukrainian Belarusian
34
+ MS: ["ms", "id"], // Malay Indonesian
35
+ NUMERO: ["es", "it", "pt", "gl"], // Spanish Italian Portuguese Galician
36
+ DOT: [
37
+ // German Danish Norwegian Icelandic
38
+ "de", "da", "no", "is",
39
+ // Polish Czech Slovak
40
+ "pl", "cs", "sk",
41
+ // Serbian Croatian Bosnian Slovenian Macedonian
42
+ "sr", "hr", "bs", "sl", "mk",
43
+ // Latvian Lithuanian
44
+ "lv", "lt",
45
+ // Finnish Estonian Hungarian Turkish
46
+ "fi", "et", "hu", "tr",
47
+ // Albanian
48
+ "sq",
49
+ ],
50
+ }).flatMap(([strategy, locales]) => locales.map(l => [l, STRATEGY[strategy]])));
51
+ export default ordinals;
52
+ //# sourceMappingURL=ordinals.js.map
@@ -0,0 +1,8 @@
1
+ declare const _default: import("pema").ObjectType<{
2
+ defaultLocale: import("pema/string").StringType;
3
+ locales: import("pema/record").RecordType<import("pema/string").StringType, import("pema/unknown").UnknownType>;
4
+ currency: import("pema").DefaultType<import("pema/string").StringType, "USD">;
5
+ persist: import("pema").DefaultType<import("pema/union").UnionType<[import("pema").LiteralType<"cookie">, import("pema").LiteralType<"localStorage">, import("pema").LiteralType<"sessionStorage">, import("pema").LiteralType<false>]>, false | "cookie" | "localStorage" | "sessionStorage">;
6
+ }>;
7
+ export default _default;
8
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1,13 @@
1
+ import pema from "pema";
2
+ import record from "pema/record";
3
+ import string from "pema/string";
4
+ import union from "pema/union";
5
+ import unknown from "pema/unknown";
6
+ export default pema({
7
+ defaultLocale: string,
8
+ locales: record(string, unknown),
9
+ currency: string.default("USD"),
10
+ persist: union("cookie", "localStorage", "sessionStorage", false)
11
+ .default("cookie"),
12
+ });
13
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1,3 @@
1
+ declare const sInternal: unique symbol;
2
+ export default sInternal;
3
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1,3 @@
1
+ const sInternal = Symbol("i18n/internal");
2
+ export default sInternal;
3
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1,3 @@
1
+ declare function toIntlUnit(unit: string): Intl.NumberFormatOptions["unit"];
2
+ export default toIntlUnit;
3
+ //# sourceMappingURL=toIntlUnit.d.ts.map
@@ -0,0 +1,125 @@
1
+ function toIntlUnit(unit) {
2
+ const map = {
3
+ // length
4
+ mm: "millimeter", millimeter: "millimeter",
5
+ cm: "centimeter", centimeter: "centimeter",
6
+ m: "meter", meter: "meter",
7
+ km: "kilometer", kilometer: "kilometer",
8
+ in: "inch", inch: "inch",
9
+ ft: "foot", foot: "foot",
10
+ yd: "yard", yard: "yard",
11
+ mi: "mile", mile: "mile",
12
+ "mile-scandinavian": "mile-scandinavian",
13
+ // area
14
+ m2: "square-meter", "m^2": "square-meter",
15
+ km2: "square-kilometer", "km^2": "square-kilometer",
16
+ cm2: "square-centimeter", "cm^2": "square-centimeter",
17
+ mm2: "square-millimeter", "mm^2": "square-millimeter",
18
+ in2: "square-inch", "in^2": "square-inch",
19
+ ft2: "square-foot", "ft^2": "square-foot",
20
+ yd2: "square-yard", "yd^2": "square-yard",
21
+ mi2: "square-mile", "mi^2": "square-mile",
22
+ acre: "acre", hectare: "hectare", ha: "hectare",
23
+ // volume
24
+ l: "liter", liter: "liter", litre: "liter",
25
+ ml: "milliliter", milliliter: "milliliter", millilitre: "milliliter",
26
+ cl: "centiliter", centiliter: "centiliter",
27
+ dl: "deciliter", deciliter: "deciliter",
28
+ gal: "gallon", gallon: "gallon",
29
+ qt: "quart", quart: "quart",
30
+ pt: "pint", pint: "pint",
31
+ cup: "cup",
32
+ "fl-oz": "fluid-ounce", floz: "fluid-ounce",
33
+ tbsp: "tablespoon", tablespoon: "tablespoon",
34
+ tsp: "teaspoon", teaspoon: "teaspoon",
35
+ // mass/weight
36
+ g: "gram", gram: "gram",
37
+ kg: "kilogram", kilogram: "kilogram",
38
+ mg: "milligram", milligram: "milligram",
39
+ oz: "ounce", ounce: "ounce",
40
+ lb: "pound", pound: "pound", lbs: "pound",
41
+ stone: "stone", st: "stone",
42
+ ton: "ton", tonne: "tonne", t: "tonne",
43
+ // temperature
44
+ c: "celsius", celsius: "celsius",
45
+ f: "fahrenheit", fahrenheit: "fahrenheit",
46
+ k: "kelvin", kelvin: "kelvin",
47
+ // speed/velocity
48
+ "km/h": "kilometer-per-hour", kmh: "kilometer-per-hour", kph: "kilometer-per-hour",
49
+ mph: "mile-per-hour", "mi/h": "mile-per-hour",
50
+ "m/s": "meter-per-second", mps: "meter-per-second",
51
+ "ft/s": "foot-per-second", fps: "foot-per-second",
52
+ knot: "knot", kn: "knot",
53
+ // duration/time
54
+ ms: "millisecond", millisecond: "millisecond", msec: "millisecond",
55
+ s: "second", sec: "second", second: "second",
56
+ min: "minute", minute: "minute",
57
+ h: "hour", hr: "hour", hour: "hour",
58
+ day: "day", d: "day",
59
+ week: "week", wk: "week",
60
+ month: "month", mo: "month",
61
+ year: "year", yr: "year", y: "year",
62
+ // digital/data storage
63
+ bit: "bit", b: "bit",
64
+ byte: "byte", B: "byte",
65
+ kilobit: "kilobit", kb: "kilobit", kbit: "kilobit",
66
+ kilobyte: "kilobyte", kB: "kilobyte", kbyte: "kilobyte",
67
+ megabit: "megabit", mb: "megabit", mbit: "megabit", Mb: "megabit",
68
+ megabyte: "megabyte", MB: "megabyte", mbyte: "megabyte",
69
+ gigabit: "gigabit", gb: "gigabit", gbit: "gigabit", Gb: "gigabit",
70
+ gigabyte: "gigabyte", GB: "gigabyte", gbyte: "gigabyte",
71
+ terabit: "terabit", tb: "terabit", tbit: "terabit", Tb: "terabit",
72
+ terabyte: "terabyte", TB: "terabyte", tbyte: "terabyte",
73
+ petabyte: "petabyte", PB: "petabyte", pbyte: "petabyte",
74
+ // energy
75
+ joule: "joule", j: "joule", J: "joule",
76
+ kilojoule: "kilojoule", kj: "kilojoule", kJ: "kilojoule",
77
+ calorie: "calorie", cal: "calorie",
78
+ kilocalorie: "kilocalorie", kcal: "kilocalorie",
79
+ wh: "watt-hour", Wh: "watt-hour",
80
+ kwh: "kilowatt-hour", kWh: "kilowatt-hour",
81
+ // power
82
+ watt: "watt", w: "watt", W: "watt",
83
+ kilowatt: "kilowatt", kw: "kilowatt", kW: "kilowatt",
84
+ megawatt: "megawatt", mw: "megawatt", MW: "megawatt",
85
+ horsepower: "horsepower", hp: "horsepower",
86
+ // pressure
87
+ pascal: "pascal", pa: "pascal", Pa: "pascal",
88
+ kilopascal: "kilopascal", kpa: "kilopascal", kPa: "kilopascal",
89
+ megapascal: "megapascal", mpa: "megapascal", MPa: "megapascal",
90
+ bar: "bar", millibar: "millibar", mbar: "millibar",
91
+ psi: "pound-force-per-square-inch",
92
+ atmosphere: "atmosphere", atm: "atmosphere",
93
+ // angle
94
+ degree: "degree", deg: "degree", "°": "degree",
95
+ radian: "radian", rad: "radian",
96
+ arcmin: "arc-minute",
97
+ arcsec: "arc-second",
98
+ // frequency
99
+ hertz: "hertz", hz: "hertz", Hz: "hertz",
100
+ kilohertz: "kilohertz", khz: "kilohertz", kHz: "kilohertz",
101
+ megahertz: "megahertz", mhz: "megahertz", MHz: "megahertz",
102
+ gigahertz: "gigahertz", ghz: "gigahertz", GHz: "gigahertz",
103
+ // concentration/ratio
104
+ percent: "percent", "%": "percent", pct: "percent",
105
+ permille: "permille", "‰": "permille",
106
+ permyriad: "permyriad", "‱": "permyriad",
107
+ ppm: "part-per-million",
108
+ ppb: "part-per-billion",
109
+ ppt: "part-per-trillion",
110
+ // electric
111
+ ampere: "ampere", amp: "ampere", a: "ampere", A: "ampere",
112
+ volt: "volt", v: "volt", V: "volt",
113
+ ohm: "ohm", "Ω": "ohm",
114
+ // force
115
+ newton: "newton", n: "newton", N: "newton",
116
+ lbf: "pound-force",
117
+ // luminous intensity
118
+ lux: "lux", lumen: "lumen", lm: "lumen",
119
+ candela: "candela", cd: "candela",
120
+ };
121
+ // Handle case-sensitive digital units first, then fallback to lowercase
122
+ return map[unit] || map[unit.toLowerCase()] || unit;
123
+ }
124
+ export default toIntlUnit;
125
+ //# sourceMappingURL=toIntlUnit.js.map
@@ -0,0 +1,7 @@
1
+ type InlineType = "application/json" | "module" | "script" | "style";
2
+ declare function inline(code: string, type: InlineType, id?: string): Promise<{
3
+ head: string;
4
+ integrity: string;
5
+ }>;
6
+ export default inline;
7
+ //# sourceMappingURL=inline.d.ts.map
@@ -0,0 +1,12 @@
1
+ import hash from "#hash";
2
+ import tags from "#tags";
3
+ async function inline(code, type, id) {
4
+ const integrity = await hash(code);
5
+ return { head: type === "style"
6
+ ? tags.style({ code, inline: true })
7
+ : tags.script({ code, id, inline: true, integrity, type }),
8
+ integrity: `'${integrity}'` };
9
+ }
10
+ ;
11
+ export default inline;
12
+ //# sourceMappingURL=inline.js.map
@@ -0,0 +1,17 @@
1
+ declare const _default: {
2
+ readonly app_html: "app.html";
3
+ readonly build: "build";
4
+ readonly client: "client";
5
+ readonly components: "components";
6
+ readonly config: "config";
7
+ readonly error_html: "error.html";
8
+ readonly modules: "modules";
9
+ readonly pages: "pages";
10
+ readonly routes: "routes";
11
+ readonly server: "server";
12
+ readonly static: "static";
13
+ readonly stores: "stores";
14
+ readonly locales: "locales";
15
+ };
16
+ export default _default;
17
+ //# sourceMappingURL=location.d.ts.map
@@ -0,0 +1,29 @@
1
+ export default {
2
+ // default rendering template
3
+ app_html: "app.html",
4
+ // build environment
5
+ build: "build",
6
+ // client build
7
+ client: "client",
8
+ // renderable components
9
+ components: "components",
10
+ // config
11
+ config: "config",
12
+ // error rendering template
13
+ error_html: "error.html",
14
+ // custom modules
15
+ modules: "modules",
16
+ // HTML pages
17
+ pages: "pages",
18
+ // hierarchical routes
19
+ routes: "routes",
20
+ // server build
21
+ server: "server",
22
+ // static assets
23
+ static: "static",
24
+ // stores
25
+ stores: "stores",
26
+ // locales
27
+ locales: "locales",
28
+ };
29
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1,19 @@
1
+ declare const levels: {
2
+ readonly error: 0;
3
+ readonly info: 2;
4
+ readonly warn: 1;
5
+ };
6
+ type Levels = typeof levels;
7
+ type Level = keyof Levels;
8
+ type N = Levels[Level];
9
+ declare class Log {
10
+ #private;
11
+ constructor(level: N);
12
+ system(message: string, ...params: unknown[]): void;
13
+ info(message: string, ...params: unknown[]): void;
14
+ warn(message: string, ...params: unknown[]): void;
15
+ error(error: unknown): void;
16
+ }
17
+ declare const _default: Log;
18
+ export default _default;
19
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1,46 @@
1
+ import AppError from "#AppError";
2
+ import args from "@rcompat/args";
3
+ import blue from "@rcompat/cli/color/blue";
4
+ import green from "@rcompat/cli/color/green";
5
+ import red from "@rcompat/cli/color/red";
6
+ import yellow from "@rcompat/cli/color/yellow";
7
+ import mark from "@rcompat/cli/mark";
8
+ import print from "@rcompat/cli/print";
9
+ import union from "pema/union";
10
+ const levels = {
11
+ error: 0,
12
+ info: 2,
13
+ warn: 1,
14
+ };
15
+ const flag = "--log=";
16
+ const n = args.find(arg => arg.startsWith(flag))?.slice(flag.length);
17
+ const vn = union(...Object.keys(levels)).optional().parse(n);
18
+ class Log {
19
+ #level;
20
+ constructor(level) {
21
+ this.#level = level;
22
+ }
23
+ system(message, ...params) {
24
+ print(`${blue("++")} ${mark(message, ...params)}\n`);
25
+ }
26
+ info(message, ...params) {
27
+ if (this.#level === levels.info) {
28
+ print(green("--"), mark(message, ...params), "\n");
29
+ }
30
+ }
31
+ warn(message, ...params) {
32
+ if (this.#level >= levels.warn) {
33
+ print(yellow("??"), mark(message, ...params), "\n");
34
+ }
35
+ }
36
+ error(error) {
37
+ if (error instanceof AppError) {
38
+ print(red("!!"), error.message, "\n");
39
+ }
40
+ else {
41
+ console.error(error);
42
+ }
43
+ }
44
+ }
45
+ export default new Log(n === undefined ? levels.warn : levels[vn]);
46
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1,5 @@
1
+ import type BuildApp from "#BuildApp";
2
+ import type Hook from "#module/Hook";
3
+ type BuildHook = Hook<BuildApp>;
4
+ export type { BuildHook as default };
5
+ //# sourceMappingURL=BuildHook.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BuildHook.js.map
@@ -0,0 +1,5 @@
1
+ import type MaybePromise from "@rcompat/type/MaybePromise";
2
+ import type Next from "#module/Next";
3
+ type Hook<I, O = I> = (t: I, next: Next<I, O>) => MaybePromise<O>;
4
+ export type { Hook as default };
5
+ //# sourceMappingURL=Hook.d.ts.map