26 lines
1017 B
Markdown
26 lines
1017 B
Markdown
# UNPACKERS SPECIFICATIONS
|
|
|
|
Nothing very difficult: an unpacker is a submodule placed in the directory
|
|
where this file was found. Each unpacker must define three symbols:
|
|
|
|
* `PRIORITY` : integer number expressing the priority in applying this
|
|
unpacker. Lower number means higher priority.
|
|
Makes sense only if a source file has been packed with
|
|
more than one packer.
|
|
* `detect(source)` : returns `True` if source is packed, otherwise, `False`.
|
|
* `unpack(source)` : takes a `source` string and unpacks it. Must always return
|
|
valid JavaScript. That is to say, your code should look
|
|
like:
|
|
|
|
```
|
|
if detect(source):
|
|
return do_your_fancy_things_with(source)
|
|
else:
|
|
return source
|
|
```
|
|
|
|
*You can safely define any other symbol in your module, as it will be ignored.*
|
|
|
|
`__init__` code will automatically load new unpackers, without any further step
|
|
to be accomplished. Simply drop it in this directory.
|