avm1-parser
Advanced tools
Comparing version 0.9.1 to 0.10.0
import { ReadableStream } from "@open-flash/stream"; | ||
import { Action } from "avm1-types/action"; | ||
import { ActionType } from "avm1-types/action-type"; | ||
import { Action as RawAction } from "avm1-types/raw/action"; | ||
import { UintSize } from "semantic-types"; | ||
import { ActionHeader, parseAction, parseActionHeader } from "./parsers/avm1"; | ||
import { ActionHeader, parseAction, parseActionHeader } from "./avm1"; | ||
export { parseCfg } from "./cfg"; | ||
export { cfgFromBytes } from "./cfg-from-bytes"; | ||
export class Avm1Parser { | ||
@@ -19,8 +19,8 @@ private readonly stream: ReadableStream; | ||
readNext(): Action | undefined { | ||
if (this.stream.bytePos === this.stream.byteEnd) { | ||
return undefined; | ||
readNext(): RawAction { | ||
if (this.stream.bytePos >= this.stream.byteEnd) { | ||
return {action: ActionType.End}; | ||
} else if (this.stream.peekUint8() === 0) { | ||
this.stream.bytePos += 1; | ||
return undefined; | ||
return {action: ActionType.End}; | ||
} | ||
@@ -30,3 +30,3 @@ return parseAction(this.stream); | ||
readAt(offset: UintSize): Action | undefined { | ||
readAt(offset: UintSize): RawAction { | ||
this.stream.bytePos = offset; | ||
@@ -33,0 +33,0 @@ return this.readNext(); |
@@ -1,4 +0,4 @@ | ||
import { Action } from "avm1-types/action"; | ||
import { Action as RawAction } from "avm1-types/raw/action"; | ||
import { UintSize } from "semantic-types"; | ||
export { cfgFromBytes } from "./cfg-from-bytes"; | ||
export { parseCfg } from "./cfg"; | ||
export declare class Avm1Parser { | ||
@@ -8,5 +8,5 @@ private readonly stream; | ||
getBytePos(): UintSize; | ||
readNext(): Action | undefined; | ||
readAt(offset: UintSize): Action | undefined; | ||
readNext(): RawAction; | ||
readAt(offset: UintSize): RawAction; | ||
skipFrom(offset: UintSize, skipCount: UintSize): UintSize; | ||
} |
15
index.js
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const stream_1 = require("@open-flash/stream"); | ||
const avm1_1 = require("./parsers/avm1"); | ||
var cfg_from_bytes_1 = require("./cfg-from-bytes"); | ||
exports.cfgFromBytes = cfg_from_bytes_1.cfgFromBytes; | ||
const action_type_1 = require("avm1-types/action-type"); | ||
const avm1_1 = require("./avm1"); | ||
var cfg_1 = require("./cfg"); | ||
exports.parseCfg = cfg_1.parseCfg; | ||
class Avm1Parser { | ||
@@ -15,8 +16,8 @@ constructor(bytes) { | ||
readNext() { | ||
if (this.stream.bytePos === this.stream.byteEnd) { | ||
return undefined; | ||
if (this.stream.bytePos >= this.stream.byteEnd) { | ||
return { action: action_type_1.ActionType.End }; | ||
} | ||
else if (this.stream.peekUint8() === 0) { | ||
this.stream.bytePos += 1; | ||
return undefined; | ||
return { action: action_type_1.ActionType.End }; | ||
} | ||
@@ -40,2 +41,2 @@ return avm1_1.parseAction(this.stream); | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBb0Q7QUFHcEQseUNBQThFO0FBRTlFLG1EQUFnRDtBQUF2Qyx3Q0FBQSxZQUFZLENBQUE7QUFFckIsTUFBYSxVQUFVO0lBR3JCLFlBQVksS0FBaUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHVCQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUMvQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxrQkFBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWdCO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWdCLEVBQUUsU0FBbUI7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLEtBQUssSUFBSSxPQUFPLEdBQWEsQ0FBQyxFQUFFLE9BQU8sR0FBRyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxNQUFNLEdBQWlCLHdCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQWxDRCxnQ0FrQ0MiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFkYWJsZVN0cmVhbSB9IGZyb20gXCJAb3Blbi1mbGFzaC9zdHJlYW1cIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCJhdm0xLXR5cGVzL2FjdGlvblwiO1xuaW1wb3J0IHsgVWludFNpemUgfSBmcm9tIFwic2VtYW50aWMtdHlwZXNcIjtcbmltcG9ydCB7IEFjdGlvbkhlYWRlciwgcGFyc2VBY3Rpb24sIHBhcnNlQWN0aW9uSGVhZGVyIH0gZnJvbSBcIi4vcGFyc2Vycy9hdm0xXCI7XG5cbmV4cG9ydCB7IGNmZ0Zyb21CeXRlcyB9IGZyb20gXCIuL2NmZy1mcm9tLWJ5dGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBBdm0xUGFyc2VyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJlYW06IFJlYWRhYmxlU3RyZWFtO1xuXG4gIGNvbnN0cnVjdG9yKGJ5dGVzOiBVaW50OEFycmF5KSB7XG4gICAgdGhpcy5zdHJlYW0gPSBuZXcgUmVhZGFibGVTdHJlYW0oYnl0ZXMpO1xuICB9XG5cbiAgcHVibGljIGdldEJ5dGVQb3MoKTogVWludFNpemUge1xuICAgIHJldHVybiB0aGlzLnN0cmVhbS5ieXRlUG9zO1xuICB9XG5cbiAgcmVhZE5leHQoKTogQWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5zdHJlYW0uYnl0ZVBvcyA9PT0gdGhpcy5zdHJlYW0uYnl0ZUVuZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RyZWFtLnBlZWtVaW50OCgpID09PSAwKSB7XG4gICAgICB0aGlzLnN0cmVhbS5ieXRlUG9zICs9IDE7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VBY3Rpb24odGhpcy5zdHJlYW0pO1xuICB9XG5cbiAgcmVhZEF0KG9mZnNldDogVWludFNpemUpOiBBY3Rpb24gfCB1bmRlZmluZWQge1xuICAgIHRoaXMuc3RyZWFtLmJ5dGVQb3MgPSBvZmZzZXQ7XG4gICAgcmV0dXJuIHRoaXMucmVhZE5leHQoKTtcbiAgfVxuXG4gIHNraXBGcm9tKG9mZnNldDogVWludFNpemUsIHNraXBDb3VudDogVWludFNpemUpOiBVaW50U2l6ZSB7XG4gICAgdGhpcy5zdHJlYW0uYnl0ZVBvcyA9IG9mZnNldDtcbiAgICBmb3IgKGxldCBza2lwcGVkOiBVaW50U2l6ZSA9IDA7IHNraXBwZWQgPCBza2lwQ291bnQ7IHNraXBwZWQrKykge1xuICAgICAgY29uc3QgaGVhZGVyOiBBY3Rpb25IZWFkZXIgPSBwYXJzZUFjdGlvbkhlYWRlcih0aGlzLnN0cmVhbSk7XG4gICAgICB0aGlzLnN0cmVhbS5za2lwKGhlYWRlci5sZW5ndGgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdHJlYW0uYnl0ZVBvcztcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBb0Q7QUFDcEQsd0RBQW9EO0FBR3BELGlDQUFzRTtBQUN0RSw2QkFBaUM7QUFBeEIseUJBQUEsUUFBUSxDQUFBO0FBRWpCLE1BQWEsVUFBVTtJQUdyQixZQUFZLEtBQWlCO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSx1QkFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDOUMsT0FBTyxFQUFDLE1BQU0sRUFBRSx3QkFBVSxDQUFDLEdBQUcsRUFBQyxDQUFDO1NBQ2pDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDekIsT0FBTyxFQUFDLE1BQU0sRUFBRSx3QkFBVSxDQUFDLEdBQUcsRUFBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxrQkFBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWdCO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWdCLEVBQUUsU0FBbUI7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLEtBQUssSUFBSSxPQUFPLEdBQWEsQ0FBQyxFQUFFLE9BQU8sR0FBRyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxNQUFNLEdBQWlCLHdCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQWxDRCxnQ0FrQ0MiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFkYWJsZVN0cmVhbSB9IGZyb20gXCJAb3Blbi1mbGFzaC9zdHJlYW1cIjtcbmltcG9ydCB7IEFjdGlvblR5cGUgfSBmcm9tIFwiYXZtMS10eXBlcy9hY3Rpb24tdHlwZVwiO1xuaW1wb3J0IHsgQWN0aW9uIGFzIFJhd0FjdGlvbiB9IGZyb20gXCJhdm0xLXR5cGVzL3Jhdy9hY3Rpb25cIjtcbmltcG9ydCB7IFVpbnRTaXplIH0gZnJvbSBcInNlbWFudGljLXR5cGVzXCI7XG5pbXBvcnQgeyBBY3Rpb25IZWFkZXIsIHBhcnNlQWN0aW9uLCBwYXJzZUFjdGlvbkhlYWRlciB9IGZyb20gXCIuL2F2bTFcIjtcbmV4cG9ydCB7IHBhcnNlQ2ZnIH0gZnJvbSBcIi4vY2ZnXCI7XG5cbmV4cG9ydCBjbGFzcyBBdm0xUGFyc2VyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJlYW06IFJlYWRhYmxlU3RyZWFtO1xuXG4gIGNvbnN0cnVjdG9yKGJ5dGVzOiBVaW50OEFycmF5KSB7XG4gICAgdGhpcy5zdHJlYW0gPSBuZXcgUmVhZGFibGVTdHJlYW0oYnl0ZXMpO1xuICB9XG5cbiAgcHVibGljIGdldEJ5dGVQb3MoKTogVWludFNpemUge1xuICAgIHJldHVybiB0aGlzLnN0cmVhbS5ieXRlUG9zO1xuICB9XG5cbiAgcmVhZE5leHQoKTogUmF3QWN0aW9uIHtcbiAgICBpZiAodGhpcy5zdHJlYW0uYnl0ZVBvcyA+PSB0aGlzLnN0cmVhbS5ieXRlRW5kKSB7XG4gICAgICByZXR1cm4ge2FjdGlvbjogQWN0aW9uVHlwZS5FbmR9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdHJlYW0ucGVla1VpbnQ4KCkgPT09IDApIHtcbiAgICAgIHRoaXMuc3RyZWFtLmJ5dGVQb3MgKz0gMTtcbiAgICAgIHJldHVybiB7YWN0aW9uOiBBY3Rpb25UeXBlLkVuZH07XG4gICAgfVxuICAgIHJldHVybiBwYXJzZUFjdGlvbih0aGlzLnN0cmVhbSk7XG4gIH1cblxuICByZWFkQXQob2Zmc2V0OiBVaW50U2l6ZSk6IFJhd0FjdGlvbiB7XG4gICAgdGhpcy5zdHJlYW0uYnl0ZVBvcyA9IG9mZnNldDtcbiAgICByZXR1cm4gdGhpcy5yZWFkTmV4dCgpO1xuICB9XG5cbiAgc2tpcEZyb20ob2Zmc2V0OiBVaW50U2l6ZSwgc2tpcENvdW50OiBVaW50U2l6ZSk6IFVpbnRTaXplIHtcbiAgICB0aGlzLnN0cmVhbS5ieXRlUG9zID0gb2Zmc2V0O1xuICAgIGZvciAobGV0IHNraXBwZWQ6IFVpbnRTaXplID0gMDsgc2tpcHBlZCA8IHNraXBDb3VudDsgc2tpcHBlZCsrKSB7XG4gICAgICBjb25zdCBoZWFkZXI6IEFjdGlvbkhlYWRlciA9IHBhcnNlQWN0aW9uSGVhZGVyKHRoaXMuc3RyZWFtKTtcbiAgICAgIHRoaXMuc3RyZWFtLnNraXAoaGVhZGVyLmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0cmVhbS5ieXRlUG9zO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 |
{ | ||
"name": "avm1-parser", | ||
"version": "0.9.1", | ||
"version": "0.10.0", | ||
"description": "AVM1 parser", | ||
@@ -19,4 +19,4 @@ "main": "index", | ||
"dependencies": { | ||
"@open-flash/stream": "^0.1.1", | ||
"avm1-types": "^0.9.0", | ||
"@open-flash/stream": "^0.3.0", | ||
"avm1-types": "^0.10.0", | ||
"incident": "^3.2.0", | ||
@@ -26,7 +26,7 @@ "semantic-types": "^0.1.1" | ||
"devDependencies": { | ||
"@types/chai": "^4.2.3", | ||
"@types/chai": "^4.2.9", | ||
"@types/gulp": "^4.0.6", | ||
"@types/minimist": "^1.2.0", | ||
"@types/mocha": "^5.2.7", | ||
"@types/node": "^11.10.4", | ||
"@types/mocha": "^7.0.1", | ||
"@types/node": "^13.7.4", | ||
"chai": "^4.2.0", | ||
@@ -37,6 +37,6 @@ "gulp": "^4.0.2", | ||
"minimist": "^1.2.0", | ||
"ts-node": "^8.4.1", | ||
"tslint": "^5.20.0", | ||
"turbo-gulp": "^0.20.1", | ||
"typescript": "^3.6.3" | ||
"ts-node": "^8.6.2", | ||
"tslint": "^6.0.0", | ||
"turbo-gulp": "^0.22.1", | ||
"typescript": "^3.7.5" | ||
}, | ||
@@ -49,4 +49,4 @@ "c88": { | ||
}, | ||
"gitHead": "0516fd0be3166c7937a1d850bc7dc969c9ebd9d6", | ||
"gitHead": "c42904818665933eba348a82cd5897f8c2ba2881", | ||
"private": false | ||
} |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
298080
3600
1
+ Added@open-flash/stream@0.3.0(transitive)
+ Added@types/node@22.13.2(transitive)
+ Addedavm1-types@0.10.0(transitive)
- Removed@open-flash/stream@0.1.1(transitive)
- Removed@types/node@22.13.4(transitive)
- Removed@types/unorm@1.3.31(transitive)
- Removedavm1-types@0.9.0(transitive)
- Removedkryo@0.7.0(transitive)
- Removedunorm@1.6.0(transitive)
Updated@open-flash/stream@^0.3.0
Updatedavm1-types@^0.10.0