Socket
Socket
Sign inDemoInstall

satisfactory-json

Package Overview
Dependencies
Maintainers
1
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

satisfactory-json - npm Package Compare versions

Comparing version 0.0.35 to 0.0.36

lib/transforms/properties/Int8Property.d.ts

16

lib/cli/json2sav.js

@@ -16,7 +16,19 @@ #!/usr/bin/env node

})();
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;

@@ -23,0 +35,0 @@ };

#!/usr/bin/env node
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;

@@ -9,0 +21,0 @@ };

9

lib/engine/Archive.d.ts

@@ -19,4 +19,6 @@ /// <reference types="node" />

abstract endSaveGame(): void;
abstract emitProgress(progress: number): void;
}
export declare class ReadArchive extends Archive {
private progressCallback;
transformStr(ctx: Context, ref: Reference, shouldCount: boolean): boolean;

@@ -38,3 +40,3 @@ transformLong(ctx: Context, ref: Reference, shouldCount: boolean): boolean;

private bytesRead;
constructor(buffer: Buffer, bytesRead: number);
constructor(buffer: Buffer, bytesRead: number, progressCallback: (progress: number) => void);
read(bytes: number, _shouldCount?: boolean): Buffer | undefined;

@@ -53,4 +55,6 @@ transformInt(ctx: Context, ref: Reference, shouldCount?: boolean, _defaultValue?: (ctx: Context) => number): boolean;

getBytesRead(): number;
emitProgress(progress: number): void;
}
export declare class WriteArchive extends Archive {
private progressCallback;
private buffers;

@@ -62,3 +66,3 @@ private buffer;

private lengthPlaceholders;
constructor();
constructor(progressCallback: (progress: number) => void);
getFilledChunks(): Buffer[];

@@ -83,2 +87,3 @@ clearFilledChunks(): void;

endSaveGame(): void;
emitProgress(progress: number): void;
}

@@ -19,2 +19,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.WriteArchive = exports.ReadArchive = exports.Archive = exports.writeBigInt64LE = exports.readBigInt64LE = void 0;
var commands_1 = require("./commands");

@@ -100,4 +101,5 @@ var jsbi_1 = __importDefault(require("jsbi"));

__extends(ReadArchive, _super);
function ReadArchive(buffer, bytesRead) {
function ReadArchive(buffer, bytesRead, progressCallback) {
var _this = _super.call(this) || this;
_this.progressCallback = progressCallback;
_this.missingBytes = 0;

@@ -358,2 +360,5 @@ _this.cursor = 0;

};
ReadArchive.prototype.emitProgress = function (progress) {
this.progressCallback(progress);
};
return ReadArchive;

@@ -374,4 +379,5 @@ }(Archive));

__extends(WriteArchive, _super);
function WriteArchive() {
function WriteArchive(progressCallback) {
var _this = _super.call(this) || this;
_this.progressCallback = progressCallback;
_this.buffers = [];

@@ -651,2 +657,5 @@ _this.cursor = 0;

};
WriteArchive.prototype.emitProgress = function (progress) {
this.progressCallback(progress);
};
return WriteArchive;

@@ -653,0 +662,0 @@ }(Archive));

@@ -76,2 +76,3 @@ import { Name, Command, Context } from './commands';

endSaveGame(): Builder;
emitEntityProgress(scale: number, offset: number): Builder;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Builder = exports.functionCommands = void 0;
var commands_1 = require("./commands");

@@ -195,2 +196,6 @@ exports.functionCommands = {};

};
Builder.prototype.emitEntityProgress = function (scale, offset) {
this.commands.push(new commands_1.EmitEntityProgressCommand(scale, offset));
return this;
};
return Builder;

@@ -197,0 +202,0 @@ }());

@@ -38,3 +38,5 @@ import { Archive } from './Archive';

* or -1 to indicate that the command pointer should not advance (only useful if the newStackFrameCallback was called)
* -2: break loop and let compression kick in
* -3: end save game
* -4: set timeout for a frame, to let UI show progress
*/

@@ -170,1 +172,7 @@ abstract exec(ctx: Context, ar: Archive, newStackFrameCallback: (commands: Command[]) => void, dropStackFrameCallback: () => void): number;

}
export declare class EmitEntityProgressCommand extends Command {
private scale;
private offset;
constructor(scale: number, offset: number);
exec(ctx: Context, ar: Archive, _newStackFrameCallback: (commands: Command[]) => void, _dropStackFrameCallback: () => void): number;
}

