zeed 1.3.0 → 1.4.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 (575) hide show
  1. package/AGENTS.md +50 -211
  2. package/README.md +16 -0
  3. package/dist/_experiments/bitcask.cjs +243 -1
  4. package/dist/_experiments/bitcask.cjs.map +1 -1
  5. package/dist/_experiments/bitcask.mjs +230 -1
  6. package/dist/_experiments/bitcask.mjs.map +1 -1
  7. package/dist/bin-BAoS4qtm.mjs +593 -0
  8. package/dist/{bin-SPdenYkw.mjs.map → bin-BAoS4qtm.mjs.map} +1 -1
  9. package/dist/bin-Ddaz2lxM.cjs +862 -0
  10. package/dist/{bin-Ce3i6ABn.cjs.map → bin-Ddaz2lxM.cjs.map} +1 -1
  11. package/dist/browser/base64.cjs +14 -1
  12. package/dist/browser/base64.cjs.map +1 -1
  13. package/dist/browser/base64.mjs +12 -1
  14. package/dist/browser/base64.mjs.map +1 -1
  15. package/dist/browser/gravatar.cjs +186 -1
  16. package/dist/browser/gravatar.cjs.map +1 -1
  17. package/dist/browser/gravatar.mjs +184 -1
  18. package/dist/browser/gravatar.mjs.map +1 -1
  19. package/dist/browser/index.cjs +14 -1
  20. package/dist/browser/index.mjs +8 -1
  21. package/dist/browser/localstorage.cjs +46 -1
  22. package/dist/browser/localstorage.cjs.map +1 -1
  23. package/dist/browser/localstorage.mjs +45 -1
  24. package/dist/browser/localstorage.mjs.map +1 -1
  25. package/dist/browser/log/index.cjs +8 -1
  26. package/dist/browser/log/index.mjs +5 -1
  27. package/dist/browser/log/log-browser-factory.cjs +65 -1
  28. package/dist/browser/log/log-browser-factory.cjs.map +1 -1
  29. package/dist/browser/log/log-browser-factory.mjs +64 -1
  30. package/dist/browser/log/log-browser-factory.mjs.map +1 -1
  31. package/dist/browser/log/log-browser.cjs +72 -1
  32. package/dist/browser/log/log-browser.cjs.map +1 -1
  33. package/dist/browser/log/log-browser.mjs +71 -1
  34. package/dist/browser/log/log-browser.mjs.map +1 -1
  35. package/dist/browser/log/log-colors.cjs +11 -1
  36. package/dist/browser/log/log-colors.cjs.map +1 -1
  37. package/dist/browser/log/log-colors.mjs +9 -1
  38. package/dist/browser/log/log-colors.mjs.map +1 -1
  39. package/dist/browser/log/log-context-browser.cjs +25 -1
  40. package/dist/browser/log/log-context-browser.cjs.map +1 -1
  41. package/dist/browser/log/log-context-browser.mjs +23 -1
  42. package/dist/browser/log/log-context-browser.mjs.map +1 -1
  43. package/dist/chunk-DQk6qfdC.mjs +18 -0
  44. package/dist/chunk-uaV2rQ02.cjs +53 -0
  45. package/dist/common/assert.cjs +22 -1
  46. package/dist/common/assert.cjs.map +1 -1
  47. package/dist/common/assert.mjs +19 -1
  48. package/dist/common/assert.mjs.map +1 -1
  49. package/dist/common/bin/index.cjs +106 -1
  50. package/dist/common/bin/index.cjs.map +1 -1
  51. package/dist/common/bin/index.mjs +98 -1
  52. package/dist/common/bin/index.mjs.map +1 -1
  53. package/dist/common/bin/lib0/binary.cjs +146 -1
  54. package/dist/common/bin/lib0/binary.cjs.map +1 -1
  55. package/dist/common/bin/lib0/binary.mjs +80 -1
  56. package/dist/common/bin/lib0/binary.mjs.map +1 -1
  57. package/dist/common/bin/lib0/buffer.cjs +42 -1
  58. package/dist/common/bin/lib0/buffer.cjs.map +1 -1
  59. package/dist/common/bin/lib0/buffer.mjs +38 -1
  60. package/dist/common/bin/lib0/buffer.mjs.map +1 -1
  61. package/dist/common/bin/lib0/create.cjs +24 -1
  62. package/dist/common/bin/lib0/create.cjs.map +1 -1
  63. package/dist/common/bin/lib0/create.mjs +21 -1
  64. package/dist/common/bin/lib0/create.mjs.map +1 -1
  65. package/dist/common/bin/lib0/decoding.cjs +325 -1
  66. package/dist/common/bin/lib0/decoding.cjs.map +1 -1
  67. package/dist/common/bin/lib0/decoding.mjs +298 -1
  68. package/dist/common/bin/lib0/decoding.mjs.map +1 -1
  69. package/dist/common/bin/lib0/encoding.cjs +404 -1
  70. package/dist/common/bin/lib0/encoding.cjs.map +1 -1
  71. package/dist/common/bin/lib0/encoding.mjs +377 -1
  72. package/dist/common/bin/lib0/encoding.mjs.map +1 -1
  73. package/dist/common/bin/lib0/string.cjs +81 -1
  74. package/dist/common/bin/lib0/string.cjs.map +1 -1
  75. package/dist/common/bin/lib0/string.mjs +71 -1
  76. package/dist/common/bin/lib0/string.mjs.map +1 -1
  77. package/dist/common/crypto/aes-sealed.cjs +34 -1
  78. package/dist/common/crypto/aes-sealed.cjs.map +1 -1
  79. package/dist/common/crypto/aes-sealed.mjs +32 -1
  80. package/dist/common/crypto/aes-sealed.mjs.map +1 -1
  81. package/dist/common/crypto/crypto.cjs +91 -1
  82. package/dist/common/crypto/crypto.cjs.map +1 -1
  83. package/dist/common/crypto/crypto.mjs +80 -1
  84. package/dist/common/crypto/crypto.mjs.map +1 -1
  85. package/dist/common/crypto/index.cjs +23 -1
  86. package/dist/common/crypto/index.mjs +5 -1
  87. package/dist/common/crypto/xaes.cjs +128 -1
  88. package/dist/common/crypto/xaes.cjs.map +1 -1
  89. package/dist/common/crypto/xaes.mjs +123 -1
  90. package/dist/common/crypto/xaes.mjs.map +1 -1
  91. package/dist/common/csv.cjs +49 -4
  92. package/dist/common/csv.cjs.map +1 -1
  93. package/dist/common/csv.mjs +46 -4
  94. package/dist/common/csv.mjs.map +1 -1
  95. package/dist/common/data/array.cjs +299 -1
  96. package/dist/common/data/array.cjs.map +1 -1
  97. package/dist/common/data/array.mjs +274 -1
  98. package/dist/common/data/array.mjs.map +1 -1
  99. package/dist/common/data/basex-secure.cjs +30 -1
  100. package/dist/common/data/basex-secure.mjs +3 -1
  101. package/dist/common/data/basex.cjs +163 -1
  102. package/dist/common/data/basex.cjs.map +1 -1
  103. package/dist/common/data/basex.mjs +152 -1
  104. package/dist/common/data/basex.mjs.map +1 -1
  105. package/dist/common/data/bin-types.mjs +1 -1
  106. package/dist/common/data/bin.cjs +21 -1
  107. package/dist/common/data/bin.mjs +3 -1
  108. package/dist/common/data/camelcase.cjs +27 -1
  109. package/dist/common/data/camelcase.cjs.map +1 -1
  110. package/dist/common/data/camelcase.mjs +22 -1
  111. package/dist/common/data/camelcase.mjs.map +1 -1
  112. package/dist/common/data/convert.cjs +104 -1
  113. package/dist/common/data/convert.cjs.map +1 -1
  114. package/dist/common/data/convert.mjs +88 -1
  115. package/dist/common/data/convert.mjs.map +1 -1
  116. package/dist/common/data/datauri.cjs +32 -1
  117. package/dist/common/data/datauri.cjs.map +1 -1
  118. package/dist/common/data/datauri.mjs +27 -1
  119. package/dist/common/data/datauri.mjs.map +1 -1
  120. package/dist/common/data/day-legacy.cjs +148 -1
  121. package/dist/common/data/day-legacy.cjs.map +1 -1
  122. package/dist/common/data/day-legacy.mjs +143 -1
  123. package/dist/common/data/day-legacy.mjs.map +1 -1
  124. package/dist/common/data/day.cjs +335 -1
  125. package/dist/common/data/day.cjs.map +1 -1
  126. package/dist/common/data/day.mjs +305 -1
  127. package/dist/common/data/day.mjs.map +1 -1
  128. package/dist/common/data/decimal.cjs +28 -1
  129. package/dist/common/data/decimal.cjs.map +1 -1
  130. package/dist/common/data/decimal.mjs +23 -1
  131. package/dist/common/data/decimal.mjs.map +1 -1
  132. package/dist/common/data/deep.cjs +57 -1
  133. package/dist/common/data/deep.cjs.map +1 -1
  134. package/dist/common/data/deep.mjs +54 -1
  135. package/dist/common/data/deep.mjs.map +1 -1
  136. package/dist/common/data/diff.cjs +62 -1
  137. package/dist/common/data/diff.cjs.map +1 -1
  138. package/dist/common/data/diff.mjs +60 -1
  139. package/dist/common/data/diff.mjs.map +1 -1
  140. package/dist/common/data/distributed.cjs +24 -1
  141. package/dist/common/data/distributed.cjs.map +1 -1
  142. package/dist/common/data/distributed.mjs +22 -1
  143. package/dist/common/data/distributed.mjs.map +1 -1
  144. package/dist/common/data/format.cjs +63 -1
  145. package/dist/common/data/format.cjs.map +1 -1
  146. package/dist/common/data/format.mjs +59 -1
  147. package/dist/common/data/format.mjs.map +1 -1
  148. package/dist/common/data/html.cjs +13 -1
  149. package/dist/common/data/html.cjs.map +1 -1
  150. package/dist/common/data/html.mjs +10 -1
  151. package/dist/common/data/html.mjs.map +1 -1
  152. package/dist/common/data/index.cjs +296 -1
  153. package/dist/common/data/index.mjs +37 -1
  154. package/dist/common/data/is.cjs +106 -1
  155. package/dist/common/data/is.cjs.map +1 -1
  156. package/dist/common/data/is.mjs +85 -1
  157. package/dist/common/data/is.mjs.map +1 -1
  158. package/dist/common/data/json.cjs +70 -1
  159. package/dist/common/data/json.cjs.map +1 -1
  160. package/dist/common/data/json.mjs +65 -1
  161. package/dist/common/data/json.mjs.map +1 -1
  162. package/dist/common/data/list.cjs +32 -1
  163. package/dist/common/data/list.cjs.map +1 -1
  164. package/dist/common/data/list.mjs +27 -1
  165. package/dist/common/data/list.mjs.map +1 -1
  166. package/dist/common/data/lru.mjs +1 -1
  167. package/dist/common/data/math.cjs +79 -1
  168. package/dist/common/data/math.cjs.map +1 -1
  169. package/dist/common/data/math.mjs +65 -1
  170. package/dist/common/data/math.mjs.map +1 -1
  171. package/dist/common/data/message.cjs +30 -1
  172. package/dist/common/data/message.cjs.map +1 -1
  173. package/dist/common/data/message.mjs +28 -1
  174. package/dist/common/data/message.mjs.map +1 -1
  175. package/dist/common/data/object-changes.cjs +66 -1
  176. package/dist/common/data/object-changes.cjs.map +1 -1
  177. package/dist/common/data/object-changes.mjs +63 -1
  178. package/dist/common/data/object-changes.mjs.map +1 -1
  179. package/dist/common/data/object.cjs +112 -1
  180. package/dist/common/data/object.cjs.map +1 -1
  181. package/dist/common/data/object.mjs +104 -1
  182. package/dist/common/data/object.mjs.map +1 -1
  183. package/dist/common/data/orderby.cjs +42 -1
  184. package/dist/common/data/orderby.cjs.map +1 -1
  185. package/dist/common/data/orderby.mjs +37 -1
  186. package/dist/common/data/orderby.mjs.map +1 -1
  187. package/dist/common/data/path.cjs +26 -1
  188. package/dist/common/data/path.cjs.map +1 -1
  189. package/dist/common/data/path.mjs +25 -1
  190. package/dist/common/data/path.mjs.map +1 -1
  191. package/dist/common/data/regexp.cjs +12 -1
  192. package/dist/common/data/regexp.cjs.map +1 -1
  193. package/dist/common/data/regexp.mjs +10 -1
  194. package/dist/common/data/regexp.mjs.map +1 -1
  195. package/dist/common/data/rounding.cjs +107 -1
  196. package/dist/common/data/rounding.cjs.map +1 -1
  197. package/dist/common/data/rounding.mjs +95 -1
  198. package/dist/common/data/rounding.mjs.map +1 -1
  199. package/dist/common/data/signal.cjs +39 -1
  200. package/dist/common/data/signal.cjs.map +1 -1
  201. package/dist/common/data/signal.mjs +38 -1
  202. package/dist/common/data/signal.mjs.map +1 -1
  203. package/dist/common/data/sortable.cjs +35 -1
  204. package/dist/common/data/sortable.cjs.map +1 -1
  205. package/dist/common/data/sortable.mjs +31 -1
  206. package/dist/common/data/sortable.mjs.map +1 -1
  207. package/dist/common/data/sorted.cjs +54 -1
  208. package/dist/common/data/sorted.cjs.map +1 -1
  209. package/dist/common/data/sorted.mjs +53 -1
  210. package/dist/common/data/sorted.mjs.map +1 -1
  211. package/dist/common/data/string-deburr.cjs +240 -1
  212. package/dist/common/data/string-deburr.cjs.map +1 -1
  213. package/dist/common/data/string-deburr.mjs +238 -1
  214. package/dist/common/data/string-deburr.mjs.map +1 -1
  215. package/dist/common/data/string-hash-fnv.cjs +69 -1
  216. package/dist/common/data/string-hash-fnv.cjs.map +1 -1
  217. package/dist/common/data/string-hash-fnv.mjs +67 -1
  218. package/dist/common/data/string-hash-fnv.mjs.map +1 -1
  219. package/dist/common/data/string-hash-pool.cjs +28 -1
  220. package/dist/common/data/string-hash-pool.cjs.map +1 -1
  221. package/dist/common/data/string-hash-pool.mjs +27 -1
  222. package/dist/common/data/string-hash-pool.mjs.map +1 -1
  223. package/dist/common/data/url.cjs +98 -2
  224. package/dist/common/data/url.cjs.map +1 -1
  225. package/dist/common/data/url.mjs +91 -2
  226. package/dist/common/data/url.mjs.map +1 -1
  227. package/dist/common/data/utils.cjs +118 -1
  228. package/dist/common/data/utils.cjs.map +1 -1
  229. package/dist/common/data/utils.mjs +107 -1
  230. package/dist/common/data/utils.mjs.map +1 -1
  231. package/dist/common/data/wordlist.cjs +531 -1
  232. package/dist/common/data/wordlist.cjs.map +1 -1
  233. package/dist/common/data/wordlist.mjs +529 -1
  234. package/dist/common/data/wordlist.mjs.map +1 -1
  235. package/dist/common/data/xrx.cjs +96 -1
  236. package/dist/common/data/xrx.cjs.map +1 -1
  237. package/dist/common/data/xrx.mjs +92 -1
  238. package/dist/common/data/xrx.mjs.map +1 -1
  239. package/dist/common/dispose-defer.cjs +133 -1
  240. package/dist/common/dispose-defer.cjs.map +1 -1
  241. package/dist/common/dispose-defer.mjs +130 -1
  242. package/dist/common/dispose-defer.mjs.map +1 -1
  243. package/dist/common/dispose-types.mjs +1 -1
  244. package/dist/common/dispose-utils.cjs +113 -1
  245. package/dist/common/dispose-utils.cjs.map +1 -1
  246. package/dist/common/dispose-utils.mjs +106 -1
  247. package/dist/common/dispose-utils.mjs.map +1 -1
  248. package/dist/common/exec/index.cjs +24 -1
  249. package/dist/common/exec/index.d.cts +1 -1
  250. package/dist/common/exec/index.d.mts +1 -1
  251. package/dist/common/exec/index.mjs +8 -1
  252. package/dist/common/exec/mutex.cjs +44 -1
  253. package/dist/common/exec/mutex.cjs.map +1 -1
  254. package/dist/common/exec/mutex.mjs +42 -1
  255. package/dist/common/exec/mutex.mjs.map +1 -1
  256. package/dist/common/exec/pool.cjs +181 -1
  257. package/dist/common/exec/pool.cjs.map +1 -1
  258. package/dist/common/exec/pool.d.cts +1 -1
  259. package/dist/common/exec/pool.d.mts +1 -1
  260. package/dist/common/exec/pool.mjs +180 -1
  261. package/dist/common/exec/pool.mjs.map +1 -1
  262. package/dist/common/exec/progress.cjs +149 -1
  263. package/dist/common/exec/progress.cjs.map +1 -1
  264. package/dist/common/exec/progress.d.cts +1 -1
  265. package/dist/common/exec/progress.d.mts +1 -1
  266. package/dist/common/exec/progress.mjs +148 -1
  267. package/dist/common/exec/progress.mjs.map +1 -1
  268. package/dist/common/exec/promise.cjs +113 -1
  269. package/dist/common/exec/promise.cjs.map +1 -1
  270. package/dist/common/exec/promise.mjs +103 -1
  271. package/dist/common/exec/promise.mjs.map +1 -1
  272. package/dist/common/exec/queue.cjs +125 -1
  273. package/dist/common/exec/queue.cjs.map +1 -1
  274. package/dist/common/exec/queue.d.cts +1 -1
  275. package/dist/common/exec/queue.d.mts +1 -1
  276. package/dist/common/exec/queue.mjs +124 -1
  277. package/dist/common/exec/queue.mjs.map +1 -1
  278. package/dist/common/exec/throttle-debounce.cjs +114 -1
  279. package/dist/common/exec/throttle-debounce.cjs.map +1 -1
  280. package/dist/common/exec/throttle-debounce.mjs +112 -1
  281. package/dist/common/exec/throttle-debounce.mjs.map +1 -1
  282. package/dist/common/global.cjs +22 -1
  283. package/dist/common/global.cjs.map +1 -1
  284. package/dist/common/global.mjs +19 -1
  285. package/dist/common/global.mjs.map +1 -1
  286. package/dist/common/index.cjs +559 -1
  287. package/dist/common/index.d.cts +1 -1
  288. package/dist/common/index.d.mts +1 -1
  289. package/dist/common/index.mjs +89 -1
  290. package/dist/common/localhost.cjs +16 -1
  291. package/dist/common/localhost.cjs.map +1 -1
  292. package/dist/common/localhost.mjs +14 -1
  293. package/dist/common/localhost.mjs.map +1 -1
  294. package/dist/common/log/index.cjs +34 -1
  295. package/dist/common/log/index.mjs +11 -1
  296. package/dist/common/log/log-base.cjs +40 -1
  297. package/dist/common/log/log-base.cjs.map +1 -1
  298. package/dist/common/log/log-base.mjs +31 -1
  299. package/dist/common/log/log-base.mjs.map +1 -1
  300. package/dist/common/log/log-colors.cjs +92 -1
  301. package/dist/common/log/log-colors.cjs.map +1 -1
  302. package/dist/common/log/log-colors.mjs +90 -1
  303. package/dist/common/log/log-colors.mjs.map +1 -1
  304. package/dist/common/log/log-config.cjs +15 -1
  305. package/dist/common/log/log-config.cjs.map +1 -1
  306. package/dist/common/log/log-config.mjs +14 -1
  307. package/dist/common/log/log-config.mjs.map +1 -1
  308. package/dist/common/log/log-console-capture.cjs +33 -1
  309. package/dist/common/log/log-console-capture.cjs.map +1 -1
  310. package/dist/common/log/log-console-capture.mjs +32 -1
  311. package/dist/common/log/log-console-capture.mjs.map +1 -1
  312. package/dist/common/log/log-console-original.cjs +27 -1
  313. package/dist/common/log/log-console-original.cjs.map +1 -1
  314. package/dist/common/log/log-console-original.mjs +26 -1
  315. package/dist/common/log/log-console-original.mjs.map +1 -1
  316. package/dist/common/log/log-console.cjs +39 -1
  317. package/dist/common/log/log-console.cjs.map +1 -1
  318. package/dist/common/log/log-console.mjs +38 -1
  319. package/dist/common/log/log-console.mjs.map +1 -1
  320. package/dist/common/log/log-context.cjs +109 -1
  321. package/dist/common/log/log-context.cjs.map +1 -1
  322. package/dist/common/log/log-context.mjs +108 -1
  323. package/dist/common/log/log-context.mjs.map +1 -1
  324. package/dist/common/log/log-filter.cjs +80 -1
  325. package/dist/common/log/log-filter.cjs.map +1 -1
  326. package/dist/common/log/log-filter.mjs +75 -1
  327. package/dist/common/log/log-filter.mjs.map +1 -1
  328. package/dist/common/log/log-memory.cjs +45 -1
  329. package/dist/common/log/log-memory.cjs.map +1 -1
  330. package/dist/common/log/log-memory.mjs +43 -1
  331. package/dist/common/log/log-memory.mjs.map +1 -1
  332. package/dist/common/log/log-noop.cjs +17 -1
  333. package/dist/common/log/log-noop.cjs.map +1 -1
  334. package/dist/common/log/log-noop.mjs +15 -1
  335. package/dist/common/log/log-noop.mjs.map +1 -1
  336. package/dist/common/log/log.cjs +46 -1
  337. package/dist/common/log/log.cjs.map +1 -1
  338. package/dist/common/log/log.mjs +43 -1
  339. package/dist/common/log/log.mjs.map +1 -1
  340. package/dist/common/msg/channel-debug.cjs +17 -1
  341. package/dist/common/msg/channel-debug.cjs.map +1 -1
  342. package/dist/common/msg/channel-debug.d.cts +1 -1
  343. package/dist/common/msg/channel-debug.d.mts +1 -1
  344. package/dist/common/msg/channel-debug.mjs +16 -1
  345. package/dist/common/msg/channel-debug.mjs.map +1 -1
  346. package/dist/common/msg/channel-local.cjs +28 -1
  347. package/dist/common/msg/channel-local.cjs.map +1 -1
  348. package/dist/common/msg/channel-local.d.cts +1 -1
  349. package/dist/common/msg/channel-local.d.mts +1 -1
  350. package/dist/common/msg/channel-local.mjs +26 -1
  351. package/dist/common/msg/channel-local.mjs.map +1 -1
  352. package/dist/common/msg/channel-resilient.cjs +63 -1
  353. package/dist/common/msg/channel-resilient.cjs.map +1 -1
  354. package/dist/common/msg/channel-resilient.d.cts +1 -1
  355. package/dist/common/msg/channel-resilient.d.mts +1 -1
  356. package/dist/common/msg/channel-resilient.mjs +62 -1
  357. package/dist/common/msg/channel-resilient.mjs.map +1 -1
  358. package/dist/common/msg/channel-wkwebview.cjs +35 -1
  359. package/dist/common/msg/channel-wkwebview.cjs.map +1 -1
  360. package/dist/common/msg/channel-wkwebview.d.cts +2 -1
  361. package/dist/common/msg/channel-wkwebview.d.mts +2 -1
  362. package/dist/common/msg/channel-wkwebview.mjs +34 -1
  363. package/dist/common/msg/channel-wkwebview.mjs.map +1 -1
  364. package/dist/common/msg/channel.cjs +23 -1
  365. package/dist/common/msg/channel.cjs.map +1 -1
  366. package/dist/common/msg/channel.d.cts +1 -1
  367. package/dist/common/msg/channel.d.mts +1 -1
  368. package/dist/common/msg/channel.mjs +22 -1
  369. package/dist/common/msg/channel.mjs.map +1 -1
  370. package/dist/common/msg/emitter.cjs +141 -1
  371. package/dist/common/msg/emitter.cjs.map +1 -1
  372. package/dist/common/msg/emitter.d.cts +1 -1
  373. package/dist/common/msg/emitter.d.mts +1 -1
  374. package/dist/common/msg/emitter.mjs +139 -1
  375. package/dist/common/msg/emitter.mjs.map +1 -1
  376. package/dist/common/msg/encoder.cjs +38 -1
  377. package/dist/common/msg/encoder.cjs.map +1 -1
  378. package/dist/common/msg/encoder.mjs +35 -1
  379. package/dist/common/msg/encoder.mjs.map +1 -1
  380. package/dist/common/msg/index.cjs +28 -1
  381. package/dist/common/msg/index.d.cts +1 -1
  382. package/dist/common/msg/index.d.mts +1 -1
  383. package/dist/common/msg/index.mjs +11 -1
  384. package/dist/common/msg/messages.cjs +135 -1
  385. package/dist/common/msg/messages.cjs.map +1 -1
  386. package/dist/common/msg/messages.d.cts +1 -1
  387. package/dist/common/msg/messages.d.mts +1 -1
  388. package/dist/common/msg/messages.mjs +133 -1
  389. package/dist/common/msg/messages.mjs.map +1 -1
  390. package/dist/common/msg/pipe.mjs +1 -1
  391. package/dist/common/msg/pubsub.cjs +78 -1
  392. package/dist/common/msg/pubsub.cjs.map +1 -1
  393. package/dist/common/msg/pubsub.d.cts +1 -1
  394. package/dist/common/msg/pubsub.d.mts +1 -1
  395. package/dist/common/msg/pubsub.mjs +76 -1
  396. package/dist/common/msg/pubsub.mjs.map +1 -1
  397. package/dist/common/msg/rpc.cjs +142 -1
  398. package/dist/common/msg/rpc.cjs.map +1 -1
  399. package/dist/common/msg/rpc.mjs +139 -1
  400. package/dist/common/msg/rpc.mjs.map +1 -1
  401. package/dist/common/network.cjs +129 -1
  402. package/dist/common/network.cjs.map +1 -1
  403. package/dist/common/network.mjs +122 -1
  404. package/dist/common/network.mjs.map +1 -1
  405. package/dist/common/platform.cjs +92 -1
  406. package/dist/common/platform.cjs.map +1 -1
  407. package/dist/common/platform.mjs +84 -1
  408. package/dist/common/platform.mjs.map +1 -1
  409. package/dist/common/schema/_sandbox/sandbox-inherit.mjs +1 -1
  410. package/dist/common/schema/_sandbox/sandbox.mjs +1 -1
  411. package/dist/common/schema/_sandbox/sandbox.xspec.mjs +1 -1
  412. package/dist/common/schema/export-json-schema.cjs +54 -1
  413. package/dist/common/schema/export-json-schema.cjs.map +1 -1
  414. package/dist/common/schema/export-json-schema.mjs +52 -1
  415. package/dist/common/schema/export-json-schema.mjs.map +1 -1
  416. package/dist/common/schema/export-swift.cjs +30 -2
  417. package/dist/common/schema/export-swift.cjs.map +1 -1
  418. package/dist/common/schema/export-swift.mjs +29 -2
  419. package/dist/common/schema/export-swift.mjs.map +1 -1
  420. package/dist/common/schema/export-typescript.cjs +20 -2
  421. package/dist/common/schema/export-typescript.cjs.map +1 -1
  422. package/dist/common/schema/export-typescript.mjs +19 -2
  423. package/dist/common/schema/export-typescript.mjs.map +1 -1
  424. package/dist/common/schema/index.cjs +55 -1
  425. package/dist/common/schema/index.mjs +12 -1
  426. package/dist/common/schema/parse-args.cjs +62 -2
  427. package/dist/common/schema/parse-args.cjs.map +1 -1
  428. package/dist/common/schema/parse-args.mjs +60 -2
  429. package/dist/common/schema/parse-args.mjs.map +1 -1
  430. package/dist/common/schema/parse-env.cjs +48 -3
  431. package/dist/common/schema/parse-env.cjs.map +1 -1
  432. package/dist/common/schema/parse-env.mjs +46 -3
  433. package/dist/common/schema/parse-env.mjs.map +1 -1
  434. package/dist/common/schema/parse-object.cjs +122 -1
  435. package/dist/common/schema/parse-object.cjs.map +1 -1
  436. package/dist/common/schema/parse-object.mjs +119 -1
  437. package/dist/common/schema/parse-object.mjs.map +1 -1
  438. package/dist/common/schema/schema-standard.mjs +1 -1
  439. package/dist/common/schema/schema.cjs +423 -1
  440. package/dist/common/schema/schema.cjs.map +1 -1
  441. package/dist/common/schema/schema.mjs +404 -1
  442. package/dist/common/schema/schema.mjs.map +1 -1
  443. package/dist/common/schema/serialize.cjs +109 -1
  444. package/dist/common/schema/serialize.cjs.map +1 -1
  445. package/dist/common/schema/serialize.mjs +107 -1
  446. package/dist/common/schema/serialize.mjs.map +1 -1
  447. package/dist/common/schema/type-test.mjs +1 -1
  448. package/dist/common/schema/utils.cjs +25 -1
  449. package/dist/common/schema/utils.cjs.map +1 -1
  450. package/dist/common/schema/utils.mjs +19 -1
  451. package/dist/common/schema/utils.mjs.map +1 -1
  452. package/dist/common/schema/z-collection.cjs +51 -1
  453. package/dist/common/schema/z-collection.mjs +27 -1
  454. package/dist/common/schema/z.cjs +9 -1
  455. package/dist/common/schema/z.mjs +3 -1
  456. package/dist/common/storage/index.cjs +4 -1
  457. package/dist/common/storage/index.mjs +3 -1
  458. package/dist/common/storage/memstorage.cjs +26 -1
  459. package/dist/common/storage/memstorage.cjs.map +1 -1
  460. package/dist/common/storage/memstorage.mjs +25 -1
  461. package/dist/common/storage/memstorage.mjs.map +1 -1
  462. package/dist/common/test.cjs +14 -1
  463. package/dist/common/test.cjs.map +1 -1
  464. package/dist/common/test.mjs +13 -1
  465. package/dist/common/test.mjs.map +1 -1
  466. package/dist/common/time.cjs +220 -1
  467. package/dist/common/time.cjs.map +1 -1
  468. package/dist/common/time.mjs +194 -1
  469. package/dist/common/time.mjs.map +1 -1
  470. package/dist/common/timeout.cjs +27 -1
  471. package/dist/common/timeout.cjs.map +1 -1
  472. package/dist/common/timeout.mjs +25 -1
  473. package/dist/common/timeout.mjs.map +1 -1
  474. package/dist/common/types.mjs +1 -1
  475. package/dist/common/utils.cjs +7 -1
  476. package/dist/common/utils.cjs.map +1 -1
  477. package/dist/common/utils.mjs +5 -1
  478. package/dist/common/utils.mjs.map +1 -1
  479. package/dist/common/uuid.cjs +307 -1
  480. package/dist/common/uuid.cjs.map +1 -1
  481. package/dist/common/uuid.mjs +284 -1
  482. package/dist/common/uuid.mjs.map +1 -1
  483. package/dist/{index-DHXVOH8h.d.cts → index-CFkMqHvX.d.cts} +1 -2
  484. package/dist/{index-DMaPyx9O.d.mts → index-C_3Y_s6f.d.mts} +1 -2
  485. package/dist/index.all.cjs +641 -1
  486. package/dist/index.all.d.cts +1 -1
  487. package/dist/index.all.d.mts +1 -1
  488. package/dist/index.all.mjs +113 -1
  489. package/dist/index.browser.cjs +576 -1
  490. package/dist/index.browser.d.cts +1 -1
  491. package/dist/index.browser.d.mts +1 -1
  492. package/dist/index.browser.mjs +98 -1
  493. package/dist/index.jsr.cjs +57 -1
  494. package/dist/index.jsr.mjs +6 -1
  495. package/dist/index.node.cjs +628 -1
  496. package/dist/index.node.d.cts +1 -1
  497. package/dist/index.node.d.mts +1 -1
  498. package/dist/index.node.mjs +106 -1
  499. package/dist/node/args.cjs +56 -1
  500. package/dist/node/args.cjs.map +1 -1
  501. package/dist/node/args.mjs +53 -1
  502. package/dist/node/args.mjs.map +1 -1
  503. package/dist/node/clipboard.cjs +18 -1
  504. package/dist/node/clipboard.cjs.map +1 -1
  505. package/dist/node/clipboard.mjs +16 -1
  506. package/dist/node/clipboard.mjs.map +1 -1
  507. package/dist/node/crypto.cjs +28 -1
  508. package/dist/node/crypto.cjs.map +1 -1
  509. package/dist/node/crypto.mjs +24 -1
  510. package/dist/node/crypto.mjs.map +1 -1
  511. package/dist/node/env.cjs +100 -4
  512. package/dist/node/env.cjs.map +1 -1
  513. package/dist/node/env.mjs +90 -4
  514. package/dist/node/env.mjs.map +1 -1
  515. package/dist/node/files-async.cjs +66 -1
  516. package/dist/node/files-async.cjs.map +1 -1
  517. package/dist/node/files-async.mjs +60 -1
  518. package/dist/node/files-async.mjs.map +1 -1
  519. package/dist/node/files.cjs +52 -1
  520. package/dist/node/files.cjs.map +1 -1
  521. package/dist/node/files.mjs +46 -1
  522. package/dist/node/files.mjs.map +1 -1
  523. package/dist/node/filestorage.cjs +100 -1
  524. package/dist/node/filestorage.cjs.map +1 -1
  525. package/dist/node/filestorage.mjs +97 -1
  526. package/dist/node/filestorage.mjs.map +1 -1
  527. package/dist/node/fs.cjs +119 -1
  528. package/dist/node/fs.cjs.map +1 -1
  529. package/dist/node/fs.mjs +101 -1
  530. package/dist/node/fs.mjs.map +1 -1
  531. package/dist/node/glob.cjs +75 -1
  532. package/dist/node/glob.cjs.map +1 -1
  533. package/dist/node/glob.mjs +73 -1
  534. package/dist/node/glob.mjs.map +1 -1
  535. package/dist/node/index.cjs +66 -1
  536. package/dist/node/index.mjs +16 -1
  537. package/dist/node/log/index.cjs +20 -1
  538. package/dist/node/log/index.mjs +7 -1
  539. package/dist/node/log/log-context-node.cjs +39 -1
  540. package/dist/node/log/log-context-node.cjs.map +1 -1
  541. package/dist/node/log/log-context-node.mjs +35 -1
  542. package/dist/node/log/log-context-node.mjs.map +1 -1
  543. package/dist/node/log/log-file-rotation.cjs +71 -1
  544. package/dist/node/log/log-file-rotation.cjs.map +1 -1
  545. package/dist/node/log/log-file-rotation.mjs +68 -1
  546. package/dist/node/log/log-file-rotation.mjs.map +1 -1
  547. package/dist/node/log/log-file.cjs +57 -1
  548. package/dist/node/log/log-file.cjs.map +1 -1
  549. package/dist/node/log/log-file.mjs +54 -1
  550. package/dist/node/log/log-file.mjs.map +1 -1
  551. package/dist/node/log/log-node.cjs +162 -1
  552. package/dist/node/log/log-node.cjs.map +1 -1
  553. package/dist/node/log/log-node.mjs +155 -1
  554. package/dist/node/log/log-node.mjs.map +1 -1
  555. package/dist/node/log/log-rotation.cjs +543 -3
  556. package/dist/node/log/log-rotation.cjs.map +1 -1
  557. package/dist/node/log/log-rotation.mjs +538 -3
  558. package/dist/node/log/log-rotation.mjs.map +1 -1
  559. package/dist/node/log/log-util.cjs +69 -3
  560. package/dist/node/log/log-util.cjs.map +1 -1
  561. package/dist/node/log/log-util.mjs +63 -3
  562. package/dist/node/log/log-util.mjs.map +1 -1
  563. package/dist/node/open-browser.cjs +20 -1
  564. package/dist/node/open-browser.cjs.map +1 -1
  565. package/dist/node/open-browser.mjs +18 -1
  566. package/dist/node/open-browser.mjs.map +1 -1
  567. package/package.json +15 -15
  568. package/src/common/schema/README.md +247 -66
  569. package/src/eslint-defaults.js +4 -0
  570. package/src/index.spec.ts +6 -6
  571. package/dist/bin-Ce3i6ABn.cjs +0 -3
  572. package/dist/bin-SPdenYkw.mjs +0 -3
  573. package/dist/chunk-0Lt9GpW0.mjs +0 -1
  574. package/dist/chunk-D-qHiVGv.cjs +0 -1
  575. package/src/common/schema/README-SCHEMA.md +0 -0
