warscript 0.0.1-dev.008d8ef

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 (507) hide show
  1. package/LICENSE +23 -0
  2. package/attributes.d.ts +12 -0
  3. package/attributes.lua +16 -0
  4. package/binaryreader.d.ts +21 -0
  5. package/binaryreader.lua +53 -0
  6. package/binarywriter.d.ts +21 -0
  7. package/binarywriter.lua +90 -0
  8. package/core/dummy.d.ts +22 -0
  9. package/core/dummy.lua +133 -0
  10. package/core/game.d.ts +3 -0
  11. package/core/game.lua +24 -0
  12. package/core/thread.d.ts +8 -0
  13. package/core/thread.lua +40 -0
  14. package/core/types/ability.d.ts +4 -0
  15. package/core/types/ability.lua +10 -0
  16. package/core/types/async.d.ts +3 -0
  17. package/core/types/async.lua +2 -0
  18. package/core/types/camera.d.ts +4 -0
  19. package/core/types/camera.lua +21 -0
  20. package/core/types/cameraField.d.ts +15 -0
  21. package/core/types/cameraField.lua +38 -0
  22. package/core/types/color.d.ts +16 -0
  23. package/core/types/color.lua +93 -0
  24. package/core/types/destructable.d.ts +31 -0
  25. package/core/types/destructable.lua +245 -0
  26. package/core/types/effect.d.ts +31 -0
  27. package/core/types/effect.lua +209 -0
  28. package/core/types/frame.d.ts +141 -0
  29. package/core/types/frame.lua +884 -0
  30. package/core/types/game.d.ts +8 -0
  31. package/core/types/game.lua +41 -0
  32. package/core/types/group.d.ts +21 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +49 -0
  35. package/core/types/handle.lua +174 -0
  36. package/core/types/image.d.ts +29 -0
  37. package/core/types/image.lua +121 -0
  38. package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
  39. package/core/types/internal/ability+cooldownRemaining.lua +0 -0
  40. package/core/types/item.d.ts +4 -0
  41. package/core/types/item.lua +6 -0
  42. package/core/types/missile.d.ts +22 -0
  43. package/core/types/missile.lua +239 -0
  44. package/core/types/order.d.ts +25 -0
  45. package/core/types/order.lua +55 -0
  46. package/core/types/player.d.ts +71 -0
  47. package/core/types/player.lua +448 -0
  48. package/core/types/playerCamera.d.ts +32 -0
  49. package/core/types/playerCamera.lua +162 -0
  50. package/core/types/playerColor.d.ts +40 -0
  51. package/core/types/playerColor.lua +203 -0
  52. package/core/types/rect.d.ts +39 -0
  53. package/core/types/rect.lua +152 -0
  54. package/core/types/region.d.ts +14 -0
  55. package/core/types/region.lua +84 -0
  56. package/core/types/sound.d.ts +69 -0
  57. package/core/types/sound.lua +247 -0
  58. package/core/types/tileCell.d.ts +13 -0
  59. package/core/types/tileCell.lua +100 -0
  60. package/core/types/timer.d.ts +36 -0
  61. package/core/types/timer.lua +230 -0
  62. package/core/types/timerDialog.d.ts +19 -0
  63. package/core/types/timerDialog.lua +95 -0
  64. package/core/types/unit.d.ts +10 -0
  65. package/core/types/unit.lua +32 -0
  66. package/core/types/widget.d.ts +5 -0
  67. package/core/types/widget.lua +2 -0
  68. package/core/util.d.ts +62 -0
  69. package/core/util.lua +464 -0
  70. package/core/vecmath/common.d.ts +18 -0
  71. package/core/vecmath/common.lua +29 -0
  72. package/core/vecmath/mat2.d.ts +73 -0
  73. package/core/vecmath/mat2.lua +261 -0
  74. package/core/vecmath/vec3.d.ts +47 -0
  75. package/core/vecmath/vec3.lua +350 -0
  76. package/core/vecmath/vec4.d.ts +54 -0
  77. package/core/vecmath/vec4.lua +400 -0
  78. package/crypto/ecc.d.ts +6 -0
  79. package/crypto/ecc.lua +1734 -0
  80. package/decl/index.d.ts +117 -0
  81. package/decl/native.d.ts +8198 -0
  82. package/destroyable.d.ts +20 -0
  83. package/destroyable.lua +31 -0
  84. package/engine/ability.d.ts +5 -0
  85. package/engine/ability.lua +7 -0
  86. package/engine/behavior.d.ts +28 -0
  87. package/engine/behavior.lua +181 -0
  88. package/engine/behaviour/ability/apply-buff.d.ts +38 -0
  89. package/engine/behaviour/ability/apply-buff.lua +126 -0
  90. package/engine/behaviour/ability/apply-unit-behavior.d.ts +21 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +58 -0
  92. package/engine/behaviour/ability/damage.d.ts +47 -0
  93. package/engine/behaviour/ability/damage.lua +133 -0
  94. package/engine/behaviour/ability/heal.d.ts +43 -0
  95. package/engine/behaviour/ability/heal.lua +114 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +29 -0
  98. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  99. package/engine/behaviour/ability/restore-mana.lua +29 -0
  100. package/engine/behaviour/ability.d.ts +47 -0
  101. package/engine/behaviour/ability.lua +237 -0
  102. package/engine/behaviour/unit/stun-immunity.d.ts +18 -0
  103. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  104. package/engine/behaviour/unit.d.ts +21 -0
  105. package/engine/behaviour/unit.lua +82 -0
  106. package/engine/buff.d.ts +221 -0
  107. package/engine/buff.lua +1091 -0
  108. package/engine/constants.d.ts +7 -0
  109. package/engine/constants.lua +8 -0
  110. package/engine/game-map.d.ts +7 -0
  111. package/engine/game-map.lua +32 -0
  112. package/engine/index.d.ts +5 -0
  113. package/engine/index.lua +2 -0
  114. package/engine/internal/ability.d.ts +91 -0
  115. package/engine/internal/ability.lua +531 -0
  116. package/engine/internal/item/ability.d.ts +2 -0
  117. package/engine/internal/item/ability.lua +48 -0
  118. package/engine/internal/item+owner.d.ts +7 -0
  119. package/engine/internal/item+owner.lua +22 -0
  120. package/engine/internal/item.d.ts +86 -0
  121. package/engine/internal/item.lua +580 -0
  122. package/engine/internal/mechanics/ability-duration.d.ts +2 -0
  123. package/engine/internal/mechanics/ability-duration.lua +13 -0
  124. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  125. package/engine/internal/mechanics/area-damage.lua +33 -0
  126. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  127. package/engine/internal/mechanics/cast-ability.lua +86 -0
  128. package/engine/internal/misc/dummy-units.d.ts +2 -0
  129. package/engine/internal/misc/dummy-units.lua +14 -0
  130. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  131. package/engine/internal/object-data/armor-increase.lua +19 -0
  132. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  133. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  134. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  135. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  136. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  137. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  138. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  139. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  140. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  141. package/engine/internal/object-data/dummy-item.lua +10 -0
  142. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  143. package/engine/internal/object-data/ghost-visible.lua +15 -0
  144. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  145. package/engine/internal/object-data/invulnerable.lua +11 -0
  146. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  147. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  148. package/engine/internal/unit/ability.d.ts +143 -0
  149. package/engine/internal/unit/ability.lua +369 -0
  150. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  151. package/engine/internal/unit/allowed-targets.lua +19 -0
  152. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  153. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  154. package/engine/internal/unit/bonus.d.ts +40 -0
  155. package/engine/internal/unit/bonus.lua +188 -0
  156. package/engine/internal/unit/buff.d.ts +38 -0
  157. package/engine/internal/unit/buff.lua +81 -0
  158. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  159. package/engine/internal/unit/detach-missiles.lua +30 -0
  160. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  161. package/engine/internal/unit/expiration-timer.lua +44 -0
  162. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  163. package/engine/internal/unit/ghost-counter.lua +26 -0
  164. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  165. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  166. package/engine/internal/unit/missile.d.ts +42 -0
  167. package/engine/internal/unit/missile.lua +70 -0
  168. package/engine/internal/unit/movement-speed.d.ts +18 -0
  169. package/engine/internal/unit/movement-speed.lua +42 -0
  170. package/engine/internal/unit/summon-event.d.ts +12 -0
  171. package/engine/internal/unit/summon-event.lua +50 -0
  172. package/engine/internal/unit+ability.d.ts +9 -0
  173. package/engine/internal/unit+ability.lua +59 -0
  174. package/engine/internal/unit+bonus.d.ts +8 -0
  175. package/engine/internal/unit+bonus.lua +40 -0
  176. package/engine/internal/unit+damage.d.ts +69 -0
  177. package/engine/internal/unit+damage.lua +123 -0
  178. package/engine/internal/unit+rally.d.ts +10 -0
  179. package/engine/internal/unit+rally.lua +159 -0
  180. package/engine/internal/unit+spellSteal.d.ts +7 -0
  181. package/engine/internal/unit+spellSteal.lua +64 -0
  182. package/engine/internal/unit+transport.d.ts +12 -0
  183. package/engine/internal/unit+transport.lua +96 -0
  184. package/engine/internal/unit-missile-data.d.ts +2 -0
  185. package/engine/internal/unit-missile-data.lua +107 -0
  186. package/engine/internal/unit-missile-launch.d.ts +7 -0
  187. package/engine/internal/unit-missile-launch.lua +32 -0
  188. package/engine/internal/unit.d.ts +339 -0
  189. package/engine/internal/unit.lua +2590 -0
  190. package/engine/internal/utility.d.ts +2 -0
  191. package/engine/internal/utility.lua +13 -0
  192. package/engine/lightning.d.ts +51 -0
  193. package/engine/lightning.lua +303 -0
  194. package/engine/local-client.d.ts +16 -0
  195. package/engine/local-client.lua +86 -0
  196. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  197. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  198. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  199. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  200. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  201. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  202. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -0
  203. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  204. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  205. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  206. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  207. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  208. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  209. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  210. package/engine/object-data/auxiliary/combat-classification.d.ts +44 -0
  211. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  212. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  213. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  214. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  215. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  216. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  217. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  218. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  219. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  220. package/engine/object-data/auxiliary/race.d.ts +14 -0
  221. package/engine/object-data/auxiliary/race.lua +2 -0
  222. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  223. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  224. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  225. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  226. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  227. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  228. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  229. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  230. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  231. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  232. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  233. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  234. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  237. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  238. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  239. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  240. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  241. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  242. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  243. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  244. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  246. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  247. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  248. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +20 -0
  249. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  250. package/engine/object-data/entry/ability-type/blank-passive.d.ts +6 -0
  251. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  252. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  253. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  254. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  255. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  256. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  257. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  258. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  260. package/engine/object-data/entry/ability-type/channel.d.ts +47 -0
  261. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  262. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  263. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  264. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  265. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  266. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  267. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  268. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  269. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  270. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  271. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  272. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  273. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  274. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  275. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  276. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  278. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  279. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  280. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  281. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  282. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  283. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  284. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  285. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  286. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  287. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  288. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  290. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  291. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  292. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  293. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  294. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  295. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  296. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  297. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  298. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  299. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  300. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  301. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  302. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  303. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  304. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  305. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  306. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  307. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  308. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  309. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  310. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  312. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  313. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  314. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  315. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  316. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  317. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  318. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  319. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  320. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  321. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  322. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  323. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  324. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  325. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  326. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  327. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  328. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  329. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  330. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  332. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  333. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  334. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  335. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  336. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  337. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  338. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  339. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  340. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  341. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  342. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  343. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  344. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  345. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  346. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  347. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  348. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  349. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  350. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  351. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  352. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  353. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  354. package/engine/object-data/entry/ability-type.d.ts +148 -0
  355. package/engine/object-data/entry/ability-type.lua +1059 -0
  356. package/engine/object-data/entry/buff-type/applicable.d.ts +15 -0
  357. package/engine/object-data/entry/buff-type/applicable.lua +333 -0
  358. package/engine/object-data/entry/buff-type/blank.d.ts +7 -0
  359. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  360. package/engine/object-data/entry/buff-type.d.ts +63 -0
  361. package/engine/object-data/entry/buff-type.lua +316 -0
  362. package/engine/object-data/entry/destructible-type.d.ts +20 -0
  363. package/engine/object-data/entry/destructible-type.lua +83 -0
  364. package/engine/object-data/entry/item-type/blank.d.ts +7 -0
  365. package/engine/object-data/entry/item-type/blank.lua +21 -0
  366. package/engine/object-data/entry/item-type.d.ts +48 -0
  367. package/engine/object-data/entry/item-type.lua +259 -0
  368. package/engine/object-data/entry/lightning-type.d.ts +36 -0
  369. package/engine/object-data/entry/lightning-type.lua +191 -0
  370. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  371. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  372. package/engine/object-data/entry/unit-type.d.ts +258 -0
  373. package/engine/object-data/entry/unit-type.lua +1634 -0
  374. package/engine/object-data/entry/upgrade/blank.d.ts +7 -0
  375. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  376. package/engine/object-data/entry/upgrade.d.ts +58 -0
  377. package/engine/object-data/entry/upgrade.lua +238 -0
  378. package/engine/object-data/entry.d.ts +79 -0
  379. package/engine/object-data/entry.lua +634 -0
  380. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  381. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  382. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  383. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  384. package/engine/object-field/ability.d.ts +117 -0
  385. package/engine/object-field/ability.lua +477 -0
  386. package/engine/object-field/unit.d.ts +16 -0
  387. package/engine/object-field/unit.lua +52 -0
  388. package/engine/object-field.d.ts +86 -0
  389. package/engine/object-field.lua +470 -0
  390. package/engine/random.d.ts +11 -0
  391. package/engine/random.lua +18 -0
  392. package/engine/standard/entries/ability-type.d.ts +8 -0
  393. package/engine/standard/entries/ability-type.lua +8 -0
  394. package/engine/standard/entries/lightning-type.d.ts +16 -0
  395. package/engine/standard/entries/lightning-type.lua +16 -0
  396. package/engine/standard/entries/unit-type.d.ts +104 -0
  397. package/engine/standard/entries/unit-type.lua +104 -0
  398. package/engine/standard/entries/upgrade.d.ts +92 -0
  399. package/engine/standard/entries/upgrade.lua +92 -0
  400. package/engine/standard/fields/ability.d.ts +737 -0
  401. package/engine/standard/fields/ability.lua +749 -0
  402. package/engine/standard/pathing-textures.d.ts +6 -0
  403. package/engine/standard/pathing-textures.lua +7 -0
  404. package/engine/text-tag.d.ts +25 -0
  405. package/engine/text-tag.lua +109 -0
  406. package/engine/unit.d.ts +21 -0
  407. package/engine/unit.lua +39 -0
  408. package/event.d.ts +52 -0
  409. package/event.lua +273 -0
  410. package/exception.d.ts +19 -0
  411. package/exception.lua +57 -0
  412. package/file.d.ts +4 -0
  413. package/file.lua +42 -0
  414. package/global/math.d.ts +21 -0
  415. package/global/math.lua +72 -0
  416. package/global/vec2.d.ts +66 -0
  417. package/global/vec2.lua +160 -0
  418. package/index.d.ts +8 -0
  419. package/index.lua +9 -0
  420. package/lualib_bundle.lua +2733 -0
  421. package/math/vec2.d.ts +11 -0
  422. package/math/vec2.lua +42 -0
  423. package/math.d.ts +37 -0
  424. package/math.lua +91 -0
  425. package/net/signal.d.ts +11 -0
  426. package/net/signal.lua +56 -0
  427. package/net/socket.d.ts +9 -0
  428. package/net/socket.lua +26 -0
  429. package/network.d.ts +31 -0
  430. package/network.lua +194 -0
  431. package/objutil/ability.d.ts +709 -0
  432. package/objutil/ability.lua +3781 -0
  433. package/objutil/buff.d.ts +109 -0
  434. package/objutil/buff.lua +769 -0
  435. package/objutil/dummy.d.ts +2 -0
  436. package/objutil/dummy.lua +49 -0
  437. package/objutil/idgen.d.ts +9 -0
  438. package/objutil/idgen.lua +92 -0
  439. package/objutil/item.d.ts +38 -0
  440. package/objutil/item.lua +254 -0
  441. package/objutil/object.d.ts +42 -0
  442. package/objutil/object.lua +213 -0
  443. package/objutil/unit.d.ts +133 -0
  444. package/objutil/unit.lua +913 -0
  445. package/objutil/upgrade.d.ts +22 -0
  446. package/objutil/upgrade.lua +127 -0
  447. package/operation.d.ts +35 -0
  448. package/operation.lua +179 -0
  449. package/package.json +46 -0
  450. package/patch-lualib.d.ts +2 -0
  451. package/patch-lualib.lua +67 -0
  452. package/patch-natives.d.ts +11 -0
  453. package/patch-natives.lua +14 -0
  454. package/property.d.ts +55 -0
  455. package/property.lua +374 -0
  456. package/string.d.ts +136 -0
  457. package/string.lua +48 -0
  458. package/time/dayOfWeek.d.ts +97 -0
  459. package/time/dayOfWeek.lua +53 -0
  460. package/time/localDate.d.ts +145 -0
  461. package/time/localDate.lua +236 -0
  462. package/time/localDateTime.d.ts +133 -0
  463. package/time/localDateTime.lua +154 -0
  464. package/time/localTime.d.ts +87 -0
  465. package/time/localTime.lua +91 -0
  466. package/time/month.d.ts +146 -0
  467. package/time/month.lua +129 -0
  468. package/time/year.d.ts +117 -0
  469. package/time/year.lua +81 -0
  470. package/types.d.ts +13 -0
  471. package/types.lua +0 -0
  472. package/util/objectPool.d.ts +6 -0
  473. package/util/objectPool.lua +28 -0
  474. package/util/stream.d.ts +28 -0
  475. package/util/stream.lua +453 -0
  476. package/util/stringBuilder.d.ts +8 -0
  477. package/util/stringBuilder.lua +25 -0
  478. package/utility/arrays.d.ts +56 -0
  479. package/utility/arrays.lua +372 -0
  480. package/utility/base64.d.ts +23 -0
  481. package/utility/base64.lua +177 -0
  482. package/utility/bit-set.d.ts +16 -0
  483. package/utility/bit-set.lua +12 -0
  484. package/utility/functions.d.ts +5 -0
  485. package/utility/functions.lua +90 -0
  486. package/utility/json.d.ts +2 -0
  487. package/utility/json.lua +400 -0
  488. package/utility/linked-set.d.ts +49 -0
  489. package/utility/linked-set.lua +197 -0
  490. package/utility/lua-maps.d.ts +5 -0
  491. package/utility/lua-maps.lua +25 -0
  492. package/utility/lua-sets.d.ts +5 -0
  493. package/utility/lua-sets.lua +37 -0
  494. package/utility/lzw.d.ts +2 -0
  495. package/utility/lzw.lua +161 -0
  496. package/utility/observable-array.d.ts +17 -0
  497. package/utility/observable-array.lua +30 -0
  498. package/utility/preconditions.d.ts +23 -0
  499. package/utility/preconditions.lua +58 -0
  500. package/utility/records.d.ts +3 -0
  501. package/utility/records.lua +9 -0
  502. package/utility/reflection.d.ts +4 -0
  503. package/utility/reflection.lua +31 -0
  504. package/utility/strings.d.ts +2 -0
  505. package/utility/strings.lua +44 -0
  506. package/utility/types.d.ts +39 -0
  507. package/utility/types.lua +2 -0
