@etothepii/satisfactory-file-parser 0.0.33 → 0.0.34

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 (34) hide show
  1. package/build/index.js +41 -51
  2. package/build/parser/byte/alignment.enum.js +8 -18
  3. package/build/parser/byte/binary-operable.interface.js +2 -12
  4. package/build/parser/byte/binary-readable.interface.js +2 -12
  5. package/build/parser/byte/byte-reader.class.js +122 -132
  6. package/build/parser/byte/byte-writer.class.js +133 -143
  7. package/build/parser/error/parser.error.js +40 -50
  8. package/build/parser/file.types.js +2 -12
  9. package/build/parser/parser.js +85 -95
  10. package/build/parser/satisfactory/blueprint/blueprint-reader.js +109 -119
  11. package/build/parser/satisfactory/blueprint/blueprint-writer.js +56 -66
  12. package/build/parser/satisfactory/blueprint/blueprint.types.js +2 -12
  13. package/build/parser/satisfactory/objects/DataFields.js +297 -307
  14. package/build/parser/satisfactory/objects/ObjectReference.js +14 -24
  15. package/build/parser/satisfactory/objects/Property.js +967 -977
  16. package/build/parser/satisfactory/objects/SaveComponent.js +28 -38
  17. package/build/parser/satisfactory/objects/SaveEntity.js +65 -75
  18. package/build/parser/satisfactory/objects/SaveObject.js +26 -36
  19. package/build/parser/satisfactory/save/asynchronous-level.class.js +60 -70
  20. package/build/parser/satisfactory/save/level.class.js +122 -132
  21. package/build/parser/satisfactory/save/satisfactory-save.js +10 -20
  22. package/build/parser/satisfactory/save/save-reader.js +158 -168
  23. package/build/parser/satisfactory/save/save-writer.js +97 -107
  24. package/build/parser/satisfactory/save/save.types.js +2 -12
  25. package/build/parser/satisfactory/structs/util.types.js +89 -99
  26. package/build/parser/stream/byte-stream-reader.class.js +217 -227
  27. package/build/parser/stream/json-stream-state-writer.js +15 -25
  28. package/build/parser/stream/json-stream-writable.js +72 -82
  29. package/build/parser/stream/json-stream-writer.js +122 -132
  30. package/build/parser/stream/save-stream-json-stringifier.js +29 -39
  31. package/build/parser/stream/save-stream-reader.class.js +106 -116
  32. package/build/parser/stream/save-stream-writer.class.js +90 -100
  33. package/build/parser/stream/stream-level.class.js +93 -103
  34. package/package.json +1 -1
