ali-skills 0.0.21 → 0.0.22

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 (633) hide show
  1. package/node_modules/@ali/cli-skills/dist/cli.mjs +1214 -287
  2. package/node_modules/@ali/cli-skills/package.json +5 -2
  3. package/node_modules/@ali/o2-open-client/.editorconfig +11 -0
  4. package/node_modules/@ali/o2-open-client/README.md +80 -0
  5. package/node_modules/@ali/o2-open-client/abc.json +8 -0
  6. package/node_modules/@ali/o2-open-client/es/browser/ee.d.ts +23 -0
  7. package/node_modules/@ali/o2-open-client/es/browser/ee.js +82 -0
  8. package/node_modules/@ali/o2-open-client/es/browser/entry.d.ts +32 -0
  9. package/node_modules/@ali/o2-open-client/es/browser/entry.js +306 -0
  10. package/node_modules/@ali/o2-open-client/es/browser/escape.d.ts +12 -0
  11. package/node_modules/@ali/o2-open-client/es/browser/escape.js +178 -0
  12. package/node_modules/@ali/o2-open-client/es/browser/fetch.d.ts +1 -0
  13. package/node_modules/@ali/o2-open-client/es/browser/fetch.js +14 -0
  14. package/node_modules/@ali/o2-open-client/es/browser/index.d.ts +1 -0
  15. package/node_modules/@ali/o2-open-client/es/browser/index.js +1 -0
  16. package/node_modules/@ali/o2-open-client/es/common/constant.d.ts +42 -0
  17. package/node_modules/@ali/o2-open-client/es/common/constant.js +53 -0
  18. package/node_modules/@ali/o2-open-client/es/common/format.d.ts +14 -0
  19. package/node_modules/@ali/o2-open-client/es/common/format.js +43 -0
  20. package/node_modules/@ali/o2-open-client/es/common/service-meta.d.ts +33 -0
  21. package/node_modules/@ali/o2-open-client/es/common/service-meta.js +33 -0
  22. package/node_modules/@ali/o2-open-client/es/index.d.ts +1 -0
  23. package/node_modules/@ali/o2-open-client/es/index.js +8 -0
  24. package/node_modules/@ali/o2-open-client/es/node/config.d.ts +47 -0
  25. package/node_modules/@ali/o2-open-client/es/node/config.js +188 -0
  26. package/node_modules/@ali/o2-open-client/es/node/escape.d.ts +22 -0
  27. package/node_modules/@ali/o2-open-client/es/node/escape.js +131 -0
  28. package/node_modules/@ali/o2-open-client/es/node/help.d.ts +10 -0
  29. package/node_modules/@ali/o2-open-client/es/node/help.js +96 -0
  30. package/node_modules/@ali/o2-open-client/es/node/index.d.ts +48 -0
  31. package/node_modules/@ali/o2-open-client/es/node/index.js +247 -0
  32. package/node_modules/@ali/o2-open-client/es/node/token-handler.d.ts +1 -0
  33. package/node_modules/@ali/o2-open-client/es/node/token-handler.js +21 -0
  34. package/node_modules/@ali/o2-open-client/lib/browser/ee.d.ts +23 -0
  35. package/node_modules/@ali/o2-open-client/lib/browser/ee.js +86 -0
  36. package/node_modules/@ali/o2-open-client/lib/browser/entry.d.ts +32 -0
  37. package/node_modules/@ali/o2-open-client/lib/browser/entry.js +310 -0
  38. package/node_modules/@ali/o2-open-client/lib/browser/escape.d.ts +12 -0
  39. package/node_modules/@ali/o2-open-client/lib/browser/escape.js +185 -0
  40. package/node_modules/@ali/o2-open-client/lib/browser/fetch.d.ts +1 -0
  41. package/node_modules/@ali/o2-open-client/lib/browser/fetch.js +18 -0
  42. package/node_modules/@ali/o2-open-client/lib/common/constant.d.ts +42 -0
  43. package/node_modules/@ali/o2-open-client/lib/common/constant.js +56 -0
  44. package/node_modules/@ali/o2-open-client/lib/common/format.d.ts +14 -0
  45. package/node_modules/@ali/o2-open-client/lib/common/format.js +48 -0
  46. package/node_modules/@ali/o2-open-client/lib/common/service-meta.d.ts +33 -0
  47. package/node_modules/@ali/o2-open-client/lib/common/service-meta.js +36 -0
  48. package/node_modules/@ali/o2-open-client/lib/index.d.ts +1 -0
  49. package/node_modules/@ali/o2-open-client/lib/index.js +20 -0
  50. package/node_modules/@ali/o2-open-client/lib/node/config.d.ts +47 -0
  51. package/node_modules/@ali/o2-open-client/lib/node/config.js +192 -0
  52. package/node_modules/@ali/o2-open-client/lib/node/escape.d.ts +22 -0
  53. package/node_modules/@ali/o2-open-client/lib/node/escape.js +137 -0
  54. package/node_modules/@ali/o2-open-client/lib/node/help.d.ts +10 -0
  55. package/node_modules/@ali/o2-open-client/lib/node/help.js +100 -0
  56. package/node_modules/@ali/o2-open-client/lib/node/index.d.ts +48 -0
  57. package/node_modules/@ali/o2-open-client/lib/node/index.js +250 -0
  58. package/node_modules/@ali/o2-open-client/lib/node/token-handler.d.ts +1 -0
  59. package/node_modules/@ali/o2-open-client/lib/node/token-handler.js +25 -0
  60. package/node_modules/@ali/o2-open-client/package.json +46 -0
  61. package/node_modules/@ali/o2-open-client/playwright.config.ts +54 -0
  62. package/node_modules/@ali/o2-open-client/tsconfig.es.json +31 -0
  63. package/node_modules/@ali/o2-open-client/tsconfig.json +31 -0
  64. package/node_modules/@ali/o2-open-client/tsx2doc.config.js +5 -0
  65. package/node_modules/@ali/o2-open-client/typings/index.d.ts +36 -0
  66. package/node_modules/@types/node/LICENSE +21 -0
  67. package/node_modules/@types/node/README.md +15 -0
  68. package/node_modules/@types/node/assert/strict.d.ts +8 -0
  69. package/node_modules/@types/node/assert.d.ts +1062 -0
  70. package/node_modules/@types/node/async_hooks.d.ts +605 -0
  71. package/node_modules/@types/node/buffer.buffer.d.ts +471 -0
  72. package/node_modules/@types/node/buffer.d.ts +1936 -0
  73. package/node_modules/@types/node/child_process.d.ts +1475 -0
  74. package/node_modules/@types/node/cluster.d.ts +577 -0
  75. package/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
  76. package/node_modules/@types/node/compatibility/index.d.ts +9 -0
  77. package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  78. package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  79. package/node_modules/@types/node/console.d.ts +452 -0
  80. package/node_modules/@types/node/constants.d.ts +21 -0
  81. package/node_modules/@types/node/crypto.d.ts +4590 -0
  82. package/node_modules/@types/node/dgram.d.ts +597 -0
  83. package/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  84. package/node_modules/@types/node/dns/promises.d.ts +479 -0
  85. package/node_modules/@types/node/dns.d.ts +871 -0
  86. package/node_modules/@types/node/domain.d.ts +170 -0
  87. package/node_modules/@types/node/events.d.ts +977 -0
  88. package/node_modules/@types/node/fs/promises.d.ts +1270 -0
  89. package/node_modules/@types/node/fs.d.ts +4375 -0
  90. package/node_modules/@types/node/globals.d.ts +172 -0
  91. package/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  92. package/node_modules/@types/node/http.d.ts +2049 -0
  93. package/node_modules/@types/node/http2.d.ts +2631 -0
  94. package/node_modules/@types/node/https.d.ts +578 -0
  95. package/node_modules/@types/node/index.d.ts +93 -0
  96. package/node_modules/@types/node/inspector.generated.d.ts +3966 -0
  97. package/node_modules/@types/node/module.d.ts +539 -0
  98. package/node_modules/@types/node/net.d.ts +1031 -0
  99. package/node_modules/@types/node/os.d.ts +506 -0
  100. package/node_modules/@types/node/package.json +140 -0
  101. package/node_modules/@types/node/path.d.ts +200 -0
  102. package/node_modules/@types/node/perf_hooks.d.ts +961 -0
  103. package/node_modules/@types/node/process.d.ts +1961 -0
  104. package/node_modules/@types/node/punycode.d.ts +117 -0
  105. package/node_modules/@types/node/querystring.d.ts +152 -0
  106. package/node_modules/@types/node/readline/promises.d.ts +162 -0
  107. package/node_modules/@types/node/readline.d.ts +589 -0
  108. package/node_modules/@types/node/repl.d.ts +430 -0
  109. package/node_modules/@types/node/sea.d.ts +153 -0
  110. package/node_modules/@types/node/stream/consumers.d.ts +38 -0
  111. package/node_modules/@types/node/stream/promises.d.ts +90 -0
  112. package/node_modules/@types/node/stream/web.d.ts +533 -0
  113. package/node_modules/@types/node/stream.d.ts +1698 -0
  114. package/node_modules/@types/node/string_decoder.d.ts +67 -0
  115. package/node_modules/@types/node/test.d.ts +1787 -0
  116. package/node_modules/@types/node/timers/promises.d.ts +108 -0
  117. package/node_modules/@types/node/timers.d.ts +286 -0
  118. package/node_modules/@types/node/tls.d.ts +1259 -0
  119. package/node_modules/@types/node/trace_events.d.ts +197 -0
  120. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  121. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  122. package/node_modules/@types/node/ts5.6/index.d.ts +93 -0
  123. package/node_modules/@types/node/tty.d.ts +208 -0
  124. package/node_modules/@types/node/url.d.ts +964 -0
  125. package/node_modules/@types/node/util.d.ts +2331 -0
  126. package/node_modules/@types/node/v8.d.ts +809 -0
  127. package/node_modules/@types/node/vm.d.ts +1001 -0
  128. package/node_modules/@types/node/wasi.d.ts +181 -0
  129. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  130. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  131. package/node_modules/@types/node/web-globals/events.d.ts +97 -0
  132. package/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
  133. package/node_modules/@types/node/worker_threads.d.ts +715 -0
  134. package/node_modules/@types/node/zlib.d.ts +598 -0
  135. package/node_modules/ansi-styles/index.d.ts +345 -0
  136. package/node_modules/ansi-styles/index.js +163 -0
  137. package/node_modules/ansi-styles/license +9 -0
  138. package/node_modules/ansi-styles/package.json +56 -0
  139. package/node_modules/ansi-styles/readme.md +152 -0
  140. package/node_modules/await-event/LICENSE +22 -0
  141. package/node_modules/await-event/README.md +48 -0
  142. package/node_modules/await-event/index.js +13 -0
  143. package/node_modules/await-event/package.json +33 -0
  144. package/node_modules/await-first/LICENSE +21 -0
  145. package/node_modules/await-first/README.md +80 -0
  146. package/node_modules/await-first/lib/index.js +21 -0
  147. package/node_modules/await-first/package.json +49 -0
  148. package/node_modules/byte/LICENSE.txt +21 -0
  149. package/node_modules/byte/README.md +207 -0
  150. package/node_modules/byte/lib/byte.js +635 -0
  151. package/node_modules/byte/lib/number.js +82 -0
  152. package/node_modules/byte/package.json +61 -0
  153. package/node_modules/chalk/index.d.ts +415 -0
  154. package/node_modules/chalk/license +9 -0
  155. package/node_modules/chalk/package.json +68 -0
  156. package/node_modules/chalk/readme.md +341 -0
  157. package/node_modules/chalk/source/index.js +229 -0
  158. package/node_modules/chalk/source/templates.js +134 -0
  159. package/node_modules/chalk/source/util.js +39 -0
  160. package/node_modules/circular-json-for-egg/LICENSE.txt +19 -0
  161. package/node_modules/circular-json-for-egg/README.md +148 -0
  162. package/node_modules/circular-json-for-egg/build/circular-json.amd.js +2 -0
  163. package/node_modules/circular-json-for-egg/build/circular-json.js +2 -0
  164. package/node_modules/circular-json-for-egg/build/circular-json.max.amd.js +210 -0
  165. package/node_modules/circular-json-for-egg/build/circular-json.max.js +210 -0
  166. package/node_modules/circular-json-for-egg/build/circular-json.node.js +207 -0
  167. package/node_modules/circular-json-for-egg/package.json +42 -0
  168. package/node_modules/cluster-client/LICENSE +21 -0
  169. package/node_modules/cluster-client/README.md +319 -0
  170. package/node_modules/cluster-client/index.js +66 -0
  171. package/node_modules/cluster-client/lib/api_client.js +74 -0
  172. package/node_modules/cluster-client/lib/connection.js +180 -0
  173. package/node_modules/cluster-client/lib/const.js +5 -0
  174. package/node_modules/cluster-client/lib/default_logger.js +11 -0
  175. package/node_modules/cluster-client/lib/default_transcode.js +6 -0
  176. package/node_modules/cluster-client/lib/follower.js +331 -0
  177. package/node_modules/cluster-client/lib/index.js +213 -0
  178. package/node_modules/cluster-client/lib/leader.js +437 -0
  179. package/node_modules/cluster-client/lib/protocol/byte_buffer.js +8 -0
  180. package/node_modules/cluster-client/lib/protocol/packet.js +103 -0
  181. package/node_modules/cluster-client/lib/protocol/request.js +17 -0
  182. package/node_modules/cluster-client/lib/protocol/response.js +14 -0
  183. package/node_modules/cluster-client/lib/server.js +256 -0
  184. package/node_modules/cluster-client/lib/symbol.js +20 -0
  185. package/node_modules/cluster-client/lib/utils.js +103 -0
  186. package/node_modules/cluster-client/lib/wrapper/base.js +210 -0
  187. package/node_modules/cluster-client/lib/wrapper/cluster.js +57 -0
  188. package/node_modules/cluster-client/lib/wrapper/single.js +192 -0
  189. package/node_modules/cluster-client/package.json +60 -0
  190. package/node_modules/co/LICENSE +22 -0
  191. package/node_modules/co/Readme.md +212 -0
  192. package/node_modules/co/index.js +237 -0
  193. package/node_modules/co/package.json +34 -0
  194. package/node_modules/color-convert/LICENSE +21 -0
  195. package/node_modules/color-convert/README.md +68 -0
  196. package/node_modules/color-convert/conversions.js +839 -0
  197. package/node_modules/color-convert/index.js +81 -0
  198. package/node_modules/color-convert/package.json +48 -0
  199. package/node_modules/color-convert/route.js +97 -0
  200. package/node_modules/color-name/LICENSE +8 -0
  201. package/node_modules/color-name/README.md +11 -0
  202. package/node_modules/color-name/index.js +152 -0
  203. package/node_modules/color-name/package.json +28 -0
  204. package/node_modules/core-util-is/LICENSE +19 -0
  205. package/node_modules/core-util-is/README.md +3 -0
  206. package/node_modules/core-util-is/lib/util.js +107 -0
  207. package/node_modules/core-util-is/package.json +38 -0
  208. package/node_modules/debug/LICENSE +20 -0
  209. package/node_modules/debug/README.md +481 -0
  210. package/node_modules/debug/package.json +64 -0
  211. package/node_modules/debug/src/browser.js +272 -0
  212. package/node_modules/debug/src/common.js +292 -0
  213. package/node_modules/debug/src/index.js +10 -0
  214. package/node_modules/debug/src/node.js +263 -0
  215. package/node_modules/depd/History.md +103 -0
  216. package/node_modules/depd/LICENSE +22 -0
  217. package/node_modules/depd/Readme.md +280 -0
  218. package/node_modules/depd/index.js +538 -0
  219. package/node_modules/depd/lib/browser/index.js +77 -0
  220. package/node_modules/depd/package.json +45 -0
  221. package/node_modules/ee-first/LICENSE +22 -0
  222. package/node_modules/ee-first/README.md +80 -0
  223. package/node_modules/ee-first/index.js +95 -0
  224. package/node_modules/ee-first/package.json +29 -0
  225. package/node_modules/egg-errors/LICENSE +21 -0
  226. package/node_modules/egg-errors/README.md +259 -0
  227. package/node_modules/egg-errors/lib/base.d.ts +10 -0
  228. package/node_modules/egg-errors/lib/base.js +28 -0
  229. package/node_modules/egg-errors/lib/base_error.d.ts +6 -0
  230. package/node_modules/egg-errors/lib/base_error.js +13 -0
  231. package/node_modules/egg-errors/lib/base_exception.d.ts +6 -0
  232. package/node_modules/egg-errors/lib/base_exception.js +13 -0
  233. package/node_modules/egg-errors/lib/error.d.ts +6 -0
  234. package/node_modules/egg-errors/lib/error.js +13 -0
  235. package/node_modules/egg-errors/lib/error_options.d.ts +5 -0
  236. package/node_modules/egg-errors/lib/error_options.js +6 -0
  237. package/node_modules/egg-errors/lib/error_type.d.ts +6 -0
  238. package/node_modules/egg-errors/lib/error_type.js +10 -0
  239. package/node_modules/egg-errors/lib/exception.d.ts +6 -0
  240. package/node_modules/egg-errors/lib/exception.js +13 -0
  241. package/node_modules/egg-errors/lib/framework/formatter.d.ts +6 -0
  242. package/node_modules/egg-errors/lib/framework/formatter.js +29 -0
  243. package/node_modules/egg-errors/lib/framework/framework_base_error.d.ts +10 -0
  244. package/node_modules/egg-errors/lib/framework/framework_base_error.js +32 -0
  245. package/node_modules/egg-errors/lib/http/400.d.ts +5 -0
  246. package/node_modules/egg-errors/lib/http/400.js +13 -0
  247. package/node_modules/egg-errors/lib/http/401.d.ts +5 -0
  248. package/node_modules/egg-errors/lib/http/401.js +13 -0
  249. package/node_modules/egg-errors/lib/http/402.d.ts +5 -0
  250. package/node_modules/egg-errors/lib/http/402.js +13 -0
  251. package/node_modules/egg-errors/lib/http/403.d.ts +5 -0
  252. package/node_modules/egg-errors/lib/http/403.js +13 -0
  253. package/node_modules/egg-errors/lib/http/404.d.ts +5 -0
  254. package/node_modules/egg-errors/lib/http/404.js +13 -0
  255. package/node_modules/egg-errors/lib/http/405.d.ts +5 -0
  256. package/node_modules/egg-errors/lib/http/405.js +13 -0
  257. package/node_modules/egg-errors/lib/http/406.d.ts +5 -0
  258. package/node_modules/egg-errors/lib/http/406.js +13 -0
  259. package/node_modules/egg-errors/lib/http/407.d.ts +5 -0
  260. package/node_modules/egg-errors/lib/http/407.js +13 -0
  261. package/node_modules/egg-errors/lib/http/408.d.ts +5 -0
  262. package/node_modules/egg-errors/lib/http/408.js +13 -0
  263. package/node_modules/egg-errors/lib/http/409.d.ts +5 -0
  264. package/node_modules/egg-errors/lib/http/409.js +13 -0
  265. package/node_modules/egg-errors/lib/http/410.d.ts +5 -0
  266. package/node_modules/egg-errors/lib/http/410.js +13 -0
  267. package/node_modules/egg-errors/lib/http/411.d.ts +5 -0
  268. package/node_modules/egg-errors/lib/http/411.js +13 -0
  269. package/node_modules/egg-errors/lib/http/412.d.ts +5 -0
  270. package/node_modules/egg-errors/lib/http/412.js +13 -0
  271. package/node_modules/egg-errors/lib/http/413.d.ts +5 -0
  272. package/node_modules/egg-errors/lib/http/413.js +13 -0
  273. package/node_modules/egg-errors/lib/http/414.d.ts +5 -0
  274. package/node_modules/egg-errors/lib/http/414.js +13 -0
  275. package/node_modules/egg-errors/lib/http/415.d.ts +5 -0
  276. package/node_modules/egg-errors/lib/http/415.js +13 -0
  277. package/node_modules/egg-errors/lib/http/416.d.ts +5 -0
  278. package/node_modules/egg-errors/lib/http/416.js +13 -0
  279. package/node_modules/egg-errors/lib/http/417.d.ts +5 -0
  280. package/node_modules/egg-errors/lib/http/417.js +13 -0
  281. package/node_modules/egg-errors/lib/http/418.d.ts +5 -0
  282. package/node_modules/egg-errors/lib/http/418.js +13 -0
  283. package/node_modules/egg-errors/lib/http/421.d.ts +5 -0
  284. package/node_modules/egg-errors/lib/http/421.js +13 -0
  285. package/node_modules/egg-errors/lib/http/422.d.ts +5 -0
  286. package/node_modules/egg-errors/lib/http/422.js +13 -0
  287. package/node_modules/egg-errors/lib/http/423.d.ts +5 -0
  288. package/node_modules/egg-errors/lib/http/423.js +13 -0
  289. package/node_modules/egg-errors/lib/http/424.d.ts +5 -0
  290. package/node_modules/egg-errors/lib/http/424.js +13 -0
  291. package/node_modules/egg-errors/lib/http/425.d.ts +5 -0
  292. package/node_modules/egg-errors/lib/http/425.js +13 -0
  293. package/node_modules/egg-errors/lib/http/426.d.ts +5 -0
  294. package/node_modules/egg-errors/lib/http/426.js +13 -0
  295. package/node_modules/egg-errors/lib/http/428.d.ts +5 -0
  296. package/node_modules/egg-errors/lib/http/428.js +13 -0
  297. package/node_modules/egg-errors/lib/http/429.d.ts +5 -0
  298. package/node_modules/egg-errors/lib/http/429.js +13 -0
  299. package/node_modules/egg-errors/lib/http/431.d.ts +5 -0
  300. package/node_modules/egg-errors/lib/http/431.js +13 -0
  301. package/node_modules/egg-errors/lib/http/451.d.ts +5 -0
  302. package/node_modules/egg-errors/lib/http/451.js +13 -0
  303. package/node_modules/egg-errors/lib/http/500.d.ts +5 -0
  304. package/node_modules/egg-errors/lib/http/500.js +13 -0
  305. package/node_modules/egg-errors/lib/http/501.d.ts +5 -0
  306. package/node_modules/egg-errors/lib/http/501.js +13 -0
  307. package/node_modules/egg-errors/lib/http/502.d.ts +5 -0
  308. package/node_modules/egg-errors/lib/http/502.js +13 -0
  309. package/node_modules/egg-errors/lib/http/503.d.ts +5 -0
  310. package/node_modules/egg-errors/lib/http/503.js +13 -0
  311. package/node_modules/egg-errors/lib/http/504.d.ts +5 -0
  312. package/node_modules/egg-errors/lib/http/504.js +13 -0
  313. package/node_modules/egg-errors/lib/http/505.d.ts +5 -0
  314. package/node_modules/egg-errors/lib/http/505.js +13 -0
  315. package/node_modules/egg-errors/lib/http/506.d.ts +5 -0
  316. package/node_modules/egg-errors/lib/http/506.js +13 -0
  317. package/node_modules/egg-errors/lib/http/507.d.ts +5 -0
  318. package/node_modules/egg-errors/lib/http/507.js +13 -0
  319. package/node_modules/egg-errors/lib/http/508.d.ts +5 -0
  320. package/node_modules/egg-errors/lib/http/508.js +13 -0
  321. package/node_modules/egg-errors/lib/http/509.d.ts +5 -0
  322. package/node_modules/egg-errors/lib/http/509.js +13 -0
  323. package/node_modules/egg-errors/lib/http/510.d.ts +5 -0
  324. package/node_modules/egg-errors/lib/http/510.js +13 -0
  325. package/node_modules/egg-errors/lib/http/511.d.ts +5 -0
  326. package/node_modules/egg-errors/lib/http/511.js +13 -0
  327. package/node_modules/egg-errors/lib/http/http_error.d.ts +10 -0
  328. package/node_modules/egg-errors/lib/http/http_error.js +13 -0
  329. package/node_modules/egg-errors/lib/http/http_error_options.d.ts +6 -0
  330. package/node_modules/egg-errors/lib/http/http_error_options.js +7 -0
  331. package/node_modules/egg-errors/lib/http/http_header.d.ts +3 -0
  332. package/node_modules/egg-errors/lib/http/http_header.js +3 -0
  333. package/node_modules/egg-errors/lib/index.d.ts +50 -0
  334. package/node_modules/egg-errors/lib/index.js +149 -0
  335. package/node_modules/egg-errors/package.json +49 -0
  336. package/node_modules/egg-logger/LICENSE +21 -0
  337. package/node_modules/egg-logger/README.md +128 -0
  338. package/node_modules/egg-logger/README.zh-CN.md +125 -0
  339. package/node_modules/egg-logger/index.d.ts +233 -0
  340. package/node_modules/egg-logger/index.js +18 -0
  341. package/node_modules/egg-logger/lib/egg/console_logger.js +36 -0
  342. package/node_modules/egg-logger/lib/egg/context_logger.js +43 -0
  343. package/node_modules/egg-logger/lib/egg/custom_logger.js +10 -0
  344. package/node_modules/egg-logger/lib/egg/error_logger.js +31 -0
  345. package/node_modules/egg-logger/lib/egg/logger.js +128 -0
  346. package/node_modules/egg-logger/lib/egg/loggers.js +163 -0
  347. package/node_modules/egg-logger/lib/level.js +34 -0
  348. package/node_modules/egg-logger/lib/logger.js +170 -0
  349. package/node_modules/egg-logger/lib/transports/console.js +52 -0
  350. package/node_modules/egg-logger/lib/transports/file.js +134 -0
  351. package/node_modules/egg-logger/lib/transports/file_buffer.js +113 -0
  352. package/node_modules/egg-logger/lib/transports/transport.js +129 -0
  353. package/node_modules/egg-logger/lib/utils.js +296 -0
  354. package/node_modules/egg-logger/package.json +54 -0
  355. package/node_modules/escape-html/LICENSE +24 -0
  356. package/node_modules/escape-html/Readme.md +43 -0
  357. package/node_modules/escape-html/index.js +78 -0
  358. package/node_modules/escape-html/package.json +24 -0
  359. package/node_modules/extend-shallow/LICENSE +21 -0
  360. package/node_modules/extend-shallow/README.md +61 -0
  361. package/node_modules/extend-shallow/index.js +33 -0
  362. package/node_modules/extend-shallow/package.json +56 -0
  363. package/node_modules/has-flag/index.d.ts +39 -0
  364. package/node_modules/has-flag/index.js +8 -0
  365. package/node_modules/has-flag/license +9 -0
  366. package/node_modules/has-flag/package.json +46 -0
  367. package/node_modules/has-flag/readme.md +89 -0
  368. package/node_modules/heartbeats/.eslintrc +151 -0
  369. package/node_modules/heartbeats/.npmignore +28 -0
  370. package/node_modules/heartbeats/.travis.yml +10 -0
  371. package/node_modules/heartbeats/LICENSE +21 -0
  372. package/node_modules/heartbeats/README.md +323 -0
  373. package/node_modules/heartbeats/lib/beatevent.js +35 -0
  374. package/node_modules/heartbeats/lib/heart.js +178 -0
  375. package/node_modules/heartbeats/lib/pulse.js +39 -0
  376. package/node_modules/heartbeats/main.js +34 -0
  377. package/node_modules/heartbeats/package.json +39 -0
  378. package/node_modules/heartbeats/test/benchmark.js +138 -0
  379. package/node_modules/heartbeats/test/spawn.js +16 -0
  380. package/node_modules/heartbeats/test/test.js +158 -0
  381. package/node_modules/httpx/README.md +96 -0
  382. package/node_modules/httpx/lib/index.d.ts +31 -0
  383. package/node_modules/httpx/lib/index.js +396 -0
  384. package/node_modules/httpx/package.json +36 -0
  385. package/node_modules/iconv-lite/.github/dependabot.yml +11 -0
  386. package/node_modules/iconv-lite/.idea/codeStyles/Project.xml +47 -0
  387. package/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +5 -0
  388. package/node_modules/iconv-lite/.idea/iconv-lite.iml +12 -0
  389. package/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +6 -0
  390. package/node_modules/iconv-lite/.idea/modules.xml +8 -0
  391. package/node_modules/iconv-lite/.idea/vcs.xml +6 -0
  392. package/node_modules/iconv-lite/Changelog.md +212 -0
  393. package/node_modules/iconv-lite/LICENSE +21 -0
  394. package/node_modules/iconv-lite/README.md +130 -0
  395. package/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  396. package/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  397. package/node_modules/iconv-lite/encodings/index.js +23 -0
  398. package/node_modules/iconv-lite/encodings/internal.js +198 -0
  399. package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  400. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  401. package/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  402. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  403. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  404. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  405. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  406. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  407. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  408. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  409. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  410. package/node_modules/iconv-lite/encodings/utf16.js +197 -0
  411. package/node_modules/iconv-lite/encodings/utf32.js +319 -0
  412. package/node_modules/iconv-lite/encodings/utf7.js +290 -0
  413. package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  414. package/node_modules/iconv-lite/lib/index.d.ts +41 -0
  415. package/node_modules/iconv-lite/lib/index.js +180 -0
  416. package/node_modules/iconv-lite/lib/streams.js +109 -0
  417. package/node_modules/iconv-lite/package.json +44 -0
  418. package/node_modules/ip/README.md +90 -0
  419. package/node_modules/ip/lib/ip.js +496 -0
  420. package/node_modules/ip/package.json +25 -0
  421. package/node_modules/is-class-hotfix/.editorconfig +23 -0
  422. package/node_modules/is-class-hotfix/.gitattributes +2 -0
  423. package/node_modules/is-class-hotfix/CHANGELOG.md +7 -0
  424. package/node_modules/is-class-hotfix/LICENSE.md +21 -0
  425. package/node_modules/is-class-hotfix/README.md +35 -0
  426. package/node_modules/is-class-hotfix/bower.json +24 -0
  427. package/node_modules/is-class-hotfix/is-class.js +28 -0
  428. package/node_modules/is-class-hotfix/package.json +31 -0
  429. package/node_modules/is-class-hotfix/test/babel-class.js +27 -0
  430. package/node_modules/is-class-hotfix/test/is-class.js +31 -0
  431. package/node_modules/is-extendable/LICENSE +21 -0
  432. package/node_modules/is-extendable/README.md +72 -0
  433. package/node_modules/is-extendable/index.js +13 -0
  434. package/node_modules/is-extendable/package.json +51 -0
  435. package/node_modules/is-type-of/LICENSE +21 -0
  436. package/node_modules/is-type-of/README.md +105 -0
  437. package/node_modules/is-type-of/index.d.ts +65 -0
  438. package/node_modules/is-type-of/index.js +125 -0
  439. package/node_modules/is-type-of/package.json +45 -0
  440. package/node_modules/isstream/.jshintrc +59 -0
  441. package/node_modules/isstream/.npmignore +1 -0
  442. package/node_modules/isstream/.travis.yml +12 -0
  443. package/node_modules/isstream/LICENSE.md +11 -0
  444. package/node_modules/isstream/README.md +66 -0
  445. package/node_modules/isstream/isstream.js +27 -0
  446. package/node_modules/isstream/package.json +33 -0
  447. package/node_modules/isstream/test.js +168 -0
  448. package/node_modules/json-stringify-safe/.npmignore +1 -0
  449. package/node_modules/json-stringify-safe/CHANGELOG.md +14 -0
  450. package/node_modules/json-stringify-safe/LICENSE +15 -0
  451. package/node_modules/json-stringify-safe/Makefile +35 -0
  452. package/node_modules/json-stringify-safe/README.md +52 -0
  453. package/node_modules/json-stringify-safe/package.json +31 -0
  454. package/node_modules/json-stringify-safe/stringify.js +27 -0
  455. package/node_modules/json-stringify-safe/test/mocha.opts +2 -0
  456. package/node_modules/json-stringify-safe/test/stringify_test.js +246 -0
  457. package/node_modules/kitx/LICENSE +21 -0
  458. package/node_modules/kitx/README.md +35 -0
  459. package/node_modules/kitx/lib/index.d.ts +45 -0
  460. package/node_modules/kitx/lib/index.js +289 -0
  461. package/node_modules/kitx/package.json +41 -0
  462. package/node_modules/long/LICENSE +202 -0
  463. package/node_modules/long/README.md +246 -0
  464. package/node_modules/long/dist/long.js +2 -0
  465. package/node_modules/long/dist/long.js.map +1 -0
  466. package/node_modules/long/index.js +1 -0
  467. package/node_modules/long/package.json +34 -0
  468. package/node_modules/long/src/long.js +1323 -0
  469. package/node_modules/ms/index.js +162 -0
  470. package/node_modules/ms/license.md +21 -0
  471. package/node_modules/ms/package.json +38 -0
  472. package/node_modules/ms/readme.md +59 -0
  473. package/node_modules/p-timeout/index.d.ts +113 -0
  474. package/node_modules/p-timeout/index.js +71 -0
  475. package/node_modules/p-timeout/license +9 -0
  476. package/node_modules/p-timeout/package.json +44 -0
  477. package/node_modules/p-timeout/readme.md +117 -0
  478. package/node_modules/safer-buffer/LICENSE +21 -0
  479. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  480. package/node_modules/safer-buffer/Readme.md +156 -0
  481. package/node_modules/safer-buffer/dangerous.js +58 -0
  482. package/node_modules/safer-buffer/package.json +34 -0
  483. package/node_modules/safer-buffer/safer.js +77 -0
  484. package/node_modules/safer-buffer/tests.js +406 -0
  485. package/node_modules/sdk-base/LICENSE +21 -0
  486. package/node_modules/sdk-base/README.md +165 -0
  487. package/node_modules/sdk-base/index.d.ts +29 -0
  488. package/node_modules/sdk-base/index.js +251 -0
  489. package/node_modules/sdk-base/package.json +54 -0
  490. package/node_modules/serialize-json/LICENSE +21 -0
  491. package/node_modules/serialize-json/README.md +74 -0
  492. package/node_modules/serialize-json/lib/decoder.js +190 -0
  493. package/node_modules/serialize-json/lib/encoder.js +200 -0
  494. package/node_modules/serialize-json/lib/index.js +15 -0
  495. package/node_modules/serialize-json/package.json +53 -0
  496. package/node_modules/supports-color/browser.js +5 -0
  497. package/node_modules/supports-color/index.js +135 -0
  498. package/node_modules/supports-color/license +9 -0
  499. package/node_modules/supports-color/package.json +53 -0
  500. package/node_modules/supports-color/readme.md +76 -0
  501. package/node_modules/tcp-base/LICENSE +21 -0
  502. package/node_modules/tcp-base/README.md +134 -0
  503. package/node_modules/tcp-base/lib/base.js +456 -0
  504. package/node_modules/tcp-base/package.json +44 -0
  505. package/node_modules/undici-types/LICENSE +21 -0
  506. package/node_modules/undici-types/README.md +6 -0
  507. package/node_modules/undici-types/agent.d.ts +31 -0
  508. package/node_modules/undici-types/api.d.ts +43 -0
  509. package/node_modules/undici-types/balanced-pool.d.ts +29 -0
  510. package/node_modules/undici-types/cache.d.ts +36 -0
  511. package/node_modules/undici-types/client.d.ts +108 -0
  512. package/node_modules/undici-types/connector.d.ts +34 -0
  513. package/node_modules/undici-types/content-type.d.ts +21 -0
  514. package/node_modules/undici-types/cookies.d.ts +28 -0
  515. package/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
  516. package/node_modules/undici-types/dispatcher.d.ts +256 -0
  517. package/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
  518. package/node_modules/undici-types/errors.d.ts +149 -0
  519. package/node_modules/undici-types/eventsource.d.ts +61 -0
  520. package/node_modules/undici-types/fetch.d.ts +209 -0
  521. package/node_modules/undici-types/file.d.ts +39 -0
  522. package/node_modules/undici-types/filereader.d.ts +54 -0
  523. package/node_modules/undici-types/formdata.d.ts +108 -0
  524. package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  525. package/node_modules/undici-types/global-origin.d.ts +7 -0
  526. package/node_modules/undici-types/handlers.d.ts +15 -0
  527. package/node_modules/undici-types/header.d.ts +4 -0
  528. package/node_modules/undici-types/index.d.ts +71 -0
  529. package/node_modules/undici-types/interceptors.d.ts +17 -0
  530. package/node_modules/undici-types/mock-agent.d.ts +50 -0
  531. package/node_modules/undici-types/mock-client.d.ts +25 -0
  532. package/node_modules/undici-types/mock-errors.d.ts +12 -0
  533. package/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  534. package/node_modules/undici-types/mock-pool.d.ts +25 -0
  535. package/node_modules/undici-types/package.json +55 -0
  536. package/node_modules/undici-types/patch.d.ts +33 -0
  537. package/node_modules/undici-types/pool-stats.d.ts +19 -0
  538. package/node_modules/undici-types/pool.d.ts +39 -0
  539. package/node_modules/undici-types/proxy-agent.d.ts +28 -0
  540. package/node_modules/undici-types/readable.d.ts +65 -0
  541. package/node_modules/undici-types/retry-agent.d.ts +8 -0
  542. package/node_modules/undici-types/retry-handler.d.ts +116 -0
  543. package/node_modules/undici-types/util.d.ts +18 -0
  544. package/node_modules/undici-types/webidl.d.ts +228 -0
  545. package/node_modules/undici-types/websocket.d.ts +150 -0
  546. package/node_modules/unescape/LICENSE +21 -0
  547. package/node_modules/unescape/README.md +134 -0
  548. package/node_modules/unescape/index.js +103 -0
  549. package/node_modules/unescape/package.json +67 -0
  550. package/node_modules/utility/LICENSE.txt +21 -0
  551. package/node_modules/utility/README.md +370 -0
  552. package/node_modules/utility/dist/commonjs/array.d.ts +11 -0
  553. package/node_modules/utility/dist/commonjs/array.js +46 -0
  554. package/node_modules/utility/dist/commonjs/crypto.d.ts +86 -0
  555. package/node_modules/utility/dist/commonjs/crypto.js +159 -0
  556. package/node_modules/utility/dist/commonjs/date.d.ts +63 -0
  557. package/node_modules/utility/dist/commonjs/date.js +219 -0
  558. package/node_modules/utility/dist/commonjs/fs.d.ts +6 -0
  559. package/node_modules/utility/dist/commonjs/fs.js +20 -0
  560. package/node_modules/utility/dist/commonjs/function.d.ts +12 -0
  561. package/node_modules/utility/dist/commonjs/function.js +35 -0
  562. package/node_modules/utility/dist/commonjs/index.d.ts +12 -0
  563. package/node_modules/utility/dist/commonjs/index.js +29 -0
  564. package/node_modules/utility/dist/commonjs/json.d.ts +14 -0
  565. package/node_modules/utility/dist/commonjs/json.js +41 -0
  566. package/node_modules/utility/dist/commonjs/number.d.ts +24 -0
  567. package/node_modules/utility/dist/commonjs/number.js +66 -0
  568. package/node_modules/utility/dist/commonjs/object.d.ts +20 -0
  569. package/node_modules/utility/dist/commonjs/object.js +73 -0
  570. package/node_modules/utility/dist/commonjs/optimize.d.ts +21 -0
  571. package/node_modules/utility/dist/commonjs/optimize.js +60 -0
  572. package/node_modules/utility/dist/commonjs/package.json +3 -0
  573. package/node_modules/utility/dist/commonjs/string.d.ts +29 -0
  574. package/node_modules/utility/dist/commonjs/string.js +126 -0
  575. package/node_modules/utility/dist/commonjs/timeout.d.ts +6 -0
  576. package/node_modules/utility/dist/commonjs/timeout.js +34 -0
  577. package/node_modules/utility/dist/commonjs/web.d.ts +29 -0
  578. package/node_modules/utility/dist/commonjs/web.js +61 -0
  579. package/node_modules/utility/dist/esm/array.d.ts +11 -0
  580. package/node_modules/utility/dist/esm/array.js +42 -0
  581. package/node_modules/utility/dist/esm/crypto.d.ts +86 -0
  582. package/node_modules/utility/dist/esm/crypto.js +146 -0
  583. package/node_modules/utility/dist/esm/date.d.ts +63 -0
  584. package/node_modules/utility/dist/esm/date.js +204 -0
  585. package/node_modules/utility/dist/esm/fs.d.ts +6 -0
  586. package/node_modules/utility/dist/esm/fs.js +17 -0
  587. package/node_modules/utility/dist/esm/function.d.ts +12 -0
  588. package/node_modules/utility/dist/esm/function.js +28 -0
  589. package/node_modules/utility/dist/esm/index.d.ts +12 -0
  590. package/node_modules/utility/dist/esm/index.js +13 -0
  591. package/node_modules/utility/dist/esm/json.d.ts +14 -0
  592. package/node_modules/utility/dist/esm/json.js +34 -0
  593. package/node_modules/utility/dist/esm/number.d.ts +24 -0
  594. package/node_modules/utility/dist/esm/number.js +60 -0
  595. package/node_modules/utility/dist/esm/object.d.ts +20 -0
  596. package/node_modules/utility/dist/esm/object.js +67 -0
  597. package/node_modules/utility/dist/esm/optimize.d.ts +21 -0
  598. package/node_modules/utility/dist/esm/optimize.js +54 -0
  599. package/node_modules/utility/dist/esm/package.json +3 -0
  600. package/node_modules/utility/dist/esm/string.d.ts +29 -0
  601. package/node_modules/utility/dist/esm/string.js +118 -0
  602. package/node_modules/utility/dist/esm/timeout.d.ts +6 -0
  603. package/node_modules/utility/dist/esm/timeout.js +28 -0
  604. package/node_modules/utility/dist/esm/web.d.ts +29 -0
  605. package/node_modules/utility/dist/esm/web.js +52 -0
  606. package/node_modules/utility/dist/package.json +4 -0
  607. package/node_modules/utility/package.json +85 -0
  608. package/node_modules/utility/src/array.ts +44 -0
  609. package/node_modules/utility/src/crypto.ts +160 -0
  610. package/node_modules/utility/src/date.ts +232 -0
  611. package/node_modules/utility/src/fs.ts +17 -0
  612. package/node_modules/utility/src/function.ts +30 -0
  613. package/node_modules/utility/src/index.ts +12 -0
  614. package/node_modules/utility/src/json.ts +48 -0
  615. package/node_modules/utility/src/number.ts +63 -0
  616. package/node_modules/utility/src/object.ts +72 -0
  617. package/node_modules/utility/src/optimize.ts +62 -0
  618. package/node_modules/utility/src/string.ts +132 -0
  619. package/node_modules/utility/src/timeout.ts +37 -0
  620. package/node_modules/utility/src/web.ts +53 -0
  621. package/node_modules/ylru/LICENSE +25 -0
  622. package/node_modules/ylru/README.md +120 -0
  623. package/node_modules/ylru/dist/commonjs/index.d.ts +21 -0
  624. package/node_modules/ylru/dist/commonjs/index.js +112 -0
  625. package/node_modules/ylru/dist/commonjs/package.json +3 -0
  626. package/node_modules/ylru/dist/esm/index.d.ts +21 -0
  627. package/node_modules/ylru/dist/esm/index.js +108 -0
  628. package/node_modules/ylru/dist/esm/package.json +3 -0
  629. package/node_modules/ylru/package.json +71 -0
  630. package/node_modules/ylru/src/index.ts +124 -0
  631. package/package.json +2 -2
  632. package/node_modules/@ali/cli-skills/dist/_chunks/libs/abort-controller.mjs +0 -424
  633. package/node_modules/@ali/cli-skills/dist/_chunks/libs/archiver.mjs +0 -19586
