warscript 0.0.1-dev.ab8c392 → 0.0.1-dev.b3e4d60

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 (88) hide show
  1. package/attributes.d.ts +0 -1
  2. package/binaryreader.d.ts +1 -0
  3. package/binaryreader.lua +3 -0
  4. package/core/types/frame.d.ts +2 -1
  5. package/core/types/frame.lua +2 -0
  6. package/core/types/group.d.ts +0 -1
  7. package/core/types/image.d.ts +0 -1
  8. package/core/types/missile.d.ts +2 -2
  9. package/core/types/missile.lua +8 -2
  10. package/core/types/unit.lua +8 -0
  11. package/decl/index.d.ts +1 -0
  12. package/engine/ability.d.ts +1 -1
  13. package/engine/behavior.d.ts +10 -10
  14. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  15. package/engine/behaviour/ability/damage.d.ts +33 -11
  16. package/engine/behaviour/ability/damage.lua +89 -31
  17. package/engine/behaviour/ability/heal.d.ts +33 -6
  18. package/engine/behaviour/ability/heal.lua +89 -10
  19. package/engine/behaviour/ability/instant-impact.lua +4 -0
  20. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  21. package/engine/behaviour/ability/restore-mana.lua +29 -0
  22. package/engine/behaviour/ability.d.ts +8 -1
  23. package/engine/behaviour/ability.lua +62 -0
  24. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  25. package/engine/behaviour/unit.d.ts +3 -2
  26. package/engine/behaviour/unit.lua +7 -0
  27. package/engine/buff.d.ts +2 -2
  28. package/engine/buff.lua +8 -10
  29. package/engine/game-map.d.ts +7 -0
  30. package/engine/game-map.lua +32 -0
  31. package/engine/internal/unit/bonus.d.ts +5 -6
  32. package/engine/internal/unit+transport.lua +4 -10
  33. package/engine/internal/unit-missile-launch.lua +1 -1
  34. package/engine/internal/unit.d.ts +37 -10
  35. package/engine/internal/unit.lua +248 -88
  36. package/engine/object-data/auxiliary/attachment-preset.d.ts +0 -1
  37. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  38. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  39. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  40. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  41. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  42. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  43. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  44. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  45. package/engine/object-data/entry/ability-type.d.ts +0 -1
  46. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  47. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  48. package/engine/object-data/entry/buff-type.d.ts +0 -1
  49. package/engine/object-data/entry/destructible-type.d.ts +0 -1
  50. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  51. package/engine/object-data/entry/item-type.d.ts +0 -1
  52. package/engine/object-data/entry/lightning-type.d.ts +0 -1
  53. package/engine/object-data/entry/unit-type.d.ts +21 -2
  54. package/engine/object-data/entry/unit-type.lua +223 -49
  55. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  56. package/engine/object-data/entry/upgrade.d.ts +0 -1
  57. package/engine/object-data/entry.d.ts +2 -3
  58. package/engine/object-field/ability.d.ts +1 -1
  59. package/engine/object-field.d.ts +0 -1
  60. package/engine/random.d.ts +1 -0
  61. package/engine/random.lua +9 -0
  62. package/engine/standard/entries/unit-type.d.ts +39 -1
  63. package/engine/standard/entries/unit-type.lua +39 -1
  64. package/engine/standard/fields/ability.d.ts +1 -1
  65. package/engine/standard/fields/ability.lua +1 -1
  66. package/engine/unit.lua +9 -2
  67. package/event.d.ts +2 -3
  68. package/event.lua +9 -5
  69. package/lualib_bundle.lua +146 -42
  70. package/math/vec2.d.ts +2 -9
  71. package/math.d.ts +0 -2
  72. package/objutil/ability.d.ts +0 -1
  73. package/objutil/buff.d.ts +0 -1
  74. package/objutil/object.d.ts +0 -1
  75. package/objutil/unit.d.ts +0 -1
  76. package/package.json +13 -13
  77. package/property.d.ts +55 -0
  78. package/property.lua +378 -0
  79. package/string.d.ts +16 -0
  80. package/string.lua +5 -0
  81. package/util/stream.d.ts +0 -1
  82. package/utility/arrays.d.ts +3 -4
  83. package/utility/bit-set.d.ts +0 -2
  84. package/utility/linked-set.d.ts +1 -2
  85. package/utility/lua-maps.d.ts +1 -2
  86. package/utility/lua-sets.d.ts +1 -2
  87. package/core/mapbounds.d.ts +0 -8
  88. package/core/mapbounds.lua +0 -12