@@ -1,3 +1,31 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../data/is.cjs`),t=require(`../assert.cjs`),n=require(`../data/object.cjs`),r=require(`./utils.cjs`),i={string:`String`,number:`Double`,int:`Int`,boolean:`Bool`};function a(a,o=`Example`){t.assert(r.isSchemaObjectFlat(a),`schema should be a flat object`);let s=``;a._meta?.swiftProtocol&&(s=`: ${a._meta.swiftProtocol}`);let c=[`struct ${a._meta?.swiftName??o}${s} {`];return n.objectMap(a._object,(t,n)=>{let r=` var ${t}: ${i[n.type]??n.type}`;n._optional===!0&&(r+=`?`),(n._meta?.swiftDefault||n._default!=null&&e.isPrimitive(n._default))&&(r+=` = ${n._meta?.swiftDefault??JSON.stringify(n._default)}`),c.push(r)}),c.push(`}`),c.join(`
2
- `)}exports.schemaExportSwiftStruct=a;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_common_data_is = require('../data/is.cjs');
3
+ const require_common_assert = require('../assert.cjs');
4
+ const require_common_data_object = require('../data/object.cjs');
5
+ const require_common_schema_utils = require('./utils.cjs');
6
+
7
+ //#region src/common/schema/export-swift.ts
8
+ const mapSwiftType = {
9
+ string: "String",
10
+ number: "Double",
11
+ int: "Int",
12
+ boolean: "Bool"
13
+ };
14
+ function schemaExportSwiftStruct(schema, name = "Example") {
15
+ require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
16
+ let protocol = "";
17
+ if (schema._meta?.swiftProtocol) protocol = `: ${schema._meta.swiftProtocol}`;
18
+ const lines = [`struct ${schema._meta?.swiftName ?? name}${protocol} {`];
19
+ require_common_data_object.objectMap(schema._object, (key, schema) => {
20
+ let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`;
21
+ if (schema._optional === true) s += "?";
22
+ if (schema._meta?.swiftDefault || schema._default != null && require_common_data_is.isPrimitive(schema._default)) s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`;
23
+ lines.push(s);
24
+ });
25
+ lines.push("}");
26
+ return lines.join("\n");
27
+ }
28
+
29
+ //#endregion
30
+ exports.schemaExportSwiftStruct = schemaExportSwiftStruct;
3
31
  //# sourceMappingURL=export-swift.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-swift.cjs","names":["isSchemaObjectFlat","isPrimitive"],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"yLAeM,EAAe,CACnB,OAAQ,SACR,OAAQ,SACR,IAAK,MACL,QAAS,OACV,CAED,SAAgB,EAA2B,EAAiB,EAAe,UAAmB,CAC5F,EAAA,OAAOA,EAAAA,mBAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAI,EAAW,GACX,EAAO,OAAO,gBAChB,EAAW,KAAK,EAAO,MAAM,iBAG/B,IAAM,EAAkB,CACtB,UAAU,EAAO,OAAO,WAAa,IAAO,EAAS,IACtD,CAaD,OAXA,EAAA,UAAU,EAAO,SAAW,EAAK,IAAsB,CACrD,IAAI,EAAI,SAAS,EAAI,IAAI,EAAa,EAAO,OAAS,EAAO,OACzD,EAAO,YAAc,KACvB,GAAK,MACH,EAAO,OAAO,cAAiB,EAAO,UAAY,MAAQC,EAAAA,YAAY,EAAO,SAAS,IACxF,GAAK,MAAM,EAAO,OAAO,cAAgB,KAAK,UAAU,EAAO,SAAS,IAC1E,EAAM,KAAK,EAAE,EACb,CAEF,EAAM,KAAK,IAAI,CAER,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"export-swift.cjs","names":["isSchemaObjectFlat","isPrimitive"],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;AAeA,MAAM,eAAe;CACnB,QAAQ;CACR,QAAQ;CACR,KAAK;CACL,SAAS;CACV;AAED,SAAgB,wBAA2B,QAAiB,OAAe,WAAmB;AAC5F,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,IAAI,WAAW;AACf,KAAI,OAAO,OAAO,cAChB,YAAW,KAAK,OAAO,MAAM;CAG/B,MAAM,QAAkB,CACtB,UAAU,OAAO,OAAO,aAAa,OAAO,SAAS,IACtD;AAED,sCAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,SAAS,IAAI,IAAI,aAAa,OAAO,SAAS,OAAO;AAC7D,MAAI,OAAO,cAAc,KACvB,MAAK;AACP,MAAI,OAAO,OAAO,gBAAiB,OAAO,YAAY,QAAQC,mCAAY,OAAO,SAAS,CACxF,MAAK,MAAM,OAAO,OAAO,gBAAgB,KAAK,UAAU,OAAO,SAAS;AAC1E,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
@@ -1,3 +1,30 @@
1
- import{isPrimitive as e}from"../data/is.mjs";import{assert as t}from"../assert.mjs";import{objectMap as n}from"../data/object.mjs";import{isSchemaObjectFlat as r}from"./utils.mjs";const i={string:`String`,number:`Double`,int:`Int`,boolean:`Bool`};function a(a,o=`Example`){t(r(a),`schema should be a flat object`);let s=``;a._meta?.swiftProtocol&&(s=`: ${a._meta.swiftProtocol}`);let c=[`struct ${a._meta?.swiftName??o}${s} {`];return n(a._object,(t,n)=>{let r=` var ${t}: ${i[n.type]??n.type}`;n._optional===!0&&(r+=`?`),(n._meta?.swiftDefault||n._default!=null&&e(n._default))&&(r+=` = ${n._meta?.swiftDefault??JSON.stringify(n._default)}`),c.push(r)}),c.push(`}`),c.join(`
2
- `)}export{a as schemaExportSwiftStruct};
1
+ import { isPrimitive } from "../data/is.mjs";
2
+ import { assert } from "../assert.mjs";
3
+ import { objectMap } from "../data/object.mjs";
4
+ import { isSchemaObjectFlat } from "./utils.mjs";
5
+
6
+ //#region src/common/schema/export-swift.ts
7
+ const mapSwiftType = {
8
+ string: "String",
9
+ number: "Double",
10
+ int: "Int",
11
+ boolean: "Bool"
12
+ };
13
+ function schemaExportSwiftStruct(schema, name = "Example") {
14
+ assert(isSchemaObjectFlat(schema), "schema should be a flat object");
15
+ let protocol = "";
16
+ if (schema._meta?.swiftProtocol) protocol = `: ${schema._meta.swiftProtocol}`;
17
+ const lines = [`struct ${schema._meta?.swiftName ?? name}${protocol} {`];
18
+ objectMap(schema._object, (key, schema) => {
19
+ let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`;
20
+ if (schema._optional === true) s += "?";
21
+ if (schema._meta?.swiftDefault || schema._default != null && isPrimitive(schema._default)) s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`;
22
+ lines.push(s);
23
+ });
24
+ lines.push("}");
25
+ return lines.join("\n");
26
+ }
27
+
28
+ //#endregion
29
+ export { schemaExportSwiftStruct };
3
30
  //# sourceMappingURL=export-swift.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-swift.mjs","names":[],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"oLAeA,MAAM,EAAe,CACnB,OAAQ,SACR,OAAQ,SACR,IAAK,MACL,QAAS,OACV,CAED,SAAgB,EAA2B,EAAiB,EAAe,UAAmB,CAC5F,EAAO,EAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAI,EAAW,GACX,EAAO,OAAO,gBAChB,EAAW,KAAK,EAAO,MAAM,iBAG/B,IAAM,EAAkB,CACtB,UAAU,EAAO,OAAO,WAAa,IAAO,EAAS,IACtD,CAaD,OAXA,EAAU,EAAO,SAAW,EAAK,IAAsB,CACrD,IAAI,EAAI,SAAS,EAAI,IAAI,EAAa,EAAO,OAAS,EAAO,OACzD,EAAO,YAAc,KACvB,GAAK,MACH,EAAO,OAAO,cAAiB,EAAO,UAAY,MAAQ,EAAY,EAAO,SAAS,IACxF,GAAK,MAAM,EAAO,OAAO,cAAgB,KAAK,UAAU,EAAO,SAAS,IAC1E,EAAM,KAAK,EAAE,EACb,CAEF,EAAM,KAAK,IAAI,CAER,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"export-swift.mjs","names":[],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;AAeA,MAAM,eAAe;CACnB,QAAQ;CACR,QAAQ;CACR,KAAK;CACL,SAAS;CACV;AAED,SAAgB,wBAA2B,QAAiB,OAAe,WAAmB;AAC5F,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,IAAI,WAAW;AACf,KAAI,OAAO,OAAO,cAChB,YAAW,KAAK,OAAO,MAAM;CAG/B,MAAM,QAAkB,CACtB,UAAU,OAAO,OAAO,aAAa,OAAO,SAAS,IACtD;AAED,WAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,SAAS,IAAI,IAAI,aAAa,OAAO,SAAS,OAAO;AAC7D,MAAI,OAAO,cAAc,KACvB,MAAK;AACP,MAAI,OAAO,OAAO,gBAAiB,OAAO,YAAY,QAAQ,YAAY,OAAO,SAAS,CACxF,MAAK,MAAM,OAAO,OAAO,gBAAgB,KAAK,UAAU,OAAO,SAAS;AAC1E,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
@@ -1,3 +1,21 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../assert.cjs`),t=require(`../data/object.cjs`),n=require(`./utils.cjs`),r={int:`number`};function i(i,a=`Example`){e.assert(n.isSchemaObjectFlat(i),`schema should be a flat object`);let o=[`interface ${a} {`];return t.objectMap(i._object,(e,t)=>{let n=` ${e}${t._optional===!0?`?`:``}: ${r[t.type]??t.type}`;o.push(n)}),o.push(`}`),o.join(`
2
- `)}exports.schemaExportTypescriptInterface=i;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_common_assert = require('../assert.cjs');
3
+ const require_common_data_object = require('../data/object.cjs');
4
+ const require_common_schema_utils = require('./utils.cjs');
5
+
6
+ //#region src/common/schema/export-typescript.ts
7
+ const mapTypescriptType = { int: "number" };
8
+ function schemaExportTypescriptInterface(schema, name = "Example") {
9
+ require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
10
+ const lines = [`interface ${name} {`];
11
+ require_common_data_object.objectMap(schema._object, (key, schema) => {
12
+ const s = ` ${key}${schema._optional === true ? "?" : ""}: ${mapTypescriptType[schema.type] ?? schema.type}`;
13
+ lines.push(s);
14
+ });
15
+ lines.push("}");
16
+ return lines.join("\n");
17
+ }
18
+
19
+ //#endregion
20
+ exports.schemaExportTypescriptInterface = schemaExportTypescriptInterface;
3
21
  //# sourceMappingURL=export-typescript.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-typescript.cjs","names":["isSchemaObjectFlat"],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"6JAYM,EAAoB,CACxB,IAAK,SACN,CAED,SAAgB,EAAmC,EAAiB,EAAe,UAAmB,CACpG,EAAA,OAAOA,EAAAA,mBAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAM,EAAkB,CACtB,aAAa,EAAK,IACnB,CAWD,OATA,EAAA,UAAU,EAAO,SAAW,EAAK,IAAsB,CACrD,IAAM,EAAI,KAAK,IAAM,EAAO,YAAc,GAAO,IAAM,GAAG,IAAI,EAAkB,EAAO,OAAS,EAAO,OAGvG,EAAM,KAAK,EAAE,EACb,CAEF,EAAM,KAAK,IAAI,CAER,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"export-typescript.cjs","names":["isSchemaObjectFlat"],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;AAYA,MAAM,oBAAoB,EACxB,KAAK,UACN;AAED,SAAgB,gCAAmC,QAAiB,OAAe,WAAmB;AACpG,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,CACtB,aAAa,KAAK,IACnB;AAED,sCAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,MAAM,IAAI,KAAK,MAAM,OAAO,cAAc,OAAO,MAAM,GAAG,IAAI,kBAAkB,OAAO,SAAS,OAAO;AAGvG,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
@@ -1,3 +1,20 @@
1
- import{assert as e}from"../assert.mjs";import{objectMap as t}from"../data/object.mjs";import{isSchemaObjectFlat as n}from"./utils.mjs";const r={int:`number`};function i(i,a=`Example`){e(n(i),`schema should be a flat object`);let o=[`interface ${a} {`];return t(i._object,(e,t)=>{let n=` ${e}${t._optional===!0?`?`:``}: ${r[t.type]??t.type}`;o.push(n)}),o.push(`}`),o.join(`
2
- `)}export{i as schemaExportTypescriptInterface};
1
+ import { assert } from "../assert.mjs";
2
+ import { objectMap } from "../data/object.mjs";
3
+ import { isSchemaObjectFlat } from "./utils.mjs";
4
+
5
+ //#region src/common/schema/export-typescript.ts
6
+ const mapTypescriptType = { int: "number" };
7
+ function schemaExportTypescriptInterface(schema, name = "Example") {
8
+ assert(isSchemaObjectFlat(schema), "schema should be a flat object");
9
+ const lines = [`interface ${name} {`];
10
+ objectMap(schema._object, (key, schema) => {
11
+ const s = ` ${key}${schema._optional === true ? "?" : ""}: ${mapTypescriptType[schema.type] ?? schema.type}`;
12
+ lines.push(s);
13
+ });
14
+ lines.push("}");
15
+ return lines.join("\n");
16
+ }
17
+
18
+ //#endregion
19
+ export { schemaExportTypescriptInterface };
3
20
  //# sourceMappingURL=export-typescript.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-typescript.mjs","names":[],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"uIAYA,MAAM,EAAoB,CACxB,IAAK,SACN,CAED,SAAgB,EAAmC,EAAiB,EAAe,UAAmB,CACpG,EAAO,EAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAM,EAAkB,CACtB,aAAa,EAAK,IACnB,CAWD,OATA,EAAU,EAAO,SAAW,EAAK,IAAsB,CACrD,IAAM,EAAI,KAAK,IAAM,EAAO,YAAc,GAAO,IAAM,GAAG,IAAI,EAAkB,EAAO,OAAS,EAAO,OAGvG,EAAM,KAAK,EAAE,EACb,CAEF,EAAM,KAAK,IAAI,CAER,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"export-typescript.mjs","names":[],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;AAYA,MAAM,oBAAoB,EACxB,KAAK,UACN;AAED,SAAgB,gCAAmC,QAAiB,OAAe,WAAmB;AACpG,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,CACtB,aAAa,KAAK,IACnB;AAED,WAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,MAAM,IAAI,KAAK,MAAM,OAAO,cAAc,OAAO,MAAM,GAAG,IAAI,kBAAkB,OAAO,SAAS,OAAO;AAGvG,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
@@ -1 +1,55 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./export-json-schema.cjs`),t=require(`./utils.cjs`),n=require(`./export-swift.cjs`),r=require(`./export-typescript.cjs`),i=require(`./parse-object.cjs`),a=require(`./parse-args.cjs`),o=require(`./parse-env.cjs`),s=require(`./schema.cjs`),c=require(`./serialize.cjs`),l=require(`./z-collection.cjs`);exports.Type=s.Type,exports.any=s.any,exports.array=s.array,exports.boolean=s.boolean,exports.deserializeSchema=c.deserializeSchema,exports.double=s.double,exports.float=s.float,exports.func=s.func,exports.helpSchemaArgs=a.helpSchemaArgs,exports.int=s.int,exports.isSchemaDefault=t.isSchemaDefault,exports.isSchemaObject=t.isSchemaObject,exports.isSchemaObjectFlat=t.isSchemaObjectFlat,exports.isSchemaOptional=t.isSchemaOptional,exports.isSchemaPrimitive=t.isSchemaPrimitive,exports.literal=s.literal,exports.none=s.none,exports.number=s.number,exports.object=s.object,exports.parseSchemaArgs=a.parseSchemaArgs,exports.parseSchemaEnv=o.parseSchemaEnv,exports.real=s.real,exports.record=s.record,exports.rpc=s.rpc,exports.schemaCreateObject=i.schemaCreateObject,exports.schemaExportJsonSchema=e.schemaExportJsonSchema,exports.schemaExportJsonSchemaString=e.schemaExportJsonSchemaString,exports.schemaExportSwiftStruct=n.schemaExportSwiftStruct,exports.schemaExportTypescriptInterface=r.schemaExportTypescriptInterface,exports.schemaParseObject=i.schemaParseObject,exports.schemaValidateObject=i.schemaValidateObject,exports.serializeSchema=c.serializeSchema,exports.string=s.string,exports.stringFromSchemaEnv=o.stringFromSchemaEnv,exports.stringLiterals=s.stringLiterals,exports.tuple=s.tuple,exports.union=s.union,Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return l.t}});
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_common_schema_export_json_schema = require('./export-json-schema.cjs');
3
+ const require_common_schema_utils = require('./utils.cjs');
4
+ const require_common_schema_export_swift = require('./export-swift.cjs');
5
+ const require_common_schema_export_typescript = require('./export-typescript.cjs');
6
+ const require_common_schema_parse_object = require('./parse-object.cjs');
7
+ const require_common_schema_parse_args = require('./parse-args.cjs');
8
+ const require_common_schema_parse_env = require('./parse-env.cjs');
9
+ const require_common_schema_schema = require('./schema.cjs');
10
+ const require_common_schema_serialize = require('./serialize.cjs');
11
+ const require_common_schema_z_collection = require('./z-collection.cjs');
12
+
13
+ exports.Type = require_common_schema_schema.Type;
14
+ exports.any = require_common_schema_schema.any;
15
+ exports.array = require_common_schema_schema.array;
16
+ exports.boolean = require_common_schema_schema.boolean;
17
+ exports.deserializeSchema = require_common_schema_serialize.deserializeSchema;
18
+ exports.double = require_common_schema_schema.double;
19
+ exports.float = require_common_schema_schema.float;
20
+ exports.func = require_common_schema_schema.func;
21
+ exports.helpSchemaArgs = require_common_schema_parse_args.helpSchemaArgs;
22
+ exports.int = require_common_schema_schema.int;
23
+ exports.isSchemaDefault = require_common_schema_utils.isSchemaDefault;
24
+ exports.isSchemaObject = require_common_schema_utils.isSchemaObject;
25
+ exports.isSchemaObjectFlat = require_common_schema_utils.isSchemaObjectFlat;
26
+ exports.isSchemaOptional = require_common_schema_utils.isSchemaOptional;
27
+ exports.isSchemaPrimitive = require_common_schema_utils.isSchemaPrimitive;
28
+ exports.literal = require_common_schema_schema.literal;
29
+ exports.none = require_common_schema_schema.none;
30
+ exports.number = require_common_schema_schema.number;
31
+ exports.object = require_common_schema_schema.object;
32
+ exports.parseSchemaArgs = require_common_schema_parse_args.parseSchemaArgs;
33
+ exports.parseSchemaEnv = require_common_schema_parse_env.parseSchemaEnv;
34
+ exports.real = require_common_schema_schema.real;
35
+ exports.record = require_common_schema_schema.record;
36
+ exports.rpc = require_common_schema_schema.rpc;
37
+ exports.schemaCreateObject = require_common_schema_parse_object.schemaCreateObject;
38
+ exports.schemaExportJsonSchema = require_common_schema_export_json_schema.schemaExportJsonSchema;
39
+ exports.schemaExportJsonSchemaString = require_common_schema_export_json_schema.schemaExportJsonSchemaString;
40
+ exports.schemaExportSwiftStruct = require_common_schema_export_swift.schemaExportSwiftStruct;
41
+ exports.schemaExportTypescriptInterface = require_common_schema_export_typescript.schemaExportTypescriptInterface;
42
+ exports.schemaParseObject = require_common_schema_parse_object.schemaParseObject;
43
+ exports.schemaValidateObject = require_common_schema_parse_object.schemaValidateObject;
44
+ exports.serializeSchema = require_common_schema_serialize.serializeSchema;
45
+ exports.string = require_common_schema_schema.string;
46
+ exports.stringFromSchemaEnv = require_common_schema_parse_env.stringFromSchemaEnv;
47
+ exports.stringLiterals = require_common_schema_schema.stringLiterals;
48
+ exports.tuple = require_common_schema_schema.tuple;
49
+ exports.union = require_common_schema_schema.union;
50
+ Object.defineProperty(exports, 'z', {
51
+ enumerable: true,
52
+ get: function () {
53
+ return require_common_schema_z_collection.z_collection_exports;
54
+ }
55
+ });
@@ -1 +1,12 @@
1
- import{schemaExportJsonSchema as e,schemaExportJsonSchemaString as t}from"./export-json-schema.mjs";import{isSchemaDefault as n,isSchemaObject as r,isSchemaObjectFlat as i,isSchemaOptional as a,isSchemaPrimitive as o}from"./utils.mjs";import{schemaExportSwiftStruct as s}from"./export-swift.mjs";import{schemaExportTypescriptInterface as c}from"./export-typescript.mjs";import{schemaCreateObject as l,schemaParseObject as u,schemaValidateObject as d}from"./parse-object.mjs";import{helpSchemaArgs as f,parseSchemaArgs as p}from"./parse-args.mjs";import{parseSchemaEnv as m,stringFromSchemaEnv as h}from"./parse-env.mjs";import{Type as g,any as _,array as v,boolean as y,double as b,float as x,func as S,int as C,literal as w,none as T,number as E,object as D,real as O,record as k,rpc as A,string as j,stringLiterals as M,tuple as N,union as P}from"./schema.mjs";import{deserializeSchema as F,serializeSchema as I}from"./serialize.mjs";import{t as L}from"./z-collection.mjs";export{g as Type,_ as any,v as array,y as boolean,F as deserializeSchema,b as double,x as float,S as func,f as helpSchemaArgs,C as int,n as isSchemaDefault,r as isSchemaObject,i as isSchemaObjectFlat,a as isSchemaOptional,o as isSchemaPrimitive,w as literal,T as none,E as number,D as object,p as parseSchemaArgs,m as parseSchemaEnv,O as real,k as record,A as rpc,l as schemaCreateObject,e as schemaExportJsonSchema,t as schemaExportJsonSchemaString,s as schemaExportSwiftStruct,c as schemaExportTypescriptInterface,u as schemaParseObject,d as schemaValidateObject,I as serializeSchema,j as string,h as stringFromSchemaEnv,M as stringLiterals,N as tuple,P as union,L as z};
1
+ import { schemaExportJsonSchema, schemaExportJsonSchemaString } from "./export-json-schema.mjs";
2
+ import { isSchemaDefault, isSchemaObject, isSchemaObjectFlat, isSchemaOptional, isSchemaPrimitive } from "./utils.mjs";
3
+ import { schemaExportSwiftStruct } from "./export-swift.mjs";
4
+ import { schemaExportTypescriptInterface } from "./export-typescript.mjs";
5
+ import { schemaCreateObject, schemaParseObject, schemaValidateObject } from "./parse-object.mjs";
6
+ import { helpSchemaArgs, parseSchemaArgs } from "./parse-args.mjs";
7
+ import { parseSchemaEnv, stringFromSchemaEnv } from "./parse-env.mjs";
8
+ import { Type, any, array, boolean, double, float, func, int, literal, none, number, object, real, record, rpc, string, stringLiterals, tuple, union } from "./schema.mjs";
9
+ import { deserializeSchema, serializeSchema } from "./serialize.mjs";
10
+ import { t as z_collection_exports } from "./z-collection.mjs";
11
+
12
+ export { Type, any, array, boolean, deserializeSchema, double, float, func, helpSchemaArgs, int, isSchemaDefault, isSchemaObject, isSchemaObjectFlat, isSchemaOptional, isSchemaPrimitive, literal, none, number, object, parseSchemaArgs, parseSchemaEnv, real, record, rpc, schemaCreateObject, schemaExportJsonSchema, schemaExportJsonSchemaString, schemaExportSwiftStruct, schemaExportTypescriptInterface, schemaParseObject, schemaValidateObject, serializeSchema, string, stringFromSchemaEnv, stringLiterals, tuple, union, z_collection_exports as z };
@@ -1,3 +1,63 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../assert.cjs`),t=require(`../data/camelcase.cjs`),n=require(`../data/convert.cjs`),r=require(`../data/object.cjs`),i=require(`./utils.cjs`),a=require(`./parse-object.cjs`);function o(o,s=process?.argv??{}){e.assert(i.isSchemaObjectFlat(o),`schema should be a flat object`);let c={},l=[];r.objectMap(o._object,(e,n)=>{n._meta?.argShort&&(c[t.toCamelCase(n._meta.argShort)]=t.toCamelCase(e)),n.type===`boolean`&&l.push(t.toCamelCase(e))});let u=[...s],d,f=[],p={};for(;d=u.shift();){let e;if(/^--?/.test(d)){let n=d.replace(/^--?/,``);if(d.includes(`=`)){let[t,r]=n.split(`=`,2);n=t.trim(),e=r.trim()}n=t.toCamelCase(n),n=c[n]??n,l.includes(n)?p[n]=!0:(e=e??u.shift()??``,p[n]=e)}else f.push(d)}return[r.objectMap(o._object,(e,r)=>{let i=p[t.toCamelCase(e)];return r.type===`number`&&i!=null&&(i=n.valueToInteger(i)),a.schemaParseObject(r,i)}),f]}function s(n){e.assert(i.isSchemaObjectFlat(n),`schema should be a flat object`);let a=[];return r.objectMap(n._object,(e,n)=>{let r=`--${t.fromCamelCase(e)}`;n._meta?.argShort&&(r+=`, -${t.fromCamelCase(n._meta.argShort)}`),n.type!==`boolean`&&(r+=`=${n.type}`),a.push(r);let i=n._meta?.argDesc??n._meta?.desc;i&&a.push(` ${i}`)}),a.join(`
2
- `)}exports.helpSchemaArgs=s,exports.parseSchemaArgs=o;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_common_assert = require('../assert.cjs');
3
+ const require_common_data_camelcase = require('../data/camelcase.cjs');
4
+ const require_common_data_convert = require('../data/convert.cjs');
5
+ const require_common_data_object = require('../data/object.cjs');
6
+ const require_common_schema_utils = require('./utils.cjs');
7
+ const require_common_schema_parse_object = require('./parse-object.cjs');
8
+
9
+ //#region src/common/schema/parse-args.ts
10
+ function parseSchemaArgs(schema, args = process?.argv ?? {}) {
11
+ require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
12
+ const alias = {};
13
+ const booleanArgs = [];
14
+ require_common_data_object.objectMap(schema._object, (key, schema) => {
15
+ if (schema._meta?.argShort) alias[require_common_data_camelcase.toCamelCase(schema._meta.argShort)] = require_common_data_camelcase.toCamelCase(key);
16
+ if (schema.type === "boolean") booleanArgs.push(require_common_data_camelcase.toCamelCase(key));
17
+ });
18
+ const argList = [...args];
19
+ let arg;
20
+ const names = [];
21
+ const argsObj = {};
22
+ while (arg = argList.shift()) {
23
+ let value;
24
+ if (/^--?/.test(arg)) {
25
+ let key = arg.replace(/^--?/, "");
26
+ if (arg.includes("=")) {
27
+ const [name, valuePart] = key.split("=", 2);
28
+ key = name.trim();
29
+ value = valuePart.trim();
30
+ }
31
+ key = require_common_data_camelcase.toCamelCase(key);
32
+ key = alias[key] ?? key;
33
+ if (booleanArgs.includes(key)) argsObj[key] = true;
34
+ else {
35
+ value = value ?? argList.shift() ?? "";
36
+ argsObj[key] = value;
37
+ }
38
+ } else names.push(arg);
39
+ }
40
+ return [require_common_data_object.objectMap(schema._object, (key, schema) => {
41
+ let value = argsObj[require_common_data_camelcase.toCamelCase(key)];
42
+ if (schema.type === "number" && value != null) value = require_common_data_convert.valueToInteger(value);
43
+ return require_common_schema_parse_object.schemaParseObject(schema, value);
44
+ }), names];
45
+ }
46
+ function helpSchemaArgs(schema) {
47
+ require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
48
+ const lines = [];
49
+ require_common_data_object.objectMap(schema._object, (key, schema) => {
50
+ let s = `--${require_common_data_camelcase.fromCamelCase(key)}`;
51
+ if (schema._meta?.argShort) s += `, -${require_common_data_camelcase.fromCamelCase(schema._meta.argShort)}`;
52
+ if (schema.type !== "boolean") s += `=${schema.type}`;
53
+ lines.push(s);
54
+ const desc = schema._meta?.argDesc ?? schema._meta?.desc;
55
+ if (desc) lines.push(` ${desc}`);
56
+ });
57
+ return lines.join("\n");
58
+ }
59
+
60
+ //#endregion
61
+ exports.helpSchemaArgs = helpSchemaArgs;
62
+ exports.parseSchemaArgs = parseSchemaArgs;
3
63
  //# sourceMappingURL=parse-args.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-args.cjs","names":["isSchemaObjectFlat","toCamelCase","objectMap","valueToInteger","schemaParseObject","fromCamelCase"],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":"iQAgBA,SAAgB,EAAmB,EAAiB,EAAY,SAAS,MAAQ,EAAE,CAAiB,CAClG,EAAA,OAAOA,EAAAA,mBAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAM,EAAgC,EAAE,CAClC,EAAwB,EAAE,CAEhC,EAAA,UAAU,EAAO,SAAW,EAAK,IAAsB,CACjD,EAAO,OAAO,WAChB,EAAMC,EAAAA,YAAY,EAAO,MAAM,SAAS,EAAIA,EAAAA,YAAY,EAAI,EAC1D,EAAO,OAAS,WAClB,EAAY,KAAKA,EAAAA,YAAY,EAAI,CAAC,EAEpC,CAEF,IAAM,EAAU,CAAC,GAAG,EAAK,CACrB,EACE,EAAkB,EAAE,CACpB,EAA+B,EAAE,CAGvC,KAAQ,EAAM,EAAQ,OAAO,EAAG,CAC9B,IAAI,EACJ,GAAI,OAAO,KAAK,EAAI,CAAE,CACpB,IAAI,EAAM,EAAI,QAAQ,OAAQ,GAAG,CACjC,GAAI,EAAI,SAAS,IAAI,CAAE,CACrB,GAAM,CAAC,EAAM,GAAa,EAAI,MAAM,IAAK,EAAE,CAC3C,EAAM,EAAK,MAAM,CACjB,EAAQ,EAAU,MAAM,CAE1B,EAAMA,EAAAA,YAAY,EAAI,CACtB,EAAM,EAAM,IAAQ,EAChB,EAAY,SAAS,EAAI,CAC3B,EAAQ,GAAO,IAGf,EAAQ,GAAS,EAAQ,OAAO,EAAI,GACpC,EAAQ,GAAO,QAIjB,EAAM,KAAK,EAAI,CAYnB,MAAO,CARYC,EAAAA,UAAU,EAAO,SAAW,EAAK,IAAW,CAC7D,IAAI,EAAQ,EAAQD,EAAAA,YAAY,EAAI,EAIpC,OAHI,EAAO,OAAS,UAAY,GAAS,OACvC,EAAQE,EAAAA,eAAe,EAAM,EAExBC,EAAAA,kBAAkB,EAAQ,EAAM,EACvC,CAEkB,EAAM,CAG5B,SAAgB,EAAkB,EAAyB,CACzD,EAAA,OAAOJ,EAAAA,mBAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAM,EAAkB,EAAE,CAc1B,OAZA,EAAA,UAAU,EAAO,SAAW,EAAK,IAAsB,CACrD,IAAI,EAAI,KAAKK,EAAAA,cAAc,EAAI,GAC3B,EAAO,OAAO,WAChB,GAAK,MAAMA,EAAAA,cAAc,EAAO,MAAM,SAAS,IAC7C,EAAO,OAAS,YAClB,GAAK,IAAI,EAAO,QAClB,EAAM,KAAK,EAAE,CACb,IAAM,EAAO,EAAO,OAAO,SAAW,EAAO,OAAO,KAChD,GACF,EAAM,KAAK,KAAK,IAAO,EACzB,CAEK,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"parse-args.cjs","names":["isSchemaObjectFlat","toCamelCase","objectMap","valueToInteger","schemaParseObject","fromCamelCase"],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,gBAAmB,QAAiB,OAAY,SAAS,QAAQ,EAAE,EAAiB;AAClG,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAgC,EAAE;CACxC,MAAM,cAAwB,EAAE;AAEhC,sCAAU,OAAO,UAAW,KAAK,WAAsB;AACrD,MAAI,OAAO,OAAO,SAChB,OAAMC,0CAAY,OAAO,MAAM,SAAS,IAAIA,0CAAY,IAAI;AAC9D,MAAI,OAAO,SAAS,UAClB,aAAY,KAAKA,0CAAY,IAAI,CAAC;GAEpC;CAEF,MAAM,UAAU,CAAC,GAAG,KAAK;CACzB,IAAI;CACJ,MAAM,QAAkB,EAAE;CAC1B,MAAM,UAA+B,EAAE;AAGvC,QAAQ,MAAM,QAAQ,OAAO,EAAG;EAC9B,IAAI;AACJ,MAAI,OAAO,KAAK,IAAI,EAAE;GACpB,IAAI,MAAM,IAAI,QAAQ,QAAQ,GAAG;AACjC,OAAI,IAAI,SAAS,IAAI,EAAE;IACrB,MAAM,CAAC,MAAM,aAAa,IAAI,MAAM,KAAK,EAAE;AAC3C,UAAM,KAAK,MAAM;AACjB,YAAQ,UAAU,MAAM;;AAE1B,SAAMA,0CAAY,IAAI;AACtB,SAAM,MAAM,QAAQ;AACpB,OAAI,YAAY,SAAS,IAAI,CAC3B,SAAQ,OAAO;QAEZ;AACH,YAAQ,SAAS,QAAQ,OAAO,IAAI;AACpC,YAAQ,OAAO;;QAIjB,OAAM,KAAK,IAAI;;AAYnB,QAAO,CARYC,qCAAU,OAAO,UAAW,KAAK,WAAW;EAC7D,IAAI,QAAQ,QAAQD,0CAAY,IAAI;AACpC,MAAI,OAAO,SAAS,YAAY,SAAS,KACvC,SAAQE,2CAAe,MAAM;AAE/B,SAAOC,qDAAkB,QAAQ,MAAM;GACvC,EAEkB,MAAM;;AAG5B,SAAgB,eAAkB,QAAyB;AACzD,8BAAOJ,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,EAAE;AAE1B,sCAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,KAAKK,4CAAc,IAAI;AAC/B,MAAI,OAAO,OAAO,SAChB,MAAK,MAAMA,4CAAc,OAAO,MAAM,SAAS;AACjD,MAAI,OAAO,SAAS,UAClB,MAAK,IAAI,OAAO;AAClB,QAAM,KAAK,EAAE;EACb,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,OAAO;AACpD,MAAI,KACF,OAAM,KAAK,KAAK,OAAO;GACzB;AAEF,QAAO,MAAM,KAAK,KAAK"}
