pickleparser
Version:
A pure Javascript implemented parser for Python pickle format
33 lines (32 loc) • 1.16 kB
TypeScript
import { IReader } from './reader';
export type UnpicklingTypeOfSet = 'array' | 'Set';
export type UnpicklingTypeOfDictionary = 'object' | 'Map';
export interface NameResolver {
resolve(module: string, name: string): (new (...args: any[]) => any) | ((...args: any[]) => any);
}
export interface PersistentResolver {
resolve(pid: string): any;
}
export interface ExtensionResolver {
resolve(extCode: number): any;
}
export interface ParserOptions {
nameResolver: NameResolver;
persistentResolver: PersistentResolver;
extensionResolver: ExtensionResolver;
unpicklingTypeOfSet: UnpicklingTypeOfSet;
unpicklingTypeOfDictionary: UnpicklingTypeOfDictionary;
buffers?: Iterator<any>;
}
export declare class Parser {
private readonly _options;
private readonly _nameResolver;
private readonly _persistentResolver;
private readonly _extensionResolver;
private readonly _setProvider;
private readonly _dictionaryProvider;
private readonly _buffers?;
constructor(options?: Partial<ParserOptions>);
parse<T>(buffer: Uint8Array | Int8Array | Uint8ClampedArray): T;
read<T>(reader: IReader): T;
}