node-pkware 2.0.0 → 3.0.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/README.md +42 -40
- package/dist/ExpandingBuffer.d.ts +53 -0
- package/dist/ExpandingBuffer.js +134 -0
- package/dist/ExpandingBuffer.js.map +1 -0
- package/dist/Explode.d.ts +8 -0
- package/dist/Explode.js +309 -0
- package/dist/Explode.js.map +1 -0
- package/dist/Implode.d.ts +11 -0
- package/dist/Implode.js +305 -0
- package/dist/Implode.js.map +1 -0
- package/dist/bin/explode.d.ts +2 -0
- package/dist/bin/explode.js +59 -0
- package/dist/bin/explode.js.map +1 -0
- package/dist/bin/helpers.d.ts +8 -0
- package/dist/bin/helpers.js +65 -0
- package/dist/bin/helpers.js.map +1 -0
- package/dist/bin/implode.d.ts +2 -0
- package/dist/bin/implode.js +79 -0
- package/dist/bin/implode.js.map +1 -0
- package/dist/constants.d.ts +32 -0
- package/dist/constants.js +114 -0
- package/dist/constants.js.map +1 -0
- package/{types → dist}/errors.d.ts +13 -11
- package/dist/errors.js +52 -0
- package/dist/errors.js.map +1 -0
- package/dist/functions.d.ts +11 -0
- package/dist/functions.js +73 -0
- package/dist/functions.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/{types/helpers → dist}/stream.d.ts +13 -34
- package/dist/stream.js +205 -0
- package/dist/stream.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +14 -45
- package/src/ExpandingBuffer.ts +148 -0
- package/src/Explode.ts +404 -0
- package/src/Implode.ts +368 -0
- package/{bin/explode.js → src/bin/explode.ts} +35 -33
- package/src/bin/helpers.ts +65 -0
- package/src/bin/implode.ts +116 -0
- package/src/{constants.js → constants.ts} +31 -50
- package/src/errors.ts +47 -0
- package/src/functions.ts +73 -0
- package/src/index.ts +30 -0
- package/src/stream.ts +220 -0
- package/src/types.ts +26 -0
- package/bin/implode.js +0 -116
- package/src/errors.js +0 -50
- package/src/explode.js +0 -411
- package/src/helpers/ExpandingBuffer.js +0 -123
- package/src/helpers/functions.js +0 -150
- package/src/helpers/stream.js +0 -190
- package/src/helpers/testing.js +0 -80
- package/src/implode.js +0 -364
- package/src/index.js +0 -18
- package/tsconfig.json +0 -20
- package/types/constants.d.ts +0 -41
- package/types/explode.d.ts +0 -56
- package/types/helpers/ExpandingBuffer.d.ts +0 -25
- package/types/helpers/Shared.d.ts +0 -46
- package/types/helpers/functions.d.ts +0 -15
- package/types/helpers/testing.d.ts +0 -6
- package/types/implode.d.ts +0 -63
- package/types/index.d.ts +0 -8
package/types/explode.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import ExpandingBuffer from './helpers/ExpandingBuffer'
|
|
2
|
-
import { Callback, Config, Handler, PrivateState } from './helpers/Shared'
|
|
3
|
-
import { CompressionType, DictionarySizeBits, PKDCL_STREAM_END, PKDCL_OK, LITERAL_STREAM_ABORTED } from './constants'
|
|
4
|
-
|
|
5
|
-
export function readHeader(buffer: Buffer): {
|
|
6
|
-
compressionType: CompressionType
|
|
7
|
-
dictionarySizeBits: DictionarySizeBits
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
type PrivateExplodeState = {
|
|
11
|
-
_backup: {
|
|
12
|
-
extraBits: number
|
|
13
|
-
bitBuffer: Buffer
|
|
14
|
-
}
|
|
15
|
-
needMoreInput: boolean
|
|
16
|
-
isFirstChunk: boolean
|
|
17
|
-
extraBits: number
|
|
18
|
-
bitBuffer: Buffer
|
|
19
|
-
chBitsAsc: number[] // DecodeLit and GenAscTabs uses this
|
|
20
|
-
lengthCodes: number[]
|
|
21
|
-
distPosCodes: number[]
|
|
22
|
-
inputBuffer: ExpandingBuffer
|
|
23
|
-
outputBuffer: ExpandingBuffer
|
|
24
|
-
onInputFinished(callback: Callback): void
|
|
25
|
-
backup(): void
|
|
26
|
-
restore(): void
|
|
27
|
-
stats: {
|
|
28
|
-
chunkCounter: number
|
|
29
|
-
}
|
|
30
|
-
compressionType: CompressionType
|
|
31
|
-
dictionarySizeBits: DictionarySizeBits
|
|
32
|
-
dictionarySizeMask: number
|
|
33
|
-
asciiTable2C34: number[]
|
|
34
|
-
asciiTable2D34: number[]
|
|
35
|
-
asciiTable2E34: number[]
|
|
36
|
-
asciiTable2EB4: number[]
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Decompresses stream
|
|
41
|
-
* @returns a function, that you can use as a `transform._transform` method.
|
|
42
|
-
*/
|
|
43
|
-
export function explode(config?: Config): PrivateState<PrivateExplodeState> & Handler
|
|
44
|
-
export function createPATIterator(limit: number, stepper: number): (n: number) => false | [number, number]
|
|
45
|
-
export function populateAsciiTable(value: number, index: number, bits: number, limit: number): number[]
|
|
46
|
-
export function generateAsciiTables(): {
|
|
47
|
-
asciiTable2C34: number[]
|
|
48
|
-
asciiTable2D34: number[]
|
|
49
|
-
asciiTable2E34: number[]
|
|
50
|
-
asciiTable2EB4: number[]
|
|
51
|
-
}
|
|
52
|
-
export function processChunkData(state: PrivateExplodeState, verbose?: boolean): void
|
|
53
|
-
export function wasteBits(state: PrivateExplodeState, numberOfBits: number): typeof PKDCL_STREAM_END | typeof PKDCL_OK
|
|
54
|
-
export function decodeNextLiteral(state: PrivateExplodeState): typeof LITERAL_STREAM_ABORTED | number
|
|
55
|
-
export function decodeDistance(state: PrivateExplodeState, repeatLength: number): number
|
|
56
|
-
export function generateDecodeTables(startIndexes: number[], lengthBits: number[]): number[]
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export = ExpandingBuffer
|
|
2
|
-
declare class ExpandingBuffer {
|
|
3
|
-
constructor(numberOfBytes?: number)
|
|
4
|
-
_heap: Buffer
|
|
5
|
-
_startIndex: number
|
|
6
|
-
_endIndex: number
|
|
7
|
-
_backup: {
|
|
8
|
-
_startIndex: number
|
|
9
|
-
_endIndex: number
|
|
10
|
-
}
|
|
11
|
-
_getActualData(offset?: number): Buffer
|
|
12
|
-
size(): number
|
|
13
|
-
isEmpty(): boolean
|
|
14
|
-
heapSize(): number
|
|
15
|
-
append(buffer: Buffer): void
|
|
16
|
-
read(offset?: number, limit?: number): number | Buffer
|
|
17
|
-
flushStart(numberOfBytes: number): void
|
|
18
|
-
flushEnd(numberOfBytes: number): void
|
|
19
|
-
dropStart(numberOfBytes: number): void
|
|
20
|
-
dropEnd(numberOfBytes: number): void
|
|
21
|
-
getHeap(): Buffer
|
|
22
|
-
clear(): void
|
|
23
|
-
_saveIndices(): void
|
|
24
|
-
_restoreIndices(): void
|
|
25
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared type signatures used throughout the library.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A traditional "nodeback<Buffer>" callback type.
|
|
7
|
-
* @param error The error, if any.
|
|
8
|
-
* @param data The data, if any.
|
|
9
|
-
*/
|
|
10
|
-
export type Callback = (error: Error | null, chunk: Buffer) => void
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Handler for one chunk of bytes
|
|
14
|
-
* @param chunk The chunk of bytes
|
|
15
|
-
* @param encoding The encoding of the chunk (not used)
|
|
16
|
-
* @param callback The callback to call when done
|
|
17
|
-
*/
|
|
18
|
-
export type Handler = (chunk: Buffer, encoding: unknown, callback: Callback) => void
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* How the implode & explode functions store their internal state.
|
|
22
|
-
*/
|
|
23
|
-
export type PrivateState<T> = { _state: T }
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Configuration options for the implode & explode functions.
|
|
27
|
-
*/
|
|
28
|
-
export type Config = {
|
|
29
|
-
/**
|
|
30
|
-
* Whether the code should display extra messages on the console or not
|
|
31
|
-
* @default false
|
|
32
|
-
*/
|
|
33
|
-
verbose?: boolean
|
|
34
|
-
/**
|
|
35
|
-
* The starting size of the input buffer, may expand later as needed.
|
|
36
|
-
* Not having to expand may have performance impact.
|
|
37
|
-
* @default 0
|
|
38
|
-
*/
|
|
39
|
-
inputBufferSize?: number
|
|
40
|
-
/**
|
|
41
|
-
* The starting size of the output buffer, may expand later as needed.
|
|
42
|
-
* Not having to expand may have performance impact.
|
|
43
|
-
* @default 0
|
|
44
|
-
*/
|
|
45
|
-
outputBufferSize?: number
|
|
46
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function isNumber(x: any): boolean
|
|
2
|
-
export function isString(x: any): boolean
|
|
3
|
-
export function isFunction(x: any): boolean
|
|
4
|
-
export function noop(): void
|
|
5
|
-
export function isPlainObject(x: any): boolean
|
|
6
|
-
export function isBetween(min: number, max: number, num: number): boolean
|
|
7
|
-
export function nBitsOfOnes(numberOfBits: number): number
|
|
8
|
-
export function maskBits(numberOfBits: number, number: number): number
|
|
9
|
-
export function getLowestNBits(numberOfBits: number, number: number): number
|
|
10
|
-
export function isFullHexString(str: string): boolean
|
|
11
|
-
export function toHex(num: number, digits?: number, withoutPrefix?: boolean): string
|
|
12
|
-
export function mergeSparseArrays<T>(a: T[], b: T[]): T[]
|
|
13
|
-
export function parseNumberString(n: string, defaultValue?: number): number
|
|
14
|
-
export function getPackageVersion(): Promise<string>
|
|
15
|
-
export function fileExists(filename: string): Promise<boolean>
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Handler } from './Shared'
|
|
2
|
-
|
|
3
|
-
export function isClass(obj: any): obj is Object
|
|
4
|
-
export function buffersShouldEqual(expected: Buffer, result: Buffer, offset?: number, displayAsHex?: boolean): void
|
|
5
|
-
export function bufferToString(buffer: Buffer, limit?: number): string
|
|
6
|
-
export function transformToABC(): Handler
|
package/types/implode.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { CompressionType, DictionarySizeBits } from './constants'
|
|
2
|
-
import ExpandingBuffer from './helpers/ExpandingBuffer'
|
|
3
|
-
import { Callback, Config, Handler, PrivateState } from './helpers/Shared'
|
|
4
|
-
|
|
5
|
-
type PrivateExplodeState = {
|
|
6
|
-
_backup: {
|
|
7
|
-
extraBits: number
|
|
8
|
-
bitBuffer: Buffer
|
|
9
|
-
}
|
|
10
|
-
needMoreInput: boolean
|
|
11
|
-
isFirstChunk: boolean
|
|
12
|
-
extraBits: number
|
|
13
|
-
bitBuffer: Buffer
|
|
14
|
-
chBitsAsc: number[] // DecodeLit and GenAscTabs uses this
|
|
15
|
-
lengthCodes: number[]
|
|
16
|
-
distPosCodes: number[]
|
|
17
|
-
nChBits: number[]
|
|
18
|
-
nChCodes: number[]
|
|
19
|
-
inputBuffer: ExpandingBuffer
|
|
20
|
-
outputBuffer: ExpandingBuffer
|
|
21
|
-
onInputFinished(callback: Callback): void
|
|
22
|
-
backup(): void
|
|
23
|
-
restore(): void
|
|
24
|
-
stats: {
|
|
25
|
-
chunkCounter: number
|
|
26
|
-
}
|
|
27
|
-
compressionType: CompressionType
|
|
28
|
-
dictionarySizeBits: DictionarySizeBits
|
|
29
|
-
dictionarySizeMask: number
|
|
30
|
-
asciiTable2C34: number[]
|
|
31
|
-
asciiTable2D34: number[]
|
|
32
|
-
asciiTable2E34: number[]
|
|
33
|
-
asciiTable2EB4: number[]
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function setup(state: PrivateExplodeState): void
|
|
37
|
-
export function outputBits(state: PrivateExplodeState, nBits: number, bitBuffer: number): void
|
|
38
|
-
export function getSizeOfMatching(inputBytes: number[], a: number, b: number): number
|
|
39
|
-
export function findRepetitions(
|
|
40
|
-
inputBytes: number[],
|
|
41
|
-
endOfLastMatch: number,
|
|
42
|
-
cursor: number,
|
|
43
|
-
): { size: number; distance: number }
|
|
44
|
-
export function isRepetitionFlushable(
|
|
45
|
-
size: number,
|
|
46
|
-
distance: number,
|
|
47
|
-
startIndex: number,
|
|
48
|
-
inputBufferSize: number,
|
|
49
|
-
): boolean | null
|
|
50
|
-
export function processChunkData(state: PrivateExplodeState, verbose?: boolean): void
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Compresses stream
|
|
54
|
-
* @param compressionType one of `constants.CompressionType`
|
|
55
|
-
* @param dictionarySizeBits one of `constants.DictionarySizeBits`
|
|
56
|
-
* @param config `Config` object
|
|
57
|
-
* @return a function, that you can use as a transform._transform method
|
|
58
|
-
*/
|
|
59
|
-
export function implode(
|
|
60
|
-
compressionType: CompressionType,
|
|
61
|
-
dictionarySizeBits: DictionarySizeBits,
|
|
62
|
-
config?: Config,
|
|
63
|
-
): PrivateState<PrivateExplodeState> & Handler
|
package/types/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { implode } from './implode'
|
|
2
|
-
export { implode as compress } from './implode'
|
|
3
|
-
export { explode } from './explode'
|
|
4
|
-
export { explode as decompress } from './explode'
|
|
5
|
-
|
|
6
|
-
export * as constants from './constants'
|
|
7
|
-
export * as errors from './errors'
|
|
8
|
-
export * as stream from './helpers/stream'
|