@palett/fluo-vector
Advanced tools
Comparing version 0.5.13 to 0.6.0
@@ -10,2 +10,4 @@ 'use strict'; | ||
const oneself = x => x; | ||
/** | ||
@@ -68,50 +70,53 @@ * | ||
// export const | ||
// FUNC = '', | ||
// PIGM = '', | ||
// HEX = '' | ||
const MAKER = 'maker', | ||
RENDER = 'render', | ||
COLOR = 'color'; | ||
/** | ||
* @typedef {Object} FluoSetting | ||
* @typedef {{min:string,max:string,na:string}} FluoSetting.preset | ||
* @typedef {string[]} FluoSetting.effects | ||
* @typedef {Function} FluoSetting.filter | ||
* @typedef {Function} FluoSetting.mapper | ||
* | ||
* @typedef {Object} PresetAndConfig | ||
* @typedef {string} PresetAndConfig.max | ||
* @typedef {string} PresetAndConfig.min | ||
* @typedef {string} PresetAndConfig.na | ||
* @typedef {Function} PresetAndConfig.mapper | ||
* @typedef {Function} PresetAndConfig.filter | ||
* | ||
* @param vec | ||
* @param {PresetAndConfig|PresetAndConfig[]} [presets] | ||
* @param {string[]} [effects] | ||
* @param {*[]} vec | ||
* @param {FluoSetting[]} configs | ||
* @returns {*[]} | ||
*/ | ||
const fluoVector = function (vec, { | ||
presets, | ||
effects | ||
} = {}) { | ||
const fluoVector = function (vec, configs) { | ||
if (!(vec !== null && vec !== void 0 && vec.length)) return []; | ||
const colorant = this === null || this === void 0 ? void 0 : this.colorant, | ||
mutate = this === null || this === void 0 ? void 0 : this.mutate; | ||
const [[bovecX, projX], [bovecY, projY]] = makeProjector(vec, presets, effects); | ||
const mapper = mutate ? vectorMapper.mutate : vectorMapper.mapper; | ||
if (colorant === 'hex') return mapper(vec, PointColorFactory.color(bovecX, projX, bovecY, projY)); | ||
return colorant ? mapper(vec, PointColorFactory.maker(bovecX, projX, bovecY, projY)) : mapper(vec, PointColorFactory.render(bovecX, projX, bovecY, projY)); | ||
}; | ||
const projectorSet = makeProjector(vec, configs); | ||
const mapper = this !== null && this !== void 0 && this.mutate ? vectorMapper.mutate : vectorMapper.mapper; | ||
const makeProjector = (vec, presets, effects) => { | ||
if (Array.isArray(presets)) { | ||
const [presetX, presetY] = presets; | ||
const [bovecX, bovecY] = boundVector.duobound(vec, presets); | ||
const projX = projector.ProjectorFactory.build(bovecX, presetX, effects), | ||
projY = projector.ProjectorFactory.build(bovecY, presetY, effects); | ||
return [[bovecX, projX], [bovecY, projY]]; | ||
} else { | ||
const preset = presets; | ||
const bovec = boundVector.solebound(vec, preset); | ||
const proj = projector.ProjectorFactory.build(bovec, preset, effects); | ||
return [[bovec, proj], [undefined, undefined]]; | ||
switch (this === null || this === void 0 ? void 0 : this.colorant) { | ||
case COLOR: | ||
return mapper(vec, PointColorFactory.color(projectorSet)); | ||
case MAKER: | ||
return mapper(vec, PointColorFactory.maker(projectorSet)); | ||
case RENDER: | ||
default: | ||
return mapper(vec, PointColorFactory.render(projectorSet)); | ||
} | ||
}; | ||
const makeProjector = (vec, configs) => { | ||
const [confX, confY] = configs; | ||
const [vecX, vecY] = boundVector.boundaries(vec, configs); | ||
const [projX, projY] = [projector.ProjectorFactory.build(vecX, confX), projector.ProjectorFactory.build(vecY, confY)]; | ||
return [[vecX, projX], [vecY, projY]]; | ||
}; | ||
class PointColorFactory { | ||
static color(bX, pX, bY, pY) { | ||
function toColor(some) { | ||
var _some; | ||
static color([[bX, pX], [bY, pY]]) { | ||
function toColor(hsl) { | ||
var _hsl; | ||
return some ? (_some = some, hslToHex(_some)) : null; | ||
return hsl ? (_hsl = hsl, hslToHex(_hsl)) : null; | ||
} | ||
@@ -138,4 +143,6 @@ | ||
static maker(bX, pX, bY, pY) { | ||
static maker([[bX, pX], [bY, pY]]) { | ||
return (_, i) => { | ||
var _pX$make; | ||
let v; | ||
@@ -151,8 +158,10 @@ | ||
return pX.make(pX.na); | ||
return (_pX$make = pX === null || pX === void 0 ? void 0 : pX.make(pX.na)) !== null && _pX$make !== void 0 ? _pX$make : oneself; | ||
}; | ||
} | ||
static render(bX, pX, bY, pY) { | ||
static render([[bX, pX], [bY, pY]]) { | ||
return (n, i) => { | ||
var _pX$render; | ||
let v; | ||
@@ -168,3 +177,3 @@ | ||
return pX.render(pX.na, n); | ||
return (_pX$render = pX === null || pX === void 0 ? void 0 : pX.render(pX.na, n)) !== null && _pX$render !== void 0 ? _pX$render : n; | ||
}; | ||
@@ -171,0 +180,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { duobound, solebound } from '@aryth/bound-vector'; | ||
import { boundaries } from '@aryth/bound-vector'; | ||
import { ProjectorFactory } from '@palett/projector'; | ||
@@ -6,2 +6,4 @@ import { nullish } from '@typen/nullish'; | ||
const oneself = x => x; | ||
/** | ||
@@ -64,50 +66,53 @@ * | ||
// export const | ||
// FUNC = '', | ||
// PIGM = '', | ||
// HEX = '' | ||
const MAKER = 'maker', | ||
RENDER = 'render', | ||
COLOR = 'color'; | ||
/** | ||
* @typedef {Object} FluoSetting | ||
* @typedef {{min:string,max:string,na:string}} FluoSetting.preset | ||
* @typedef {string[]} FluoSetting.effects | ||
* @typedef {Function} FluoSetting.filter | ||
* @typedef {Function} FluoSetting.mapper | ||
* | ||
* @typedef {Object} PresetAndConfig | ||
* @typedef {string} PresetAndConfig.max | ||
* @typedef {string} PresetAndConfig.min | ||
* @typedef {string} PresetAndConfig.na | ||
* @typedef {Function} PresetAndConfig.mapper | ||
* @typedef {Function} PresetAndConfig.filter | ||
* | ||
* @param vec | ||
* @param {PresetAndConfig|PresetAndConfig[]} [presets] | ||
* @param {string[]} [effects] | ||
* @param {*[]} vec | ||
* @param {FluoSetting[]} configs | ||
* @returns {*[]} | ||
*/ | ||
const fluoVector = function (vec, { | ||
presets, | ||
effects | ||
} = {}) { | ||
const fluoVector = function (vec, configs) { | ||
if (!(vec !== null && vec !== void 0 && vec.length)) return []; | ||
const colorant = this === null || this === void 0 ? void 0 : this.colorant, | ||
mutate$1 = this === null || this === void 0 ? void 0 : this.mutate; | ||
const [[bovecX, projX], [bovecY, projY]] = makeProjector(vec, presets, effects); | ||
const mapper$1 = mutate$1 ? mutate : mapper; | ||
if (colorant === 'hex') return mapper$1(vec, PointColorFactory.color(bovecX, projX, bovecY, projY)); | ||
return colorant ? mapper$1(vec, PointColorFactory.maker(bovecX, projX, bovecY, projY)) : mapper$1(vec, PointColorFactory.render(bovecX, projX, bovecY, projY)); | ||
}; | ||
const projectorSet = makeProjector(vec, configs); | ||
const mapper$1 = this !== null && this !== void 0 && this.mutate ? mutate : mapper; | ||
const makeProjector = (vec, presets, effects) => { | ||
if (Array.isArray(presets)) { | ||
const [presetX, presetY] = presets; | ||
const [bovecX, bovecY] = duobound(vec, presets); | ||
const projX = ProjectorFactory.build(bovecX, presetX, effects), | ||
projY = ProjectorFactory.build(bovecY, presetY, effects); | ||
return [[bovecX, projX], [bovecY, projY]]; | ||
} else { | ||
const preset = presets; | ||
const bovec = solebound(vec, preset); | ||
const proj = ProjectorFactory.build(bovec, preset, effects); | ||
return [[bovec, proj], [undefined, undefined]]; | ||
switch (this === null || this === void 0 ? void 0 : this.colorant) { | ||
case COLOR: | ||
return mapper$1(vec, PointColorFactory.color(projectorSet)); | ||
case MAKER: | ||
return mapper$1(vec, PointColorFactory.maker(projectorSet)); | ||
case RENDER: | ||
default: | ||
return mapper$1(vec, PointColorFactory.render(projectorSet)); | ||
} | ||
}; | ||
const makeProjector = (vec, configs) => { | ||
const [confX, confY] = configs; | ||
const [vecX, vecY] = boundaries(vec, configs); | ||
const [projX, projY] = [ProjectorFactory.build(vecX, confX), ProjectorFactory.build(vecY, confY)]; | ||
return [[vecX, projX], [vecY, projY]]; | ||
}; | ||
class PointColorFactory { | ||
static color(bX, pX, bY, pY) { | ||
function toColor(some) { | ||
var _some; | ||
static color([[bX, pX], [bY, pY]]) { | ||
function toColor(hsl) { | ||
var _hsl; | ||
return some ? (_some = some, hslToHex(_some)) : null; | ||
return hsl ? (_hsl = hsl, hslToHex(_hsl)) : null; | ||
} | ||
@@ -134,4 +139,6 @@ | ||
static maker(bX, pX, bY, pY) { | ||
static maker([[bX, pX], [bY, pY]]) { | ||
return (_, i) => { | ||
var _pX$make; | ||
let v; | ||
@@ -147,8 +154,10 @@ | ||
return pX.make(pX.na); | ||
return (_pX$make = pX === null || pX === void 0 ? void 0 : pX.make(pX.na)) !== null && _pX$make !== void 0 ? _pX$make : oneself; | ||
}; | ||
} | ||
static render(bX, pX, bY, pY) { | ||
static render([[bX, pX], [bY, pY]]) { | ||
return (n, i) => { | ||
var _pX$render; | ||
let v; | ||
@@ -164,3 +173,3 @@ | ||
return pX.render(pX.na, n); | ||
return (_pX$render = pX === null || pX === void 0 ? void 0 : pX.render(pX.na, n)) !== null && _pX$render !== void 0 ? _pX$render : n; | ||
}; | ||
@@ -167,0 +176,0 @@ } |
{ | ||
"name": "@palett/fluo-vector", | ||
"version": "0.5.13", | ||
"version": "0.6.0", | ||
"description": "A colorant to string", | ||
@@ -19,6 +19,6 @@ "main": "dist/index.cjs.js", | ||
"dependencies": { | ||
"@aryth/bound-vector": "^0.3.6", | ||
"@palett/presets": "^0.5.13", | ||
"@palett/projector": "^0.5.13", | ||
"@typen/nullish": "^0.1.15", | ||
"@aryth/bound-vector": "^0.3.10", | ||
"@palett/presets": "^0.6.0", | ||
"@palett/projector": "^0.6.0", | ||
"@typen/nullish": "^0.1.16", | ||
"@vect/vector-mapper": "^0.3.6" | ||
@@ -44,3 +44,3 @@ }, | ||
"homepage": "https://github.com/hoyeungw/palett/fluo-vector#readme", | ||
"gitHead": "f068f917232094727d071762c789d8df18dac675" | ||
"gitHead": "7090eaa06acd7479d1af0450344558ef28a191e7" | ||
} |
272
11831
+ Added@palett/cards@0.6.3(transitive)
+ Added@palett/convert@0.6.3(transitive)
+ Added@palett/dye@0.6.3(transitive)
+ Added@palett/enum-color-space@0.6.3(transitive)
+ Added@palett/presets@0.6.3(transitive)
+ Added@palett/projector@0.6.3(transitive)
+ Added@palett/toner-hsl@0.6.3(transitive)
+ Added@palett/util-ansi@0.6.3(transitive)
- Removed@palett/cards@0.5.13(transitive)
- Removed@palett/convert@0.5.13(transitive)
- Removed@palett/dye@0.5.13(transitive)
- Removed@palett/enum-color-space@0.5.13(transitive)
- Removed@palett/presets@0.5.13(transitive)
- Removed@palett/projector@0.5.13(transitive)
- Removed@palett/toner-hsl@0.5.13(transitive)
- Removed@palett/util-ansi@0.5.13(transitive)
Updated@aryth/bound-vector@^0.3.10
Updated@palett/presets@^0.6.0
Updated@palett/projector@^0.6.0
Updated@typen/nullish@^0.1.16