image-hash 5.0.1 → 5.3.1

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 CHANGED
@@ -1,14 +1,17 @@
1
1
  # image-hash
2
+
2
3
  A wrapper around [block-hash](https://github.com/commonsmachinery/blockhash-js) to easily hash a local or remote file with Node.
3
4
 
4
- Supports JPG and PNG
5
+ Supports JPG, PNG and WebP
5
6
 
6
7
  ## Install
8
+
7
9
  ```bash
8
10
  npm i -S image-hash
9
11
  ```
10
12
 
11
13
  ## Use
14
+
12
15
  ```javascript
13
16
  const { imageHash }= require('image-hash');
14
17
 
@@ -60,22 +63,27 @@ imageHash({
60
63
  ```
61
64
 
62
65
  ## API
63
- ```
66
+
67
+ ```typescript
64
68
  // name
65
- imageHash(location, bits, precise, callback)
69
+ imageHash(location, bits, precise, callback);
66
70
 
67
71
  // types
68
- imageHash(string|object, int, bool, function)
72
+ imageHash(string|object, int, bool, function);
69
73
  ```
70
74
 
75
+ ## SETTINGS
76
+ Image hash will log out warnings if environment variable `VERBOSE` is set to true.
77
+
78
+
71
79
  ### Image-Hash Arguments
72
80
 
73
- | Argument | Type | Description | Mandatory | Example |
74
- | -------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | --------- |
75
- | location | `object` or `string` | A [RequestJS Object](https://github.com/request/request#requestoptions-callback), `Buffer` object (See input types below for more details), or `String` with a valid url or file location | Yes | see above |
76
- | bits | `int` | The number of bits in a row. The more bits, the more unique the hash. | Yes | 8 |
77
- | precise | `bool` | Whether a precision algorithm is used. `true` Precise but slower, non-overlapping blocks. `false` Quick and crude, non-overlapping blocks. Method 2 is recommended as a good tradeoff between speed and good matches on any image size. The quick ones are only advisable when the image width and height are an even multiple of the number of blocks used. | Yes | `true` |
78
- | callback | `function` | A function with `error` and `data` arguments - see below |
81
+ | Argument | Type | Description | Mandatory | Example |
82
+ | -------- | ---- | ----------- | --------- | ------- |
83
+ | location | `object` or `string` | A [RequestJS Object](https://github.com/request/request#requestoptions-callback), `Buffer` object (See input types below for more details), or `String` with a valid url or file location | Yes | see above |
84
+ | bits | `int` | The number of bits in a row. The more bits, the more unique the hash. | Yes | 8 |
85
+ | precise | `bool` | Whether a precision algorithm is used. `true` Precise but slower, non-overlapping blocks. `false` Quick and crude, non-overlapping blocks. Method 2 is recommended as a good tradeoff between speed and good matches on any image size. The quick ones are only advisable when the image width and height are an even multiple of the number of blocks used. | Yes | `true` |
86
+ | callback | `function` | A function with `error` and `data` arguments - see below |
79
87
 
80
88
  #### Location Object Types
81
89
 
@@ -85,6 +93,7 @@ interface UrlRequestObject {
85
93
  encoding?: string | null,
86
94
  url: string | null,
87
95
  };
96
+
88
97
  // Buffer Object
89
98
  interface BufferObject {
90
99
  ext?: string, // mime type of buffered file
@@ -96,14 +105,16 @@ interface BufferObject {
96
105
  ### Callback Arguments
97
106
 
98
107
  | Argument | Type | Description |
99
- | -------- | ------------------------ | ----------------------------------------------------------------------------------- | | |
108
+ | -------- | ------------------------ | ----------------------------------------------------------------------------------- |
100
109
  | error | `Error Object` or `null` | If a run time error is detected this will be an `Error Object`, otherwise `null` |
101
110
  | data | `string` or `null` | If there is no run time error, this be will be your hashed result, otherwise `null` |
102
111
 
103
112
  ## Development
113
+
104
114
  I have made this with Typescript, ESLint, Jest, Babel and VSCode. All config files and global binaries are included. For developers using VS Code, make sure you have ESLint extension installed.
105
115
 
106
116
  ## Testing
117
+
107
118
  `npm test`
108
119
 
109
120
  ## Credit
@@ -113,4 +124,3 @@ The hard bit of this comes with thanks from [commonsmachinery](https://github.co
113
124
  ## License
114
125
 
115
126
  Distributed under an MIT license
116
-
@@ -1 +1 @@
1
- {"version":3,"file":"block-hash.js","sourceRoot":"","sources":["../src/block-hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-hash.js","sourceRoot":"","sources":["../src/block-hash.ts"],"names":[],"mappings":"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"}
File without changes
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
4
  return new (P || (P = Promise))(function (resolve, reject) {
4
5
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
6
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
9
  });
9
10
  };
@@ -11,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
12
13
  };
13
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.imageHash = void 0;
14
16
  const fs_1 = __importDefault(require("fs"));
15
17
  const buffer_1 = require("buffer");
16
18
  const file_type_1 = __importDefault(require("file-type"));
@@ -18,8 +20,8 @@ const jpeg_js_1 = __importDefault(require("jpeg-js"));
18
20
  const pngjs_1 = require("pngjs");
19
21
  const request_1 = __importDefault(require("request"));
20
22
  const url_1 = require("url");
21
- const block_hash_1 = __importDefault(require("./block-hash"));
22
23
  const webp_1 = __importDefault(require("@cwasm/webp"));
24
+ const block_hash_1 = __importDefault(require("./block-hash"));
23
25
  const processPNG = (data, bits, method, cb) => {
24
26
  try {
25
27
  const png = pngjs_1.PNG.sync.read(data);
@@ -62,24 +64,19 @@ const isBufferObject = (obj) => {
62
64
  // eslint-disable-next-line
63
65
  exports.imageHash = (oldSrc, bits, method, cb) => {
64
66
  const src = oldSrc;
65
- const getFileType = (data) => __awaiter(this, void 0, void 0, function* () {
67
+ const getFileType = (data) => __awaiter(void 0, void 0, void 0, function* () {
66
68
  if (typeof src !== 'string' && isBufferObject(src) && src.ext) {
67
69
  return {
68
70
  mime: src.ext,
69
71
  };
70
72
  }
71
- try {
72
- if (buffer_1.Buffer.isBuffer(data)) {
73
- return yield file_type_1.default.fromBuffer(data);
74
- }
75
- if (typeof src === 'string') {
76
- return yield file_type_1.default.fromFile(src);
77
- }
78
- return '';
73
+ if (buffer_1.Buffer.isBuffer(data)) {
74
+ return file_type_1.default.fromBuffer(data);
79
75
  }
80
- catch (err) {
81
- throw err;
76
+ if (typeof src === 'string') {
77
+ return file_type_1.default.fromFile(src);
82
78
  }
79
+ return '';
83
80
  });
84
81
  const checkFileType = (name, data) => {
85
82
  getFileType(data).then((type) => {
@@ -103,11 +100,12 @@ exports.imageHash = (oldSrc, bits, method, cb) => {
103
100
  processWebp(data, bits, method, cb);
104
101
  }
105
102
  else {
106
- cb(new Error(`Unrecognized file extension, mime type or mismatch, ext: ${ext} / mime: ${type}`));
103
+ cb(new Error(`Unrecognized file extension, mime type or mismatch, ext: ${ext} / mime: ${type.mime}`));
107
104
  }
108
105
  }
109
106
  else {
110
- console.warn('No file extension found, attempting mime typing.');
107
+ if (process.env.verbose)
108
+ console.warn('No file extension found, attempting mime typing.');
111
109
  if (type.mime === 'image/png') {
112
110
  processPNG(data, bits, method, cb);
113
111
  }
@@ -118,7 +116,7 @@ exports.imageHash = (oldSrc, bits, method, cb) => {
118
116
  processWebp(data, bits, method, cb);
119
117
  }
120
118
  else {
121
- cb(new Error(`Unrecognized mime type: ${type}`));
119
+ cb(new Error(`Unrecognized mime type: ${type.mime}`));
122
120
  }
123
121
  }
124
122
  }).catch((err) => {
@@ -171,4 +169,4 @@ exports.imageHash = (oldSrc, bits, method, cb) => {
171
169
  fs_1.default.readFile(src, handleReadFile);
172
170
  }
173
171
  };
174
- //# sourceMappingURL=imageHash.js.map
172
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "image-hash",
3
- "version": "5.0.1",
3
+ "version": "5.3.1",
4
4
  "description": "Create a hash from an image",
5
- "main": "lib/imageHash.js",
6
- "types": "lib/imageHash.d.ts",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
7
  "scripts": {
8
8
  "test": "npx mocha -r ts-node/register __tests__/*.test.ts ",
9
9
  "build": "tsc",
@@ -31,29 +31,29 @@
31
31
  "homepage": "https://github.com/danm/image-hash#readme",
32
32
  "dependencies": {
33
33
  "@cwasm/webp": "^0.1.5",
34
- "file-type": "^14.6.2",
34
+ "file-type": "^16.5.3",
35
35
  "jpeg-js": "^0.4.0",
36
- "pngjs": "^3.3.3",
36
+ "pngjs": "^6.0.0",
37
37
  "request": "^2.81.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@types/chai": "^4.2.12",
41
40
  "@babel/cli": "^7.2.3",
42
41
  "@babel/core": "^7.2.2",
43
42
  "@babel/plugin-transform-modules-commonjs": "^7.4.4",
44
43
  "@babel/preset-env": "^7.3.1",
45
44
  "@babel/preset-typescript": "^7.1.0",
46
45
  "@babel/runtime": "^7.3.1",
47
- "@types/mocha": "^8.0.0",
46
+ "@types/chai": "^4.2.12",
47
+ "@types/mocha": "^9.0.0",
48
48
  "@types/node": "^11.13.8",
49
- "@typescript-eslint/eslint-plugin": "^1.7.0",
50
- "@typescript-eslint/parser": "^1.7.0",
51
49
  "chai": "^4.2.0",
52
- "eslint": "^5.16.0",
53
- "eslint-config-airbnb-typescript": "^3.0.0",
54
- "eslint-plugin-import": "^2.17.2",
55
- "mocha": "^8.1.0",
50
+ "eslint": "^8.8.0",
51
+ "eslint-config-airbnb-base": "^15.0.0",
52
+ "eslint-config-airbnb-typescript": "^16.1.0",
53
+ "eslint-plugin-import": "^2.25.4",
54
+ "mocha": "^9.0.0",
56
55
  "ts-node": "^8.10.2",
57
- "typescript": "^3.3.1"
56
+ "typescript": "^3.3.1",
57
+ "@types/pngjs": "^6.0.1"
58
58
  }
59
59
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageHash.js","sourceRoot":"","sources":["../src/imageHash.ts"],"names":[],"mappings":"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"}