@etothepii/satisfactory-file-parser 3.3.1 → 4.0.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.
Files changed (383) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/GUIDE.md +11 -7
  3. package/README.md +4 -4
  4. package/build/index.d.ts +112 -102
  5. package/build/index.d.ts.map +1 -1
  6. package/build/index.js +42 -40
  7. package/build/index.js.map +1 -1
  8. package/build/parser/byte/binary-readable.interface.d.ts +1 -0
  9. package/build/parser/byte/binary-readable.interface.d.ts.map +1 -1
  10. package/build/parser/byte/binary-readable.interface.js.map +1 -1
  11. package/build/parser/byte/byte-reader.class.d.ts +1 -0
  12. package/build/parser/byte/byte-reader.class.d.ts.map +1 -1
  13. package/build/parser/byte/byte-reader.class.js +6 -2
  14. package/build/parser/byte/byte-reader.class.js.map +1 -1
  15. package/build/parser/byte/byte-writer.class.d.ts +1 -0
  16. package/build/parser/byte/byte-writer.class.d.ts.map +1 -1
  17. package/build/parser/byte/byte-writer.class.js +6 -0
  18. package/build/parser/byte/byte-writer.class.js.map +1 -1
  19. package/build/parser/context/context-reader.d.ts +1 -1
  20. package/build/parser/context/context-reader.d.ts.map +1 -1
  21. package/build/parser/context/context-reader.js.map +1 -1
  22. package/build/parser/context/context-writer.d.ts +1 -1
  23. package/build/parser/context/context-writer.d.ts.map +1 -1
  24. package/build/parser/context/context-writer.js.map +1 -1
  25. package/build/parser/context/hierarchical-version-context.d.ts +11 -0
  26. package/build/parser/context/hierarchical-version-context.d.ts.map +1 -0
  27. package/build/parser/context/hierarchical-version-context.js +24 -0
  28. package/build/parser/context/hierarchical-version-context.js.map +1 -0
  29. package/build/parser/context/{context.d.ts → reader-writer-context.d.ts} +5 -3
  30. package/build/parser/context/reader-writer-context.d.ts.map +1 -0
  31. package/build/parser/context/{context.js → reader-writer-context.js} +1 -1
  32. package/build/parser/context/reader-writer-context.js.map +1 -0
  33. package/build/parser/parser.d.ts.map +1 -1
  34. package/build/parser/parser.js +29 -15
  35. package/build/parser/parser.js.map +1 -1
  36. package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts +4 -2
  37. package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts.map +1 -1
  38. package/build/parser/satisfactory/blueprint/blueprint-config-version.js +4 -2
  39. package/build/parser/satisfactory/blueprint/blueprint-config-version.js.map +1 -1
  40. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts +4 -5
  41. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts.map +1 -1
  42. package/build/parser/satisfactory/blueprint/blueprint-config.js +16 -14
  43. package/build/parser/satisfactory/blueprint/blueprint-config.js.map +1 -1
  44. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts +2 -0
  45. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts.map +1 -1
  46. package/build/parser/satisfactory/blueprint/blueprint-header.js +18 -2
  47. package/build/parser/satisfactory/blueprint/blueprint-header.js.map +1 -1
  48. package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts.map +1 -1
  49. package/build/parser/satisfactory/blueprint/blueprint-reader.js +6 -2
  50. package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -1
  51. package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts.map +1 -1
  52. package/build/parser/satisfactory/blueprint/blueprint-writer.js +5 -2
  53. package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -1
  54. package/build/parser/satisfactory/save/data-blob.d.ts +17 -0
  55. package/build/parser/satisfactory/save/data-blob.d.ts.map +1 -0
  56. package/build/parser/satisfactory/save/data-blob.js +137 -0
  57. package/build/parser/satisfactory/save/data-blob.js.map +1 -0
  58. package/build/parser/satisfactory/save/level.d.ts +5 -10
  59. package/build/parser/satisfactory/save/level.d.ts.map +1 -1
  60. package/build/parser/satisfactory/save/level.js +52 -180
  61. package/build/parser/satisfactory/save/level.js.map +1 -1
  62. package/build/parser/satisfactory/save/satisfactory-save-header.d.ts.map +1 -1
  63. package/build/parser/satisfactory/save/satisfactory-save-header.js +5 -3
  64. package/build/parser/satisfactory/save/satisfactory-save-header.js.map +1 -1
  65. package/build/parser/satisfactory/save/satisfactory-save.d.ts +3 -1
  66. package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -1
  67. package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -1
  68. package/build/parser/satisfactory/save/save-body-chunks.js +2 -2
  69. package/build/parser/satisfactory/save/save-body-chunks.js.map +1 -1
  70. package/build/parser/satisfactory/save/save-custom-version.d.ts +8 -2
  71. package/build/parser/satisfactory/save/save-custom-version.d.ts.map +1 -1
  72. package/build/parser/satisfactory/save/save-custom-version.js +8 -2
  73. package/build/parser/satisfactory/save/save-custom-version.js.map +1 -1
  74. package/build/parser/satisfactory/save/save-reader.d.ts +2 -2
  75. package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -1
  76. package/build/parser/satisfactory/save/save-reader.js +16 -13
  77. package/build/parser/satisfactory/save/save-reader.js.map +1 -1
  78. package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -1
  79. package/build/parser/satisfactory/save/save-writer.js +4 -1
  80. package/build/parser/satisfactory/save/save-writer.js.map +1 -1
  81. package/build/parser/satisfactory/save/save.types.d.ts +1 -1
  82. package/build/parser/satisfactory/save/save.types.d.ts.map +1 -1
  83. package/build/parser/satisfactory/save/save.types.js.map +1 -1
  84. package/build/parser/satisfactory/save/toc-blob.d.ts +18 -0
  85. package/build/parser/satisfactory/save/toc-blob.d.ts.map +1 -0
  86. package/build/parser/satisfactory/save/toc-blob.js +97 -0
  87. package/build/parser/satisfactory/save/toc-blob.js.map +1 -0
  88. package/build/parser/satisfactory/types/objects/SaveObject.d.ts +4 -0
  89. package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -1
  90. package/build/parser/satisfactory/types/objects/SaveObject.js +19 -5
  91. package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -1
  92. package/build/parser/satisfactory/types/property/PropertiesList.d.ts +4 -4
  93. package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -1
  94. package/build/parser/satisfactory/types/property/PropertiesList.js +73 -114
  95. package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -1
  96. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts +9 -12
  97. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts.map +1 -1
  98. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js +12 -7
  99. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js.map +1 -1
  100. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +10 -5
  101. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -1
  102. package/build/parser/satisfactory/types/property/generic/BoolProperty.js +20 -23
  103. package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -1
  104. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +12 -7
  105. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -1
  106. package/build/parser/satisfactory/types/property/generic/ByteProperty.js +37 -34
  107. package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -1
  108. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +9 -5
  109. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -1
  110. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +15 -23
  111. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -1
  112. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +10 -5
  113. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -1
  114. package/build/parser/satisfactory/types/property/generic/EnumProperty.js +17 -23
  115. package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -1
  116. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +9 -5
  117. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -1
  118. package/build/parser/satisfactory/types/property/generic/FloatProperty.js +15 -23
  119. package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -1
  120. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +9 -5
  121. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -1
  122. package/build/parser/satisfactory/types/property/generic/Int64Property.js +15 -23
  123. package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -1
  124. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +8 -4
  125. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -1
  126. package/build/parser/satisfactory/types/property/generic/Int8Property.js +11 -20
  127. package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -1
  128. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts +20 -0
  129. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts.map +1 -0
  130. package/build/parser/satisfactory/types/property/generic/IntProperty.js +25 -0
  131. package/build/parser/satisfactory/types/property/generic/IntProperty.js.map +1 -0
  132. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts +21 -0
  133. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts.map +1 -0
  134. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js +26 -0
  135. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js.map +1 -0
  136. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts +20 -0
  137. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts.map +1 -0
  138. package/build/parser/satisfactory/types/property/generic/NameProperty.js +25 -0
  139. package/build/parser/satisfactory/types/property/generic/NameProperty.js.map +1 -0
  140. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +9 -5
  141. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -1
  142. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +15 -23
  143. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -1
  144. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts +20 -0
  145. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts.map +1 -0
  146. package/build/parser/satisfactory/types/property/generic/SingleProperty.js +25 -0
  147. package/build/parser/satisfactory/types/property/generic/SingleProperty.js.map +1 -0
  148. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +9 -5
  149. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -1
  150. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +15 -23
  151. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -1
  152. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +9 -5
  153. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -1
  154. package/build/parser/satisfactory/types/property/generic/StrProperty.js +15 -23
  155. package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -1
  156. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +9 -5
  157. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -1
  158. package/build/parser/satisfactory/types/property/generic/TextProperty.js +38 -45
  159. package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -1
  160. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +9 -5
  161. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -1
  162. package/build/parser/satisfactory/types/property/generic/Uint32Property.js +15 -23
  163. package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -1
  164. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +9 -5
  165. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -1
  166. package/build/parser/satisfactory/types/property/generic/Uint64Property.js +14 -22
  167. package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -1
  168. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +9 -5
  169. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -1
  170. package/build/parser/satisfactory/types/property/generic/Uint8Property.js +14 -22
  171. package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -1
  172. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts +15 -0
  173. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts.map +1 -0
  174. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js +129 -0
  175. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js.map +1 -0
  176. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts +55 -0
  177. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts.map +1 -0
  178. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js +24 -0
  179. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js.map +1 -0
  180. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts +20 -0
  181. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts.map +1 -0
  182. package/build/parser/satisfactory/types/property/generic/{MapProperty.js → containers/MapProperty.js} +52 -61
  183. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.js.map +1 -0
  184. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts +14 -0
  185. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts.map +1 -0
  186. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js +90 -0
  187. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js.map +1 -0
  188. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts +34 -0
  189. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts.map +1 -0
  190. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js +17 -0
  191. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js.map +1 -0
  192. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts +59 -0
  193. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts.map +1 -0
  194. package/build/parser/satisfactory/types/property/generic/{StructProperty.js → containers/StructProperty.js} +61 -84
  195. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.js.map +1 -0
  196. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts +2 -0
  197. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts.map +1 -1
  198. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js +14 -5
  199. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js.map +1 -1
  200. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.d.ts.map +1 -1
  201. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.js.map +1 -1
  202. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js +2 -2
  203. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js.map +1 -1
  204. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts +4 -2
  205. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts.map +1 -1
  206. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js +4 -2
  207. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js.map +1 -1
  208. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +4 -4
  209. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -1
  210. package/build/parser/satisfactory/types/structs/GUIDInfo.js +6 -6
  211. package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -1
  212. package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts.map +1 -1
  213. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js +0 -2
  214. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js.map +1 -1
  215. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -1
  216. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -1
  217. package/build/parser/satisfactory/types/structs/SoftObjectReference.js +2 -2
  218. package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -1
  219. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts +12 -0
  220. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts.map +1 -0
  221. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js +21 -0
  222. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js.map +1 -0
  223. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts +11 -0
  224. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts.map +1 -0
  225. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js +22 -0
  226. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js.map +1 -0
  227. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts +14 -0
  228. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts.map +1 -0
  229. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js +24 -0
  230. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js.map +1 -0
  231. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts +12 -0
  232. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts.map +1 -0
  233. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js +22 -0
  234. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js.map +1 -0
  235. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts +11 -0
  236. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts.map +1 -0
  237. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js +18 -0
  238. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js.map +1 -0
  239. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts +11 -0
  240. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts.map +1 -0
  241. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js +38 -0
  242. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js.map +1 -0
  243. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts +30 -0
  244. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts.map +1 -0
  245. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js +182 -0
  246. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js.map +1 -0
  247. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts +11 -0
  248. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts.map +1 -0
  249. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js +26 -0
  250. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js.map +1 -0
  251. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts +17 -0
  252. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts.map +1 -0
  253. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js +27 -0
  254. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js.map +1 -0
  255. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts +11 -0
  256. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts.map +1 -0
  257. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js +21 -0
  258. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js.map +1 -0
  259. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts +12 -0
  260. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts.map +1 -0
  261. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js +22 -0
  262. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js.map +1 -0
  263. package/build/parser/stream/reworked/readable-stream-parser.d.ts +2 -3
  264. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  265. package/build/parser/stream/reworked/readable-stream-parser.js +82 -44
  266. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  267. package/build/parser/unreal-engine/ETextHistoryType.d.ts +17 -0
  268. package/build/parser/unreal-engine/ETextHistoryType.d.ts.map +1 -0
  269. package/build/parser/unreal-engine/ETextHistoryType.js +21 -0
  270. package/build/parser/unreal-engine/ETextHistoryType.js.map +1 -0
  271. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts +24 -0
  272. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts.map +1 -0
  273. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js +29 -0
  274. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js.map +1 -0
  275. package/package.json +3 -3
  276. package/build/parser/context/context.d.ts.map +0 -1
  277. package/build/parser/context/context.js.map +0 -1
  278. package/build/parser/file.types.d.ts +0 -14
  279. package/build/parser/file.types.d.ts.map +0 -1
  280. package/build/parser/file.types.js +0 -8
  281. package/build/parser/file.types.js.map +0 -1
  282. package/build/parser/satisfactory/save/level.class.d.ts +0 -29
  283. package/build/parser/satisfactory/save/level.class.d.ts.map +0 -1
  284. package/build/parser/satisfactory/save/level.class.js +0 -204
  285. package/build/parser/satisfactory/save/level.class.js.map +0 -1
  286. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts +0 -22
  287. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts.map +0 -1
  288. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js +0 -127
  289. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js.map +0 -1
  290. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts +0 -14
  291. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts.map +0 -1
  292. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js +0 -23
  293. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js.map +0 -1
  294. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts +0 -14
  295. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts.map +0 -1
  296. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js +0 -23
  297. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js.map +0 -1
  298. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts +0 -14
  299. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts.map +0 -1
  300. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js +0 -23
  301. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js.map +0 -1
  302. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts +0 -14
  303. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts.map +0 -1
  304. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js +0 -23
  305. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js.map +0 -1
  306. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts +0 -14
  307. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts.map +0 -1
  308. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js +0 -23
  309. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js.map +0 -1
  310. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts +0 -14
  311. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts.map +0 -1
  312. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js +0 -23
  313. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js.map +0 -1
  314. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts +0 -14
  315. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts.map +0 -1
  316. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js +0 -23
  317. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js.map +0 -1
  318. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts +0 -15
  319. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts.map +0 -1
  320. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js +0 -23
  321. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js.map +0 -1
  322. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts +0 -15
  323. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts.map +0 -1
  324. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js +0 -23
  325. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js.map +0 -1
  326. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts +0 -14
  327. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts.map +0 -1
  328. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js +0 -23
  329. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js.map +0 -1
  330. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts +0 -26
  331. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts.map +0 -1
  332. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js +0 -75
  333. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js.map +0 -1
  334. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts +0 -15
  335. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts.map +0 -1
  336. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js +0 -23
  337. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js.map +0 -1
  338. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +0 -16
  339. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +0 -1
  340. package/build/parser/satisfactory/types/property/generic/Int32Property.js +0 -33
  341. package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +0 -1
  342. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +0 -25
  343. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +0 -1
  344. package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +0 -1
  345. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts +0 -14
  346. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts.map +0 -1
  347. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js +0 -23
  348. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js.map +0 -1
  349. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts +0 -15
  350. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts.map +0 -1
  351. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js +0 -23
  352. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js.map +0 -1
  353. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts +0 -15
  354. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts.map +0 -1
  355. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js +0 -75
  356. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js.map +0 -1
  357. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts +0 -14
  358. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts.map +0 -1
  359. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js +0 -23
  360. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js.map +0 -1
  361. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts +0 -14
  362. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts.map +0 -1
  363. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js +0 -42
  364. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js.map +0 -1
  365. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts +0 -14
  366. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts.map +0 -1
  367. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js +0 -23
  368. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js.map +0 -1
  369. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +0 -60
  370. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +0 -1
  371. package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +0 -1
  372. package/build/parser/satisfactory/types/structs/GUID.d.ts +0 -8
  373. package/build/parser/satisfactory/types/structs/GUID.d.ts.map +0 -1
  374. package/build/parser/satisfactory/types/structs/GUID.js +0 -22
  375. package/build/parser/satisfactory/types/structs/GUID.js.map +0 -1
  376. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +0 -6
  377. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +0 -1
  378. package/build/parser/stream/reworked/save-stream-json-stringifier.js +0 -35
  379. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +0 -1
  380. package/build/parser/stream/reworked/save-stream-writer.class.d.ts +0 -28
  381. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +0 -1
  382. package/build/parser/stream/reworked/save-stream-writer.class.js +0 -84
  383. package/build/parser/stream/reworked/save-stream-writer.class.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Uint8Property.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,eAAe,aAAc,GAAG,KAAG,QAAQ,IAAI,aAA8E,CAAC;AAE3I,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,yBAAiB,aAAa,CAAC;IAEpB,MAAM,KAAK,WAAY,aAAa,UAAU,MAAM,UAAS,MAAM,KAAO,aAShF,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,KAAG,MAEjD,CAAA;IAEM,MAAM,YAAY,aAAc,aAAa,KAAG,MAEtD,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,aAAa,KAAG,IAG1E,CAAA;IAEM,MAAM,cAAc,WAAY,aAAa,SAAS,MAAM,KAAG,IAErE,CAAA;CACJ"}
