Skip to content

Commit

Permalink
Merge pull request DefinitelyTyped#7484 from andreisebastianc/master
Browse files Browse the repository at this point in the history
Add typings for mmmagic 0.4.1.
  • Loading branch information
horiuchi committed Jan 5, 2016
2 parents 0bcdbd2 + 2145ada commit 03bc800
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
30 changes: 30 additions & 0 deletions mmmagic/mmmagic-tests.ts
Original file line number Diff line number Diff line change
@@ -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 changes: 37 additions & 0 deletions mmmagic/mmmagic.d.ts
Original file line number Diff line number Diff line change
@@ -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

}

0 comments on commit 03bc800

Please sign in to comment.