Add typings for mmmagic 0.4.1.

https://github.com/mscdex/mmmagic

mmmagic is an async libmagic binding for node.js for detecting content
types by data inspection.
This commit is contained in:
Andrei Sebastian Cimpean
2016-01-04 22:57:10 +02:00
parent bdaf2f0eb1
commit 2145adaf84
2 changed files with 67 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
/// <reference path="mmmagic.d.ts" />
import Magic = require("mmmagic");
// get general description of a file
var magic: Magic.Magic;
magic = new Magic.Magic();
magic.detectFile('node_modules/mmmagic/build/Release/magic.node', function(err: Error, result: string) {
if (err) throw err;
console.log(result);
// output on Windows with 32-bit node:
});
// get mime type for a file
magic = new Magic.Magic(Magic.MAGIC_MIME_TYPE);
magic.detectFile('node_modules/mmmagic/build/Release/magic.node', function(err: Error, result: string) {
if (err) throw err;
console.log(result);
});
// get mime type and mime encoding for a file
magic = new Magic.Magic();
var buf = new Buffer('import Options\nfrom os import unlink, symlink');
magic.detect(buf, function(err: Error, result: string) {
if (err) throw err;
console.log(result);
// output: Python script, ASCII text executable
});
+37
View File
@@ -0,0 +1,37 @@
// Type definitions for mmmagic v0.4.1
// Project: https://github.com/mscdex/mmmagic
// Definitions by: Andrei Sebastian Cîmpean <http://andreime.com/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
declare module "mmmagic" {
export type bitmask = number;
export class Magic {
constructor(magicPath?: string, mask?: bitmask);
constructor(mask?: bitmask);
detectFile(path: string, callback: (err: Error, result: string) => void): void;
detect(data: Buffer, callback: (err: Error, result: string) => void): void;
}
export var MAGIC_NONE: bitmask; // no flags set
export var MAGIC_DEBUG: bitmask; // turn on debugging
export var MAGIC_SYMLINK: bitmask; // follow symlinks (default for non-Windows)
export var MAGIC_DEVICES: bitmask; // look at the contents of devices
export var MAGIC_MIME_TYPE: bitmask; // return the MIME type
export var MAGIC_CONTINUE: bitmask; // return all matches (returned as an array of strings)
export var MAGIC_CHECK: bitmask; // print warnings to stderr
export var MAGIC_PRESERVE_ATIME: bitmask; // restore access time on exit
export var MAGIC_RAW: bitmask; // don't translate unprintable chars
export var MAGIC_MIME_ENCODING: bitmask; // return the MIME encoding
export var MAGIC_MIME: bitmask; // (export var MAGIC_MIME_TYPE | export var MAGIC_MIME_ENCODING)
export var MAGIC_APPLE: bitmask; // return the Apple creator and type
export var MAGIC_NO_CHECK_TAR: bitmask; // don't check for tar files
export var MAGIC_NO_CHECK_SOFT: bitmask; // don't check magic entries
export var MAGIC_NO_CHECK_APPTYPE: bitmask; // don't check application type
export var MAGIC_NO_CHECK_ELF: bitmask; // don't check for elf details
export var MAGIC_NO_CHECK_TEXT: bitmask; // don't check for text files
export var MAGIC_NO_CHECK_CDF: bitmask; // don't check for cdf files
export var MAGIC_NO_CHECK_TOKENS: bitmask; // don't check tokens
export var MAGIC_NO_CHECK_ENCODING: bitmask // don't check text encodings
}