warscript 0.0.1-dev.404878c

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 (493) hide show
  1. package/LICENSE +23 -0
  2. package/binaryreader.d.ts +20 -0
  3. package/binaryreader.lua +50 -0
  4. package/binarywriter.d.ts +21 -0
  5. package/binarywriter.lua +90 -0
  6. package/core/dummy.d.ts +22 -0
  7. package/core/dummy.lua +133 -0
  8. package/core/game.d.ts +3 -0
  9. package/core/game.lua +24 -0
  10. package/core/mapbounds.d.ts +8 -0
  11. package/core/mapbounds.lua +12 -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 +140 -0
  29. package/core/types/frame.lua +882 -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 +22 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +48 -0
  35. package/core/types/handle.lua +169 -0
  36. package/core/types/image.d.ts +30 -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 +233 -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 +24 -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 +116 -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 +12 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +36 -0
  92. package/engine/behaviour/ability/damage.d.ts +25 -0
  93. package/engine/behaviour/ability/damage.lua +75 -0
  94. package/engine/behaviour/ability/heal.d.ts +16 -0
  95. package/engine/behaviour/ability/heal.lua +35 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +25 -0
  98. package/engine/behaviour/ability.d.ts +40 -0
  99. package/engine/behaviour/ability.lua +175 -0
  100. package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
  101. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  102. package/engine/behaviour/unit.d.ts +20 -0
  103. package/engine/behaviour/unit.lua +75 -0
  104. package/engine/buff.d.ts +221 -0
  105. package/engine/buff.lua +1093 -0
  106. package/engine/constants.d.ts +7 -0
  107. package/engine/constants.lua +8 -0
  108. package/engine/index.d.ts +5 -0
  109. package/engine/index.lua +2 -0
  110. package/engine/internal/ability.d.ts +91 -0
  111. package/engine/internal/ability.lua +531 -0
  112. package/engine/internal/item/ability.d.ts +2 -0
  113. package/engine/internal/item/ability.lua +48 -0
  114. package/engine/internal/item+owner.d.ts +7 -0
  115. package/engine/internal/item+owner.lua +22 -0
  116. package/engine/internal/item.d.ts +86 -0
  117. package/engine/internal/item.lua +580 -0
  118. package/engine/internal/mechanics/ability-duration.d.ts +4 -0
  119. package/engine/internal/mechanics/ability-duration.lua +11 -0
  120. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  121. package/engine/internal/mechanics/area-damage.lua +33 -0
  122. package/engine/internal/misc/dummy-units.d.ts +2 -0
  123. package/engine/internal/misc/dummy-units.lua +14 -0
  124. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  125. package/engine/internal/object-data/armor-increase.lua +19 -0
  126. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  127. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  128. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  129. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  130. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  131. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  132. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  133. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  134. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  135. package/engine/internal/object-data/dummy-item.lua +10 -0
  136. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  137. package/engine/internal/object-data/ghost-visible.lua +15 -0
  138. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  139. package/engine/internal/object-data/invulnerable.lua +11 -0
  140. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  141. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  142. package/engine/internal/unit/ability.d.ts +143 -0
  143. package/engine/internal/unit/ability.lua +369 -0
  144. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  145. package/engine/internal/unit/allowed-targets.lua +19 -0
  146. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  147. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  148. package/engine/internal/unit/bonus.d.ts +41 -0
  149. package/engine/internal/unit/bonus.lua +188 -0
  150. package/engine/internal/unit/buff.d.ts +38 -0
  151. package/engine/internal/unit/buff.lua +81 -0
  152. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  153. package/engine/internal/unit/expiration-timer.lua +44 -0
  154. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  155. package/engine/internal/unit/ghost-counter.lua +26 -0
  156. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  157. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  158. package/engine/internal/unit/missile.d.ts +42 -0
  159. package/engine/internal/unit/missile.lua +70 -0
  160. package/engine/internal/unit/movement-speed.d.ts +18 -0
  161. package/engine/internal/unit/movement-speed.lua +42 -0
  162. package/engine/internal/unit/summon-event.d.ts +12 -0
  163. package/engine/internal/unit/summon-event.lua +50 -0
  164. package/engine/internal/unit+ability.d.ts +9 -0
  165. package/engine/internal/unit+ability.lua +59 -0
  166. package/engine/internal/unit+bonus.d.ts +8 -0
  167. package/engine/internal/unit+bonus.lua +40 -0
  168. package/engine/internal/unit+damage.d.ts +69 -0
  169. package/engine/internal/unit+damage.lua +123 -0
  170. package/engine/internal/unit+rally.d.ts +10 -0
  171. package/engine/internal/unit+rally.lua +159 -0
  172. package/engine/internal/unit+spellSteal.d.ts +7 -0
  173. package/engine/internal/unit+spellSteal.lua +64 -0
  174. package/engine/internal/unit+transport.d.ts +12 -0
  175. package/engine/internal/unit+transport.lua +102 -0
  176. package/engine/internal/unit-missile-data.d.ts +2 -0
  177. package/engine/internal/unit-missile-data.lua +107 -0
  178. package/engine/internal/unit-missile-launch.d.ts +7 -0
  179. package/engine/internal/unit-missile-launch.lua +32 -0
  180. package/engine/internal/unit.d.ts +312 -0
  181. package/engine/internal/unit.lua +2430 -0
  182. package/engine/internal/utility.d.ts +2 -0
  183. package/engine/internal/utility.lua +13 -0
  184. package/engine/lightning.d.ts +51 -0
  185. package/engine/lightning.lua +303 -0
  186. package/engine/local-client.d.ts +16 -0
  187. package/engine/local-client.lua +86 -0
  188. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  189. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  190. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  191. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  192. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  193. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  194. package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
  195. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  196. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  197. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  198. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  199. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  200. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  201. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  202. package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
  203. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  204. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  205. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  206. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  207. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  208. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  209. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  210. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  211. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  212. package/engine/object-data/auxiliary/race.d.ts +14 -0
  213. package/engine/object-data/auxiliary/race.lua +2 -0
  214. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  215. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  216. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  217. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  218. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  219. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  220. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  221. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  222. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  223. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  224. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  225. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  226. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  227. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  228. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  229. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  230. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  231. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  232. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  234. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  237. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  238. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  239. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  240. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  242. package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
  243. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  244. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  246. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  247. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  248. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  250. package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
  251. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  252. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  253. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  254. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  256. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  257. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  258. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  260. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  261. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  262. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  263. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  264. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  265. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  266. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  267. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  268. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  270. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  271. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  272. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  273. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  274. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  275. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  276. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  278. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  279. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  280. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  282. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  283. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  284. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  285. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  286. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  288. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  290. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  292. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  293. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  294. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  295. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  296. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  297. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  298. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  299. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  300. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  301. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  302. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  303. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  304. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  305. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  306. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  307. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  308. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  309. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  310. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  312. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  313. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  314. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  315. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  316. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  317. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  318. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  319. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  320. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  321. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  322. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  323. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  324. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  325. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  326. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  327. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  328. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  330. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  332. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  333. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  334. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  335. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  336. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  337. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  338. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  339. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  340. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  341. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  342. package/engine/object-data/entry/ability-type.d.ts +148 -0
  343. package/engine/object-data/entry/ability-type.lua +1058 -0
  344. package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
  345. package/engine/object-data/entry/buff-type/applicable.lua +377 -0
  346. package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
  347. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  348. package/engine/object-data/entry/buff-type.d.ts +64 -0
  349. package/engine/object-data/entry/buff-type.lua +316 -0
  350. package/engine/object-data/entry/destructible-type.d.ts +21 -0
  351. package/engine/object-data/entry/destructible-type.lua +83 -0
  352. package/engine/object-data/entry/item-type/blank.d.ts +8 -0
  353. package/engine/object-data/entry/item-type/blank.lua +21 -0
  354. package/engine/object-data/entry/item-type.d.ts +49 -0
  355. package/engine/object-data/entry/item-type.lua +259 -0
  356. package/engine/object-data/entry/lightning-type.d.ts +37 -0
  357. package/engine/object-data/entry/lightning-type.lua +191 -0
  358. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  359. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  360. package/engine/object-data/entry/unit-type.d.ts +218 -0
  361. package/engine/object-data/entry/unit-type.lua +1306 -0
  362. package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
  363. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  364. package/engine/object-data/entry/upgrade.d.ts +59 -0
  365. package/engine/object-data/entry/upgrade.lua +238 -0
  366. package/engine/object-data/entry.d.ts +80 -0
  367. package/engine/object-data/entry.lua +634 -0
  368. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  369. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  370. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  371. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  372. package/engine/object-field/ability.d.ts +115 -0
  373. package/engine/object-field/ability.lua +471 -0
  374. package/engine/object-field/unit.d.ts +15 -0
  375. package/engine/object-field/unit.lua +49 -0
  376. package/engine/object-field.d.ts +84 -0
  377. package/engine/object-field.lua +444 -0
  378. package/engine/random.d.ts +10 -0
  379. package/engine/random.lua +9 -0
  380. package/engine/standard/entries/ability-type.d.ts +8 -0
  381. package/engine/standard/entries/ability-type.lua +8 -0
  382. package/engine/standard/entries/lightning-type.d.ts +16 -0
  383. package/engine/standard/entries/lightning-type.lua +16 -0
  384. package/engine/standard/entries/unit-type.d.ts +63 -0
  385. package/engine/standard/entries/unit-type.lua +63 -0
  386. package/engine/standard/entries/upgrade.d.ts +92 -0
  387. package/engine/standard/entries/upgrade.lua +92 -0
  388. package/engine/standard/fields/ability.d.ts +737 -0
  389. package/engine/standard/fields/ability.lua +749 -0
  390. package/engine/standard/pathing-textures.d.ts +6 -0
  391. package/engine/standard/pathing-textures.lua +7 -0
  392. package/engine/text-tag.d.ts +25 -0
  393. package/engine/text-tag.lua +109 -0
  394. package/engine/unit.d.ts +20 -0
  395. package/engine/unit.lua +31 -0
  396. package/event.d.ts +53 -0
  397. package/event.lua +269 -0
  398. package/exception.d.ts +17 -0
  399. package/exception.lua +53 -0
  400. package/file.d.ts +4 -0
  401. package/file.lua +42 -0
  402. package/global/math.d.ts +21 -0
  403. package/global/math.lua +72 -0
  404. package/global/vec2.d.ts +66 -0
  405. package/global/vec2.lua +159 -0
  406. package/index.d.ts +8 -0
  407. package/index.lua +9 -0
  408. package/lualib_bundle.lua +2629 -0
  409. package/math/vec2.d.ts +18 -0
  410. package/math/vec2.lua +42 -0
  411. package/math.d.ts +39 -0
  412. package/math.lua +91 -0
  413. package/net/signal.d.ts +11 -0
  414. package/net/signal.lua +56 -0
  415. package/net/socket.d.ts +9 -0
  416. package/net/socket.lua +26 -0
  417. package/network.d.ts +31 -0
  418. package/network.lua +194 -0
  419. package/objutil/ability.d.ts +710 -0
  420. package/objutil/ability.lua +3781 -0
  421. package/objutil/buff.d.ts +110 -0
  422. package/objutil/buff.lua +769 -0
  423. package/objutil/dummy.d.ts +2 -0
  424. package/objutil/dummy.lua +49 -0
  425. package/objutil/idgen.d.ts +9 -0
  426. package/objutil/idgen.lua +92 -0
  427. package/objutil/item.d.ts +38 -0
  428. package/objutil/item.lua +254 -0
  429. package/objutil/object.d.ts +43 -0
  430. package/objutil/object.lua +213 -0
  431. package/objutil/unit.d.ts +134 -0
  432. package/objutil/unit.lua +913 -0
  433. package/objutil/upgrade.d.ts +22 -0
  434. package/objutil/upgrade.lua +127 -0
  435. package/operation.d.ts +35 -0
  436. package/operation.lua +179 -0
  437. package/package.json +47 -0
  438. package/patch-lualib.d.ts +2 -0
  439. package/patch-lualib.lua +67 -0
  440. package/patch-natives.d.ts +11 -0
  441. package/patch-natives.lua +14 -0
  442. package/string.d.ts +106 -0
  443. package/string.lua +34 -0
  444. package/time/dayOfWeek.d.ts +97 -0
  445. package/time/dayOfWeek.lua +53 -0
  446. package/time/localDate.d.ts +145 -0
  447. package/time/localDate.lua +236 -0
  448. package/time/localDateTime.d.ts +133 -0
  449. package/time/localDateTime.lua +154 -0
  450. package/time/localTime.d.ts +87 -0
  451. package/time/localTime.lua +91 -0
  452. package/time/month.d.ts +146 -0
  453. package/time/month.lua +129 -0
  454. package/time/year.d.ts +117 -0
  455. package/time/year.lua +81 -0
  456. package/types.d.ts +13 -0
  457. package/types.lua +0 -0
  458. package/util/objectPool.d.ts +6 -0
  459. package/util/objectPool.lua +28 -0
  460. package/util/stream.d.ts +29 -0
  461. package/util/stream.lua +453 -0
  462. package/util/stringBuilder.d.ts +8 -0
  463. package/util/stringBuilder.lua +25 -0
  464. package/utility/arrays.d.ts +57 -0
  465. package/utility/arrays.lua +369 -0
  466. package/utility/base64.d.ts +23 -0
  467. package/utility/base64.lua +177 -0
  468. package/utility/bit-set.d.ts +18 -0
  469. package/utility/bit-set.lua +12 -0
  470. package/utility/functions.d.ts +5 -0
  471. package/utility/functions.lua +90 -0
  472. package/utility/json.d.ts +2 -0
  473. package/utility/json.lua +400 -0
  474. package/utility/linked-set.d.ts +49 -0
  475. package/utility/linked-set.lua +181 -0
  476. package/utility/lua-maps.d.ts +6 -0
  477. package/utility/lua-maps.lua +25 -0
  478. package/utility/lua-sets.d.ts +6 -0
  479. package/utility/lua-sets.lua +37 -0
  480. package/utility/lzw.d.ts +2 -0
  481. package/utility/lzw.lua +161 -0
  482. package/utility/observable-array.d.ts +17 -0
  483. package/utility/observable-array.lua +30 -0
  484. package/utility/preconditions.d.ts +23 -0
  485. package/utility/preconditions.lua +58 -0
  486. package/utility/records.d.ts +3 -0
  487. package/utility/records.lua +9 -0
  488. package/utility/reflection.d.ts +4 -0
  489. package/utility/reflection.lua +31 -0
  490. package/utility/strings.d.ts +2 -0
  491. package/utility/strings.lua +44 -0
  492. package/utility/types.d.ts +39 -0
  493. package/utility/types.lua +2 -0
