@pezkuwi/api 16.5.5 → 16.5.8

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 (498) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +12 -12
  3. package/augment.d.ts +1 -0
  4. package/augment.js +1 -0
  5. package/base/Decorate.d.ts +143 -0
  6. package/base/Decorate.js +752 -0
  7. package/base/Events.d.ts +67 -0
  8. package/base/Events.js +78 -0
  9. package/base/Getters.d.ts +163 -0
  10. package/base/Getters.js +207 -0
  11. package/base/Init.d.ts +44 -0
  12. package/base/Init.js +400 -0
  13. package/base/find.d.ts +3 -0
  14. package/base/find.js +7 -0
  15. package/base/index.d.ts +47 -0
  16. package/base/index.js +57 -0
  17. package/base/types.d.ts +15 -0
  18. package/base/types.js +1 -0
  19. package/build/LICENSE +201 -0
  20. package/build/README.md +100 -0
  21. package/build/augment.js +1 -0
  22. package/build/base/Decorate.js +752 -0
  23. package/build/base/Events.js +78 -0
  24. package/build/base/Getters.js +207 -0
  25. package/build/base/Init.js +400 -0
  26. package/build/base/find.js +7 -0
  27. package/build/base/index.d.ts +1 -1
  28. package/build/base/index.js +57 -0
  29. package/build/base/types.js +1 -0
  30. package/build/bundle-pezkuwi-api.js +26247 -0
  31. package/build/bundle.js +7 -0
  32. package/build/cjs/augment.d.ts +1 -0
  33. package/build/cjs/augment.js +3 -0
  34. package/build/cjs/base/Decorate.d.ts +143 -0
  35. package/build/cjs/base/Decorate.js +756 -0
  36. package/build/cjs/base/Events.d.ts +67 -0
  37. package/build/cjs/base/Events.js +82 -0
  38. package/build/cjs/base/Getters.d.ts +163 -0
  39. package/build/cjs/base/Getters.js +211 -0
  40. package/build/cjs/base/Init.d.ts +44 -0
  41. package/build/cjs/base/Init.js +404 -0
  42. package/build/cjs/base/find.d.ts +3 -0
  43. package/build/cjs/base/find.js +11 -0
  44. package/build/cjs/base/index.d.ts +47 -0
  45. package/build/cjs/base/index.js +61 -0
  46. package/build/cjs/base/types.d.ts +15 -0
  47. package/build/cjs/base/types.js +2 -0
  48. package/build/cjs/bundle.d.ts +7 -0
  49. package/build/cjs/bundle.js +17 -0
  50. package/build/cjs/index.d.ts +2 -0
  51. package/build/cjs/index.js +5 -0
  52. package/build/cjs/package.json +3 -0
  53. package/build/cjs/packageDetect.d.ts +1 -0
  54. package/build/cjs/packageDetect.js +10 -0
  55. package/build/cjs/packageInfo.d.ts +6 -0
  56. package/build/cjs/packageInfo.js +4 -0
  57. package/build/cjs/promise/Api.d.ts +158 -0
  58. package/build/cjs/promise/Api.js +195 -0
  59. package/build/cjs/promise/Combinator.d.ts +12 -0
  60. package/build/cjs/promise/Combinator.js +72 -0
  61. package/build/cjs/promise/decorateMethod.d.ts +14 -0
  62. package/build/cjs/promise/decorateMethod.js +75 -0
  63. package/build/cjs/promise/index.d.ts +2 -0
  64. package/build/cjs/promise/index.js +7 -0
  65. package/build/cjs/promise/types.d.ts +5 -0
  66. package/build/cjs/promise/types.js +2 -0
  67. package/build/cjs/rx/Api.d.ts +155 -0
  68. package/build/cjs/rx/Api.js +173 -0
  69. package/build/cjs/rx/decorateMethod.d.ts +3 -0
  70. package/build/cjs/rx/decorateMethod.js +6 -0
  71. package/build/cjs/rx/index.d.ts +2 -0
  72. package/build/cjs/rx/index.js +7 -0
  73. package/build/cjs/submittable/Result.d.ts +31 -0
  74. package/build/cjs/submittable/Result.js +84 -0
  75. package/build/cjs/submittable/createClass.d.ts +12 -0
  76. package/build/cjs/submittable/createClass.js +277 -0
  77. package/build/cjs/submittable/createSubmittable.d.ts +8 -0
  78. package/build/cjs/submittable/createSubmittable.js +8 -0
  79. package/build/cjs/submittable/index.d.ts +2 -0
  80. package/build/cjs/submittable/index.js +7 -0
  81. package/build/cjs/submittable/types.d.ts +1 -0
  82. package/build/cjs/submittable/types.js +2 -0
  83. package/build/cjs/types/calls.d.ts +1 -0
  84. package/build/cjs/types/calls.js +4 -0
  85. package/build/cjs/types/consts.d.ts +1 -0
  86. package/build/cjs/types/consts.js +4 -0
  87. package/build/cjs/types/errors.d.ts +1 -0
  88. package/build/cjs/types/errors.js +4 -0
  89. package/build/cjs/types/events.d.ts +1 -0
  90. package/build/cjs/types/events.js +4 -0
  91. package/build/cjs/types/index.d.ts +114 -0
  92. package/build/cjs/types/index.js +13 -0
  93. package/build/cjs/types/storage.d.ts +1 -0
  94. package/build/cjs/types/storage.js +4 -0
  95. package/build/cjs/types/submittable.d.ts +1 -0
  96. package/build/cjs/types/submittable.js +4 -0
  97. package/build/cjs/util/augmentObject.d.ts +9 -0
  98. package/build/cjs/util/augmentObject.js +84 -0
  99. package/build/cjs/util/decorate.d.ts +16 -0
  100. package/build/cjs/util/decorate.js +17 -0
  101. package/build/cjs/util/filterEvents.d.ts +6 -0
  102. package/build/cjs/util/filterEvents.js +25 -0
  103. package/build/cjs/util/index.d.ts +4 -0
  104. package/build/cjs/util/index.js +11 -0
  105. package/build/cjs/util/isKeyringPair.d.ts +3 -0
  106. package/build/cjs/util/isKeyringPair.js +7 -0
  107. package/build/cjs/util/logging.d.ts +1 -0
  108. package/build/cjs/util/logging.js +5 -0
  109. package/build/cjs/util/validate.d.ts +3 -0
  110. package/build/cjs/util/validate.js +26 -0
  111. package/build/index.js +2 -0
  112. package/build/package.json +612 -0
  113. package/build/packageDetect.js +8 -0
  114. package/build/packageInfo.js +1 -0
  115. package/build/promise/Api.d.ts +2 -2
  116. package/build/promise/Api.js +191 -0
  117. package/build/promise/Combinator.js +68 -0
  118. package/build/promise/decorateMethod.js +71 -0
  119. package/build/promise/index.js +2 -0
  120. package/build/promise/types.js +1 -0
  121. package/build/rx/Api.d.ts +2 -2
  122. package/build/rx/Api.js +169 -0
  123. package/build/rx/decorateMethod.js +3 -0
  124. package/build/rx/index.js +2 -0
  125. package/build/submittable/Result.js +80 -0
  126. package/build/submittable/createClass.js +274 -0
  127. package/build/submittable/createSubmittable.js +5 -0
  128. package/build/submittable/index.js +2 -0
  129. package/build/submittable/types.js +1 -0
  130. package/build/types/calls.js +1 -0
  131. package/build/types/consts.js +1 -0
  132. package/build/types/errors.js +1 -0
  133. package/build/types/events.js +1 -0
  134. package/build/types/index.js +8 -0
  135. package/build/types/storage.js +1 -0
  136. package/build/types/submittable.js +1 -0
  137. package/build/util/augmentObject.js +81 -0
  138. package/build/util/decorate.js +14 -0
  139. package/build/util/filterEvents.js +22 -0
  140. package/build/util/index.js +4 -0
  141. package/build/util/isKeyringPair.js +4 -0
  142. package/build/util/logging.js +2 -0
  143. package/build/util/validate.js +23 -0
  144. package/build-deno/README.md +95 -0
  145. package/build-deno/augment.ts +2 -0
  146. package/build-deno/base/Decorate.ts +1100 -0
  147. package/build-deno/base/Events.ts +89 -0
  148. package/build-deno/base/Getters.ts +243 -0
  149. package/build-deno/base/Init.ts +523 -0
  150. package/build-deno/base/find.ts +12 -0
  151. package/build-deno/base/index.ts +83 -0
  152. package/build-deno/base/types.ts +17 -0
  153. package/build-deno/bundle.ts +11 -0
  154. package/build-deno/checkTypes.manual.ts +320 -0
  155. package/build-deno/index.ts +4 -0
  156. package/build-deno/mod.ts +2 -0
  157. package/build-deno/packageDetect.ts +12 -0
  158. package/build-deno/packageInfo.ts +3 -0
  159. package/build-deno/promise/Api.ts +212 -0
  160. package/build-deno/promise/Combinator.ts +89 -0
  161. package/build-deno/promise/decorateMethod.ts +111 -0
  162. package/build-deno/promise/index.ts +3 -0
  163. package/build-deno/promise/types.ts +7 -0
  164. package/build-deno/rx/Api.ts +184 -0
  165. package/build-deno/rx/decorateMethod.ts +7 -0
  166. package/build-deno/rx/index.ts +3 -0
  167. package/build-deno/submittable/Result.ts +109 -0
  168. package/build-deno/submittable/createClass.ts +436 -0
  169. package/build-deno/submittable/createSubmittable.ts +17 -0
  170. package/build-deno/submittable/index.ts +3 -0
  171. package/build-deno/submittable/types.ts +2 -0
  172. package/build-deno/test/SingleAccountSigner.ts +51 -0
  173. package/build-deno/test/index.ts +3 -0
  174. package/build-deno/test/logEvents.ts +21 -0
  175. package/build-deno/types/calls.ts +2 -0
  176. package/build-deno/types/consts.ts +2 -0
  177. package/build-deno/types/errors.ts +2 -0
  178. package/build-deno/types/events.ts +2 -0
  179. package/build-deno/types/index.ts +124 -0
  180. package/build-deno/types/storage.ts +2 -0
  181. package/build-deno/types/submittable.ts +2 -0
  182. package/build-deno/util/augmentObject.ts +109 -0
  183. package/build-deno/util/decorate.ts +38 -0
  184. package/build-deno/util/filterEvents.ts +32 -0
  185. package/build-deno/util/index.ts +6 -0
  186. package/build-deno/util/isKeyringPair.ts +9 -0
  187. package/build-deno/util/logging.ts +4 -0
  188. package/build-deno/util/validate.ts +32 -0
  189. package/build-tsc/augment.d.ts +1 -0
  190. package/build-tsc/base/Decorate.d.ts +143 -0
  191. package/build-tsc/base/Events.d.ts +67 -0
  192. package/build-tsc/base/Getters.d.ts +163 -0
  193. package/build-tsc/base/Init.d.ts +44 -0
  194. package/build-tsc/base/find.d.ts +3 -0
  195. package/build-tsc/base/index.d.ts +47 -0
  196. package/build-tsc/base/types.d.ts +15 -0
  197. package/build-tsc/bundle.d.ts +7 -0
  198. package/build-tsc/index.d.ts +2 -0
  199. package/build-tsc/packageDetect.d.ts +1 -0
  200. package/build-tsc/packageInfo.d.ts +6 -0
  201. package/build-tsc/promise/Api.d.ts +158 -0
  202. package/build-tsc/promise/Combinator.d.ts +12 -0
  203. package/build-tsc/promise/decorateMethod.d.ts +14 -0
  204. package/build-tsc/promise/index.d.ts +2 -0
  205. package/build-tsc/promise/types.d.ts +5 -0
  206. package/build-tsc/rx/Api.d.ts +155 -0
  207. package/build-tsc/rx/decorateMethod.d.ts +3 -0
  208. package/build-tsc/rx/index.d.ts +2 -0
  209. package/build-tsc/submittable/Result.d.ts +31 -0
  210. package/build-tsc/submittable/createClass.d.ts +12 -0
  211. package/build-tsc/submittable/createSubmittable.d.ts +8 -0
  212. package/build-tsc/submittable/index.d.ts +2 -0
  213. package/build-tsc/submittable/types.d.ts +1 -0
  214. package/build-tsc/types/calls.d.ts +1 -0
  215. package/build-tsc/types/consts.d.ts +1 -0
  216. package/build-tsc/types/errors.d.ts +1 -0
  217. package/build-tsc/types/events.d.ts +1 -0
  218. package/build-tsc/types/index.d.ts +114 -0
  219. package/build-tsc/types/storage.d.ts +1 -0
  220. package/build-tsc/types/submittable.d.ts +1 -0
  221. package/build-tsc/util/augmentObject.d.ts +9 -0
  222. package/build-tsc/util/decorate.d.ts +16 -0
  223. package/build-tsc/util/filterEvents.d.ts +6 -0
  224. package/build-tsc/util/index.d.ts +4 -0
  225. package/build-tsc/util/isKeyringPair.d.ts +3 -0
  226. package/build-tsc/util/logging.d.ts +1 -0
  227. package/build-tsc/util/validate.d.ts +3 -0
  228. package/build-tsc-cjs/augment.js +3 -0
  229. package/build-tsc-cjs/base/Decorate.js +756 -0
  230. package/build-tsc-cjs/base/Events.js +82 -0
  231. package/build-tsc-cjs/base/Getters.js +211 -0
  232. package/build-tsc-cjs/base/Init.js +404 -0
  233. package/build-tsc-cjs/base/find.js +11 -0
  234. package/build-tsc-cjs/base/index.js +61 -0
  235. package/build-tsc-cjs/base/types.js +2 -0
  236. package/build-tsc-cjs/bundle.js +17 -0
  237. package/build-tsc-cjs/index.js +5 -0
  238. package/build-tsc-cjs/packageDetect.js +10 -0
  239. package/build-tsc-cjs/packageInfo.js +4 -0
  240. package/build-tsc-cjs/promise/Api.js +195 -0
  241. package/build-tsc-cjs/promise/Combinator.js +72 -0
  242. package/build-tsc-cjs/promise/decorateMethod.js +75 -0
  243. package/build-tsc-cjs/promise/index.js +7 -0
  244. package/build-tsc-cjs/promise/types.js +2 -0
  245. package/build-tsc-cjs/rx/Api.js +173 -0
  246. package/build-tsc-cjs/rx/decorateMethod.js +6 -0
  247. package/build-tsc-cjs/rx/index.js +7 -0
  248. package/build-tsc-cjs/submittable/Result.js +84 -0
  249. package/build-tsc-cjs/submittable/createClass.js +277 -0
  250. package/build-tsc-cjs/submittable/createSubmittable.js +8 -0
  251. package/build-tsc-cjs/submittable/index.js +7 -0
  252. package/build-tsc-cjs/submittable/types.js +2 -0
  253. package/build-tsc-cjs/types/calls.js +4 -0
  254. package/build-tsc-cjs/types/consts.js +4 -0
  255. package/build-tsc-cjs/types/errors.js +4 -0
  256. package/build-tsc-cjs/types/events.js +4 -0
  257. package/build-tsc-cjs/types/index.js +13 -0
  258. package/build-tsc-cjs/types/storage.js +4 -0
  259. package/build-tsc-cjs/types/submittable.js +4 -0
  260. package/build-tsc-cjs/util/augmentObject.js +84 -0
  261. package/build-tsc-cjs/util/decorate.js +17 -0
  262. package/build-tsc-cjs/util/filterEvents.js +25 -0
  263. package/build-tsc-cjs/util/index.js +11 -0
  264. package/build-tsc-cjs/util/isKeyringPair.js +7 -0
  265. package/build-tsc-cjs/util/logging.js +5 -0
  266. package/build-tsc-cjs/util/validate.js +26 -0
  267. package/build-tsc-esm/augment.js +1 -0
  268. package/build-tsc-esm/base/Decorate.js +752 -0
  269. package/build-tsc-esm/base/Events.js +78 -0
  270. package/build-tsc-esm/base/Getters.js +207 -0
  271. package/build-tsc-esm/base/Init.js +400 -0
  272. package/build-tsc-esm/base/find.js +7 -0
  273. package/build-tsc-esm/base/index.js +57 -0
  274. package/build-tsc-esm/base/types.js +1 -0
  275. package/build-tsc-esm/bundle.js +7 -0
  276. package/build-tsc-esm/index.js +2 -0
  277. package/build-tsc-esm/packageDetect.js +8 -0
  278. package/build-tsc-esm/packageInfo.js +1 -0
  279. package/build-tsc-esm/promise/Api.js +191 -0
  280. package/build-tsc-esm/promise/Combinator.js +68 -0
  281. package/build-tsc-esm/promise/decorateMethod.js +71 -0
  282. package/build-tsc-esm/promise/index.js +2 -0
  283. package/build-tsc-esm/promise/types.js +1 -0
  284. package/build-tsc-esm/rx/Api.js +169 -0
  285. package/build-tsc-esm/rx/decorateMethod.js +3 -0
  286. package/build-tsc-esm/rx/index.js +2 -0
  287. package/build-tsc-esm/submittable/Result.js +80 -0
  288. package/build-tsc-esm/submittable/createClass.js +274 -0
  289. package/build-tsc-esm/submittable/createSubmittable.js +5 -0
  290. package/build-tsc-esm/submittable/index.js +2 -0
  291. package/build-tsc-esm/submittable/types.js +1 -0
  292. package/build-tsc-esm/types/calls.js +1 -0
  293. package/build-tsc-esm/types/consts.js +1 -0
  294. package/build-tsc-esm/types/errors.js +1 -0
  295. package/build-tsc-esm/types/events.js +1 -0
  296. package/build-tsc-esm/types/index.js +8 -0
  297. package/build-tsc-esm/types/storage.js +1 -0
  298. package/build-tsc-esm/types/submittable.js +1 -0
  299. package/build-tsc-esm/util/augmentObject.js +81 -0
  300. package/build-tsc-esm/util/decorate.js +14 -0
  301. package/build-tsc-esm/util/filterEvents.js +22 -0
  302. package/build-tsc-esm/util/index.js +4 -0
  303. package/build-tsc-esm/util/isKeyringPair.js +4 -0
  304. package/build-tsc-esm/util/logging.js +2 -0
  305. package/build-tsc-esm/util/validate.js +23 -0
  306. package/bundle-pezkuwi-api.js +26247 -0
  307. package/bundle.d.ts +7 -0
  308. package/bundle.js +7 -0
  309. package/cjs/augment.d.ts +1 -0
  310. package/cjs/augment.js +3 -0
  311. package/cjs/base/Decorate.d.ts +143 -0
  312. package/cjs/base/Decorate.js +756 -0
  313. package/cjs/base/Events.d.ts +67 -0
  314. package/cjs/base/Events.js +82 -0
  315. package/cjs/base/Getters.d.ts +163 -0
  316. package/cjs/base/Getters.js +211 -0
  317. package/cjs/base/Init.d.ts +44 -0
  318. package/cjs/base/Init.js +404 -0
  319. package/cjs/base/find.d.ts +3 -0
  320. package/cjs/base/find.js +11 -0
  321. package/cjs/base/index.d.ts +47 -0
  322. package/cjs/base/index.js +61 -0
  323. package/cjs/base/types.d.ts +15 -0
  324. package/cjs/base/types.js +2 -0
  325. package/cjs/bundle.d.ts +7 -0
  326. package/cjs/bundle.js +17 -0
  327. package/cjs/index.d.ts +2 -0
  328. package/cjs/index.js +5 -0
  329. package/cjs/package.json +3 -0
  330. package/cjs/packageDetect.d.ts +1 -0
  331. package/cjs/packageDetect.js +10 -0
  332. package/cjs/packageInfo.d.ts +6 -0
  333. package/cjs/packageInfo.js +4 -0
  334. package/cjs/promise/Api.d.ts +158 -0
  335. package/cjs/promise/Api.js +195 -0
  336. package/cjs/promise/Combinator.d.ts +12 -0
  337. package/cjs/promise/Combinator.js +72 -0
  338. package/cjs/promise/decorateMethod.d.ts +14 -0
  339. package/cjs/promise/decorateMethod.js +75 -0
  340. package/cjs/promise/index.d.ts +2 -0
  341. package/cjs/promise/index.js +7 -0
  342. package/cjs/promise/types.d.ts +5 -0
  343. package/cjs/promise/types.js +2 -0
  344. package/cjs/rx/Api.d.ts +155 -0
  345. package/cjs/rx/Api.js +173 -0
  346. package/cjs/rx/decorateMethod.d.ts +3 -0
  347. package/cjs/rx/decorateMethod.js +6 -0
  348. package/cjs/rx/index.d.ts +2 -0
  349. package/cjs/rx/index.js +7 -0
  350. package/cjs/submittable/Result.d.ts +31 -0
  351. package/cjs/submittable/Result.js +84 -0
  352. package/cjs/submittable/createClass.d.ts +12 -0
  353. package/cjs/submittable/createClass.js +277 -0
  354. package/cjs/submittable/createSubmittable.d.ts +8 -0
  355. package/cjs/submittable/createSubmittable.js +8 -0
  356. package/cjs/submittable/index.d.ts +2 -0
  357. package/cjs/submittable/index.js +7 -0
  358. package/cjs/submittable/types.d.ts +1 -0
  359. package/cjs/submittable/types.js +2 -0
  360. package/cjs/types/calls.d.ts +1 -0
  361. package/cjs/types/calls.js +4 -0
  362. package/cjs/types/consts.d.ts +1 -0
  363. package/cjs/types/consts.js +4 -0
  364. package/cjs/types/errors.d.ts +1 -0
  365. package/cjs/types/errors.js +4 -0
  366. package/cjs/types/events.d.ts +1 -0
  367. package/cjs/types/events.js +4 -0
  368. package/cjs/types/index.d.ts +114 -0
  369. package/cjs/types/index.js +13 -0
  370. package/cjs/types/storage.d.ts +1 -0
  371. package/cjs/types/storage.js +4 -0
  372. package/cjs/types/submittable.d.ts +1 -0
  373. package/cjs/types/submittable.js +4 -0
  374. package/cjs/util/augmentObject.d.ts +9 -0
  375. package/cjs/util/augmentObject.js +84 -0
  376. package/cjs/util/decorate.d.ts +16 -0
  377. package/cjs/util/decorate.js +17 -0
  378. package/cjs/util/filterEvents.d.ts +6 -0
  379. package/cjs/util/filterEvents.js +25 -0
  380. package/cjs/util/index.d.ts +4 -0
  381. package/cjs/util/index.js +11 -0
  382. package/cjs/util/isKeyringPair.d.ts +3 -0
  383. package/cjs/util/isKeyringPair.js +7 -0
  384. package/cjs/util/logging.d.ts +1 -0
  385. package/cjs/util/logging.js +5 -0
  386. package/cjs/util/validate.d.ts +3 -0
  387. package/cjs/util/validate.js +26 -0
  388. package/index.d.ts +2 -0
  389. package/index.js +2 -0
  390. package/package.json +588 -22
  391. package/packageDetect.d.ts +1 -0
  392. package/packageDetect.js +8 -0
  393. package/packageInfo.d.ts +6 -0
  394. package/packageInfo.js +1 -0
  395. package/promise/Api.d.ts +158 -0
  396. package/promise/Api.js +191 -0
  397. package/promise/Combinator.d.ts +12 -0
  398. package/promise/Combinator.js +68 -0
  399. package/promise/decorateMethod.d.ts +14 -0
  400. package/promise/decorateMethod.js +71 -0
  401. package/promise/index.d.ts +2 -0
  402. package/promise/index.js +2 -0
  403. package/promise/types.d.ts +5 -0
  404. package/promise/types.js +1 -0
  405. package/rx/Api.d.ts +155 -0
  406. package/rx/Api.js +169 -0
  407. package/rx/decorateMethod.d.ts +3 -0
  408. package/rx/decorateMethod.js +3 -0
  409. package/rx/index.d.ts +2 -0
  410. package/rx/index.js +2 -0
  411. package/src/augment.ts +1 -1
  412. package/src/base/Decorate.ts +1 -1
  413. package/src/base/Events.ts +1 -1
  414. package/src/base/Getters.ts +1 -1
  415. package/src/base/Init.ts +1 -1
  416. package/src/base/find.ts +1 -1
  417. package/src/base/index.ts +1 -1
  418. package/src/base/types.ts +1 -1
  419. package/src/bundle.ts +1 -1
  420. package/src/checkTypes.manual.ts +7 -7
  421. package/src/index.ts +1 -1
  422. package/src/mod.ts +1 -1
  423. package/src/packageDetect.ts +2 -2
  424. package/src/packageInfo.ts +3 -3
  425. package/src/promise/Api.ts +3 -3
  426. package/src/promise/Combinator.ts +1 -1
  427. package/src/promise/Combinators.spec.ts +1 -1
  428. package/src/promise/decorateMethod.ts +1 -1
  429. package/src/promise/index.spec.ts +1 -1
  430. package/src/promise/index.ts +1 -1
  431. package/src/promise/types.ts +1 -1
  432. package/src/rx/Api.ts +3 -3
  433. package/src/rx/decorateMethod.ts +1 -1
  434. package/src/rx/index.ts +1 -1
  435. package/src/submittable/Result.ts +1 -1
  436. package/src/submittable/createClass.ts +1 -1
  437. package/src/submittable/createSubmittable.ts +1 -1
  438. package/src/submittable/index.ts +1 -1
  439. package/src/submittable/types.ts +1 -1
  440. package/src/test/SingleAccountSigner.ts +1 -1
  441. package/src/test/index.ts +1 -1
  442. package/src/test/logEvents.ts +1 -1
  443. package/src/types/calls.ts +1 -1
  444. package/src/types/consts.ts +1 -1
  445. package/src/types/errors.ts +1 -1
  446. package/src/types/events.ts +1 -1
  447. package/src/types/index.ts +1 -1
  448. package/src/types/storage.ts +1 -1
  449. package/src/types/submittable.ts +1 -1
  450. package/src/util/augmentObject.spec.ts +1 -1
  451. package/src/util/augmentObject.ts +1 -1
  452. package/src/util/decorate.ts +1 -1
  453. package/src/util/filterEvents.ts +1 -1
  454. package/src/util/index.ts +1 -1
  455. package/src/util/isKeyringPair.ts +1 -1
  456. package/src/util/logging.ts +1 -1
  457. package/src/util/validate.spec.ts +2 -2
  458. package/src/util/validate.ts +1 -1
  459. package/submittable/Result.d.ts +31 -0
  460. package/submittable/Result.js +80 -0
  461. package/submittable/createClass.d.ts +12 -0
  462. package/submittable/createClass.js +274 -0
  463. package/submittable/createSubmittable.d.ts +8 -0
  464. package/submittable/createSubmittable.js +5 -0
  465. package/submittable/index.d.ts +2 -0
  466. package/submittable/index.js +2 -0
  467. package/submittable/types.d.ts +1 -0
  468. package/submittable/types.js +1 -0
  469. package/tsconfig.build.tsbuildinfo +1 -1
  470. package/tsconfig.spec.tsbuildinfo +1 -0
  471. package/types/calls.d.ts +1 -0
  472. package/types/calls.js +1 -0
  473. package/types/consts.d.ts +1 -0
  474. package/types/consts.js +1 -0
  475. package/types/errors.d.ts +1 -0
  476. package/types/errors.js +1 -0
  477. package/types/events.d.ts +1 -0
  478. package/types/events.js +1 -0
  479. package/types/index.d.ts +114 -0
  480. package/types/index.js +8 -0
  481. package/types/storage.d.ts +1 -0
  482. package/types/storage.js +1 -0
  483. package/types/submittable.d.ts +1 -0
  484. package/types/submittable.js +1 -0
  485. package/util/augmentObject.d.ts +9 -0
  486. package/util/augmentObject.js +81 -0
  487. package/util/decorate.d.ts +16 -0
  488. package/util/decorate.js +14 -0
  489. package/util/filterEvents.d.ts +6 -0
  490. package/util/filterEvents.js +22 -0
  491. package/util/index.d.ts +4 -0
  492. package/util/index.js +4 -0
  493. package/util/isKeyringPair.d.ts +3 -0
  494. package/util/isKeyringPair.js +4 -0
  495. package/util/logging.d.ts +1 -0
  496. package/util/logging.js +2 -0
  497. package/util/validate.d.ts +3 -0
  498. package/util/validate.js +23 -0
