warscript 0.0.1-dev.1858ab2

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 +86 -0
  377. package/engine/object-field.lua +466 -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 +19 -0
  399. package/exception.lua +57 -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 +372 -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 +50 -0
  475. package/utility/linked-set.lua +197 -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,372 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local ____exports = {}
4
+ local ____exception = require("exception")
5
+ local IllegalArgumentException = ____exception.IllegalArgumentException
6
+ local mathMax = math.max
7
+ local mathMin = math.min
8
+ local select = _G.select
9
+ local tableConcat = table.concat
10
+ local tableSort = table.sort
11
+ local EMPTY_ARRAY = {}
12
+ ____exports.emptyArray = function()
13
+ return EMPTY_ARRAY
14
+ end
15
+ ____exports.joinToString = function(array, separator, transform)
16
+ if transform == nil then
17
+ transform = tostring
18
+ end
19
+ return tableConcat(
20
+ ____exports.map(array, transform),
21
+ separator
22
+ )
23
+ end
24
+ ____exports.arrayOfNotNull = function(...)
25
+ local array = {}
26
+ local j = 1
27
+ for i = 1, select("#", ...) do
28
+ local value = select(i, ...)
29
+ if value ~= nil then
30
+ array[j] = value
31
+ j = j + 1
32
+ end
33
+ end
34
+ return array
35
+ end
36
+ ____exports.array = function(length, initialize)
37
+ local result = {}
38
+ for i = 1, length do
39
+ result[i] = initialize(i - 1)
40
+ end
41
+ return result
42
+ end
43
+ ____exports.toLuaSet = function(array)
44
+ local result = {}
45
+ for i = 1, #array do
46
+ result[array[i]] = true
47
+ end
48
+ return result
49
+ end
50
+ ____exports.forEach = function(array, consumerOrKey, ...)
51
+ if type(consumerOrKey) == "function" then
52
+ for i = 1, #array do
53
+ consumerOrKey(array[i], ...)
54
+ end
55
+ else
56
+ for i = 1, #array do
57
+ local ____self_0 = array[i]
58
+ ____self_0[consumerOrKey](____self_0, ...)
59
+ end
60
+ end
61
+ end
62
+ ____exports.all = function(array, transform)
63
+ local result = true
64
+ if type(transform) == "function" then
65
+ for i = 1, #array do
66
+ result = result and transform(array[i])
67
+ end
68
+ else
69
+ for i = 1, #array do
70
+ result = result and array[i][transform]
71
+ end
72
+ end
73
+ return result
74
+ end
75
+ ____exports.map = function(array, transform)
76
+ local result = {}
77
+ if type(transform) == "function" then
78
+ for i = 1, #array do
79
+ result[i] = transform(array[i])
80
+ end
81
+ else
82
+ for i = 1, #array do
83
+ result[i] = array[i][transform]
84
+ end
85
+ end
86
+ return result
87
+ end
88
+ ____exports.mapNotNull = function(array, transform)
89
+ local result = {}
90
+ local j = 1
91
+ if type(transform) == "function" then
92
+ for i = 1, #array do
93
+ local value = transform(array[i])
94
+ if value ~= nil then
95
+ result[j] = value
96
+ j = j + 1
97
+ end
98
+ end
99
+ else
100
+ for i = 1, #array do
101
+ local value = array[i][transform]
102
+ if value ~= nil then
103
+ result[j] = value
104
+ j = j + 1
105
+ end
106
+ end
107
+ end
108
+ return result
109
+ end
110
+ ____exports.mapToLuaSet = function(array, transform)
111
+ local result = {}
112
+ if type(transform) == "function" then
113
+ for i = 1, #array do
114
+ result[transform(array[i])] = true
115
+ end
116
+ else
117
+ for i = 1, #array do
118
+ result[array[i][transform]] = true
119
+ end
120
+ end
121
+ return result
122
+ end
123
+ ____exports.flatMap = function(array, transform)
124
+ local result = {}
125
+ local k = 1
126
+ if type(transform) == "function" then
127
+ for i = 1, #array do
128
+ local values = transform(array[i])
129
+ for j = 1, #values do
130
+ result[k] = values[j]
131
+ k = k + 1
132
+ end
133
+ end
134
+ else
135
+ for i = 1, #array do
136
+ local values = array[i][transform]
137
+ for j = 1, #values do
138
+ result[k] = values[j]
139
+ k = k + 1
140
+ end
141
+ end
142
+ end
143
+ return result
144
+ end
145
+ ____exports.flatMapToLuaSet = function(array, transform)
146
+ local result = {}
147
+ if type(transform) == "function" then
148
+ for i = 1, #array do
149
+ local values = transform(array[i])
150
+ for j = 1, #values do
151
+ result[values[j]] = true
152
+ end
153
+ end
154
+ else
155
+ for i = 1, #array do
156
+ local values = array[i][transform]
157
+ for j = 1, #values do
158
+ result[values[j]] = true
159
+ end
160
+ end
161
+ end
162
+ return result
163
+ end
164
+ ____exports.mapIndexed = function(array, transform)
165
+ local result = {}
166
+ for i = 1, #array do
167
+ result[i] = transform(i - 1, array[i])
168
+ end
169
+ return result
170
+ end
171
+ ____exports.associate = function(array, keySelector, valueSelector)
172
+ local result = {}
173
+ for i = 1, #array do
174
+ local element = array[i]
175
+ result[keySelector(element)] = valueSelector(element)
176
+ end
177
+ return result
178
+ end
179
+ ____exports.associateBy = function(array, keySelector)
180
+ local result = {}
181
+ for i = 1, #array do
182
+ local value = array[i]
183
+ result[keySelector(value)] = value
184
+ end
185
+ return result
186
+ end
187
+ ____exports.associateByIndexed = function(array, keySelector)
188
+ local result = {}
189
+ for i = 1, #array do
190
+ local value = array[i]
191
+ result[keySelector(i - 1, value)] = value
192
+ end
193
+ return result
194
+ end
195
+ ____exports.associateWith = function(array, valueSelector)
196
+ local result = {}
197
+ for i = 1, #array do
198
+ local value = array[i]
199
+ result[value] = valueSelector(value)
200
+ end
201
+ return result
202
+ end
203
+ ____exports.associateWithIndexed = function(array, valueSelector)
204
+ local result = {}
205
+ for i = 1, #array do
206
+ local value = array[i]
207
+ result[value] = valueSelector(i - 1, value)
208
+ end
209
+ return result
210
+ end
211
+ ____exports.filter = function(array, predicate)
212
+ local result = {}
213
+ local j = 1
214
+ for i = 1, #array do
215
+ local value = array[i]
216
+ if predicate(value) then
217
+ result[j] = value
218
+ j = j + 1
219
+ end
220
+ end
221
+ return result
222
+ end
223
+ ____exports.average = function(array)
224
+ local sum = 0
225
+ local count = #array
226
+ for i = 1, count do
227
+ sum = sum + array[i]
228
+ end
229
+ return count == 0 and 0 / 0 or sum / count
230
+ end
231
+ ____exports.sum = function(array)
232
+ local sum = 0
233
+ for i = 1, #array do
234
+ sum = sum + array[i]
235
+ end
236
+ return sum
237
+ end
238
+ ____exports.product = function(array)
239
+ local product = 1
240
+ for i = 1, #array do
241
+ product = product * array[i]
242
+ end
243
+ return product
244
+ end
245
+ ____exports.max = function(array)
246
+ if #array == 0 then
247
+ error(
248
+ __TS__New(IllegalArgumentException),
249
+ 0
250
+ )
251
+ end
252
+ return mathMax(table.unpack(array))
253
+ end
254
+ ____exports.intersperse = function(array, delimiter)
255
+ local result = {}
256
+ local length = #array
257
+ for i = 1, length - 1 do
258
+ result[i + i - 1] = array[i]
259
+ result[i + i] = delimiter
260
+ end
261
+ result[length + length - 1] = array[length]
262
+ return result
263
+ end
264
+ ____exports.zip = function(array, otherArray, transform)
265
+ local result = {}
266
+ for i = 1, mathMin(#array, #otherArray) do
267
+ result[i] = transform(array[i], otherArray[i])
268
+ end
269
+ return result
270
+ end
271
+ ____exports.chunked = function(array, size)
272
+ if size <= 0 then
273
+ error(
274
+ __TS__New(
275
+ IllegalArgumentException,
276
+ ("Size " .. tostring(size)) .. " must be greater than zero."
277
+ ),
278
+ 0
279
+ )
280
+ end
281
+ local chunks = {}
282
+ local chunkCount = 0
283
+ local chunk = {}
284
+ local chunkSize = 0
285
+ for i = 1, #array do
286
+ chunkSize = chunkSize + 1
287
+ chunk[chunkSize] = array[i]
288
+ if chunkSize >= size then
289
+ chunkCount = chunkCount + 1
290
+ chunks[chunkCount] = chunk
291
+ chunk = {}
292
+ chunkSize = 0
293
+ end
294
+ end
295
+ if chunkSize ~= 0 then
296
+ chunks[chunkCount + 1] = chunk
297
+ end
298
+ return chunks
299
+ end
300
+ local comparePropertyKey
301
+ local function compareByProperty(a, b)
302
+ return a[comparePropertyKey] < b[comparePropertyKey]
303
+ end
304
+ local compareSelector
305
+ local function compareBySelector(a, b)
306
+ return compareSelector(a) < compareSelector(b)
307
+ end
308
+ ____exports.sortBy = function(array, selector)
309
+ if type(selector) == "function" then
310
+ compareSelector = selector
311
+ tableSort(array, compareBySelector)
312
+ else
313
+ comparePropertyKey = selector
314
+ tableSort(array, compareByProperty)
315
+ end
316
+ end
317
+ ____exports.sortedBy = function(array, selector)
318
+ local sortedArray = {table.unpack(array)}
319
+ if type(selector) == "function" then
320
+ compareSelector = selector
321
+ tableSort(sortedArray, compareBySelector)
322
+ else
323
+ comparePropertyKey = selector
324
+ tableSort(sortedArray, compareByProperty)
325
+ end
326
+ return sortedArray
327
+ end
328
+ ____exports.partition = function(array, predicate)
329
+ local first = {}
330
+ local firstLength = 0
331
+ local second = {}
332
+ local secondLength = 0
333
+ if type(predicate) == "function" then
334
+ for i = 1, #array do
335
+ local value = array[i]
336
+ if predicate(value) then
337
+ firstLength = firstLength + 1
338
+ first[firstLength] = value
339
+ else
340
+ secondLength = secondLength + 1
341
+ second[secondLength] = value
342
+ end
343
+ end
344
+ else
345
+ for i = 1, #array do
346
+ local value = array[i]
347
+ if value[predicate] then
348
+ firstLength = firstLength + 1
349
+ first[firstLength] = value
350
+ else
351
+ secondLength = secondLength + 1
352
+ second[secondLength] = value
353
+ end
354
+ end
355
+ end
356
+ return first, second
357
+ end
358
+ ____exports.distinct = function(array)
359
+ local result = {}
360
+ local j = 1
361
+ local luaSet = {}
362
+ for i = 1, #array do
363
+ local element = array[i]
364
+ if not (luaSet[element] ~= nil) then
365
+ luaSet[element] = true
366
+ result[j] = element
367
+ j = j + 1
368
+ end
369
+ end
370
+ return result
371
+ end
372
+ return ____exports
@@ -0,0 +1,23 @@
1
+ interface Base64Encoder {
2
+ readonly __base64Encoder: unique symbol
3
+ }
4
+
5
+ interface Base64Decoder {
6
+ readonly __base64Decoder: unique symbol
7
+ }
8
+
9
+ export function makeencoder(this: void, s62: string, s63: string, padding: string): Base64Encoder
10
+ export function makedecoder(this: void, s62: string, s63: string, padding: string): Base64Decoder
11
+
12
+ export function encode(
13
+ this: void,
14
+ raw: string,
15
+ encoder?: Base64Encoder,
16
+ useCaching?: boolean
17
+ ): string
18
+ export function decode(
19
+ this: void,
20
+ encoded: string,
21
+ decoder?: Base64Decoder,
22
+ useCaching?: boolean
23
+ ): string
@@ -0,0 +1,177 @@
1
+ --[[
2
+
3
+ base64 -- v1.5.1 public domain Lua base64 encoder/decoder
4
+ no warranty implied; use at your own risk
5
+
6
+ Needs bit32.extract function. If not present it's implemented using BitOp
7
+ or Lua 5.3 native bit operators. For Lua 5.1 fallbacks to pure Lua
8
+ implementation inspired by Rici Lake's post:
9
+ http://ricilake.blogspot.co.uk/2007/10/iterating-bits-in-lua.html
10
+
11
+ author: Ilya Kolbin (iskolbin@gmail.com)
12
+ url: github.com/iskolbin/lbase64
13
+
14
+ COMPATIBILITY
15
+
16
+ Lua 5.1, 5.2, 5.3, LuaJIT
17
+
18
+ LICENSE
19
+
20
+ See end of file for license information.
21
+
22
+ --]]
23
+
24
+
25
+ local base64 = {}
26
+
27
+ local function extract( v, from, width )
28
+ return ( v >> from ) & ((1 << width) - 1)
29
+ end
30
+
31
+ function base64.makeencoder( s62, s63, spad )
32
+ local encoder = {}
33
+ for b64code, char in pairs{[0]='A','B','C','D','E','F','G','H','I','J',
34
+ 'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y',
35
+ 'Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n',
36
+ 'o','p','q','r','s','t','u','v','w','x','y','z','0','1','2',
37
+ '3','4','5','6','7','8','9',s62 or '+',s63 or'/',spad or'='} do
38
+ encoder[b64code] = char:byte()
39
+ end
40
+ return encoder
41
+ end
42
+
43
+ function base64.makedecoder( s62, s63, spad )
44
+ local decoder = {}
45
+ for b64code, charcode in pairs( base64.makeencoder( s62, s63, spad )) do
46
+ decoder[charcode] = b64code
47
+ end
48
+ return decoder
49
+ end
50
+
51
+ local DEFAULT_ENCODER = base64.makeencoder()
52
+ local DEFAULT_DECODER = base64.makedecoder()
53
+
54
+ local char, concat = string.char, table.concat
55
+
56
+ function base64.encode( str, encoder, usecaching )
57
+ encoder = encoder or DEFAULT_ENCODER
58
+ local t, k, n = {}, 1, #str
59
+ local lastn = n % 3
60
+ local cache = {}
61
+ for i = 1, n-lastn, 3 do
62
+ local a, b, c = str:byte( i, i+2 )
63
+ local v = a*0x10000 + b*0x100 + c
64
+ local s
65
+ if usecaching then
66
+ s = cache[v]
67
+ if not s then
68
+ s = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[extract(v,0,6)])
69
+ cache[v] = s
70
+ end
71
+ else
72
+ s = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[extract(v,0,6)])
73
+ end
74
+ t[k] = s
75
+ k = k + 1
76
+ end
77
+ if lastn == 2 then
78
+ local a, b = str:byte( n-1, n )
79
+ local v = a*0x10000 + b*0x100
80
+ t[k] = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[64])
81
+ elseif lastn == 1 then
82
+ local v = str:byte( n )*0x10000
83
+ t[k] = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[64], encoder[64])
84
+ end
85
+ return concat( t )
86
+ end
87
+
88
+ function base64.decode( b64, decoder, usecaching )
89
+ decoder = decoder or DEFAULT_DECODER
90
+ local pattern = '[^%w%+%/%=]'
91
+ if decoder then
92
+ local s62, s63
93
+ for charcode, b64code in pairs( decoder ) do
94
+ if b64code == 62 then s62 = charcode
95
+ elseif b64code == 63 then s63 = charcode
96
+ end
97
+ end
98
+ pattern = ('[^%%w%%%s%%%s%%=]'):format( char(s62), char(s63) )
99
+ end
100
+ b64 = b64:gsub( pattern, '' )
101
+ local cache = usecaching and {}
102
+ local t, k = {}, 1
103
+ local n = #b64
104
+ local padding = b64:sub(-2) == '==' and 2 or b64:sub(-1) == '=' and 1 or 0
105
+ for i = 1, padding > 0 and n-4 or n, 4 do
106
+ local a, b, c, d = b64:byte( i, i+3 )
107
+ local s
108
+ if usecaching then
109
+ local v0 = a*0x1000000 + b*0x10000 + c*0x100 + d
110
+ s = cache[v0]
111
+ if not s then
112
+ local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d]
113
+ s = char( extract(v,16,8), extract(v,8,8), extract(v,0,8))
114
+ cache[v0] = s
115
+ end
116
+ else
117
+ local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d]
118
+ s = char( extract(v,16,8), extract(v,8,8), extract(v,0,8))
119
+ end
120
+ t[k] = s
121
+ k = k + 1
122
+ end
123
+ if padding == 1 then
124
+ local a, b, c = b64:byte( n-3, n-1 )
125
+ local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40
126
+ t[k] = char( extract(v,16,8), extract(v,8,8))
127
+ elseif padding == 2 then
128
+ local a, b = b64:byte( n-3, n-2 )
129
+ local v = decoder[a]*0x40000 + decoder[b]*0x1000
130
+ t[k] = char( extract(v,16,8))
131
+ end
132
+ return concat( t )
133
+ end
134
+
135
+ return base64
136
+
137
+ --[[
138
+ ------------------------------------------------------------------------------
139
+ This software is available under 2 licenses -- choose whichever you prefer.
140
+ ------------------------------------------------------------------------------
141
+ ALTERNATIVE A - MIT License
142
+ Copyright (c) 2018 Ilya Kolbin
143
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
144
+ this software and associated documentation files (the "Software"), to deal in
145
+ the Software without restriction, including without limitation the rights to
146
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
147
+ of the Software, and to permit persons to whom the Software is furnished to do
148
+ so, subject to the following conditions:
149
+ The above copyright notice and this permission notice shall be included in all
150
+ copies or substantial portions of the Software.
151
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
152
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
153
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
154
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
155
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
156
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
157
+ SOFTWARE.
158
+ ------------------------------------------------------------------------------
159
+ ALTERNATIVE B - Public Domain (www.unlicense.org)
160
+ This is free and unencumbered software released into the public domain.
161
+ Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
162
+ software, either in source code form or as a compiled binary, for any purpose,
163
+ commercial or non-commercial, and by any means.
164
+ In jurisdictions that recognize copyright laws, the author or authors of this
165
+ software dedicate any and all copyright interest in the software to the public
166
+ domain. We make this dedication for the benefit of the public at large and to
167
+ the detriment of our heirs and successors. We intend this dedication to be an
168
+ overt act of relinquishment in perpetuity of all present and future rights to
169
+ this software under copyright law.
170
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
171
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
172
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
173
+ AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
174
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
175
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
176
+ ------------------------------------------------------------------------------
177
+ --]]
@@ -0,0 +1,18 @@
1
+ /// <reference types="@warscript/language-extensions" />
2
+ /// <reference types="@typescript-to-lua/language-extensions" />
3
+ /** @noSelfInFile */
4
+ interface IBitSet<T extends number> {
5
+ readonly has: LuaBitwiseAndEqualsRightMethod<T>;
6
+ readonly hasAny: LuaBitwiseAndUnequalsZeroMethod<this>;
7
+ readonly intersect: LuaBitwiseAndMethod<this, this>;
8
+ readonly union: LuaBitwiseOrMethod<this, this>;
9
+ readonly with: LuaBitwiseOrMethod<T, this>;
10
+ readonly without: LuaBitwiseAndNotMethod<T, this>;
11
+ }
12
+ /**
13
+ * Typically, T should be a const enum, with each value being a power of two.
14
+ */
15
+ export type BitSet<T extends number> = number & IBitSet<T>;
16
+ export declare const emptyBitSet: <T extends number>() => BitSet<T>;
17
+ export declare const bitSetOf: <T extends number>(...elements: T[]) => BitSet<T>;
18
+ export {};
@@ -0,0 +1,12 @@
1
+ local ____exports = {}
2
+ ____exports.emptyBitSet = function()
3
+ return 0
4
+ end
5
+ ____exports.bitSetOf = function(...)
6
+ local bitSet = 0
7
+ for i = 1, select("#", ...) do
8
+ bitSet = bitSet | (select(i, ...))
9
+ end
10
+ return bitSet
11
+ end
12
+ return ____exports
@@ -0,0 +1,5 @@
1
+ /** @noSelfInFile */
2
+ export declare const apply: {
3
+ <T, ConsumerParameters extends any[]>(object: T, consumer: (value: T, ...parameters: ConsumerParameters) => void, ...parameters: ConsumerParameters): T;
4
+ <T, ConsumerParameters extends any[], K extends KeysOfType<T, (...parameters: ConsumerParameters) => void>>(object: T, key: K, ...parameters: ConsumerParameters): T;
5
+ };
@@ -0,0 +1,90 @@
1
+ local ____exports = {}
2
+ ---
3
+ -- @internal An ugly function for use by internal systems only.
4
+ ____exports.forward3 = function(func, that, arg0, arg1, arg2, ...)
5
+ return func(that, arg0, arg1, arg2)
6
+ end
7
+ ---
8
+ -- @internal An ugly function for use by internal systems only.
9
+ ____exports.forward4 = function(func, that, arg0, arg1, arg2, arg3, ...)
10
+ return func(
11
+ that,
12
+ arg0,
13
+ arg1,
14
+ arg2,
15
+ arg3
16
+ )
17
+ end
18
+ ---
19
+ -- @internal An ugly function for use by internal systems only.
20
+ ____exports.forward5 = function(func, that, arg0, arg1, arg2, arg3, arg4, ...)
21
+ return func(
22
+ that,
23
+ arg0,
24
+ arg1,
25
+ arg2,
26
+ arg3,
27
+ arg4
28
+ )
29
+ end
30
+ ---
31
+ -- @internal An ugly function for use by internal systems only.
32
+ ____exports.forward6 = function(func, that, arg0, arg1, arg2, arg3, arg4, arg5, ...)
33
+ return func(
34
+ that,
35
+ arg0,
36
+ arg1,
37
+ arg2,
38
+ arg3,
39
+ arg4,
40
+ arg5
41
+ )
42
+ end
43
+ ---
44
+ -- @internal An ugly function for use by internal systems only.
45
+ ____exports.forward7 = function(func, that, arg0, arg1, arg2, arg3, arg4, arg5, arg6, ...)
46
+ return func(
47
+ that,
48
+ arg0,
49
+ arg1,
50
+ arg2,
51
+ arg3,
52
+ arg4,
53
+ arg5,
54
+ arg6
55
+ )
56
+ end
57
+ ---
58
+ -- @internal An ugly function for use by internal systems only.
59
+ ____exports.forward8 = function(func, that, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ...)
60
+ return func(
61
+ that,
62
+ arg0,
63
+ arg1,
64
+ arg2,
65
+ arg3,
66
+ arg4,
67
+ arg5,
68
+ arg6,
69
+ arg7
70
+ )
71
+ end
72
+ ---
73
+ -- @internal An ugly thing for use by internal systems only.
74
+ ____exports.forwardByN = {
75
+ [3] = ____exports.forward3,
76
+ [4] = ____exports.forward4,
77
+ [5] = ____exports.forward5,
78
+ [6] = ____exports.forward6,
79
+ [7] = ____exports.forward7,
80
+ [8] = ____exports.forward8
81
+ }
82
+ ____exports.apply = function(object, transform, ...)
83
+ if type(transform) == "function" then
84
+ transform(object, ...)
85
+ else
86
+ object[transform](object, ...)
87
+ end
88
+ return object
89
+ end
90
+ return ____exports
@@ -0,0 +1,2 @@
1
+ export function encode(this: void, value: any): string
2
+ export function decode(this: void, input: string): any