@etothepii/satisfactory-file-parser 0.0.32 → 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 (35) 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.d.ts +0 -9
  10. package/build/parser/parser.js +84 -192
  11. package/build/parser/satisfactory/blueprint/blueprint-reader.js +109 -119
  12. package/build/parser/satisfactory/blueprint/blueprint-writer.js +56 -66
  13. package/build/parser/satisfactory/blueprint/blueprint.types.js +2 -12
  14. package/build/parser/satisfactory/objects/DataFields.js +297 -307
  15. package/build/parser/satisfactory/objects/ObjectReference.js +14 -24
  16. package/build/parser/satisfactory/objects/Property.js +967 -977
  17. package/build/parser/satisfactory/objects/SaveComponent.js +28 -38
  18. package/build/parser/satisfactory/objects/SaveEntity.js +65 -75
  19. package/build/parser/satisfactory/objects/SaveObject.js +26 -36
  20. package/build/parser/satisfactory/save/asynchronous-level.class.js +60 -70
  21. package/build/parser/satisfactory/save/level.class.js +122 -133
  22. package/build/parser/satisfactory/save/satisfactory-save.js +10 -20
  23. package/build/parser/satisfactory/save/save-reader.js +158 -168
  24. package/build/parser/satisfactory/save/save-writer.js +97 -107
  25. package/build/parser/satisfactory/save/save.types.js +2 -12
  26. package/build/parser/satisfactory/structs/util.types.js +89 -99
  27. package/build/parser/stream/byte-stream-reader.class.js +217 -227
  28. package/build/parser/stream/json-stream-state-writer.js +15 -25
  29. package/build/parser/stream/json-stream-writable.js +72 -82
  30. package/build/parser/stream/json-stream-writer.js +122 -132
  31. package/build/parser/stream/save-stream-json-stringifier.js +29 -39
  32. package/build/parser/stream/save-stream-reader.class.js +106 -116
  33. package/build/parser/stream/save-stream-writer.class.js +90 -100
  34. package/build/parser/stream/stream-level.class.js +93 -103
  35. package/package.json +1 -1
@@ -1,149 +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
- console.log(`before object contents buffer pos ${reader.getBufferPosition()}`);
127
- Level.ReadObjectContents(reader, level.objects, buildVersion, reader.onProgressCallback);
128
- reader.onProgressCallback(reader.getBufferProgress());
129
- Level.ReadCollectablesList(reader);
130
- return level;
106
+ const posAfter = reader.getBufferPosition();
107
+ if (posAfter - posBefore !== binarySize) {
108
+ console.warn('save seems corrupt.', this.name);
131
109
  }
132
- static SerializeCollectablesList(writer, collectables) {
133
- writer.writeInt32(collectables.length);
134
- for (const collectable of collectables) {
135
- ObjectReference_1.ObjectReference.Serialize(writer, collectable);
136
- }
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);
137
126
  }
138
- static ReadCollectablesList(reader) {
139
- let countCollected = reader.readInt32();
140
- const collected = [];
141
- for (let i = 0; i < countCollected; i++) {
142
- const collectable = ObjectReference_1.ObjectReference.Parse(reader);
143
- collected.push(collectable);
144
- }
145
- 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);
146
134
  }
135
+ return collected;
147
136
  }
148
- exports.Level = Level;
149
- });
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;