screp-js
v0.3.0
Published
Pure Javascript version of screp, a StarCraft: Remastered replay file parser, compiled from the original Go version using GopherJS
Downloads
3
Maintainers
Readme
screp-js
A pure Javascript version of screp, a StarCraft: Remastered replay file parser, compiled from the original Go version using GopherJS.
screp (StarCraft: Brood War Replay Parser) is a library for extracting information from StarCraft replay files. This library is based on a recompiled version of that library for Javascript. It's designed to parse file buffers of .rep files—if you want an easier interface aimed at parsing files through Node, try screp-js-file.
This wrapper is usable both as a CommonJS module and as a browser global.
Installation
This library can be installed through npm:
npm i --save screp-js
This library is about 367 KB gzipped (and 1,3 MB otherwise), as the compiled code generated by GopherJS is quite large.
Usage
The screp library can be either included in an HTML page, in which case it will be added to the global namespace as Screp
, or it can be imported as a CommonJS module:
const Screp = require('screp-js')
const processRep(uint8arr) {
try {
// 'uint8arr' is a Uint8Array containing a .rep file.
const res = await Screp.parseBuffer(uint8arr)
return res
}
catch (err) {
// If something went wrong, 'err' will be an Error object containing a string thrown by Go.
console.log(err)
}
}
Reference
Function:
Screp.parseBuffer(uint8arr[, {options}])
Parameters:
uint8arr
Uint8Array
the command to parseoptions
object (optional)
a set of options used to change parsing behavior:header
boolean: true
include replay headercomputed
boolean: true
print computed/derived datamapData
boolean: false
include map datamapTiles
boolean: false
include map tiles; valid withmapData
mapResLoc
boolean: false
print map data resource locations (minerals and geysers); valid withmapData
cmds
boolean: false
print player commands
Returns:
- Promise (object): the same data as you'd get from the screp command line tool
The defaults are the same as those for the screp command line tool.
Function:
Screp.getVersion()
Returns:
- string: the same version information as you'd get from
screp -version
Function:
Screp.getVersionObject()
Returns:
- object: version information in object form, with only the pertinent information included
External links
- Live example of ScrepJS
- icza/screp, the original project
Copyright
Apache License 2.0, as per the original screp project.