@etothepii/satisfactory-file-parser 0.1.24 → 0.1.26

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 (48) hide show
  1. package/build/index.d.ts +1 -0
  2. package/build/index.js +25 -58
  3. package/build/parser/byte/alignment.enum.js +2 -5
  4. package/build/parser/byte/binary-operable.interface.js +1 -2
  5. package/build/parser/byte/binary-readable.interface.js +1 -2
  6. package/build/parser/byte/byte-reader.class.js +10 -14
  7. package/build/parser/byte/byte-writer.class.js +10 -13
  8. package/build/parser/error/parser.error.js +6 -15
  9. package/build/parser/file.types.js +2 -5
  10. package/build/parser/parser.d.ts +1 -1
  11. package/build/parser/parser.js +24 -27
  12. package/build/parser/satisfactory/blueprint/blueprint-reader.js +28 -36
  13. package/build/parser/satisfactory/blueprint/blueprint-writer.js +20 -25
  14. package/build/parser/satisfactory/blueprint/blueprint.types.js +1 -2
  15. package/build/parser/satisfactory/objects/DataFields.js +79 -83
  16. package/build/parser/satisfactory/objects/GUIDInfo.js +5 -8
  17. package/build/parser/satisfactory/objects/ObjectReference.js +2 -5
  18. package/build/parser/satisfactory/objects/Property.js +91 -120
  19. package/build/parser/satisfactory/objects/SaveComponent.js +7 -11
  20. package/build/parser/satisfactory/objects/SaveEntity.js +13 -17
  21. package/build/parser/satisfactory/objects/SaveObject.js +4 -8
  22. package/build/parser/satisfactory/objects/ue/GUID.js +2 -5
  23. package/build/parser/satisfactory/objects/ue/MD5Hash.js +2 -5
  24. package/build/parser/satisfactory/save/asynchronous-level.class.js +12 -16
  25. package/build/parser/satisfactory/save/level.class.js +26 -30
  26. package/build/parser/satisfactory/save/satisfactory-save.d.ts +2 -1
  27. package/build/parser/satisfactory/save/satisfactory-save.js +3 -6
  28. package/build/parser/satisfactory/save/save-reader.js +31 -34
  29. package/build/parser/satisfactory/save/save-writer.js +34 -40
  30. package/build/parser/satisfactory/save/save.types.js +1 -2
  31. package/build/parser/satisfactory/structs/util.types.js +37 -63
  32. package/build/parser/stream/byte-stream-reader.class.js +17 -21
  33. package/build/parser/stream/json-stream-state-writer.js +2 -6
  34. package/build/parser/stream/json-stream-writable.js +1 -5
  35. package/build/parser/stream/json-stream-writer.js +2 -6
  36. package/build/parser/stream/reworked/readable-stream-parser.d.ts +12 -0
  37. package/build/parser/stream/reworked/readable-stream-parser.js +201 -0
  38. package/build/parser/stream/reworked/stream-parser.d.ts +3 -1
  39. package/build/parser/stream/reworked/stream-parser.js +86 -11
  40. package/build/parser/stream/save-stream-json-stringifier.js +3 -7
  41. package/build/parser/stream/save-stream-reader.class.js +18 -24
  42. package/build/parser/stream/save-stream-writer.class.d.ts +15 -13
  43. package/build/parser/stream/save-stream-writer.class.js +71 -108
  44. package/build/parser/stream/stream-level.class.js +11 -15
  45. package/build/parser/stream/stream-parser.js +11 -15
  46. package/package.json +4 -2
  47. package/build/parser/satisfactory/objects/ue/FMD5Hash.d.ts +0 -7
  48. package/build/parser/satisfactory/objects/ue/FMD5Hash.js +0 -19
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataFields = void 0;
4
- const util_types_1 = require("../structs/util.types");
5
- const Property_1 = require("./Property");
6
- class DataFields {
1
+ import { ParseVec3f } from "../structs/util.types";
2
+ import { ArrayProperty, BoolProperty, ByteProperty, DoubleProperty, EnumProperty, FloatProperty, Int32Property, Int64Property, Int8Property, MapProperty, ObjectProperty, SetProperty, StrProperty, StructProperty, TextProperty, Uint32Property, Uint8Property } from "./Property";
3
+ export class DataFields {
7
4
  constructor() {
8
5
  }
9
6
  static ParseProperties(obj, length, reader, buildVersion, typePath) {
@@ -59,12 +56,12 @@ class DataFields {
59
56
  case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
60
57
  case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
61
58
  property = {
62
- source: Property_1.ObjectProperty.ReadValue(reader),
63
- target: Property_1.ObjectProperty.ReadValue(reader)
59
+ source: ObjectProperty.ReadValue(reader),
60
+ target: ObjectProperty.ReadValue(reader)
64
61
  };
65
62
  if (remainingLen - (reader.getBufferPosition() - start) >= 24) {
66
- property.sourceTranslation = (0, util_types_1.ParseVec3f)(reader);
67
- property.targetTranslation = (0, util_types_1.ParseVec3f)(reader);
63
+ property.sourceTranslation = ParseVec3f(reader);
64
+ property.targetTranslation = ParseVec3f(reader);
68
65
  }
69
66
  break;
70
67
  case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C':
@@ -96,76 +93,76 @@ class DataFields {
96
93
  let overhead = 0;
97
94
  switch (propertyType) {
98
95
  case 'BoolProperty':
99
- currentProperty = Property_1.BoolProperty.Parse(reader, propertyType, index);
100
- overhead = Property_1.BoolProperty.CalcOverhead(currentProperty);
96
+ currentProperty = BoolProperty.Parse(reader, propertyType, index);
97
+ overhead = BoolProperty.CalcOverhead(currentProperty);
101
98
  break;
102
99
  case 'ByteProperty':
103
- currentProperty = Property_1.ByteProperty.Parse(reader, propertyType, index);
104
- overhead = Property_1.ByteProperty.CalcOverhead(currentProperty);
100
+ currentProperty = ByteProperty.Parse(reader, propertyType, index);
101
+ overhead = ByteProperty.CalcOverhead(currentProperty);
105
102
  break;
106
103
  case 'Int8Property':
107
- currentProperty = Property_1.Int8Property.Parse(reader, propertyType, index);
108
- overhead = Property_1.Int8Property.CalcOverhead(currentProperty);
104
+ currentProperty = Int8Property.Parse(reader, propertyType, index);
105
+ overhead = Int8Property.CalcOverhead(currentProperty);
109
106
  break;
110
107
  case 'UInt8Property':
111
- currentProperty = Property_1.Uint8Property.Parse(reader, propertyType, index);
112
- overhead = Property_1.Uint8Property.CalcOverhead(currentProperty);
108
+ currentProperty = Uint8Property.Parse(reader, propertyType, index);
109
+ overhead = Uint8Property.CalcOverhead(currentProperty);
113
110
  break;
114
111
  case 'IntProperty':
115
112
  case 'Int32Property':
116
- currentProperty = Property_1.Int32Property.Parse(reader, propertyType, index);
117
- overhead = Property_1.Int32Property.CalcOverhead(currentProperty);
113
+ currentProperty = Int32Property.Parse(reader, propertyType, index);
114
+ overhead = Int32Property.CalcOverhead(currentProperty);
118
115
  break;
119
116
  case 'UInt32Property':
120
- currentProperty = Property_1.Uint32Property.Parse(reader, propertyType, index);
121
- overhead = Property_1.Uint32Property.CalcOverhead(currentProperty);
117
+ currentProperty = Uint32Property.Parse(reader, propertyType, index);
118
+ overhead = Uint32Property.CalcOverhead(currentProperty);
122
119
  break;
123
120
  case 'Int64Property':
124
- currentProperty = Property_1.Int64Property.Parse(reader, propertyType, index);
125
- overhead = Property_1.Int64Property.CalcOverhead(currentProperty);
121
+ currentProperty = Int64Property.Parse(reader, propertyType, index);
122
+ overhead = Int64Property.CalcOverhead(currentProperty);
126
123
  break;
127
124
  case 'SingleProperty':
128
125
  case 'FloatProperty':
129
- currentProperty = Property_1.FloatProperty.Parse(reader, propertyType, index);
130
- overhead = Property_1.FloatProperty.CalcOverhead(currentProperty);
126
+ currentProperty = FloatProperty.Parse(reader, propertyType, index);
127
+ overhead = FloatProperty.CalcOverhead(currentProperty);
131
128
  break;
132
129
  case 'DoubleProperty':
133
- currentProperty = Property_1.DoubleProperty.Parse(reader, propertyType, index);
134
- overhead = Property_1.DoubleProperty.CalcOverhead(currentProperty);
130
+ currentProperty = DoubleProperty.Parse(reader, propertyType, index);
131
+ overhead = DoubleProperty.CalcOverhead(currentProperty);
135
132
  break;
136
133
  case 'StrProperty':
137
134
  case 'NameProperty':
138
- currentProperty = Property_1.StrProperty.Parse(reader, propertyType, index);
139
- overhead = Property_1.StrProperty.CalcOverhead(currentProperty);
135
+ currentProperty = StrProperty.Parse(reader, propertyType, index);
136
+ overhead = StrProperty.CalcOverhead(currentProperty);
140
137
  break;
141
138
  case 'ObjectProperty':
142
139
  case 'InterfaceProperty':
143
- currentProperty = Property_1.ObjectProperty.Parse(reader, propertyType, index);
144
- overhead = Property_1.ObjectProperty.CalcOverhead(currentProperty);
140
+ currentProperty = ObjectProperty.Parse(reader, propertyType, index);
141
+ overhead = ObjectProperty.CalcOverhead(currentProperty);
145
142
  break;
146
143
  case 'EnumProperty':
147
- currentProperty = Property_1.EnumProperty.Parse(reader, propertyType, index);
148
- overhead = Property_1.EnumProperty.CalcOverhead(currentProperty);
144
+ currentProperty = EnumProperty.Parse(reader, propertyType, index);
145
+ overhead = EnumProperty.CalcOverhead(currentProperty);
149
146
  break;
150
147
  case 'StructProperty':
151
- currentProperty = Property_1.StructProperty.Parse(reader, propertyType, index, binarySize);
152
- overhead = Property_1.StructProperty.CalcOverhead(currentProperty);
148
+ currentProperty = StructProperty.Parse(reader, propertyType, index, binarySize);
149
+ overhead = StructProperty.CalcOverhead(currentProperty);
153
150
  break;
154
151
  case 'ArrayProperty':
155
- currentProperty = Property_1.ArrayProperty.Parse(reader, propertyType, index, propertyName);
156
- overhead = Property_1.ArrayProperty.CalcOverhead(currentProperty);
152
+ currentProperty = ArrayProperty.Parse(reader, propertyType, index, propertyName);
153
+ overhead = ArrayProperty.CalcOverhead(currentProperty);
157
154
  break;
158
155
  case 'MapProperty':
159
- currentProperty = Property_1.MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
160
- overhead = Property_1.MapProperty.CalcOverhead(currentProperty);
156
+ currentProperty = MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
157
+ overhead = MapProperty.CalcOverhead(currentProperty);
161
158
  break;
162
159
  case 'TextProperty':
163
- currentProperty = Property_1.TextProperty.Parse(reader, propertyType, index);
164
- overhead = Property_1.TextProperty.CalcOverhead(currentProperty);
160
+ currentProperty = TextProperty.Parse(reader, propertyType, index);
161
+ overhead = TextProperty.CalcOverhead(currentProperty);
165
162
  break;
166
163
  case 'SetProperty':
167
- currentProperty = Property_1.SetProperty.Parse(reader, propertyType, index, propertyName);
168
- overhead = Property_1.SetProperty.CalcOverhead(currentProperty);
164
+ currentProperty = SetProperty.Parse(reader, propertyType, index, propertyName);
165
+ overhead = SetProperty.CalcOverhead(currentProperty);
169
166
  break;
170
167
  default:
171
168
  throw new Error(`Unimplemented type ${propertyType}`);
@@ -203,8 +200,8 @@ class DataFields {
203
200
  break;
204
201
  case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
205
202
  case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
206
- Property_1.ObjectProperty.SerializeValue(writer, property.source);
207
- Property_1.ObjectProperty.SerializeValue(writer, property.target);
203
+ ObjectProperty.SerializeValue(writer, property.source);
204
+ ObjectProperty.SerializeValue(writer, property.target);
208
205
  break;
209
206
  case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C':
210
207
  writer.writeByte(property.flag);
@@ -230,80 +227,80 @@ class DataFields {
230
227
  let overhead = 0;
231
228
  switch (property.ueType) {
232
229
  case 'BoolProperty':
233
- overhead = Property_1.BoolProperty.CalcOverhead(property);
234
- Property_1.BoolProperty.Serialize(writer, property);
230
+ overhead = BoolProperty.CalcOverhead(property);
231
+ BoolProperty.Serialize(writer, property);
235
232
  break;
236
233
  case 'ByteProperty':
237
- overhead = Property_1.ByteProperty.CalcOverhead(property);
238
- Property_1.ByteProperty.Serialize(writer, property);
234
+ overhead = ByteProperty.CalcOverhead(property);
235
+ ByteProperty.Serialize(writer, property);
239
236
  break;
240
237
  case 'Int8Property':
241
- overhead = Property_1.Int8Property.CalcOverhead(property);
242
- Property_1.Int8Property.Serialize(writer, property);
238
+ overhead = Int8Property.CalcOverhead(property);
239
+ Int8Property.Serialize(writer, property);
243
240
  break;
244
241
  case 'UInt8Property':
245
- overhead = Property_1.Uint8Property.CalcOverhead(property);
246
- Property_1.Uint8Property.Serialize(writer, property);
242
+ overhead = Uint8Property.CalcOverhead(property);
243
+ Uint8Property.Serialize(writer, property);
247
244
  break;
248
245
  case 'IntProperty':
249
246
  case 'Int32Property':
250
- overhead = Property_1.Int32Property.CalcOverhead(property);
251
- Property_1.Int32Property.Serialize(writer, property);
247
+ overhead = Int32Property.CalcOverhead(property);
248
+ Int32Property.Serialize(writer, property);
252
249
  break;
253
250
  case 'UInt32Property':
254
- overhead = Property_1.Uint32Property.CalcOverhead(property);
255
- Property_1.Uint32Property.Serialize(writer, property);
251
+ overhead = Uint32Property.CalcOverhead(property);
252
+ Uint32Property.Serialize(writer, property);
256
253
  break;
257
254
  case 'Int64Property':
258
- overhead = Property_1.Int64Property.CalcOverhead(property);
259
- Property_1.Int64Property.Serialize(writer, property);
255
+ overhead = Int64Property.CalcOverhead(property);
256
+ Int64Property.Serialize(writer, property);
260
257
  break;
261
258
  case 'SingleProperty':
262
259
  case 'FloatProperty':
263
- overhead = Property_1.FloatProperty.CalcOverhead(property);
264
- Property_1.FloatProperty.Serialize(writer, property);
260
+ overhead = FloatProperty.CalcOverhead(property);
261
+ FloatProperty.Serialize(writer, property);
265
262
  break;
266
263
  case 'DoubleProperty':
267
- overhead = Property_1.DoubleProperty.CalcOverhead(property);
268
- Property_1.DoubleProperty.Serialize(writer, property);
264
+ overhead = DoubleProperty.CalcOverhead(property);
265
+ DoubleProperty.Serialize(writer, property);
269
266
  break;
270
267
  case 'StrProperty':
271
268
  case 'NameProperty':
272
- overhead = Property_1.StrProperty.CalcOverhead(property);
273
- Property_1.StrProperty.Serialize(writer, property);
269
+ overhead = StrProperty.CalcOverhead(property);
270
+ StrProperty.Serialize(writer, property);
274
271
  break;
275
272
  case 'ObjectProperty':
276
273
  case 'InterfaceProperty':
277
- overhead = Property_1.ObjectProperty.CalcOverhead(property);
278
- Property_1.ObjectProperty.Serialize(writer, property);
274
+ overhead = ObjectProperty.CalcOverhead(property);
275
+ ObjectProperty.Serialize(writer, property);
279
276
  break;
280
277
  case 'EnumProperty':
281
- overhead = Property_1.EnumProperty.CalcOverhead(property);
282
- Property_1.EnumProperty.Serialize(writer, property);
278
+ overhead = EnumProperty.CalcOverhead(property);
279
+ EnumProperty.Serialize(writer, property);
283
280
  break;
284
281
  case 'ByteProperty':
285
- overhead = Property_1.ByteProperty.CalcOverhead(property);
286
- Property_1.ByteProperty.Serialize(writer, property);
282
+ overhead = ByteProperty.CalcOverhead(property);
283
+ ByteProperty.Serialize(writer, property);
287
284
  break;
288
285
  case 'StructProperty':
289
- overhead = Property_1.StructProperty.CalcOverhead(property);
290
- Property_1.StructProperty.Serialize(writer, property);
286
+ overhead = StructProperty.CalcOverhead(property);
287
+ StructProperty.Serialize(writer, property);
291
288
  break;
292
289
  case 'ArrayProperty':
293
- overhead = Property_1.ArrayProperty.CalcOverhead(property);
294
- Property_1.ArrayProperty.Serialize(writer, property, propertyName);
290
+ overhead = ArrayProperty.CalcOverhead(property);
291
+ ArrayProperty.Serialize(writer, property, propertyName);
295
292
  break;
296
293
  case 'MapProperty':
297
- overhead = Property_1.MapProperty.CalcOverhead(property);
298
- Property_1.MapProperty.Serialize(writer, property);
294
+ overhead = MapProperty.CalcOverhead(property);
295
+ MapProperty.Serialize(writer, property);
299
296
  break;
300
297
  case 'TextProperty':
301
- overhead = Property_1.TextProperty.CalcOverhead(property);
302
- Property_1.TextProperty.Serialize(writer, property);
298
+ overhead = TextProperty.CalcOverhead(property);
299
+ TextProperty.Serialize(writer, property);
303
300
  break;
304
301
  case 'SetProperty':
305
- overhead = Property_1.SetProperty.CalcOverhead(property);
306
- Property_1.SetProperty.Serialize(writer, property);
302
+ overhead = SetProperty.CalcOverhead(property);
303
+ SetProperty.Serialize(writer, property);
307
304
  break;
308
305
  default:
309
306
  throw new Error(`Unimplemented type ${property.type}`);
@@ -311,4 +308,3 @@ class DataFields {
311
308
  writer.writeBinarySizeFromPosition(lenIndicator, start + overhead);
312
309
  }
313
310
  }
314
- exports.DataFields = DataFields;
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GUIDInfo = void 0;
4
- const GUID_1 = require("./ue/GUID");
5
- var GUIDInfo;
1
+ import { GUID } from './ue/GUID';
2
+ export var GUIDInfo;
6
3
  (function (GUIDInfo) {
7
4
  GUIDInfo.read = (reader) => {
8
5
  if (reader.readByte() === 1) {
9
- return GUID_1.GUID.read(reader);
6
+ return GUID.read(reader);
10
7
  }
11
8
  else {
12
9
  return undefined;
@@ -19,8 +16,8 @@ var GUIDInfo;
19
16
  }
20
17
  else {
21
18
  writer.writeByte(1);
22
- GUID_1.GUID.write(writer, guid);
19
+ GUID.write(writer, guid);
23
20
  }
24
21
  };
25
- })(GUIDInfo = exports.GUIDInfo || (exports.GUIDInfo = {}));
22
+ })(GUIDInfo || (GUIDInfo = {}));
26
23
  ;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectReference = void 0;
4
- var ObjectReference;
1
+ export var ObjectReference;
5
2
  (function (ObjectReference) {
6
3
  ObjectReference.read = (reader) => {
7
4
  return {
@@ -13,5 +10,5 @@ var ObjectReference;
13
10
  writer.writeString(ref.levelName);
14
11
  writer.writeString(ref.pathName);
15
12
  };
16
- })(ObjectReference = exports.ObjectReference || (exports.ObjectReference = {}));
13
+ })(ObjectReference || (ObjectReference = {}));
17
14
  ;