@@ -1,3 +1,61 @@
1
- import{assert as e}from"../assert.mjs";import{fromCamelCase as t,toCamelCase as n}from"../data/camelcase.mjs";import{valueToInteger as r}from"../data/convert.mjs";import{objectMap as i}from"../data/object.mjs";import{isSchemaObjectFlat as a}from"./utils.mjs";import{schemaParseObject as o}from"./parse-object.mjs";function s(t,s=process?.argv??{}){e(a(t),`schema should be a flat object`);let c={},l=[];i(t._object,(e,t)=>{t._meta?.argShort&&(c[n(t._meta.argShort)]=n(e)),t.type===`boolean`&&l.push(n(e))});let u=[...s],d,f=[],p={};for(;d=u.shift();){let e;if(/^--?/.test(d)){let t=d.replace(/^--?/,``);if(d.includes(`=`)){let[n,r]=t.split(`=`,2);t=n.trim(),e=r.trim()}t=n(t),t=c[t]??t,l.includes(t)?p[t]=!0:(e=e??u.shift()??``,p[t]=e)}else f.push(d)}return[i(t._object,(e,t)=>{let i=p[n(e)];return t.type===`number`&&i!=null&&(i=r(i)),o(t,i)}),f]}function c(n){e(a(n),`schema should be a flat object`);let r=[];return i(n._object,(e,n)=>{let i=`--${t(e)}`;n._meta?.argShort&&(i+=`, -${t(n._meta.argShort)}`),n.type!==`boolean`&&(i+=`=${n.type}`),r.push(i);let a=n._meta?.argDesc??n._meta?.desc;a&&r.push(` ${a}`)}),r.join(`
2
- `)}export{c as helpSchemaArgs,s as parseSchemaArgs};
1
+ import { assert } from "../assert.mjs";
2
+ import { fromCamelCase, toCamelCase } from "../data/camelcase.mjs";
3
+ import { valueToInteger } from "../data/convert.mjs";
4
+ import { objectMap } from "../data/object.mjs";
5
+ import { isSchemaObjectFlat } from "./utils.mjs";
6
+ import { schemaParseObject } from "./parse-object.mjs";
7
+
8
+ //#region src/common/schema/parse-args.ts
9
+ function parseSchemaArgs(schema, args = process?.argv ?? {}) {
10
+ assert(isSchemaObjectFlat(schema), "schema should be a flat object");
11
+ const alias = {};
12
+ const booleanArgs = [];
13
+ objectMap(schema._object, (key, schema) => {
14
+ if (schema._meta?.argShort) alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key);
15
+ if (schema.type === "boolean") booleanArgs.push(toCamelCase(key));
16
+ });
17
+ const argList = [...args];
18
+ let arg;
19
+ const names = [];
20
+ const argsObj = {};
21
+ while (arg = argList.shift()) {
22
+ let value;
23
+ if (/^--?/.test(arg)) {
24
+ let key = arg.replace(/^--?/, "");
25
+ if (arg.includes("=")) {
26
+ const [name, valuePart] = key.split("=", 2);
27
+ key = name.trim();
28
+ value = valuePart.trim();
29
+ }
30
+ key = toCamelCase(key);
31
+ key = alias[key] ?? key;
32
+ if (booleanArgs.includes(key)) argsObj[key] = true;
33
+ else {
34
+ value = value ?? argList.shift() ?? "";
35
+ argsObj[key] = value;
36
+ }
37
+ } else names.push(arg);
38
+ }
39
+ return [objectMap(schema._object, (key, schema) => {
40
+ let value = argsObj[toCamelCase(key)];
41
+ if (schema.type === "number" && value != null) value = valueToInteger(value);
42
+ return schemaParseObject(schema, value);
43
+ }), names];
44
+ }
45
+ function helpSchemaArgs(schema) {
46
+ assert(isSchemaObjectFlat(schema), "schema should be a flat object");
47
+ const lines = [];
48
+ objectMap(schema._object, (key, schema) => {
49
+ let s = `--${fromCamelCase(key)}`;
50
+ if (schema._meta?.argShort) s += `, -${fromCamelCase(schema._meta.argShort)}`;
51
+ if (schema.type !== "boolean") s += `=${schema.type}`;
52
+ lines.push(s);
53
+ const desc = schema._meta?.argDesc ?? schema._meta?.desc;
54
+ if (desc) lines.push(` ${desc}`);
55
+ });
56
+ return lines.join("\n");
57
+ }
58
+
59
+ //#endregion
60
+ export { helpSchemaArgs, parseSchemaArgs };
3
61
  //# sourceMappingURL=parse-args.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-args.mjs","names":[],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":"0TAgBA,SAAgB,EAAmB,EAAiB,EAAY,SAAS,MAAQ,EAAE,CAAiB,CAClG,EAAO,EAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAM,EAAgC,EAAE,CAClC,EAAwB,EAAE,CAEhC,EAAU,EAAO,SAAW,EAAK,IAAsB,CACjD,EAAO,OAAO,WAChB,EAAM,EAAY,EAAO,MAAM,SAAS,EAAI,EAAY,EAAI,EAC1D,EAAO,OAAS,WAClB,EAAY,KAAK,EAAY,EAAI,CAAC,EAEpC,CAEF,IAAM,EAAU,CAAC,GAAG,EAAK,CACrB,EACE,EAAkB,EAAE,CACpB,EAA+B,EAAE,CAGvC,KAAQ,EAAM,EAAQ,OAAO,EAAG,CAC9B,IAAI,EACJ,GAAI,OAAO,KAAK,EAAI,CAAE,CACpB,IAAI,EAAM,EAAI,QAAQ,OAAQ,GAAG,CACjC,GAAI,EAAI,SAAS,IAAI,CAAE,CACrB,GAAM,CAAC,EAAM,GAAa,EAAI,MAAM,IAAK,EAAE,CAC3C,EAAM,EAAK,MAAM,CACjB,EAAQ,EAAU,MAAM,CAE1B,EAAM,EAAY,EAAI,CACtB,EAAM,EAAM,IAAQ,EAChB,EAAY,SAAS,EAAI,CAC3B,EAAQ,GAAO,IAGf,EAAQ,GAAS,EAAQ,OAAO,EAAI,GACpC,EAAQ,GAAO,QAIjB,EAAM,KAAK,EAAI,CAYnB,MAAO,CARY,EAAU,EAAO,SAAW,EAAK,IAAW,CAC7D,IAAI,EAAQ,EAAQ,EAAY,EAAI,EAIpC,OAHI,EAAO,OAAS,UAAY,GAAS,OACvC,EAAQ,EAAe,EAAM,EAExB,EAAkB,EAAQ,EAAM,EACvC,CAEkB,EAAM,CAG5B,SAAgB,EAAkB,EAAyB,CACzD,EAAO,EAAmB,EAAO,CAAE,iCAAiC,CAEpE,IAAM,EAAkB,EAAE,CAc1B,OAZA,EAAU,EAAO,SAAW,EAAK,IAAsB,CACrD,IAAI,EAAI,KAAK,EAAc,EAAI,GAC3B,EAAO,OAAO,WAChB,GAAK,MAAM,EAAc,EAAO,MAAM,SAAS,IAC7C,EAAO,OAAS,YAClB,GAAK,IAAI,EAAO,QAClB,EAAM,KAAK,EAAE,CACb,IAAM,EAAO,EAAO,OAAO,SAAW,EAAO,OAAO,KAChD,GACF,EAAM,KAAK,KAAK,IAAO,EACzB,CAEK,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"parse-args.mjs","names":[],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgB,gBAAmB,QAAiB,OAAY,SAAS,QAAQ,EAAE,EAAiB;AAClG,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAgC,EAAE;CACxC,MAAM,cAAwB,EAAE;AAEhC,WAAU,OAAO,UAAW,KAAK,WAAsB;AACrD,MAAI,OAAO,OAAO,SAChB,OAAM,YAAY,OAAO,MAAM,SAAS,IAAI,YAAY,IAAI;AAC9D,MAAI,OAAO,SAAS,UAClB,aAAY,KAAK,YAAY,IAAI,CAAC;GAEpC;CAEF,MAAM,UAAU,CAAC,GAAG,KAAK;CACzB,IAAI;CACJ,MAAM,QAAkB,EAAE;CAC1B,MAAM,UAA+B,EAAE;AAGvC,QAAQ,MAAM,QAAQ,OAAO,EAAG;EAC9B,IAAI;AACJ,MAAI,OAAO,KAAK,IAAI,EAAE;GACpB,IAAI,MAAM,IAAI,QAAQ,QAAQ,GAAG;AACjC,OAAI,IAAI,SAAS,IAAI,EAAE;IACrB,MAAM,CAAC,MAAM,aAAa,IAAI,MAAM,KAAK,EAAE;AAC3C,UAAM,KAAK,MAAM;AACjB,YAAQ,UAAU,MAAM;;AAE1B,SAAM,YAAY,IAAI;AACtB,SAAM,MAAM,QAAQ;AACpB,OAAI,YAAY,SAAS,IAAI,CAC3B,SAAQ,OAAO;QAEZ;AACH,YAAQ,SAAS,QAAQ,OAAO,IAAI;AACpC,YAAQ,OAAO;;QAIjB,OAAM,KAAK,IAAI;;AAYnB,QAAO,CARY,UAAU,OAAO,UAAW,KAAK,WAAW;EAC7D,IAAI,QAAQ,QAAQ,YAAY,IAAI;AACpC,MAAI,OAAO,SAAS,YAAY,SAAS,KACvC,SAAQ,eAAe,MAAM;AAE/B,SAAO,kBAAkB,QAAQ,MAAM;GACvC,EAEkB,MAAM;;AAG5B,SAAgB,eAAkB,QAAyB;AACzD,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,EAAE;AAE1B,WAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,KAAK,cAAc,IAAI;AAC/B,MAAI,OAAO,OAAO,SAChB,MAAK,MAAM,cAAc,OAAO,MAAM,SAAS;AACjD,MAAI,OAAO,SAAS,UAClB,MAAK,IAAI,OAAO;AAClB,QAAM,KAAK,EAAE;EACb,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,OAAO;AACpD,MAAI,KACF,OAAM,KAAK,KAAK,OAAO;GACzB;AAEF,QAAO,MAAM,KAAK,KAAK"}