@@ -16,2 +16,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.EmitEntityProgressCommand = exports.EndSaveGameCommand = exports.StartCompressionCommand = exports.DebuggerCommand = exports.BreakCommand = exports.SwitchCommand = exports.HexRemainingCommand = exports.BufferEndCommand = exports.BufferStartCommand = exports.ExecCommand = exports.CallCommand = exports.CondCommand = exports.LoopBodyCommand = exports.LoopHeaderCommand = exports.HexCommand = exports.AssertNullByteCommand = exports.FloatCommand = exports.ByteCommand = exports.LongCommand = exports.StrCommand = exports.IntCommand = exports.LeaveElemCommand = exports.EnterElemCommand = exports.LeaveArrayCommand = exports.EnterArrayCommand = exports.LeaveObjectCommand = exports.EnterObjectCommand = exports.Command = exports.ReferenceType = void 0;
var Builder_1 = require("./Builder");

@@ -721,2 +722,21 @@ // Generate global ids for all commands

exports.EndSaveGameCommand = EndSaveGameCommand;
var EmitEntityProgressCommand = /** @class */ (function (_super) {
__extends(EmitEntityProgressCommand, _super);
function EmitEntityProgressCommand(scale, offset) {
var _this = _super.call(this) || this;
_this.scale = scale;
_this.offset = offset;
return _this;
}
EmitEntityProgressCommand.prototype.exec = function (ctx, ar, _newStackFrameCallback, _dropStackFrameCallback) {
var progress = Math.floor((ctx.tmp._index / ctx.tmp._entryCount) * this.scale + this.offset);
if (Math.floor(((ctx.tmp._index - 1) / ctx.tmp._entryCount) * this.scale + this.offset) != progress) {
ar.emitProgress(progress);
return -4;
}
return 0;
};
return EmitEntityProgressCommand;
}(Command));
exports.EmitEntityProgressCommand = EmitEntityProgressCommand;
//# sourceMappingURL=commands.js.map

@@ -19,2 +19,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.CompressionTransform = void 0;
var pako_1 = require("pako");

@@ -21,0 +22,0 @@ var stream_1 = require("stream");