package/property.lua ADDED
@@ -0,0 +1,378 @@
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 __TS__ClassExtends = ____lualib.__TS__ClassExtends
6
+ local __TS__AsyncAwaiter = ____lualib.__TS__AsyncAwaiter
7
+ local __TS__Await = ____lualib.__TS__Await
8
+ local ____exports = {}
9
+ local savePropertyValues
10
+ local ____binaryreader = require("binaryreader")
11
+ local BinaryReader = ____binaryreader.BinaryReader
12
+ local ____binarywriter = require("binarywriter")
13
+ local BinaryWriter = ____binarywriter.BinaryWriter
14
+ local ____player = require("core.types.player")
15
+ local Player = ____player.Player
16
+ local ____timer = require("core.types.timer")
17
+ local Timer = ____timer.Timer
18
+ local ____event = require("event")
19
+ local Event = ____event.Event
20
+ local file = require("file")
21
+ local ____network = require("network")
22
+ local synchronize = ____network.synchronize
23
+ local base64 = require("utility.base64")
24
+ local lzw = require("utility.lzw")
25
+ local ____preconditions = require("utility.preconditions")
26
+ local ____require = ____preconditions.require
27
+ local invoke = Event.invoke
28
+ ____exports.PersistentPropertiesConfig = __TS__Class()
29
+ local PersistentPropertiesConfig = ____exports.PersistentPropertiesConfig
30
+ PersistentPropertiesConfig.name = "PersistentPropertiesConfig"
31
+ function PersistentPropertiesConfig.prototype.____constructor(self)
32
+ end
33
+ PersistentPropertiesConfig.defaultFileName = ""
34
+ ____exports.Property = __TS__Class()
35
+ local Property = ____exports.Property
36
+ Property.name = "Property"
37
+ function Property.prototype.____constructor(self, defaultValue)
38
+ self.valueChangeEvent = __TS__New(Event)
39
+ self[0] = defaultValue
40
+ self[1] = defaultValue
41
+ end
42
+ function Property.prototype.reset(self)
43
+ if self[2] then
44
+ self[2] = nil
45
+ local defaultValue = self[0]
46
+ local oldValue = self[1]
47
+ if defaultValue ~= oldValue then
48
+ self[1] = defaultValue
49
+ invoke(self.valueChangeEvent, defaultValue, oldValue)
50
+ end
51
+ return true
52
+ end
53
+ return false
54
+ end
55
+ function Property.prototype.set(self, value)
56
+ self[2] = true
57
+ local oldValue = self[1]
58
+ self[1] = value
59
+ if value ~= oldValue then
60
+ invoke(self.valueChangeEvent, value, oldValue)
61
+ return true
62
+ end
63
+ return false
64
+ end
65
+ function Property.prototype.get(self)
66
+ return self[1]
67
+ end
68
+ __TS__SetDescriptor(
69
+ Property.prototype,
70
+ "defaultValue",
71
+ {
72
+ get = function(self)
73
+ return self[0]
74
+ end,
75
+ set = function(self, defaultValue)
76
+ local oldDefaultValue = self[0]
77
+ if defaultValue ~= oldDefaultValue then
78
+ self[0] = defaultValue
79
+ if not self[2] then
80
+ self[1] = defaultValue
81
+ invoke(self.valueChangeEvent, defaultValue, oldDefaultValue)
82
+ end
83
+ end
84
+ end
85
+ },
86
+ true
87
+ )
88
+ __TS__SetDescriptor(
89
+ Property.prototype,
90
+ "value",
91
+ {
92
+ get = function(self)
93
+ return self:get()
94
+ end,
95
+ set = function(self, value)
96
+ self:set(value)
97
+ end
98
+ },
99
+ true
100
+ )
101
+ __TS__SetDescriptor(
102
+ Property.prototype,
103
+ "isChanged",
104
+ {get = function(self)
105
+ return self[2] == true
106
+ end},
107
+ true
108
+ )
109
+ ____exports.PlayerProperty = __TS__Class()
110
+ local PlayerProperty = ____exports.PlayerProperty
111
+ PlayerProperty.name = "PlayerProperty"
112
+ function PlayerProperty.prototype.____constructor(self, defaultValue)
113
+ self.valueChangeEvent = __TS__New(Event)
114
+ self[0] = defaultValue
115
+ self[1] = {}
116
+ self[2] = {}
117
+ end
118
+ function PlayerProperty.prototype.isChanged(self, player)
119
+ return self[2][player] ~= nil
120
+ end
121
+ function PlayerProperty.prototype.reset(self, player)
122
+ if self[2][player] ~= nil then
123
+ self[2][player] = nil
124
+ local initialValue = self[0]
125
+ local oldValue = self[1][player]
126
+ self[1][player] = nil
127
+ if initialValue ~= oldValue then
128
+ invoke(self.valueChangeEvent, player, initialValue, oldValue)
129
+ end
130
+ return true
131
+ end
132
+ return false
133
+ end
134
+ function PlayerProperty.prototype.set(self, player, value)
135
+ self[2][player] = true
136
+ local oldValue = self[1][player]
137
+ self[1][player] = value
138
+ if value ~= oldValue then
139
+ invoke(self.valueChangeEvent, player, value, oldValue)
140
+ return true
141
+ end
142
+ return false
143
+ end
144
+ function PlayerProperty.prototype.get(self, player)
145
+ local ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0
146
+ if self[2][player] ~= nil then
147
+ ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0 = self[1][player]
148
+ else
149
+ ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0 = self[0]
150
+ end
151
+ return ____table_PlayerPropertyPropertyKey_IS_CHANGED_BY_PLAYER_has_result_0
152
+ end
153
+ local NULL_VALUE = {}
154
+ local loadedValueById
155
+ local loadedValueByIdByPlayer = {}
156
+ local localValueById = {}
157
+ local persistentPropertyById = {}
158
+ local persistentPlayerPropertyById = {}
159
+ ____exports.PersistentProperty = __TS__Class()
160
+ local PersistentProperty = ____exports.PersistentProperty
161
+ PersistentProperty.name = "PersistentProperty"
162
+ __TS__ClassExtends(PersistentProperty, ____exports.Property)
163
+ function PersistentProperty.prototype.____constructor(self, id, defaultValue, valueChangeEventListener)
164
+ PersistentProperty.____super.prototype.____constructor(self, defaultValue)
165
+ self.id = id
166
+ ____require(not (persistentPropertyById[id] ~= nil) and not (persistentPlayerPropertyById[id] ~= nil))
167
+ persistentPropertyById[id] = self
168
+ if valueChangeEventListener ~= nil then
169
+ self.valueChangeEvent:addListener(valueChangeEventListener)
170
+ end
171
+ local value = loadedValueById and loadedValueById[id]
172
+ if value ~= nil then
173
+ local ____self_set_4 = self.set
174
+ local ____temp_3
175
+ if value == NULL_VALUE then
176
+ ____temp_3 = nil
177
+ else
178
+ ____temp_3 = value
179
+ end
180
+ ____self_set_4(self, ____temp_3)
181
+ end
182
+ end
183
+ function PersistentProperty.prototype.reset(self)
184
+ if PersistentProperty.____super.prototype.reset(self) then
185
+ localValueById[self.id] = nil
186
+ savePropertyValues()
187
+ return true
188
+ end
189
+ return false
190
+ end
191
+ function PersistentProperty.prototype.set(self, value)
192
+ if PersistentProperty.____super.prototype.set(self, value) then
193
+ localValueById[self.id] = value == nil and NULL_VALUE or value
194
+ savePropertyValues()
195
+ return true
196
+ end
197
+ return false
198
+ end
199
+ ____exports.PersistentPlayerProperty = __TS__Class()
200
+ local PersistentPlayerProperty = ____exports.PersistentPlayerProperty
201
+ PersistentPlayerProperty.name = "PersistentPlayerProperty"
202
+ __TS__ClassExtends(PersistentPlayerProperty, ____exports.PlayerProperty)
203
+ function PersistentPlayerProperty.prototype.____constructor(self, id, initialValue, valueChangeEventListener)
204
+ PersistentPlayerProperty.____super.prototype.____constructor(self, initialValue)
205
+ self.id = id
206
+ ____require(not (persistentPropertyById[id] ~= nil) and not (persistentPlayerPropertyById[id] ~= nil))
207
+ persistentPlayerPropertyById[id] = self
208
+ if valueChangeEventListener ~= nil then
209
+ self.valueChangeEvent:addListener(valueChangeEventListener)
210
+ end
211
+ for ____, player in ipairs(Player.all) do
212
+ local ____opt_5 = loadedValueByIdByPlayer and loadedValueByIdByPlayer[player]
213
+ local value = ____opt_5 and ____opt_5[id]
214
+ if value ~= nil then
215
+ local ____self_set_10 = self.set
216
+ local ____temp_9
217
+ if value == NULL_VALUE then
218
+ ____temp_9 = nil
219
+ else
220
+ ____temp_9 = value
221
+ end
222
+ ____self_set_10(self, player, ____temp_9)
223
+ end
224
+ end
225
+ end
226
+ function PersistentPlayerProperty.prototype.reset(self, player)
227
+ if PersistentPlayerProperty.____super.prototype.reset(self, player) then
228
+ if player.isLocal then
229
+ localValueById[self.id] = nil
230
+ end
231
+ savePropertyValues(player)
232
+ return true
233
+ end
234
+ return false
235
+ end
236
+ function PersistentPlayerProperty.prototype.set(self, player, value)
237
+ if PersistentPlayerProperty.____super.prototype.set(self, player, value) then
238
+ if player.isLocal then
239
+ localValueById[self.id] = value
240
+ end
241
+ savePropertyValues(player)
242
+ return true
243
+ end
244
+ return false
245
+ end
246
+ savePropertyValues = function(player)
247
+ if player ~= nil and not player.isLocal or loadedValueById == nil or loadedValueByIdByPlayer[Player["local"]] == nil then
248
+ return
249
+ end
250
+ local writer = __TS__New(BinaryWriter)
251
+ writer:writeUInt32(0)
252
+ local size = 0
253
+ for ____ in pairs(localValueById) do
254
+ size = size + 1
255
+ end
256
+ writer:writeUInt32(size)
257
+ for id, value in pairs(localValueById) do
258
+ writer:writeInt32(id)
259
+ if value == NULL_VALUE then
260
+ writer:writeUInt8(0)
261
+ elseif value == false then
262
+ writer:writeUInt8(1)
263
+ elseif value == true then
264
+ writer:writeUInt8(2)
265
+ elseif type(value) == "number" then
266
+ if math.type(value) == "integer" then
267
+ writer:writeUInt8(3)
268
+ writer:writeInt32(value)
269
+ else
270
+ writer:writeUInt8(4)
271
+ writer:writeFloat(value)
272
+ end
273
+ else
274
+ writer:writeUInt8(5)
275
+ writer:writeUInt32(#value)
276
+ writer:writeBytes(value)
277
+ end
278
+ end
279
+ file.write(
280
+ ____exports.PersistentPropertiesConfig.defaultFileName,
281
+ base64.encode(lzw.compress(tostring(writer)))
282
+ )
283
+ end
284
+ local function loadPropertyValues(fileData, player)
285
+ do
286
+ local function ____catch(_)
287
+ return true, {}
288
+ end
289
+ local ____try, ____hasReturned, ____returnValue = pcall(function()
290
+ local valueById = {}
291
+ local reader = __TS__New(
292
+ BinaryReader,
293
+ lzw.decompress(base64.decode(fileData))
294
+ )
295
+ reader:readUInt32()
296
+ local size = reader:readUInt32()
297
+ for _ = 1, size do
298
+ local id = reader:readInt32()
299
+ local dataType = reader:readUInt8()
300
+ if dataType == 0 then
301
+ valueById[id] = NULL_VALUE
302
+ elseif dataType == 1 then
303
+ valueById[id] = false
304
+ elseif dataType == 2 then
305
+ valueById[id] = true
306
+ elseif dataType == 3 then
307
+ valueById[id] = reader:readInt32()
308
+ elseif dataType == 4 then
309
+ valueById[id] = reader:readFloat()
310
+ elseif dataType == 5 then
311
+ valueById[id] = reader:readBytes(reader:readUInt32())
312
+ end
313
+ end
314
+ for id, value in pairs(valueById) do
315
+ local persistentProperty = persistentPropertyById[id]
316
+ if persistentProperty ~= nil then
317
+ if not persistentProperty.isChanged then
318
+ local ____persistentProperty_set_12 = persistentProperty.set
319
+ local ____temp_11
320
+ if value == NULL_VALUE then
321
+ ____temp_11 = nil
322
+ else
323
+ ____temp_11 = value
324
+ end
325
+ ____persistentProperty_set_12(persistentProperty, ____temp_11)
326
+ end
327
+ elseif player ~= nil then
328
+ local persistentPlayerProperty = persistentPlayerPropertyById[id]
329
+ if persistentPlayerProperty ~= nil then
330
+ if not persistentPlayerProperty:isChanged(player) then
331
+ local ____persistentPlayerProperty_set_15 = persistentPlayerProperty.set
332
+ local ____player_14 = player
333
+ local ____temp_13
334
+ if value == NULL_VALUE then
335
+ ____temp_13 = nil
336
+ else
337
+ ____temp_13 = value
338
+ end
339
+ ____persistentPlayerProperty_set_15(persistentPlayerProperty, ____player_14, ____temp_13)
340
+ end
341
+ elseif player.isLocal then
342
+ localValueById[id] = value
343
+ end
344
+ else
345
+ localValueById[id] = value
346
+ end
347
+ end
348
+ return true, valueById
349
+ end)
350
+ if not ____try then
351
+ ____hasReturned, ____returnValue = ____catch(____hasReturned)
352
+ end
353
+ if ____hasReturned then
354
+ return ____returnValue
355
+ end
356
+ end
357
+ end
358
+ Timer:run(function()
359
+ return __TS__AsyncAwaiter(function(____awaiter_resolve)
360
+ local data = file.read(____exports.PersistentPropertiesConfig.defaultFileName) or ""
361
+ loadedValueById = loadPropertyValues(data)
362
+ for ____, player in ipairs(Player.all) do
363
+ local ____self_16 = synchronize(player, data)
364
+ ____self_16["then"](
365
+ ____self_16,
366
+ function(____, synchronizedData)
367
+ loadedValueByIdByPlayer[player] = loadPropertyValues(synchronizedData, player)
368
+ savePropertyValues(player)
369
+ end,
370
+ function()
371
+ loadedValueByIdByPlayer[player] = {}
372
+ savePropertyValues(player)
373
+ end
374
+ )
375
+ end
376
+ end)
377
+ end)
378
+ return ____exports
package/string.d.ts CHANGED
@@ -59,6 +59,22 @@ declare global {
59
59
  function toNumber(string: string): number;
60
60
  }
61
61
  }
