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,97 @@
1
+ /** @noSelfInFile */
2
+ import { BinaryReader } from "../binaryreader";
3
+ import { BinaryWriter } from "../binarywriter";
4
+ /**
5
+ * A day-of-week, such as 'Tuesday'.
6
+ * <p>
7
+ * {@code DayOfWeek} is a class representing the 7 days of the week -
8
+ * Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday.
9
+ * <p>
10
+ * This class represents a common concept that is found in many calendar systems.
11
+ * As such, this class may be used by any calendar system that has the day-of-week
12
+ * concept defined exactly equivalent to the ISO calendar system.
13
+ */
14
+ export declare class DayOfWeek {
15
+ readonly value: number;
16
+ /**
17
+ * The singleton instance for the day-of-week of Monday.
18
+ * This has the numeric value of {@code 1}.
19
+ */
20
+ static readonly MONDAY: DayOfWeek;
21
+ /**
22
+ * The singleton instance for the day-of-week of Tuesday.
23
+ * This has the numeric value of {@code 2}.
24
+ */
25
+ static readonly TUESDAY: DayOfWeek;
26
+ /**
27
+ * The singleton instance for the day-of-week of Wednesday.
28
+ * This has the numeric value of {@code 3}.
29
+ */
30
+ static readonly WEDNESDAY: DayOfWeek;
31
+ /**
32
+ * The singleton instance for the day-of-week of Thursday.
33
+ * This has the numeric value of {@code 4}.
34
+ */
35
+ static readonly THURSDAY: DayOfWeek;
36
+ /**
37
+ * The singleton instance for the day-of-week of Friday.
38
+ * This has the numeric value of {@code 5}.
39
+ */
40
+ static readonly FRIDAY: DayOfWeek;
41
+ /**
42
+ * The singleton instance for the day-of-week of Saturday.
43
+ * This has the numeric value of {@code 6}.
44
+ */
45
+ static readonly SATURDAY: DayOfWeek;
46
+ /**
47
+ * The singleton instance for the day-of-week of Sunday.
48
+ * This has the numeric value of {@code 7}.
49
+ */
50
+ static readonly SUNDAY: DayOfWeek;
51
+ private constructor();
52
+ /**
53
+ * Obtains an instance of {@code DayOfWeek} from an {@code int} value.
54
+ * <p>
55
+ * {@code DayOfWeek} is a class representing the 7 days of the week.
56
+ * This factory allows the class to be obtained from the {@code int} value.
57
+ * The {@code int} value follows the ISO-8601 standard, from 1 (Monday) to 7 (Sunday).
58
+ *
59
+ * @param dayOfWeek the day-of-week to represent, from 1 (Monday) to 7 (Sunday)
60
+ * @return the day-of-week singleton
61
+ */
62
+ static of(dayOfWeek: number): DayOfWeek;
63
+ static deserialize(reader: BinaryReader): DayOfWeek;
64
+ serialize(writer: BinaryWriter): void;
65
+ /**
66
+ * Returns the day-of-week that is the specified number of days after this one.
67
+ * <p>
68
+ * The calculation rolls around the end of the week from Sunday to Monday.
69
+ * The specified period may be negative.
70
+ * <p>
71
+ * This instance is immutable and unaffected by this method call.
72
+ *
73
+ * @param days the days to add, positive or negative
74
+ * @return the resulting day-of-week
75
+ */
76
+ plus(days: number): DayOfWeek;
77
+ /**
78
+ * Returns the day-of-week that is the specified number of days before this one.
79
+ * <p>
80
+ * The calculation rolls around the start of the year from Monday to Sunday.
81
+ * The specified period may be negative.
82
+ * <p>
83
+ * This instance is immutable and unaffected by this method call.
84
+ *
85
+ * @param days the days to subtract, positive or negative
86
+ * @return the resulting day-of-week
87
+ */
88
+ minus(days: number): DayOfWeek;
89
+ /**
90
+ * Outputs this day-of-week as a {@code string}.
91
+ *
92
+ * @return a string representation of this day-of-week
93
+ */
94
+ toString(): string;
95
+ private __lt;
96
+ private __le;
97
+ }
@@ -0,0 +1,53 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__New = ____lualib.__TS__New
4
+ local ____exports = {}
5
+ local cache = setmetatable({}, {__mode = "v"})
6
+ --- A day-of-week, such as 'Tuesday'.
7
+ -- <p>
8
+ -- {@code DayOfWeek} is a class representing the 7 days of the week -
9
+ -- Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday.
10
+ -- <p>
11
+ -- This class represents a common concept that is found in many calendar systems.
12
+ -- As such, this class may be used by any calendar system that has the day-of-week
13
+ -- concept defined exactly equivalent to the ISO calendar system.
14
+ ____exports.DayOfWeek = __TS__Class()
15
+ local DayOfWeek = ____exports.DayOfWeek
16
+ DayOfWeek.name = "DayOfWeek"
17
+ function DayOfWeek.prototype.____constructor(self, value)
18
+ self.value = value
19
+ assert(math.type(value) == "integer" and value >= 1 and value <= 7)
20
+ cache[value] = self
21
+ end
22
+ function DayOfWeek.of(self, dayOfWeek)
23
+ return cache[dayOfWeek] or __TS__New(____exports.DayOfWeek, dayOfWeek)
24
+ end
25
+ function DayOfWeek.deserialize(self, reader)
26
+ return ____exports.DayOfWeek:of(reader:readUInt8())
27
+ end
28
+ function DayOfWeek.prototype.serialize(self, writer)
29
+ writer:writeUInt8(self.value)
30
+ end
31
+ function DayOfWeek.prototype.plus(self, days)
32
+ return ____exports.DayOfWeek:of((self.value - 1 + (days % 7 + 7)) % 7 + 1)
33
+ end
34
+ function DayOfWeek.prototype.minus(self, days)
35
+ return self:plus(-(days % 7))
36
+ end
37
+ function DayOfWeek.prototype.__tostring(self)
38
+ return tostring(self.value)
39
+ end
40
+ function DayOfWeek.prototype.__lt(self, other)
41
+ return self.value < other.value
42
+ end
43
+ function DayOfWeek.prototype.__le(self, other)
44
+ return self.value <= other.value
45
+ end
46
+ DayOfWeek.MONDAY = ____exports.DayOfWeek:of(1)
47
+ DayOfWeek.TUESDAY = ____exports.DayOfWeek:of(2)
48
+ DayOfWeek.WEDNESDAY = ____exports.DayOfWeek:of(3)
49
+ DayOfWeek.THURSDAY = ____exports.DayOfWeek:of(4)
50
+ DayOfWeek.FRIDAY = ____exports.DayOfWeek:of(5)
51
+ DayOfWeek.SATURDAY = ____exports.DayOfWeek:of(6)
52
+ DayOfWeek.SUNDAY = ____exports.DayOfWeek:of(7)
53
+ return ____exports
@@ -0,0 +1,145 @@
1
+ /** @noSelfInFile */
2
+ import { DayOfWeek } from "./dayOfWeek";
3
+ import { Month } from "./month";
4
+ export declare class LocalDate {
5
+ readonly year: number;
6
+ readonly month: Month;
7
+ readonly dayOfMonth: number;
8
+ private readonly key;
9
+ private constructor();
10
+ static now(): LocalDate;
11
+ static of(year: number, month: number | Month, day: number): LocalDate;
12
+ /**
13
+ * Obtains an instance of {@code LocalDate} from the epoch day count.
14
+ * <p>
15
+ * This returns a {@code LocalDate} with the specified epoch-day.
16
+ * The epoch-day is a simple incrementing count
17
+ * of days where day 0 is 1970-01-01. Negative numbers represent earlier days.
18
+ *
19
+ * @param epochDay the Epoch Day to convert, based on the epoch 1970-01-01
20
+ * @return the local date
21
+ */
22
+ private static ofEpochDay;
23
+ /**
24
+ * Resolves the date, resolving days past the end of month.
25
+ *
26
+ * @param year the year to represent, validated from MIN_YEAR to MAX_YEAR
27
+ * @param month the month-of-year to represent, validated from 1 to 12
28
+ * @param day the day-of-month to represent, validated from 1 to 31
29
+ * @return the resolved date
30
+ */
31
+ private static resolvePreviousValid;
32
+ /**
33
+ * Gets the day-of-year field.
34
+ * <p>
35
+ * This method returns the primitive {@code int} value for the day-of-year.
36
+ *
37
+ * @return the day-of-year, from 1 to 365, or 366 in a leap year
38
+ */
39
+ get dayOfYear(): number;
40
+ /**
41
+ * Gets the day-of-week field, which is a class {@code DayOfWeek}.
42
+ * <p>
43
+ * This method returns the class {@link DayOfWeek} for the day-of-week.
44
+ *
45
+ * @return the day-of-week
46
+ */
47
+ get dayOfWeek(): DayOfWeek;
48
+ /**
49
+ * Checks if the year is a leap year, according to the ISO proleptic
50
+ * calendar system rules.
51
+ * <p>
52
+ * This method applies the current rules for leap years across the whole time-line.
53
+ * In general, a year is a leap year if it is divisible by four without
54
+ * remainder. However, years divisible by 100, are not leap years, with
55
+ * the exception of years divisible by 400 which are.
56
+ * <p>
57
+ * For example, 1904 is a leap year it is divisible by 4.
58
+ * 1900 was not a leap year as it is divisible by 100, however 2000 was a
59
+ * leap year as it is divisible by 400.
60
+ * <p>
61
+ * The calculation is proleptic - applying the same rules into the far future and far past.
62
+ * This is historically inaccurate, but is correct for the ISO-8601 standard.
63
+ *
64
+ * @return true if the year is leap, false otherwise
65
+ */
66
+ get isLeapYear(): boolean;
67
+ /**
68
+ * Returns the length of the month represented by this date.
69
+ * <p>
70
+ * This returns the length of the month in days.
71
+ * For example, a date in January would return 31.
72
+ *
73
+ * @return the length of the month in days
74
+ */
75
+ get lengthOfMonth(): number;
76
+ /**
77
+ * Returns the length of the year represented by this date.
78
+ * <p>
79
+ * This returns the length of the year in days, either 365 or 366.
80
+ *
81
+ * @return 366 if the year is leap, 365 otherwise
82
+ */
83
+ get lengthOfYear(): number;
84
+ /**
85
+ * Returns a copy of this {@code LocalDate} with the specified number of months added.
86
+ * <p>
87
+ * This method adds the specified amount to the months field in three steps:
88
+ * <ol>
89
+ * <li>Add the input months to the month-of-year field</li>
90
+ * <li>Check if the resulting date would be invalid</li>
91
+ * <li>Adjust the day-of-month to the last valid day if necessary</li>
92
+ * </ol>
93
+ * <p>
94
+ * For example, 2007-03-31 plus one month would result in the invalid date
95
+ * 2007-04-31. Instead of returning an invalid result, the last valid day
96
+ * of the month, 2007-04-30, is selected instead.
97
+ * <p>
98
+ * This instance is immutable and unaffected by this method call.
99
+ *
100
+ * @param monthsToAdd the months to add, may be negative
101
+ * @return a {@code LocalDate} based on this date with the months added, not null
102
+ */
103
+ plusMonths(monthsToAdd: number): LocalDate;
104
+ /**
105
+ * Returns a copy of this {@code LocalDate} with the specified number of weeks added.
106
+ * <p>
107
+ * This method adds the specified amount in weeks to the days field incrementing
108
+ * the month and year fields as necessary to ensure the result remains valid.
109
+ * The result is only invalid if the maximum/minimum year is exceeded.
110
+ * <p>
111
+ * For example, 2008-12-31 plus one week would result in 2009-01-07.
112
+ * <p>
113
+ * This instance is immutable and unaffected by this method call.
114
+ *
115
+ * @param weeksToAdd the weeks to add, may be negative
116
+ * @return a {@code LocalDate} based on this date with the weeks added
117
+ */
118
+ plusWeeks(weeksToAdd: number): LocalDate;
119
+ /**
120
+ * Returns a copy of this {@code LocalDate} with the specified number of days added.
121
+ * <p>
122
+ * This method adds the specified amount to the days field incrementing the
123
+ * month and year fields as necessary to ensure the result remains valid.
124
+ * The result is only invalid if the maximum/minimum year is exceeded.
125
+ * <p>
126
+ * For example, 2008-12-31 plus one day would result in 2009-01-01.
127
+ * <p>
128
+ * This instance is immutable and unaffected by this method call.
129
+ *
130
+ * @param daysToAdd the days to add, may be negative
131
+ * @return a {@code LocalDate} based on this date with the days added
132
+ */
133
+ plusDays(daysToAdd: number): LocalDate;
134
+ private toEpochDay;
135
+ /**
136
+ * Outputs this date as a {@code String}, such as {@code 2007-12-03}.
137
+ * <p>
138
+ * The output will be in the ISO-8601 format {@code uuuu-MM-dd}.
139
+ *
140
+ * @return a string representation of this date
141
+ */
142
+ toString(): string;
143
+ private __lt;
144
+ private __le;
145
+ }
@@ -0,0 +1,236 @@
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 ____dayOfWeek = require("time.dayOfWeek")
7
+ local DayOfWeek = ____dayOfWeek.DayOfWeek
8
+ local ____month = require("time.month")
9
+ local Month = ____month.Month
10
+ local ____year = require("time.year")
11
+ local Year = ____year.Year
12
+ local ____stringBuilder = require("util.stringBuilder")
13
+ local StringBuilder = ____stringBuilder.StringBuilder
14
+ local date = os.date
15
+ local format = string.format
16
+ local pack = string.pack
17
+ local abs = math.abs
18
+ local cache = setmetatable({}, {__mode = "v"})
19
+ --- The number of days in a 400-year cycle.
20
+ local DAYS_PER_CYCLE = 146097
21
+ --- The number of days from year zero to year 1970.
22
+ -- There are five 400 year cycles from year zero to 2000.
23
+ -- There are 7 leap years from 1970 to 2000.
24
+ local DAYS_0000_TO_1970 = DAYS_PER_CYCLE * 5 - (30 * 365 + 7)
25
+ ____exports.LocalDate = __TS__Class()
26
+ local LocalDate = ____exports.LocalDate
27
+ LocalDate.name = "LocalDate"
28
+ function LocalDate.prototype.____constructor(self, year, month, dayOfMonth, key)
29
+ self.year = year
30
+ self.month = month
31
+ self.dayOfMonth = dayOfMonth
32
+ self.key = key
33
+ assert(math.type(year) == "integer")
34
+ assert(math.type(dayOfMonth) == "integer" and dayOfMonth >= 1 and dayOfMonth <= 31)
35
+ cache[key] = self
36
+ end
37
+ function LocalDate.now(self)
38
+ local info = date("*t")
39
+ return ____exports.LocalDate:of(info.year, info.month, info.day)
40
+ end
41
+ function LocalDate.of(self, year, month, day)
42
+ month = type(month) == "number" and month or month.value
43
+ local key = pack(">i4BB", year, month, day)
44
+ return cache[key] or __TS__New(
45
+ ____exports.LocalDate,
46
+ year,
47
+ Month:of(month),
48
+ day,
49
+ key
50
+ )
51
+ end
52
+ function LocalDate.ofEpochDay(self, epochDay)
53
+ local zeroDay = epochDay + DAYS_0000_TO_1970
54
+ zeroDay = zeroDay - 60
55
+ local adjust = 0
56
+ if zeroDay < 0 then
57
+ local adjustCycles = (zeroDay + 1) // DAYS_PER_CYCLE - 1
58
+ adjust = adjustCycles * 400
59
+ zeroDay = zeroDay + -adjustCycles * DAYS_PER_CYCLE
60
+ end
61
+ local yearEst = (400 * zeroDay + 591) // DAYS_PER_CYCLE
62
+ local doyEst = zeroDay - (365 * yearEst + yearEst // 4 - yearEst // 100 + yearEst // 400)
63
+ if doyEst < 0 then
64
+ yearEst = yearEst - 1
65
+ doyEst = zeroDay - (365 * yearEst + yearEst // 4 - yearEst // 100 + yearEst // 400)
66
+ end
67
+ yearEst = yearEst + adjust
68
+ local marchDoy0 = doyEst
69
+ local marchMonth0 = (marchDoy0 * 5 + 2) // 153
70
+ local month = (marchMonth0 + 2) % 12 + 1
71
+ local dom = marchDoy0 - (marchMonth0 * 306 + 5) // 10 + 1
72
+ yearEst = yearEst + marchMonth0 // 10
73
+ return ____exports.LocalDate:of(yearEst, month, dom)
74
+ end
75
+ function LocalDate.resolvePreviousValid(self, year, month, day)
76
+ repeat
77
+ local ____switch9 = month
78
+ local ____cond9 = ____switch9 == 2
79
+ if ____cond9 then
80
+ day = math.min(
81
+ day,
82
+ Year:isLeap(year) and 29 or 28
83
+ )
84
+ break
85
+ end
86
+ ____cond9 = ____cond9 or (____switch9 == 4 or ____switch9 == 6 or ____switch9 == 9 or ____switch9 == 11)
87
+ if ____cond9 then
88
+ day = math.min(day, 30)
89
+ break
90
+ end
91
+ until true
92
+ return ____exports.LocalDate:of(year, month, day)
93
+ end
94
+ function LocalDate.prototype.plusMonths(self, monthsToAdd)
95
+ assert(math.type(monthsToAdd) == "integer")
96
+ if monthsToAdd == 0 then
97
+ return self
98
+ end
99
+ local monthCount = self.year * 12 + (self.month.value - 1)
100
+ local calcMonths = monthCount + monthsToAdd
101
+ local newYear = calcMonths // 12
102
+ local newMonth = math.fmod(calcMonths, 12) + 1
103
+ return ____exports.LocalDate:resolvePreviousValid(newYear, newMonth, self.dayOfMonth)
104
+ end
105
+ function LocalDate.prototype.plusWeeks(self, weeksToAdd)
106
+ return self:plusDays(weeksToAdd * 7)
107
+ end
108
+ function LocalDate.prototype.plusDays(self, daysToAdd)
109
+ assert(math.type(daysToAdd) == "integer")
110
+ if daysToAdd == 0 then
111
+ return self
112
+ end
113
+ local dom = self.dayOfMonth + daysToAdd
114
+ if dom > 0 then
115
+ if dom <= 28 then
116
+ return ____exports.LocalDate:of(self.year, self.month.value, dom)
117
+ elseif dom <= 59 then
118
+ local monthLen = self.lengthOfMonth
119
+ if dom <= monthLen then
120
+ return ____exports.LocalDate:of(self.year, self.month.value, dom)
121
+ elseif self.month.value < 12 then
122
+ return ____exports.LocalDate:of(self.year, self.month.value + 1, dom - monthLen)
123
+ else
124
+ return ____exports.LocalDate:of(self.year + 1, 1, dom - monthLen)
125
+ end
126
+ end
127
+ end
128
+ local mjDay = self:toEpochDay() + daysToAdd
129
+ return ____exports.LocalDate:ofEpochDay(mjDay)
130
+ end
131
+ function LocalDate.prototype.toEpochDay(self)
132
+ local y = self.year
133
+ local m = self.month.value
134
+ local total = 0
135
+ total = total + 365 * y
136
+ if y >= 0 then
137
+ total = total + ((y + 3) // 4 - (y + 99) // 100 + (y + 399) // 400)
138
+ else
139
+ total = total - (y // -4 - y // -100 + y // -400)
140
+ end
141
+ total = total + (367 * m - 362) // 12
142
+ total = total + (self.dayOfMonth - 1)
143
+ if m > 2 then
144
+ total = total - 1
145
+ if not self.isLeapYear then
146
+ total = total - 1
147
+ end
148
+ end
149
+ return total - DAYS_0000_TO_1970
150
+ end
151
+ function LocalDate.prototype.__tostring(self)
152
+ local year = self.year
153
+ local month = self.month.value
154
+ local day = self.dayOfMonth
155
+ local sb = __TS__New(StringBuilder)
156
+ if abs(year) < 1000 then
157
+ if year < 0 then
158
+ sb:append(format(
159
+ "-%04d",
160
+ abs(year)
161
+ ))
162
+ else
163
+ sb:append(format("%04d", year))
164
+ end
165
+ else
166
+ if year > 9999 then
167
+ sb:append("+")
168
+ end
169
+ sb:append(year)
170
+ end
171
+ return tostring(sb:append(month < 10 and "-0" or "-"):append(month):append(day < 10 and "-0" or "-"):append(day))
172
+ end
173
+ function LocalDate.prototype.__lt(self, other)
174
+ local cmp = self.year - other.year
175
+ if cmp == 0 then
176
+ cmp = self.month.value - other.month.value
177
+ if cmp == 0 then
178
+ cmp = self.dayOfMonth - other.dayOfMonth
179
+ end
180
+ end
181
+ return cmp < 0
182
+ end
183
+ function LocalDate.prototype.__le(self, other)
184
+ local cmp = self.year - other.year
185
+ if cmp == 0 then
186
+ cmp = self.month.value - other.month.value
187
+ if cmp == 0 then
188
+ cmp = self.dayOfMonth - other.dayOfMonth
189
+ end
190
+ end
191
+ return cmp <= 0
192
+ end
193
+ __TS__SetDescriptor(
194
+ LocalDate.prototype,
195
+ "dayOfYear",
196
+ {get = function(self)
197
+ return self.month:getFirstDayOfYear(self.isLeapYear) + self.dayOfMonth - 1
198
+ end},
199
+ true
200
+ )
201
+ __TS__SetDescriptor(
202
+ LocalDate.prototype,
203
+ "dayOfWeek",
204
+ {get = function(self)
205
+ return DayOfWeek:of(math.fmod(
206
+ self:toEpochDay() + 3,
207
+ 7
208
+ ) + 1)
209
+ end},
210
+ true
211
+ )
212
+ __TS__SetDescriptor(
213
+ LocalDate.prototype,
214
+ "isLeapYear",
215
+ {get = function(self)
216
+ return Year:isLeap(self.year)
217
+ end},
218
+ true
219
+ )
220
+ __TS__SetDescriptor(
221
+ LocalDate.prototype,
222
+ "lengthOfMonth",
223
+ {get = function(self)
224
+ return self.month:getLength(self.isLeapYear)
225
+ end},
226
+ true
227
+ )
228
+ __TS__SetDescriptor(
229
+ LocalDate.prototype,
230
+ "lengthOfYear",
231
+ {get = function(self)
232
+ return self.isLeapYear and 366 or 365
233
+ end},
234
+ true
235
+ )
236
+ return ____exports
@@ -0,0 +1,133 @@
1
+ /** @noSelfInFile */
2
+ import { BinaryReader } from "../binaryreader";
3
+ import { BinaryWriter } from "../binarywriter";
4
+ import { DayOfWeek } from "./dayOfWeek";
5
+ import { Month } from "./month";
6
+ import { LocalDate } from "./localDate";
7
+ import { LocalTime } from "./localTime";
8
+ export declare class LocalDateTime {
9
+ private readonly date;
10
+ private readonly time;
11
+ private readonly key;
12
+ private constructor();
13
+ static now(this: void): LocalDateTime;
14
+ /**
15
+ * Obtains an instance of {@code LocalDateTime} from year, month,
16
+ * day, hour, minute and second.
17
+ * <p>
18
+ * This returns a {@code LocalDateTime} with the specified year, month,
19
+ * day-of-month, hour and minute.
20
+ * The day must be valid for the year and month, otherwise an exception will be thrown.
21
+ *
22
+ * @param year the year to represent, from MIN_YEAR to MAX_YEAR
23
+ * @param month the month-of-year to represent
24
+ * @param dayOfMonth the day-of-month to represent, from 1 to 31
25
+ * @param hour the hour-of-day to represent, from 0 to 23
26
+ * @param minute the minute-of-hour to represent, from 0 to 59
27
+ * @param second the second-of-minute to represent, from 0 to 59
28
+ * @return the local date-time
29
+ */
30
+ static of(year: number, month: number | Month, dayOfMonth: number, hour: number, minute: number, second?: number): LocalDateTime;
31
+ /**
32
+ * Obtains an instance of {@code LocalDateTime} using seconds from the
33
+ * epoch of 1970-01-01T00:00:00Z.
34
+ *
35
+ * @param epochSecond the number of seconds from the epoch of 1970-01-01T00:00:00Z
36
+ * @return the local date-time
37
+ */
38
+ static ofEpochSecond(epochSecond: number): LocalDateTime;
39
+ static deserialize(reader: BinaryReader): LocalDateTime;
40
+ serialize(writer: BinaryWriter): void;
41
+ /**
42
+ * Gets the {@code LocalDate} part of this date-time.
43
+ * <p>
44
+ * This returns a {@code LocalDate} with the same year, month and day
45
+ * as this date-time.
46
+ *
47
+ * @return the date part of this date-time
48
+ */
49
+ toLocalDate(): LocalDate;
50
+ /**
51
+ * Gets the year field.
52
+ * <p>
53
+ * This method returns the primitive {@code number} value for the year.
54
+ *
55
+ * @return the year, from MIN_YEAR to MAX_YEAR
56
+ */
57
+ get year(): number;
58
+ /**
59
+ * Gets the month-of-year field using the {@code Month} enum.
60
+ * <p>
61
+ * This method returns the class {@link Month} for the month.
62
+ *
63
+ * @return the month-of-year
64
+ */
65
+ get month(): Month;
66
+ /**
67
+ * Gets the day-of-month field.
68
+ * <p>
69
+ * This method returns the primitive {@code number} value for the day-of-month.
70
+ *
71
+ * @return the day-of-month, from 1 to 31
72
+ */
73
+ get dayOfMonth(): number;
74
+ /**
75
+ * Gets the day-of-year field.
76
+ * <p>
77
+ * This method returns the primitive {@code number} value for the day-of-year.
78
+ *
79
+ * @return the day-of-year, from 1 to 365, or 366 in a leap year
80
+ */
81
+ get dayOfYear(): number;
82
+ /**
83
+ * Gets the day-of-week field, which is a class {@code DayOfWeek}.
84
+ * <p>
85
+ * This method returns the class {@link DayOfWeek} for the day-of-week.
86
+ *
87
+ * @return the day-of-week
88
+ */
89
+ get dayOfWeek(): DayOfWeek;
90
+ /**
91
+ * Gets the {@code LocalTime} part of this date-time.
92
+ * <p>
93
+ * This returns a {@code LocalTime} with the same hour, minute, second and
94
+ * nanosecond as this date-time.
95
+ *
96
+ * @return the time part of this date-time
97
+ */
98
+ toLocalTime(): LocalTime;
99
+ /**
100
+ * Gets the hour-of-day field.
101
+ *
102
+ * @return the hour-of-day, from 0 to 23
103
+ */
104
+ get hour(): number;
105
+ /**
106
+ * Gets the minute-of-hour field.
107
+ *
108
+ * @return the minute-of-hour, from 0 to 59
109
+ */
110
+ get minute(): number;
111
+ /**
112
+ * Gets the second-of-minute field.
113
+ *
114
+ * @return the second-of-minute, from 0 to 59
115
+ */
116
+ get second(): number;
117
+ /**
118
+ * Outputs this date-time as a {@code String}, such as {@code 2007-12-03T10:15:30}.
119
+ * <p>
120
+ * The output will be one of the following ISO-8601 formats:
121
+ * <ul>
122
+ * <li>{@code uuuu-MM-dd'T'HH:mm}</li>
123
+ * <li>{@code uuuu-MM-dd'T'HH:mm:ss}</li>
124
+ * </ul>
125
+ * The format used will be the shortest that outputs the full value of
126
+ * the time where the omitted parts are implied to be zero.
127
+ *
128
+ * @return a string representation of this date-time
129
+ */
130
+ toString(): string;
131
+ private __lt;
132
+ private __le;
133
+ }