package/property.lua ADDED
@@ -0,0 +1,374 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__New = ____lualib.__TS__New
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
6
+ local ____exports = {}
7
+ local savePropertyValues
8
+ local ____binaryreader = require("binaryreader")
9
+ local BinaryReader = ____binaryreader.BinaryReader
10
+ local ____binarywriter = require("binarywriter")
11
+ local BinaryWriter = ____binarywriter.BinaryWriter
12
+ local ____player = require("core.types.player")
13
+ local Player = ____player.Player
14
+ local ____timer = require("core.types.timer")
15
+ local Timer = ____timer.Timer
16
+ local ____event = require("event")
17
+ local Event = ____event.Event
18
+ local file = require("file")
19
+ local ____network = require("network")
20
+ local synchronize = ____network.synchronize
21
+ local base64 = require("utility.base64")
22
+ local lzw = require("utility.lzw")
23
+ local ____preconditions = require("utility.preconditions")
24
+ local ____require = ____preconditions.require
25
+ local invoke = Event.invoke
26
+ ____exports.PersistentPropertiesConfig = __TS__Class()
27
+ local PersistentPropertiesConfig = ____exports.PersistentPropertiesConfig
28
+ PersistentPropertiesConfig.name = "PersistentPropertiesConfig"
29
+ function PersistentPropertiesConfig.prototype.____constructor(self)
30
+ end
31
+ PersistentPropertiesConfig.defaultFileName = ""
32
+ ____exports.Property = __TS__Class()
33
+ local Property = ____exports.Property
34
+ Property.name = "Property"
35
+ function Property.prototype.____constructor(self, defaultValue)
36
+ self.valueChangeEvent = __TS__New(Event)
37
+ self[0] = defaultValue
38
+ self[1] = defaultValue
39
+ end
40
+ function Property.prototype.reset(self)
41
+ if self[2] then
42
+ self[2] = nil
43
+ local defaultValue = self[0]
44
+ local oldValue = self[1]
45
+ if defaultValue ~= oldValue then
46
+ self[1] = defaultValue
47
+ invoke(self.valueChangeEvent, defaultValue, oldValue)
48
+ end
49
+ return true
50
+ end
51
+ return false
52
+ end
53
+ function Property.prototype.set(self, value)
54
+ self[2] = true
55
+ local oldValue = self[1]
56
+ self[1] = value
57
+ if value ~= oldValue then
58
+ invoke(self.valueChangeEvent, value, oldValue)
59
+ return true
60
+ end
61
+ return false
62
+ end
63
+ function Property.prototype.get(self)
64
+ return self[1]
65
+ end
66
+ __TS__SetDescriptor(
67
+ Property.prototype,
68
+ "defaultValue",
69
+ {
70
+ get = function(self)
71
+ return self[0]
72
+ end,
73
+ set = function(self, defaultValue)
74
+ local oldDefaultValue = self[0]
75
+ if defaultValue ~= oldDefaultValue then
76
+ self[0] = defaultValue
77
+ if not self[2] then
78
+ self[1] = defaultValue
79
+ invoke(self.valueChangeEvent, defaultValue, oldDefaultValue)
80
+ end
81
+ end
82
+ end
83
+ },
84
+ true
85
+ )
86
+ __TS__SetDescriptor(
87
+ Property.prototype,
88
+ "value",
89
+ {
90
+ get = function(self)
91
+ return self:get()
92
+ end,
93
+ set = function(self, value)
94
+ self:set(value)
95
+ end
96
+ },
97
+ true
98
+ )
99
+ __TS__SetDescriptor(
100
+ Property.prototype,
101
+ "isChanged",
102
+ {get = function(self)
103
+ return self[2] == true
104
+ end},
105
+ true
106
+ )
107
+ ____exports.PlayerProperty = __TS__Class()
108
+ local PlayerProperty = ____exports.PlayerProperty
109
+ PlayerProperty.name = "PlayerProperty"
110
+ function PlayerProperty.prototype.____constructor(self, defaultValue)
111
+ self.valueChangeEvent = __TS__New(Event)
112
+ self[0] = defaultValue
113
+ self[1] = {}
114
+ self[2] = {}
115
+ end
116
+ function PlayerProperty.prototype.isChanged(self, player)
117
+ return self[2][player] ~= nil
118
+ end
119
+ function PlayerProperty.prototype.reset(self, player)
120
+ if self[2][player] ~= nil then
121
+ self[2][player] = nil
122
+ local initialValue = self[0]
123
+ local oldValue = self[1][player]
124
+ self[1][player] = nil
125
+ if initialValue ~= oldValue then
126
+ invoke(self.valueChangeEvent, player, initialValue, oldValue)
127
+ end
128
+ return true
129
+ end
130
+ return false
131
+ end
132
+ function PlayerProperty.prototype.set(self, player, value)
133
+ self[2][player] = true
134
+ local oldValue = self[1][player]
135
+ self[1][player] = value
136
+ if value ~= oldValue then
137
+ invoke(self.valueChangeEvent, player, value, oldValue)
138
+ return true
139
+ end
140
+ return false
141
+ end
142
+ function PlayerProperty.prototype.get(self, player)
143
+ local ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0
144
+ if self[2][player] ~= nil then
145
+ ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0 = self[1][player]
146
+ else
147
+ ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0 = self[0]
148
+ end
149
+ return ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0
150
+ end
151
+ local NULL_VALUE = {}
152
+ local loadedValueById
153
+ local loadedValueByIdByPlayer = {}
154
+ local localValueById = {}
155
+ local persistentPropertyById = {}
156
+ local persistentPlayerPropertyById = {}
157
+ ____exports.PersistentProperty = __TS__Class()
158
+ local PersistentProperty = ____exports.PersistentProperty
159
+ PersistentProperty.name = "PersistentProperty"
160
+ __TS__ClassExtends(PersistentProperty, ____exports.Property)
161
+ function PersistentProperty.prototype.____constructor(self, id, defaultValue, valueChangeEventListener)
162
+ PersistentProperty.____super.prototype.____constructor(self, defaultValue)
163
+ self.id = id
164
+ ____require(not (persistentPropertyById[id] ~= nil) and not (persistentPlayerPropertyById[id] ~= nil))
165
+ persistentPropertyById[id] = self
166
+ if valueChangeEventListener ~= nil then
167
+ self.valueChangeEvent:addListener(valueChangeEventListener)
168
+ end
169
+ local value = loadedValueById and loadedValueById[id]
170
+ if value ~= nil then
171
+ local ____self_set_4 = self.set
172
+ local ____temp_3
173
+ if value == NULL_VALUE then
174
+ ____temp_3 = nil
175
+ else
176
+ ____temp_3 = value
177
+ end
178
+ ____self_set_4(self, ____temp_3)
179
+ end
180
+ end
181
+ function PersistentProperty.prototype.reset(self)
182
+ if PersistentProperty.____super.prototype.reset(self) then
183
+ localValueById[self.id] = nil
184
+ savePropertyValues()
185
+ return true
186
+ end
187
+ return false
188
+ end
189
+ function PersistentProperty.prototype.set(self, value)
190
+ if PersistentProperty.____super.prototype.set(self, value) then
191
+ localValueById[self.id] = value == nil and NULL_VALUE or value
192
+ savePropertyValues()
193
+ return true
194
+ end
195
+ return false
196
+ end
197
+ ____exports.PersistentPlayerProperty = __TS__Class()
198
+ local PersistentPlayerProperty = ____exports.PersistentPlayerProperty
199
+ PersistentPlayerProperty.name = "PersistentPlayerProperty"
200
+ __TS__ClassExtends(PersistentPlayerProperty, ____exports.PlayerProperty)
201
+ function PersistentPlayerProperty.prototype.____constructor(self, id, initialValue, valueChangeEventListener)
202
+ PersistentPlayerProperty.____super.prototype.____constructor(self, initialValue)
203
+ self.id = id
204
+ ____require(not (persistentPropertyById[id] ~= nil) and not (persistentPlayerPropertyById[id] ~= nil))
205
+ persistentPlayerPropertyById[id] = self
206
+ if valueChangeEventListener ~= nil then
207
+ self.valueChangeEvent:addListener(valueChangeEventListener)
208
+ end
209
+ for ____, player in ipairs(Player.all) do
210
+ local ____opt_5 = loadedValueByIdByPlayer and loadedValueByIdByPlayer[player]
211
+ local value = ____opt_5 and ____opt_5[id]
212
+ if value ~= nil then
213
+ local ____self_set_10 = self.set
214
+ local ____temp_9
215
+ if value == NULL_VALUE then
216
+ ____temp_9 = nil
217
+ else
218
+ ____temp_9 = value
219
+ end
220
+ ____self_set_10(self, player, ____temp_9)
221
+ end
222
+ end
223
+ end
224
+ function PersistentPlayerProperty.prototype.reset(self, player)
225
+ if PersistentPlayerProperty.____super.prototype.reset(self, player) then
226
+ if player.isLocal then
227
+ localValueById[self.id] = nil
228
+ end
229
+ savePropertyValues(player)
230
+ return true
231
+ end
232
+ return false
233
+ end
234
+ function PersistentPlayerProperty.prototype.set(self, player, value)
235
+ if PersistentPlayerProperty.____super.prototype.set(self, player, value) then
236
+ if player.isLocal then
237
+ localValueById[self.id] = value
238
+ end
239
+ savePropertyValues(player)
240
+ return true
241
+ end
242
+ return false
243
+ end
244
+ savePropertyValues = function(player)
245
+ if player ~= nil and not player.isLocal or loadedValueById == nil or loadedValueByIdByPlayer[Player["local"]] == nil then
246
+ return
247
+ end
248
+ local writer = __TS__New(BinaryWriter)
249
+ writer:writeUInt32(0)
250
+ local size = 0
251
+ for ____ in pairs(localValueById) do
252
+ size = size + 1
253
+ end
254
+ writer:writeUInt32(size)
255
+ for id, value in pairs(localValueById) do
256
+ writer:writeInt32(id)
257
+ if value == NULL_VALUE then
258
+ writer:writeUInt8(0)
259
+ elseif value == false then
260
+ writer:writeUInt8(1)
261
+ elseif value == true then
262
+ writer:writeUInt8(2)
263
+ elseif type(value) == "number" then
264
+ if math.type(value) == "integer" then
265
+ writer:writeUInt8(3)
266
+ writer:writeInt32(value)
267
+ else
268
+ writer:writeUInt8(4)
269
+ writer:writeFloat(value)
270
+ end
271
+ else
272
+ writer:writeUInt8(5)
273
+ writer:writeUInt32(#value)
274
+ writer:writeBytes(value)
275
+ end
276
+ end
277
+ file.write(
278
+ ____exports.PersistentPropertiesConfig.defaultFileName,
279
+ base64.encode(lzw.compress(tostring(writer)))
280
+ )
281
+ end
282
+ local function loadPropertyValues(fileData, player)
283
+ do
284
+ local function ____catch(_)
285
+ return true, {}
286
+ end
287
+ local ____try, ____hasReturned, ____returnValue = pcall(function()
288
+ local valueById = {}
289
+ local reader = __TS__New(
290
+ BinaryReader,
291
+ lzw.decompress(base64.decode(fileData))
292
+ )
293
+ reader:readUInt32()
294
+ local size = reader:readUInt32()
295
+ for _ = 1, size do
296
+ local id = reader:readInt32()
297
+ local dataType = reader:readUInt8()
298
+ if dataType == 0 then
299
+ valueById[id] = NULL_VALUE
300
+ elseif dataType == 1 then
301
+ valueById[id] = false
302
+ elseif dataType == 2 then
303
+ valueById[id] = true
304
+ elseif dataType == 3 then
305
+ valueById[id] = reader:readInt32()
306
+ elseif dataType == 4 then
307
+ valueById[id] = reader:readFloat()
308
+ elseif dataType == 5 then
309
+ valueById[id] = reader:readBytes(reader:readUInt32())
310
+ end
311
+ end
312
+ for id, value in pairs(valueById) do
313
+ local persistentProperty = persistentPropertyById[id]
314
+ if persistentProperty ~= nil then
315
+ if not persistentProperty.isChanged then
316
+ local ____persistentProperty_set_12 = persistentProperty.set
317
+ local ____temp_11
318
+ if value == NULL_VALUE then
319
+ ____temp_11 = nil
320
+ else
321
+ ____temp_11 = value
322
+ end
323
+ ____persistentProperty_set_12(persistentProperty, ____temp_11)
324
+ end
325
+ elseif player ~= nil then
326
+ local persistentPlayerProperty = persistentPlayerPropertyById[id]
327
+ if persistentPlayerProperty ~= nil then
328
+ if not persistentPlayerProperty:isChanged(player) then
329
+ local ____persistentPlayerProperty_set_15 = persistentPlayerProperty.set
330
+ local ____player_14 = player
331
+ local ____temp_13
332
+ if value == NULL_VALUE then
333
+ ____temp_13 = nil
334
+ else
335
+ ____temp_13 = value
336
+ end
337
+ ____persistentPlayerProperty_set_15(persistentPlayerProperty, ____player_14, ____temp_13)
338
+ end
339
+ elseif player.isLocal then
340
+ localValueById[id] = value
341
+ end
342
+ else
343
+ localValueById[id] = value
344
+ end
345
+ end
346
+ return true, valueById
347
+ end)
348
+ if not ____try then
349
+ ____hasReturned, ____returnValue = ____catch(____hasReturned)
350
+ end
351
+ if ____hasReturned then
352
+ return ____returnValue
353
+ end
354
+ end
355
+ end
356
+ Timer:run(function()
357
+ local data = file.read(____exports.PersistentPropertiesConfig.defaultFileName) or ""
358
+ loadedValueById = loadPropertyValues(data)
359
+ for ____, player in ipairs(Player.all) do
360
+ local ____self_16 = synchronize(player, data)
361
+ ____self_16["then"](
362
+ ____self_16,
363
+ function(____, synchronizedData)
364
+ loadedValueByIdByPlayer[player] = loadPropertyValues(synchronizedData, player)
365
+ savePropertyValues(player)
366
+ end,
367
+ function()
368
+ loadedValueByIdByPlayer[player] = {}
369
+ savePropertyValues(player)
370
+ end
371
+ )
372
+ end
373
+ end)
374
+ return ____exports
package/string.d.ts ADDED
@@ -0,0 +1,136 @@
1
+ /** @noSelfInFile */
2
+ declare global {
3
+ interface String {
4
+ /**
5
+ * If this string starts with the given prefix, returns a copy of this string with the prefix removed.
6
+ * Otherwise, returns this string.
7
+ */
8
+ removePrefix(prefix: string): string;
9
+ }
10
+ namespace string {
11
+ /**
12
+ * If the string starts with the given prefix, returns a copy of the string with the prefix removed.
13
+ * Otherwise, returns the string.
14
+ */
15
+ function removePrefix(string: string, prefix: string): string;
16
+ }
17
+ }
18
+ declare global {
19
+ namespace string {
20
+ /**
21
+ * If the string ends with the given suffix, returns a copy of the string with the suffix removed.
22
+ * Otherwise, returns the string.
23
+ */
24
+ function removeSuffix(string: string, prefix: string): string;
25
+ }
26
+ interface String {
27
+ /**
28
+ * If this string ends with the given suffix, returns a copy of this string with the suffix removed.
29
+ * Otherwise, returns this string.
30
+ */
31
+ removeSuffix(suffix: string): string;
32
+ }
33
+ }
34
+ declare global {
35
+ interface String {
36
+ /**
37
+ * Parses the string as a number and returns the result or null if the string is not a valid representation of a number.
38
+ */
39
+ toNumberOrNull(): number | undefined;
40
+ }
41
+ namespace string {
42
+ /**
43
+ * Parses the string as a number and returns the result or null if the string is not a valid representation of a number.
44
+ */
45
+ function toNumberOrNull(string: string): number | undefined;
46
+ }
47
+ }
48
+ declare global {
49
+ interface String {
50
+ /**
51
+ * Parses the string as a number and returns the result.
52
+ */
53
+ toNumber(): number;
54
+ }
55
+ namespace string {
56
+ /**
57
+ * Parses the string as a number and returns the result.
58
+ */
59
+ function toNumber(string: string): number;
60
+ }
61
+ }
62
+ declare global {
63
+ namespace string {
64
+ /**
65
+ * Returns the index within the string of the first occurrence of the specified substring, starting from the specified `startIndex`,
66
+ * or -1 if the string does not contain such substring.
67
+ */
68
+ function indexOf(string: string, substring: string, startIndex?: number): number;
69
+ }
70
+ interface String {
71
+ /**
72
+ * Returns the index within this string of the first occurrence of the specified substring, starting from the specified `startIndex`,
73
+ * or -1 if the string does not contain such substring.
74
+ */
75
+ indexOf(substring: string, startIndex?: number): number;
76
+ }
77
+ }
78
+ declare global {
79
+ interface String {
80
+ /**
81
+ * Returns index of the last character matching the given predicate,
82
+ * or -1 if the char sequence does not contain such character.
83
+ */
84
+ indexOfLast(predicate: (char: string) => boolean): number;
85
+ }
86
+ namespace string {
87
+ /**
88
+ * Returns index of the last character matching the given predicate,
89
+ * or -1 if the char sequence does not contain such character.
90
+ */
91
+ function indexOfLast(string: string, predicate: (char: string) => boolean): number;
92
+ }
93
+ }
94
+ declare global {
95
+ interface String {
96
+ /**
97
+ * Returns `true` if this string is empty or consists solely of whitespace characters.
98
+ */
99
+ isBlank(): boolean;
100
+ }
101
+ namespace string {
102
+ /**
103
+ * Returns `true` if this string is empty or consists solely of whitespace characters.
104
+ */
105
+ function isBlank(string: string): boolean;
106
+ }
107
+ }
108
+ declare global {
109
+ interface String {
110
+ /**
111
+ * Returns `true` if this string is not empty and contains some characters except of whitespace characters.
112
+ */
113
+ isNotBlank(): boolean;
114
+ }
115
+ namespace string {
116
+ /**
117
+ * Returns `true` if this string is not empty and contains some characters except of whitespace characters.
118
+ */
119
+ function isNotBlank(string: string): boolean;
120
+ }
121
+ }
122
+ declare global {
123
+ namespace string {
124
+ /**
125
+ * Returns the number of characters matching the given predicate.
126
+ */
127
+ function count(string: string, predicate: (char: string) => boolean): number;
128
+ }
129
+ interface String {
130
+ /**
131
+ * Returns the number of characters matching the given predicate.
132
+ */
133
+ count(predicate: (char: string) => boolean): number;
134
+ }
135
+ }
136
+ export {};
package/string.lua ADDED
@@ -0,0 +1,48 @@
1
+ local ____exports = {}
2
+ local ____error = _G.error
3
+ local tonumber = _G.tonumber
4
+ local match = string.match
5
+ local find = string.find
6
+ local sub = string.sub
7
+ _G.string.removePrefix = function(____string, prefix)
8
+ local prefixLength = #prefix
9
+ return sub(____string, 1, prefixLength) == prefix and sub(____string, prefixLength + 1) or ____string
10
+ end
11
+ _G.string.removeSuffix = function(____string, suffix)
12
+ local suffixLength = #suffix
13
+ return sub(____string, -suffixLength) == suffix and sub(____string, 1, -suffixLength - 1) or ____string
14
+ end
15
+ _G.string.toNumberOrNull = function(____string)
16
+ return tonumber(____string)
17
+ end
18
+ _G.string.toNumber = function(____string)
19
+ return tonumber(____string) or ____error(("'" .. ____string) .. "' is not a valid representation of a number.")
20
+ end
21
+ _G.string.indexOf = function(____string, substring, startIndex)
22
+ local index = find(____string, substring, (startIndex or 0) + 1, true)
23
+ return (index or 0) - 1
24
+ end
25
+ _G.string.indexOfLast = function(____string, predicate)
26
+ for i = #____string, 1, -1 do
27
+ if predicate(sub(____string, i, i)) then
28
+ return i - 1
29
+ end
30
+ end
31
+ return -1
32
+ end
33
+ _G.string.isBlank = function(____string)
34
+ return (match(____string, "^%s*$")) ~= nil
35
+ end
36
+ _G.string.isNotBlank = function(____string)
37
+ return (match(____string, "^%s*$")) == nil
38
+ end
39
+ _G.string.count = function(____string, predicate)
40
+ local result = 0
41
+ for i = 1, #____string do
42
+ if predicate(sub(____string, i, i)) then
43
+ result = result + 1
44
+ end
45
+ end
46
+ return result
47
+ end
48
+ return ____exports
@@ -0,0 +1,97 @@
1
+ /** @noSelfInFile */
2
+ import { BinaryReader } from "../binaryreader";
3
+ import { BinaryWriter } from "../binarywriter";
4
+ /**
5
+ * A day-of-week, such as 'Tuesday'.
6
+ * <p>
7
+ * {@code DayOfWeek} is a class representing the 7 days of the week -
8
+ * Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday.
9
+ * <p>
10
+ * This class represents a common concept that is found in many calendar systems.
11
+ * As such, this class may be used by any calendar system that has the day-of-week
12
+ * concept defined exactly equivalent to the ISO calendar system.
13
+ */
14
+ export declare class DayOfWeek {
15
+ readonly value: number;
16
+ /**
17
+ * The singleton instance for the day-of-week of Monday.
18
+ * This has the numeric value of {@code 1}.
19
+ */
20
+ static readonly MONDAY: DayOfWeek;
21
+ /**
22
+ * The singleton instance for the day-of-week of Tuesday.
23
+ * This has the numeric value of {@code 2}.
24
+ */
25
+ static readonly TUESDAY: DayOfWeek;
26
+ /**
27
+ * The singleton instance for the day-of-week of Wednesday.
28
+ * This has the numeric value of {@code 3}.
29
+ */
30
+ static readonly WEDNESDAY: DayOfWeek;
31
+ /**
32
+ * The singleton instance for the day-of-week of Thursday.
33
+ * This has the numeric value of {@code 4}.
34
+ */
35
+ static readonly THURSDAY: DayOfWeek;
36
+ /**
37
+ * The singleton instance for the day-of-week of Friday.
38
+ * This has the numeric value of {@code 5}.
39
+ */
40
+ static readonly FRIDAY: DayOfWeek;
41
+ /**
42
+ * The singleton instance for the day-of-week of Saturday.
43
+ * This has the numeric value of {@code 6}.
44
+ */
45
+ static readonly SATURDAY: DayOfWeek;
46
+ /**
47
+ * The singleton instance for the day-of-week of Sunday.
48
+ * This has the numeric value of {@code 7}.
49
+ */
50
+ static readonly SUNDAY: DayOfWeek;
51
+ private constructor();
52
+ /**
53
+ * Obtains an instance of {@code DayOfWeek} from an {@code int} value.
54
+ * <p>
55
+ * {@code DayOfWeek} is a class representing the 7 days of the week.
56
+ * This factory allows the class to be obtained from the {@code int} value.
57
+ * The {@code int} value follows the ISO-8601 standard, from 1 (Monday) to 7 (Sunday).
58
+ *
59
+ * @param dayOfWeek the day-of-week to represent, from 1 (Monday) to 7 (Sunday)
60
+ * @return the day-of-week singleton
61
+ */
62
+ static of(dayOfWeek: number): DayOfWeek;
63
+ static deserialize(reader: BinaryReader): DayOfWeek;
64
+ serialize(writer: BinaryWriter): void;
65
+ /**
66
+ * Returns the day-of-week that is the specified number of days after this one.
67
+ * <p>
68
+ * The calculation rolls around the end of the week from Sunday to Monday.
69
+ * The specified period may be negative.
70
+ * <p>
71
+ * This instance is immutable and unaffected by this method call.
72
+ *
73
+ * @param days the days to add, positive or negative
74
+ * @return the resulting day-of-week
75
+ */
76
+ plus(days: number): DayOfWeek;
77
+ /**
78
+ * Returns the day-of-week that is the specified number of days before this one.
79
+ * <p>
80
+ * The calculation rolls around the start of the year from Monday to Sunday.
81
+ * The specified period may be negative.
82
+ * <p>
83
+ * This instance is immutable and unaffected by this method call.
84
+ *
85
+ * @param days the days to subtract, positive or negative
86
+ * @return the resulting day-of-week
87
+ */
88
+ minus(days: number): DayOfWeek;
89
+ /**
90
+ * Outputs this day-of-week as a {@code string}.
91
+ *
92
+ * @return a string representation of this day-of-week
93
+ */
94
+ toString(): string;
95
+ private __lt;
96
+ private __le;
97
+ }