62
+ declare global {
63
+ namespace string {
64
+ /**
65
+ * Returns the index within the string of the first occurrence of the specified substring, starting from the specified `startIndex`,
66
+ * or -1 if the string does not contain such substring.
67
+ */
68
+ function indexOf(string: string, substring: string, startIndex?: number): number;
69
+ }
70
+ interface String {
71
+ /**
72
+ * Returns the index within this string of the first occurrence of the specified substring, starting from the specified `startIndex`,
73
+ * or -1 if the string does not contain such substring.
74
+ */
75
+ indexOf(substring: string, startIndex?: number): number;
76
+ }
77
+ }
62
78
  declare global {
63
79
  interface String {
64
80
  /**
package/string.lua CHANGED
@@ -2,6 +2,7 @@ local ____exports = {}
2
2
  local ____error = _G.error
3
3
  local tonumber = _G.tonumber
4
4
  local match = string.match
5
+ local find = string.find
5
6
  local sub = string.sub
6
7
  _G.string.removePrefix = function(____string, prefix)
7
8
  local prefixLength = #prefix
@@ -17,6 +18,10 @@ end
17
18
  _G.string.toNumber = function(____string)
18
19
  return tonumber(____string) or ____error(("'" .. ____string) .. "' is not a valid representation of a number.")
19
20
  end
21
+ _G.string.indexOf = function(____string, substring, startIndex)
22
+ local index = find(____string, substring, (startIndex or 0) + 1, true)
23
+ return (index or 0) - 1
24
+ end
20
25
  _G.string.indexOfLast = function(____string, predicate)
21
26
  for i = #____string, 1, -1 do
22
27
  if predicate(sub(____string, i, i)) then
package/util/stream.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
2
  export interface Stream<T> {
4
3
  toArray(): T[];
@@ -1,12 +1,11 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
2
  import { TupleOf } from "./types";
4
3
  export declare const emptyArray: <T>() => readonly T[];
5
4
  export declare const joinToString: <T>(array: readonly T[], separator: string, transform?: (element: T) => string) => string;
6
- export declare const arrayOfNotNull: <T>(...elements: readonly (T | null | undefined)[]) => T[];
5
+ export declare const arrayOfNotNull: <T>(...elements: readonly (T | undefined | null)[]) => T[];
7
6
  export declare const array: <T, N extends number>(length: N, initialize: (index: number) => T) => TupleOf<T, N>;
8
7
  export declare const toLuaSet: <T extends AnyNotNil>(array: readonly T[]) => LuaSet<T>;
9
- export declare const forEach: <T, Args extends any[]>(array: readonly T[], consumerOrKey: KeysOfType<T, (this: T, ...args: Args) => void> | ((value: T, ...args: Args) => void), ...args: Args) => void;
8
+ export declare const forEach: <T, Args extends any[]>(array: readonly T[], consumerOrKey: ((value: T, ...args: Args) => void) | KeysOfType<T, (this: T, ...args: Args) => void>, ...args: Args) => void;
10
9
  export declare const all: {
11
10
  <T>(array: readonly T[], transform: (value: T) => boolean): boolean;
12
11
  <T>(array: readonly T[], key: KeysOfType<T, boolean>): boolean;
@@ -45,7 +44,7 @@ export declare const max: (array: readonly number[]) => number;
45
44
  export declare const intersperse: <T>(array: readonly T[], delimiter: T) => T[];
46
45
  export declare const zip: <T, R, V>(array: readonly T[], otherArray: readonly R[], transform: (value: T, otherValue: R) => V) => V[];
47
46
  export declare const chunked: <T>(array: readonly T[], size: number) => T[][];
48
- export declare const sortBy: <T, R>(array: T[], selector: KeysOfType<T, R> | ((value: T) => R)) => void;
47
+ export declare const sortBy: <T, R>(array: T[], selector: ((value: T) => R) | KeysOfType<T, R>) => void;
49
48
  export declare const sortedBy: {
50
49
  <T, R>(array: readonly T[], selector: (value: T) => R): T[];
51
50
  <T, K extends keyof T>(array: readonly T[], key: K): T[];
@@ -1,5 +1,3 @@
1
- /// <reference types="@warscript/language-extensions" />
2
- /// <reference types="@typescript-to-lua/language-extensions" />
3
1
  /** @noSelfInFile */
4
2
  interface IBitSet<T extends number> {
5
3
  readonly has: LuaBitwiseAndEqualsRightMethod<T>;
@@ -1,4 +1,3 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
2
  type IteratorState<T extends AnyNotNil> = {
4
3
  t: LuaMap<T, T>;
@@ -46,5 +45,5 @@ export declare class LinkedSet<T extends AnyNotNil> implements ReadonlyLinkedSet
46
45
  }
47
46
  export declare const emptyLinkedSet: <T extends AnyNotNil>() => ReadonlyLinkedSet<T>;
48
47
  export declare const linkedSetOf: <T extends AnyNotNil>(...elements: readonly T[]) => LinkedSet<T>;
49
- export declare const linkedSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | null | undefined)[]) => LinkedSet<T>;
48
+ export declare const linkedSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | undefined | null)[]) => LinkedSet<T>;
50
49
  export {};
