sharp-vibrant
Version:
Extract prominent colors from an image in a node environment using sharp.
82 lines • 2.79 kB
JavaScript
"use strict";
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to set private field on non-instance");
}
privateMap.set(receiver, value);
return value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to get private field on non-instance");
}
return privateMap.get(receiver);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _src, _opts;
Object.defineProperty(exports, "__esModule", { value: true });
// eslint-disable-next-line import/no-cycle
const vibrant_1 = __importDefault(require("./vibrant"));
class Builder {
constructor(src, opts = {}) {
_src.set(this, void 0);
_opts.set(this, void 0);
__classPrivateFieldSet(this, _src, src);
__classPrivateFieldSet(this, _opts, opts);
if (vibrant_1.default.DefaultOpts.filters) {
__classPrivateFieldGet(this, _opts).filters = [...vibrant_1.default.DefaultOpts.filters];
}
else {
__classPrivateFieldGet(this, _opts).filters = [];
}
}
maxColorCount(n) {
__classPrivateFieldGet(this, _opts).colorCount = n;
return this;
}
maxDimension(d) {
__classPrivateFieldGet(this, _opts).maxDimension = d;
return this;
}
addFilter(f) {
__classPrivateFieldGet(this, _opts).filters.push(f);
return this;
}
removeFilter(f) {
const i = __classPrivateFieldGet(this, _opts).filters.indexOf(f);
if (i > 0)
__classPrivateFieldGet(this, _opts).filters.splice(i);
return this;
}
clearFilters() {
__classPrivateFieldGet(this, _opts).filters = [];
return this;
}
quality(q) {
__classPrivateFieldGet(this, _opts).quality = q;
return this;
}
useImageClass(imageClass) {
__classPrivateFieldGet(this, _opts).ImageClass = imageClass;
return this;
}
useGenerator(generator) {
__classPrivateFieldGet(this, _opts).generator = generator;
return this;
}
useQuantizer(quantizer) {
__classPrivateFieldGet(this, _opts).quantizer = quantizer;
return this;
}
build() {
return new vibrant_1.default(__classPrivateFieldGet(this, _src), __classPrivateFieldGet(this, _opts));
}
getPalette(cb) {
return this.build().getPalette(cb);
}
}
exports.default = Builder;
_src = new WeakMap(), _opts = new WeakMap();
//# sourceMappingURL=builder.js.map