warscript 0.0.1-dev.aae5649 → 0.0.1-dev.c37d12c

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.
@@ -37,6 +37,7 @@ export type ReadonlyObjectFieldType<T extends ObjectField<any, any, any, any>> =
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;
40
+ accepts(value: unknown): value is ValueType;
40
41
  protected abstract getNativeFieldValue(instance: InstanceType): ValueType;
41
42
  protected abstract setNativeFieldValue(instance: InstanceType, value: ValueType): boolean;
42
43
  getValue(entry: ObjectDataEntryType | InstanceType): ValueType;
@@ -71,6 +72,7 @@ export declare abstract class ObjectArrayField<ObjectDataEntryType extends Objec
71
72
  }
72
73
  export declare abstract class ObjectLevelField<ObjectDataEntryType extends ObjectDataEntry = ObjectDataEntry, InstanceType extends AnyNotNil = AnyNotNil, ValueType extends number | string | boolean = number | string | boolean, InputValueType extends ValueType = never, NativeFieldType = unknown> extends ObjectFieldBase<ObjectDataEntryType, InstanceType, ValueType[], NativeFieldType> {
73
74
  protected abstract readonly defaultValue: ValueType;
75
+ accepts(value: unknown): value is ValueType;
74
76
  protected abstract getNativeFieldValue(instance: InstanceType, level: number): ValueType;
75
77
  protected abstract setNativeFieldValue(instance: InstanceType, level: number, value: ValueType): boolean;
76
78
  protected abstract getLevelCount(entry: ObjectDataEntryType | InstanceType): number;
@@ -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")
@@ -70,6 +71,9 @@ ____exports.ObjectField = __TS__Class()
70
71
  local ObjectField = ____exports.ObjectField
71
72
  ObjectField.name = "ObjectField"
72
73
  __TS__ClassExtends(ObjectField, ObjectFieldBase)
74
+ function ObjectField.prototype.accepts(self, value)
75
+ return __TS__TypeOf(value) == __TS__TypeOf(self.defaultValue)
76
+ end
73
77
  function ObjectField.prototype.getValue(self, entry)
74
78
  if __TS__InstanceOf(entry, ObjectDataEntry) then
75
79
  local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
@@ -269,6 +273,9 @@ ____exports.ObjectLevelField = __TS__Class()
269
273
  local ObjectLevelField = ____exports.ObjectLevelField
270
274
  ObjectLevelField.name = "ObjectLevelField"
271
275
  __TS__ClassExtends(ObjectLevelField, ObjectFieldBase)
276
+ function ObjectLevelField.prototype.accepts(self, value)
277
+ return __TS__TypeOf(value) == __TS__TypeOf(self.defaultValue)
278
+ end
272
279
  function ObjectLevelField.prototype.getValue(self, entry, level)
273
280
  if level == nil then
274
281
  local result = {}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "warscript",
4
- "version": "0.0.1-dev.aae5649",
4
+ "version": "0.0.1-dev.c37d12c",
5
5
  "description": "A typescript library for Warcraft III using Warpack.",
6
6
  "keywords": [
7
7
  "warcraft",