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,400 @@
1
+ --
2
+ -- json.lua
3
+ --
4
+ -- Copyright (c) 2019 rxi
5
+ --
6
+ -- Permission is hereby granted, free of charge, to any person obtaining a copy of
7
+ -- this software and associated documentation files (the "Software"), to deal in
8
+ -- the Software without restriction, including without limitation the rights to
9
+ -- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
10
+ -- of the Software, and to permit persons to whom the Software is furnished to do
11
+ -- so, subject to the following conditions:
12
+ --
13
+ -- The above copyright notice and this permission notice shall be included in all
14
+ -- copies or substantial portions of the Software.
15
+ --
16
+ -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ -- SOFTWARE.
23
+ --
24
+
25
+ local json = { _version = "0.1.2" }
26
+
27
+ -------------------------------------------------------------------------------
28
+ -- Encode
29
+ -------------------------------------------------------------------------------
30
+
31
+ local encode
32
+
33
+ local escape_char_map = {
34
+ [ "\\" ] = "\\\\",
35
+ [ "\"" ] = "\\\"",
36
+ [ "\b" ] = "\\b",
37
+ [ "\f" ] = "\\f",
38
+ [ "\n" ] = "\\n",
39
+ [ "\r" ] = "\\r",
40
+ [ "\t" ] = "\\t",
41
+ }
42
+
43
+ local escape_char_map_inv = { [ "\\/" ] = "/" }
44
+ for k, v in pairs(escape_char_map) do
45
+ escape_char_map_inv[v] = k
46
+ end
47
+
48
+
49
+ local function escape_char(c)
50
+ return escape_char_map[c] or string.format("\\u%04x", c:byte())
51
+ end
52
+
53
+
54
+ local function encode_nil(val)
55
+ return "null"
56
+ end
57
+
58
+
59
+ local function encode_table(val, stack)
60
+ local res = {}
61
+ stack = stack or {}
62
+
63
+ -- Circular reference?
64
+ if stack[val] then error("circular reference") end
65
+
66
+ stack[val] = true
67
+
68
+ if rawget(val, 1) ~= nil or next(val) == nil then
69
+ -- Treat as array -- check keys are valid and it is not sparse
70
+ local n = 0
71
+ for k in pairs(val) do
72
+ if type(k) ~= "number" then
73
+ error("invalid table: mixed or invalid key types")
74
+ end
75
+ n = n + 1
76
+ end
77
+ if n ~= #val then
78
+ error("invalid table: sparse array")
79
+ end
80
+ -- Encode
81
+ for i, v in ipairs(val) do
82
+ table.insert(res, encode(v, stack))
83
+ end
84
+ stack[val] = nil
85
+ return "[" .. table.concat(res, ",") .. "]"
86
+
87
+ else
88
+ -- Treat as an object
89
+ for k, v in pairs(val) do
90
+ if type(k) ~= "string" then
91
+ error("invalid table: mixed or invalid key types")
92
+ end
93
+ table.insert(res, encode(k, stack) .. ":" .. encode(v, stack))
94
+ end
95
+ stack[val] = nil
96
+ return "{" .. table.concat(res, ",") .. "}"
97
+ end
98
+ end
99
+
100
+
101
+ local function encode_string(val)
102
+ return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
103
+ end
104
+
105
+
106
+ local function encode_number(val)
107
+ -- Check for NaN, -inf and inf
108
+ if val ~= val or val <= -math.huge or val >= math.huge then
109
+ error("unexpected number value '" .. tostring(val) .. "'")
110
+ end
111
+ return string.format("%.14g", val)
112
+ end
113
+
114
+
115
+ local type_func_map = {
116
+ [ "nil" ] = encode_nil,
117
+ [ "table" ] = encode_table,
118
+ [ "string" ] = encode_string,
119
+ [ "number" ] = encode_number,
120
+ [ "boolean" ] = tostring,
121
+ }
122
+
123
+
124
+ encode = function(val, stack)
125
+ local t = type(val)
126
+ local f = type_func_map[t]
127
+ if f then
128
+ return f(val, stack)
129
+ end
130
+ error("unexpected type '" .. t .. "'")
131
+ end
132
+
133
+
134
+ function json.encode(val)
135
+ return ( encode(val) )
136
+ end
137
+
138
+
139
+ -------------------------------------------------------------------------------
140
+ -- Decode
141
+ -------------------------------------------------------------------------------
142
+
143
+ local parse
144
+
145
+ local function create_set(...)
146
+ local res = {}
147
+ for i = 1, select("#", ...) do
148
+ res[ select(i, ...) ] = true
149
+ end
150
+ return res
151
+ end
152
+
153
+ local space_chars = create_set(" ", "\t", "\r", "\n")
154
+ local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
155
+ local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
156
+ local literals = create_set("true", "false", "null")
157
+
158
+ local literal_map = {
159
+ [ "true" ] = true,
160
+ [ "false" ] = false,
161
+ [ "null" ] = nil,
162
+ }
163
+
164
+
165
+ local function next_char(str, idx, set, negate)
166
+ for i = idx, #str do
167
+ if set[str:sub(i, i)] ~= negate then
168
+ return i
169
+ end
170
+ end
171
+ return #str + 1
172
+ end
173
+
174
+
175
+ local function decode_error(str, idx, msg)
176
+ local line_count = 1
177
+ local col_count = 1
178
+ for i = 1, idx - 1 do
179
+ col_count = col_count + 1
180
+ if str:sub(i, i) == "\n" then
181
+ line_count = line_count + 1
182
+ col_count = 1
183
+ end
184
+ end
185
+ error( string.format("%s at line %d col %d", msg, line_count, col_count) )
186
+ end
187
+
188
+
189
+ local function codepoint_to_utf8(n)
190
+ -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
191
+ local f = math.floor
192
+ if n <= 0x7f then
193
+ return string.char(n)
194
+ elseif n <= 0x7ff then
195
+ return string.char(f(n / 64) + 192, n % 64 + 128)
196
+ elseif n <= 0xffff then
197
+ return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
198
+ elseif n <= 0x10ffff then
199
+ return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,
200
+ f(n % 4096 / 64) + 128, n % 64 + 128)
201
+ end
202
+ error( string.format("invalid unicode codepoint '%x'", n) )
203
+ end
204
+
205
+
206
+ local function parse_unicode_escape(s)
207
+ local n1 = tonumber( s:sub(3, 6), 16 )
208
+ local n2 = tonumber( s:sub(9, 12), 16 )
209
+ -- Surrogate pair?
210
+ if n2 then
211
+ return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
212
+ else
213
+ return codepoint_to_utf8(n1)
214
+ end
215
+ end
216
+
217
+
218
+ local function parse_string(str, i)
219
+ local has_unicode_escape = false
220
+ local has_surrogate_escape = false
221
+ local has_escape = false
222
+ local last
223
+ for j = i + 1, #str do
224
+ local x = str:byte(j)
225
+
226
+ if x < 32 then
227
+ decode_error(str, j, "control character in string")
228
+ end
229
+
230
+ if last == 92 then -- "\\" (escape char)
231
+ if x == 117 then -- "u" (unicode escape sequence)
232
+ local hex = str:sub(j + 1, j + 5)
233
+ if not hex:find("%x%x%x%x") then
234
+ decode_error(str, j, "invalid unicode escape in string")
235
+ end
236
+ if hex:find("^[dD][89aAbB]") then
237
+ has_surrogate_escape = true
238
+ else
239
+ has_unicode_escape = true
240
+ end
241
+ else
242
+ local c = string.char(x)
243
+ if not escape_chars[c] then
244
+ decode_error(str, j, "invalid escape char '" .. c .. "' in string")
245
+ end
246
+ has_escape = true
247
+ end
248
+ last = nil
249
+
250
+ elseif x == 34 then -- '"' (end of string)
251
+ local s = str:sub(i + 1, j - 1)
252
+ if has_surrogate_escape then
253
+ s = s:gsub("\\u[dD][89aAbB]..\\u....", parse_unicode_escape)
254
+ end
255
+ if has_unicode_escape then
256
+ s = s:gsub("\\u....", parse_unicode_escape)
257
+ end
258
+ if has_escape then
259
+ s = s:gsub("\\.", escape_char_map_inv)
260
+ end
261
+ return s, j + 1
262
+
263
+ else
264
+ last = x
265
+ end
266
+ end
267
+ decode_error(str, i, "expected closing quote for string")
268
+ end
269
+
270
+
271
+ local function parse_number(str, i)
272
+ local x = next_char(str, i, delim_chars)
273
+ local s = str:sub(i, x - 1)
274
+ local n = tonumber(s)
275
+ if not n then
276
+ decode_error(str, i, "invalid number '" .. s .. "'")
277
+ end
278
+ return n, x
279
+ end
280
+
281
+
282
+ local function parse_literal(str, i)
283
+ local x = next_char(str, i, delim_chars)
284
+ local word = str:sub(i, x - 1)
285
+ if not literals[word] then
286
+ decode_error(str, i, "invalid literal '" .. word .. "'")
287
+ end
288
+ return literal_map[word], x
289
+ end
290
+
291
+
292
+ local function parse_array(str, i)
293
+ local res = {}
294
+ local n = 1
295
+ i = i + 1
296
+ while 1 do
297
+ local x
298
+ i = next_char(str, i, space_chars, true)
299
+ -- Empty / end of array?
300
+ if str:sub(i, i) == "]" then
301
+ i = i + 1
302
+ break
303
+ end
304
+ -- Read token
305
+ x, i = parse(str, i)
306
+ res[n] = x
307
+ n = n + 1
308
+ -- Next token
309
+ i = next_char(str, i, space_chars, true)
310
+ local chr = str:sub(i, i)
311
+ i = i + 1
312
+ if chr == "]" then break end
313
+ if chr ~= "," then decode_error(str, i, "expected ']' or ','") end
314
+ end
315
+ return res, i
316
+ end
317
+
318
+
319
+ local function parse_object(str, i)
320
+ local res = {}
321
+ i = i + 1
322
+ while 1 do
323
+ local key, val
324
+ i = next_char(str, i, space_chars, true)
325
+ -- Empty / end of object?
326
+ if str:sub(i, i) == "}" then
327
+ i = i + 1
328
+ break
329
+ end
330
+ -- Read key
331
+ if str:sub(i, i) ~= '"' then
332
+ decode_error(str, i, "expected string for key")
333
+ end
334
+ key, i = parse(str, i)
335
+ -- Read ':' delimiter
336
+ i = next_char(str, i, space_chars, true)
337
+ if str:sub(i, i) ~= ":" then
338
+ decode_error(str, i, "expected ':' after key")
339
+ end
340
+ i = next_char(str, i + 1, space_chars, true)
341
+ -- Read value
342
+ val, i = parse(str, i)
343
+ -- Set
344
+ res[key] = val
345
+ -- Next token
346
+ i = next_char(str, i, space_chars, true)
347
+ local chr = str:sub(i, i)
348
+ i = i + 1
349
+ if chr == "}" then break end
350
+ if chr ~= "," then decode_error(str, i, "expected '}' or ','") end
351
+ end
352
+ return res, i
353
+ end
354
+
355
+
356
+ local char_func_map = {
357
+ [ '"' ] = parse_string,
358
+ [ "0" ] = parse_number,
359
+ [ "1" ] = parse_number,
360
+ [ "2" ] = parse_number,
361
+ [ "3" ] = parse_number,
362
+ [ "4" ] = parse_number,
363
+ [ "5" ] = parse_number,
364
+ [ "6" ] = parse_number,
365
+ [ "7" ] = parse_number,
366
+ [ "8" ] = parse_number,
367
+ [ "9" ] = parse_number,
368
+ [ "-" ] = parse_number,
369
+ [ "t" ] = parse_literal,
370
+ [ "f" ] = parse_literal,
371
+ [ "n" ] = parse_literal,
372
+ [ "[" ] = parse_array,
373
+ [ "{" ] = parse_object,
374
+ }
375
+
376
+
377
+ parse = function(str, idx)
378
+ local chr = str:sub(idx, idx)
379
+ local f = char_func_map[chr]
380
+ if f then
381
+ return f(str, idx)
382
+ end
383
+ decode_error(str, idx, "unexpected character '" .. chr .. "'")
384
+ end
385
+
386
+
387
+ function json.decode(str)
388
+ if type(str) ~= "string" then
389
+ error("expected argument of type string, got " .. type(str))
390
+ end
391
+ local res, idx = parse(str, next_char(str, 1, space_chars, true))
392
+ idx = next_char(str, idx, space_chars, true)
393
+ if idx <= #str then
394
+ decode_error(str, idx, "trailing garbage")
395
+ end
396
+ return res
397
+ end
398
+
399
+
400
+ return json
@@ -0,0 +1,49 @@
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
+ /** @noSelfInFile */
3
+ type IteratorState<T extends AnyNotNil> = {
4
+ t: LuaMap<T, T>;
5
+ n?: T;
6
+ };
7
+ type OneSidedTypeGuard = {
8
+ readonly __oneSidedTypeGuard: unique symbol;
9
+ };
10
+ export interface ReadonlyLinkedSet<T extends AnyNotNil> extends LuaPairsKeyIterable<T> {
11
+ copyOf(): LinkedSet<T>;
12
+ first(): T | undefined;
13
+ last(): T | undefined;
14
+ next(key: T): T | undefined;
15
+ previous(key: T): T | undefined;
16
+ contains(key: AnyNotNil): key is T & OneSidedTypeGuard;
17
+ size: number;
18
+ forEach<Args extends any[]>(action: (value: T, ...args: Args) => void, ...args: Args): void;
19
+ toArray(): T[];
20
+ sumOf(selector: ((value: T) => number) | KeysOfType<T, number>): number;
21
+ }
22
+ export interface LinkedSet<T extends AnyNotNil> extends LuaPairsKeyIterable<T> {
23
+ readonly __linkedSet: unique symbol;
24
+ }
25
+ export declare class LinkedSet<T extends AnyNotNil> implements ReadonlyLinkedSet<T> {
26
+ private n;
27
+ private p;
28
+ private f?;
29
+ private l?;
30
+ private s;
31
+ copyOf(): LinkedSet<T>;
32
+ first(): T | undefined;
33
+ last(): T | undefined;
34
+ next(key: T): T | undefined;
35
+ previous(key: T): T | undefined;
36
+ add(key: T): boolean;
37
+ remove(key: T): boolean;
38
+ contains(key: AnyNotNil): key is T & OneSidedTypeGuard;
39
+ clear(): void;
40
+ get size(): number;
41
+ forEach<Args extends any[]>(action: (value: T, ...args: Args) => void, ...args: Args): void;
42
+ toArray(): T[];
43
+ sumOf(selector: ((value: T) => number) | KeysOfType<T, number>): number;
44
+ sortBy<R>(selector: ((value: T) => R) | KeysOfType<T, R>): void;
45
+ protected __pairs(this: LinkedSet<T>): LuaIterator<T | undefined, IteratorState<T>>;
46
+ }
47
+ export declare const linkedSetOf: <T extends AnyNotNil>(...elements: readonly T[]) => LinkedSet<T>;
48
+ export declare const linkedSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | null | undefined)[]) => LinkedSet<T>;
49
+ export {};
@@ -0,0 +1,181 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__New = ____lualib.__TS__New
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____arrays = require("utility.arrays")
7
+ local sortBy = ____arrays.sortBy
8
+ local function linkedSetNext(state)
9
+ local n = state.n
10
+ state.n = state.t[n]
11
+ return n
12
+ end
13
+ ____exports.LinkedSet = __TS__Class()
14
+ local LinkedSet = ____exports.LinkedSet
15
+ LinkedSet.name = "LinkedSet"
16
+ function LinkedSet.prototype.____constructor(self)
17
+ self.n = {}
18
+ self.p = {}
19
+ self.s = 0
20
+ end
21
+ function LinkedSet.prototype.copyOf(self)
22
+ local copy = __TS__New(____exports.LinkedSet)
23
+ local n = copy.n
24
+ for key, value in pairs(self.n) do
25
+ n[key] = value
26
+ end
27
+ local p = copy.p
28
+ for key, value in pairs(self.p) do
29
+ p[key] = value
30
+ end
31
+ copy.f = self.f
32
+ copy.l = self.l
33
+ copy.s = self.s
34
+ return copy
35
+ end
36
+ function LinkedSet.prototype.first(self)
37
+ return self.f
38
+ end
39
+ function LinkedSet.prototype.last(self)
40
+ return self.l
41
+ end
42
+ function LinkedSet.prototype.next(self, key)
43
+ return self.n[key]
44
+ end
45
+ function LinkedSet.prototype.previous(self, key)
46
+ return self.p[key]
47
+ end
48
+ function LinkedSet.prototype.add(self, key)
49
+ local n = self.n
50
+ if n[key] ~= nil then
51
+ return false
52
+ end
53
+ local l = self.l
54
+ if l == nil then
55
+ self.f = key
56
+ self.l = key
57
+ self.s = 1
58
+ elseif l ~= key then
59
+ n[l] = key
60
+ self.p[key] = l
61
+ self.l = key
62
+ self.s = self.s + 1
63
+ else
64
+ return false
65
+ end
66
+ return true
67
+ end
68
+ function LinkedSet.prototype.remove(self, key)
69
+ local n = self.n
70
+ local next = n[key]
71
+ n[key] = nil
72
+ local p = self.p
73
+ local previous = p[key]
74
+ p[key] = nil
75
+ if next ~= nil and previous ~= nil then
76
+ n[previous] = next
77
+ p[next] = previous
78
+ elseif next ~= nil then
79
+ self.f = next
80
+ p[next] = nil
81
+ elseif previous ~= nil then
82
+ self.l = previous
83
+ n[previous] = nil
84
+ elseif self.l == key then
85
+ self.f = nil
86
+ self.l = nil
87
+ else
88
+ return false
89
+ end
90
+ self.s = self.s - 1
91
+ return true
92
+ end
93
+ function LinkedSet.prototype.contains(self, key)
94
+ return self.n[key] ~= nil or self.l == key
95
+ end
96
+ function LinkedSet.prototype.clear(self)
97
+ self.n = {}
98
+ self.p = {}
99
+ self.f = nil
100
+ self.l = nil
101
+ self.s = 0
102
+ end
103
+ function LinkedSet.prototype.forEach(self, action, ...)
104
+ local n = self.n
105
+ local c = self.f
106
+ while c ~= nil do
107
+ action(c, ...)
108
+ c = n[c]
109
+ end
110
+ end
111
+ function LinkedSet.prototype.toArray(self)
112
+ local array = {}
113
+ local i = 1
114
+ local n = self.n
115
+ local c = self.f
116
+ while c ~= nil do
117
+ array[i] = c
118
+ i = i + 1
119
+ c = n[c]
120
+ end
121
+ return array
122
+ end
123
+ function LinkedSet.prototype.sumOf(self, selector)
124
+ local sum = 0
125
+ local n = self.n
126
+ local c = self.f
127
+ if type(selector) == "function" then
128
+ while c ~= nil do
129
+ sum = sum + selector(c)
130
+ c = n[c]
131
+ end
132
+ else
133
+ while c ~= nil do
134
+ sum = sum + c[selector]
135
+ c = n[c]
136
+ end
137
+ end
138
+ return sum
139
+ end
140
+ function LinkedSet.prototype.sortBy(self, selector)
141
+ local array = self:toArray()
142
+ sortBy(array, selector)
143
+ local n = self.n
144
+ local p = self.p
145
+ local s = self.s
146
+ for i = 1, s do
147
+ n[array[i]] = array[i + 1]
148
+ p[array[i]] = array[i - 2 + 1]
149
+ end
150
+ self.f = array[1]
151
+ self.l = array[s]
152
+ end
153
+ function LinkedSet.prototype.__pairs(self)
154
+ return linkedSetNext, {t = self.n, n = self.f}, nil
155
+ end
156
+ __TS__SetDescriptor(
157
+ LinkedSet.prototype,
158
+ "size",
159
+ {get = function(self)
160
+ return self.s
161
+ end},
162
+ true
163
+ )
164
+ ____exports.linkedSetOf = function(...)
165
+ local linkedSet = __TS__New(____exports.LinkedSet)
166
+ for i = 1, select("#", ...) do
167
+ linkedSet:add((select(i, ...)))
168
+ end
169
+ return linkedSet
170
+ end
171
+ ____exports.linkedSetOfNotNull = function(...)
172
+ local linkedSet = __TS__New(____exports.LinkedSet)
173
+ for i = 1, select("#", ...) do
174
+ local element = (select(i, ...))
175
+ if element ~= nil then
176
+ linkedSet:add(element)
177
+ end
178
+ end
179
+ return linkedSet
180
+ end
181
+ return ____exports
@@ -0,0 +1,6 @@
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
+ /** @noSelfInFile */
3
+ import { Flatten, TupleOf } from "./types";
4
+ export declare const luaMapOf: <K extends AnyNotNil, V>(...pairs: Flatten<TupleOf<[K, V], 0 | 2 | 1 | 22 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 31 | 40 | 30 | 32 | 23 | 24 | 25 | 26 | 28 | 29 | 33 | 34 | 35 | 36 | 37 | 38 | 39>>) => LuaMap<K, V>;
5
+ export declare const luaMapInvert: <K extends AnyNotNil, V extends AnyNotNil>(luaMap: LuaMap<K, V>) => LuaMap<V, K>;
6
+ export declare const mapValues: <K extends AnyNotNil, V1, V2>(luaMap: LuaMap<K, V1>, transform: (value: V1) => V2) => LuaMap<K, V2>;
@@ -0,0 +1,25 @@
1
+ local ____exports = {}
2
+ local select = _G.select
3
+ ____exports.luaMapOf = function(...)
4
+ local luaMap = {}
5
+ for i = 1, select("#", ...), 2 do
6
+ local key, value = select(i, ...)
7
+ luaMap[key] = value
8
+ end
9
+ return luaMap
10
+ end
11
+ ____exports.luaMapInvert = function(luaMap)
12
+ local invertLuaMap = {}
13
+ for key, value in pairs(luaMap) do
14
+ invertLuaMap[value] = key
15
+ end
16
+ return invertLuaMap
17
+ end
18
+ ____exports.mapValues = function(luaMap, transform)
19
+ local result = {}
20
+ for key, value in pairs(luaMap) do
21
+ result[key] = transform(value)
22
+ end
23
+ return result
24
+ end
25
+ return ____exports
@@ -0,0 +1,6 @@
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
+ /** @noSelfInFile */
3
+ export declare const luaSetOf: <T extends AnyNotNil>(...elements: readonly T[]) => LuaSet<T>;
4
+ export declare const luaSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | null | undefined)[]) => LuaSet<T>;
5
+ export declare const luaSetIntersection: <T extends AnyNotNil>(firstLuaSet: ReadonlyLuaSet<T>, secondLuaSet: ReadonlyLuaSet<T>) => LuaSet<T>;
6
+ export declare const luaSetContainsAnyOf: <T extends AnyNotNil>(luaSet: ReadonlyLuaSet<T>, ...elements: readonly T[]) => boolean;
@@ -0,0 +1,37 @@
1
+ local ____exports = {}
2
+ local select = _G.select
3
+ ____exports.luaSetOf = function(...)
4
+ local luaSet = {}
5
+ for i = 1, select("#", ...) do
6
+ luaSet[(select(i, ...))] = true
7
+ end
8
+ return luaSet
9
+ end
10
+ ____exports.luaSetOfNotNull = function(...)
11
+ local luaSet = {}
12
+ for i = 1, select("#", ...) do
13
+ local value = select(i, ...)
14
+ if value ~= nil then
15
+ luaSet[value] = true
16
+ end
17
+ end
18
+ return luaSet
19
+ end
20
+ ____exports.luaSetIntersection = function(firstLuaSet, secondLuaSet)
21
+ local luaSet = {}
22
+ for element in pairs(firstLuaSet) do
23
+ if secondLuaSet[element] ~= nil then
24
+ luaSet[element] = true
25
+ end
26
+ end
27
+ return luaSet
28
+ end
29
+ ____exports.luaSetContainsAnyOf = function(luaSet, ...)
30
+ for i = 1, select("#", ...) do
31
+ if luaSet[(select(i, ...))] ~= nil then
32
+ return true
33
+ end
34
+ end
35
+ return false
36
+ end
37
+ return ____exports
@@ -0,0 +1,2 @@
1
+ export function compress(this: void, input: string): string
2
+ export function decompress(this: void, input: string): string