@livechart/sharp-vibrant 0.2.0 → 0.2.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/.eslintcache +1 -1
- package/.vscode/settings.json +1 -1
- package/lib/builder.js +31 -38
- package/lib/builder.js.map +1 -1
- package/lib/color.d.ts +1 -1
- package/lib/color.js +46 -51
- package/lib/color.js.map +1 -1
- package/lib/filter/default.js +1 -4
- package/lib/filter/default.js.map +1 -1
- package/lib/filter/index.js +2 -6
- package/lib/filter/index.js.map +1 -1
- package/lib/generator/default.js +12 -14
- package/lib/generator/default.js.map +1 -1
- package/lib/generator/index.js +2 -7
- package/lib/generator/index.js.map +1 -1
- package/lib/image/base.js +1 -3
- package/lib/image/base.js.map +1 -1
- package/lib/image/sharp.js +20 -27
- package/lib/image/sharp.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +4 -8
- package/lib/index.js.map +1 -1
- package/lib/quantizer/index.js +2 -7
- package/lib/quantizer/index.js.map +1 -1
- package/lib/quantizer/mmcq.js +8 -13
- package/lib/quantizer/mmcq.js.map +1 -1
- package/lib/quantizer/pqueue.js +23 -27
- package/lib/quantizer/pqueue.js.map +1 -1
- package/lib/quantizer/vbox.js +51 -55
- package/lib/quantizer/vbox.js.map +1 -1
- package/lib/src/builder.d.ts +17 -0
- package/lib/src/builder.js +80 -0
- package/lib/src/builder.js.map +1 -0
- package/lib/src/color.d.ts +30 -0
- package/lib/src/color.js +81 -0
- package/lib/src/color.js.map +1 -0
- package/lib/src/filter/default.d.ts +1 -0
- package/lib/src/filter/default.js +7 -0
- package/lib/src/filter/default.js.map +1 -0
- package/lib/src/filter/index.d.ts +3 -0
- package/lib/src/filter/index.js +24 -0
- package/lib/src/filter/index.js.map +1 -0
- package/lib/src/generator/default.d.ts +20 -0
- package/lib/src/generator/default.js +143 -0
- package/lib/src/generator/default.js.map +1 -0
- package/lib/src/generator/index.d.ts +3 -0
- package/lib/src/generator/index.js +9 -0
- package/lib/src/generator/index.js.map +1 -0
- package/lib/src/image/base.d.ts +11 -0
- package/lib/src/image/base.js +29 -0
- package/lib/src/image/base.js.map +1 -0
- package/lib/src/image/sharp.d.ts +11 -0
- package/lib/src/image/sharp.js +81 -0
- package/lib/src/image/sharp.js.map +1 -0
- package/lib/src/index.d.ts +2 -0
- package/lib/src/index.js +9 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/quantizer/index.d.ts +2 -0
- package/lib/src/quantizer/index.js +8 -0
- package/lib/src/quantizer/index.js.map +1 -0
- package/lib/src/quantizer/mmcq.d.ts +3 -0
- package/lib/src/quantizer/mmcq.js +57 -0
- package/lib/src/quantizer/mmcq.js.map +1 -0
- package/lib/src/quantizer/pqueue.d.ts +14 -0
- package/lib/src/quantizer/pqueue.js +51 -0
- package/lib/src/quantizer/pqueue.js.map +1 -0
- package/lib/src/quantizer/vbox.d.ts +26 -0
- package/lib/src/quantizer/vbox.js +253 -0
- package/lib/src/quantizer/vbox.js.map +1 -0
- package/lib/src/typing.d.ts +57 -0
- package/lib/src/typing.js +3 -0
- package/lib/src/typing.js.map +1 -0
- package/lib/src/util.d.ts +31 -0
- package/lib/src/util.js +201 -0
- package/lib/src/util.js.map +1 -0
- package/lib/src/vibrant.d.ts +21 -0
- package/lib/src/vibrant.js +117 -0
- package/lib/src/vibrant.js.map +1 -0
- package/lib/typing.d.ts +5 -6
- package/lib/typing.js +1 -2
- package/lib/util.js +22 -37
- package/lib/util.js.map +1 -1
- package/lib/vibrant.js +31 -45
- package/lib/vibrant.js.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +1 -1
- package/src/typing.ts +1 -1
- package/tsconfig.json +4 -14
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
36
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
37
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
38
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
39
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
40
|
+
};
|
|
41
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
42
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
43
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
44
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
45
|
+
};
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
49
|
+
var _Vibrant_src;
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
const color_1 = require("./color");
|
|
52
|
+
// eslint-disable-next-line import/no-cycle
|
|
53
|
+
const builder_1 = __importDefault(require("./builder"));
|
|
54
|
+
const Util = __importStar(require("./util"));
|
|
55
|
+
const quantizer_1 = __importDefault(require("./quantizer"));
|
|
56
|
+
const generator_1 = require("./generator");
|
|
57
|
+
// eslint-disable-next-line import/no-cycle
|
|
58
|
+
const Filters = __importStar(require("./filter"));
|
|
59
|
+
class Vibrant {
|
|
60
|
+
static from(src) {
|
|
61
|
+
return new builder_1.default(src);
|
|
62
|
+
}
|
|
63
|
+
constructor(src, opts) {
|
|
64
|
+
_Vibrant_src.set(this, void 0);
|
|
65
|
+
__classPrivateFieldSet(this, _Vibrant_src, src, "f");
|
|
66
|
+
this.opts = (Object.assign(Object.assign({}, Vibrant.DefaultOpts), opts));
|
|
67
|
+
this.opts.combinedFilter = Filters.combineFilters(this.opts.filters);
|
|
68
|
+
}
|
|
69
|
+
process(image) {
|
|
70
|
+
const { quantizer, generator } = this.opts;
|
|
71
|
+
return image.applyFilter(this.opts.combinedFilter)
|
|
72
|
+
.then((imageData) => quantizer(imageData.data, this.opts))
|
|
73
|
+
.then((colors) => color_1.Swatch.applyFilter(colors, this.opts.combinedFilter))
|
|
74
|
+
.then((colors) => Promise.resolve(generator(colors)));
|
|
75
|
+
}
|
|
76
|
+
getPalette(cb) {
|
|
77
|
+
const image = new this.opts.ImageClass();
|
|
78
|
+
const result = image.load(__classPrivateFieldGet(this, _Vibrant_src, "f"), this.opts)
|
|
79
|
+
.then((loadedImage) => this.process(loadedImage))
|
|
80
|
+
.then((palette) => {
|
|
81
|
+
const paletteResult = {
|
|
82
|
+
pixelCount: image.pixelCount,
|
|
83
|
+
imageDimensions: {
|
|
84
|
+
width: image.width,
|
|
85
|
+
height: image.height,
|
|
86
|
+
},
|
|
87
|
+
palette,
|
|
88
|
+
};
|
|
89
|
+
image.cleanup();
|
|
90
|
+
return paletteResult;
|
|
91
|
+
}, (err) => {
|
|
92
|
+
image.cleanup();
|
|
93
|
+
throw err;
|
|
94
|
+
});
|
|
95
|
+
if (cb) {
|
|
96
|
+
result.then((palette) => cb(null, palette), (err) => cb(err));
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
_Vibrant_src = new WeakMap();
|
|
102
|
+
Vibrant.Builder = builder_1.default;
|
|
103
|
+
Vibrant.Quantizer = quantizer_1.default;
|
|
104
|
+
Vibrant.Generator = generator_1.Default;
|
|
105
|
+
Vibrant.Filter = Filters;
|
|
106
|
+
Vibrant.Util = Util;
|
|
107
|
+
Vibrant.Swatch = color_1.Swatch;
|
|
108
|
+
Vibrant.DefaultOpts = {
|
|
109
|
+
colorCount: 64,
|
|
110
|
+
quality: 5,
|
|
111
|
+
generator: generator_1.Default,
|
|
112
|
+
ImageClass: null,
|
|
113
|
+
quantizer: quantizer_1.default,
|
|
114
|
+
filters: [Filters.Default],
|
|
115
|
+
};
|
|
116
|
+
exports.default = Vibrant;
|
|
117
|
+
//# sourceMappingURL=vibrant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibrant.js","sourceRoot":"","sources":["../../src/vibrant.ts"],"names":[],"mappings":"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"}
|
package/lib/typing.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import type { Sharp } from 'sharp';
|
|
3
1
|
import type { Palette, Swatch } from './color';
|
|
4
2
|
import type Builder from './builder';
|
|
3
|
+
import { type Sharp } from 'sharp';
|
|
5
4
|
export interface VibrantStatic {
|
|
6
5
|
from(src: ImageSource): Builder;
|
|
7
6
|
}
|
|
8
7
|
export interface Callback<T> {
|
|
9
8
|
(err?: Error, result?: T): void;
|
|
10
9
|
}
|
|
11
|
-
export
|
|
12
|
-
export
|
|
10
|
+
export type ImageCallback = Callback<Image>;
|
|
11
|
+
export type ImageSource = string | Buffer | Sharp;
|
|
13
12
|
export interface ImageDimensions {
|
|
14
13
|
readonly width: number;
|
|
15
14
|
readonly height: number;
|
|
@@ -17,7 +16,7 @@ export interface ImageDimensions {
|
|
|
17
16
|
export interface ImagePixelInfo {
|
|
18
17
|
readonly pixelCount: number;
|
|
19
18
|
}
|
|
20
|
-
export
|
|
19
|
+
export type Pixels = Uint8ClampedArray | Buffer;
|
|
21
20
|
export interface ImageData extends ImageDimensions {
|
|
22
21
|
data: Pixels;
|
|
23
22
|
}
|
|
@@ -31,7 +30,7 @@ export interface Image extends ImageDimensions, ImagePixelInfo {
|
|
|
31
30
|
applyFilter(filter: Filter): Promise<ImageData>;
|
|
32
31
|
cleanup(): void;
|
|
33
32
|
}
|
|
34
|
-
export
|
|
33
|
+
export type Resolvable<T> = T | Promise<T>;
|
|
35
34
|
export interface ImageClass {
|
|
36
35
|
new (): Image;
|
|
37
36
|
}
|
package/lib/typing.js
CHANGED
package/lib/util.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DELTAE94_DIFF_STATUS = {
|
|
1
|
+
export const DELTAE94_DIFF_STATUS = {
|
|
4
2
|
NA: 0,
|
|
5
3
|
PERFECT: 1,
|
|
6
4
|
CLOSE: 2,
|
|
7
5
|
GOOD: 10,
|
|
8
6
|
SIMILAR: 50,
|
|
9
7
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function defer() {
|
|
8
|
+
export const SIGBITS = 5;
|
|
9
|
+
export const RSHIFT = 8 - SIGBITS;
|
|
10
|
+
export function defer() {
|
|
13
11
|
let resolve;
|
|
14
12
|
let reject;
|
|
15
13
|
const promise = new Promise((_resolve, _reject) => {
|
|
@@ -19,18 +17,15 @@ function defer() {
|
|
|
19
17
|
// @ts-ignore
|
|
20
18
|
return { resolve, reject, promise };
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
function hexToRgb(hex) {
|
|
20
|
+
export function hexToRgb(hex) {
|
|
24
21
|
const m = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
25
22
|
return m === null ? null : [m[1], m[2], m[3]].map((s) => parseInt(s, 16));
|
|
26
23
|
}
|
|
27
|
-
|
|
28
|
-
function rgbToHex(r, g, b) {
|
|
24
|
+
export function rgbToHex(r, g, b) {
|
|
29
25
|
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1, 7)}`;
|
|
30
26
|
}
|
|
31
|
-
exports.rgbToHex = rgbToHex;
|
|
32
27
|
// ir/ig/ib = (input)r/g/b - done for the purpose of linting.
|
|
33
|
-
function rgbToHsl(ir, ig, ib) {
|
|
28
|
+
export function rgbToHsl(ir, ig, ib) {
|
|
34
29
|
const r = ir / 255;
|
|
35
30
|
const g = ig / 255;
|
|
36
31
|
const b = ib / 255;
|
|
@@ -59,7 +54,6 @@ function rgbToHsl(ir, ig, ib) {
|
|
|
59
54
|
}
|
|
60
55
|
return [h, s, l];
|
|
61
56
|
}
|
|
62
|
-
exports.rgbToHsl = rgbToHsl;
|
|
63
57
|
// it = (input)t
|
|
64
58
|
function hue2rgb(p, q, it) {
|
|
65
59
|
let t = it;
|
|
@@ -75,7 +69,7 @@ function hue2rgb(p, q, it) {
|
|
|
75
69
|
return p + (q - p) * (2 / 3 - t) * 6;
|
|
76
70
|
return p;
|
|
77
71
|
}
|
|
78
|
-
function hslToRgb(h, s, l) {
|
|
72
|
+
export function hslToRgb(h, s, l) {
|
|
79
73
|
let r = l;
|
|
80
74
|
let g = l;
|
|
81
75
|
let b = l;
|
|
@@ -93,9 +87,8 @@ function hslToRgb(h, s, l) {
|
|
|
93
87
|
b * 255 | 0,
|
|
94
88
|
];
|
|
95
89
|
}
|
|
96
|
-
exports.hslToRgb = hslToRgb;
|
|
97
90
|
// ir/ig/ib = (input)r/g/b - done for the purpose of linting.
|
|
98
|
-
function rgbToXyz(ir, ig, ib) {
|
|
91
|
+
export function rgbToXyz(ir, ig, ib) {
|
|
99
92
|
let r = ir / 255;
|
|
100
93
|
let g = ig / 255;
|
|
101
94
|
let b = ib / 255;
|
|
@@ -110,9 +103,8 @@ function rgbToXyz(ir, ig, ib) {
|
|
|
110
103
|
const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
|
|
111
104
|
return [x, y, z];
|
|
112
105
|
}
|
|
113
|
-
exports.rgbToXyz = rgbToXyz;
|
|
114
106
|
// ix/iy/iz = (input)x/y/z
|
|
115
|
-
function xyzToCIELab(ix, iy, iz) {
|
|
107
|
+
export function xyzToCIELab(ix, iy, iz) {
|
|
116
108
|
const REF_X = 95.047;
|
|
117
109
|
const REF_Y = 100;
|
|
118
110
|
const REF_Z = 108.883;
|
|
@@ -127,13 +119,11 @@ function xyzToCIELab(ix, iy, iz) {
|
|
|
127
119
|
const b = 200 * (y - z);
|
|
128
120
|
return [L, a, b];
|
|
129
121
|
}
|
|
130
|
-
|
|
131
|
-
function rgbToCIELab(r, g, b) {
|
|
122
|
+
export function rgbToCIELab(r, g, b) {
|
|
132
123
|
const [x, y, z] = rgbToXyz(r, g, b);
|
|
133
124
|
return xyzToCIELab(x, y, z);
|
|
134
125
|
}
|
|
135
|
-
|
|
136
|
-
function deltaE94(lab1, lab2) {
|
|
126
|
+
export function deltaE94(lab1, lab2) {
|
|
137
127
|
const WEIGHT_L = 1;
|
|
138
128
|
const WEIGHT_C = 1;
|
|
139
129
|
const WEIGHT_H = 1;
|
|
@@ -157,44 +147,39 @@ function deltaE94(lab1, lab2) {
|
|
|
157
147
|
xDH /= WEIGHT_H * xSH;
|
|
158
148
|
return Math.sqrt(xDL * xDL + xDC * xDC + xDH * xDH);
|
|
159
149
|
}
|
|
160
|
-
|
|
161
|
-
function rgbDiff(rgb1, rgb2) {
|
|
150
|
+
export function rgbDiff(rgb1, rgb2) {
|
|
162
151
|
const lab1 = rgbToCIELab(...rgb1);
|
|
163
152
|
const lab2 = rgbToCIELab(...rgb2);
|
|
164
153
|
return deltaE94(lab1, lab2);
|
|
165
154
|
}
|
|
166
|
-
|
|
167
|
-
function hexDiff(hex1, hex2) {
|
|
155
|
+
export function hexDiff(hex1, hex2) {
|
|
168
156
|
const rgb1 = hexToRgb(hex1);
|
|
169
157
|
const rgb2 = hexToRgb(hex2);
|
|
170
158
|
return rgbDiff(rgb1, rgb2);
|
|
171
159
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (d < exports.DELTAE94_DIFF_STATUS.NA) {
|
|
160
|
+
export function getColorDiffStatus(d) {
|
|
161
|
+
if (d < DELTAE94_DIFF_STATUS.NA) {
|
|
175
162
|
return 'N/A';
|
|
176
163
|
}
|
|
177
164
|
// Not perceptible by human eyes
|
|
178
|
-
if (d <=
|
|
165
|
+
if (d <= DELTAE94_DIFF_STATUS.PERFECT) {
|
|
179
166
|
return 'Perfect';
|
|
180
167
|
}
|
|
181
168
|
// Perceptible through close observation
|
|
182
|
-
if (d <=
|
|
169
|
+
if (d <= DELTAE94_DIFF_STATUS.CLOSE) {
|
|
183
170
|
return 'Close';
|
|
184
171
|
}
|
|
185
172
|
// Perceptible at a glance
|
|
186
|
-
if (d <=
|
|
173
|
+
if (d <= DELTAE94_DIFF_STATUS.GOOD) {
|
|
187
174
|
return 'Good';
|
|
188
175
|
}
|
|
189
176
|
// Colors are more similar than opposite
|
|
190
|
-
if (d <
|
|
177
|
+
if (d < DELTAE94_DIFF_STATUS.SIMILAR) {
|
|
191
178
|
return 'Similar';
|
|
192
179
|
}
|
|
193
180
|
return 'Wrong';
|
|
194
181
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
return (r << (2 * exports.SIGBITS)) + (g << exports.SIGBITS) + b;
|
|
182
|
+
export function getColorIndex(r, g, b) {
|
|
183
|
+
return (r << (2 * SIGBITS)) + (g << SIGBITS) + b;
|
|
198
184
|
}
|
|
199
|
-
exports.getColorIndex = getColorIndex;
|
|
200
185
|
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/lib/vibrant.js
CHANGED
|
@@ -1,57 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (!
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
privateMap.set(receiver, value);
|
|
7
|
-
return value;
|
|
8
|
-
};
|
|
9
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
|
|
10
|
-
if (!privateMap.has(receiver)) {
|
|
11
|
-
throw new TypeError("attempted to get private field on non-instance");
|
|
12
|
-
}
|
|
13
|
-
return privateMap.get(receiver);
|
|
14
|
-
};
|
|
15
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
6
|
};
|
|
18
|
-
var
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
result["default"] = mod;
|
|
23
|
-
return result;
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
24
11
|
};
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
const color_1 = require("./color");
|
|
12
|
+
var _Vibrant_src;
|
|
13
|
+
import { Swatch } from './color';
|
|
28
14
|
// eslint-disable-next-line import/no-cycle
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
15
|
+
import Builder from './builder';
|
|
16
|
+
import * as Util from './util';
|
|
17
|
+
import QuantizerMMCQ from './quantizer';
|
|
18
|
+
import { Default as DefaultGenerator } from './generator';
|
|
33
19
|
// eslint-disable-next-line import/no-cycle
|
|
34
|
-
|
|
20
|
+
import * as Filters from './filter';
|
|
35
21
|
class Vibrant {
|
|
22
|
+
static from(src) {
|
|
23
|
+
return new Builder(src);
|
|
24
|
+
}
|
|
36
25
|
constructor(src, opts) {
|
|
37
|
-
|
|
38
|
-
__classPrivateFieldSet(this,
|
|
26
|
+
_Vibrant_src.set(this, void 0);
|
|
27
|
+
__classPrivateFieldSet(this, _Vibrant_src, src, "f");
|
|
39
28
|
this.opts = (Object.assign(Object.assign({}, Vibrant.DefaultOpts), opts));
|
|
40
29
|
this.opts.combinedFilter = Filters.combineFilters(this.opts.filters);
|
|
41
30
|
}
|
|
42
|
-
static from(src) {
|
|
43
|
-
return new builder_1.default(src);
|
|
44
|
-
}
|
|
45
31
|
process(image) {
|
|
46
32
|
const { quantizer, generator } = this.opts;
|
|
47
33
|
return image.applyFilter(this.opts.combinedFilter)
|
|
48
34
|
.then((imageData) => quantizer(imageData.data, this.opts))
|
|
49
|
-
.then((colors) =>
|
|
35
|
+
.then((colors) => Swatch.applyFilter(colors, this.opts.combinedFilter))
|
|
50
36
|
.then((colors) => Promise.resolve(generator(colors)));
|
|
51
37
|
}
|
|
52
38
|
getPalette(cb) {
|
|
53
39
|
const image = new this.opts.ImageClass();
|
|
54
|
-
const result = image.load(__classPrivateFieldGet(this,
|
|
40
|
+
const result = image.load(__classPrivateFieldGet(this, _Vibrant_src, "f"), this.opts)
|
|
55
41
|
.then((loadedImage) => this.process(loadedImage))
|
|
56
42
|
.then((palette) => {
|
|
57
43
|
const paletteResult = {
|
|
@@ -74,20 +60,20 @@ class Vibrant {
|
|
|
74
60
|
return result;
|
|
75
61
|
}
|
|
76
62
|
}
|
|
77
|
-
|
|
78
|
-
Vibrant.Builder =
|
|
79
|
-
Vibrant.Quantizer =
|
|
80
|
-
Vibrant.Generator =
|
|
63
|
+
_Vibrant_src = new WeakMap();
|
|
64
|
+
Vibrant.Builder = Builder;
|
|
65
|
+
Vibrant.Quantizer = QuantizerMMCQ;
|
|
66
|
+
Vibrant.Generator = DefaultGenerator;
|
|
81
67
|
Vibrant.Filter = Filters;
|
|
82
68
|
Vibrant.Util = Util;
|
|
83
|
-
Vibrant.Swatch =
|
|
69
|
+
Vibrant.Swatch = Swatch;
|
|
84
70
|
Vibrant.DefaultOpts = {
|
|
85
71
|
colorCount: 64,
|
|
86
72
|
quality: 5,
|
|
87
|
-
generator:
|
|
73
|
+
generator: DefaultGenerator,
|
|
88
74
|
ImageClass: null,
|
|
89
|
-
quantizer:
|
|
75
|
+
quantizer: QuantizerMMCQ,
|
|
90
76
|
filters: [Filters.Default],
|
|
91
77
|
};
|
|
92
|
-
|
|
78
|
+
export default Vibrant;
|
|
93
79
|
//# sourceMappingURL=vibrant.js.map
|
package/lib/vibrant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibrant.js","sourceRoot":"","sources":["../src/vibrant.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vibrant.js","sourceRoot":"","sources":["../src/vibrant.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livechart/sharp-vibrant",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Extract prominent colors from an image in a node environment using sharp.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@types/node": "^
|
|
9
|
-
"@types/sharp": "^0.
|
|
10
|
-
"sharp": "^0.
|
|
8
|
+
"@types/node": "^25.5.0",
|
|
9
|
+
"@types/sharp": "^0.32.0",
|
|
10
|
+
"sharp": "^0.34.5"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@types/chai": "^4.0.5",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"mocha": "^5.2.0",
|
|
27
27
|
"rimraf": "^2.6.1",
|
|
28
28
|
"table": "^5.1.0",
|
|
29
|
-
"ts-loader": "^5.
|
|
30
|
-
"ts-node": "^
|
|
31
|
-
"typescript": "^
|
|
29
|
+
"ts-loader": "^9.5.4",
|
|
30
|
+
"ts-node": "^10.9.2",
|
|
31
|
+
"typescript": "^6.0.2"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
34
|
"clean": "yarn run clean:node",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"test:node": "mocha --require ts-node/register src/test/**/*.spec.ts",
|
|
41
41
|
"sample:inspect": "cd fixtures/sample; yarn run start",
|
|
42
42
|
"sample:update": "cd fixtures/sample; yarn run update",
|
|
43
|
-
"prepublishOnly": "yarn run
|
|
43
|
+
"prepublishOnly": "yarn run build"
|
|
44
44
|
},
|
|
45
45
|
"repository": {
|
|
46
46
|
"type": "git",
|
package/src/index.ts
CHANGED
package/src/typing.ts
CHANGED
package/tsconfig.json
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
"lib": [
|
|
11
11
|
"es6"
|
|
12
12
|
],
|
|
13
|
-
"module": "
|
|
14
|
-
"moduleResolution": "
|
|
13
|
+
"module": "es2022",
|
|
14
|
+
"moduleResolution": "bundler",
|
|
15
15
|
"strict": true,
|
|
16
|
+
"rootDir": "./src",
|
|
16
17
|
"outDir": "lib",
|
|
17
|
-
"
|
|
18
|
-
"sourceMap": true,
|
|
18
|
+
"sourceMap": true
|
|
19
19
|
},
|
|
20
20
|
"include": [
|
|
21
21
|
"./src"
|
|
@@ -23,15 +23,5 @@
|
|
|
23
23
|
"exclude": [
|
|
24
24
|
"./src/test"
|
|
25
25
|
],
|
|
26
|
-
"import/resolver": {
|
|
27
|
-
"node": {
|
|
28
|
-
"extensions": [
|
|
29
|
-
".js",
|
|
30
|
-
".jsx",
|
|
31
|
-
".ts",
|
|
32
|
-
".tsx"
|
|
33
|
-
]
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
26
|
"compileOnSave": false
|
|
37
27
|
}
|