/// <reference types="node" />
import { ReadArchive } from './Archive';
import { TransformationEngine } from './TransformationEngine';
import { TransformationEngine, TransformResult } from './TransformationEngine';
export declare class DecompressionTransform {

@@ -9,4 +9,6 @@ private buffers;

private firstRead;
transform(buffer: Buffer, transformationEngine: TransformationEngine): void;
private chunk;
private uncompressedBuffer?;
transform(buffer: Buffer, transformationEngine: TransformationEngine): TransformResult;
readChunk(chunk: ReadArchive): Buffer | undefined;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DecompressionTransform = void 0;
var pako_1 = require("pako");
var Archive_1 = require("./Archive");
var TransformationEngine_1 = require("./TransformationEngine");
var DecompressionTransform = /** @class */ (function () {

@@ -14,33 +16,50 @@ function DecompressionTransform() {

//console.log('transform');
this.bufferedBytes += buffer.length;
if (this.bufferedBytes < this.needBytes) {
this.buffers.push(buffer);
// need to read more
return;
var result;
if (buffer !== undefined) {
this.bufferedBytes += buffer.length;
if (this.bufferedBytes < this.needBytes) {
this.buffers.push(buffer);
// need to read more
return TransformationEngine_1.TransformResult.WaitForNextChunk;
}
if (this.buffers.length > 0) {
// concatenate all the buffers
this.buffers.push(buffer);
buffer = Buffer.concat(this.buffers);
this.buffers = [];
}
this.needBytes = 0;
this.chunk = new Archive_1.ReadArchive(buffer, 0, transformationEngine.progressCallback);
}
if (this.buffers.length > 0) {
// concatenate all the buffers
this.buffers.push(buffer);
buffer = Buffer.concat(this.buffers);
this.buffers = [];
}
this.needBytes = 0;
var chunk = new Archive_1.ReadArchive(buffer, 0);
for (;;) {
chunk.setRollbackPoint();
var compressedChunk = this.readChunk(chunk);
if (compressedChunk === undefined) {
//console.log('READ MORE: ' + chunk.missingBytes);
// need to read more
this.needBytes = chunk.missingBytes + chunk.rollback();
this.buffers = [chunk.getRemaining()];
return;
if (this.uncompressedBuffer === undefined) {
this.chunk.setRollbackPoint();
var compressedChunk = this.readChunk(this.chunk);
if (compressedChunk === undefined) {
//console.log('READ MORE: ' + chunk.missingBytes);
// need to read more
this.needBytes = this.chunk.missingBytes + this.chunk.rollback();
this.buffers = [this.chunk.getRemaining()];
return TransformationEngine_1.TransformResult.WaitForNextChunk;
}
var inflated = pako_1.inflate(compressedChunk);
this.uncompressedBuffer = Buffer.from(inflated); // Buffer.from(this.firstRead ? inflated.slice(4) : inflated);
this.firstRead = false;
result = transformationEngine.transformRead(this.uncompressedBuffer);
}
var inflated = pako_1.inflate(compressedChunk);
/*if (this.firstRead) {
console.log('first 4 bytes', Buffer.from(inflated.slice(0, 4)).readInt32LE(0));
}*/
var uncompressedBuffer = Buffer.from(inflated); // Buffer.from(this.firstRead ? inflated.slice(4) : inflated);
this.firstRead = false;
transformationEngine.transformRead(uncompressedBuffer);
else {
/*if (this.firstRead) {
console.log('first 4 bytes', Buffer.from(inflated.slice(0, 4)).readInt32LE(0));
}*/
result = transformationEngine.transformRead(undefined);
}
switch (result) {
case TransformationEngine_1.TransformResult.WaitForNextChunk:
this.uncompressedBuffer = undefined;
continue;
case TransformationEngine_1.TransformResult.WaitForNextFrame:
return result;
case TransformationEngine_1.TransformResult.Finished:
return result;
}
}

@@ -47,0 +66,0 @@ };

@@ -5,2 +5,7 @@ /// <reference types="node" />

import { Builder } from './Builder';
export declare enum TransformResult {
WaitForNextChunk = 0,
WaitForNextFrame = 1,
Finished = 2
}
export declare enum RegisteredFunction {

@@ -34,5 +39,8 @@ transformHeader = "transformHeader",

transformSetProperty = "transformSetProperty",
transformInt64Property = "transformInt64Property"
transformInt64Property = "transformInt64Property",
transformInt8Property = "transformInt8Property"
}
export declare class TransformationEngine {
private startCompressionCallback;
progressCallback: (progress: number) => void;
private commands;

@@ -48,12 +56,13 @@ private isLoading;

private bytesRead;
private startCompressionCallback;
private finished;
private saveGame;
constructor(rulesFunction: (builder: Builder) => void, startCompressionCallback: (buffer: Buffer) => void);
private chunk;
constructor(rulesFunction: (builder: Builder) => void, startCompressionCallback: (buffer: Buffer) => void, progressCallback: (progress: number) => void);
prepare(isLoading: boolean): void;
transformRead(buffer: Buffer): void;
transformRead(buffer?: Buffer): TransformResult;
private writeArchive?;
getWriteArchive(): WriteArchive | undefined;
transformWrite(saveGame: SaveGame): boolean;
transformWrite(saveGame?: SaveGame): TransformResult;
getSaveGame(): any;
end(callback: (error?: Error | undefined) => void): void;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransformationEngine = exports.RegisteredFunction = exports.TransformResult = void 0;
var Archive_1 = require("./Archive");

@@ -31,2 +32,3 @@ var Builder_1 = require("./Builder");

var Int64Property_1 = require("../transforms/properties/Int64Property");
var Int8Property_1 = require("../transforms/properties/Int8Property");
function registerFunction(functionName, rulesFunction) {

@@ -37,2 +39,8 @@ var builder = new Builder_1.Builder();

}
var TransformResult;
(function (TransformResult) {
TransformResult[TransformResult["WaitForNextChunk"] = 0] = "WaitForNextChunk";
TransformResult[TransformResult["WaitForNextFrame"] = 1] = "WaitForNextFrame";
TransformResult[TransformResult["Finished"] = 2] = "Finished";
})(TransformResult = exports.TransformResult || (exports.TransformResult = {}));
var RegisteredFunction;

@@ -68,5 +76,8 @@ (function (RegisteredFunction) {

RegisteredFunction["transformInt64Property"] = "transformInt64Property";
RegisteredFunction["transformInt8Property"] = "transformInt8Property";
})(RegisteredFunction = exports.RegisteredFunction || (exports.RegisteredFunction = {}));
var TransformationEngine = /** @class */ (function () {
function TransformationEngine(rulesFunction, startCompressionCallback) {
function TransformationEngine(rulesFunction, startCompressionCallback, progressCallback) {
this.startCompressionCallback = startCompressionCallback;
this.progressCallback = progressCallback;
this.isLoading = false;

@@ -81,2 +92,3 @@ this.stack = [];

this.bytesRead = 0;
this.finished = false;
this.startCompressionCallback = startCompressionCallback;

@@ -116,2 +128,3 @@ var builder = new Builder_1.Builder();

registerFunction(RegisteredFunction.transformInt64Property, Int64Property_1.transformInt64Property);
registerFunction(RegisteredFunction.transformInt8Property, Int8Property_1.transformInt8Property);
//console.log('commands', inspect(this.commands, false, 10));

@@ -124,17 +137,19 @@ }

var _this = this;
this.bufferedBytes += buffer.length;
if (this.bufferedBytes < this.needBytes) {
//console.log(`still missing ${this.needBytes - this.bufferedBytes} bytes`);
this.buffers.push(buffer);
// need to read more
return;
if (buffer !== undefined) {
this.bufferedBytes += buffer.length;
if (this.bufferedBytes < this.needBytes) {
//console.log(`still missing ${this.needBytes - this.bufferedBytes} bytes`);
this.buffers.push(buffer);
// need to read more
return TransformResult.WaitForNextChunk;
}
if (this.buffers.length > 0) {
// concatenate all the buffers
this.buffers.push(buffer);
buffer = Buffer.concat(this.buffers);
this.buffers = [];
}
this.needBytes = 0;
this.chunk = new Archive_1.ReadArchive(buffer, this.bytesRead, this.progressCallback);
}
if (this.buffers.length > 0) {
// concatenate all the buffers
this.buffers.push(buffer);
buffer = Buffer.concat(this.buffers);
this.buffers = [];
}
this.needBytes = 0;
var chunk = new Archive_1.ReadArchive(buffer, this.bytesRead);
if (this.stack.length === 0) {

@@ -171,3 +186,3 @@ //console.info('Starting program...');

//console.log('executing', cmd);
var needBytes = cmd.exec(frame.ctx, chunk, function (commands) {
var needBytes = cmd.exec(frame.ctx, this_1.chunk, function (commands) {
// console.log(frame.ctx.vars);

@@ -223,5 +238,5 @@ /* const vars = {

// pass bytesRead to next chunk
this_1.bytesRead = chunk.getBytesRead();
this_1.bytesRead = this_1.chunk.getBytesRead();
// put remaining bytes into buffer for next iteration
this_1.buffers = [chunk.getRemaining()];
this_1.buffers = [this_1.chunk.getRemaining()];
return "break";

@@ -232,3 +247,3 @@ }

}
else if (needBytes === 0 || needBytes === -3) {
else if (needBytes === 0) {
frame.currentCommand++;

@@ -241,5 +256,16 @@ }

this_1.needBytes = 0;
this_1.startCompressionCallback(chunk.getRemaining());
return { value: void 0 };
this_1.startCompressionCallback(this_1.chunk.getRemaining());
return { value: TransformResult.WaitForNextFrame };
}
else if (needBytes === -3) {
console.log('finihsed');
// end of the save game
this_1.finished = true;
return { value: TransformResult.Finished };
}
else if (needBytes === -4) {
// Wait for a frame
frame.currentCommand++;
return { value: TransformResult.WaitForNextFrame };
}
};

@@ -255,2 +281,3 @@ var this_1 = this;

//console.log(saveGame);
return TransformResult.WaitForNextChunk;
};

@@ -263,3 +290,5 @@ TransformationEngine.prototype.getWriteArchive = function () {

var _this = this;
var ar = this.writeArchive ? this.writeArchive : new Archive_1.WriteArchive();
var ar = this.writeArchive
? this.writeArchive
: new Archive_1.WriteArchive(this.progressCallback);
this.writeArchive = ar;

@@ -269,3 +298,5 @@ if (this.stack.length === 0) {

// Stack empty: Begin of program or something went wrong
this.saveGame = saveGame;
if (saveGame !== undefined) {
this.saveGame = saveGame;
}
var frame = {

@@ -275,3 +306,3 @@ commands: this.commands,

ctx: {
obj: saveGame,
obj: this.saveGame,
tmp: {},

@@ -346,3 +377,3 @@ locals: {},

frame.currentCommand++;
return { value: true };
return { value: TransformResult.WaitForNextChunk };
}

@@ -359,7 +390,14 @@ else if (needBytes === -1) {

this_2.startCompressionCallback(this_2.writeArchive.getHeaderChunk());
return { value: true };
return { value: TransformResult.WaitForNextFrame };
}
else if (needBytes === -3) {
return { value: false };
// end of the save game
this_2.finished = true;
return { value: TransformResult.Finished };
}
else if (needBytes === -4) {
// Wait for a frame
frame.currentCommand++;
return { value: TransformResult.WaitForNextFrame };
}
};

@@ -375,3 +413,3 @@ var this_2 = this;

//console.log(saveGame);
return true;
return TransformResult.WaitForNextChunk;
};

@@ -385,2 +423,5 @@ TransformationEngine.prototype.getSaveGame = function () {

}
else if (!this.finished) {
callback(new Error("Corruption after save file header"));
}
else {

@@ -387,0 +428,0 @@ // TODO check for spare bytes

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
}
Object.defineProperty(exports, "__esModule", { value: true });
exports.json2sav = exports.sav2json = void 0;
var Sav2JsonTransform_1 = require("./Sav2JsonTransform");
var Json2SavTransform_1 = require("./Json2SavTransform");
var Sav2JsonTransform_2 = require("./Sav2JsonTransform");
exports.Sav2JsonTransform = Sav2JsonTransform_2.Sav2JsonTransform;
Object.defineProperty(exports, "Sav2JsonTransform", { enumerable: true, get: function () { return Sav2JsonTransform_2.Sav2JsonTransform; } });
var Json2SavTransform_2 = require("./Json2SavTransform");
exports.Json2SavTransform = Json2SavTransform_2.Json2SavTransform;
Object.defineProperty(exports, "Json2SavTransform", { enumerable: true, get: function () { return Json2SavTransform_2.Json2SavTransform; } });
__exportStar(require("./types"), exports);
function sav2json(buffer) {

@@ -10,0 +22,0 @@ return new Promise(function (resolve, _reject) {

/// <reference types="node" />
import { Transform, TransformCallback } from 'stream';
export declare class Json2SavTransform extends Transform {
private progressTimeoutMs;
private transformationEngine;
private compressionTransform?;
constructor();
constructor(progressTimeoutMs?: number);
_transform(chunk: any, encoding: string, callback: TransformCallback): void;
_final(callback: (error?: Error | null) => void): void;
}

@@ -16,2 +16,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Json2SavTransform = void 0;
var stream_1 = require("stream");

@@ -23,4 +24,7 @@ var TransformationEngine_1 = require("./engine/TransformationEngine");

__extends(Json2SavTransform, _super);
function Json2SavTransform() {
// progressTimeoutMs is the number of milliseconds that is wait whenever a progress event is emittet, so that the GUI can draw if this is executed on the main thread
function Json2SavTransform(progressTimeoutMs) {
if (progressTimeoutMs === void 0) { progressTimeoutMs = 15; }
var _this = _super.call(this, { writableObjectMode: true }) || this;
_this.progressTimeoutMs = progressTimeoutMs;
_this.transformationEngine = new TransformationEngine_1.TransformationEngine(transform_1.transform, function (buffer) {

@@ -33,2 +37,4 @@ // write header to file

});
}, function (progress) {
_this.emit('progress', progress);
});

@@ -39,6 +45,20 @@ _this.transformationEngine.prepare(false);

Json2SavTransform.prototype._transform = function (chunk, encoding, callback) {
var _this = this;
try {
var continueWriting = true;
while (continueWriting) {
continueWriting = this.transformationEngine.transformWrite(chunk);
var result = this.transformationEngine.transformWrite(chunk);
switch (result) {
case TransformationEngine_1.TransformResult.WaitForNextChunk:
continueWriting = true;
break;
case TransformationEngine_1.TransformResult.WaitForNextFrame:
setTimeout(function () {
_this._transform(undefined, encoding, callback);
}, this.progressTimeoutMs);
return;
case TransformationEngine_1.TransformResult.Finished:
continueWriting = false;
break;
}
// chunk is filled

@@ -45,0 +65,0 @@ var ar = this.transformationEngine.getWriteArchive();

/// <reference types="node" />
import { Transform, TransformCallback } from 'stream';
export declare class Sav2JsonTransform extends Transform {
private progressTimeoutMs;
private transformationEngine;
private compressionTransform?;
constructor();
constructor(progressTimeoutMs?: number);
_transform(chunk: any, encoding: string, callback: TransformCallback): void;
_final(callback: (error?: Error | null) => void): void;
}

@@ -16,2 +16,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Sav2JsonTransform = void 0;
var stream_1 = require("stream");

@@ -23,4 +24,7 @@ var TransformationEngine_1 = require("./engine/TransformationEngine");

__extends(Sav2JsonTransform, _super);
function Sav2JsonTransform() {
// progressTimeoutMs is the number of milliseconds that is wait whenever a progress event is emittet, so that the GUI can draw if this is executed on the main thread
function Sav2JsonTransform(progressTimeoutMs) {
if (progressTimeoutMs === void 0) { progressTimeoutMs = 15; }
var _this = _super.call(this, { readableObjectMode: true }) || this;
_this.progressTimeoutMs = progressTimeoutMs;
//console.time('buildRules');

@@ -30,3 +34,5 @@ _this.transformationEngine = new TransformationEngine_1.TransformationEngine(transform_1.transform, function (buffer) {

_this.compressionTransform = new DecompressionTransform_1.DecompressionTransform();
_this.compressionTransform.transform(buffer, _this.transformationEngine);
_this._transform(buffer, 'buffer', function () { });
}, function (progress) {
_this.emit('progress', progress);
});

@@ -38,2 +44,3 @@ _this.transformationEngine.prepare(true);

Sav2JsonTransform.prototype._transform = function (chunk, encoding, callback) {
var _this = this;
try {

@@ -44,9 +51,22 @@ // We can only handle Buffers

}
var result = void 0;
if (this.compressionTransform) {
this.compressionTransform.transform(chunk, this.transformationEngine);
result = this.compressionTransform.transform(chunk, this.transformationEngine);
}
else {
this.transformationEngine.transformRead(chunk);
result = this.transformationEngine.transformRead(chunk);
}
callback();
switch (result) {
case TransformationEngine_1.TransformResult.WaitForNextChunk:
callback();
break;
case TransformationEngine_1.TransformResult.Finished:
callback();
break;
case TransformationEngine_1.TransformResult.WaitForNextFrame:
setTimeout(function () {
_this._transform(undefined, encoding, callback);
}, this.progressTimeoutMs);
break;
}
}

@@ -53,0 +73,0 @@ catch (error) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformEntity = exports.transformProperties = void 0;
var TransformationEngine_1 = require("../engine/TransformationEngine");

@@ -4,0 +5,0 @@ function transformProperties(builder) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformExtra = void 0;
var TransformationEngine_1 = require("../engine/TransformationEngine");

@@ -4,0 +5,0 @@ function transformExtra(builder) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformCircuitSubsystem = void 0;
function transformCircuitSubsystem(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformConveyorBelt = void 0;
function transformConveyorBelt(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformGameMode = void 0;
function transformGameMode(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformGameState = void 0;
function transformGameState(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformPlayerState = void 0;
function transformPlayerState(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformPowerLine = void 0;
function transformPowerLine(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformTrain = void 0;
function transformTrain(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformVehicle = void 0;
function transformVehicle(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformArrayProperty = void 0;
var TransformationEngine_1 = require("../../engine/TransformationEngine");

@@ -4,0 +5,0 @@ var TextProperty_1 = require("./TextProperty");

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformBoolProperty = void 0;
function transformBoolProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformByteProperty = void 0;
function transformByteProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformEnumProperty = void 0;
function transformEnumProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformFloatProperty = void 0;
function transformFloatProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformInt64Property = void 0;
function transformInt64Property(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformIntProperty = void 0;
function transformIntProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformMapProperty = void 0;
var TransformationEngine_1 = require("../../engine/TransformationEngine");

@@ -81,2 +82,5 @@ function transformMapProperty(builder) {

},
StrProperty: function (builder) {
builder.str('value');
},
$default: function (builder) {

@@ -83,0 +87,0 @@ builder.exec(function (ctx) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformObjectProperty = void 0;
function transformObjectProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformSetProperty = void 0;
// This has so far only occurred with the sweetTransportal mod

@@ -4,0 +5,0 @@ function transformSetProperty(builder) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformStringProperty = void 0;
function transformStringProperty(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformStructProperty = void 0;
var Vector_1 = require("./structs/Vector");

@@ -4,0 +5,0 @@ var ArbitraryStruct_1 = require("./structs/ArbitraryStruct");

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformArbitraryStruct = void 0;
var TransformationEngine_1 = require("../../../engine/TransformationEngine");

@@ -4,0 +5,0 @@ function transformArbitraryStruct(builder) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformBox = void 0;
function transformBox(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformColor = void 0;
function transformColor(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformFluidBox = void 0;
function transformFluidBox(builder) {

@@ -4,0 +5,0 @@ builder.float('value');

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformGuid = void 0;
function transformGuid(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformInventoryItem = void 0;
var TransformationEngine_1 = require("../../../engine/TransformationEngine");

@@ -4,0 +5,0 @@ function transformInventoryItem(builder) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformLinearColor = void 0;
function transformLinearColor(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformQuat = void 0;
function transformQuat(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformRailroadTrackPosition = void 0;
function transformRailroadTrackPosition(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformSlateBrush = void 0;
function transformSlateBrush(builder) {

@@ -4,0 +5,0 @@ builder.str('value');

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformTimerHandle = void 0;
function transformTimerHandle(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformVector = void 0;
function transformVector(builder) {

@@ -4,0 +5,0 @@ builder

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformFText = exports.transformTextProperty = void 0;
var TransformationEngine_1 = require("../../engine/TransformationEngine");

@@ -4,0 +5,0 @@ function transformTextProperty(builder) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformProperty = void 0;
var TransformationEngine_1 = require("../engine/TransformationEngine");

@@ -58,2 +59,5 @@ function transformProperty(builder) {

},
Int8Property: function (builder) {
return builder.call(TransformationEngine_1.RegisteredFunction.transformInt8Property);
},
$default: function (builder) {

@@ -60,0 +64,0 @@ return builder.error(function (ctx) { return "Unknown property: " + ctx.obj.type; });

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transform = exports.transformActorOrComponent = exports.transformHeader = void 0;
var TransformationEngine_1 = require("../engine/TransformationEngine");

@@ -88,3 +89,5 @@ function transformHeader(builder) {

//builder.debug("AoC", ctx => ctx.tmp._index);
builder.call(TransformationEngine_1.RegisteredFunction.transformActorOrComponent);
builder
.emitEntityProgress(50, 0)
.call(TransformationEngine_1.RegisteredFunction.transformActorOrComponent);
})

@@ -96,3 +99,3 @@ //.exec(() => console.log('Actors and Components done'))

//builder.debug("entity", ctx => ctx.tmp._index);
builder.if(function (ctx) { return ctx.tmp._index < ctx.obj.actors.length; }, function (builder) {
builder.emitEntityProgress(50, 50).if(function (ctx) { return ctx.tmp._index < ctx.obj.actors.length; }, function (builder) {
builder

@@ -99,0 +102,0 @@ .exec(function (ctx) {

@@ -9,14 +9,14 @@ {

"devDependencies": {
"@types/node": "^13.13.2",
"@types/node": "^14.0.1",
"@types/pako": "^1.0.1",
"@typescript-eslint/eslint-plugin": "^2.29.0",
"@typescript-eslint/parser": "^2.29.0",
"@typescript-eslint/eslint-plugin": "^2.33.0",
"@typescript-eslint/parser": "^2.33.0",
"commander": "^5.1.0",
"eslint": "^6.8.0",
"eslint": "^7.0.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-prettier": "^3.1.3",
"prettier": "^2.0.5",
"ts-node": "^8.9.1",
"typescript": "^3.8.3",
"v8-profiler-next": "^1.2.2"
"ts-node": "^8.10.1",
"typescript": "^3.9.2",
"v8-profiler-next": "^1.3.0"
},

@@ -47,3 +47,3 @@ "files": [

},
"version": "0.0.35"
"version": "0.0.36"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc