warscript 0.0.1-dev.404878c → 0.0.1-dev.a12bd26
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/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-field.d.ts +4 -2
- package/engine/object-field.lua +22 -0
- package/exception.d.ts +2 -0
- package/exception.lua +4 -0
- package/package.json +1 -1
- package/utility/arrays.d.ts +1 -1
- package/utility/arrays.lua +4 -1
|
@@ -7,7 +7,7 @@ local ____exports = {}
|
|
|
7
7
|
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
8
8
|
local AbilityType = ____ability_2Dtype.AbilityType
|
|
9
9
|
local ____arrays = require("utility.arrays")
|
|
10
|
-
local
|
|
10
|
+
local emptyArray = ____arrays.emptyArray
|
|
11
11
|
local map = ____arrays.map
|
|
12
12
|
local ____buff_2Dtype = require("engine.object-data.entry.buff-type")
|
|
13
13
|
local BuffType = ____buff_2Dtype.BuffType
|
|
@@ -78,7 +78,7 @@ __TS__SetDescriptor(
|
|
|
78
78
|
function(levelAbilityUpgrades)
|
|
79
79
|
return levelAbilityUpgrades[i + 1]
|
|
80
80
|
end
|
|
81
|
-
) or (abilityUpgrades[i + 1] or
|
|
81
|
+
) or (abilityUpgrades[i + 1] or emptyArray())
|
|
82
82
|
)
|
|
83
83
|
end
|
|
84
84
|
end
|
package/engine/object-field.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type ObjectFieldValueChangeEvent<T extends ObjectField<any, any, any, any
|
|
|
33
33
|
previousValue: ValueType,
|
|
34
34
|
newValue: ValueType
|
|
35
35
|
]> : never;
|
|
36
|
-
export type ReadonlyObjectFieldType<T extends ObjectField<any, any, any, any>> = Omit<T, "setValue" | "removeValue">;
|
|
36
|
+
export type ReadonlyObjectFieldType<T extends ObjectField<any, any, any, any>> = Omit<T, "setValue" | "removeValue" | "trySetValue">;
|
|
37
37
|
type ReadonlyObjectFieldConstructor<T extends ObjectField> = OmitConstructor<typeof ObjectField> & (abstract new (...args: any[]) => ReadonlyObjectFieldType<T>);
|
|
38
38
|
export declare abstract class ObjectField<ObjectDataEntryType extends ObjectDataEntry = ObjectDataEntry, InstanceType extends AnyNotNil = AnyNotNil, ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = unknown> extends ObjectFieldBase<ObjectDataEntryType, InstanceType, ValueType, NativeFieldType> {
|
|
39
39
|
protected abstract readonly defaultValue: ValueType;
|
|
@@ -42,12 +42,13 @@ export declare abstract class ObjectField<ObjectDataEntryType extends ObjectData
|
|
|
42
42
|
getValue(entry: ObjectDataEntryType | InstanceType): ValueType;
|
|
43
43
|
setValue(entry: ObjectDataEntryType | InstanceType, value: ValueType): boolean;
|
|
44
44
|
removeValue(entry: ObjectDataEntryType): boolean;
|
|
45
|
+
trySetValue(entry: ObjectDataEntryType | InstanceType, value: unknown): boolean;
|
|
45
46
|
private invokeValueChangeEvent;
|
|
46
47
|
private invokeValueChangeEventRecursive;
|
|
47
48
|
protected static getOrCreateValueChangeEvent<T extends ObjectField, R extends ReadonlyObjectFieldType<T>>(this: ReadonlyObjectFieldConstructor<T>): ObjectFieldValueChangeEvent<R>;
|
|
48
49
|
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<ObjectField>>;
|
|
49
50
|
}
|
|
50
|
-
export type ReadonlyObjectLevelFieldType<T extends ObjectLevelField<any, any, any, any>> = Omit<T, "setValue">;
|
|
51
|
+
export type ReadonlyObjectLevelFieldType<T extends ObjectLevelField<any, any, any, any>> = Omit<T, "setValue" | "trySetValue">;
|
|
51
52
|
export type ObjectLevelFieldValueChangeEvent<T extends ObjectLevelField<any, any, any, any> | ReadonlyObjectLevelFieldType<ObjectLevelField<any, any, any, any>>> = T extends ObjectLevelField<any, infer InstanceType, infer ValueType, any, any> ? DispatchingEvent<[
|
|
52
53
|
instance: InstanceType,
|
|
53
54
|
field: T,
|
|
@@ -76,6 +77,7 @@ export declare abstract class ObjectLevelField<ObjectDataEntryType extends Objec
|
|
|
76
77
|
protected abstract getLevelCount(entry: ObjectDataEntryType | InstanceType): number;
|
|
77
78
|
getValue<LevelType extends [number] | []>(entry: ObjectDataEntryType | InstanceType, ...[level]: LevelType): LevelType extends [number] ? ValueType : ValueType[];
|
|
78
79
|
setValue(entry: ObjectDataEntryType | InstanceType, ...[levelOrValue, value]: [value: ObjectDataEntryLevelFieldValueSupplier<InputValueType, ValueType>] | [level: number, value: InputValueType]): boolean;
|
|
80
|
+
trySetValue(entry: ObjectDataEntryType | InstanceType, levelOrValue: number | unknown, value?: unknown): boolean;
|
|
79
81
|
private invokeValueChangeEvent;
|
|
80
82
|
private invokeValueChangeEventRecursive;
|
|
81
83
|
protected static getOrCreateValueChangeEvent<T extends ObjectLevelField, R extends ReadonlyObjectLevelFieldType<T>>(this: ReadonlyObjectLevelFieldConstructor<T>): ObjectLevelFieldValueChangeEvent<R>;
|
package/engine/object-field.lua
CHANGED
|
@@ -4,6 +4,7 @@ local __TS__Class = ____lualib.__TS__Class
|
|
|
4
4
|
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
5
5
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
6
6
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
7
|
+
local __TS__TypeOf = ____lualib.__TS__TypeOf
|
|
7
8
|
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
8
9
|
local ____exports = {}
|
|
9
10
|
local ____event = require("event")
|
|
@@ -155,6 +156,12 @@ function ObjectField.prototype.removeValue(self, entry)
|
|
|
155
156
|
end
|
|
156
157
|
return false
|
|
157
158
|
end
|
|
159
|
+
function ObjectField.prototype.trySetValue(self, entry, value)
|
|
160
|
+
if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
|
|
161
|
+
return false
|
|
162
|
+
end
|
|
163
|
+
return self:setValue(entry, value)
|
|
164
|
+
end
|
|
158
165
|
function ObjectField.prototype.invokeValueChangeEvent(self, ...)
|
|
159
166
|
self:invokeValueChangeEventRecursive(
|
|
160
167
|
getClass(self),
|
|
@@ -399,6 +406,21 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
|
399
406
|
end
|
|
400
407
|
return true
|
|
401
408
|
end
|
|
409
|
+
function ObjectLevelField.prototype.trySetValue(self, entry, levelOrValue, value)
|
|
410
|
+
if value ~= nil then
|
|
411
|
+
if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
|
|
412
|
+
return false
|
|
413
|
+
end
|
|
414
|
+
if type(levelOrValue) ~= "number" then
|
|
415
|
+
return false
|
|
416
|
+
end
|
|
417
|
+
return self:setValue(entry, levelOrValue, value)
|
|
418
|
+
end
|
|
419
|
+
if __TS__TypeOf(levelOrValue) ~= __TS__TypeOf(self.defaultValue) then
|
|
420
|
+
return false
|
|
421
|
+
end
|
|
422
|
+
return self:setValue(entry, levelOrValue)
|
|
423
|
+
end
|
|
402
424
|
function ObjectLevelField.prototype.invokeValueChangeEvent(self, ...)
|
|
403
425
|
self:invokeValueChangeEventRecursive(
|
|
404
426
|
getClass(self),
|
package/exception.d.ts
CHANGED
package/exception.lua
CHANGED
|
@@ -50,4 +50,8 @@ ____exports.CancellationException = __TS__Class()
|
|
|
50
50
|
local CancellationException = ____exports.CancellationException
|
|
51
51
|
CancellationException.name = "CancellationException"
|
|
52
52
|
__TS__ClassExtends(CancellationException, ____exports.Exception)
|
|
53
|
+
____exports.UnsupportedOperationException = __TS__Class()
|
|
54
|
+
local UnsupportedOperationException = ____exports.UnsupportedOperationException
|
|
55
|
+
UnsupportedOperationException.name = "UnsupportedOperationException"
|
|
56
|
+
__TS__ClassExtends(UnsupportedOperationException, ____exports.Exception)
|
|
53
57
|
return ____exports
|
package/package.json
CHANGED
package/utility/arrays.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
2
|
/** @noSelfInFile */
|
|
3
3
|
import { TupleOf } from "./types";
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const emptyArray: <T>() => readonly T[];
|
|
5
5
|
export declare const joinToString: <T>(array: readonly T[], separator: string, transform?: (element: T) => string) => string;
|
|
6
6
|
export declare const arrayOfNotNull: <T>(...elements: readonly (T | null | undefined)[]) => T[];
|
|
7
7
|
export declare const array: <T, N extends number>(length: N, initialize: (index: number) => T) => TupleOf<T, N>;
|
package/utility/arrays.lua
CHANGED
|
@@ -8,7 +8,10 @@ local mathMin = math.min
|
|
|
8
8
|
local select = _G.select
|
|
9
9
|
local tableConcat = table.concat
|
|
10
10
|
local tableSort = table.sort
|
|
11
|
-
|
|
11
|
+
local EMPTY_ARRAY = {}
|
|
12
|
+
____exports.emptyArray = function()
|
|
13
|
+
return EMPTY_ARRAY
|
|
14
|
+
end
|
|
12
15
|
____exports.joinToString = function(array, separator, transform)
|
|
13
16
|
if transform == nil then
|
|
14
17
|
transform = tostring
|