1
+ {"version":3,"file":"Uint8Property.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,eAAe,aAAc,GAAG,KAAG,QAAQ,IAAI,aAA8F,CAAC;AAE3J,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,yBAAiB,aAAa,CAAC;IAE3B,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE1E;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEvD;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE9E;IAED,SAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzE;CACJ"}
@@ -1,33 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Uint8Property = exports.isUint8Property = void 0;
4
- const GUIDInfo_1 = require("../../structs/GUIDInfo");
5
- const AbstractBaseProperty_1 = require("./AbstractBaseProperty");
6
- const isUint8Property = (property) => !Array.isArray(property) && property.type === 'UInt8Property';
4
+ const isUint8Property = (property) => !Array.isArray(property) && property.propertyTagType.name === 'UInt8Property';
7
5
  exports.isUint8Property = isUint8Property;
8
6
  var Uint8Property;
9
7
  (function (Uint8Property) {
10
- Uint8Property.Parse = (reader, ueType, index = 0) => {
11
- const guidInfo = GUIDInfo_1.GUIDInfo.read(reader);
12
- const value = Uint8Property.ReadValue(reader);
13
- return {
14
- ...AbstractBaseProperty_1.AbstractBaseProperty.Create({ index, ueType, guidInfo, type: '' }),
15
- type: 'Uint8Property',
16
- value,
17
- };
18
- };
19
- Uint8Property.ReadValue = (reader) => {
8
+ function Parse(reader, property) {
9
+ property.value = Uint8Property.ReadValue(reader);
10
+ }
11
+ Uint8Property.Parse = Parse;
12
+ function ReadValue(reader) {
20
13
  return reader.readUint8();
21
- };
22
- Uint8Property.CalcOverhead = (property) => {
23
- return 1;
24
- };
25
- Uint8Property.Serialize = (writer, property) => {
26
- GUIDInfo_1.GUIDInfo.write(writer, property.guidInfo);
14
+ }
15
+ Uint8Property.ReadValue = ReadValue;
16
+ function Serialize(writer, property) {
27
17
  Uint8Property.SerializeValue(writer, property.value);
28
- };
29
- Uint8Property.SerializeValue = (writer, value) => {
18
+ }
19
+ Uint8Property.Serialize = Serialize;
20
+ function SerializeValue(writer, value) {
30
21
  writer.writeUint8(value);
31
- };
22
+ }
23
+ Uint8Property.SerializeValue = SerializeValue;
32
24
  })(Uint8Property || (exports.Uint8Property = Uint8Property = {}));