@@ -0,0 +1,111 @@
1
+
2
+ import type { Observable, Subscription } from 'https://esm.sh/rxjs@7.8.1';
3
+ import type { Callback, Codec } from 'https://deno.land/x/pezkuwi/types/types/index.ts';
4
+ import type { DecorateFn, DecorateMethodOptions, ObsInnerType, StorageEntryPromiseOverloads, UnsubscribePromise, VoidFn } from '../types/index.ts';
5
+
6
+ import { catchError, EMPTY, tap } from 'https://esm.sh/rxjs@7.8.1';
7
+
8
+ import { isFunction, nextTick } from 'https://deno.land/x/pezkuwi/util/mod.ts';
9
+
10
+ interface Tracker<T> {
11
+ reject: (value: Error) => Observable<never>;
12
+ resolve: (value: T) => void;
13
+ }
14
+
15
+ type CodecReturnType<T extends (...args: unknown[]) => Observable<Codec>> =
16
+ T extends (...args: any) => infer R
17
+ ? R extends Observable<Codec>
18
+ ? ObsInnerType<R>
19
+ : never
20
+ : never;
21
+
22
+ export function promiseTracker<T> (resolve: (value: T) => void, reject: (value: Error) => void): Tracker<T> {
23
+ let isCompleted = false;
24
+
25
+ return {
26
+ reject: (error: Error): Observable<never> => {
27
+ if (!isCompleted) {
28
+ isCompleted = true;
29
+
30
+ reject(error);
31
+ }
32
+
33
+ return EMPTY;
34
+ },
35
+ resolve: (value: T): void => {
36
+ if (!isCompleted) {
37
+ isCompleted = true;
38
+
39
+ resolve(value);
40
+ }
41
+ }
42
+ };
43
+ }
44
+
45
+ function extractArgs (args: unknown[], needsCallback: boolean): [unknown[], Callback<Codec> | undefined] {
46
+ const actualArgs = args.slice();
47
+
48
+ // If the last arg is a function, we pop it, put it into callback.
49
+ // actualArgs will then hold the actual arguments to be passed to `method`
50
+ const callback = (args.length && isFunction(args[args.length - 1]))
51
+ ? actualArgs.pop() as Callback<Codec>
52
+ : undefined;
53
+
54
+ // When we need a subscription, ensure that a valid callback is actually passed
55
+ if (needsCallback && !isFunction(callback)) {
56
+ throw new Error('Expected a callback to be passed with subscriptions');
57
+ }
58
+
59
+ return [actualArgs, callback];
60
+ }
61
+
62
+ function decorateCall<M extends DecorateFn<CodecReturnType<M>>> (method: M, args: unknown[]): Promise<CodecReturnType<M>> {
63
+ return new Promise((resolve, reject): void => {
64
+ // single result tracker - either reject with Error or resolve with Codec result
65
+ const tracker = promiseTracker(resolve, reject);
66
+
67
+ // encoding errors reject immediately, any result unsubscribes and resolves
68
+ const subscription: Subscription = method(...args)
69
+ .pipe(
70
+ catchError((error: Error) => tracker.reject(error))
71
+ )
72
+ .subscribe((result): void => {
73
+ tracker.resolve(result);
74
+
75
+ nextTick(() => subscription.unsubscribe());
76
+ });
77
+ });
78
+ }
79
+
80
+ function decorateSubscribe<M extends DecorateFn<CodecReturnType<M>>> (method: M, args: unknown[], resultCb: Callback<Codec>): UnsubscribePromise {
81
+ return new Promise<VoidFn>((resolve, reject): void => {
82
+ // either reject with error or resolve with unsubscribe callback
83
+ const tracker = promiseTracker(resolve, reject);
84
+
85
+ // errors reject immediately, the first result resolves with an unsubscribe promise, all results via callback
86
+ const subscription: Subscription = method(...args)
87
+ .pipe(
88
+ catchError((error: Error) => tracker.reject(error)),
89
+ tap(() => tracker.resolve(() => subscription.unsubscribe()))
90
+ )
91
+ .subscribe((result): void => {
92
+ // queue result (back of queue to clear current)
93
+ nextTick(() => resultCb(result));
94
+ });
95
+ });
96
+ }
97
+
98
+ /**
99
+ * @description Decorate method for ApiPromise, where the results are converted to the Promise equivalent
100
+ */
101
+ export function toPromiseMethod<M extends DecorateFn<CodecReturnType<M>>> (method: M, options?: DecorateMethodOptions): StorageEntryPromiseOverloads {
102
+ const needsCallback = !!(options?.methodName && options.methodName.includes('subscribe'));
103
+
104
+ return function (...args: unknown[]): Promise<CodecReturnType<M>> | UnsubscribePromise {
105
+ const [actualArgs, resultCb] = extractArgs(args, needsCallback);
106
+
107
+ return resultCb
108
+ ? decorateSubscribe(method, actualArgs, resultCb)
109
+ : decorateCall((options?.overrideNoSub as M) || method, actualArgs);
110
+ } as StorageEntryPromiseOverloads;
111
+ }
@@ -0,0 +1,3 @@
1
+
2
+ export { ApiPromise } from './Api.ts';
3
+ export { toPromiseMethod } from './decorateMethod.ts';
@@ -0,0 +1,7 @@
1
+
2
+ import type { SubmittableExtrinsic as SubmittableExtrinsicBase } from '../submittable/types.ts';
3
+ import type { QueryableStorageEntry as QueryableStorageEntryBase, SubmittableExtrinsicFunction as SubmittableExtrinsicFunctionBase } from '../types/index.ts';
4
+
5
+ export type QueryableStorageEntry = QueryableStorageEntryBase<'promise'>;
6
+ export type SubmittableExtrinsic = SubmittableExtrinsicBase<'promise'>;
7
+ export type SubmittableExtrinsicFunction = SubmittableExtrinsicFunctionBase<'promise'>;
@@ -0,0 +1,184 @@
1
+
2
+ import type { Observable } from 'https://esm.sh/rxjs@7.8.1';
3
+ import type { ApiOptions } from '../types/index.ts';
4
+
5
+ import { from } from 'https://esm.sh/rxjs@7.8.1';
6
+
7
+ import { objectSpread } from 'https://deno.land/x/pezkuwi/util/mod.ts';
8
+
9
+ import { ApiBase } from '../base/index.ts';
10
+ import { toRxMethod } from './decorateMethod.ts';
11
+
12
+ /**
13
+ * # @pezkuwi/api/rx
14
+ *
15
+ * ## Overview
16
+ *
17
+ * @name ApiRx
18
+ *
19
+ * @description
20
+ * ApiRx is a powerful RxJS Observable wrapper around the RPC and interfaces on the Pezkuwi network. As a full Observable API, all interface calls return RxJS Observables, including the static `.create(...)`. In the same fashion and subscription-based methods return long-running Observables that update with the latest values.
21
+ *
22
+ * The API is well suited to real-time applications where the latest state is needed, unlocking the subscription-based features of Pezkuwi (and Bizinikiwi) clients. Some familiarity with RxJS is a requirement to use the API, however just understanding `.subscribe` and `.pipe` on Observables will unlock full-scale use thereof.
23
+ *
24
+ * @see [[ApiPromise]]
25
+ *
26
+ * ## Usage
27
+ *
28
+ * Making rpc calls -
29
+ * <BR>
30
+ *
31
+ * ```javascript
32
+ * import ApiRx from 'https://deno.land/x/pezkuwi/api/rx/index.ts';
33
+ *
34
+ * // initialize via Promise & static create
35
+ * const api = await ApiRx.create().toPromise();
36
+ *
37
+ * // make a call to retrieve the current network head
38
+ * api.rpc.chain.subscribeNewHeads().subscribe((header) => {
39
+ * console.log(`Chain is at #${header.number}`);
40
+ * });
41
+ * ```
42
+ * <BR>
43
+ *
44
+ * Subscribing to chain state -
45
+ * <BR>
46
+ *
47
+ * ```javascript
48
+ * import { combineLatest, pairwise, switchMap } from 'https://esm.sh/rxjs@7.8.1';
49
+ * import { ApiRx, WsProvider } from 'https://deno.land/x/pezkuwi/api/mod.ts';
50
+ *
51
+ *
52
+ * // initialize a provider with a specific endpoint
53
+ * const provider = new WsProvider('wss://example.com:9944')
54
+ *
55
+ * // initialize via isReady & new with specific provider
56
+ * new ApiRx({ provider })
57
+ * .isReady
58
+ * .pipe(
59
+ * switchMap((api) =>
60
+ * combineLatest([
61
+ * api.query.timestamp.blockPeriod(),
62
+ * api.query.timestamp.now().pipe(pairwise())
63
+ * ])
64
+ * )
65
+ * )
66
+ * .subscribe(([blockPeriod, timestamp]) => {
67
+ * const elapsed = timestamp[1].toNumber() - timestamp[0].toNumber();
68
+ * console.log(`timestamp ${timestamp[1]} \nelapsed ${elapsed} \n(${blockPeriod}s target)`);
69
+ * });
70
+ * ```
71
+ * <BR>
72
+ *
73
+ * Submitting a transaction -
74
+ * <BR>
75
+ *
76
+ * ```javascript
77
+ * import { first, switchMap } from 'https://esm.sh/rxjs@7.8.1';
78
+ * import ApiRx from 'https://deno.land/x/pezkuwi/api/rx/index.ts';
79
+ *
80
+ * // import the test keyring (already has dev keys for Alice, Bob, Charlie, Eve & Ferdie)
81
+ * import testingPairs from 'https://deno.land/x/pezkuwi/keyring/testingPairs.ts';
82
+ * const keyring = testingPairs();
83
+ *
84
+ * // get api via Promise
85
+ * const api = await ApiRx.create().toPromise();
86
+ *
87
+ * // retrieve nonce for the account
88
+ * api.query.system
89
+ * .account(keyring.alice.address)
90
+ * .pipe(
91
+ * first(),
92
+ * // pipe nonce into transfer
93
+ * switchMap(([nonce]) =>
94
+ * api.tx.balances
95
+ * // create transfer
96
+ * .transferAllowDeath(keyring.bob.address, 12345)
97
+ * // sign the transaction
98
+ * .sign(keyring.alice, { nonce })
99
+ * // send the transaction
100
+ * .send()
101
+ * )
102
+ * )
103
+ * // subscribe to overall result
104
+ * .subscribe(({ status }) => {
105
+ * if (status.isInBlock) {
106
+ * console.log('Completed at block hash', status.asFinalized.toHex());
107
+ * }
108
+ * });
109
+ * ```
110
+ */
111
+ export class ApiRx extends ApiBase<'rxjs'> {
112
+ #isReadyRx: Observable<ApiRx>;
113
+
114
+ /**
115
+ * @description Create an instance of the ApiRx class
116
+ * @param options Options to create an instance. Can be either [[ApiOptions]] or [[WsProvider]]
117
+ * @example
118
+ * <BR>
119
+ *
120
+ * ```javascript
121
+ * import { switchMap } from 'https://esm.sh/rxjs@7.8.1';
122
+ * import Api from 'https://deno.land/x/pezkuwi/api/rx/index.ts';
123
+ *
124
+ * new Api().isReady
125
+ * .pipe(
126
+ * switchMap((api) =>
127
+ * api.rpc.chain.subscribeNewHeads()
128
+ * ))
129
+ * .subscribe((header) => {
130
+ * console.log(`new block #${header.number.toNumber()}`);
131
+ * });
132
+ * ```
133
+ */
134
+ constructor (options?: ApiOptions) {
135
+ super(options, 'rxjs', toRxMethod);
136
+
137
+ this.#isReadyRx = from<Promise<ApiRx>>(
138
+ // You can create an observable from an event, however my mind groks this form better
139
+ new Promise((resolve): void => {
140
+ super.on('ready', () => resolve(this));
141
+ })
142
+ );
143
+ }
144
+
145
+ /**
146
+ * @description Creates an ApiRx instance using the supplied provider. Returns an Observable containing the actual Api instance.
147
+ * @param options options that is passed to the class constructor. Can be either [[ApiOptions]] or [[WsProvider]]
148
+ * @example
149
+ * <BR>
150
+ *
151
+ * ```javascript
152
+ * import { switchMap } from 'https://esm.sh/rxjs@7.8.1';
153
+ * import Api from 'https://deno.land/x/pezkuwi/api/rx/index.ts';
154
+ *
155
+ * Api.create()
156
+ * .pipe(
157
+ * switchMap((api) =>
158
+ * api.rpc.chain.subscribeNewHeads()
159
+ * ))
160
+ * .subscribe((header) => {
161
+ * console.log(`new block #${header.number.toNumber()}`);
162
+ * });
163
+ * ```
164
+ */
165
+ public static create (options?: ApiOptions): Observable<ApiRx> {
166
+ return new ApiRx(options).isReady;
167
+ }
168
+
169
+ /**
170
+ * @description Observable that returns the first time we are connected and loaded
171
+ */
172
+ public get isReady (): Observable<ApiRx> {
173
+ return this.#isReadyRx;
174
+ }
175
+
176
+ /**
177
+ * @description Returns a clone of this ApiRx instance (new underlying provider connection)
178
+ */
179
+ public clone (): ApiRx {
180
+ return new ApiRx(
181
+ objectSpread({}, this._options, { source: this })
182
+ );
183
+ }
184
+ }
@@ -0,0 +1,7 @@
1
+
2
+ import type { Codec } from 'https://deno.land/x/pezkuwi/types/types/index.ts';
3
+ import type { DecorateFn } from '../types/index.ts';
4
+
5
+ export function toRxMethod <M extends DecorateFn<Codec>> (method: M): M {
6
+ return method;
7
+ }
@@ -0,0 +1,3 @@
1
+
2
+ export { ApiRx } from './Api.ts';
3
+ export { toRxMethod } from './decorateMethod.ts';
@@ -0,0 +1,109 @@
1
+
2
+ import type { BlockNumber, DispatchError, DispatchInfo, EventRecord, ExtrinsicStatus, Hash } from 'https://deno.land/x/pezkuwi/types/interfaces/index.ts';
3
+ import type { AnyJson, ISubmittableResult } from 'https://deno.land/x/pezkuwi/types/types/index.ts';
4
+ import type { SubmittableResultValue } from './types.ts';
5
+
6
+ const recordIdentity = (record: EventRecord) => record;
7
+
8
+ function filterAndApply <T> (events: EventRecord[], section: string, methods: string[], onFound: (record: EventRecord) => T): T[] {
9
+ return events
10
+ .filter(({ event }) =>
11
+ section === event.section &&
12
+ methods.includes(event.method)
13
+ )
14
+ .map((record) => onFound(record));
15
+ }
16
+
17
+ function getDispatchError ({ event: { data: [dispatchError] } }: EventRecord): DispatchError {
18
+ return dispatchError as DispatchError;
19
+ }
20
+
21
+ function getDispatchInfo ({ event: { data, method } }: EventRecord): DispatchInfo {
22
+ return method === 'ExtrinsicSuccess'
23
+ ? data[0] as DispatchInfo
24
+ : data[1] as DispatchInfo;
25
+ }
26
+
27
+ function extractError (events: EventRecord[] = []): DispatchError | undefined {
28
+ return filterAndApply(events, 'system', ['ExtrinsicFailed'], getDispatchError)[0];
29
+ }
30
+
31
+ function extractInfo (events: EventRecord[] = []): DispatchInfo | undefined {
32
+ return filterAndApply(events, 'system', ['ExtrinsicFailed', 'ExtrinsicSuccess'], getDispatchInfo)[0];
33
+ }
34
+
35
+ export class SubmittableResult implements ISubmittableResult {
36
+ readonly dispatchError?: DispatchError | undefined;
37
+
38
+ readonly dispatchInfo?: DispatchInfo | undefined;
39
+
40
+ readonly internalError?: Error | undefined;
41
+
42
+ readonly events: EventRecord[];
43
+
44
+ readonly status: ExtrinsicStatus;
45
+
46
+ readonly txHash: Hash;
47
+
48
+ readonly txIndex?: number | undefined;
49
+
50
+ readonly blockNumber?: BlockNumber | undefined;
51
+
52
+ constructor ({ blockNumber, dispatchError, dispatchInfo, events, internalError, status, txHash, txIndex }: SubmittableResultValue) {
53
+ this.dispatchError = dispatchError || extractError(events);
54
+ this.dispatchInfo = dispatchInfo || extractInfo(events);
55
+ this.events = events || [];
56
+ this.internalError = internalError;
57
+ this.status = status;
58
+ this.txHash = txHash;
59
+ this.txIndex = txIndex;
60
+ this.blockNumber = blockNumber;
61
+ }
62
+
63
+ public get isCompleted (): boolean {
64
+ return this.isError || this.status.isInBlock || this.status.isFinalized;
65
+ }
66
+
67
+ public get isError (): boolean {
68
+ return this.status.isDropped || this.status.isFinalityTimeout || this.status.isInvalid || this.status.isUsurped;
69
+ }
70
+
71
+ public get isFinalized (): boolean {
72
+ return this.status.isFinalized;
73
+ }
74
+
75
+ public get isInBlock (): boolean {
76
+ return this.status.isInBlock;
77
+ }
78
+
79
+ public get isWarning (): boolean {
80
+ return this.status.isRetracted;
81
+ }
82
+
83
+ /**
84
+ * @description Filters EventRecords for the specified method & section (there could be multiple)
85
+ */
86
+ public filterRecords (section: string, method: string | string[]): EventRecord[] {
87
+ return filterAndApply(this.events, section, Array.isArray(method) ? method : [method], recordIdentity);
88
+ }
89
+
90
+ /**
91
+ * @description Finds an EventRecord for the specified method & section
92
+ */
93
+ public findRecord (section: string, method: string | string[]): EventRecord | undefined {
94
+ return this.filterRecords(section, method)[0];
95
+ }
96
+
97
+ /**
98
+ * @description Creates a human representation of the output
99
+ */
100
+ public toHuman (isExtended?: boolean): AnyJson {
101
+ return {
102
+ dispatchError: this.dispatchError?.toHuman(),
103
+ dispatchInfo: this.dispatchInfo?.toHuman(),
104
+ events: this.events.map((e) => e.toHuman(isExtended)),
105
+ internalError: this.internalError?.message.toString(),
106
+ status: this.status.toHuman(isExtended)
107
+ };
108
+ }
109
+ }