@leyyo/common 1.0.13 → 1.2.2

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 (334) hide show
  1. package/dist/deploy/deploy.common.d.ts +12 -7
  2. package/dist/deploy/deploy.common.js +29 -10
  3. package/dist/deploy/deploy.common.js.map +1 -1
  4. package/dist/deploy/index.types.d.ts +12 -8
  5. package/dist/error/error.common.d.ts +12 -20
  6. package/dist/error/error.common.js +151 -85
  7. package/dist/error/error.common.js.map +1 -1
  8. package/dist/error/http-error.map.d.ts +6 -0
  9. package/dist/error/http-error.map.js +25 -0
  10. package/dist/error/http-error.map.js.map +1 -0
  11. package/dist/error/index.d.ts +2 -0
  12. package/dist/error/index.js +2 -0
  13. package/dist/error/index.js.map +1 -1
  14. package/dist/error/index.types.d.ts +35 -36
  15. package/dist/error/items/bad-request.error.d.ts +10 -0
  16. package/dist/error/items/bad-request.error.js +16 -0
  17. package/dist/error/items/bad-request.error.js.map +1 -0
  18. package/dist/error/items/caused.error.d.ts +8 -0
  19. package/dist/error/items/caused.error.js +16 -0
  20. package/dist/error/items/caused.error.js.map +1 -0
  21. package/dist/error/items/conflict.error.d.ts +10 -0
  22. package/dist/error/items/conflict.error.js +16 -0
  23. package/dist/error/items/conflict.error.js.map +1 -0
  24. package/dist/error/items/content-too-large.error.d.ts +10 -0
  25. package/dist/error/items/content-too-large.error.js +16 -0
  26. package/dist/error/items/content-too-large.error.js.map +1 -0
  27. package/dist/error/items/developer.error.d.ts +4 -0
  28. package/dist/error/items/developer.error.js +9 -0
  29. package/dist/error/items/developer.error.js.map +1 -0
  30. package/dist/error/items/forbidden.error.d.ts +10 -0
  31. package/dist/error/items/forbidden.error.js +16 -0
  32. package/dist/error/items/forbidden.error.js.map +1 -0
  33. package/dist/error/items/gone.error.d.ts +10 -0
  34. package/dist/error/items/gone.error.js +16 -0
  35. package/dist/error/items/gone.error.js.map +1 -0
  36. package/dist/error/items/http.error.d.ts +15 -0
  37. package/dist/error/items/http.error.js +21 -0
  38. package/dist/error/items/http.error.js.map +1 -0
  39. package/dist/error/items/index.d.ts +21 -0
  40. package/dist/error/items/index.js +38 -0
  41. package/dist/error/items/index.js.map +1 -0
  42. package/dist/error/items/invalid-value.error.d.ts +6 -0
  43. package/dist/error/items/invalid-value.error.js +11 -0
  44. package/dist/error/items/invalid-value.error.js.map +1 -0
  45. package/dist/error/items/length-required.error.d.ts +10 -0
  46. package/dist/error/items/length-required.error.js +16 -0
  47. package/dist/error/items/length-required.error.js.map +1 -0
  48. package/dist/error/items/leyyo.error.d.ts +50 -0
  49. package/dist/error/items/leyyo.error.js +98 -0
  50. package/dist/error/items/leyyo.error.js.map +1 -0
  51. package/dist/error/items/method-not-allowed.error.d.ts +10 -0
  52. package/dist/error/items/method-not-allowed.error.js +16 -0
  53. package/dist/error/items/method-not-allowed.error.js.map +1 -0
  54. package/dist/error/items/multiple.error.d.ts +11 -0
  55. package/dist/error/items/multiple.error.js +34 -0
  56. package/dist/error/items/multiple.error.js.map +1 -0
  57. package/dist/error/items/not-acceptable.error.d.ts +10 -0
  58. package/dist/error/items/not-acceptable.error.js +16 -0
  59. package/dist/error/items/not-acceptable.error.js.map +1 -0
  60. package/dist/error/items/not-found.error.d.ts +10 -0
  61. package/dist/error/items/not-found.error.js +16 -0
  62. package/dist/error/items/not-found.error.js.map +1 -0
  63. package/dist/error/items/payment-required.error.d.ts +10 -0
  64. package/dist/error/items/payment-required.error.js +16 -0
  65. package/dist/error/items/payment-required.error.js.map +1 -0
  66. package/dist/error/items/precondition-failed.error.d.ts +10 -0
  67. package/dist/error/items/precondition-failed.error.js +16 -0
  68. package/dist/error/items/precondition-failed.error.js.map +1 -0
  69. package/dist/error/items/proxy-authentication-required.error.d.ts +10 -0
  70. package/dist/error/items/proxy-authentication-required.error.js +16 -0
  71. package/dist/error/items/proxy-authentication-required.error.js.map +1 -0
  72. package/dist/error/items/request-timeout.error.d.ts +10 -0
  73. package/dist/error/items/request-timeout.error.js +16 -0
  74. package/dist/error/items/request-timeout.error.js.map +1 -0
  75. package/dist/error/items/silent.error.d.ts +11 -0
  76. package/dist/error/items/silent.error.js +19 -0
  77. package/dist/error/items/silent.error.js.map +1 -0
  78. package/dist/error/items/unauthorized.error.d.ts +10 -0
  79. package/dist/error/items/unauthorized.error.js +16 -0
  80. package/dist/error/items/unauthorized.error.js.map +1 -0
  81. package/dist/event/event.common.d.ts +77 -0
  82. package/dist/event/event.common.js +308 -0
  83. package/dist/event/event.common.js.map +1 -0
  84. package/dist/event/event.error.d.ts +3 -0
  85. package/dist/event/event.error.js +8 -0
  86. package/dist/event/event.error.js.map +1 -0
  87. package/dist/event/index.js.map +1 -0
  88. package/dist/event/index.types.d.ts +261 -0
  89. package/dist/{hook → event}/index.types.js.map +1 -1
  90. package/dist/hub/hub.channel.d.ts +27 -0
  91. package/dist/hub/hub.channel.js +83 -0
  92. package/dist/hub/hub.channel.js.map +1 -0
  93. package/dist/hub/hub.common.d.ts +27 -0
  94. package/dist/hub/hub.common.js +92 -0
  95. package/dist/hub/hub.common.js.map +1 -0
  96. package/dist/hub/index.js.map +1 -0
  97. package/dist/hub/index.types.d.ts +105 -0
  98. package/dist/{to → hub}/index.types.js.map +1 -1
  99. package/dist/index.d.ts +5 -23
  100. package/dist/index.js +7 -25
  101. package/dist/index.js.map +1 -1
  102. package/dist/leyyo/index.d.ts +0 -1
  103. package/dist/leyyo/index.js +0 -1
  104. package/dist/leyyo/index.js.map +1 -1
  105. package/dist/leyyo/index.types.d.ts +4 -22
  106. package/dist/leyyo/leyyo.d.ts +4 -22
  107. package/dist/leyyo/leyyo.js +12 -39
  108. package/dist/leyyo/leyyo.js.map +1 -1
  109. package/dist/log/index.types.d.ts +19 -26
  110. package/dist/log/log.common.d.ts +1 -1
  111. package/dist/log/log.common.js +24 -49
  112. package/dist/log/log.common.js.map +1 -1
  113. package/dist/log/logger.error.d.ts +3 -0
  114. package/dist/log/logger.error.js +8 -0
  115. package/dist/log/logger.error.js.map +1 -0
  116. package/dist/log/logger.instance.d.ts +7 -9
  117. package/dist/log/logger.instance.js +40 -50
  118. package/dist/log/logger.instance.js.map +1 -1
  119. package/dist/name/index.types.d.ts +1 -1
  120. package/dist/name/name.common.js +64 -37
  121. package/dist/name/name.common.js.map +1 -1
  122. package/dist/name/name.error.d.ts +3 -0
  123. package/dist/name/name.error.js +8 -0
  124. package/dist/name/name.error.js.map +1 -0
  125. package/dist/opt/index.js.map +1 -0
  126. package/dist/opt/index.types.d.ts +33 -0
  127. package/dist/{fqn → opt}/index.types.js.map +1 -1
  128. package/dist/opt/opt.common.d.ts +15 -0
  129. package/dist/opt/opt.common.js +93 -0
  130. package/dist/opt/opt.common.js.map +1 -0
  131. package/dist/repo/index.types.d.ts +1 -19
  132. package/dist/repo/repo.common.d.ts +0 -6
  133. package/dist/repo/repo.common.js +0 -20
  134. package/dist/repo/repo.common.js.map +1 -1
  135. package/dist/shared/index.d.ts +3 -0
  136. package/dist/shared/index.enum.d.ts +7 -0
  137. package/dist/{exception/index.types.js → shared/index.enum.js} +1 -1
  138. package/dist/shared/index.enum.js.map +1 -0
  139. package/dist/shared/index.fqn.d.ts +3 -0
  140. package/dist/shared/index.fqn.js +3 -0
  141. package/dist/shared/index.fqn.js.map +1 -0
  142. package/dist/shared/index.js +3 -0
  143. package/dist/shared/index.js.map +1 -1
  144. package/dist/shared/index.json.d.ts +33 -0
  145. package/dist/shared/index.json.js +3 -0
  146. package/dist/shared/index.json.js.map +1 -0
  147. package/dist/shared/index.types.d.ts +78 -100
  148. package/dist/shared/index.types.js +31 -0
  149. package/dist/shared/index.types.js.map +1 -1
  150. package/dist/util/delay.d.ts +9 -0
  151. package/dist/util/delay.js +21 -0
  152. package/dist/util/delay.js.map +1 -0
  153. package/dist/util/empty.fn.d.ts +8 -0
  154. package/dist/util/empty.fn.js +11 -0
  155. package/dist/util/empty.fn.js.map +1 -0
  156. package/dist/util/index.d.ts +5 -0
  157. package/dist/{developer → util}/index.js +5 -2
  158. package/dist/util/index.js.map +1 -0
  159. package/dist/util/one-or-more.d.ts +8 -0
  160. package/dist/util/one-or-more.js +19 -0
  161. package/dist/util/one-or-more.js.map +1 -0
  162. package/dist/util/secure-clone.d.ts +3 -0
  163. package/dist/util/secure-clone.js +38 -0
  164. package/dist/util/secure-clone.js.map +1 -0
  165. package/dist/util/secure-json.d.ts +37 -0
  166. package/dist/util/secure-json.js +126 -0
  167. package/dist/util/secure-json.js.map +1 -0
  168. package/package.json +2 -2
  169. package/dist/assertion/assertion.common.d.ts +0 -183
  170. package/dist/assertion/assertion.common.js +0 -663
  171. package/dist/assertion/assertion.common.js.map +0 -1
  172. package/dist/assertion/index.js.map +0 -1
  173. package/dist/assertion/index.types.d.ts +0 -661
  174. package/dist/assertion/index.types.js.map +0 -1
  175. package/dist/descriptor/descriptor.common.d.ts +0 -22
  176. package/dist/descriptor/descriptor.common.js +0 -117
  177. package/dist/descriptor/descriptor.common.js.map +0 -1
  178. package/dist/descriptor/index.js.map +0 -1
  179. package/dist/descriptor/index.types.d.ts +0 -23
  180. package/dist/descriptor/index.types.js.map +0 -1
  181. package/dist/developer/developer.common.d.ts +0 -32
  182. package/dist/developer/developer.common.js +0 -245
  183. package/dist/developer/developer.common.js.map +0 -1
  184. package/dist/developer/index.d.ts +0 -2
  185. package/dist/developer/index.errors.d.ts +0 -13
  186. package/dist/developer/index.errors.js +0 -24
  187. package/dist/developer/index.errors.js.map +0 -1
  188. package/dist/developer/index.js.map +0 -1
  189. package/dist/developer/index.types.d.ts +0 -85
  190. package/dist/developer/index.types.js.map +0 -1
  191. package/dist/exception/assertion.exception.d.ts +0 -5
  192. package/dist/exception/assertion.exception.js +0 -12
  193. package/dist/exception/assertion.exception.js.map +0 -1
  194. package/dist/exception/caused.exception.d.ts +0 -5
  195. package/dist/exception/caused.exception.js +0 -13
  196. package/dist/exception/caused.exception.js.map +0 -1
  197. package/dist/exception/developer.exception.d.ts +0 -5
  198. package/dist/exception/developer.exception.js +0 -12
  199. package/dist/exception/developer.exception.js.map +0 -1
  200. package/dist/exception/exception.d.ts +0 -32
  201. package/dist/exception/exception.js +0 -117
  202. package/dist/exception/exception.js.map +0 -1
  203. package/dist/exception/index.d.ts +0 -7
  204. package/dist/exception/index.js +0 -24
  205. package/dist/exception/index.js.map +0 -1
  206. package/dist/exception/index.types.d.ts +0 -30
  207. package/dist/exception/index.types.js.map +0 -1
  208. package/dist/exception/invalid-value.exception.d.ts +0 -5
  209. package/dist/exception/invalid-value.exception.js +0 -12
  210. package/dist/exception/invalid-value.exception.js.map +0 -1
  211. package/dist/exception/multiple.exception.d.ts +0 -8
  212. package/dist/exception/multiple.exception.js +0 -34
  213. package/dist/exception/multiple.exception.js.map +0 -1
  214. package/dist/fqn/fqn.common.d.ts +0 -20
  215. package/dist/fqn/fqn.common.js +0 -123
  216. package/dist/fqn/fqn.common.js.map +0 -1
  217. package/dist/fqn/index.js.map +0 -1
  218. package/dist/fqn/index.types.d.ts +0 -20
  219. package/dist/fqn/index.types.js +0 -3
  220. package/dist/hook/hook.common.d.ts +0 -25
  221. package/dist/hook/hook.common.js +0 -95
  222. package/dist/hook/hook.common.js.map +0 -1
  223. package/dist/hook/index.d.ts +0 -1
  224. package/dist/hook/index.js +0 -18
  225. package/dist/hook/index.js.map +0 -1
  226. package/dist/hook/index.types.d.ts +0 -72
  227. package/dist/hook/index.types.js +0 -3
  228. package/dist/is/index.d.ts +0 -1
  229. package/dist/is/index.js +0 -18
  230. package/dist/is/index.js.map +0 -1
  231. package/dist/is/index.types.d.ts +0 -240
  232. package/dist/is/index.types.js +0 -3
  233. package/dist/is/index.types.js.map +0 -1
  234. package/dist/is/is.common.d.ts +0 -71
  235. package/dist/is/is.common.js +0 -177
  236. package/dist/is/is.common.js.map +0 -1
  237. package/dist/leyyo/leyyo-hook.common.d.ts +0 -10
  238. package/dist/leyyo/leyyo-hook.common.js +0 -18
  239. package/dist/leyyo/leyyo-hook.common.js.map +0 -1
  240. package/dist/mixin/index.d.ts +0 -1
  241. package/dist/mixin/index.js +0 -18
  242. package/dist/mixin/index.js.map +0 -1
  243. package/dist/mixin/index.types.d.ts +0 -19
  244. package/dist/mixin/index.types.js +0 -3
  245. package/dist/mixin/index.types.js.map +0 -1
  246. package/dist/mixin/mixin.common.d.ts +0 -22
  247. package/dist/mixin/mixin.common.js +0 -165
  248. package/dist/mixin/mixin.common.js.map +0 -1
  249. package/dist/system/country-code.d.ts +0 -10
  250. package/dist/system/country-code.js +0 -19
  251. package/dist/system/country-code.js.map +0 -1
  252. package/dist/system/environment.d.ts +0 -7
  253. package/dist/system/environment.js +0 -6
  254. package/dist/system/environment.js.map +0 -1
  255. package/dist/system/index.d.ts +0 -7
  256. package/dist/system/index.js +0 -24
  257. package/dist/system/index.js.map +0 -1
  258. package/dist/system/index.types.d.ts +0 -6
  259. package/dist/system/index.types.js +0 -3
  260. package/dist/system/index.types.js.map +0 -1
  261. package/dist/system/language-code.d.ts +0 -7
  262. package/dist/system/language-code.js +0 -11
  263. package/dist/system/language-code.js.map +0 -1
  264. package/dist/system/locale-code.d.ts +0 -9
  265. package/dist/system/locale-code.js +0 -16
  266. package/dist/system/locale-code.js.map +0 -1
  267. package/dist/system/sys-class.d.ts +0 -4
  268. package/dist/system/sys-class.js +0 -21
  269. package/dist/system/sys-class.js.map +0 -1
  270. package/dist/system/sys-function.d.ts +0 -4
  271. package/dist/system/sys-function.js +0 -8
  272. package/dist/system/sys-function.js.map +0 -1
  273. package/dist/system/system.common.d.ts +0 -11
  274. package/dist/system/system.common.js +0 -64
  275. package/dist/system/system.common.js.map +0 -1
  276. package/dist/test/index.d.ts +0 -2
  277. package/dist/test/index.js +0 -19
  278. package/dist/test/index.js.map +0 -1
  279. package/dist/test/index.types.d.ts +0 -9
  280. package/dist/test/index.types.js +0 -3
  281. package/dist/test/index.types.js.map +0 -1
  282. package/dist/test/test.common.d.ts +0 -14
  283. package/dist/test/test.common.js +0 -48
  284. package/dist/test/test.common.js.map +0 -1
  285. package/dist/test/tested.d.ts +0 -1
  286. package/dist/test/tested.js +0 -9
  287. package/dist/test/tested.js.map +0 -1
  288. package/dist/to/index.d.ts +0 -7
  289. package/dist/to/index.js +0 -24
  290. package/dist/to/index.js.map +0 -1
  291. package/dist/to/index.types.d.ts +0 -76
  292. package/dist/to/index.types.js +0 -3
  293. package/dist/to/key-value.d.ts +0 -4
  294. package/dist/to/key-value.js +0 -8
  295. package/dist/to/key-value.js.map +0 -1
  296. package/dist/to/list.d.ts +0 -20
  297. package/dist/to/list.js +0 -38
  298. package/dist/to/list.js.map +0 -1
  299. package/dist/to/primitive.d.ts +0 -7
  300. package/dist/to/primitive.js +0 -6
  301. package/dist/to/primitive.js.map +0 -1
  302. package/dist/to/real-value.d.ts +0 -7
  303. package/dist/to/real-value.js +0 -6
  304. package/dist/to/real-value.js.map +0 -1
  305. package/dist/to/to.common.d.ts +0 -77
  306. package/dist/to/to.common.js +0 -1079
  307. package/dist/to/to.common.js.map +0 -1
  308. package/dist/to/weak-false.d.ts +0 -7
  309. package/dist/to/weak-false.js +0 -6
  310. package/dist/to/weak-false.js.map +0 -1
  311. package/dist/to/weak-true.d.ts +0 -7
  312. package/dist/to/weak-true.js +0 -9
  313. package/dist/to/weak-true.js.map +0 -1
  314. package/dist/wrapper/index.d.ts +0 -2
  315. package/dist/wrapper/index.js +0 -19
  316. package/dist/wrapper/index.js.map +0 -1
  317. package/dist/wrapper/index.types.d.ts +0 -29
  318. package/dist/wrapper/index.types.js +0 -3
  319. package/dist/wrapper/index.types.js.map +0 -1
  320. package/dist/wrapper/wrap.d.ts +0 -7
  321. package/dist/wrapper/wrap.js +0 -11
  322. package/dist/wrapper/wrap.js.map +0 -1
  323. package/dist/wrapper/wrapper.common.d.ts +0 -26
  324. package/dist/wrapper/wrapper.common.js +0 -82
  325. package/dist/wrapper/wrapper.common.js.map +0 -1
  326. /package/dist/{assertion → event}/index.d.ts +0 -0
  327. /package/dist/{assertion → event}/index.js +0 -0
  328. /package/dist/{assertion → event}/index.types.js +0 -0
  329. /package/dist/{descriptor → hub}/index.d.ts +0 -0
  330. /package/dist/{descriptor → hub}/index.js +0 -0
  331. /package/dist/{descriptor → hub}/index.types.js +0 -0
  332. /package/dist/{fqn → opt}/index.d.ts +0 -0
  333. /package/dist/{fqn → opt}/index.js +0 -0
  334. /package/dist/{developer → opt}/index.types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name.error.js","sourceRoot":"","sources":["../../src/name/name.error.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAEpC,MAAa,SAAU,SAAQ,kBAAU;CAExC;AAFD,8BAEC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opt/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -0,0 +1,33 @@