33
25
  //# sourceMappingURL=Uint8Property.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Uint8Property.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":";;;AAEA,qDAAkD;AAClD,iEAA8D;AAEvD,MAAM,eAAe,GAAG,CAAC,QAAa,EAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC;AAA9H,QAAA,eAAe,mBAA+G;AAO3I,IAAiB,aAAa,CA6B7B;AA7BD,WAAiB,aAAa;IAEb,mBAAK,GAAG,CAAC,MAAqB,EAAE,MAAc,EAAE,QAAgB,CAAC,EAAiB,EAAE;QAC7F,MAAM,QAAQ,GAAG,mBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO;YACH,GAAG,2CAAoB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACrE,IAAI,EAAE,eAAe;YACrB,KAAK;SACgB,CAAC;IAC9B,CAAC,CAAA;IAEY,uBAAS,GAAG,CAAC,MAAqB,EAAU,EAAE;QACvD,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC,CAAA;IAEY,0BAAY,GAAG,CAAC,QAAuB,EAAU,EAAE;QAC5D,OAAO,CAAC,CAAC;IACb,CAAC,CAAA;IAEY,uBAAS,GAAG,CAAC,MAAqB,EAAE,QAAuB,EAAQ,EAAE;QAC9E,mBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC,CAAA;IAEY,4BAAc,GAAG,CAAC,MAAqB,EAAE,KAAa,EAAQ,EAAE;QACzE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAA;AACL,CAAC,EA7BgB,aAAa,6BAAb,aAAa,QA6B7B","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { GUIDInfo } from '../../structs/GUIDInfo';\nimport { AbstractBaseProperty } from './AbstractBaseProperty';\n\nexport const isUint8Property = (property: any): property is Uint8Property => !Array.isArray(property) && property.type === 'UInt8Property';\n\nexport type Uint8Property = AbstractBaseProperty & {\n type: 'Uint8Property';\n value: number;\n};\n\nexport namespace Uint8Property {\n\n export const Parse = (reader: ContextReader, ueType: string, index: number = 0): Uint8Property => {\n const guidInfo = GUIDInfo.read(reader);\n const value = Uint8Property.ReadValue(reader);\n\n return {\n ...AbstractBaseProperty.Create({ index, ueType, guidInfo, type: '' }),\n type: 'Uint8Property',\n value,\n } satisfies Uint8Property;\n }\n\n export const ReadValue = (reader: ContextReader): number => {\n return reader.readUint8();\n }\n\n export const CalcOverhead = (property: Uint8Property): number => {\n return 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: Uint8Property): void => {\n GUIDInfo.write(writer, property.guidInfo);\n Uint8Property.SerializeValue(writer, property.value);\n }\n\n export const SerializeValue = (writer: ContextWriter, value: number): void => {\n writer.writeUint8(value);\n }\n}\n"]}
