typed-factorio 1.8.0 → 1.9.0

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.
@@ -654,7 +654,7 @@ interface PollutionMapSettings {
654
654
  /**
655
655
  * The amount of pollution eaten by a chunk's tiles as a percentage of 1. Defaults to `1`.
656
656
  */
657
- readonly aeging: double
657
+ readonly ageing: double
658
658
  /**
659
659
  * Any amount of pollution larger than this value is visualized as this value instead. Defaults to `150`.
660
660
  */
@@ -3166,11 +3166,11 @@ interface WaitCondition {
3166
3166
  */
3167
3167
  readonly compare_type: "and" | "or"
3168
3168
  /**
3169
- * Number of ticks to wait or of inactivity. Only present when `type` is `"time"` or `"inactivity"`.
3169
+ * Number of ticks to wait when `type` is `"time"`, or number of ticks of inactivity when `type` is `"inactivity"`.
3170
3170
  */
3171
3171
  readonly ticks?: uint
3172
3172
  /**
3173
- * Only present when `type` is `"item_count"`, `"circuit"` or `"fluid_count"`.
3173
+ * Only present when `type` is `"item_count"`, `"circuit"` or `"fluid_count"`, and a circuit condition is configured.
3174
3174
  */
3175
3175
  readonly condition?: CircuitCondition
3176
3176
  }
@@ -3199,11 +3199,11 @@ interface WaitConditionWrite {
3199
3199
  */
3200
3200
  readonly compare_type: "and" | "or"
3201
3201
  /**
3202
- * Number of ticks to wait or of inactivity. Only present when `type` is `"time"` or `"inactivity"`.
3202
+ * Number of ticks to wait when `type` is `"time"`, or number of ticks of inactivity when `type` is `"inactivity"`.
3203
3203
  */
3204
3204
  readonly ticks?: uint
3205
3205
  /**
3206
- * Only present when `type` is `"item_count"`, `"circuit"` or `"fluid_count"`.
3206
+ * Only present when `type` is `"item_count"`, `"circuit"` or `"fluid_count"`, and a circuit condition is configured.
3207
3207
  */
3208
3208
  readonly condition?: CircuitConditionWrite
3209
3209
  }
@@ -3537,7 +3537,7 @@ interface ModuleEffects {
3537
3537
  }
3538
3538
 
3539
3539
  /**
3540
- * A set of flags. Set flags are in the dictionary as `true`, while unset flags aren't present at all.
3540
+ * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3541
3541
  *
3542
3542
  * By default, none of these flags are set.
3543
3543
  *
@@ -3675,7 +3675,7 @@ interface EntityPrototypeFlags {
3675
3675
  }
3676
3676
 
3677
3677
  /**
3678
- * A set of flags. Set flags are in the dictionary as `true`, while unset flags aren't present at all.
3678
+ * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3679
3679
  *
3680
3680
  * By default, none of these flags are set.
3681
3681
  *
@@ -3778,7 +3778,7 @@ type CollisionMaskLayer =
3778
3778
  | `layer-${bigint}`
3779
3779
 
3780
3780
  /**
3781
- * A set of flags. Set flags are in the dictionary as `true`, while unset flags aren't present at all.
3781
+ * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
3782
3782
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#CollisionMask Online documentation}
3783
3783
  */
3784
3784
  type CollisionMask = {
@@ -4018,87 +4018,198 @@ interface OtherAttackParameters extends BaseAttackParameters {
4018
4018
  */
4019
4019
  type AttackParameters = ProjectileAttackParameters | StreamAttackParameters | OtherAttackParameters
4020
4020
 
4021
- interface CapsuleAction {
4021
+ interface BaseCapsuleAction {
4022
4022
  /**
4023
- * One of `"throw"`, `"equipment-remote"`, `"use-on-self"`.
4023
+ * One of `"throw"`, `"equipment-remote"`, `"use-on-self"`, `"artillery-remote"`, `"destroy-cliffs"`.
4024
4024
  */
4025
- readonly type: "throw" | "equipment-remote" | "use-on-self"
4025
+ readonly type: "throw" | "equipment-remote" | "use-on-self" | "artillery-remote" | "destroy-cliffs"
4026
+ }
4027
+
4028
+ /**
4029
+ * `"throw"` variant of {@link CapsuleAction}.
4030
+ */
4031
+ interface ThrowCapsuleAction extends BaseCapsuleAction {
4032
+ readonly type: "throw"
4033
+ readonly attack_parameters: AttackParameters
4034
+ /**
4035
+ * Whether using the capsule consumes an item from the stack.
4036
+ */
4037
+ readonly uses_stack: boolean
4038
+ }
4039
+
4040
+ /**
4041
+ * `"equipment-remote"` variant of {@link CapsuleAction}.
4042
+ */
4043
+ interface EquipmentRemoteCapsuleAction extends BaseCapsuleAction {
4044
+ readonly type: "equipment-remote"
4026
4045
  /**
4027
- * Only present when `type` is `"throw"` or `"use-on-self"`.
4046
+ * Name of the {@link LuaEquipmentPrototype}.
4028
4047
  */
4029
- readonly attack_parameters?: AttackParameters
4048
+ readonly equipment: string
4049
+ }
4050
+
4051
+ /**
4052
+ * `"use-on-self"` variant of {@link CapsuleAction}.
4053
+ */
4054
+ interface UseOnSelfCapsuleAction extends BaseCapsuleAction {
4055
+ readonly type: "use-on-self"
4056
+ readonly attack_parameters: AttackParameters
4057
+ }
4058
+
4059
+ /**
4060
+ * `"artillery-remote"` variant of {@link CapsuleAction}.
4061
+ */
4062
+ interface ArtilleryRemoteCapsuleAction extends BaseCapsuleAction {
4063
+ readonly type: "artillery-remote"
4030
4064
  /**
4031
- * Only present when `type` is `"equipment-remote"`. It is the equipment prototype name.
4065
+ * Name of the {@link LuaEntityPrototype flare prototype}.
4032
4066
  */
4033
- readonly equipment?: string
4067
+ readonly flare: string
4068
+ }
4069
+
4070
+ /**
4071
+ * `"destroy-cliffs"` variant of {@link CapsuleAction}.
4072
+ */
4073
+ interface DestroyCliffsCapsuleAction extends BaseCapsuleAction {
4074
+ readonly type: "destroy-cliffs"
4075
+ readonly attack_parameters: AttackParameters
4076
+ readonly radius: float
4077
+ readonly timeout: uint
4034
4078
  }
4035
4079
 
4036
4080
  /**
4037
- * A set of flags. Set flags are in the dictionary as `true`, while unset flags aren't present at all.
4081
+ * Other attributes may be specified depending on `type`:
4082
+ * - `"throw"`: {@link ThrowCapsuleAction}
4083
+ * - `"equipment-remote"`: {@link EquipmentRemoteCapsuleAction}
4084
+ * - `"use-on-self"`: {@link UseOnSelfCapsuleAction}
4085
+ * - `"artillery-remote"`: {@link ArtilleryRemoteCapsuleAction}
4086
+ * - `"destroy-cliffs"`: {@link DestroyCliffsCapsuleAction}
4087
+ * @see {@link https://lua-api.factorio.com/latest/Concepts.html#CapsuleAction Online documentation}
4088
+ */
4089
+ type CapsuleAction =
4090
+ | ThrowCapsuleAction
4091
+ | EquipmentRemoteCapsuleAction
4092
+ | UseOnSelfCapsuleAction
4093
+ | ArtilleryRemoteCapsuleAction
4094
+ | DestroyCliffsCapsuleAction
4095
+
4096
+ /**
4097
+ * A set of flags on a selection tool that define how entities and tiles are selected. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
4038
4098
  *
4039
4099
  * **Options:**
4040
- * - `"blueprint"`: Entities that can be selected for blueprint.
4041
- * - `"deconstruct"`: Entities that can be marked for deconstruction.
4042
- * - `"cancel-deconstruct"`: Entities that can be marked for deconstruction cancelling.
4043
- * - `"item"`
4044
- * - `"trees"`
4045
- * - `"buildable-type"`: Buildable entities.
4046
- * - `"nothing"`: Only select an area.
4047
- * - `"items-to-place"`: Entities that can be placed using an item.
4048
- * - `"any-entity"`
4049
- * - `"any-tile"`
4050
- * - `"same-force"`: Entities with the same force as the selector.
4051
- * - `"not-same-force"`
4052
- * - `"friend"`
4053
- * - `"enemy"`
4054
- * - `"upgrade"`
4055
- * - `"cancel-upgrade"`
4056
- * - `"entity-with-health"`
4057
- * - `"entity-with-force"`
4058
- * - `"entity-with-owner"`
4100
+ * - `"blueprint"`: Selects entities and tiles as if selecting them for a blueprint.
4101
+ * - `"deconstruct"`: Selects entities and tiles as if selecting them for deconstruction.
4102
+ * - `"cancel-deconstruct"`: Selects entities and tiles as if selecting them for deconstruction cancellation.
4103
+ * - `"items"`: Selects items on the ground.
4104
+ * - `"trees"`: Selects trees.
4105
+ * - `"buildable-type"`: Selects entities which are considered a {@link LuaEntityPrototype#is_building building}, plus landmines.
4106
+ * - `"nothing"`: Selects no entities or tiles, but is useful to select an area.
4107
+ * - `"items-to-place"`: Selects entities and tiles that can be {@link LuaItemPrototype#place_result built by an item}.
4108
+ * - `"any-entity"`: Selects all entities.
4109
+ * - `"any-tile"`: Selects all tiles.
4110
+ * - `"same-force"`: Selects entities with the same force as the selecting player.
4111
+ * - `"not-same-force"`: Selects entities with a different force as the selecting player.
4112
+ * - `"friend"`: Selects entities from a {@link LuaForce#is_friend friendly} force.
4113
+ * - `"enemy"`: Selects entities from an {@link LuaForce#is_enemy enemy} force.
4114
+ * - `"upgrade"`: Selects entities as if selecting them for upgrading.
4115
+ * - `"cancel-upgrade"`: Selects entities as if selecting them for upgrade cancellation.
4116
+ * - `"downgrade"`: Selects entities as if selecting them for downgrading.
4117
+ * - `"entity-with-health"`: Selects entities that are {@link LuaEntity#is_entity_with_health entities with health}.
4118
+ * - `"entity-with-force"`: Deprecated. Replaced by `is-military-target`.
4119
+ * - `"is-military-target"`: Selects entities that are {@link LuaEntity#is_military_target military targets}.
4120
+ * - `"entity-with-owner"`: Selects entities that are {@link LuaEntity#is_entity_with_owner entities with owner}.
4121
+ * - `"avoid-rolling-stock"`: Selects entities that are not `rolling-stocks`.
4059
4122
  * @see {@link https://lua-api.factorio.com/latest/Concepts.html#SelectionModeFlags Online documentation}
4060
4123
  */
4061
4124
  interface SelectionModeFlags {
4062
4125
  /**
4063
- * Entities that can be selected for blueprint.
4126
+ * Selects entities and tiles as if selecting them for a blueprint.
4064
4127
  */
4065
4128
  readonly blueprint?: true
4066
4129
  /**
4067
- * Entities that can be marked for deconstruction.
4130
+ * Selects entities and tiles as if selecting them for deconstruction.
4068
4131
  */
4069
4132
  readonly deconstruct?: true
4070
4133
  /**
4071
- * Entities that can be marked for deconstruction cancelling.
4134
+ * Selects entities and tiles as if selecting them for deconstruction cancellation.
4072
4135
  */
4073
4136
  readonly "cancel-deconstruct"?: true
4074
- readonly item?: true
4137
+ /**
4138
+ * Selects items on the ground.
4139
+ */
4140
+ readonly items?: true
4141
+ /**
4142
+ * Selects trees.
4143
+ */
4075
4144
  readonly trees?: true
4076
4145
  /**
4077
- * Buildable entities.
4146
+ * Selects entities which are considered a {@link LuaEntityPrototype#is_building building}, plus landmines.
4078
4147
  */
4079
4148
  readonly "buildable-type"?: true
4080
4149
  /**
4081
- * Only select an area.
4150
+ * Selects no entities or tiles, but is useful to select an area.
4082
4151
  */
4083
4152
  readonly nothing?: true
4084
4153
  /**
4085
- * Entities that can be placed using an item.
4154
+ * Selects entities and tiles that can be {@link LuaItemPrototype#place_result built by an item}.
4086
4155
  */
4087
4156
  readonly "items-to-place"?: true
4157
+ /**
4158
+ * Selects all entities.
4159
+ */
4088
4160
  readonly "any-entity"?: true
4161
+ /**
4162
+ * Selects all tiles.
4163
+ */
4089
4164
  readonly "any-tile"?: true
4090
4165
  /**
4091
- * Entities with the same force as the selector.
4166
+ * Selects entities with the same force as the selecting player.
4092
4167
  */
4093
4168
  readonly "same-force"?: true
4169
+ /**
4170
+ * Selects entities with a different force as the selecting player.
4171
+ */
4094
4172
  readonly "not-same-force"?: true
4173
+ /**
4174
+ * Selects entities from a {@link LuaForce#is_friend friendly} force.
4175
+ */
4095
4176
  readonly friend?: true
4177
+ /**
4178
+ * Selects entities from an {@link LuaForce#is_enemy enemy} force.
4179
+ */
4096
4180
  readonly enemy?: true
4181
+ /**
4182
+ * Selects entities as if selecting them for upgrading.
4183
+ */
4097
4184
  readonly upgrade?: true
4185
+ /**
4186
+ * Selects entities as if selecting them for upgrade cancellation.
4187
+ */
4098
4188
  readonly "cancel-upgrade"?: true
4189
+ /**
4190
+ * Selects entities as if selecting them for downgrading.
4191
+ */
4192
+ readonly downgrade?: true
4193
+ /**
4194
+ * Selects entities that are {@link LuaEntity#is_entity_with_health entities with health}.
4195
+ */
4099
4196
  readonly "entity-with-health"?: true
4197
+ /**
4198
+ * Deprecated. Replaced by `is-military-target`.
4199
+ */
4100
4200
  readonly "entity-with-force"?: true
4201
+ /**
4202
+ * Selects entities that are {@link LuaEntity#is_military_target military targets}.
4203
+ */
4204
+ readonly "is-military-target"?: true
4205
+ /**
4206
+ * Selects entities that are {@link LuaEntity#is_entity_with_owner entities with owner}.
4207
+ */
4101
4208
  readonly "entity-with-owner"?: true
4209
+ /**
4210
+ * Selects entities that are not `rolling-stocks`.
4211
+ */
4212
+ readonly "avoid-rolling-stock"?: true
4102
4213
  }
4103
4214
 
4104
4215
  interface LogisticFilter {
@@ -4298,7 +4409,7 @@ interface ScriptRenderTarget {
4298
4409
  }
4299
4410
 
4300
4411
  /**
4301
- * A set of flags. Set flags are in the dictionary as `true`, while unset flags aren't present at all.
4412
+ * A set of flags. Active flags are in the dictionary as `true`, while inactive flags aren't present at all.
4302
4413
  *
4303
4414
  * To write to this, use an array[`string`] of the mouse buttons that should be possible to use with on button. The flag `"left-and-right"` can also be set, which will set `"left"` and `"right"` to `true`.
4304
4415
  *
File without changes
@@ -2056,7 +2056,8 @@ interface OnPlayerDisplayScaleChangedEvent extends EventData {
2056
2056
  }
2057
2057
 
2058
2058
  /**
2059
- * Called when the player's driving state has changed, this means a player has either entered or left a vehicle.
2059
+ * Called when the player's driving state has changed, meaning a player has either entered or left a vehicle.
2060
+ * @remarks This event is not raised when the player is ejected from a vehicle due to it being destroyed.
2060
2061
  * @see {@link https://lua-api.factorio.com/latest/events.html#on_player_driving_changed_state Online documentation}
2061
2062
  */
2062
2063
  interface OnPlayerDrivingChangedStateEvent extends EventData {
@@ -3094,7 +3095,7 @@ interface OnPrePlayerLeftGameEvent extends EventData {
3094
3095
  }
3095
3096
 
3096
3097
  /**
3097
- * Called when the player finishes mining an entity, before the entity is removed from map. Can be filtered using {@link LuaPrePlayerMinedEntityEventFilter}.
3098
+ * Called when the player completes a mining action, but before the entity is potentially removed from the map. This is called even if the entity does not end up being removed. Can be filtered using {@link LuaPrePlayerMinedEntityEventFilter}.
3098
3099
  * @see {@link https://lua-api.factorio.com/latest/events.html#on_pre_player_mined_item Online documentation}
3099
3100
  */
3100
3101
  interface OnPrePlayerMinedItemEvent extends EventData {
@@ -27,7 +27,7 @@ declare function localised_print(string: LocalisedString): void
27
27
  * end
28
28
  * ```
29
29
  *
30
- * Note that `table_size()` does not work correctly for {@link LuaCustomTable}, their size has to be determined with {@link LuaCustomTable#length LuaCustomTable::length} instead.
30
+ * Note that `table_size()` does not work correctly for {@link LuaCustomTable}, their size has to be determined with {@link LuaCustomTable#length LuaCustomTable::length_operator} instead.
31
31
  * @see {@link https://lua-api.factorio.com/latest/Libraries.html#2.-new-functions Online documentation}
32
32
  */
33
33
  declare function table_size(table: table): uint
@@ -1,14 +1,14 @@
1
1
  /// <reference types="lua-types/5.2" />
2
2
 
3
3
  // generated
4
- /// <reference path="../generated/builtin-types.d.ts" />
5
- /// <reference path="../generated/global-objects.d.ts" />
6
- /// <reference path="../generated/global-functions.d.ts" />
7
- /// <reference path="../generated/defines.d.ts" />
8
- /// <reference path="../generated/events.d.ts" />
9
- /// <reference path="../generated/classes.d.ts" />
10
- /// <reference path="../generated/concepts.d.ts" />
11
- /// <reference path="../generated/index-types.d.ts" />
4
+ /// <reference path="./generated/builtin-types.d.ts" />
5
+ /// <reference path="./generated/global-objects.d.ts" />
6
+ /// <reference path="./generated/global-functions.d.ts" />
7
+ /// <reference path="./generated/defines.d.ts" />
8
+ /// <reference path="./generated/events.d.ts" />
9
+ /// <reference path="./generated/classes.d.ts" />
10
+ /// <reference path="./generated/concepts.d.ts" />
11
+ /// <reference path="./generated/index-types.d.ts" />
12
12
 
13
13
  // other runtime
14
14
  /// <reference path="librariesAndFunctions.d.ts" />
package/Changelog.md DELETED
@@ -1,256 +0,0 @@
1
- # v1.8.0
2
-
3
- - Updated to factorio version 1.1.69
4
-
5
- # v1.7.4
6
-
7
- - Fix advanced types of method returns (nullability, string unions, etc.)
8
-
9
- # v1.7.3
10
-
11
- - Improve types of "util" lualib module
12
- - Made compatible with typescript v4.8
13
-
14
- # v1.7.1
15
-
16
- - Added proper nullablity to members with different read/write types
17
- - Deduped union types
18
-
19
- # v1.7.0
20
-
21
- - Updated to factorio version 1.1.67
22
-
23
- # v1.6.1
24
-
25
- - Fixed write type for `BoundingBox`.
26
- - Simplified types for BlueprintEntity.
27
-
28
- # v1.6.0
29
-
30
- - Updated to factorio version 1.1.64
31
-
32
- # v1.5.1
33
-
34
- - Added old `Read` types as deprecated type aliases of new types; to help with migration.
35
-
36
- # v1.5.0
37
-
38
- ### BREAKING
39
-
40
- - Read-only forms of concepts (the most common form used) is now specified with just the name; forms with a `Read` or `Table` suffix have been removed.
41
- - Write forms are now specified as either a union of table and array forms, or with a `Write` suffix for concepts.
42
- - For table-or-array concepts: `MapPositionRead` -> `MapPosition`, `MapPosition` -> `MapPosition | PositionArray`
43
- - For table concepts: `ScriptAreaRead` -> `ScriptArea`, `ScriptArea` -> `ScriptAreaWrite`
44
- - The minimum TSTL version has been increased to v1.6.1 (A bug with documentation comments was fixed in that version).
45
-
46
- ### Other
47
-
48
- - Updated to factorio version 1.1.63.
49
- - Upgraded to factorio api docs json version 3.
50
- - The new type `nil` is used instead of `undefined` (they are equivalent).
51
- - More complete type for `BlueprintEntity`.
52
- - Fixed missing read-write forms for more concepts.
53
- - Improved documentation comments (enabled by json docs version 3).
54
- - Improved documentation comments for variant parameter groups.
55
-
56
- # v1.4.0
57
-
58
- - Improve doc comments for enum concepts
59
- - Improve doc comment formatting
60
- - Improve types of concepts with literal union types
61
- - Add read-specific types to AutoplaceControl and ComparatorString
62
-
63
- # v1.3.2
64
-
65
- - Move "notes" comment into the main body of doc comment, instead of in @remarks. This works around #13.
66
- - Add manually defined overload for LuaControl::teleport().
67
-
68
- # v1.3.1
69
-
70
- - Use @linkplain instead of @link for web links. This hopefully works around issue #13
71
-
72
- # v1.3.0
73
-
74
- - Updated to factorio version 1.1.61
75
-
76
- # v1.2.0
77
-
78
- - Updated to factorio version 1.1.60
79
-
80
- # v1.1.0
81
-
82
- - Updated to factorio version 1.1.59
83
-
84
- # v1.0.0
85
-
86
- - This project now has all the features that was originally planned, and can now guarantee reasonable backwards compatibility for future releases.
87
- - Updated to factorio version 1.1.57
88
-
89
- # v0.20.0
90
-
91
- - Updated to factorio version 1.1.56
92
- - This is an **opt-in** feature: Some numeric types which represent indices/number,e.g. player_index, entity_number, are now branded numbers with their own type, e.g. `PlayerIndex` and `EntityNumber`. See the README for more info.
93
- - Added custom-index-template.d.ts to assist trying out custom changes to types in a project.
94
-
95
- # v0.19.0
96
-
97
- - Updated to factorio version 1.1.53
98
- - Updated to json api version 2
99
- - Improved documentation comments
100
-
101
- ## Changes
102
-
103
- - `Position`, `PositionArray`, and `PositionTable` have been replaced by `MapPosition`, `MapPositionArray`, and `MapPositionTable` respectively. These are now deprecated and may be removed in a future version.
104
-
105
- # v0.18.1
106
-
107
- - `TechnologyIdentification` now also has a more specific type when read.
108
-
109
- # v0.18.0
110
-
111
- - `ForceIdentification` and `ItemPrototypeIdentification` now have more specific types when read.
112
- - Properties which represent a flag concept now have the correct specific type, instead of `string`.
113
-
114
- # v0.17.1
115
-
116
- - Fixed documentation links for events
117
-
118
- # v0.17.0
119
-
120
- - Updated to factorio version 1.1.52
121
-
122
- # v0.16.0
123
-
124
- - `LuaCustomTable` can be iterated on in a for-of loop directly (without using `pairs`). This requires TSTL v1.3.0 or later.
125
- - TSTL dependency minimum version is now v1.3.0.
126
-
127
- # v0.15.0
128
-
129
- - Table or array concepts are now declared in table form wherever it is an "read" position.
130
- - This works with setter overloading for applicable properties: `player.color.x; player.color = [1, 1, 1]` is now valid!
131
- - This also applies to concepts/complex types which contain table_or_array properties.
132
- - Some concepts now also have a special form where it is known to be in a "read" position, where all table_or_array concepts are declared in table form. These concepts are suffixed with "Read", e.g. `ScriptAreaRead`.
133
- - Arrays which are known to be in a "write" only form (e.g. method parameters) now are marked readonly. This means you can now pass readonly arrays to these methods.
134
- - `MapPosition` is now a table or array concept.
135
- - Classes with subclasses are now declared with all properties, instead of an intersection of subclasses (reversion)
136
- - Subclass specializations added for some missing classes
137
-
138
- # v0.14.1
139
-
140
- - LuaStyle: `extra_margin/padding_when_activated` is now for subclass scroll_pane
141
-
142
- # v0.14.0
143
-
144
- - LuaStyle size, margin/padding setters now have more specific array types. These array types are `SizeArray` and `StyleValuesArray` for size and margin/padding, respectively.
145
- - `@noSelf` annotation is now only present when necessary.
146
- - For classes with subclasses:
147
- - The original class name (e.g. `LuaItemStack`) still contains attributes of all subclasses (same as before).
148
- - There is now a `Base` type (e.g. `BaseItemStack`) which only includes attributes common to all subclasses.
149
- - There is a separate type definition for each subclass, e.g. `BlueprintItem`. Note that one instance may still belong to multiple subclasses (the subclasses are not mutually exclusive).
150
- - The above two can be optionally used for stricter types.
151
-
152
- # v0.13.2
153
-
154
- - Fix: resize_to_sprite property should not be on subclass sprite-button
155
- - Fix: ChooseElemButtonSpec filters should be named elem_filters
156
- - Switch back to `/latest` api docs link
157
- - New version of web api docs is now active
158
-
159
- # v0.13.0
160
-
161
- - Update to factorio version 1.1.49
162
-
163
- # v0.12.0
164
-
165
- - Update to factorio version 1.1.48
166
-
167
- # v0.11.1
168
-
169
- - Localised strings now accept boolean and undefined.
170
-
171
- # v0.11.0
172
-
173
- - Update to factorio version 1.1.46
174
-
175
- # v0.10.0
176
-
177
- - LuaGuiElement.style and LuaControl.opened now have different get/set types (more specific get type).
178
- - The array form of LocalizedString is now readonly.
179
-
180
- # v0.9.0
181
-
182
- - Update to factorio version 1.1.43
183
- - The `defines.events `_type_ was renamed to `defines.Events`, to reduce confusion between the namespace/type
184
-
185
- # v0.8.0
186
-
187
- - All event types now explicitly extend `EventData`
188
- - Variant parameter groups without additional fields now have their own type, instead of all being grouped into `Other`
189
-
190
- # v0.7.3
191
-
192
- - Update to factorio version 1.1.42
193
- - No api changes, but improvements to descriptions
194
-
195
- # v0.7.2
196
-
197
- - Fix minor issue for event types
198
-
199
- # v0.7.0
200
-
201
- - Updated to factorio version 1.1.41 (no changes to lua api)
202
- - Improved smart types for events
203
-
204
- # v0.6.1
205
-
206
- - Added type for BlueprintControlBehavior
207
-
208
- # v0.6.0
209
-
210
- - Updated to factorio version 1.1.40
211
- - Fixed regression with duplicate strings in string union types
212
-
213
- # v0.5.0
214
-
215
- - Updated to factorio version 1.1.39
216
- - Documentation links now point to the new API docs website. More info here: https://forums.factorio.com/viewtopic.php?f=34&t=99797
217
-
218
- # v0.4.1
219
-
220
- ### Changed
221
-
222
- - LuaRemote.addInterface now lets remote functions take any arguments.
223
-
224
- # v0.4.0
225
-
226
- ## **BREAKING**
227
-
228
- - Only the latest version api is now provided.
229
- - It is now accessed using `typed-factorio/runtime` instead of `typed-factorio/<version>`
230
-
231
- ### Added
232
-
233
- - Basic types for settings and data stage. See README for more details.
234
- - Types for "util" and "mod-gui" lualib modules
235
-
236
- ### Fixed
237
-
238
- - LuaGuiElement::add with a literal now give diagnostic if you supply a field that shouldn't be there.
239
-
240
- ### Internal
241
-
242
- - Split generated files into multiple files
243
- - Improved compilation tests
244
-
245
- # v0.3.0
246
-
247
- - Added factorio version `1.1.38`
248
-
249
- # v0.2.0
250
-
251
- - `AnyBasic` now uses type `table` instead of type `Record<any, AnyBasic>`
252
- - README changes
253
-
254
- # v0.1.0
255
-
256
- - Initial release