1
+ import type { ClassLike, Describable, ExtendedType, Fnc, InitLike, Obj, OneOrMore, SetOrMore, ShiftMain, ShiftSecure } from "../shared";
2
+ export type OptReason = 'invalid' | 'unexpected' | 'not:allowed' | 'not:found' | 'duplicated' | 'empty' | 'conflicted';
3
+ export interface Opt<R extends string = string> extends Obj {
4
+ issue?: SetOrMore<OptReason | R | string> | OneOrMore<OptReason | R | string>;
5
+ message?: SetOrMore<string> | OneOrMore<string>;
6
+ field?: string;
7
+ param?: SetOrMore<unknown> | OneOrMore<unknown>;
8
+ where?: SetOrMore<ClassLike | Fnc | string> | OneOrMore<ClassLike | Fnc | string>;
9
+ value?: SetOrMore<unknown> | OneOrMore<unknown>;
10
+ expected?: SetOrMore<ExtendedType | string> | OneOrMore<ExtendedType | string>;
11
+ type?: SetOrMore<ExtendedType | string> | OneOrMore<ExtendedType | string>;
12
+ method?: SetOrMore<string> | OneOrMore<string>;
13
+ case?: SetOrMore<unknown> | OneOrMore<unknown>;
14
+ desc?: SetOrMore<Describable | string> | OneOrMore<Describable | string> | unknown;
15
+ error?: SetOrMore<{
16
+ name: string;
17
+ message: string;
18
+ }>;
19
+ assert?: SetOrMore<string>;
20
+ [k: string]: unknown;
21
+ }
22
+ export type OptFn<O extends Opt = Opt> = () => O;
23
+ export type OptAny<O extends Opt = Opt> = O | OptFn<O>;
24
+ export interface OptCommonLike extends ShiftSecure<OptCommonSecure> {
25
+ fn<O extends Opt = Opt>(opt: O | Opt): O;
26
+ check<O extends Opt = Opt>(opt: O | OptFn<O> | Opt): O;
27
+ clone<O extends Opt = Opt>(opt: O | OptFn<O> | Opt): O;
28
+ append<O extends Opt = Opt>(opt: O | Opt, appended: O | Opt): O;
29
+ field<O extends Opt = Opt>(opt: O | OptFn<O> | Opt, field: string | number): O;
30
+ add<O extends Opt = Opt>(opt: O | OptFn<O> | Opt, key: keyof O | string, value: unknown): O;
31
+ }
32
+ export interface OptCommonSecure extends ShiftMain<OptCommonLike>, InitLike {
33
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/fqn/index.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/opt/index.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { Opt, OptCommonLike, OptCommonSecure, OptFn } from "./index.types";
2
+ import type { LeyyoLike } from "../leyyo";
3
+ export declare class OptCommon implements OptCommonLike, OptCommonSecure {
4
+ private lyy;
5
+ constructor(lyy: LeyyoLike);
6
+ fn<O extends Opt = Opt>(opt: O | Opt): O;
7
+ check<O extends Opt = Opt>(opt: O | OptFn<O> | Opt): O;
8
+ clone<O extends Opt = Opt>(opt: O | OptFn<O> | Opt): O;
9
+ append<O extends Opt = Opt>(opt: O | Opt, appended: O | Opt): O;
10
+ add<O extends Opt = Opt>(opt: O | OptFn<O> | Opt, key: keyof O | string, value: unknown): O;
11
+ field<O extends Opt = Opt>(opt: O | OptFn<O> | Opt, field: string | number): O;
12
+ get $secure(): OptCommonSecure;
13
+ get $back(): OptCommonLike;
14
+ $init(): void;
15
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptCommon = void 0;
4
+ const internal_1 = require("../internal");
5
+ const util_1 = require("../util");
6
+ class OptCommon {
7
+ constructor(lyy) {
8
+ this.lyy = lyy;
9
+ }
10
+ fn(opt) {
11
+ return opt;
12
+ }
13
+ check(opt) {
14
+ opt = opt !== null && opt !== void 0 ? opt : {};
15
+ if (typeof opt === 'function') {
16
+ opt = opt();
17
+ }
18
+ return opt;
19
+ }
20
+ clone(opt) {
21
+ return (0, util_1.secureClone)(this.check(opt));
22
+ }
23
+ append(opt, appended) {
24
+ if (typeof appended === 'object' && !Array.isArray(appended)) {
25
+ let o = (opt !== null && opt !== void 0 ? opt : {});
26
+ for (const [k, v] of Object.entries(appended)) {
27
+ if (o[k] === undefined) {
28
+ o[k] = v;
29
+ }
30
+ else {
31
+ o = this.add(o, k, v);
32
+ }
33
+ }
34
+ return o;
35
+ }
36
+ return opt;
37
+ }
38
+ add(opt, key, value) {
39
+ let o = this.check(opt);
40
+ if (value === undefined || typeof key !== 'string') {
41
+ return o;
42
+ }
43
+ if (key === 'field') {
44
+ return this.field(o, value);
45
+ }
46
+ if (o[key] === undefined) {
47
+ o[key] = value;
48
+ }
49
+ else if (o[key] instanceof Set) {
50
+ o[key].add(value);
51
+ }
52
+ else {
53
+ o[key] = new Set([o[key], value]);
54
+ }
55
+ return o;
56
+ }
57
+ field(opt, field) {
58
+ const o = this.check(opt);
59
+ const t = typeof field;
60
+ if (!['string', 'number'].includes(t)) {
61
+ return o;
62
+ }
63
+ if (o.field !== undefined) {
64
+ if (typeof o.field !== 'string') {
65
+ o.field = '';
66
+ }
67
+ }
68
+ else {
69
+ o.field = '';
70
+ }
71
+ if (o.field === '') {
72
+ o.field = (t === 'string') ? field : `$.[${field}]`;
73
+ }
74
+ else {
75
+ o.field += (t === 'string') ? `.${field}` : `[${field}]`;
76
+ }
77
+ return o;
78
+ }
79
+ // region secure
80
+ get $secure() {
81
+ return this;
82
+ }
83
+ get $back() {
84
+ return this;
85
+ }
86
+ $init() {
87
+ this.lyy.$secure.$lazyRun(() => {
88
+ this.lyy.event.emit('ly:fqn:register', 'class', internal_1.FQN, OptCommon);
89
+ });
90
+ }
91
+ }
92
+ exports.OptCommon = OptCommon;
93
+ //# sourceMappingURL=opt.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opt.common.js","sourceRoot":"","sources":["../../src/opt/opt.common.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { Dict, InitLike, ShiftMain, ShiftSecure } from "../shared";
2
- import { List } from "../to";
3
2
  /**
4
3
  * Common Repository factory
5
4
  *
@@ -23,23 +22,6 @@ export interface RepoCommonLike extends ShiftSecure<RepoCommonSecure> {
23
22
  * If the array does not exist than it returns null
24
23
  * */
25
24
  getArray<V>(collection: symbol): Array<V>;
26
- /**
27
- * Creates new list with given collection
28
- *
29
- * @param {Array<string>} names
30
- * @return {List<any>}
31
- * */
32
- newList<V>(...names: Array<string>): List<V>;
33
- /**
34
- * Returns a list by given collection
35
- *
36
- * @param {symbol} collection
37
- * @return {List<any>}
38
- *
39
- * Note:
40
- * If the list does not exist than it returns null
41
- * */
42
- getList<V>(collection: symbol): List<V>;
43
25
  /**
44
26
  * Creates new map with given collection
45
27
  *
@@ -118,5 +100,5 @@ export type RepoItem = Dict<number>;
118
100
  * Repo export dictionary which includes items
119
101
  * */
120
102
  export type RepoDetail = Record<RepoType, RepoItem>;
121
- export type RepoType = 'array' | 'list' | 'map' | 'set' | 'record';
103
+ export type RepoType = 'array' | 'map' | 'set' | 'record';
122
104
  export type RepoLengthLambda = (obj: unknown) => number;
@@ -1,10 +1,8 @@
1
- import { List } from "../to";
2
1
  import type { RepoCommonLike, RepoCommonSecure, RepoDetail, RepoItem, RepoType } from "./index.types";
3
2
  import type { LeyyoLike } from "../leyyo";
4
3
  /** @inheritDoc */
5
4
  export declare class RepoCommon implements RepoCommonLike, RepoCommonSecure {
6
5
  private lyy;
7
- private readonly _lists;
8
6
  private readonly _arrays;
9
7
  private readonly _maps;
10
8
  private readonly _sets;
@@ -19,10 +17,6 @@ export declare class RepoCommon implements RepoCommonLike, RepoCommonSecure {
19
17
  $init(): void;
20
18
  private _addDetail;
21
19
  /** @inheritDoc */
22
- newList<V>(...names: Array<string>): List<V>;
23
- /** @inheritDoc */
24
- getList<V>(collection: symbol): List<V>;
25
- /** @inheritDoc */
26
20
  newArray<V>(...names: Array<string>): Array<V>;
27
21
  /** @inheritDoc */
28
22
  getArray<V>(collection: symbol): Array<V>;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RepoCommon = void 0;
4
- const internal_1 = require("../internal");
5
- const to_1 = require("../to");
6
4
  // noinspection JSUnusedLocalSymbols,JSUnusedGlobalSymbols
7
5
  /** @inheritDoc */
8
6
  class RepoCommon {
@@ -14,7 +12,6 @@ class RepoCommon {
14
12
  * */
15
13
  constructor(lyy) {
16
14
  this.lyy = lyy;
17
- this._lists = new Map();
18
15
  this._arrays = new Map();
19
16
  this._maps = new Map();
20
17
  this._sets = new Map();
@@ -22,7 +19,6 @@ class RepoCommon {
22
19
  }
23
20
  $init() {
24
21
  this.lyy.$secure.$lazyRun(() => {
25
- this.lyy.fqn.register(null, RepoCommon, 'class', internal_1.FQN);
26
22
  });
27
23
  }
28
24
  _addDetail(map, result, collection, fn) {
@@ -54,18 +50,6 @@ class RepoCommon {
54
50
  }
55
51
  }
56
52
  }
57
- // region list
58
- /** @inheritDoc */
59
- newList(...names) {
60
- const list = new to_1.List();
61
- this._lists.set(Symbol.for(names.join('/')), list);
62
- return list;
63
- }
64
- /** @inheritDoc */
65
- getList(collection) {
66
- return this._lists.get(collection);
67
- }
68
- // endregion list
69
53
  // region array
70
54
  /** @inheritDoc */
71
55
  newArray(...names) {
@@ -122,9 +106,6 @@ class RepoCommon {
122
106
  case "array":
123
107
  this._addDetail(this._arrays, result, collection, (v) => v.length);
124
108
  return result;
125
- case "list":
126
- this._addDetail(this._lists, result, collection, (v) => v.length);
127
- return result;
128
109
  case "map":
129
110
  this._addDetail(this._maps, result, collection, (v) => v.size);
130
111
  return result;
@@ -147,7 +128,6 @@ class RepoCommon {
147
128
  }
148
129
  else {
149
130
  result['array'] = this.detailItem('array', collection);
150
- result['list'] = this.detailItem('list', collection);
151
131
  result['map'] = this.detailItem('map', collection);
152
132
  result['set'] = this.detailItem('set', collection);
153
133
  result['record'] = this.detailItem('record', collection);
@@ -1 +1 @@
1
- {"version":3,"file":"repo.common.js","sourceRoot":"","sources":["../../src/repo/repo.common.ts"],"names":[],"mappings":";;;AAAA,0CAAgC;AAChC,8BAA2B;AAM3B,0DAA0D;AAC1D,kBAAkB;AAClB,MAAa,UAAU;IAOnB;;;;;SAKK;IACL,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;QAZjB,WAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC1C,YAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC5C,UAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;QACjD,UAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;QACxC,aAAQ,GAAG,IAAI,GAAG,EAA0C,CAAC;IAS9E,CAAC;IAED,KAAK;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAG,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,UAAU,CAAC,GAAkB,EAAE,MAAgB,EAAE,UAAkB,EAAE,EAAoB;QAC7F,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;iBACI,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBAC5D,OAAO;YACX,CAAC;iBACI,CAAC;gBACF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO;QACX,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;iBACI,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;IAED,cAAc;IACd,kBAAkB;IAClB,OAAO,CAAI,GAAG,KAAoB;QAC9B,MAAM,IAAI,GAAG,IAAI,SAAI,EAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAI,UAAkB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAY,CAAC;IAClD,CAAC;IAED,iBAAiB;IAEjB,eAAe;IACf,kBAAkB;IAClB,QAAQ,CAAI,GAAG,KAAoB;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAI,UAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAa,CAAC;IACpD,CAAC;IAED,kBAAkB;IAElB,aAAa;IACb,kBAAkB;IAClB,MAAM,CAAO,GAAG,KAAoB;QAChC,MAAM,GAAG,GAAG,IAAI,GAAS,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAO,UAAkB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;IACnD,CAAC;IAED,gBAAgB;IAEhB,aAAa;IACb,kBAAkB;IAClB,MAAM,CAAI,GAAG,KAAoB;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAM,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAI,UAAkB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC;IAChD,CAAC;IAED,gBAAgB;IAEhB,gBAAgB;IAChB,kBAAkB;IAClB,SAAS,CAA6B,GAAG,KAAoB;QACzD,MAAM,GAAG,GAAG,EAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,SAAS,CAA6B,UAAkB;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAiB,CAAC;IACzD,CAAC;IAED,mBAAmB;IAEnB,gBAAgB;IAChB,kBAAkB;IAClB,UAAU,CAAC,IAAc,EAAE,UAAmB;QAC1C,MAAM,MAAM,GAAG,EAAc,CAAC;QAC9B,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,OAAO;gBACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxE,OAAO,MAAM,CAAC;YAClB,KAAK,MAAM;gBACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjF,OAAO,MAAM,CAAC;YAClB,KAAK,KAAK;gBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtF,OAAO,MAAM,CAAC;YAClB,KAAK,QAAQ;gBACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrJ,OAAO,MAAM,CAAC;YAClB,KAAK,KAAK;gBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7E,OAAO,MAAM,CAAC;YAClB;gBACI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,MAAM,CAAC;QACtB,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,IAAe,EAAE,UAAmB;QACxC,MAAM,MAAM,GAAG,EAAgB,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,mBAAmB;IAEnB,IAAI,KAAK;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAjLD,gCAiLC"}
1
+ {"version":3,"file":"repo.common.js","sourceRoot":"","sources":["../../src/repo/repo.common.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
1
  export * from './index.types';
2
+ export * from './index.json';
3
+ export * from './index.enum';
4
+ export * from './index.fqn';
@@ -0,0 +1,7 @@
1
+ import { EnumAlt, EnumLiteral, EnumMap } from "./index.types";
2
+ export interface EnumCommonLike {
3
+ getEnum(name: string): [EnumMap, EnumAlt?];
4
+ getLiteral(name: string): [EnumLiteral, EnumAlt?];
5
+ getEnumAsync(name: string): Promise<[EnumMap, EnumAlt?]>;
6
+ getLiteralAsync(name: string): Promise<[EnumLiteral, EnumAlt?]>;
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=index.types.js.map
3
+ //# sourceMappingURL=index.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.enum.js","sourceRoot":"","sources":["../../src/shared/index.enum.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface FqnCommonLike {
2
+ getName(value: unknown): string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.fqn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.fqn.js","sourceRoot":"","sources":["../../src/shared/index.fqn.ts"],"names":[],"mappings":""}
@@ -15,4 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./index.types"), exports);
18
+ __exportStar(require("./index.json"), exports);
19
+ __exportStar(require("./index.enum"), exports);
20
+ __exportStar(require("./index.fqn"), exports);
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * JSON Object, record of `JsonValue`
3
+ *
4
+ * @see #JsonValue
5
+ */
6
+ export type JsonObject = {
7
+ [K in string]?: JsonValue;
8
+ };
9
+ /**
10
+ * JSON Array, array of `JsonValue`
11
+ *
12
+ * @see #JsonValue
13
+ */
14
+ export type JsonArray = Array<JsonValue>;
15
+ /**
16
+ * JSON Primitive
17
+ *
18
+ * `OneOf`
19
+ * @see `string`
20
+ * @see `number`
21
+ * @see `boolean`
22
+ * @see `null`
23
+ */
24
+ export type JsonPrimitive = string | number | boolean | null;
25
+ /**
26
+ * JSON Value
27
+ *
28
+ * `OneOf`
29
+ * @see #JsonPrimitive
30
+ * @see #JsonObject
31
+ * @see #JsonArray
32
+ */
33
+ export type JsonValue = JsonPrimitive | JsonObject | JsonArray;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.json.js","sourceRoot":"","sources":["../../src/shared/index.json.ts"],"names":[],"mappings":""}
@@ -1,16 +1,16 @@
1
- import type { LanguageCode, LocaleCode } from "../system";
1
+ export type HttpStatus = number;
2
2
  export type BasicType = 'undefined' | 'string' | 'object' | 'number' | 'boolean' | 'function' | 'symbol' | 'bigint';
3
+ export type ExtendedType = BasicType | 'array' | 'class' | 'null' | 'empty' | 'nan' | 'integer' | 'date' | 'enum';
4
+ export type KeyValue = string | number;
5
+ export type AnyKey = string | number | symbol;
6
+ export type Obj = Object & {};
3
7
  export type Dict<T = unknown> = Record<KeyValue, T>;
4
8
  export type Arr<T = unknown> = Array<T>;
5
- export type KeyValue = string | number;
6
9
  export type Id = string | number;
7
- export type Unknown = unknown;
8
10
  export type Integer = number;
9
11
  export type Float = number;
10
- export type Boolean = boolean;
11
- export type Enum = string;
12
12
  export type Alpha = string;
13
- export type String = string;
13
+ export type Text = string;
14
14
  export type Digit = string;
15
15
  export type Title = string;
16
16
  export type Description = string;
@@ -24,75 +24,66 @@ export type Timestamp = number;
24
24
  export type IsoDatetime = string;
25
25
  export type IsoDate = string;
26
26
  export type IsoTime = string;
27
- interface _BaseFunc {
28
- readonly name?: string;
29
- readonly length?: number;
30
- bind(thisArg: unknown, ...args: Array<unknown>): unknown;
31
- apply(thisArg: unknown, args: Array<unknown>): unknown;
32
- call(thisArg: unknown, ...args: Array<unknown>): unknown;
33
- }
34
- interface _SyncFnc<R> extends _BaseFunc {
35
- (...args: Array<unknown>): R;
27
+ export type Fnc<R = unknown> = ((...args: Arr) => R) & Function;
28
+ export type Async<R = unknown> = ((...args: Arr) => Promise<R>) & AsyncGeneratorFunction;
29
+ export interface Abstract<T = {}> extends Function {
30
+ prototype: T;
31
+ readonly name: string;
32
+ readonly length: number;
33
+ bind(thisArg: unknown, ...args: Arr): unknown;
34
+ apply(thisArg: unknown, args: Arr): unknown;
35
+ call(thisArg: unknown, ...args: Arr): unknown;
36
36
  }
37
- interface _AsyncFnc<R> extends _BaseFunc {
38
- (...args: Array<unknown>): Promise<R>;
37
+ export interface ClassLike<T = {}> extends Abstract<T> {
38
+ new (...args: Arr): T;
39
39
  }
40
- export type Fnc<R = unknown> = _SyncFnc<R> & Function;
41
- export type Async<R = unknown> = _AsyncFnc<R> & AsyncGeneratorFunction;
42
- export type AnyFnc<R = unknown> = Fnc<R> | Async<R>;
43
- export type _Type<T> = {
44
- new (...args: Array<unknown>): T;
45
- prototype?: unknown;
46
- };
47
- export type ClassLike<T = {}> = (_BaseFunc & _Type<T>) | _SyncFnc<T>;
48
40
  export type TypeOf<C = ClassLike> = C extends ClassLike<infer T> ? T : C;
41
+ export declare namespace Express {
42
+ interface Request {
43
+ custom?: Dict;
44
+ }
45
+ interface Response {
46
+ custom?: Dict;
47
+ }
48
+ }
49
49
  export interface Describable {
50
50
  description: string;
51
51
  }
52
52
  export interface Nameable {
53
53
  name: string;
54
54
  }
55
- export type ClassOrName = ClassLike | string;
56
- export type FuncOrName = Function | string;
57
- export type ClassOrFuncOrName = ClassLike | Function | string;
58
- /**
59
- * Referenced from Object
60
- * */
61
- export type Obj = Object & {};
62
- export interface Abstract<T> extends Function {
63
- prototype: T;
64
- }
65
- export interface Entity<I extends Id = Uuid> {
66
- id?: I;
67
- }
68
- export interface Pair<I extends Id = Uuid> extends Entity<I> {
69
- name?: string;
55
+ export interface HasId {
56
+ id?: string | number;
70
57
  }
71
58
  export type TypeOfMethod<T, M extends keyof T> = T[M] extends Function ? T[M] : never;
59
+ export type TypeOfFnc<F extends Fnc> = F extends (...args: Arr) => infer R ? R : never;
60
+ export type TypeOfAsync<F extends Async> = TypeOfPromise<TypeOfFnc<F>>;
61
+ export type TypeOfPromise<P> = P extends Promise<infer R> ? R : P;
62
+ /**
63
+ * String keys of a interface
64
+ * - Note: keyof keywords returns string|number|symbol, but it's ignore nuöber and symbol keys
65
+ * */
66
+ export type StrKey<T> = Extract<keyof T, string>;
67
+ /**
68
+ * Serialized version of another type
69
+ */
70
+ export type Serialized<T> = {
71
+ [P in keyof T]: T[P];
72
+ };
73
+ /**
74
+ * Makes mutable an interface
75
+ *
76
+ * @see Readonly
77
+ * */
78
+ export type Mutable<A> = {
79
+ -readonly [K in keyof A]: A[K];
80
+ };
72
81
  export type KeyOf<T> = keyof T;
73
82
  export type Keys<T> = Array<keyof T>;
74
83
  export type ValueOf<T> = T[KeyOf<T>];
75
84
  export type Values<T> = Array<T[KeyOf<T>]>;
76
- export type MaximumOneOf<T, K extends keyof T = keyof T> = K extends keyof T ? {
77
- [P in K]: T[K];
78
- } & Partial<Record<Exclude<keyof T, K>, never>> : never;
79
- export type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
80
- export type Xor<A, B> = XorIn<A & {
81
- [K in keyof B]?: undefined;
82
- }> | XorIn<B & {
83
- [K in keyof A]?: undefined;
84
- }>;
85
85
  export type OneOrMore<T> = T | Array<T>;
86
- export type ValueOrCallback<T> = T | ValueCallback<T> | ValueCallbackAsync<T>;
87
- export type ValueCallback<T> = () => T;
88
- export type ValueCallbackAsync<T> = () => Promise<T>;
89
- type OneOnly<T, K extends keyof T> = Omit<T, Exclude<keyof T, K>> | Pick<T, K>;
90
- type OneOfByKey<T> = {
91
- [key in keyof T]: OneOnly<T, key>;
92
- };
93
- type XorIn<T> = {
94
- [K in keyof T]: T[K];
95
- } & unknown;
86
+ export type SetOrMore<T> = T | Set<T>;
96
87
  /**
97
88
  * An interface which contains secure mode members and provides to shift to main mode
98
89
  * */
@@ -133,42 +124,11 @@ export interface InitLike {
133
124
  * */
134
125
  $init(...args: Arr): void;
135
126
  }
136
- /**
137
- * JSON Object
138
- */
139
- export type JsonObject = {
140
- [K in string]?: JsonValue;
127
+ export type EnumMap<E extends KeyValue = KeyValue> = {
128
+ [K in E]: KeyValue;
141
129
  };
142
- /**
143
- * JSON Array
144
- */
145
- export type JsonArray = Array<JsonValue>;
146
- /**
147
- * JSON Primitives
148
- */
149
- export type JsonPrimitive = string | number | boolean | null;
150
- /**
151
- * JSON Values
152
- */
153
- export type JsonValue = JsonPrimitive | JsonObject | JsonArray;
154
- /**
155
- * Primitive language key
156
- *
157
- * It can be language (xx), local (xx-xx) or string (not preferred)
158
- * */
159
- export type I18nKey = LanguageCode | LocaleCode | string;
160
- /**
161
- * Language map
162
- *
163
- * @example
164
- * const name = {en: "Apple", tr: "Elma"};
165
- *
166
- * */
167
- export type I18nRaw<V = unknown> = Dict<V>;
168
- export type I18nAny<V = unknown> = I18nRaw<V> | V;
169
- export type EnumMap<E extends KeyValue = KeyValue> = Dict<E>;
170
130
  export type EnumAlt<E extends KeyValue = KeyValue> = Dict<E>;
171
- export type EnumLiteral<E extends KeyValue = KeyValue> = Array<E> | unknown;
131
+ export type EnumLiteral<E extends KeyValue = KeyValue> = Array<E> | ReadonlyArray<E>;
172
132
  export type IgnoreFieldsByType<T, I> = {
173
133
  [K in keyof T]: T[K] extends I ? K : never;
174
134
  }[keyof T];
@@ -178,13 +138,31 @@ export type ReplaceType<T, O, N> = {
178
138
  export type SameType<A, T> = {
179
139
  [K in keyof A]: T;
180
140
  };
181
- /**
182
- * Serialized version of another type
183
- */
184
- export type Serialized<T> = {
185
- [P in keyof T]: T[P];
141
+ export type PickByType<T, I> = {
142
+ [K in keyof T]: T[K] extends I ? K : never;
186
143
  };
187
- export type Mutable<A> = {
188
- -readonly [K in keyof A]: A[K];
144
+ export type PickKeyByType<T, I> = PickByType<T, I>[keyof T];
145
+ export type OmitByType<T, I> = {
146
+ [K in keyof T]: T[K] extends I ? never : K;
147
+ };
148
+ export type OmitKeysByType<T, I> = OmitByType<T, I>[keyof T];
149
+ export type ValueOrCallback<T> = T | ValueCallback<T> | ValueCallbackAsync<T>;
150
+ export type ValueCallback<T> = () => T;
151
+ export type ValueCallbackAsync<T> = () => Promise<T>;
152
+ export type MaximumOneOf<T, K extends keyof T = keyof T> = K extends keyof T ? {
153
+ [P in K]: T[K];
154
+ } & Partial<Record<Exclude<keyof T, K>, never>> : never;
155
+ export type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
156
+ export type Xor<A, B> = XorIn<A & {
157
+ [K in keyof B]?: undefined;
158
+ }> | XorIn<B & {
159
+ [K in keyof A]?: undefined;
160
+ }>;
161
+ type OneOnly<T, K extends keyof T> = Omit<T, Exclude<keyof T, K>> | Pick<T, K>;
162
+ type OneOfByKey<T> = {
163
+ [key in keyof T]: OneOnly<T, key>;
189
164
  };
165
+ type XorIn<T> = {
166
+ [K in keyof T]: T[K];
167
+ } & unknown;
190
168
  export {};