1
+ {"version":3,"file":"Uint8Property.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":";;;AAKO,MAAM,eAAe,GAAG,CAAC,QAAa,EAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,eAAe,CAAC;AAA9I,QAAA,eAAe,mBAA+H;AAQ3J,IAAiB,aAAa,CAiB7B;AAjBD,WAAiB,aAAa;IAE1B,SAAgB,KAAK,CAAC,MAAqB,EAAE,QAAuB;QAChE,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAFe,mBAAK,QAEpB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAqB;QAC3C,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAFe,uBAAS,YAExB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAqB,EAAE,QAAuB;QACpE,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAFe,uBAAS,YAExB,CAAA;IAED,SAAgB,cAAc,CAAC,MAAqB,EAAE,KAAa;QAC/D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAFe,4BAAc,iBAE7B,CAAA;AACL,CAAC,EAjBgB,aAAa,6BAAb,aAAa,QAiB7B","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { FPropertyTagNode } from '../../structs/binary/FPropertyTagNode';\nimport { AbstractBaseProperty } from './AbstractBaseProperty';\n\nexport const isUint8Property = (property: any): property is Uint8Property => !Array.isArray(property) && property.propertyTagType.name === 'UInt8Property';\n\nexport type Uint8Property = AbstractBaseProperty & {\n type: 'Uint8Property';\n propertyTagType: { name: 'Uint8Property', children: FPropertyTagNode[] };\n value: number;\n};\n\nexport namespace Uint8Property {\n\n export function Parse(reader: ContextReader, property: Uint8Property): void {\n property.value = Uint8Property.ReadValue(reader);\n }\n\n export function ReadValue(reader: ContextReader): number {\n return reader.readUint8();\n }\n\n export function Serialize(writer: ContextWriter, property: Uint8Property): void {\n Uint8Property.SerializeValue(writer, property.value);\n }\n\n export function SerializeValue(writer: ContextWriter, value: number): void {\n writer.writeUint8(value);\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { ContextReader } from '../../../../../context/context-reader';
2
+ import { ContextWriter } from '../../../../../context/context-writer';
3
+ import { FPropertyTag } from '../../../structs/binary/FPropertyTag';
4
+ import { AbstractBaseProperty } from '../AbstractBaseProperty';
5
+ export declare const isArrayProperty: (property: any) => property is ArrayProperty;
6
+ export type ArrayProperty = AbstractBaseProperty & {
7
+ type: 'ArrayProperty';
8
+ structTag?: FPropertyTag;
9
+ values: any[];
10
+ };
11
+ export declare namespace ArrayProperty {
12
+ function Parse(reader: ContextReader, tag: FPropertyTag, property: ArrayProperty): void;
13
+ function Serialize(writer: ContextWriter, property: ArrayProperty): void;
14
+ }
15
+ //# sourceMappingURL=ArrayProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAe/D,eAAO,MAAM,eAAe,aAAc,GAAG,KAAG,QAAQ,IAAI,aAA8F,CAAC;AAE3J,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;CACjB,CAAA;AAED,yBAAiB,aAAa,CAAC;IAE3B,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAyE7F;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAsE9E;CACJ"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArrayProperty = exports.isArrayProperty = void 0;
4
+ const parser_error_1 = require("../../../../../error/parser.error");
5
+ const save_custom_version_1 = require("../../../../save/save-custom-version");
6
+ const FPropertyTag_1 = require("../../../structs/binary/FPropertyTag");
7
+ const BoolProperty_1 = require("../BoolProperty");
8
+ const ByteProperty_1 = require("../ByteProperty");
9
+ const DoubleProperty_1 = require("../DoubleProperty");
10
+ const EnumProperty_1 = require("../EnumProperty");
11
+ const FloatProperty_1 = require("../FloatProperty");
12
+ const Int64Property_1 = require("../Int64Property");
13
+ const InterfaceProperty_1 = require("../InterfaceProperty");
14
+ const IntProperty_1 = require("../IntProperty");
15
+ const ObjectProperty_1 = require("../ObjectProperty");
16
+ const SoftObjectProperty_1 = require("../SoftObjectProperty");
17
+ const StrProperty_1 = require("../StrProperty");
18
+ const TextProperty_1 = require("../TextProperty");
19
+ const StructProperty_1 = require("./StructProperty");
20
+ const isArrayProperty = (property) => !Array.isArray(property) && property.propertyTagType.name === 'ArrayProperty';
21
+ exports.isArrayProperty = isArrayProperty;
22
+ var ArrayProperty;
23
+ (function (ArrayProperty) {
24
+ function Parse(reader, tag, property) {
25
+ const elementCount = reader.readInt32();
26
+ switch (property.propertyTagType.children[0].name) {
27
+ case "FloatProperty":
28
+ property.values = new Array(elementCount).fill(0).map(() => FloatProperty_1.FloatProperty.ReadValue(reader));
29
+ break;
30
+ case "BoolProperty":
31
+ property.values = new Array(elementCount).fill(0).map(() => BoolProperty_1.BoolProperty.ReadValue(reader));
32
+ break;
33
+ case "IntProperty":
34
+ property.values = new Array(elementCount).fill(0).map(() => IntProperty_1.IntProperty.ReadValue(reader));
35
+ break;
36
+ case "Int64Property":
37
+ property.values = new Array(elementCount).fill(0).map(() => Int64Property_1.Int64Property.ReadValue(reader));
38
+ break;
39
+ case "DoubleProperty":
40
+ property.values = new Array(elementCount).fill(0).map(() => DoubleProperty_1.DoubleProperty.ReadValue(reader));
41
+ break;
42
+ case "ByteProperty":
43
+ property.values = new Array(elementCount).fill(0).map(() => ByteProperty_1.ByteProperty.ReadValue(reader));
44
+ break;
45
+ case "StrProperty":
46
+ property.values = new Array(elementCount).fill(0).map(() => StrProperty_1.StrProperty.ReadValue(reader));
47
+ break;
48
+ case "EnumProperty":
49
+ property.values = new Array(elementCount).fill(0).map(() => EnumProperty_1.EnumProperty.ReadValue(reader));
50
+ break;
51
+ case "TextProperty":
52
+ property.values = new Array(elementCount).fill(0).map(() => TextProperty_1.TextProperty.ReadValue(reader));
53
+ break;
54
+ case "InterfaceProperty":
55
+ property.values = new Array(elementCount).fill(0).map(() => InterfaceProperty_1.InterfaceProperty.ReadValue(reader));
56
+ break;
57
+ case "ObjectProperty":
58
+ property.values = new Array(elementCount).fill(0).map(() => ObjectProperty_1.ObjectProperty.ReadValue(reader));
59
+ break;
60
+ case "SoftObjectProperty":
61
+ property.values = new Array(elementCount).fill(0).map(() => SoftObjectProperty_1.SoftObjectProperty.ReadValue(reader));
62
+ break;
63
+ case "StructProperty":
64
+ let binarySizeToCheck = tag.binarySize - 4;
65
+ if (reader.context.saveVersion.object < save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
66
+ const innerTag = FPropertyTag_1.FPropertyTag.read(reader);
67
+ property.structTag = innerTag;
68
+ property.propertyTagType.children[0] = innerTag.propertyTagType;
69
+ binarySizeToCheck = property.structTag.binarySize;
70
+ }
71
+ property.values = new Array(elementCount).fill(0).map(() => StructProperty_1.StructProperty.ParseValue(reader, tag.propertyTagType.children[0].children[0], binarySizeToCheck));
72
+ break;
73
+ default:
74
+ throw new parser_error_1.UnimplementedError(`Unknown array property subtype ${JSON.stringify(property.propertyTagType.children[0].name)} for ${property.propertyTagType.name}. Not implemented.`);
75
+ }
76
+ }
77
+ ArrayProperty.Parse = Parse;
78
+ function Serialize(writer, property) {
79
+ writer.writeInt32(property.values.length);
80
+ switch (property.propertyTagType.children[0].name) {
81
+ case "FloatProperty":
82
+ property.values.forEach(value => FloatProperty_1.FloatProperty.SerializeValue(writer, value));
83
+ break;
84
+ case "BoolProperty":
85
+ property.values.forEach(value => BoolProperty_1.BoolProperty.SerializeValue(writer, value));
86
+ break;
87
+ case "IntProperty":
88
+ property.values.forEach(value => IntProperty_1.IntProperty.SerializeValue(writer, value));
89
+ break;
90
+ case "Int64Property":
91
+ property.values.forEach(value => Int64Property_1.Int64Property.SerializeValue(writer, value));
92
+ break;
93
+ case "DoubleProperty":
94
+ property.values.forEach(value => DoubleProperty_1.DoubleProperty.SerializeValue(writer, value));
95
+ break;
96
+ case "ByteProperty":
97
+ property.values.forEach(value => ByteProperty_1.ByteProperty.SerializeValue(writer, value));
98
+ break;
99
+ case "StrProperty":
100
+ property.values.forEach(value => StrProperty_1.StrProperty.SerializeValue(writer, value));
101
+ break;
102
+ case "EnumProperty":
103
+ property.values.forEach(value => EnumProperty_1.EnumProperty.SerializeValue(writer, value));
104
+ break;
105
+ case "TextProperty":
106
+ property.values.forEach(value => TextProperty_1.TextProperty.SerializeValue(writer, value));
107
+ break;
108
+ case "InterfaceProperty":
109
+ property.values.forEach(value => InterfaceProperty_1.InterfaceProperty.SerializeValue(writer, value));
110
+ break;
111
+ case "ObjectProperty":
112
+ property.values.forEach(value => ObjectProperty_1.ObjectProperty.SerializeValue(writer, value));
113
+ break;
114
+ case "SoftObjectProperty":
115
+ property.values.forEach(value => SoftObjectProperty_1.SoftObjectProperty.SerializeValue(writer, value));
116
+ break;
117
+ case "StructProperty":
118
+ if (writer.context.saveVersion.object < save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
119
+ FPropertyTag_1.FPropertyTag.write(writer, property.structTag);
120
+ }
121
+ property.values.forEach(value => StructProperty_1.StructProperty.SerializeValue(writer, property.propertyTagType.children[0].children[0].name, value));
122
+ break;
123
+ default:
124
+ throw new parser_error_1.UnimplementedError(`Unknown array property to serialize. ${property.type ?? ''}, ${property.subtype ?? ''}`);
125
+ }
126
+ }
127
+ ArrayProperty.Serialize = Serialize;
128
+ })(ArrayProperty || (exports.ArrayProperty = ArrayProperty = {}));
129
+ //# sourceMappingURL=ArrayProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { UnimplementedError } from '../../../../../error/parser.error';\nimport { SaveCustomVersion } from '../../../../save/save-custom-version';\nimport { FPropertyTag } from '../../../structs/binary/FPropertyTag';\nimport { AbstractBaseProperty } from '../AbstractBaseProperty';\nimport { BoolProperty } from '../BoolProperty';\nimport { ByteProperty } from '../ByteProperty';\nimport { DoubleProperty } from '../DoubleProperty';\nimport { EnumProperty } from '../EnumProperty';\nimport { FloatProperty } from '../FloatProperty';\nimport { Int64Property } from '../Int64Property';\nimport { InterfaceProperty } from '../InterfaceProperty';\nimport { IntProperty } from '../IntProperty';\nimport { ObjectProperty } from '../ObjectProperty';\nimport { SoftObjectProperty } from '../SoftObjectProperty';\nimport { StrProperty } from '../StrProperty';\nimport { TextProperty } from '../TextProperty';\nimport { StructProperty } from './StructProperty';\n\nexport const isArrayProperty = (property: any): property is ArrayProperty => !Array.isArray(property) && property.propertyTagType.name === 'ArrayProperty';\n\nexport type ArrayProperty = AbstractBaseProperty & {\n type: 'ArrayProperty';\n structTag?: FPropertyTag;\n values: any[];\n}\n\nexport namespace ArrayProperty {\n\n export function Parse(reader: ContextReader, tag: FPropertyTag, property: ArrayProperty): void {\n\n const elementCount = reader.readInt32();\n switch (property.propertyTagType.children[0].name) {\n case \"FloatProperty\":\n property.values = new Array(elementCount).fill(0).map(() => FloatProperty.ReadValue(reader));\n break;\n\n case \"BoolProperty\":\n property.values = new Array(elementCount).fill(0).map(() => BoolProperty.ReadValue(reader));\n break;\n\n case \"IntProperty\":\n property.values = new Array(elementCount).fill(0).map(() => IntProperty.ReadValue(reader));\n break;\n\n case \"Int64Property\":\n property.values = new Array(elementCount).fill(0).map(() => Int64Property.ReadValue(reader));\n break;\n\n case \"DoubleProperty\":\n property.values = new Array(elementCount).fill(0).map(() => DoubleProperty.ReadValue(reader));\n break;\n\n case \"ByteProperty\":\n property.values = new Array(elementCount).fill(0).map(() => ByteProperty.ReadValue(reader));\n break;\n\n case \"StrProperty\":\n property.values = new Array(elementCount).fill(0).map(() => StrProperty.ReadValue(reader));\n break;\n\n case \"EnumProperty\":\n property.values = new Array(elementCount).fill(0).map(() => EnumProperty.ReadValue(reader));\n break;\n\n case \"TextProperty\":\n property.values = new Array(elementCount).fill(0).map(() => TextProperty.ReadValue(reader));\n break;\n\n case \"InterfaceProperty\":\n property.values = new Array(elementCount).fill(0).map(() => InterfaceProperty.ReadValue(reader));\n break;\n\n case \"ObjectProperty\":\n property.values = new Array(elementCount).fill(0).map(() => ObjectProperty.ReadValue(reader));\n break;\n\n case \"SoftObjectProperty\":\n property.values = new Array(elementCount).fill(0).map(() => SoftObjectProperty.ReadValue(reader));\n break;\n\n case \"StructProperty\":\n\n // we already read elementCount. so - 4.\n //TODO: check?\n let binarySizeToCheck = tag.binarySize - 4;\n\n // saveVersion 53 is late 1.1\n if (reader.context.saveVersion.object < SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n const innerTag = FPropertyTag.read(reader);\n property.structTag = innerTag;\n property.propertyTagType.children[0] = innerTag.propertyTagType;\n binarySizeToCheck = property.structTag!.binarySize;\n }\n\n property.values = new Array(elementCount).fill(0).map(() => StructProperty.ParseValue(reader, tag.propertyTagType.children[0].children[0], binarySizeToCheck));\n break;\n\n default:\n throw new UnimplementedError(`Unknown array property subtype ${JSON.stringify(property.propertyTagType.children[0].name)} for ${property.propertyTagType.name}. Not implemented.`);\n\n }\n }\n\n export function Serialize(writer: ContextWriter, property: ArrayProperty): void {\n\n writer.writeInt32(property.values.length);\n\n switch (property.propertyTagType.children[0].name) {\n case \"FloatProperty\":\n property.values.forEach(value => FloatProperty.SerializeValue(writer, value));\n break;\n\n case \"BoolProperty\":\n property.values.forEach(value => BoolProperty.SerializeValue(writer, value));\n break;\n\n case \"IntProperty\":\n property.values.forEach(value => IntProperty.SerializeValue(writer, value));\n break;\n\n case \"Int64Property\":\n property.values.forEach(value => Int64Property.SerializeValue(writer, value));\n break;\n\n case \"DoubleProperty\":\n property.values.forEach(value => DoubleProperty.SerializeValue(writer, value));\n break;\n\n case \"ByteProperty\":\n property.values.forEach(value => ByteProperty.SerializeValue(writer, value));\n break;\n\n case \"StrProperty\":\n property.values.forEach(value => StrProperty.SerializeValue(writer, value));\n break;\n\n case \"EnumProperty\":\n property.values.forEach(value => EnumProperty.SerializeValue(writer, value));\n break;\n\n case \"TextProperty\":\n property.values.forEach(value => TextProperty.SerializeValue(writer, value));\n break;\n\n case \"InterfaceProperty\":\n property.values.forEach(value => InterfaceProperty.SerializeValue(writer, value));\n break;\n\n case \"ObjectProperty\":\n property.values.forEach(value => ObjectProperty.SerializeValue(writer, value));\n break;\n\n case \"SoftObjectProperty\":\n property.values.forEach(value => SoftObjectProperty.SerializeValue(writer, value));\n break;\n\n case \"StructProperty\":\n\n // saveVersion 53 is late 1.1\n if (writer.context.saveVersion.object < SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n FPropertyTag.write(writer, property.structTag!);\n }\n\n property.values.forEach(value => StructProperty.SerializeValue(writer, property.propertyTagType.children[0].children[0].name, value));\n\n //writer.writeBinarySizeFromPosition(lenIndicator, before);\n // TODO: write binary value ?\n\n break;\n\n default:\n throw new UnimplementedError(`Unknown array property to serialize. ${(property as any).type ?? ''}, ${(property as any).subtype ?? ''}`);\n }\n }\n}\n"]}
@@ -0,0 +1,55 @@
1
+ import { FPropertyTagNode } from "../../../structs/binary/FPropertyTagNode";
2
+ import { AbstractBaseProperty } from "../AbstractBaseProperty";
3
+ import { BoolProperty } from "../BoolProperty";
4
+ import { ByteProperty } from "../ByteProperty";
5
+ import { DoubleProperty } from "../DoubleProperty";
6
+ import { EnumProperty } from "../EnumProperty";
7
+ import { FloatProperty } from "../FloatProperty";
8
+ import { Int64Property } from "../Int64Property";
9
+ import { InterfaceProperty } from "../InterfaceProperty";
10
+ import { IntProperty } from "../IntProperty";
11
+ import { ObjectProperty } from "../ObjectProperty";
12
+ import { SoftObjectProperty } from "../SoftObjectProperty";
13
+ import { StrProperty } from "../StrProperty";
14
+ import { TextProperty } from "../TextProperty";
15
+ import { StructProperty } from "./StructProperty";
16
+ type SpecificArrayPropertyType<TSubtype extends AbstractBaseProperty, TSubtypevalue = TSubtype['value']> = AbstractBaseProperty & {
17
+ propertyTagType: {
18
+ name: 'ArrayProperty';
19
+ children: [
20
+ {
21
+ name: TSubtype['type'];
22
+ children: FPropertyTagNode[];
23
+ }
24
+ ];
25
+ };
26
+ values: TSubtypevalue[];
27
+ };
28
+ export type BoolArrayProperty = SpecificArrayPropertyType<BoolProperty, number>;
29
+ export declare const isBoolArrayProperty: (property: AbstractBaseProperty) => property is BoolArrayProperty;
30
+ export type Int64ArrayProperty = SpecificArrayPropertyType<Int64Property>;
31
+ export declare const isInt64ArrayProperty: (property: AbstractBaseProperty) => property is Int64ArrayProperty;
32
+ export type ByteArrayProperty = SpecificArrayPropertyType<ByteProperty, number>;
33
+ export declare const isByteArrayProperty: (property: AbstractBaseProperty) => property is ByteArrayProperty;
34
+ export type DoubleArrayProperty = SpecificArrayPropertyType<DoubleProperty>;
35
+ export declare const isDoubleArrayProperty: (property: AbstractBaseProperty) => property is DoubleArrayProperty;
36
+ export type EnumArrayProperty = SpecificArrayPropertyType<EnumProperty>;
37
+ export declare const isEnumArrayProperty: (property: AbstractBaseProperty) => property is EnumArrayProperty;
38
+ export type FloatArrayProperty = SpecificArrayPropertyType<FloatProperty>;
39
+ export declare const isFloatArrayProperty: (property: AbstractBaseProperty) => property is FloatArrayProperty;
40
+ export type IntArrayProperty = SpecificArrayPropertyType<IntProperty>;
41
+ export declare const isIntArrayProperty: (property: AbstractBaseProperty) => property is IntArrayProperty;
42
+ export type ObjectArrayProperty = SpecificArrayPropertyType<ObjectProperty>;
43
+ export declare const isObjectArrayProperty: (property: AbstractBaseProperty) => property is ObjectArrayProperty;
44
+ export type InterfaceArrayProperty = SpecificArrayPropertyType<InterfaceProperty>;
45
+ export declare const isInterfaceArrayProperty: (property: AbstractBaseProperty) => property is InterfaceArrayProperty;
46
+ export type SoftObjectArrayProperty = SpecificArrayPropertyType<SoftObjectProperty>;
47
+ export declare const isSoftObjectArrayProperty: (property: AbstractBaseProperty) => property is SoftObjectArrayProperty;
48
+ export type StrArrayProperty = SpecificArrayPropertyType<StrProperty>;
49
+ export declare const isStrArrayProperty: (property: AbstractBaseProperty) => property is StrArrayProperty;
50
+ export type StructArrayProperty = SpecificArrayPropertyType<StructProperty>;
51
+ export declare const isStructArrayPRoperty: (property: AbstractBaseProperty) => property is StructArrayProperty;
52
+ export type TextArrayProperty = SpecificArrayPropertyType<TextProperty>;
53
+ export declare const isTextArrayProperty: (property: AbstractBaseProperty) => property is TextArrayProperty;
54
+ export {};
55
+ //# sourceMappingURL=ArrayPropertySpecificTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayPropertySpecificTypes.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTextArrayProperty = exports.isStructArrayPRoperty = exports.isStrArrayProperty = exports.isSoftObjectArrayProperty = exports.isInterfaceArrayProperty = exports.isObjectArrayProperty = exports.isIntArrayProperty = exports.isFloatArrayProperty = exports.isEnumArrayProperty = exports.isDoubleArrayProperty = exports.isByteArrayProperty = exports.isInt64ArrayProperty = exports.isBoolArrayProperty = void 0;
4
+ const ArrayProperty_1 = require("./ArrayProperty");
5
+ function createArrayPropertyGuardFor(typeName) {
6
+ return (property) => {
7
+ return ((0, ArrayProperty_1.isArrayProperty)(property) &&
8
+ property.propertyTagType?.children[0]?.name === typeName);
9
+ };
10
+ }
11
+ exports.isBoolArrayProperty = createArrayPropertyGuardFor('BoolProperty');
12
+ exports.isInt64ArrayProperty = createArrayPropertyGuardFor('Int64Property');
13
+ exports.isByteArrayProperty = createArrayPropertyGuardFor('ByteProperty');
14
+ exports.isDoubleArrayProperty = createArrayPropertyGuardFor('DoubleProperty');
15
+ exports.isEnumArrayProperty = createArrayPropertyGuardFor('EnumProperty');
16
+ exports.isFloatArrayProperty = createArrayPropertyGuardFor('FloatProperty');
17
+ exports.isIntArrayProperty = createArrayPropertyGuardFor('IntProperty');
18
+ exports.isObjectArrayProperty = createArrayPropertyGuardFor('ObjectProperty');
19
+ exports.isInterfaceArrayProperty = createArrayPropertyGuardFor('InterfaceProperty');
20
+ exports.isSoftObjectArrayProperty = createArrayPropertyGuardFor('SoftObjectProperty');
21
+ exports.isStrArrayProperty = createArrayPropertyGuardFor('StrProperty');
22
+ exports.isStructArrayPRoperty = createArrayPropertyGuardFor('StructProperty');
23
+ exports.isTextArrayProperty = createArrayPropertyGuardFor('TextProperty');
24
+ //# sourceMappingURL=ArrayPropertySpecificTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayPropertySpecificTypes.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.ts"],"names":[],"mappings":";;;AAcA,mDAAkD;AAgBlD,SAAS,2BAA2B,CAChC,QAAgD;IAEhD,OAAO,CACH,QAA8B,EACJ,EAAE;QAC5B,OAAO,CACH,IAAA,+BAAe,EAAC,QAAQ,CAAC;YACzB,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAC3D,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAGY,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC;AAGrF,QAAA,oBAAoB,GAAG,2BAA2B,CAAqB,eAAe,CAAC,CAAC;AAGxF,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC;AAGrF,QAAA,qBAAqB,GAAG,2BAA2B,CAAsB,gBAAgB,CAAC,CAAC;AAG3F,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC;AAGrF,QAAA,oBAAoB,GAAG,2BAA2B,CAAqB,eAAe,CAAC,CAAC;AAGxF,QAAA,kBAAkB,GAAG,2BAA2B,CAAmB,aAAa,CAAC,CAAC;AAGlF,QAAA,qBAAqB,GAAG,2BAA2B,CAAsB,gBAAgB,CAAC,CAAC;AAG3F,QAAA,wBAAwB,GAAG,2BAA2B,CAAyB,mBAAmB,CAAC,CAAC;AAGpG,QAAA,yBAAyB,GAAG,2BAA2B,CAA0B,oBAAoB,CAAC,CAAC;AAGvG,QAAA,kBAAkB,GAAG,2BAA2B,CAAmB,aAAa,CAAC,CAAC;AAGlF,QAAA,qBAAqB,GAAG,2BAA2B,CAAsB,gBAAgB,CAAC,CAAC;AAG3F,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC","sourcesContent":["import { FPropertyTagNode } from \"../../../structs/binary/FPropertyTagNode\";\nimport { AbstractBaseProperty } from \"../AbstractBaseProperty\";\nimport { BoolProperty } from \"../BoolProperty\";\nimport { ByteProperty } from \"../ByteProperty\";\nimport { DoubleProperty } from \"../DoubleProperty\";\nimport { EnumProperty } from \"../EnumProperty\";\nimport { FloatProperty } from \"../FloatProperty\";\nimport { Int64Property } from \"../Int64Property\";\nimport { InterfaceProperty } from \"../InterfaceProperty\";\nimport { IntProperty } from \"../IntProperty\";\nimport { ObjectProperty } from \"../ObjectProperty\";\nimport { SoftObjectProperty } from \"../SoftObjectProperty\";\nimport { StrProperty } from \"../StrProperty\";\nimport { TextProperty } from \"../TextProperty\";\nimport { isArrayProperty } from \"./ArrayProperty\";\nimport { StructProperty } from \"./StructProperty\";\n\n// Helpers to create type guards.\n// Not necessarily needed, but checking for a \"StrArrayProperty\" can be useful i guess.\ntype SpecificArrayPropertyType<TSubtype extends AbstractBaseProperty, TSubtypevalue = TSubtype['value']> = AbstractBaseProperty & {\n propertyTagType: {\n name: 'ArrayProperty';\n children: [{\n name: TSubtype['type'];\n children: FPropertyTagNode[];\n }];\n };\n values: TSubtypevalue[];\n};\ntype ExtractSubtype<T> = T extends SpecificArrayPropertyType<infer U> ? U : never;\nfunction createArrayPropertyGuardFor<TArrayProperty extends SpecificArrayPropertyType<AbstractBaseProperty>>(\n typeName: ExtractSubtype<TArrayProperty>['type']\n) {\n return (\n property: AbstractBaseProperty\n ): property is TArrayProperty => {\n return (\n isArrayProperty(property) &&\n property.propertyTagType?.children[0]?.name === typeName\n );\n };\n}\n\nexport type BoolArrayProperty = SpecificArrayPropertyType<BoolProperty, number>;\nexport const isBoolArrayProperty = createArrayPropertyGuardFor<BoolArrayProperty>('BoolProperty');\n\nexport type Int64ArrayProperty = SpecificArrayPropertyType<Int64Property>;\nexport const isInt64ArrayProperty = createArrayPropertyGuardFor<Int64ArrayProperty>('Int64Property');\n\nexport type ByteArrayProperty = SpecificArrayPropertyType<ByteProperty, number>;\nexport const isByteArrayProperty = createArrayPropertyGuardFor<ByteArrayProperty>('ByteProperty');\n\nexport type DoubleArrayProperty = SpecificArrayPropertyType<DoubleProperty>;\nexport const isDoubleArrayProperty = createArrayPropertyGuardFor<DoubleArrayProperty>('DoubleProperty');\n\nexport type EnumArrayProperty = SpecificArrayPropertyType<EnumProperty>;\nexport const isEnumArrayProperty = createArrayPropertyGuardFor<EnumArrayProperty>('EnumProperty');\n\nexport type FloatArrayProperty = SpecificArrayPropertyType<FloatProperty>;\nexport const isFloatArrayProperty = createArrayPropertyGuardFor<FloatArrayProperty>('FloatProperty');\n\nexport type IntArrayProperty = SpecificArrayPropertyType<IntProperty>;\nexport const isIntArrayProperty = createArrayPropertyGuardFor<IntArrayProperty>('IntProperty');\n\nexport type ObjectArrayProperty = SpecificArrayPropertyType<ObjectProperty>;\nexport const isObjectArrayProperty = createArrayPropertyGuardFor<ObjectArrayProperty>('ObjectProperty');\n\nexport type InterfaceArrayProperty = SpecificArrayPropertyType<InterfaceProperty>;\nexport const isInterfaceArrayProperty = createArrayPropertyGuardFor<InterfaceArrayProperty>('InterfaceProperty');\n\nexport type SoftObjectArrayProperty = SpecificArrayPropertyType<SoftObjectProperty>;\nexport const isSoftObjectArrayProperty = createArrayPropertyGuardFor<SoftObjectArrayProperty>('SoftObjectProperty');\n\nexport type StrArrayProperty = SpecificArrayPropertyType<StrProperty>;\nexport const isStrArrayProperty = createArrayPropertyGuardFor<StrArrayProperty>('StrProperty');\n\nexport type StructArrayProperty = SpecificArrayPropertyType<StructProperty>;\nexport const isStructArrayPRoperty = createArrayPropertyGuardFor<StructArrayProperty>('StructProperty');\n\nexport type TextArrayProperty = SpecificArrayPropertyType<TextProperty>;\nexport const isTextArrayProperty = createArrayPropertyGuardFor<TextArrayProperty>('TextProperty');"]}
@@ -0,0 +1,20 @@
1
+ import { ContextReader } from '../../../../../context/context-reader';
2
+ import { ContextWriter } from '../../../../../context/context-writer';
3
+ import { LBBalancerIndexing } from '../../../structs/binary/LBBalancerIndexing';
4
+ import { ObjectReference } from '../../../structs/ObjectReference';
5
+ import { vec3 } from '../../../structs/vec3';
6
+ import { AbstractBaseProperty } from '../AbstractBaseProperty';
7
+ import { GENERIC_STRUCT_PROPERTY_VALUE } from './StructProperty';
8
+ export type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | vec3;
9
+ export type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | LBBalancerIndexing;
10
+ export declare const isMapProperty: (property: any) => property is MapProperty;
11
+ export type MapProperty = AbstractBaseProperty & {
12
+ type: 'MapProperty';
13
+ numElementsToRemove?: number;
14
+ values: [key: GENERIC_MAP_KEY_TYPE, value: GENERIC_MAP_VALUE_TYPE][];
15
+ };
16
+ export declare namespace MapProperty {
17
+ function Parse(reader: ContextReader, property: MapProperty): void;
18
+ function Serialize(writer: ContextWriter, property: MapProperty): void;
19
+ }
20
+ //# sourceMappingURL=MapProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/MapProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAO/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,IAAI,CAAC;AAC7G,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,kBAAkB,CAAC;AAE7H,eAAO,MAAM,aAAa,aAAc,GAAG,KAAG,QAAQ,IAAI,WAA0F,CAAC;AAErJ,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC;CACxE,CAAC;AAGF,yBAAiB,WAAW,CAAC;IAEzB,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAwFxE;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CA6E5E;CACJ"}
@@ -1,45 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MapProperty = exports.isMapProperty = void 0;
4
- const DynamicStructPropertyValue_1 = require("../../structs/DynamicStructPropertyValue");
5
- const AbstractBaseProperty_1 = require("./AbstractBaseProperty");
6
- const ByteProperty_1 = require("./ByteProperty");
7
- const EnumProperty_1 = require("./EnumProperty");
8
- const Int32Property_1 = require("./Int32Property");
9
- const Int64Property_1 = require("./Int64Property");
10
- const ObjectProperty_1 = require("./ObjectProperty");
11
- const StrProperty_1 = require("./StrProperty");
12
- const isMapProperty = (property) => !Array.isArray(property) && property.type === 'MapProperty';
4
+ const parser_error_1 = require("../../../../../error/parser.error");
5
+ const LBBalancerIndexing_1 = require("../../../structs/binary/LBBalancerIndexing");
6
+ const DynamicStructPropertyValue_1 = require("../../../structs/DynamicStructPropertyValue");
7
+ const vec3_1 = require("../../../structs/vec3");
8
+ const ByteProperty_1 = require("../ByteProperty");
9
+ const EnumProperty_1 = require("../EnumProperty");
10
+ const Int64Property_1 = require("../Int64Property");
11
+ const IntProperty_1 = require("../IntProperty");
12
+ const ObjectProperty_1 = require("../ObjectProperty");
13
+ const StrProperty_1 = require("../StrProperty");
14
+ const isMapProperty = (property) => !Array.isArray(property) && property.propertyTagType.name === 'MapProperty';
13
15
  exports.isMapProperty = isMapProperty;
14
16
  var MapProperty;
15
17
  (function (MapProperty) {
16
- MapProperty.Parse = (reader, propertyName, size, keyType, valueType, ueType = 'MapProperty', index = 0) => {
18
+ function Parse(reader, property) {
17
19
  const start = reader.getBufferPosition();
18
- const property = {
19
- ...AbstractBaseProperty_1.AbstractBaseProperty.Create({ index, ueType, type: '' }),
20
- type: 'MapProperty',
21
- keyType,
22
- valueType,
23
- guidInfo: undefined,
24
- modeType: 0,
25
- values: [],
26
- modeUnk1: undefined,
27
- modeUnk2: '',
28
- modeUnk3: ''
29
- };
30
- reader.readByte();
31
- property.modeType = reader.readInt32();
20
+ const keyType = property.propertyTagType.children[0].name;
21
+ const valueType = property.propertyTagType.children[1].name;
22
+ property.numElementsToRemove = reader.readInt32();
23
+ if (property.numElementsToRemove > 0) {
24
+ throw new parser_error_1.UnimplementedError('MapProperty does not yet support Number of Elements to be removed. Feel free to raise an issue.');
25
+ }
26
+ property.values = [];
32
27
  const elementCount = reader.readInt32();
33
28
  for (let i = 0; i < elementCount; i++) {
34
29
  let key;
35
30
  let value;
36
- switch (property.keyType) {
31
+ switch (keyType) {
37
32
  case 'StructProperty':
38
- if (propertyName === 'mSaveData' || propertyName === 'mUnresolvedSaveData') {
39
- key = Array.from(reader.readBytes(12));
33
+ if (property.name === 'mSaveData' || property.name === 'mUnresolvedSaveData') {
34
+ key = vec3_1.vec3.ParseInt(reader);
40
35
  }
41
36
  else {
42
- key = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, property.keyType);
37
+ key = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, keyType);
43
38
  }
44
39
  break;
45
40
  case 'ObjectProperty':
@@ -53,8 +48,7 @@ var MapProperty;
53
48
  key = EnumProperty_1.EnumProperty.ReadValue(reader);
54
49
  break;
55
50
  case 'IntProperty':
56
- case 'Int32Property':
57
- key = Int32Property_1.Int32Property.ReadValue(reader);
51
+ key = IntProperty_1.IntProperty.ReadValue(reader);
58
52
  break;
59
53
  case 'Int64Property':
60
54
  key = Int64Property_1.Int64Property.ReadValue(reader);
@@ -63,18 +57,18 @@ var MapProperty;
63
57
  key = ByteProperty_1.ByteProperty.ReadValue(reader);
64
58
  break;
65
59
  default:
66
- throw new Error(`not implemented map key type ${property.keyType}`);
60
+ throw new Error(`not implemented map key type ${keyType}`);
67
61
  }
68
- switch (property.valueType) {
62
+ switch (valueType) {
69
63
  case 'StructProperty':
70
- if (propertyName === 'mIndexMapping' && reader.context.mods.MLBAlternates !== undefined) {
71
- value = Array.from(reader.readBytes(12));
64
+ if (property.name === 'mIndexMapping' && reader.context.mods.MLBAlternates !== undefined) {
65
+ value = LBBalancerIndexing_1.LBBalancerIndexing.read(reader);
72
66
  }
73
- else if (propertyName === 'Senders' && reader.context.mods.FicsItNetworks !== undefined) {
74
- value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, property.valueType);
67
+ else if (property.name === 'Senders' && reader.context.mods.FicsItNetworks !== undefined) {
68
+ value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, valueType);
75
69
  }
76
70
  else {
77
- value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, property.valueType);
71
+ value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, valueType);
78
72
  }
79
73
  break;
80
74
  case 'ObjectProperty':
@@ -88,8 +82,7 @@ var MapProperty;
88
82
  value = EnumProperty_1.EnumProperty.ReadValue(reader);
89
83
  break;
90
84
  case 'IntProperty':
91
- case 'Int32Property':
92
- value = Int32Property_1.Int32Property.ReadValue(reader);
85
+ value = IntProperty_1.IntProperty.ReadValue(reader);
93
86
  break;
94
87
  case 'Int64Property':
95
88
  value = Int64Property_1.Int64Property.ReadValue(reader);
@@ -98,26 +91,22 @@ var MapProperty;
98
91
  value = ByteProperty_1.ByteProperty.ReadValue(reader);
99
92
  break;
100
93
  default:
101
- throw new Error(`not implemented map value type ${property.valueType}`);
94
+ throw new Error(`not implemented map value type ${valueType}`);
102
95
  }
103
96
  property.values.push([key, value]);
104
97
  }
105
- return property;
106
- };
107
- MapProperty.CalcOverhead = (property, keyType, valueType) => {
108
- return keyType.length + 5 + valueType.length + 5 + 1;
109
- };
110
- MapProperty.Serialize = (writer, property) => {
111
- writer.writeString(property.keyType);
112
- writer.writeString(property.valueType);
113
- writer.writeByte(0);
114
- writer.writeInt32(property.modeType);
98
+ }
99
+ MapProperty.Parse = Parse;
100
+ function Serialize(writer, property) {
101
+ const keyType = property.propertyTagType.children[0].name;
102
+ const valueType = property.propertyTagType.children[1].name;
103
+ writer.writeInt32(property.numElementsToRemove ?? 0);
115
104
  writer.writeInt32(property.values.length);
116
105
  for (const entry of property.values) {
117
- switch (property.keyType) {
106
+ switch (keyType) {
118
107
  case 'StructProperty':
119
108
  if (property.name === 'mSaveData' || property.name === 'mUnresolvedSaveData') {
120
- writer.writeBytesArray(entry[0]);
109
+ vec3_1.vec3.SerializeInt(writer, entry[0]);
121
110
  }
122
111
  else {
123
112
  DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[0]);
@@ -134,8 +123,7 @@ var MapProperty;
134
123
  EnumProperty_1.EnumProperty.SerializeValue(writer, entry[0]);
135
124
  break;
136
125
  case 'IntProperty':
137
- case 'Int32Property':
138
- Int32Property_1.Int32Property.SerializeValue(writer, entry[0]);
126
+ IntProperty_1.IntProperty.SerializeValue(writer, entry[0]);
139
127
  break;
140
128
  case 'Int64Property':
141
129
  Int64Property_1.Int64Property.SerializeValue(writer, entry[0]);
@@ -144,12 +132,15 @@ var MapProperty;
144
132
  ByteProperty_1.ByteProperty.SerializeValue(writer, entry[0]);
145
133
  break;
146
134
  default:
147
- throw new Error(`not implemented map key type ${property.valueType}`);
135
+ throw new Error(`not implemented map key type ${valueType}`);
148
136
  }
149
- switch (property.valueType) {
137
+ switch (valueType) {
150
138
  case 'StructProperty':
151
139
  if (property.name === 'mIndexMapping' && writer.context.mods.MLBAlternates !== undefined) {
152
- writer.writeBytesArray(entry[1]);
140
+ LBBalancerIndexing_1.LBBalancerIndexing.write(writer, entry[1]);
141
+ }
142
+ else if (property.name === 'Senders' && writer.context.mods.FicsItNetworks !== undefined) {
143
+ DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[1]);
153
144
  }
154
145
  else {
155
146
  DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[1]);
@@ -166,8 +157,7 @@ var MapProperty;
166
157
  EnumProperty_1.EnumProperty.SerializeValue(writer, entry[1]);
167
158
  break;
168
159
  case 'IntProperty':
169
- case 'Int32Property':
170
- Int32Property_1.Int32Property.SerializeValue(writer, entry[1]);
160
+ IntProperty_1.IntProperty.SerializeValue(writer, entry[1]);
171
161
  break;
172
162
  case 'Int64Property':
173
163
  Int64Property_1.Int64Property.SerializeValue(writer, entry[1]);
@@ -176,9 +166,10 @@ var MapProperty;
176
166
  ByteProperty_1.ByteProperty.SerializeValue(writer, entry[1]);
177
167
  break;
178
168
  default:
179
- throw new Error(`not implemented map value type ${property.valueType}`);
169
+ throw new Error(`not implemented map value type ${valueType}`);
180
170
  }
181
171
  }
182
- };
172
+ }
173
+ MapProperty.Serialize = Serialize;
183
174
  })(MapProperty || (exports.MapProperty = MapProperty = {}));
184
175
  //# sourceMappingURL=MapProperty.js.map