REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 2.33 KB
Close
/home/byroehnu/easepaybiz.easetack.com/node_modules/restructure/src/Struct.js
Text
Base64
import {Base} from './Base.js'; import * as utils from './utils.js'; export class Struct extends Base { constructor(fields = {}) { super(); this.fields = fields; } decode(stream, parent, length = 0) { const res = this._setup(stream, parent, length); this._parseFields(stream, res, this.fields); if (this.process != null) { this.process.call(res, stream); } return res; } _setup(stream, parent, length) { const res = {}; // define hidden properties Object.defineProperties(res, { parent: { value: parent }, _startOffset: { value: stream.pos }, _currentOffset: { value: 0, writable: true }, _length: { value: length } }); return res; } _parseFields(stream, res, fields) { for (let key in fields) { var val; const type = fields[key]; if (typeof type === 'function') { val = type.call(res, res); } else { val = type.decode(stream, res); } if (val !== undefined) { if (val instanceof utils.PropertyDescriptor) { Object.defineProperty(res, key, val); } else { res[key] = val; } } res._currentOffset = stream.pos - res._startOffset; } } size(val, parent, includePointers = true) { if (val == null) { val = {}; } const ctx = { parent, val, pointerSize: 0 }; if (this.preEncode != null) { this.preEncode.call(val); } let size = 0; for (let key in this.fields) { const type = this.fields[key]; if (type.size != null) { size += type.size(val[key], ctx); } } if (includePointers) { size += ctx.pointerSize; } return size; } encode(stream, val, parent) { let type; if (this.preEncode != null) { this.preEncode.call(val, stream); } const ctx = { pointers: [], startOffset: stream.pos, parent, val, pointerSize: 0 }; ctx.pointerOffset = stream.pos + this.size(val, ctx, false); for (let key in this.fields) { type = this.fields[key]; if (type.encode != null) { type.encode(stream, val[key], ctx); } } let i = 0; while (i < ctx.pointers.length) { const ptr = ctx.pointers[i++]; ptr.type.encode(stream, ptr.val, ptr.parent); } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 18
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
.htaccess
127 B
lr--r--r--
2026-03-14 01:49:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Array.js
2.43 KB
lrw-r--r--
2026-03-05 00:19:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Base.js
412 B
lrw-r--r--
2026-03-05 00:19:59
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Bitfield.js
741 B
lrw-r--r--
2026-03-05 00:19:59
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Boolean.js
398 B
lrw-r--r--
2026-03-05 00:20:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Buffer.js
795 B
lrw-r--r--
2026-03-05 00:20:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DecodeStream.js
1.85 KB
lrw-r--r--
2026-03-05 00:20:03
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EncodeStream.js
3.13 KB
lrw-r--r--
2026-03-05 00:20:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Enum.js
533 B
lrw-r--r--
2026-03-05 00:20:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
LazyArray.js
1.62 KB
lrw-r--r--
2026-03-05 00:20:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Number.js
2.23 KB
lrw-r--r--
2026-03-05 00:20:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Optional.js
920 B
lrw-r--r--
2026-03-05 00:20:09
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Pointer.js
4.09 KB
lrw-r--r--
2026-03-05 00:20:09
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Reserved.js
519 B
lrw-r--r--
2026-03-05 00:20:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
String.js
3.71 KB
lrw-r--r--
2026-03-05 00:20:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Struct.js
2.33 KB
lrw-r--r--
2026-03-05 00:20:11
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
utils.js
723 B
lrw-r--r--
2026-03-05 00:20:11
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
VersionedStruct.js
3.01 KB
lrw-r--r--
2026-03-05 00:20:11
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).