@@ -1,6 +1,5 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
2
  import { Flatten, TupleOf } from "./types";
4
- export declare const luaMapOf: <K extends AnyNotNil, V>(...pairs: Flatten<TupleOf<[K, V], 0 | 2 | 1 | 22 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 31 | 40 | 30 | 32 | 23 | 24 | 25 | 26 | 28 | 29 | 33 | 34 | 35 | 36 | 37 | 38 | 39>>) => LuaMap<K, V>;
3
+ export declare const luaMapOf: <K extends AnyNotNil, V>(...pairs: Flatten<TupleOf<[K, V], 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40>>) => LuaMap<K, V>;
5
4
  export declare const luaMapInvert: <K extends AnyNotNil, V extends AnyNotNil>(luaMap: LuaMap<K, V>) => LuaMap<V, K>;
6
5
  export declare const mapValues: <K extends AnyNotNil, V1, V2>(luaMap: LuaMap<K, V1>, transform: (value: V1) => V2) => LuaMap<K, V2>;
@@ -1,6 +1,5 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
2
  export declare const luaSetOf: <T extends AnyNotNil>(...elements: readonly T[]) => LuaSet<T>;
4
- export declare const luaSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | null | undefined)[]) => LuaSet<T>;
3
+ export declare const luaSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | undefined | null)[]) => LuaSet<T>;
5
4
  export declare const luaSetIntersection: <T extends AnyNotNil>(firstLuaSet: ReadonlyLuaSet<T>, secondLuaSet: ReadonlyLuaSet<T>) => LuaSet<T>;