@@ -1,148 +1,138 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Level = void 0;
4
+ const ObjectReference_1 = require("../objects/ObjectReference");
5
+ const SaveComponent_1 = require("../objects/SaveComponent");
6
+ const SaveEntity_1 = require("../objects/SaveEntity");
7
+ class Level {
8
+ constructor(name) {
9
+ this.name = name;
10
+ this.objects = [];
11
+ this.collectables = [];
5
12
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../objects/ObjectReference", "../objects/SaveComponent", "../objects/SaveEntity"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Level = void 0;
13
- const ObjectReference_1 = require("../objects/ObjectReference");
14
- const SaveComponent_1 = require("../objects/SaveComponent");
15
- const SaveEntity_1 = require("../objects/SaveEntity");
16
- class Level {
17
- constructor(name) {
18
- this.name = name;
19
- this.objects = [];
20
- this.collectables = [];
21
- }
22
- static SerializeObjectHeaders(writer, objects) {
23
- writer.writeInt32(objects.length);
24
- for (const obj of objects) {
25
- switch (obj.type) {
26
- case 'SaveEntity':
27
- writer.writeInt32(SaveEntity_1.SaveEntity.TypeID);
28
- SaveEntity_1.SaveEntity.SerializeHeader(writer, obj);
29
- break;
30
- case 'SaveComponent':
31
- writer.writeInt32(SaveComponent_1.SaveComponent.TypeID);
32
- SaveComponent_1.SaveComponent.SerializeHeader(writer, obj);
33
- break;
34
- default:
35
- console.log('Unknown object type', obj);
36
- break;
37
- }
13
+ static SerializeObjectHeaders(writer, objects) {
14
+ writer.writeInt32(objects.length);
15
+ for (const obj of objects) {
16
+ switch (obj.type) {
17
+ case 'SaveEntity':
18
+ writer.writeInt32(SaveEntity_1.SaveEntity.TypeID);
19
+ SaveEntity_1.SaveEntity.SerializeHeader(writer, obj);
20
+ break;
21
+ case 'SaveComponent':
22
+ writer.writeInt32(SaveComponent_1.SaveComponent.TypeID);
23
+ SaveComponent_1.SaveComponent.SerializeHeader(writer, obj);
24
+ break;
25
+ default:
26
+ console.log('Unknown object type', obj);
27
+ break;
38
28
  }
39
29
  }
40
- static WriteLevel(writer, level, buildVersion) {
41
- const lenIndicatorHeaderAndCollectableSize = writer.getBufferPosition();
42
- writer.writeInt32(0);
43
- Level.SerializeObjectHeaders(writer, level.objects);
44
- Level.SerializeCollectablesList(writer, level.collectables);
45
- writer.writeBinarySizeFromPosition(lenIndicatorHeaderAndCollectableSize, lenIndicatorHeaderAndCollectableSize + 4);
46
- Level.SerializeObjectContents(writer, level.objects, buildVersion, level.name);
47
- Level.SerializeCollectablesList(writer, level.collectables);
48
- }
49
- static SerializeObjectContents(writer, objects, buildVersion, levelName) {
50
- const lenIndicatorEntities = writer.getBufferPosition();
30
+ }
31
+ static WriteLevel(writer, level, buildVersion) {
32
+ const lenIndicatorHeaderAndCollectableSize = writer.getBufferPosition();
33
+ writer.writeInt32(0);
34
+ Level.SerializeObjectHeaders(writer, level.objects);
35
+ Level.SerializeCollectablesList(writer, level.collectables);
36
+ writer.writeBinarySizeFromPosition(lenIndicatorHeaderAndCollectableSize, lenIndicatorHeaderAndCollectableSize + 4);
37
+ Level.SerializeObjectContents(writer, level.objects, buildVersion, level.name);
38
+ Level.SerializeCollectablesList(writer, level.collectables);
39
+ }
40
+ static SerializeObjectContents(writer, objects, buildVersion, levelName) {
41
+ const lenIndicatorEntities = writer.getBufferPosition();
42
+ writer.writeInt32(0);
43
+ writer.writeInt32(objects.length);
44
+ for (const obj of objects) {
45
+ const lenReplacementPosition = writer.getBufferPosition();
51
46
  writer.writeInt32(0);
52
- writer.writeInt32(objects.length);
53
- for (const obj of objects) {
54
- const lenReplacementPosition = writer.getBufferPosition();
55
- writer.writeInt32(0);
56
- if ((0, SaveEntity_1.isSaveEntity)(obj)) {
57
- SaveEntity_1.SaveEntity.SerializeData(writer, obj, buildVersion);
58
- }
59
- else if ((0, SaveComponent_1.isSaveComponent)(obj)) {
60
- SaveComponent_1.SaveComponent.SerializeData(writer, obj, buildVersion);
61
- }
62
- writer.writeBinarySizeFromPosition(lenReplacementPosition, lenReplacementPosition + 4);
47
+ if ((0, SaveEntity_1.isSaveEntity)(obj)) {
48
+ SaveEntity_1.SaveEntity.SerializeData(writer, obj, buildVersion);
49
+ }
50
+ else if ((0, SaveComponent_1.isSaveComponent)(obj)) {
51
+ SaveComponent_1.SaveComponent.SerializeData(writer, obj, buildVersion);
63
52
  }
64
- writer.writeBinarySizeFromPosition(lenIndicatorEntities, lenIndicatorEntities + 4);
53
+ writer.writeBinarySizeFromPosition(lenReplacementPosition, lenReplacementPosition + 4);
65
54
  }
66
- static ReadObjectHeaders(reader, objectsList, onProgressCallback) {
67
- let countObjectHeaders = reader.readInt32();
68
- for (let i = 0; i < countObjectHeaders; i++) {
69
- if (i % 1000 === 0) {
70
- onProgressCallback(reader.getBufferProgress());
71
- }
72
- let objectType = reader.readInt32();
73
- switch (objectType) {
74
- case SaveEntity_1.SaveEntity.TypeID:
75
- let object = new SaveEntity_1.SaveEntity('', '', '', '');
76
- SaveEntity_1.SaveEntity.ParseHeader(reader, object);
77
- objectsList.push(object);
78
- break;
79
- case SaveComponent_1.SaveComponent.TypeID:
80
- let component = new SaveComponent_1.SaveComponent('', '', '', '');
81
- SaveComponent_1.SaveComponent.ParseHeader(reader, component);
82
- objectsList.push(component);
83
- break;
84
- default:
85
- console.log('Unknown object type', objectType);
86
- break;
87
- }
55
+ writer.writeBinarySizeFromPosition(lenIndicatorEntities, lenIndicatorEntities + 4);
56
+ }
57
+ static ReadObjectHeaders(reader, objectsList, onProgressCallback) {
58
+ let countObjectHeaders = reader.readInt32();
59
+ for (let i = 0; i < countObjectHeaders; i++) {
60
+ if (i % 1000 === 0) {
61
+ onProgressCallback(reader.getBufferProgress());
62
+ }
63
+ let objectType = reader.readInt32();
64
+ switch (objectType) {
65
+ case SaveEntity_1.SaveEntity.TypeID:
66
+ let object = new SaveEntity_1.SaveEntity('', '', '', '');
67
+ SaveEntity_1.SaveEntity.ParseHeader(reader, object);
68
+ objectsList.push(object);
69
+ break;
70
+ case SaveComponent_1.SaveComponent.TypeID:
71
+ let component = new SaveComponent_1.SaveComponent('', '', '', '');
72
+ SaveComponent_1.SaveComponent.ParseHeader(reader, component);
73
+ objectsList.push(component);
74
+ break;
75
+ default:
76
+ console.log('Unknown object type', objectType);
77
+ break;
88
78
  }
89
79
  }
90
- static async ReadObjectContents(reader, objectsList, buildVersion, onProgressCallback) {
91
- const binarySize = reader.readInt32();
92
- const posBefore = reader.getBufferPosition();
93
- const countEntities = reader.readInt32();
94
- if (countEntities !== objectsList.length) {
95
- throw new Error(`possibly corrupt. entity content count ${countEntities} does not equal object count of ${objectsList.length}`);
80
+ }
81
+ static async ReadObjectContents(reader, objectsList, buildVersion, onProgressCallback) {
82
+ const binarySize = reader.readInt32();
83
+ const posBefore = reader.getBufferPosition();
84
+ const countEntities = reader.readInt32();
85
+ if (countEntities !== objectsList.length) {
86
+ throw new Error(`possibly corrupt. entity content count ${countEntities} does not equal object count of ${objectsList.length}`);
87
+ }
88
+ for (let i = 0; i < countEntities; i++) {
89
+ if (i % 1000 === 0) {
90
+ onProgressCallback(reader.getBufferProgress());
96
91
  }
97
- for (let i = 0; i < countEntities; i++) {
98
- if (i % 1000 === 0) {
99
- onProgressCallback(reader.getBufferProgress());
100
- }
101
- const len = reader.readInt32();
102
- const before = reader.getBufferPosition();
103
- const obj = objectsList[i];
104
- if ((0, SaveEntity_1.isSaveEntity)(obj)) {
105
- SaveEntity_1.SaveEntity.ParseData(obj, len, reader, buildVersion, obj.typePath);
106
- }
107
- else if ((0, SaveComponent_1.isSaveComponent)(obj)) {
108
- SaveComponent_1.SaveComponent.ParseData(obj, len, reader, buildVersion, obj.typePath);
109
- }
110
- const after = reader.getBufferPosition();
111
- if (after - before !== len) {
112
- console.warn('entity may be corrupt', this.name, i);
113
- }
92
+ const len = reader.readInt32();
93
+ const before = reader.getBufferPosition();
94
+ const obj = objectsList[i];
95
+ if ((0, SaveEntity_1.isSaveEntity)(obj)) {
96
+ SaveEntity_1.SaveEntity.ParseData(obj, len, reader, buildVersion, obj.typePath);
114
97
  }
115
- const posAfter = reader.getBufferPosition();
116
- if (posAfter - posBefore !== binarySize) {
117
- console.warn('save seems corrupt.', this.name);
98
+ else if ((0, SaveComponent_1.isSaveComponent)(obj)) {
99
+ SaveComponent_1.SaveComponent.ParseData(obj, len, reader, buildVersion, obj.typePath);
100
+ }
101
+ const after = reader.getBufferPosition();
102
+ if (after - before !== len) {
103
+ console.warn('entity may be corrupt', this.name, i);
118
104
  }
119
105
  }
120
- static ReadLevel(reader, levelName, buildVersion) {
121
- const level = new Level(levelName);
122
- reader.readInt32();
123
- Level.ReadObjectHeaders(reader, level.objects, reader.onProgressCallback);
124
- reader.onProgressCallback(reader.getBufferProgress());
125
- level.collectables = Level.ReadCollectablesList(reader);
126
- Level.ReadObjectContents(reader, level.objects, buildVersion, reader.onProgressCallback);
127
- reader.onProgressCallback(reader.getBufferProgress());
128
- Level.ReadCollectablesList(reader);
129
- return level;
106
+ const posAfter = reader.getBufferPosition();
107
+ if (posAfter - posBefore !== binarySize) {
108
+ console.warn('save seems corrupt.', this.name);
130
109
  }
131
- static SerializeCollectablesList(writer, collectables) {
132
- writer.writeInt32(collectables.length);
133
- for (const collectable of collectables) {
134
- ObjectReference_1.ObjectReference.Serialize(writer, collectable);
135
- }
110
+ }
111
+ static ReadLevel(reader, levelName, buildVersion) {
112
+ const level = new Level(levelName);
113
+ reader.readInt32();
114
+ Level.ReadObjectHeaders(reader, level.objects, reader.onProgressCallback);
115
+ reader.onProgressCallback(reader.getBufferProgress());
116
+ level.collectables = Level.ReadCollectablesList(reader);
117
+ Level.ReadObjectContents(reader, level.objects, buildVersion, reader.onProgressCallback);
118
+ reader.onProgressCallback(reader.getBufferProgress());
119
+ Level.ReadCollectablesList(reader);
120
+ return level;
121
+ }
122
+ static SerializeCollectablesList(writer, collectables) {
123
+ writer.writeInt32(collectables.length);
124
+ for (const collectable of collectables) {
125
+ ObjectReference_1.ObjectReference.Serialize(writer, collectable);
136
126
  }
137
- static ReadCollectablesList(reader) {
138
- let countCollected = reader.readInt32();
139
- const collected = [];
140
- for (let i = 0; i < countCollected; i++) {
141
- const collectable = ObjectReference_1.ObjectReference.Parse(reader);
142
- collected.push(collectable);
143
- }
144
- return collected;
127
+ }
128
+ static ReadCollectablesList(reader) {
129
+ let countCollected = reader.readInt32();
130
+ const collected = [];
131
+ for (let i = 0; i < countCollected; i++) {
132
+ const collectable = ObjectReference_1.ObjectReference.Parse(reader);
133
+ collected.push(collectable);
145
134
  }
135
+ return collected;
146
136
  }
147
- exports.Level = Level;
148
- });
137
+ }
138
+ exports.Level = Level;
@@ -1,21 +1,11 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SatisfactorySave = void 0;
4
+ class SatisfactorySave {
5
+ constructor(header) {
6
+ this.levels = [];
7
+ this.trailingCollectedObjects = [];
8
+ this.header = header;
5
9
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SatisfactorySave = void 0;
13
- class SatisfactorySave {
14
- constructor(header) {
15
- this.levels = [];
16
- this.trailingCollectedObjects = [];
17
- this.header = header;
18
- }
19
- }
20
- exports.SatisfactorySave = SatisfactorySave;
21
- });
10
+ }
11
+ exports.SatisfactorySave = SatisfactorySave;