@@ -1,4 +1,49 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../assert.cjs`),t=require(`../data/camelcase.cjs`),n=require(`../data/convert.cjs`),r=require(`../data/object.cjs`),i=require(`./utils.cjs`),a=require(`./parse-object.cjs`);function o(o,s){e.assert(o?._object,`schema should be of type object`),e.assert(i.isSchemaObjectFlat(o),`schema should be a flat object`);let{env:c=process?.env??{},prefix:l=``,prefixOptional:u=!1}=s??{},d=l.length,f=s?.existing??{};return r.objectMap(o._object,(e,r)=>{let i=f[e]??r._default;if(r._meta?.envSkip)return i;let o=t.fromCamelCase(e,`_`).toUpperCase(),s=l+t.fromCamelCase(e,`_`).toUpperCase(),p=c[o];return d>0&&(p=u===!0?c[s]??p:c[s]),p===void 0?i:(r.type===`number`?p=n.valueToInteger(p,r._default):r.type===`boolean`&&(p=r._default===!0?n.valueToBooleanNotFalse(p):n.valueToBoolean(p,!1)),a.schemaParseObject(r,p))})}function s(n,a=``,o=!1,s=!1){e.assert(i.isSchemaObjectFlat(n),`schema should be a flat object`);let c=[];return r.objectMap(n._object,(e,n)=>{if((n._meta?.envPrivate||n._meta?.envSkip)&&!s)return;let r=n._meta?.envDesc??n._meta?.desc;r&&r.trim().split(`
2
- `).forEach(e=>{c.push(`# ${e.trim()}`)}),c.push(`${o?`# `:``}${a+t.fromCamelCase(e,`_`).toUpperCase()}=${n._default??``}`),c.push(``)}),c.join(`
3
- `)}exports.parseSchemaEnv=o,exports.stringFromSchemaEnv=s;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_common_assert = require('../assert.cjs');
3
+ const require_common_data_camelcase = require('../data/camelcase.cjs');
4
+ const require_common_data_convert = require('../data/convert.cjs');
5
+ const require_common_data_object = require('../data/object.cjs');
6
+ const require_common_schema_utils = require('./utils.cjs');
7
+ const require_common_schema_parse_object = require('./parse-object.cjs');
8
+
9
+ //#region src/common/schema/parse-env.ts
10
+ function parseSchemaEnv(schema, opt) {
11
+ require_common_assert.assert(schema?._object, "schema should be of type object");
12
+ require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
13
+ const { env = process?.env ?? {}, prefix = "", prefixOptional = false } = opt ?? {};
14
+ const pl = prefix.length;
15
+ const existing = opt?.existing ?? {};
16
+ return require_common_data_object.objectMap(schema._object, (key, schema) => {
17
+ const defaultValue = existing[key] ?? schema._default;
18
+ if (schema._meta?.envSkip) return defaultValue;
19
+ const envKey = require_common_data_camelcase.fromCamelCase(key, "_").toUpperCase();
20
+ const envKeyWithPrefix = prefix + require_common_data_camelcase.fromCamelCase(key, "_").toUpperCase();
21
+ let value = env[envKey];
22
+ if (pl > 0) if (prefixOptional === true) value = env[envKeyWithPrefix] ?? value;
23
+ else value = env[envKeyWithPrefix];
24
+ if (value === void 0) return defaultValue;
25
+ if (schema.type === "number") value = require_common_data_convert.valueToInteger(value, schema._default);
26
+ else if (schema.type === "boolean") if (schema._default === true) value = require_common_data_convert.valueToBooleanNotFalse(value);
27
+ else value = require_common_data_convert.valueToBoolean(value, false);
28
+ return require_common_schema_parse_object.schemaParseObject(schema, value);
29
+ });
30
+ }
31
+ function stringFromSchemaEnv(schema, prefix = "", commentOut = false, showPrivate = false) {
32
+ require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
33
+ const lines = [];
34
+ require_common_data_object.objectMap(schema._object, (key, schema) => {
35
+ if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate) return;
36
+ const desc = schema._meta?.envDesc ?? schema._meta?.desc;
37
+ if (desc) desc.trim().split("\n").forEach((line) => {
38
+ lines.push(`# ${line.trim()}`);
39
+ });
40
+ lines.push(`${commentOut ? "# " : ""}${prefix + require_common_data_camelcase.fromCamelCase(key, "_").toUpperCase()}=${schema._default ?? ""}`);
41
+ lines.push("");
42
+ });
43
+ return lines.join("\n");
44
+ }
45
+
46
+ //#endregion
47
+ exports.parseSchemaEnv = parseSchemaEnv;
48
+ exports.stringFromSchemaEnv = stringFromSchemaEnv;
4
49
  //# sourceMappingURL=parse-env.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-env.cjs","names":["isSchemaObjectFlat","objectMap","fromCamelCase","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject"],"sources":["../../../src/common/schema/parse-env.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"],"mappings":"iQAyBA,SAAgB,EAAkB,EAAiB,EAA8B,CAC/E,EAAA,OAAO,GAAQ,QAAS,kCAAkC,CAC1D,EAAA,OAAOA,EAAAA,mBAAmB,EAAO,CAAE,iCAAiC,CAEpE,GAAM,CAEJ,MAAO,SAAS,KAAO,EAAE,CACzB,SAAS,GACT,iBAAiB,IACf,GAAO,EAAE,CACP,EAAK,EAAO,OACZ,EAAgB,GAAK,UAAY,EAAE,CAEzC,OAAOC,EAAAA,UAAU,EAAO,SAAU,EAAK,IAAW,CAChD,IAAM,EAAe,EAAS,IAAQ,EAAO,SAC7C,GAAI,EAAO,OAAO,QAChB,OAAO,EAET,IAAM,EAASC,EAAAA,cAAc,EAAK,IAAI,CAAC,aAAa,CAC9C,EAAmB,EAASA,EAAAA,cAAc,EAAK,IAAI,CAAC,aAAa,CAEnE,EAAa,EAAI,GAwBrB,OAtBI,EAAK,IACP,AAIE,EAJE,IAAmB,GACb,EAAI,IAAqB,EAGzB,EAAI,IAIZ,IAAU,IAAA,GACL,GAGL,EAAO,OAAS,SAClB,EAAQC,EAAAA,eAAe,EAAO,EAAO,SAAS,CAEvC,EAAO,OAAS,YACvB,AAGE,EAHE,EAAO,WAAa,GACdC,EAAAA,uBAAuB,EAAM,CAE7BC,EAAAA,eAAe,EAAO,GAAM,EAEjCC,EAAAA,kBAAkB,EAAQ,EAAM,GACvC,CAGJ,SAAgB,EAAuB,EAAiB,EAAS,GAAI,EAAa,GAAO,EAAc,GAAe,CACpH,EAAA,OAAON,EAAAA,mBAAmB,EAAO,CAAE,iCAAiC,CACpE,IAAM,EAAkB,EAAE,CAa1B,OAZA,EAAA,UAAU,EAAO,SAAW,EAAK,IAAW,CAC1C,IAAK,EAAO,OAAO,YAAc,EAAO,OAAO,UAAY,CAAC,EAC1D,OACF,IAAM,EAAO,EAAO,OAAO,SAAW,EAAO,OAAO,KAChD,GACF,EAAK,MAAM,CAAC,MAAM;EAAK,CAAC,QAAS,GAAiB,CAChD,EAAM,KAAK,KAAK,EAAK,MAAM,GAAG,EAC9B,CAEJ,EAAM,KAAK,GAAG,EAAa,KAAO,KAAK,EAASE,EAAAA,cAAc,EAAK,IAAI,CAAC,aAAa,CAAC,GAAG,EAAO,UAAY,KAAK,CACjH,EAAM,KAAK,GAAG,EACd,CACK,EAAM,KAAK;EAAK"}