@@ -0,0 +1,323 @@
1
+ # Heartbeats
2
+
3
+ [![Build Status](https://travis-ci.org/arjunmehta/heartbeats.svg?branch=master)](https://travis-ci.org/arjunmehta/heartbeats)
4
+
5
+ ![heartbeats title image](https://raw.githubusercontent.com/arjunmehta/heartbeats/image/heartbeats.png)
6
+
7
+ A simple module to very efficiently manage time-based objects and events.
8
+
9
+ Use this library for comparing large numbers of _relativistic_ time lapses efficiently and for synchronizing the execution of events based on these time lapses. In effect:
10
+
11
+ - **Execute functions on specific Heartbeat intervals**
12
+ - **Compare the time properties of multiple objects (Pulses) to a global time measure (Heart) operating on a specific time resolution (Heartrate)**
13
+
14
+ This library uses a much more efficient (lower resolution) method of testing system level event times as relativistic time differentials (vs. universal time differentials). Think larger chunked time measures (interval counts) instead of actual milliseconds. It's also great at managing the execution of events that require precise in-system synchronization.
15
+
16
+ ## Basic Usage
17
+
18
+ ### Install
19
+ ```bash
20
+ npm install heartbeats
21
+ ```
22
+
23
+ ### Add to your project
24
+ ```javascript
25
+ var heartbeats = require('heartbeats');
26
+ ```
27
+
28
+ ### Create a New Heart
29
+ A `Heart` is the main object you use to measure time. It has a core heartrate, and beats at a specified time interval (in milliseconds).
30
+
31
+ ```javascript
32
+ // a heart that beats every 1 second.
33
+ var heart = heartbeats.createHeart(1000);
34
+ ```
35
+
36
+ The running essence of the `Heart` is its own internal heartbeat count. How many times has it beat? We call this the Heart's age.
37
+
38
+ ```javascript
39
+ var age = heart.age;
40
+ ```
41
+
42
+ ### Heart Events
43
+ Hearts manage Events, and execute blocks on specific heart beats, either continually (like `setInterval`) or just once (like `setTimeout`).
44
+
45
+ This is much more efficient and much more reliable than using multiple `setInterval` methods, as they usually get unsynchronized, and introduce memory issues.
46
+
47
+ ```javascript
48
+ // Alternative to setInterval
49
+ heart.createEvent(5, function(count, last){
50
+ console.log('...Every 5 Beats forever');
51
+ });
52
+
53
+ heart.createEvent(1, function(count, last){
54
+ console.log('...Every Single Beat forever');
55
+ });
56
+
57
+ heart.createEvent(1, {countTo: 3}, function(count, last){
58
+ console.log('...Every Single Beat for 3 beats only');
59
+ if(last === true){
60
+ console.log('...the last time.')
61
+ }
62
+ });
63
+
64
+ // Alternative to setTimeout
65
+ heart.createEvent(2, {countTo: 1}, function(count, last){
66
+ console.log('...Once after 2 Beats');
67
+ });
68
+ ```
69
+
70
+ ### Heart Pulses
71
+ A `Pulse` is an object used to measure how synchronized part of your system is to a central `Heart`. This is super useful as it allows you to very efficiently measure if things are lagging, or working as they should with respect to that `heartbeat`.
72
+
73
+ ```javascript
74
+ var pulseA = heart.createPulse();
75
+ var pulseB = heart.createPulse();
76
+ ```
77
+
78
+ Now, instead of storing an event's time as `Date().now()` or `Date().getTime()` and comparing those values to some other time, you `pulse.beat()` to synchronize the Pulse's time with its Heart.
79
+
80
+ ```javascript
81
+ pulseA.beat();
82
+ pulseB.beat();
83
+ ```
84
+
85
+ So, if we want to know how far off an object is from the Heart, we can use the Pulse's `missedBeats` property. For example:
86
+
87
+ ```javascript
88
+ console.log( pulseA.missedBeats ); // 0
89
+ console.log( pulseB.missedBeats ); // 0
90
+
91
+
92
+ setInterval(function(){
93
+ pulseB.beat(); // Only synchronizing pulseB with the Heart.
94
+ console.log( pulseA.missedBeats ); // 2, 4, 6, 8
95
+ console.log( pulseB.missedBeats ); // 0
96
+ }, 2000);
97
+ ```
98
+
99
+ ### Kill That Heart
100
+ Like any ongoing interval, you should kill the Heart once you no longer need it, otherwise it's likely your program will not exit until it has been properly killed.
101
+
102
+ ```javascript
103
+ heart.kill();
104
+ ```
105
+
106
+
107
+ ## About Efficiency
108
+
109
+ Why is this library faster than more conventional methods? Basically, instead of using `Date().now()` or `new Date().getTime()` which are relatively very slow operations that give you very precise, universal values for the **present time**, we use the present moment of a heartbeat to give your events a time relative to that particular heart. This simple change results in extremely fast and efficient time difference calculations because it operates at a very low resolution compared to methods using the Date object, and compares basic integers vs comparing dates. View the source to see details.
110
+
111
+ ### Test Performance
112
+ If you're curious, I've included a performance test using `benchmark.js` which compares a more traditional way of testing times.
113
+
114
+ ```bash
115
+ # switch to the heartbeats module directory
116
+ cd node_modules/heartbeats
117
+
118
+ # install dev dependencies for the heartbeats module
119
+ npm install
120
+
121
+ # run benchmark test
122
+ npm run benchmark
123
+ ```
124
+
125
+ Have a look at the `benchmark.js` file in the tests directory to see how the benchmark is done.
126
+
127
+
128
+ ## API
129
+
130
+ The API is fairly straightforward, though it's good to be aware of nuances in its use.
131
+
132
+ ### The Heart
133
+ #### heartbeats.createHeart(heartrate, name);
134
+ Creates and returns a new `Heart` object.
135
+
136
+ If you provide a name, the heart is registered in the module's list of hearts (see **heartbeats.heart()**). This is useful if you want to access heartbeats from different modules.
137
+
138
+ ```javascript
139
+ // a new heart that beats every 2 seconds named 'heartA'
140
+ var heart = heartbeats.createHeart(2000, 'heartA');
141
+ ```
142
+
143
+ If you don't provide a name, the heart will be returned but will not be added to the `heartbeats.hearts` object.
144
+
145
+ ```javascript
146
+ var heart = heartbeats.createHeart(2000);
147
+ console.log(heart.name); // heart_kajg8i27tjhv
148
+ ```
149
+
150
+ #### heartbeats.hearts
151
+ An object with all hearts that have been instantiated with a name.
152
+
153
+ #### heartbeats.heart(name)
154
+ Returns a `Heart` object with a name from the managed list of hearts.
155
+
156
+ ```javascript
157
+ // gets a heart named 'heartA'
158
+ var heart = heartbeats.heart('heartA');
159
+ ```
160
+
161
+ #### heartbeats.killHeart(name)
162
+ Removes the `Heart` from the internal managed list and clears the heartbeat interval. This only works if the heart was created with a `name`.
163
+
164
+ ```javascript
165
+ // destroys the 'heartA' heart(beat)
166
+ heartbeats.killHeart('heartA');
167
+ ```
168
+
169
+ #### heart.kill()
170
+ Clears the heartbeat interval and removes the Heart from the internal managed list if it exists there.
171
+
172
+ ```javascript
173
+ heartbeats.heart('heartA').kill();
174
+ ```
175
+
176
+
177
+ #### heart.setHeartrate(heartrate)
178
+ Updates the heartrate period of the `Heart` and returns the `Heart` object for chaining.
179
+ ```javascript
180
+ heartbeats.heart('heartA').setHeartrate(3000);
181
+ ```
182
+
183
+ #### heart.age
184
+ Gets the current number of beats that the heart has incremented in its lifetime.
185
+
186
+ ```javascript
187
+ heartbeats.heart('heartA').age;
188
+ ```
189
+
190
+
191
+ ### The Pulse
192
+
193
+ #### heart.createPulse(name);
194
+ Returns a new Pulse object associated with the heart.
195
+
196
+ If you provide a name, the Pulse is added to the Heart's internal managed list of Pulses (ie. `heart.pulses`). This is useful if
197
+
198
+ ```javascript
199
+ // creates a new pulse from the 'heartA' heart(beat)
200
+ var pulse = heartbeats.heart('heartA').createPulse('A');
201
+ ```
202
+
203
+ If you don't provide a name, the pulse will be returned without being added to the Heart's managed list of Pulses.
204
+
205
+ ```javascript
206
+ var pulseA = heartbeats.heart('heartA').createPulse();
207
+ ```
208
+
209
+ #### heart.pulses
210
+ An object with all pulses belonging to the heart, that have been instantiated with a name.
211
+
212
+ #### heart.pulse(name);
213
+ Returns the Pulse object from the heart's managed list of pulses.
214
+ ```javascript
215
+ var pulseA = heartbeats.heart('heartA').pulse('A');
216
+ ```
217
+
218
+ #### heart.killPulse(name);
219
+ Kills the Pulse and removes it from the heart's managed list of Pulses.
220
+ ```javascript
221
+ var pulse = heartbeats.heart('heartA').pulse('A');
222
+ ```
223
+
224
+ #### pulse.kill()
225
+ Kills the pulse and removes it from its heart's managed list (if it exists there).
226
+
227
+ ```javascript
228
+ // clears the pulse from memory
229
+ pulse.kill();
230
+ ```
231
+
232
+
233
+ #### pulse.beat()
234
+ This synchronizes the pulse with its Heart. **This is the secret sauce**. Instead of using `Date().now()` or `Date().getTime()` to register an event time we match the time of the pulse with the heart.
235
+
236
+ Returns the `Pulse` object to chain if needed.
237
+
238
+ ```javascript
239
+ // synchronizes the pulse to its heart
240
+ pulse.beat();
241
+ ```
242
+
243
+ #### pulse.missedBeats
244
+ The number of heartbeats that have passed since the pulse was last synchronized with `pulse.beat()`.
245
+
246
+ ```javascript
247
+ // gets the number of beats the pulse is off from its heart
248
+ var beatoffset = pulse.missedBeats;
249
+ ```
250
+
251
+ #### pulse.lag;
252
+ Returns an approximate number of milliseconds the pulse is lagging behind the main heartbeat. Basically this is `pulse.missedBeats*heart.heartrate`.
253
+ ```javascript
254
+ // gets an approximate number of milliseconds the pulse is delayed from the heart
255
+ var delay = pulse.lag;
256
+ ```
257
+
258
+
259
+ ### Beat Events
260
+
261
+ `heartbeats` makes it easy for you to synchronize event execution without the need for multiple `setInterval` or `setTimeout` initializers. It ensures that actions are synchronized with respect to the heart's beat and uses the heartbeat as the measure for action, and won't get unsynchronized as is what happens when multiple `setInterval` or `setTimeout` methods are used.
262
+
263
+ #### heart.createEvent(beatInterval, options, function)
264
+ This method is slightly different from the other creation methods (ie. `createHeart` and `createPulse`). Giving the object a name is done by passing a value to the options object.
265
+
266
+ This method will add a reoccuring event to the heart. Every `nth` beat specified by `beatInterval` will execute the supplied function. This method counts from the time you add the event. It's kind of like `setInterval`.
267
+
268
+
269
+
270
+ ##### Options
271
+ `name`: Give the Event a custom name, so you can reference it, kill it, or modify it using `heart.event(name)`
272
+ `countTo`: default is `0` (infinite). Iterate the event a specified number of times (use `0` for infinite). If set to a finite number, the event will be killed and cleared from memory once executed the last time.
273
+
274
+ ##### Callback Function
275
+ The callback function is called with `count` and `last` as arguments.
276
+
277
+ The following example creates a new event called `checkA`, on an existing heart named `heartA` that executes every 5th beat, repeats forever. The `last` argument passed to the callback will always be `false`.
278
+
279
+ ```javascript
280
+ var event = heartbeats.heart('heartA').createEvent(5, {name: 'checkA', countTo: 0}, function(count, last){
281
+ console.log('does this every 5 beats');
282
+ });
283
+ ```
284
+
285
+ The following example creates an anonymous event on the heart named `heartA` that excutes every 4th beats but stops once it has been executed 3 times.
286
+
287
+ ```javascript
288
+ heartbeats.heart('heartA').createEvent(4, {countTo: 3}, function(count, last){
289
+ console.log('does this every 4 beats');
290
+ if(last === true){
291
+ console.log('this is the last execution of this method')
292
+ }
293
+ });
294
+ ```
295
+
296
+ #### heart.event(name)
297
+ Returns the `Event` with the specified name from the heart.
298
+ ```javascript
299
+ var event = heartbeats.heart('heartA').event('checkA');
300
+ ```
301
+
302
+ #### heart.killEvent(name)
303
+ This will instantly kill the event specified by the name.
304
+ ```javascript
305
+ heartbeats.heart('heartA').killEvent('checkA');
306
+ ```
307
+
308
+ #### heart.killAllEvents()
309
+ This will clear all beat events from the heart.
310
+ ```javascript
311
+ heartbeats.heart('heartA').killAllEvents();
312
+ ```
313
+
314
+ #### event.kill()
315
+ This will instantly kill the event specified by the name.
316
+ ```javascript
317
+ heartbeats.heart('heartA').event('checkA').kill();
318
+ ```
319
+
320
+ ## License
321
+
322
+ The MIT License (MIT)<br/>
323
+ Copyright (c) 2016 Arjun Mehta
@@ -0,0 +1,35 @@
1
+ var idCount = 0;
2
+
3
+ function BeatEvent(heart, interval, name, countTo, fn) {
4
+ this.id = name || 'event_' + (Math.random()).toString(36) + idCount++;
5
+ this.heart = heart;
6
+
7
+ this.countTo = countTo || 0;
8
+ this.executionCount = 0;
9
+
10
+ this.done = false;
11
+ this.count = 0;
12
+ this.schedule = Math.round(interval, 10);
13
+ this.fn = fn;
14
+ }
15
+
16
+ BeatEvent.prototype.execute = function() {
17
+ this.count++;
18
+
19
+ if (this.count === this.schedule) {
20
+ this.executionCount++;
21
+ if (this.countTo !== 0 && this.executionCount >= this.countTo) {
22
+ this.done = true;
23
+ this.fn(this.executionCount, true);
24
+ } else {
25
+ this.fn(this.executionCount, false);
26
+ }
27
+ this.count = 0;
28
+ }
29
+ };
30
+
31
+ BeatEvent.prototype.kill = function() {
32
+ this.heart.killEvent(this.id, this);
33
+ };
34
+
35
+ module.exports = BeatEvent;
@@ -0,0 +1,178 @@
1
+ var Pulse = require('./pulse');
2
+ var BeatEvent = require('./beatevent');
3
+
4
+ var idCount = 0,
5
+ hearts;
6
+
7
+ function initialize(global_hearts) {
8
+ hearts = global_hearts;
9
+ return Heart;
10
+ }
11
+
12
+
13
+ // Heart
14
+
15
+ function Heart(heartrate, name) {
16
+ this.heartbeat = 0;
17
+
18
+ this.events = [];
19
+ this.eventList = {};
20
+
21
+ this.id = name || 'heart_' + (Math.random()).toString(36) + idCount++;
22
+ this.heartrate = heartrate || 2500;
23
+
24
+ this.pulses = {};
25
+
26
+ this.interval = setInterval(createInterval(this), heartrate);
27
+
28
+ unreference(this);
29
+ }
30
+
31
+ Object.defineProperty(Heart.prototype, 'age', {
32
+ enumerable: true,
33
+ get: function() {
34
+ return this.heartbeat;
35
+ }
36
+ });
37
+
38
+ Object.defineProperty(Heart.prototype, 'name', {
39
+ enumerable: true,
40
+ get: function() {
41
+ return this.id;
42
+ }
43
+ });
44
+
45
+ Heart.prototype.setHeartrate = function(heartrate) {
46
+ if (heartrate) {
47
+ this.heartrate = heartrate;
48
+
49
+ clearInterval(this.interval);
50
+ this.interval = setInterval(createInterval(this), heartrate);
51
+
52
+ if (this.events.length === 0) {
53
+ unreference(this);
54
+ }
55
+ }
56
+
57
+ return this;
58
+ };
59
+
60
+ Heart.prototype.kill = Heart.prototype.destroy = function() {
61
+ clearInterval(this.interval);
62
+
63
+ if (hearts[this.id] !== undefined) {
64
+ hearts[this.id] = undefined;
65
+ }
66
+ };
67
+
68
+
69
+ // Pulses
70
+
71
+ Heart.prototype.newPulse = Heart.prototype.createPulse = function(name) {
72
+ var pulse = new Pulse(this, name);
73
+
74
+ if (name) {
75
+ this.killPulse(name);
76
+ this.pulses[pulse.id] = pulse;
77
+ }
78
+
79
+ return pulse;
80
+ };
81
+
82
+ Heart.prototype.killPulse = function(name) {
83
+ if (this.pulses[name] !== undefined) {
84
+ this.pulses[name] = undefined;
85
+ }
86
+ };
87
+
88
+ Heart.prototype.pulse = function(name) {
89
+ return this.pulses[name];
90
+ };
91
+
92
+
93
+ // Events
94
+
95
+ Heart.prototype.createEvent = function(modulo, options, fn) {
96
+ if (typeof options === 'function') {
97
+ fn = options;
98
+ options = {};
99
+ }
100
+
101
+ var name = options.name;
102
+ var countTo = options.countTo || options.repeat; // repeat to be deprecated
103
+ var event = new BeatEvent(this, modulo, name, countTo, fn);
104
+
105
+ if (name !== undefined) {
106
+ this.killEvent(name);
107
+ this.eventList[name] = event;
108
+ }
109
+
110
+ this.events.push(event);
111
+
112
+ if (this.interval.ref) {
113
+ this.interval.ref();
114
+ }
115
+
116
+ return event;
117
+ };
118
+
119
+ Heart.prototype.event = function(name) {
120
+ return this.eventList[name];
121
+ };
122
+
123
+ Heart.prototype.killEvent = function(name, beatevent) {
124
+ var idx;
125
+
126
+ if (this.eventList[name] !== undefined) {
127
+ idx = this.events.indexOf(this.eventList[name]);
128
+ this.eventList[name] = undefined;
129
+ } else if (beatevent !== undefined) {
130
+ if(beatevent.id){
131
+ this.eventList[beatevent.id] = undefined;
132
+ }
133
+ idx = this.events.indexOf(beatevent);
134
+ }
135
+
136
+ if (idx > -1) {
137
+ this.events.splice(idx, 1);
138
+ }
139
+
140
+ if (this.events.length === 0) {
141
+ unreference(this);
142
+ }
143
+ };
144
+
145
+ Heart.prototype.killAllEvents = function() {
146
+ this.events = [];
147
+ this.eventList = {};
148
+
149
+ unreference(this);
150
+ };
151
+
152
+ function createInterval(heart) {
153
+ return function() {
154
+ var events = heart.events;
155
+
156
+ heart.heartbeat++;
157
+
158
+ for (var i = 0; i < events.length; i++) {
159
+ if (events[i] !== undefined) {
160
+ events[i].execute();
161
+ if (events[i].done === true) {
162
+ events[i].kill();
163
+ }
164
+ }
165
+ }
166
+ };
167
+ }
168
+
169
+ function unreference(heart) {
170
+ if (heart.interval.unref) {
171
+ heart.interval.unref();
172
+ }
173
+ }
174
+
175
+
176
+ module.exports = {
177
+ initialize: initialize
178
+ };
@@ -0,0 +1,39 @@
1
+ var idCount = 0;
2
+
3
+ function Pulse(homeheart, name) {
4
+ this.id = name || 'pulse_' + (Math.random()).toString(36) + idCount++;
5
+ this.heart = homeheart;
6
+ this.heartbeat = homeheart.heartbeat;
7
+ }
8
+
9
+ Object.defineProperty(Pulse.prototype, 'missedBeats', {
10
+ enumerable: true,
11
+ get: function() {
12
+ return this.heart.heartbeat - this.heartbeat;
13
+ }
14
+ });
15
+
16
+ Object.defineProperty(Pulse.prototype, 'lag', {
17
+ enumerable: true,
18
+ get: function() {
19
+ return this.missedBeats * this.heart.heartrate;
20
+ }
21
+ });
22
+
23
+ Pulse.prototype.beat = function() {
24
+ this.heartbeat = this.heart.heartbeat;
25
+ return this;
26
+ };
27
+
28
+ Pulse.prototype.over = function(threshold) {
29
+ if (this.heart.heartbeat - this.heartbeat > threshold) {
30
+ return true;
31
+ }
32
+ return false;
33
+ };
34
+
35
+ Pulse.prototype.kill = Pulse.prototype.destroy = function() {
36
+ this.heart.killPulse(this.id);
37
+ };
38
+
39
+ module.exports = Pulse;
@@ -0,0 +1,34 @@
1
+ var hearts = {};
2
+ var Heart = require('./lib/heart').initialize(hearts);
3
+
4
+ function createHeart(heartrate, name) {
5
+ var heart = new Heart(heartrate, name);
6
+ if (name) {
7
+ killHeart(name);
8
+ hearts[heart.id] = heart;
9
+ }
10
+ return heart;
11
+ }
12
+
13
+ function killHeart(name) {
14
+ if (hearts[name]) {
15
+ hearts[name].kill();
16
+ }
17
+ }
18
+
19
+ function getHeart(name) {
20
+ return hearts[name];
21
+ }
22
+
23
+ module.exports = {
24
+ Heart: Heart, // will be deprecated
25
+ all: hearts, // will be deprecated
26
+ create: createHeart, // will be deprecated
27
+ destroy: killHeart, // will be deprecated
28
+ destroyHeart: killHeart, // will be deprecated
29
+
30
+ heart: getHeart,
31
+ hearts: hearts,
32
+ createHeart: createHeart,
33
+ killHeart: killHeart
34
+ };
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "heartbeats",
3
+ "version": "5.0.1",
4
+ "description": "Very efficiently manage time-based events and objects.",
5
+ "main": "main.js",
6
+ "scripts": {
7
+ "test": "nodeunit test/test.js",
8
+ "browser-heartbeats": "browserify . -o heartbeats.js -s heartbeats",
9
+ "benchmark": "node ./test/benchmark.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git://github.com/arjunmehta/heartbeats.git"
14
+ },
15
+ "devDependencies": {
16
+ "nodeunit": "~0.8.8",
17
+ "benchmark": "~1.0.0"
18
+ },
19
+ "keywords": [
20
+ "heartbeat",
21
+ "heartbeats",
22
+ "setInterval",
23
+ "setTimeout",
24
+ "pulse",
25
+ "timing",
26
+ "timer",
27
+ "relativity",
28
+ "interval",
29
+ "timeout",
30
+ "events",
31
+ "event manager"
32
+ ],
33
+ "author": "Arjun Mehta",
34
+ "license": "MIT",
35
+ "bugs": {
36
+ "url": "https://github.com/arjunmehta/heartbeats/issues"
37
+ },
38
+ "homepage": "https://github.com/arjunmehta/heartbeats"
39
+ }