6
5
  export declare const luaSetContainsAnyOf: <T extends AnyNotNil>(luaSet: ReadonlyLuaSet<T>, ...elements: readonly T[]) => boolean;
@@ -1,8 +0,0 @@
1
- /** @noSelfInFile */
2
- import { Rect } from "./types/rect";
3
- import { Region } from "./types/region";
4
- export declare const boundRect: Rect;
5
- export declare const boundRegion: Region;
6
- export declare const boundMin: Readonly<Vec2>;
7
- export declare const boundMax: Readonly<Vec2>;
8
- export declare const boundCenter: Readonly<Vec2>;
@@ -1,12 +0,0 @@
1
- local ____exports = {}
2
- local ____rect = require("core.types.rect")
3
- local Rect = ____rect.Rect
4
- local ____region = require("core.types.region")
5
- local Region = ____region.Region
6
- ____exports.boundRect = Rect:of(GetWorldBounds())
7
- ____exports.boundRegion = Region:create()
8
- ____exports.boundRegion:addRect(____exports.boundRect)
9
- ____exports.boundMin = vec2(____exports.boundRect.minX, ____exports.boundRect.minY)
10
- ____exports.boundMax = vec2(____exports.boundRect.maxX, ____exports.boundRect.maxY)
11
- ____exports.boundCenter = (____exports.boundMin + ____exports.boundMax) * 0.5
12
- return ____exports