1
+ {"version":3,"file":"parse-env.cjs","names":["isSchemaObjectFlat","objectMap","fromCamelCase","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject"],"sources":["../../../src/common/schema/parse-env.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;;;AAyBA,SAAgB,eAAkB,QAAiB,KAA8B;AAC/E,8BAAO,QAAQ,SAAS,kCAAkC;AAC1D,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,EAEJ,MAAO,SAAS,OAAO,EAAE,EACzB,SAAS,IACT,iBAAiB,UACf,OAAO,EAAE;CACb,MAAM,KAAK,OAAO;CAClB,MAAM,WAAgB,KAAK,YAAY,EAAE;AAEzC,QAAOC,qCAAU,OAAO,UAAU,KAAK,WAAW;EAChD,MAAM,eAAe,SAAS,QAAQ,OAAO;AAC7C,MAAI,OAAO,OAAO,QAChB,QAAO;EAET,MAAM,SAASC,4CAAc,KAAK,IAAI,CAAC,aAAa;EACpD,MAAM,mBAAmB,SAASA,4CAAc,KAAK,IAAI,CAAC,aAAa;EAEvE,IAAI,QAAa,IAAI;AAErB,MAAI,KAAK,EACP,KAAI,mBAAmB,KACrB,SAAQ,IAAI,qBAAqB;MAGjC,SAAQ,IAAI;AAIhB,MAAI,UAAU,OACZ,QAAO;AAGT,MAAI,OAAO,SAAS,SAClB,SAAQC,2CAAe,OAAO,OAAO,SAAS;WAEvC,OAAO,SAAS,UACvB,KAAI,OAAO,aAAa,KACtB,SAAQC,mDAAuB,MAAM;MAErC,SAAQC,2CAAe,OAAO,MAAM;AAExC,SAAOC,qDAAkB,QAAQ,MAAM;GACvC;;AAGJ,SAAgB,oBAAuB,QAAiB,SAAS,IAAI,aAAa,OAAO,cAAc,OAAe;AACpH,8BAAON,+CAAmB,OAAO,EAAE,iCAAiC;CACpE,MAAM,QAAkB,EAAE;AAC1B,sCAAU,OAAO,UAAW,KAAK,WAAW;AAC1C,OAAK,OAAO,OAAO,cAAc,OAAO,OAAO,YAAY,CAAC,YAC1D;EACF,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,OAAO;AACpD,MAAI,KACF,MAAK,MAAM,CAAC,MAAM,KAAK,CAAC,SAAS,SAAiB;AAChD,SAAM,KAAK,KAAK,KAAK,MAAM,GAAG;IAC9B;AAEJ,QAAM,KAAK,GAAG,aAAa,OAAO,KAAK,SAASE,4CAAc,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,OAAO,YAAY,KAAK;AACjH,QAAM,KAAK,GAAG;GACd;AACF,QAAO,MAAM,KAAK,KAAK"}
@@ -1,4 +1,47 @@
1
- import{assert as e}from"../assert.mjs";import{fromCamelCase as t}from"../data/camelcase.mjs";import{valueToBoolean as n,valueToBooleanNotFalse as r,valueToInteger as i}from"../data/convert.mjs";import{objectMap as a}from"../data/object.mjs";import{isSchemaObjectFlat as o}from"./utils.mjs";import{schemaParseObject as s}from"./parse-object.mjs";function c(c,l){e(c?._object,`schema should be of type object`),e(o(c),`schema should be a flat object`);let{env:u=process?.env??{},prefix:d=``,prefixOptional:f=!1}=l??{},p=d.length,m=l?.existing??{};return a(c._object,(e,a)=>{let o=m[e]??a._default;if(a._meta?.envSkip)return o;let c=t(e,`_`).toUpperCase(),l=d+t(e,`_`).toUpperCase(),h=u[c];return p>0&&(h=f===!0?u[l]??h:u[l]),h===void 0?o:(a.type===`number`?h=i(h,a._default):a.type===`boolean`&&(h=a._default===!0?r(h):n(h,!1)),s(a,h))})}function l(n,r=``,i=!1,s=!1){e(o(n),`schema should be a flat object`);let c=[];return a(n._object,(e,n)=>{if((n._meta?.envPrivate||n._meta?.envSkip)&&!s)return;let a=n._meta?.envDesc??n._meta?.desc;a&&a.trim().split(`
2
- `).forEach(e=>{c.push(`# ${e.trim()}`)}),c.push(`${i?`# `:``}${r+t(e,`_`).toUpperCase()}=${n._default??``}`),c.push(``)}),c.join(`
3
- `)}export{c as parseSchemaEnv,l as stringFromSchemaEnv};
1
+ import { assert } from "../assert.mjs";
2
+ import { fromCamelCase } from "../data/camelcase.mjs";
3
+ import { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from "../data/convert.mjs";
4
+ import { objectMap } from "../data/object.mjs";
5
+ import { isSchemaObjectFlat } from "./utils.mjs";
6
+ import { schemaParseObject } from "./parse-object.mjs";
7
+
8
+ //#region src/common/schema/parse-env.ts
9
+ function parseSchemaEnv(schema, opt) {
10
+ assert(schema?._object, "schema should be of type object");
11
+ assert(isSchemaObjectFlat(schema), "schema should be a flat object");
12
+ const { env = process?.env ?? {}, prefix = "", prefixOptional = false } = opt ?? {};
13
+ const pl = prefix.length;
14
+ const existing = opt?.existing ?? {};
15
+ return objectMap(schema._object, (key, schema) => {
16
+ const defaultValue = existing[key] ?? schema._default;
17
+ if (schema._meta?.envSkip) return defaultValue;
18
+ const envKey = fromCamelCase(key, "_").toUpperCase();
19
+ const envKeyWithPrefix = prefix + fromCamelCase(key, "_").toUpperCase();
20
+ let value = env[envKey];
21
+ if (pl > 0) if (prefixOptional === true) value = env[envKeyWithPrefix] ?? value;
22
+ else value = env[envKeyWithPrefix];
23
+ if (value === void 0) return defaultValue;
24
+ if (schema.type === "number") value = valueToInteger(value, schema._default);
25
+ else if (schema.type === "boolean") if (schema._default === true) value = valueToBooleanNotFalse(value);
26
+ else value = valueToBoolean(value, false);
27
+ return schemaParseObject(schema, value);
28
+ });
29
+ }
30
+ function stringFromSchemaEnv(schema, prefix = "", commentOut = false, showPrivate = false) {
31
+ assert(isSchemaObjectFlat(schema), "schema should be a flat object");
32
+ const lines = [];
33
+ objectMap(schema._object, (key, schema) => {
34
+ if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate) return;
35
+ const desc = schema._meta?.envDesc ?? schema._meta?.desc;
36
+ if (desc) desc.trim().split("\n").forEach((line) => {
37
+ lines.push(`# ${line.trim()}`);
38
+ });
39
+ lines.push(`${commentOut ? "# " : ""}${prefix + fromCamelCase(key, "_").toUpperCase()}=${schema._default ?? ""}`);
40
+ lines.push("");
41
+ });
42
+ return lines.join("\n");
43
+ }
44
+
45
+ //#endregion
46
+ export { parseSchemaEnv, stringFromSchemaEnv };
4
47
  //# sourceMappingURL=parse-env.mjs.map