@patrickdk77/archive-defuse 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +345 -2
- package/dist/aes7z.d.ts +16 -0
- package/dist/aes7z.js +131 -0
- package/dist/alone.d.ts +21 -0
- package/dist/alone.js +65 -0
- package/dist/bcj2.d.ts +21 -0
- package/dist/bcj2.js +140 -0
- package/dist/bzip2.d.ts +21 -0
- package/dist/bzip2.js +688 -0
- package/dist/cab.d.ts +63 -0
- package/dist/cab.js +493 -0
- package/dist/checks.d.ts +23 -0
- package/dist/checks.js +123 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +364 -0
- package/dist/codecs.d.ts +39 -0
- package/dist/codecs.js +124 -0
- package/dist/coders.d.ts +58 -0
- package/dist/coders.js +392 -0
- package/dist/crc32.d.ts +8 -0
- package/dist/crc32.js +59 -0
- package/dist/encoder.d.ts +44 -0
- package/dist/encoder.js +114 -0
- package/dist/engine.d.ts +44 -0
- package/dist/engine.js +753 -0
- package/dist/errors.d.ts +64 -0
- package/dist/errors.js +98 -0
- package/dist/filters.d.ts +34 -0
- package/dist/filters.js +385 -0
- package/dist/findings.d.ts +26 -0
- package/dist/findings.js +176 -0
- package/dist/formats.d.ts +14 -0
- package/dist/formats.js +97 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +50 -0
- package/dist/index.mjs +3 -0
- package/dist/inflate64.d.ts +6 -0
- package/dist/inflate64.js +388 -0
- package/dist/io.d.ts +78 -0
- package/dist/io.js +379 -0
- package/dist/lzma-formats.d.ts +75 -0
- package/dist/lzma-formats.js +373 -0
- package/dist/lzma-sniff.d.ts +20 -0
- package/dist/lzma-sniff.js +73 -0
- package/dist/lzma-writers.d.ts +35 -0
- package/dist/lzma-writers.js +276 -0
- package/dist/lzma1/LICENSE +201 -0
- package/dist/lzma1/NOTICE +36 -0
- package/dist/lzma1/crc32.d.ts +4 -0
- package/dist/lzma1/crc32.js +19 -0
- package/dist/lzma1/hash234.d.ts +22 -0
- package/dist/lzma1/hash234.js +75 -0
- package/dist/lzma1/hc4.d.ts +30 -0
- package/dist/lzma1/hc4.js +142 -0
- package/dist/lzma1/header.d.ts +32 -0
- package/dist/lzma1/header.js +73 -0
- package/dist/lzma1/lz-decoder.d.ts +41 -0
- package/dist/lzma1/lz-decoder.js +128 -0
- package/dist/lzma1/lz-encoder.d.ts +87 -0
- package/dist/lzma1/lz-encoder.js +166 -0
- package/dist/lzma1/lzma-coder.d.ts +107 -0
- package/dist/lzma1/lzma-coder.js +162 -0
- package/dist/lzma1/lzma-decoder.d.ts +36 -0
- package/dist/lzma1/lzma-decoder.js +484 -0
- package/dist/lzma1/lzma-encoder-fast.d.ts +13 -0
- package/dist/lzma1/lzma-encoder-fast.js +114 -0
- package/dist/lzma1/lzma-encoder.d.ts +105 -0
- package/dist/lzma1/lzma-encoder.js +497 -0
- package/dist/lzma1/lzma2-decoder.d.ts +85 -0
- package/dist/lzma1/lzma2-decoder.js +249 -0
- package/dist/lzma1/range-coder.d.ts +18 -0
- package/dist/lzma1/range-coder.js +23 -0
- package/dist/lzma1/range-decoder.d.ts +41 -0
- package/dist/lzma1/range-decoder.js +78 -0
- package/dist/lzma1/range-encoder.d.ts +53 -0
- package/dist/lzma1/range-encoder.js +269 -0
- package/dist/lzma1-stream.d.ts +60 -0
- package/dist/lzma1-stream.js +202 -0
- package/dist/model.d.ts +141 -0
- package/dist/model.js +16 -0
- package/dist/names.d.ts +13 -0
- package/dist/names.js +66 -0
- package/dist/pack.d.ts +72 -0
- package/dist/pack.js +514 -0
- package/dist/plugins.d.ts +13 -0
- package/dist/plugins.js +55 -0
- package/dist/rules.d.ts +25 -0
- package/dist/rules.js +403 -0
- package/dist/score.d.ts +17 -0
- package/dist/score.js +58 -0
- package/dist/seven.d.ts +75 -0
- package/dist/seven.js +492 -0
- package/dist/sevenzip.d.ts +133 -0
- package/dist/sevenzip.js +529 -0
- package/dist/single.d.ts +103 -0
- package/dist/single.js +453 -0
- package/dist/sniff.d.ts +20 -0
- package/dist/sniff.js +224 -0
- package/dist/stream-meter.d.ts +39 -0
- package/dist/stream-meter.js +54 -0
- package/dist/tar.d.ts +102 -0
- package/dist/tar.js +765 -0
- package/dist/types.d.ts +284 -0
- package/dist/types.js +133 -0
- package/dist/unpack.d.ts +67 -0
- package/dist/unpack.js +194 -0
- package/dist/xz.d.ts +25 -0
- package/dist/xz.js +333 -0
- package/dist/zip-lzma.d.ts +15 -0
- package/dist/zip-lzma.js +137 -0
- package/dist/zip-writer.d.ts +41 -0
- package/dist/zip-writer.js +263 -0
- package/dist/zip.d.ts +99 -0
- package/dist/zip.js +901 -0
- package/dist/zipcrypt.d.ts +47 -0
- package/dist/zipcrypt.js +233 -0
- package/dist/zstd.d.ts +25 -0
- package/dist/zstd.js +160 -0
- package/package.json +94 -4
package/dist/engine.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Entry, Meter } from './model';
|
|
2
|
+
import { type ArchiveDisarmResult, type ArchiveInspection, type ArchiveOptions, type ByteSink, type ByteSource, type PluginContext } from './types';
|
|
3
|
+
export declare const DEFAULT_LIMITS: {
|
|
4
|
+
entries: number;
|
|
5
|
+
decompressedBytes: number;
|
|
6
|
+
totalDecompressedBytes: number;
|
|
7
|
+
compressionRatio: number;
|
|
8
|
+
nestingDepth: number;
|
|
9
|
+
dictionaryBytes: number;
|
|
10
|
+
};
|
|
11
|
+
/** The key under which archive-defuse hands its run's options to a plugin. No other package can name it. */
|
|
12
|
+
export declare const RUN_OPTIONS: unique symbol;
|
|
13
|
+
/** A plugin context as archive-defuse makes it. */
|
|
14
|
+
export type RunContext = PluginContext & {
|
|
15
|
+
[RUN_OPTIONS]?: ArchiveOptions;
|
|
16
|
+
};
|
|
17
|
+
/** The passwords to try on an encrypted entry, in order, with the empty password last. */
|
|
18
|
+
export declare const passwordsOf: (options: ArchiveOptions) => string[];
|
|
19
|
+
/** The limits of a run, with the defaults filled in. */
|
|
20
|
+
export declare const limitsOf: (options: ArchiveOptions) => typeof DEFAULT_LIMITS & {
|
|
21
|
+
fileSize?: number;
|
|
22
|
+
timeMs?: number;
|
|
23
|
+
};
|
|
24
|
+
/** A meter for one entry: its own decoded size, the run's total, the ratio, and the deadline. */
|
|
25
|
+
export declare function makeMeter(e: Entry, limits: typeof DEFAULT_LIMITS, deadline: number | undefined, totals: {
|
|
26
|
+
decoded: number;
|
|
27
|
+
}): Meter & {
|
|
28
|
+
total: number;
|
|
29
|
+
};
|
|
30
|
+
/** Inspects an archive without changing it. The source is closed when the run ends. */
|
|
31
|
+
export declare function inspectArchiveSource(source: ByteSource, options?: ArchiveOptions): Promise<ArchiveInspection>;
|
|
32
|
+
/**
|
|
33
|
+
* Writes a defused copy of `source` to `sink`. Nothing reaches the sink unless the output passes inspection. The
|
|
34
|
+
* source is closed when the run ends.
|
|
35
|
+
*/
|
|
36
|
+
export declare function disarmArchiveSource(source: ByteSource, sink: ByteSink, options?: ArchiveOptions): Promise<ArchiveDisarmResult>;
|
|
37
|
+
/** Internal entry that carries the nesting depth for archives inside other files, and the deadline they share with the upload. */
|
|
38
|
+
export declare function disarmAtDepth(source: ByteSource, sink: ByteSink, options: ArchiveOptions, depth: number, deadline?: number | undefined): Promise<ArchiveDisarmResult>;
|
|
39
|
+
/** Inspects archive bytes. */
|
|
40
|
+
export declare function inspectArchive(bytes: Uint8Array, options?: ArchiveOptions): Promise<ArchiveInspection>;
|
|
41
|
+
/** Defuses archive bytes. `bytes` holds the output unless the archive was rejected. */
|
|
42
|
+
export declare function disarmArchive(bytes: Uint8Array, options?: ArchiveOptions): Promise<ArchiveDisarmResult & {
|
|
43
|
+
bytes?: Uint8Array;
|
|
44
|
+
}>;
|