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.
- package/LICENSE +23 -0
- package/binaryreader.d.ts +20 -0
- package/binaryreader.lua +50 -0
- package/binarywriter.d.ts +21 -0
- package/binarywriter.lua +90 -0
- package/core/dummy.d.ts +22 -0
- package/core/dummy.lua +133 -0
- package/core/game.d.ts +3 -0
- package/core/game.lua +24 -0
- package/core/mapbounds.d.ts +8 -0
- package/core/mapbounds.lua +12 -0
- package/core/thread.d.ts +8 -0
- package/core/thread.lua +40 -0
- package/core/types/ability.d.ts +4 -0
- package/core/types/ability.lua +10 -0
- package/core/types/async.d.ts +3 -0
- package/core/types/async.lua +2 -0
- package/core/types/camera.d.ts +4 -0
- package/core/types/camera.lua +21 -0
- package/core/types/cameraField.d.ts +15 -0
- package/core/types/cameraField.lua +38 -0
- package/core/types/color.d.ts +16 -0
- package/core/types/color.lua +93 -0
- package/core/types/destructable.d.ts +31 -0
- package/core/types/destructable.lua +245 -0
- package/core/types/effect.d.ts +31 -0
- package/core/types/effect.lua +209 -0
- package/core/types/frame.d.ts +140 -0
- package/core/types/frame.lua +882 -0
- package/core/types/game.d.ts +8 -0
- package/core/types/game.lua +41 -0
- package/core/types/group.d.ts +22 -0
- package/core/types/group.lua +94 -0
- package/core/types/handle.d.ts +48 -0
- package/core/types/handle.lua +169 -0
- package/core/types/image.d.ts +30 -0
- package/core/types/image.lua +121 -0
- package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
- package/core/types/internal/ability+cooldownRemaining.lua +0 -0
- package/core/types/item.d.ts +4 -0
- package/core/types/item.lua +6 -0
- package/core/types/missile.d.ts +22 -0
- package/core/types/missile.lua +233 -0
- package/core/types/order.d.ts +25 -0
- package/core/types/order.lua +55 -0
- package/core/types/player.d.ts +71 -0
- package/core/types/player.lua +448 -0
- package/core/types/playerCamera.d.ts +32 -0
- package/core/types/playerCamera.lua +162 -0
- package/core/types/playerColor.d.ts +40 -0
- package/core/types/playerColor.lua +203 -0
- package/core/types/rect.d.ts +39 -0
- package/core/types/rect.lua +152 -0
- package/core/types/region.d.ts +14 -0
- package/core/types/region.lua +84 -0
- package/core/types/sound.d.ts +69 -0
- package/core/types/sound.lua +247 -0
- package/core/types/tileCell.d.ts +13 -0
- package/core/types/tileCell.lua +100 -0
- package/core/types/timer.d.ts +36 -0
- package/core/types/timer.lua +230 -0
- package/core/types/timerDialog.d.ts +19 -0
- package/core/types/timerDialog.lua +95 -0
- package/core/types/unit.d.ts +10 -0
- package/core/types/unit.lua +24 -0
- package/core/types/widget.d.ts +5 -0
- package/core/types/widget.lua +2 -0
- package/core/util.d.ts +62 -0
- package/core/util.lua +464 -0
- package/core/vecmath/common.d.ts +18 -0
- package/core/vecmath/common.lua +29 -0
- package/core/vecmath/mat2.d.ts +73 -0
- package/core/vecmath/mat2.lua +261 -0
- package/core/vecmath/vec3.d.ts +47 -0
- package/core/vecmath/vec3.lua +350 -0
- package/core/vecmath/vec4.d.ts +54 -0
- package/core/vecmath/vec4.lua +400 -0
- package/crypto/ecc.d.ts +6 -0
- package/crypto/ecc.lua +1734 -0
- package/decl/index.d.ts +116 -0
- package/decl/native.d.ts +8198 -0
- package/destroyable.d.ts +20 -0
- package/destroyable.lua +31 -0
- package/engine/ability.d.ts +5 -0
- package/engine/ability.lua +7 -0
- package/engine/behavior.d.ts +28 -0
- package/engine/behavior.lua +181 -0
- package/engine/behaviour/ability/apply-buff.d.ts +38 -0
- package/engine/behaviour/ability/apply-buff.lua +126 -0
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +12 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +36 -0
- package/engine/behaviour/ability/damage.d.ts +25 -0
- package/engine/behaviour/ability/damage.lua +75 -0
- package/engine/behaviour/ability/heal.d.ts +16 -0
- package/engine/behaviour/ability/heal.lua +35 -0
- package/engine/behaviour/ability/instant-impact.d.ts +6 -0
- package/engine/behaviour/ability/instant-impact.lua +25 -0
- package/engine/behaviour/ability.d.ts +40 -0
- package/engine/behaviour/ability.lua +175 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
- package/engine/behaviour/unit/stun-immunity.lua +67 -0
- package/engine/behaviour/unit.d.ts +20 -0
- package/engine/behaviour/unit.lua +75 -0
- package/engine/buff.d.ts +221 -0
- package/engine/buff.lua +1093 -0
- package/engine/constants.d.ts +7 -0
- package/engine/constants.lua +8 -0
- package/engine/index.d.ts +5 -0
- package/engine/index.lua +2 -0
- package/engine/internal/ability.d.ts +91 -0
- package/engine/internal/ability.lua +531 -0
- package/engine/internal/item/ability.d.ts +2 -0
- package/engine/internal/item/ability.lua +48 -0
- package/engine/internal/item+owner.d.ts +7 -0
- package/engine/internal/item+owner.lua +22 -0
- package/engine/internal/item.d.ts +86 -0
- package/engine/internal/item.lua +580 -0
- package/engine/internal/mechanics/ability-duration.d.ts +4 -0
- package/engine/internal/mechanics/ability-duration.lua +11 -0
- package/engine/internal/mechanics/area-damage.d.ts +2 -0
- package/engine/internal/mechanics/area-damage.lua +33 -0
- package/engine/internal/misc/dummy-units.d.ts +2 -0
- package/engine/internal/misc/dummy-units.lua +14 -0
- package/engine/internal/object-data/armor-increase.d.ts +2 -0
- package/engine/internal/object-data/armor-increase.lua +19 -0
- package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +15 -0
- package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
- package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
- package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
- package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
- package/engine/internal/object-data/dummy-inventory.lua +16 -0
- package/engine/internal/object-data/dummy-item.d.ts +2 -0
- package/engine/internal/object-data/dummy-item.lua +10 -0
- package/engine/internal/object-data/ghost-visible.d.ts +2 -0
- package/engine/internal/object-data/ghost-visible.lua +15 -0
- package/engine/internal/object-data/invulnerable.d.ts +2 -0
- package/engine/internal/object-data/invulnerable.lua +11 -0
- package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
- package/engine/internal/unit/ability.d.ts +143 -0
- package/engine/internal/unit/ability.lua +369 -0
- package/engine/internal/unit/allowed-targets.d.ts +17 -0
- package/engine/internal/unit/allowed-targets.lua +19 -0
- package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
- package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
- package/engine/internal/unit/bonus.d.ts +41 -0
- package/engine/internal/unit/bonus.lua +188 -0
- package/engine/internal/unit/buff.d.ts +38 -0
- package/engine/internal/unit/buff.lua +81 -0
- package/engine/internal/unit/expiration-timer.d.ts +22 -0
- package/engine/internal/unit/expiration-timer.lua +44 -0
- package/engine/internal/unit/ghost-counter.d.ts +12 -0
- package/engine/internal/unit/ghost-counter.lua +26 -0
- package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
- package/engine/internal/unit/invulnerability-counter.lua +26 -0
- package/engine/internal/unit/missile.d.ts +42 -0
- package/engine/internal/unit/missile.lua +70 -0
- package/engine/internal/unit/movement-speed.d.ts +18 -0
- package/engine/internal/unit/movement-speed.lua +42 -0
- package/engine/internal/unit/summon-event.d.ts +12 -0
- package/engine/internal/unit/summon-event.lua +50 -0
- package/engine/internal/unit+ability.d.ts +9 -0
- package/engine/internal/unit+ability.lua +59 -0
- package/engine/internal/unit+bonus.d.ts +8 -0
- package/engine/internal/unit+bonus.lua +40 -0
- package/engine/internal/unit+damage.d.ts +69 -0
- package/engine/internal/unit+damage.lua +123 -0
- package/engine/internal/unit+rally.d.ts +10 -0
- package/engine/internal/unit+rally.lua +159 -0
- package/engine/internal/unit+spellSteal.d.ts +7 -0
- package/engine/internal/unit+spellSteal.lua +64 -0
- package/engine/internal/unit+transport.d.ts +12 -0
- package/engine/internal/unit+transport.lua +102 -0
- package/engine/internal/unit-missile-data.d.ts +2 -0
- package/engine/internal/unit-missile-data.lua +107 -0
- package/engine/internal/unit-missile-launch.d.ts +7 -0
- package/engine/internal/unit-missile-launch.lua +32 -0
- package/engine/internal/unit.d.ts +312 -0
- package/engine/internal/unit.lua +2430 -0
- package/engine/internal/utility.d.ts +2 -0
- package/engine/internal/utility.lua +13 -0
- package/engine/lightning.d.ts +51 -0
- package/engine/lightning.lua +303 -0
- package/engine/local-client.d.ts +16 -0
- package/engine/local-client.lua +86 -0
- package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
- package/engine/object-data/auxiliary/animation-name.lua +2 -0
- package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
- package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
- package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
- package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
- package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
- package/engine/object-data/auxiliary/attack-type.lua +2 -0
- package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
- package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
- package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
- package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
- package/engine/object-data/auxiliary/combat-classification.lua +206 -0
- package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
- package/engine/object-data/auxiliary/detection-type.lua +2 -0
- package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
- package/engine/object-data/auxiliary/model-node-name.lua +2 -0
- package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
- package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
- package/engine/object-data/auxiliary/movement-type.lua +2 -0
- package/engine/object-data/auxiliary/race.d.ts +14 -0
- package/engine/object-data/auxiliary/race.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
- package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
- package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
- package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
- package/engine/object-data/auxiliary/targeting-type.lua +2 -0
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
- package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
- package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
- package/engine/object-data/auxiliary/unit-classification.lua +50 -0
- package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
- package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
- package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
- package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
- package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
- package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
- package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
- package/engine/object-data/entry/ability-type/bash.lua +78 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
- package/engine/object-data/entry/ability-type/berserk.lua +39 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
- package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
- package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
- package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
- package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
- package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
- package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
- package/engine/object-data/entry/ability-type/channel.lua +140 -0
- package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
- package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
- package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
- package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
- package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
- package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
- package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cripple.lua +52 -0
- package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
- package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
- package/engine/object-data/entry/ability-type/curse.lua +26 -0
- package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
- package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
- package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
- package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
- package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
- package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
- package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
- package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
- package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
- package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
- package/engine/object-data/entry/ability-type/evasion.lua +26 -0
- package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
- package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
- package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
- package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
- package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
- package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
- package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
- package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
- package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
- package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
- package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
- package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
- package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
- package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
- package/engine/object-data/entry/ability-type/heal.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
- package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
- package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
- package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
- package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
- package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
- package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
- package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
- package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
- package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
- package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
- package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
- package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
- package/engine/object-data/entry/ability-type/inventory.lua +78 -0
- package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
- package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
- package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
- package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
- package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
- package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
- package/engine/object-data/entry/ability-type/recall.lua +39 -0
- package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
- package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
- package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
- package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
- package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
- package/engine/object-data/entry/ability-type/slow.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
- package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
- package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
- package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
- package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
- package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
- package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
- package/engine/object-data/entry/ability-type.d.ts +148 -0
- package/engine/object-data/entry/ability-type.lua +1058 -0
- package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
- package/engine/object-data/entry/buff-type/applicable.lua +377 -0
- package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
- package/engine/object-data/entry/buff-type/blank.lua +17 -0
- package/engine/object-data/entry/buff-type.d.ts +64 -0
- package/engine/object-data/entry/buff-type.lua +316 -0
- package/engine/object-data/entry/destructible-type.d.ts +21 -0
- package/engine/object-data/entry/destructible-type.lua +83 -0
- package/engine/object-data/entry/item-type/blank.d.ts +8 -0
- package/engine/object-data/entry/item-type/blank.lua +21 -0
- package/engine/object-data/entry/item-type.d.ts +49 -0
- package/engine/object-data/entry/item-type.lua +259 -0
- package/engine/object-data/entry/lightning-type.d.ts +37 -0
- package/engine/object-data/entry/lightning-type.lua +191 -0
- package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
- package/engine/object-data/entry/unit-type/blank.lua +13 -0
- package/engine/object-data/entry/unit-type.d.ts +218 -0
- package/engine/object-data/entry/unit-type.lua +1306 -0
- package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
- package/engine/object-data/entry/upgrade/blank.lua +22 -0
- package/engine/object-data/entry/upgrade.d.ts +59 -0
- package/engine/object-data/entry/upgrade.lua +238 -0
- package/engine/object-data/entry.d.ts +80 -0
- package/engine/object-data/entry.lua +634 -0
- package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
- package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
- package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
- package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
- package/engine/object-field/ability.d.ts +115 -0
- package/engine/object-field/ability.lua +471 -0
- package/engine/object-field/unit.d.ts +15 -0
- package/engine/object-field/unit.lua +49 -0
- package/engine/object-field.d.ts +84 -0
- package/engine/object-field.lua +444 -0
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +9 -0
- package/engine/standard/entries/ability-type.d.ts +8 -0
- package/engine/standard/entries/ability-type.lua +8 -0
- package/engine/standard/entries/lightning-type.d.ts +16 -0
- package/engine/standard/entries/lightning-type.lua +16 -0
- package/engine/standard/entries/unit-type.d.ts +63 -0
- package/engine/standard/entries/unit-type.lua +63 -0
- package/engine/standard/entries/upgrade.d.ts +92 -0
- package/engine/standard/entries/upgrade.lua +92 -0
- package/engine/standard/fields/ability.d.ts +737 -0
- package/engine/standard/fields/ability.lua +749 -0
- package/engine/standard/pathing-textures.d.ts +6 -0
- package/engine/standard/pathing-textures.lua +7 -0
- package/engine/text-tag.d.ts +25 -0
- package/engine/text-tag.lua +109 -0
- package/engine/unit.d.ts +20 -0
- package/engine/unit.lua +31 -0
- package/event.d.ts +53 -0
- package/event.lua +269 -0
- package/exception.d.ts +17 -0
- package/exception.lua +53 -0
- package/file.d.ts +4 -0
- package/file.lua +42 -0
- package/global/math.d.ts +21 -0
- package/global/math.lua +72 -0
- package/global/vec2.d.ts +66 -0
- package/global/vec2.lua +159 -0
- package/index.d.ts +8 -0
- package/index.lua +9 -0
- package/lualib_bundle.lua +2629 -0
- package/math/vec2.d.ts +18 -0
- package/math/vec2.lua +42 -0
- package/math.d.ts +39 -0
- package/math.lua +91 -0
- package/net/signal.d.ts +11 -0
- package/net/signal.lua +56 -0
- package/net/socket.d.ts +9 -0
- package/net/socket.lua +26 -0
- package/network.d.ts +31 -0
- package/network.lua +194 -0
- package/objutil/ability.d.ts +710 -0
- package/objutil/ability.lua +3781 -0
- package/objutil/buff.d.ts +110 -0
- package/objutil/buff.lua +769 -0
- package/objutil/dummy.d.ts +2 -0
- package/objutil/dummy.lua +49 -0
- package/objutil/idgen.d.ts +9 -0
- package/objutil/idgen.lua +92 -0
- package/objutil/item.d.ts +38 -0
- package/objutil/item.lua +254 -0
- package/objutil/object.d.ts +43 -0
- package/objutil/object.lua +213 -0
- package/objutil/unit.d.ts +134 -0
- package/objutil/unit.lua +913 -0
- package/objutil/upgrade.d.ts +22 -0
- package/objutil/upgrade.lua +127 -0
- package/operation.d.ts +35 -0
- package/operation.lua +179 -0
- package/package.json +47 -0
- package/patch-lualib.d.ts +2 -0
- package/patch-lualib.lua +67 -0
- package/patch-natives.d.ts +11 -0
- package/patch-natives.lua +14 -0
- package/string.d.ts +106 -0
- package/string.lua +34 -0
- package/time/dayOfWeek.d.ts +97 -0
- package/time/dayOfWeek.lua +53 -0
- package/time/localDate.d.ts +145 -0
- package/time/localDate.lua +236 -0
- package/time/localDateTime.d.ts +133 -0
- package/time/localDateTime.lua +154 -0
- package/time/localTime.d.ts +87 -0
- package/time/localTime.lua +91 -0
- package/time/month.d.ts +146 -0
- package/time/month.lua +129 -0
- package/time/year.d.ts +117 -0
- package/time/year.lua +81 -0
- package/types.d.ts +13 -0
- package/types.lua +0 -0
- package/util/objectPool.d.ts +6 -0
- package/util/objectPool.lua +28 -0
- package/util/stream.d.ts +29 -0
- package/util/stream.lua +453 -0
- package/util/stringBuilder.d.ts +8 -0
- package/util/stringBuilder.lua +25 -0
- package/utility/arrays.d.ts +57 -0
- package/utility/arrays.lua +369 -0
- package/utility/base64.d.ts +23 -0
- package/utility/base64.lua +177 -0
- package/utility/bit-set.d.ts +18 -0
- package/utility/bit-set.lua +12 -0
- package/utility/functions.d.ts +5 -0
- package/utility/functions.lua +90 -0
- package/utility/json.d.ts +2 -0
- package/utility/json.lua +400 -0
- package/utility/linked-set.d.ts +49 -0
- package/utility/linked-set.lua +181 -0
- package/utility/lua-maps.d.ts +6 -0
- package/utility/lua-maps.lua +25 -0
- package/utility/lua-sets.d.ts +6 -0
- package/utility/lua-sets.lua +37 -0
- package/utility/lzw.d.ts +2 -0
- package/utility/lzw.lua +161 -0
- package/utility/observable-array.d.ts +17 -0
- package/utility/observable-array.lua +30 -0
- package/utility/preconditions.d.ts +23 -0
- package/utility/preconditions.lua +58 -0
- package/utility/records.d.ts +3 -0
- package/utility/records.lua +9 -0
- package/utility/reflection.d.ts +4 -0
- package/utility/reflection.lua +31 -0
- package/utility/strings.d.ts +2 -0
- package/utility/strings.lua +44 -0
- package/utility/types.d.ts +39 -0
- package/utility/types.lua +2 -0
package/utility/lzw.lua
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
MIT License
|
|
3
|
+
Copyright (c) 2016 Rochet2
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
in the Software without restriction, including without limitation the rights
|
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
+
SOFTWARE.
|
|
19
|
+
]]
|
|
20
|
+
|
|
21
|
+
local char = string.char
|
|
22
|
+
local type = type
|
|
23
|
+
local select = select
|
|
24
|
+
local sub = string.sub
|
|
25
|
+
local tconcat = table.concat
|
|
26
|
+
|
|
27
|
+
local basedictcompress = {}
|
|
28
|
+
local basedictdecompress = {}
|
|
29
|
+
for i = 0, 255 do
|
|
30
|
+
local ic, iic = char(i), char(i, 0)
|
|
31
|
+
basedictcompress[ic] = iic
|
|
32
|
+
basedictdecompress[iic] = ic
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
local function dictAddA(str, dict, a, b)
|
|
36
|
+
if a >= 256 then
|
|
37
|
+
a, b = 0, b+1
|
|
38
|
+
if b >= 256 then
|
|
39
|
+
dict = {}
|
|
40
|
+
b = 1
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
dict[str] = char(a,b)
|
|
44
|
+
a = a+1
|
|
45
|
+
return dict, a, b
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
local function compress(input)
|
|
49
|
+
if type(input) ~= "string" then
|
|
50
|
+
return nil, "string expected, got "..type(input)
|
|
51
|
+
end
|
|
52
|
+
local len = #input
|
|
53
|
+
if len <= 1 then
|
|
54
|
+
return "u"..input
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
local dict = {}
|
|
58
|
+
local a, b = 0, 1
|
|
59
|
+
|
|
60
|
+
local result = {"c"}
|
|
61
|
+
local resultlen = 1
|
|
62
|
+
local n = 2
|
|
63
|
+
local word = ""
|
|
64
|
+
for i = 1, len do
|
|
65
|
+
local c = sub(input, i, i)
|
|
66
|
+
local wc = word..c
|
|
67
|
+
if not (basedictcompress[wc] or dict[wc]) then
|
|
68
|
+
local write = basedictcompress[word] or dict[word]
|
|
69
|
+
if not write then
|
|
70
|
+
return nil, "algorithm error, could not fetch word"
|
|
71
|
+
end
|
|
72
|
+
result[n] = write
|
|
73
|
+
resultlen = resultlen + #write
|
|
74
|
+
n = n+1
|
|
75
|
+
if len <= resultlen then
|
|
76
|
+
return "u"..input
|
|
77
|
+
end
|
|
78
|
+
dict, a, b = dictAddA(wc, dict, a, b)
|
|
79
|
+
word = c
|
|
80
|
+
else
|
|
81
|
+
word = wc
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
result[n] = basedictcompress[word] or dict[word]
|
|
85
|
+
resultlen = resultlen+#result[n]
|
|
86
|
+
n = n+1
|
|
87
|
+
if len <= resultlen then
|
|
88
|
+
return "u"..input
|
|
89
|
+
end
|
|
90
|
+
return tconcat(result)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
local function dictAddB(str, dict, a, b)
|
|
94
|
+
if a >= 256 then
|
|
95
|
+
a, b = 0, b+1
|
|
96
|
+
if b >= 256 then
|
|
97
|
+
dict = {}
|
|
98
|
+
b = 1
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
dict[char(a,b)] = str
|
|
102
|
+
a = a+1
|
|
103
|
+
return dict, a, b
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
local function decompress(input)
|
|
107
|
+
if type(input) ~= "string" then
|
|
108
|
+
return nil, "string expected, got "..type(input)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
if #input < 1 then
|
|
112
|
+
return nil, "invalid input - not a compressed string"
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
local control = sub(input, 1, 1)
|
|
116
|
+
if control == "u" then
|
|
117
|
+
return sub(input, 2)
|
|
118
|
+
elseif control ~= "c" then
|
|
119
|
+
return nil, "invalid input - not a compressed string"
|
|
120
|
+
end
|
|
121
|
+
input = sub(input, 2)
|
|
122
|
+
local len = #input
|
|
123
|
+
|
|
124
|
+
if len < 2 then
|
|
125
|
+
return nil, "invalid input - not a compressed string"
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
local dict = {}
|
|
129
|
+
local a, b = 0, 1
|
|
130
|
+
|
|
131
|
+
local result = {}
|
|
132
|
+
local n = 1
|
|
133
|
+
local last = sub(input, 1, 2)
|
|
134
|
+
result[n] = basedictdecompress[last] or dict[last]
|
|
135
|
+
n = n+1
|
|
136
|
+
for i = 3, len, 2 do
|
|
137
|
+
local code = sub(input, i, i+1)
|
|
138
|
+
local lastStr = basedictdecompress[last] or dict[last]
|
|
139
|
+
if not lastStr then
|
|
140
|
+
return nil, "could not find last from dict. Invalid input?"
|
|
141
|
+
end
|
|
142
|
+
local toAdd = basedictdecompress[code] or dict[code]
|
|
143
|
+
if toAdd then
|
|
144
|
+
result[n] = toAdd
|
|
145
|
+
n = n+1
|
|
146
|
+
dict, a, b = dictAddB(lastStr..sub(toAdd, 1, 1), dict, a, b)
|
|
147
|
+
else
|
|
148
|
+
local tmp = lastStr..sub(lastStr, 1, 1)
|
|
149
|
+
result[n] = tmp
|
|
150
|
+
n = n+1
|
|
151
|
+
dict, a, b = dictAddB(tmp, dict, a, b)
|
|
152
|
+
end
|
|
153
|
+
last = code
|
|
154
|
+
end
|
|
155
|
+
return tconcat(result)
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
return {
|
|
159
|
+
compress = compress,
|
|
160
|
+
decompress = decompress,
|
|
161
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Event } from "../event";
|
|
3
|
+
export interface ObservableArray<T> extends Array<T> {
|
|
4
|
+
}
|
|
5
|
+
export declare class ObservableArray<T> {
|
|
6
|
+
/**
|
|
7
|
+
* The backing array.
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
private readonly a;
|
|
11
|
+
readonly onChange: Event<[]>;
|
|
12
|
+
protected __newindex(index: number, value: T): void;
|
|
13
|
+
protected __index(index: number): T;
|
|
14
|
+
protected __len(): number;
|
|
15
|
+
protected __ipairs(): ReturnType<typeof ipairs<T>>;
|
|
16
|
+
protected __pairs(): ReturnType<typeof pairs>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 ____event = require("event")
|
|
6
|
+
local Event = ____event.Event
|
|
7
|
+
____exports.ObservableArray = __TS__Class()
|
|
8
|
+
local ObservableArray = ____exports.ObservableArray
|
|
9
|
+
ObservableArray.name = "ObservableArray"
|
|
10
|
+
function ObservableArray.prototype.____constructor(self)
|
|
11
|
+
self.a = {}
|
|
12
|
+
self.onChange = __TS__New(Event)
|
|
13
|
+
end
|
|
14
|
+
function ObservableArray.prototype.__newindex(self, index, value)
|
|
15
|
+
self.a[index] = value
|
|
16
|
+
Event.invoke(self.onChange)
|
|
17
|
+
end
|
|
18
|
+
function ObservableArray.prototype.__index(self, index)
|
|
19
|
+
return self.a[index]
|
|
20
|
+
end
|
|
21
|
+
function ObservableArray.prototype.__len(self)
|
|
22
|
+
return #self.a
|
|
23
|
+
end
|
|
24
|
+
function ObservableArray.prototype.__ipairs(self)
|
|
25
|
+
return ipairs(self.a)
|
|
26
|
+
end
|
|
27
|
+
function ObservableArray.prototype.__pairs(self)
|
|
28
|
+
return pairs(self.a)
|
|
29
|
+
end
|
|
30
|
+
return ____exports
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
/**
|
|
3
|
+
* Throws an {@link IllegalArgumentException} if the `value` is false.
|
|
4
|
+
*/
|
|
5
|
+
export declare const require: (value: boolean, message?: string) => asserts value is true;
|
|
6
|
+
/**
|
|
7
|
+
* Throws an {@link IllegalArgumentException} if the `value` is null.
|
|
8
|
+
* Otherwise, returns the not null value.
|
|
9
|
+
*/
|
|
10
|
+
export declare const requireNotNull: <T>(value: T, message?: string) => NonNullable<T>;
|
|
11
|
+
/**
|
|
12
|
+
* Throws an {@link IllegalStateException} if the `value` is false.
|
|
13
|
+
*/
|
|
14
|
+
export declare const check: (value: boolean, message?: string) => asserts value is true;
|
|
15
|
+
/**
|
|
16
|
+
* Throws an {@link IllegalStateException} if the `value` is null.
|
|
17
|
+
* Otherwise, returns the not null value.
|
|
18
|
+
*/
|
|
19
|
+
export declare const checkNotNull: <T>(value: T, message?: string) => NonNullable<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Throws an {@link IllegalStateException} with the given `message`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const error: (message: unknown) => never;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____exception = require("exception")
|
|
5
|
+
local IllegalArgumentException = ____exception.IllegalArgumentException
|
|
6
|
+
local IllegalStateException = ____exception.IllegalStateException
|
|
7
|
+
local toString = _G.tostring
|
|
8
|
+
--- Throws an {@link IllegalArgumentException} if the `value` is false.
|
|
9
|
+
____exports.require = function(value, message)
|
|
10
|
+
if not value then
|
|
11
|
+
error(
|
|
12
|
+
__TS__New(IllegalArgumentException, message or "Failed requirement."),
|
|
13
|
+
0
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
--- Throws an {@link IllegalArgumentException} if the `value` is null.
|
|
18
|
+
-- Otherwise, returns the not null value.
|
|
19
|
+
____exports.requireNotNull = function(value, message)
|
|
20
|
+
if value == nil then
|
|
21
|
+
error(
|
|
22
|
+
__TS__New(IllegalArgumentException, message or "Required value was null."),
|
|
23
|
+
0
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
return value
|
|
27
|
+
end
|
|
28
|
+
--- Throws an {@link IllegalStateException} if the `value` is false.
|
|
29
|
+
____exports.check = function(value, message)
|
|
30
|
+
if not value then
|
|
31
|
+
error(
|
|
32
|
+
__TS__New(IllegalStateException, message or "Check failed."),
|
|
33
|
+
0
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
--- Throws an {@link IllegalStateException} if the `value` is null.
|
|
38
|
+
-- Otherwise, returns the not null value.
|
|
39
|
+
____exports.checkNotNull = function(value, message)
|
|
40
|
+
if value == nil then
|
|
41
|
+
error(
|
|
42
|
+
__TS__New(IllegalStateException, message or "Required value was null."),
|
|
43
|
+
0
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
return value
|
|
47
|
+
end
|
|
48
|
+
--- Throws an {@link IllegalStateException} with the given `message`.
|
|
49
|
+
____exports.error = function(message)
|
|
50
|
+
error(
|
|
51
|
+
__TS__New(
|
|
52
|
+
IllegalStateException,
|
|
53
|
+
toString(message)
|
|
54
|
+
),
|
|
55
|
+
0
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
return ____exports
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbstractConstructor, Constructor } from "./types";
|
|
3
|
+
export declare const getClass: <T extends object>(object: T) => Constructor<T> | undefined;
|
|
4
|
+
export declare const getSuperclass: <T extends object>(clazz: AbstractConstructor<T>) => AbstractConstructor<T> | undefined;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____preconditions = require("utility.preconditions")
|
|
3
|
+
local checkNotNull = ____preconditions.checkNotNull
|
|
4
|
+
---
|
|
5
|
+
-- @internal For use by internal systems only.
|
|
6
|
+
____exports.implementReadonlyNumberIndexSupplier = function(clazz, supplier)
|
|
7
|
+
local metatable = checkNotNull(getmetatable(clazz))
|
|
8
|
+
local originalIndex = checkNotNull(metatable.__index)
|
|
9
|
+
local memoizedValueByKey = {}
|
|
10
|
+
metatable.__index = setmetatable(
|
|
11
|
+
memoizedValueByKey,
|
|
12
|
+
{__index = function(self, key)
|
|
13
|
+
if type(key) == "number" then
|
|
14
|
+
local value = supplier(key)
|
|
15
|
+
memoizedValueByKey[key] = value
|
|
16
|
+
return value
|
|
17
|
+
end
|
|
18
|
+
if type(originalIndex) == "function" then
|
|
19
|
+
return originalIndex(self, key)
|
|
20
|
+
end
|
|
21
|
+
return originalIndex[key]
|
|
22
|
+
end}
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
____exports.getClass = function(object)
|
|
26
|
+
return object.constructor
|
|
27
|
+
end
|
|
28
|
+
____exports.getSuperclass = function(clazz)
|
|
29
|
+
return clazz.____super
|
|
30
|
+
end
|
|
31
|
+
return ____exports
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local concat = table.concat
|
|
3
|
+
local char = string.char
|
|
4
|
+
local find = string.find
|
|
5
|
+
local sub = string.sub
|
|
6
|
+
local oneCharUtf8CodePointPattern = ((("[%z" .. char(1)) .. "-") .. char(127)) .. "]"
|
|
7
|
+
local twoCharsUtf8CodePointPattern = ((((((("[" .. char(194)) .. "-") .. char(223)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
8
|
+
local threeCharsUtf8CodePointPattern1 = ((((((((char(224) .. "[") .. char(160)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
9
|
+
local threeCharsUtf8CodePointPattern2 = ((((((((((("[" .. char(225)) .. "-") .. char(236)) .. "][") .. char(128)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
10
|
+
local threeCharsUtf8CodePointPattern3 = ((((((((char(237) .. "[") .. char(128)) .. "-") .. char(159)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
11
|
+
local threeCharsUtf8CodePointPattern4 = ((((((((((("[" .. char(238)) .. "-") .. char(239)) .. "][") .. char(128)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
12
|
+
local fourCharsUtf8CodePointPattern1 = ((((((((((((char(240) .. "[") .. char(144)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
13
|
+
local fourCharsUtf8CodePointPattern2 = ((((((((((((((("[" .. char(241)) .. "-") .. char(243)) .. "][") .. char(128)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
14
|
+
local fourCharsUtf8CodePointPattern3 = ((((((((((((char(244) .. "[") .. char(128)) .. "-") .. char(143)) .. "][") .. char(128)) .. "-") .. char(191)) .. "][") .. char(128)) .. "-") .. char(191)) .. "]"
|
|
15
|
+
____exports.filterUtf8 = function(str)
|
|
16
|
+
local len = #str
|
|
17
|
+
local validUtf8Substrings = nil
|
|
18
|
+
local validUtf8SubstringsNextLuaIndex = 1
|
|
19
|
+
local validUtf8SubstringStartLuaIndex = 1
|
|
20
|
+
local i = 1
|
|
21
|
+
while i <= len do
|
|
22
|
+
if i == (find(str, oneCharUtf8CodePointPattern, i)) then
|
|
23
|
+
i = i + 1
|
|
24
|
+
elseif i == (find(str, twoCharsUtf8CodePointPattern, i)) then
|
|
25
|
+
i = i + 2
|
|
26
|
+
elseif i == (find(str, threeCharsUtf8CodePointPattern1, i)) or i == (find(str, threeCharsUtf8CodePointPattern2, i)) or i == (find(str, threeCharsUtf8CodePointPattern3, i)) or i == (find(str, threeCharsUtf8CodePointPattern4, i)) then
|
|
27
|
+
i = i + 3
|
|
28
|
+
elseif i == (find(str, fourCharsUtf8CodePointPattern1, i)) or i == (find(str, fourCharsUtf8CodePointPattern2, i)) or i == (find(str, fourCharsUtf8CodePointPattern3, i)) then
|
|
29
|
+
i = i + 4
|
|
30
|
+
else
|
|
31
|
+
validUtf8Substrings = validUtf8Substrings or ({})
|
|
32
|
+
validUtf8Substrings[validUtf8SubstringsNextLuaIndex] = sub(str, validUtf8SubstringStartLuaIndex, i - 1)
|
|
33
|
+
validUtf8SubstringsNextLuaIndex = validUtf8SubstringsNextLuaIndex + 1
|
|
34
|
+
i = i + 1
|
|
35
|
+
validUtf8SubstringStartLuaIndex = i
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
if validUtf8Substrings ~= nil then
|
|
39
|
+
validUtf8Substrings[validUtf8SubstringsNextLuaIndex] = sub(str, validUtf8SubstringStartLuaIndex)
|
|
40
|
+
return concat(validUtf8Substrings)
|
|
41
|
+
end
|
|
42
|
+
return str
|
|
43
|
+
end
|
|
44
|
+
return ____exports
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
export type AnyNonNullable = {};
|
|
3
|
+
export type IsExactlyAny<T> = boolean extends (T extends never ? true : false) ? true : false;
|
|
4
|
+
export type NonEmptyArray<T> = [T, ...T[]];
|
|
5
|
+
export type InvertRecordType<T extends Record<PropertyKey, PropertyKey | null | undefined>> = {
|
|
6
|
+
[P in keyof T as NonNullable<T[P]>]: P;
|
|
7
|
+
};
|
|
8
|
+
export type Constructor<T = any> = new (...args: any) => T;
|
|
9
|
+
export type AbstractConstructor<T = any> = abstract new (...args: any) => T;
|
|
10
|
+
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
11
|
+
export type ValueOf<T> = T[keyof T];
|
|
12
|
+
export type EntryOf<T> = ValueOf<{
|
|
13
|
+
[K in keyof T]: [K, T[K]];
|
|
14
|
+
}>;
|
|
15
|
+
export type MutableKeys<T extends object> = {
|
|
16
|
+
[P in keyof T]-?: IfEquals<{
|
|
17
|
+
[Q in P]: T[P];
|
|
18
|
+
}, {
|
|
19
|
+
-readonly [Q in P]: T[P];
|
|
20
|
+
}, P>;
|
|
21
|
+
}[keyof T];
|
|
22
|
+
export type ReadonlyKeys<T extends object> = {
|
|
23
|
+
[P in keyof T]-?: IfEquals<{
|
|
24
|
+
[Q in P]: T[P];
|
|
25
|
+
}, {
|
|
26
|
+
-readonly [Q in P]: T[P];
|
|
27
|
+
}, never, P>;
|
|
28
|
+
}[keyof T];
|
|
29
|
+
type IfEquals<X, Y, A = X, B = never> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? A : B;
|
|
30
|
+
export type TupleOf<T, N extends number> = N extends N ? number extends N ? T[] : _TupleOf<T, N, []> : never;
|
|
31
|
+
type _TupleOf<T, N extends number, R extends unknown[]> = R["length"] extends N ? R : _TupleOf<T, N, [T, ...R]>;
|
|
32
|
+
export type Flatten<T extends readonly any[], A extends readonly any[] = []> = T extends [
|
|
33
|
+
infer F,
|
|
34
|
+
...infer R
|
|
35
|
+
] ? Flatten<R, F extends readonly any[] ? [...A, ...F] : [...A, F]> : A;
|
|
36
|
+
export type Prohibit<T, K extends keyof any> = T & {
|
|
37
|
+
[P in K]?: never;
|
|
38
|
+
};
|
|
39
|
+
export {};
|