@@ -0,0 +1,22 @@
1
+ /** @noSelfInFile */
2
+ import { LevelFieldValueProvider, ObjectDefinition } from "./object";
3
+ export declare class UpgradeDefinition extends ObjectDefinition {
4
+ readonly id: string;
5
+ constructor(baseId: string, id?: string);
6
+ get name(): string[];
7
+ set name(v: LevelFieldValueProvider<string>);
8
+ get tooltip(): string[];
9
+ set tooltip(v: LevelFieldValueProvider<string>);
10
+ get tooltipExtended(): string[];
11
+ set tooltipExtended(v: LevelFieldValueProvider<string>);
12
+ get hotkey(): string[];
13
+ set hotkey(v: LevelFieldValueProvider<string>);
14
+ get buttonPositionX(): 0 | 1 | 2 | 3;
15
+ set buttonPositionX(v: 0 | 1 | 2 | 3);
16
+ get buttonPositionY(): 0 | 1 | 2;
17
+ set buttonPositionY(v: 0 | 1 | 2);
18
+ get levels(): number;
19
+ set levels(v: number);
20
+ get icon(): string[];
21
+ set icon(v: LevelFieldValueProvider<string>);
22
+ }
@@ -0,0 +1,127 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____object = require("objutil.object")
7
+ local ObjectDefinition = ____object.ObjectDefinition
8
+ local idgen = require("objutil.idgen")
9
+ ____exports.UpgradeDefinition = __TS__Class()
10
+ local UpgradeDefinition = ____exports.UpgradeDefinition
11
+ UpgradeDefinition.name = "UpgradeDefinition"
12
+ __TS__ClassExtends(UpgradeDefinition, ObjectDefinition)
13
+ function UpgradeDefinition.prototype.____constructor(self, baseId, id)
14
+ ObjectDefinition.prototype.____constructor(
15
+ self,
16
+ currentMap.objects.upgrade:newObject(
17
+ id or idgen.upgrade(),
18
+ baseId
19
+ )
20
+ )
21
+ self.id = self.object.id
22
+ end
23
+ __TS__SetDescriptor(
24
+ UpgradeDefinition.prototype,
25
+ "name",
26
+ {
27
+ get = function(self)
28
+ return self:getStringLevelField("gnam")
29
+ end,
30
+ set = function(self, v)
31
+ self:setStringLevelField("gnam", v)
32
+ end
33
+ },
34
+ true
35
+ )
36
+ __TS__SetDescriptor(
37
+ UpgradeDefinition.prototype,
38
+ "tooltip",
39
+ {
40
+ get = function(self)
41
+ return self:getStringLevelField("gtp1")
42
+ end,
43
+ set = function(self, v)
44
+ self:setStringLevelField("gtp1", v)
45
+ end
46
+ },
47
+ true
48
+ )
49
+ __TS__SetDescriptor(
50
+ UpgradeDefinition.prototype,
51
+ "tooltipExtended",
52
+ {
53
+ get = function(self)
54
+ return self:getStringLevelField("gub1")
55
+ end,
56
+ set = function(self, v)
57
+ self:setStringLevelField("gub1", v)
58
+ end
59
+ },
60
+ true
61
+ )
62
+ __TS__SetDescriptor(
63
+ UpgradeDefinition.prototype,
64
+ "hotkey",
65
+ {
66
+ get = function(self)
67
+ return self:getStringLevelField("ghk1")
68
+ end,
69
+ set = function(self, v)
70
+ self:setStringLevelField("ghk1", v)
71
+ end
72
+ },
73
+ true
74
+ )
75
+ __TS__SetDescriptor(
76
+ UpgradeDefinition.prototype,
77
+ "buttonPositionX",
78
+ {
79
+ get = function(self)
80
+ return self:getNumberField("gbpx")
81
+ end,
82
+ set = function(self, v)
83
+ self:setNumberField("gbpx", v)
84
+ end
85
+ },
86
+ true
87
+ )
88
+ __TS__SetDescriptor(
89
+ UpgradeDefinition.prototype,
90
+ "buttonPositionY",
91
+ {
92
+ get = function(self)
93
+ return self:getNumberField("gbpy")
94
+ end,
95
+ set = function(self, v)
96
+ self:setNumberField("gbpy", v)
97
+ end
98
+ },
99
+ true
100
+ )
101
+ __TS__SetDescriptor(
102
+ UpgradeDefinition.prototype,
103
+ "levels",
104
+ {
105
+ get = function(self)
106
+ return self:getNumberField("glvl")
107
+ end,
108
+ set = function(self, v)
109
+ self:setNumberField("glvl", v)
110
+ end
111
+ },
112
+ true
113
+ )
114
+ __TS__SetDescriptor(
115
+ UpgradeDefinition.prototype,
116
+ "icon",
117
+ {
118
+ get = function(self)
119
+ return self:getStringLevelField("gar1")
120
+ end,
121
+ set = function(self, v)
122
+ self:setStringLevelField("gar1", v)
123
+ end
124
+ },
125
+ true
126
+ )
127
+ return ____exports
package/operation.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ /** @noSelfInFile */
2
+ import { Event } from "./event";
3
+ declare global {
4
+ type PromiseExecutor<T> = ConstructorParameters<typeof Promise<T>>[0];
5
+ type PromiseResolve<T> = Parameters<PromiseExecutor<T>>[0];
6
+ type PromiseReject = Parameters<PromiseExecutor<unknown>>[1];
7
+ }
8
+ export declare class OperationMonitor<T> extends Promise<T> {
9
+ private readonly o;
10
+ constructor(operation: Operation<T>, ...args: ConstructorParameters<typeof Promise<T>>);
11
+ cancel(): boolean;
12
+ }
13
+ declare const OperationContinue: unique symbol;
14
+ type OperationContinue = typeof OperationContinue;
15
+ export { OperationContinue };
16
+ export declare abstract class Operation<T> {
17
+ protected constructor();
18
+ private started;
19
+ protected progress: number;
20
+ protected maximum: number;
21
+ isCanceled: boolean;
22
+ get isStarted(): boolean;
23
+ execute(): OperationMonitor<T>;
24
+ protected abstract estimate(): number | Promise<number>;
25
+ protected abstract work(): T | OperationContinue | Promise<T | OperationContinue>;
26
+ get onSuccess(): Event<[operation: Operation<T>, result: T]>;
27
+ get onFailure(): Event<[operation: Operation<T>, reason?: any]>;
28
+ get onComplete(): Event<[
29
+ operation: Operation<T>,
30
+ ...result: [success: true, result: T] | [success: false, reason?: any]
31
+ ]>;
32
+ get onProgress(): Event<[operation: Operation<T>]>;
33
+ protected abstract doCancel(): boolean;
34
+ cancel(): boolean;
35
+ }
package/operation.lua ADDED
@@ -0,0 +1,179 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__Promise = ____lualib.__TS__Promise
4
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
5
+ local __TS__Symbol = ____lualib.__TS__Symbol
6
+ local Symbol = ____lualib.Symbol
7
+ local __TS__New = ____lualib.__TS__New
8
+ local __TS__AsyncAwaiter = ____lualib.__TS__AsyncAwaiter
9
+ local __TS__Await = ____lualib.__TS__Await
10
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
11
+ local ____exports = {}
12
+ local ____event = require("event")
13
+ local Event = ____event.Event
14
+ local ____exception = require("exception")
15
+ local CancellationException = ____exception.CancellationException
16
+ local IllegalStateException = ____exception.IllegalStateException
17
+ local ____rawget = _G.rawget
18
+ local rawset = _G.rawset
19
+ ____exports.OperationMonitor = __TS__Class()
20
+ local OperationMonitor = ____exports.OperationMonitor
21
+ OperationMonitor.name = "OperationMonitor"
22
+ __TS__ClassExtends(OperationMonitor, __TS__Promise)
23
+ function OperationMonitor.prototype.____constructor(self, operation, ...)
24
+ local args = {...}
25
+ __TS__Promise.prototype.____constructor(
26
+ self,
27
+ table.unpack(args)
28
+ )
29
+ self.o = operation
30
+ end
31
+ function OperationMonitor.prototype.cancel(self)
32
+ return self.o:cancel()
33
+ end
34
+ local OperationContinue = __TS__Symbol()
35
+ ____exports.OperationContinue = OperationContinue
36
+ ____exports.Operation = __TS__Class()
37
+ local Operation = ____exports.Operation
38
+ Operation.name = "Operation"
39
+ function Operation.prototype.____constructor(self)
40
+ self.started = false
41
+ self.progress = 0
42
+ self.maximum = 0
43
+ self.isCanceled = false
44
+ end
45
+ function Operation.prototype.execute(self)
46
+ if self.started then
47
+ error(
48
+ __TS__New(IllegalStateException, "Operation already started"),
49
+ 0
50
+ )
51
+ end
52
+ self.started = true
53
+ return __TS__New(
54
+ ____exports.OperationMonitor,
55
+ self,
56
+ function(____, resolve, reject)
57
+ return __TS__AsyncAwaiter(function(____awaiter_resolve)
58
+ local result
59
+ local progress = self.progress
60
+ local ____try = __TS__AsyncAwaiter(function()
61
+ local maximum = __TS__Await(self:estimate())
62
+ self.maximum = maximum
63
+ if maximum ~= 0 then
64
+ local onProgress = ____rawget(self, "onProgress")
65
+ if onProgress ~= nil then
66
+ Event.invoke(onProgress, self)
67
+ end
68
+ end
69
+ repeat
70
+ do
71
+ if self.isCanceled then
72
+ local reason = __TS__New(CancellationException)
73
+ reject(nil, reason)
74
+ local onFailure = ____rawget(self, "onFailure")
75
+ if onFailure ~= nil then
76
+ Event.invoke(onFailure, self, reason)
77
+ end
78
+ local onComplete = ____rawget(self, "onComplete")
79
+ if onComplete ~= nil then
80
+ Event.invoke(onComplete, self, false, reason)
81
+ end
82
+ return ____awaiter_resolve(nil)
83
+ end
84
+ result = __TS__Await(self:work())
85
+ if self.progress ~= progress or self.maximum ~= maximum then
86
+ progress = self.progress
87
+ maximum = self.maximum
88
+ local onProgress = ____rawget(self, "onProgress")
89
+ if onProgress ~= nil then
90
+ Event.invoke(onProgress, self)
91
+ end
92
+ end
93
+ end
94
+ until not (result == OperationContinue)
95
+ end)
96
+ __TS__Await(____try.catch(
97
+ ____try,
98
+ function(____, reason)
99
+ reject(nil, reason)
100
+ local onFailure = ____rawget(self, "onFailure")
101
+ if onFailure ~= nil then
102
+ Event.invoke(onFailure, self, reason)
103
+ end
104
+ local onComplete = ____rawget(self, "onComplete")
105
+ if onComplete ~= nil then
106
+ Event.invoke(onComplete, self, false, reason)
107
+ end
108
+ return ____awaiter_resolve(nil)
109
+ end
110
+ ))
111
+ resolve(nil, result)
112
+ local onSuccess = ____rawget(self, "onSuccess")
113
+ if onSuccess ~= nil then
114
+ Event.invoke(onSuccess, self, result)
115
+ end
116
+ local onComplete = ____rawget(self, "onComplete")
117
+ if onComplete ~= nil then
118
+ Event.invoke(onComplete, self, true, result)
119
+ end
120
+ end)
121
+ end
122
+ )
123
+ end
124
+ function Operation.prototype.cancel(self)
125
+ if self:doCancel() then
126
+ self.isCanceled = true
127
+ return true
128
+ end
129
+ return false
130
+ end
131
+ __TS__SetDescriptor(
132
+ Operation.prototype,
133
+ "isStarted",
134
+ {get = function(self)
135
+ return self.started
136
+ end},
137
+ true
138
+ )
139
+ __TS__SetDescriptor(
140
+ Operation.prototype,
141
+ "onSuccess",
142
+ {get = function(self)
143
+ local onSuccess = __TS__New(Event)
144
+ rawset(self, "onSuccess", onSuccess)
145
+ return onSuccess
146
+ end},
147
+ true
148
+ )
149
+ __TS__SetDescriptor(
150
+ Operation.prototype,
151
+ "onFailure",
152
+ {get = function(self)
153
+ local onFailure = __TS__New(Event)
154
+ rawset(self, "onFailure", onFailure)
155
+ return onFailure
156
+ end},
157
+ true
158
+ )
159
+ __TS__SetDescriptor(
160
+ Operation.prototype,
161
+ "onComplete",
162
+ {get = function(self)
163
+ local onComplete = __TS__New(Event)
164
+ rawset(self, "onComplete", onComplete)
165
+ return onComplete
166
+ end},
167
+ true
168
+ )
169
+ __TS__SetDescriptor(
170
+ Operation.prototype,
171
+ "onProgress",
172
+ {get = function(self)
173
+ local onProgress = __TS__New(Event)
174
+ rawset(self, "onProgress", onProgress)
175
+ return onProgress
176
+ end},
177
+ true
178
+ )
179
+ return ____exports
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package",
3
+ "name": "warscript",
4
+ "version": "0.0.1-dev.404878c",
5
+ "description": "A typescript library for Warcraft III using Warpack.",
6
+ "keywords": [
7
+ "warcraft",
8
+ "warscript"
9
+ ],
10
+ "license": "MIT",
11
+ "author": "rhazarian",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/rhazarian/warscript.git"
15
+ },
16
+ "scripts": {
17
+ "clean": "rimraf dist",
18
+ "prebuild": "npm run clean",
19
+ "build": "tstl && copyfiles -u 1 \"src/**/*.d.ts\" \"src/**/*.lua\" dist && copyfiles LICENSE package.json dist",
20
+ "prepublishOnly": "echo You should run 'npm run publish' instead. && exit 1",
21
+ "publish": "npm run build && npm publish ./dist --ignore-scripts"
22
+ },
23
+ "peerDependencies": {
24
+ "@warscript/language-extensions": "^0.0.1",
25
+ "@warscript/tstl-plugin": "^0.0.1",
26
+ "typescript-to-lua": "^1.24.1",
27
+ "lua-types": "^2.13.1",
28
+ "warpack": "0.0.1-dev.5bdabe5"
29
+ },
30
+ "devDependencies": {
31
+ "@typescript-eslint/eslint-plugin": "^5.59.11",
32
+ "@typescript-eslint/parser": "^5.59.11",
33
+ "async": "^3.2.0",
34
+ "copyfiles": "^2.4.1",
35
+ "eslint": "^8.42.0",
36
+ "eslint-config-prettier": "^8.8.0",
37
+ "eslint-plugin-prettier": "^3.4.0",
38
+ "prettier": "^2.8.8",
39
+ "rimraf": "^5.0.5",
40
+ "ts-node": "^10.9.1",
41
+ "tsc-watch": "^4.2.9"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public",
45
+ "registry": "https://registry.npmjs.org/"
46
+ }
47
+ }
@@ -0,0 +1,2 @@
1
+ /** @noSelfInFile */
2
+ export {};
@@ -0,0 +1,67 @@
1
+ local ____exports = {}
2
+ local lualib = _G.require("lualib_bundle")
3
+ local next = _G.next
4
+ local ____type = _G.type
5
+ lualib.__TS__ArrayIsArray = function(value)
6
+ return ____type(value) == "table" and (value[1] ~= nil or ({next(value)}) == nil) and value.constructor == nil
7
+ end
8
+ local __TS__SetDescriptor = lualib.__TS__SetDescriptor
9
+ lualib.__TS__ObjectDefineProperty = function(target, key, desc)
10
+ local luaKey = type(key) == "number" and key + 1 or key
11
+ local value = rawget(target, luaKey)
12
+ local hasGetterOrSetter = desc.get ~= nil or desc.set ~= nil
13
+ local descriptor
14
+ if hasGetterOrSetter then
15
+ if value ~= nil then
16
+ error(
17
+ "Cannot redefine property: " .. tostring(key),
18
+ 0
19
+ )
20
+ end
21
+ descriptor = desc
22
+ else
23
+ local valueExists = value ~= nil
24
+ local ____desc_set_4 = desc.set
25
+ local ____desc_get_5 = desc.get
26
+ local ____temp_0
27
+ if desc.configurable ~= nil then
28
+ ____temp_0 = desc.configurable
29
+ else
30
+ ____temp_0 = valueExists
31
+ end
32
+ local ____temp_1
33
+ if desc.enumerable ~= nil then
34
+ ____temp_1 = desc.enumerable
35
+ else
36
+ ____temp_1 = valueExists
37
+ end
38
+ local ____temp_2
39
+ if desc.writable ~= nil then
40
+ ____temp_2 = desc.writable
41
+ else
42
+ ____temp_2 = valueExists
43
+ end
44
+ local ____temp_3
45
+ if desc.value ~= nil then
46
+ ____temp_3 = desc.value
47
+ else
48
+ ____temp_3 = value
49
+ end
50
+ descriptor = {
51
+ set = ____desc_set_4,
52
+ get = ____desc_get_5,
53
+ configurable = ____temp_0,
54
+ enumerable = ____temp_1,
55
+ writable = ____temp_2,
56
+ value = ____temp_3
57
+ }
58
+ end
59
+ __TS__SetDescriptor(
60
+ target,
61
+ luaKey,
62
+ descriptor,
63
+ ____type(target.constructor) == "table" and target.constructor.prototype == target
64
+ )
65
+ return target
66
+ end
67
+ return ____exports
@@ -0,0 +1,11 @@
1
+ /** @noSelfInFile */
2
+ declare global {
3
+ type oskeymeta = {
4
+ readonly __oskeymeta: unique symbol;
5
+ } & number;
6
+ const OSKEY_META_NONE: oskeymeta;
7
+ const OSKEY_META_SHIFT: oskeymeta;
8
+ const OSKEY_META_CTRL: oskeymeta;
9
+ const OSKEY_META_ALT: oskeymeta;
10
+ }
11
+ export {};
@@ -0,0 +1,14 @@
1
+ local ____exports = {}
2
+ do
3
+ local g = _G
4
+ g.OSKEY_META_NONE = 0
5
+ g.OSKEY_META_SHIFT = 1
6
+ g.OSKEY_META_CTRL = 2
7
+ g.OSKEY_META_ALT = 4
8
+ end
9
+ compiletime(function()
10
+ _G.GetLocalizedString = function(source)
11
+ return currentMap and currentMap.strings:localized(source) or source
12
+ end
13
+ end)
14
+ return ____exports
package/string.d.ts ADDED
@@ -0,0 +1,106 @@
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
+ interface String {
64
+ /**
65
+ * Returns index of the last character matching the given predicate,
66
+ * or -1 if the char sequence does not contain such character.
67
+ */
68
+ indexOfLast(predicate: (char: string) => boolean): number;
69
+ }
70
+ namespace string {
71
+ /**
72
+ * Returns index of the last character matching the given predicate,
73
+ * or -1 if the char sequence does not contain such character.
74
+ */
75
+ function indexOfLast(string: string, predicate: (char: string) => boolean): number;
76
+ }
77
+ }
78
+ declare global {
79
+ interface String {
80
+ /**
81
+ * Returns `true` if this string is empty or consists solely of whitespace characters.
82
+ */
83
+ isBlank(): boolean;
84
+ }
85
+ namespace string {
86
+ /**
87
+ * Returns `true` if this string is empty or consists solely of whitespace characters.
88
+ */
89
+ function isBlank(string: string): boolean;
90
+ }
91
+ }
92
+ declare global {
93
+ interface String {
94
+ /**
95
+ * Returns `true` if this string is not empty and contains some characters except of whitespace characters.
96
+ */
97
+ isNotBlank(): boolean;
98
+ }
99
+ namespace string {
100
+ /**
101
+ * Returns `true` if this string is not empty and contains some characters except of whitespace characters.
102
+ */
103
+ function isNotBlank(string: string): boolean;
104
+ }
105
+ }
106
+ export {};
package/string.lua ADDED
@@ -0,0 +1,34 @@
1
+ local ____exports = {}
2
+ local ____error = _G.error
3
+ local tonumber = _G.tonumber
4
+ local match = string.match
5
+ local sub = string.sub
6
+ _G.string.removePrefix = function(____string, prefix)
7
+ local prefixLength = #prefix
8
+ return sub(____string, 1, prefixLength) == prefix and sub(____string, prefixLength + 1) or ____string
9
+ end
10
+ _G.string.removeSuffix = function(____string, suffix)
11
+ local suffixLength = #suffix
12
+ return sub(____string, -suffixLength) == suffix and sub(____string, 1, -suffixLength - 1) or ____string
13
+ end
14
+ _G.string.toNumberOrNull = function(____string)
15
+ return tonumber(____string)
16
+ end
17
+ _G.string.toNumber = function(____string)
18
+ return tonumber(____string) or ____error(("'" .. ____string) .. "' is not a valid representation of a number.")
19
+ end
20
+ _G.string.indexOfLast = function(____string, predicate)
21
+ for i = #____string, 1, -1 do
22
+ if predicate(sub(____string, i, i)) then
23
+ return i - 1
24
+ end
25
+ end
26
+ return -1
27
+ end
28
+ _G.string.isBlank = function(____string)
29
+ return (match(____string, "^%s*$")) ~= nil
30
+ end
31
+ _G.string.isNotBlank = function(____string)
32
+ return (match(____string, "^%s*$")) == nil
33
+ end
34
+ return ____exports