mirror of
https://gitlab.com/upRootNutrition/zookeeper.git
synced 2025-06-16 10:25:12 -05:00
feat: init
This commit is contained in:
parent
8379d09058
commit
2cfa016090
2929 changed files with 299087 additions and 3 deletions
7
node_modules/magic-bytes.js/dist/index.d.ts
generated
vendored
Normal file
7
node_modules/magic-bytes.js/dist/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
import { GuessedFile } from "./model/tree";
|
||||
export declare const filetypeinfo: (bytes: number[] | Uint8Array | Uint8ClampedArray) => GuessedFile[];
|
||||
export default filetypeinfo;
|
||||
export declare const filetypename: (bytes: number[] | Uint8Array | Uint8ClampedArray) => string[];
|
||||
export declare const filetypemime: (bytes: number[] | Uint8Array | Uint8ClampedArray) => string[];
|
||||
export declare const filetypeextension: (bytes: number[] | Uint8Array | Uint8ClampedArray) => string[];
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
node_modules/magic-bytes.js/dist/index.d.ts.map
generated
vendored
Normal file
1
node_modules/magic-bytes.js/dist/index.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAIvD,eAAO,MAAM,YAAY,UAChB,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB,KAC/C,WAAW,EAkBb,CAAC;AA0BF,eAAe,YAAY,CAAC;AAE5B,eAAO,MAAM,YAAY,UAChB,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB,KAC/C,MAAM,EAAgD,CAAC;AAE1D,eAAO,MAAM,YAAY,UAChB,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB,KAC/C,MAAM,EAGiC,CAAC;AAE3C,eAAO,MAAM,iBAAiB,UACrB,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB,KAC/C,MAAM,EAGiC,CAAC"}
|
60
node_modules/magic-bytes.js/dist/index.js
generated
vendored
Normal file
60
node_modules/magic-bytes.js/dist/index.js
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.filetypeextension = exports.filetypemime = exports.filetypename = exports.filetypeinfo = void 0;
|
||||
const pattern_tree_1 = __importDefault(require("./model/pattern-tree"));
|
||||
const toHex_1 = require("./model/toHex");
|
||||
const patternTree = pattern_tree_1.default();
|
||||
const filetypeinfo = (bytes) => {
|
||||
let tree = patternTree;
|
||||
for (const k of Object.keys(tree.offset)) {
|
||||
const offset = toHex_1.fromHex(k);
|
||||
const offsetExceedsFile = offset >= bytes.length;
|
||||
if (offsetExceedsFile) {
|
||||
continue;
|
||||
}
|
||||
const node = patternTree.offset[k];
|
||||
const guessed = walkTree(offset, bytes, node);
|
||||
if (guessed.length > 0) {
|
||||
return guessed;
|
||||
}
|
||||
}
|
||||
if (tree.noOffset === null) {
|
||||
return [];
|
||||
}
|
||||
return walkTree(0, bytes, tree.noOffset);
|
||||
};
|
||||
exports.filetypeinfo = filetypeinfo;
|
||||
const walkTree = (index, bytes, node) => {
|
||||
let step = node;
|
||||
let guessFile = [];
|
||||
while (true) {
|
||||
const currentByte = toHex_1.toHex(bytes[index]);
|
||||
if (step.bytes["?"] && !step.bytes[currentByte]) {
|
||||
step = step.bytes["?"];
|
||||
}
|
||||
else {
|
||||
step = step.bytes[currentByte];
|
||||
}
|
||||
if (!step) {
|
||||
return guessFile;
|
||||
}
|
||||
if (step && step.matches) {
|
||||
guessFile = step.matches.slice(0);
|
||||
}
|
||||
index += 1;
|
||||
}
|
||||
};
|
||||
exports.default = exports.filetypeinfo;
|
||||
const filetypename = (bytes) => exports.filetypeinfo(bytes).map((e) => e.typename);
|
||||
exports.filetypename = filetypename;
|
||||
const filetypemime = (bytes) => exports.filetypeinfo(bytes)
|
||||
.map((e) => (e.mime ? e.mime : null))
|
||||
.filter((x) => x !== null);
|
||||
exports.filetypemime = filetypemime;
|
||||
const filetypeextension = (bytes) => exports.filetypeinfo(bytes)
|
||||
.map((e) => (e.extension ? e.extension : null))
|
||||
.filter((x) => x !== null);
|
||||
exports.filetypeextension = filetypeextension;
|
2
node_modules/magic-bytes.js/dist/index.spec.d.ts
generated
vendored
Normal file
2
node_modules/magic-bytes.js/dist/index.spec.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
export {};
|
||||
//# sourceMappingURL=index.spec.d.ts.map
|
1
node_modules/magic-bytes.js/dist/index.spec.d.ts.map
generated
vendored
Normal file
1
node_modules/magic-bytes.js/dist/index.spec.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":""}
|
4
node_modules/magic-bytes.js/dist/model/pattern-tree.d.ts
generated
vendored
Normal file
4
node_modules/magic-bytes.js/dist/model/pattern-tree.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
import { Tree } from "./tree";
|
||||
declare const _default: () => Tree;
|
||||
export default _default;
|
||||
//# sourceMappingURL=pattern-tree.d.ts.map
|
1
node_modules/magic-bytes.js/dist/model/pattern-tree.d.ts.map
generated
vendored
Normal file
1
node_modules/magic-bytes.js/dist/model/pattern-tree.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"pattern-tree.d.ts","sourceRoot":"","sources":["../../src/model/pattern-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,IAAI,EAAE,MAAM,QAAQ,CAAC;8BAu0CvD,IAAI;AAAvB,wBAAwC"}
|
1155
node_modules/magic-bytes.js/dist/model/pattern-tree.js
generated
vendored
Normal file
1155
node_modules/magic-bytes.js/dist/model/pattern-tree.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
3
node_modules/magic-bytes.js/dist/model/toHex.d.ts
generated
vendored
Normal file
3
node_modules/magic-bytes.js/dist/model/toHex.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
export declare const toHex: (num: number) => string;
|
||||
export declare const fromHex: (hex: string) => number;
|
||||
//# sourceMappingURL=toHex.d.ts.map
|
1
node_modules/magic-bytes.js/dist/model/toHex.d.ts.map
generated
vendored
Normal file
1
node_modules/magic-bytes.js/dist/model/toHex.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"toHex.d.ts","sourceRoot":"","sources":["../../src/model/toHex.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,MACsB,CAAC;AAC3D,eAAO,MAAM,OAAO,QAAS,MAAM,WAA8B,CAAC"}
|
8
node_modules/magic-bytes.js/dist/model/toHex.js
generated
vendored
Normal file
8
node_modules/magic-bytes.js/dist/model/toHex.js
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fromHex = exports.toHex = void 0;
|
||||
const hex = (num) => new Number(num).toString(16).toLowerCase();
|
||||
const toHex = (num) => `0x${hex(num).length === 1 ? "0" + hex(num) : hex(num)}`;
|
||||
exports.toHex = toHex;
|
||||
const fromHex = (hex) => new Number(hex);
|
||||
exports.fromHex = fromHex;
|
30
node_modules/magic-bytes.js/dist/model/tree.d.ts
generated
vendored
Normal file
30
node_modules/magic-bytes.js/dist/model/tree.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
export declare type PathlessNewNode = {
|
||||
info: Info;
|
||||
typename: string;
|
||||
};
|
||||
export declare type NewNode = PathlessNewNode & {
|
||||
bytes: string[];
|
||||
};
|
||||
export declare type GuessedFile = Info & {
|
||||
typename: string;
|
||||
};
|
||||
export declare type Info = {
|
||||
mime?: string;
|
||||
extension?: string;
|
||||
};
|
||||
export declare type Node = {
|
||||
matches?: GuessedFile[];
|
||||
bytes: {
|
||||
[nextbyte: string]: Node;
|
||||
};
|
||||
};
|
||||
export declare type Tree = {
|
||||
noOffset: Node | null;
|
||||
offset: {
|
||||
[offsetByte: string]: Node;
|
||||
};
|
||||
};
|
||||
export declare const merge: (node: NewNode, tree: Node) => Node;
|
||||
export declare const createNode: (typename: string, bytes: string[], info?: Info | undefined) => NewNode;
|
||||
export declare const createComplexNode: (typename: string, bytes: string[], info?: Info | undefined) => Node;
|
||||
//# sourceMappingURL=tree.d.ts.map
|
1
node_modules/magic-bytes.js/dist/model/tree.d.ts.map
generated
vendored
Normal file
1
node_modules/magic-bytes.js/dist/model/tree.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/model/tree.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,OAAO,GAAG,eAAe,GAAG;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW,GAAG,IAAI,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,IAAI,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,IAAI,GAAG;IACjB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE;QACL,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,oBAAY,IAAI,GAAG;IACjB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACxC,CAAC;AAcF,eAAO,MAAM,KAAK,SAAU,OAAO,QAAQ,IAAI,KAAG,IAoCjD,CAAC;AAEF,eAAO,MAAM,UAAU,aACX,MAAM,SACT,MAAM,EAAE,8BAEd,OAEF,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAClB,MAAM,SACT,MAAM,EAAE,8BAEd,IAoBF,CAAC"}
|
70
node_modules/magic-bytes.js/dist/model/tree.js
generated
vendored
Normal file
70
node_modules/magic-bytes.js/dist/model/tree.js
generated
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createComplexNode = exports.createNode = exports.merge = void 0;
|
||||
const createMatch = (leaf) => ({
|
||||
typename: leaf.typename,
|
||||
mime: leaf.info.mime,
|
||||
extension: leaf.info.extension,
|
||||
});
|
||||
const isMatchingNode = (tree, path) => tree && path.length === 0;
|
||||
const head = (arr) => arr[0];
|
||||
const tail = (arr) => arr.slice(1, arr.length);
|
||||
const merge = (node, tree) => {
|
||||
if (node.bytes.length === 0)
|
||||
return tree;
|
||||
const currentByte = head(node.bytes); // 0
|
||||
const path = tail(node.bytes); // [1,2]
|
||||
const currentTree = tree.bytes[currentByte];
|
||||
// traversed to end. Just add key to leaf.
|
||||
if (isMatchingNode(currentTree, path)) {
|
||||
const matchingNode = tree.bytes[currentByte];
|
||||
tree.bytes[currentByte] = {
|
||||
...matchingNode,
|
||||
matches: [
|
||||
...(matchingNode.matches ? matchingNode.matches : []),
|
||||
createMatch(node),
|
||||
],
|
||||
};
|
||||
return tree;
|
||||
}
|
||||
// Path exists already, Merge subtree
|
||||
if (tree.bytes[currentByte]) {
|
||||
tree.bytes[currentByte] = exports.merge(exports.createNode(node.typename, path, node.info), tree.bytes[currentByte]);
|
||||
return tree;
|
||||
}
|
||||
// Tree did not exist before
|
||||
if (!tree.bytes[currentByte]) {
|
||||
tree.bytes[currentByte] = {
|
||||
...tree.bytes[currentByte],
|
||||
...exports.createComplexNode(node.typename, path, node.info),
|
||||
};
|
||||
}
|
||||
return tree;
|
||||
};
|
||||
exports.merge = merge;
|
||||
const createNode = (typename, bytes, info) => {
|
||||
return { typename, bytes, info: info ? info : {} };
|
||||
};
|
||||
exports.createNode = createNode;
|
||||
const createComplexNode = (typename, bytes, info) => {
|
||||
let obj = {
|
||||
bytes: {},
|
||||
matches: undefined,
|
||||
};
|
||||
const currentKey = head(bytes); // 0
|
||||
const path = tail(bytes); // [1,2]
|
||||
if (bytes.length === 0) {
|
||||
return {
|
||||
matches: [
|
||||
createMatch({
|
||||
typename: typename,
|
||||
info: info ? { extension: info.extension, mime: info.mime } : {},
|
||||
}),
|
||||
],
|
||||
bytes: {},
|
||||
};
|
||||
}
|
||||
obj.bytes[currentKey] = exports.createComplexNode(typename, path, info);
|
||||
return obj;
|
||||
};
|
||||
exports.createComplexNode = createComplexNode;
|
2
node_modules/magic-bytes.js/dist/model/tree.spec.d.ts
generated
vendored
Normal file
2
node_modules/magic-bytes.js/dist/model/tree.spec.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
export {};
|
||||
//# sourceMappingURL=tree.spec.d.ts.map
|
1
node_modules/magic-bytes.js/dist/model/tree.spec.d.ts.map
generated
vendored
Normal file
1
node_modules/magic-bytes.js/dist/model/tree.spec.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"tree.spec.d.ts","sourceRoot":"","sources":["../../src/model/tree.spec.ts"],"names":[],"mappings":""}
|
Loading…
Add table
Add a link
Reference in a new issue