color-map 1.1.4 → 2.0.0

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/cjs/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA8B;AAC9B,wDAAqC;AACrC,+CAA4B;AAC5B,2CAAwB;AACxB,+CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,wDAAqC;AACrC,+CAA4B;AAC5B,2CAAwB;AACxB,+CAA4B"}
@@ -1,2 +1,2 @@
1
- var ColorMap;(()=>{"use strict";var e={938:function(e,r){var t=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var o,n=0,a=r.length;n<a;n++)!o&&n in r||(o||(o=Array.prototype.slice.call(r,0,n)),o[n]=r[n]);return e.concat(o||Array.prototype.slice.call(r))};Object.defineProperty(r,"__esModule",{value:!0}),r.createColors=void 0,r.createColors=function(e,r,o,n){void 0===n&&(n=[4===e.length?e[3]:4===r.length?r[3]:1,4===r.length?r[3]:4===e.length?e[3]:1]);var a=t([],e,!0),i=[r[0]-e[0],r[1]-e[1],r[2]-e[2],n[1]-n[0]];3===a.length&&a.push(n[0]);for(var l=1/Math.max(o-1,1),u=[],c=0;c<o;c++){var s=[Math.round(a[0]+c*i[0]*l),Math.round(a[1]+c*i[1]*l),Math.round(a[2]+c*i[2]*l),a[3]+c*i[3]*l];u.push(s)}return u}},879:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createColorsFromMap=void 0;var o=t(938);r.createColorsFromMap=function(e,r,t){if(r<e.length)throw new Error("Requires at least ".concat(e.length," shades."));for(var n=[],a=[],i=0;i<e.length;i++)a.push(Math.round(e[i].index*r));for(i=0;i<e.length-1;i++){var l=a[i+1]-a[i],u=e[i].rgb,c=e[i+1].rgb;n.push.apply(n,(0,o.createColors)(u,c,l,t))}return n}},403:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t),Object.defineProperty(e,o,{enumerable:!0,get:function(){return r[t]}})}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),n=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),n(t(938),r),n(t(879),r),n(t(676),r),n(t(140),r),n(t(0),r)},676:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0})},140:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.rgbHex=void 0,r.rgbHex=function(e){for(var r,t="#",o=0;o<3;o++)t+=(void 0,(r=(+e[o]).toString(16)).length<2?"0"+r:r);return t}},0:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.rgbaString=void 0,r.rgbaString=function(e){return"rgba("+e.join(",")+")"}}},r={},t=function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={exports:{}};return e[o].call(a.exports,a,a.exports,t),a.exports}(403);ColorMap=t})();
1
+ var ColorMap;(()=>{"use strict";var e={938:function(e,r){var t=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var o,n=0,a=r.length;n<a;n++)!o&&n in r||(o||(o=Array.prototype.slice.call(r,0,n)),o[n]=r[n]);return e.concat(o||Array.prototype.slice.call(r))};Object.defineProperty(r,"__esModule",{value:!0}),r.createColors=void 0,r.createColors=function(e,r,o,n){void 0===n&&(n=[4===e.length?e[3]:4===r.length?r[3]:1,4===r.length?r[3]:4===e.length?e[3]:1]);var a=t([],e,!0),i=[r[0]-e[0],r[1]-e[1],r[2]-e[2],n[1]-n[0]];3===a.length&&a.push(n[0]);for(var l=1/Math.max(o-1,1),u=[],c=0;c<o;c++){var s=[Math.round(a[0]+c*i[0]*l),Math.round(a[1]+c*i[1]*l),Math.round(a[2]+c*i[2]*l),a[3]+c*i[3]*l];u.push(s)}return u}},879:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createColorsFromMap=void 0;var o=t(938);r.createColorsFromMap=function(e,r,t){if(r<e.length)throw new Error("Requires at least ".concat(e.length," shades."));for(var n=[],a=[],i=0;i<e.length;i++)a.push(Math.round(e[i].index*r));for(i=0;i<e.length-1;i++){var l=a[i+1]-a[i],u=e[i].rgb,c=e[i+1].rgb;n.push.apply(n,(0,o.createColors)(u,c,l,t))}return n}},403:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),n=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),n(t(938),r),n(t(879),r),n(t(676),r),n(t(140),r),n(t(0),r)},676:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0})},140:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.rgbHex=void 0,r.rgbHex=function(e){for(var r,t="#",o=0;o<3;o++)t+=(void 0,(r=(+e[o]).toString(16)).length<2?"0"+r:r);return t}},0:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.rgbaString=void 0,r.rgbaString=function(e){return"rgba("+e.join(",")+")"}}},r={},t=function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={exports:{}};return e[o].call(a.exports,a,a.exports,t),a.exports}(403);ColorMap=t})();
2
2
  //# sourceMappingURL=color-map.es5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-map.es5.js","mappings":"gWAEA,wBACEA,EACAC,EACAC,EACAC,QAAA,IAAAA,IAAAA,EAAA,CACkB,IAAhBH,EAAKI,OAAeJ,EAAK,GAAmB,IAAdC,EAAGG,OAAeH,EAAG,GAAK,EAC1C,IAAdA,EAAGG,OAAeH,EAAG,GAAqB,IAAhBD,EAAKI,OAAeJ,EAAK,GAAK,IAE1D,IAAMK,EAAQ,EAAH,GAAOL,GAAI,GAChBM,EAAO,CACXL,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbG,EAAM,GAAKA,EAAM,IAGE,IAAjBE,EAAMD,QACRC,EAAME,KAAKJ,EAAM,IAKnB,IAHA,IAAMK,EAAM,EAAIC,KAAKC,IAAIR,EAAS,EAAG,GAE/BS,EAAc,GACXC,EAAI,EAAGA,EAAIV,EAAQU,IAAK,CAC/B,IAAMC,EAAQ,CACZJ,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCC,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCC,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCH,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GAE3BG,EAAKJ,KAAKM,GAEZ,OAAOF,I,4FCjCT,aAMA,+BAAoCI,EAAoBb,EAAgBC,GACtE,GAAID,EAASa,EAASX,OACpB,MAAM,IAAIY,MAAM,4BAAqBD,EAASX,OAAM,aAKtD,IAFA,IAAMa,EAAiB,GACjBC,EAAkB,GACfN,EAAI,EAAGA,EAAIG,EAASX,OAAQQ,IACnCM,EAAMX,KAAKE,KAAKK,MAAMC,EAASH,GAAGO,MAAQjB,IAG5C,IAASU,EAAI,EAAGA,EAAIG,EAASX,OAAS,EAAGQ,IAAK,CAC5C,IAAMQ,EAAIF,EAAMN,EAAI,GAAKM,EAAMN,GACzBZ,EAAOe,EAASH,GAAGS,IACnBpB,EAAKc,EAASH,EAAI,GAAGS,IAC3BJ,EAAOV,KAAI,MAAXU,GAAe,IAAAK,cAAatB,EAAMC,EAAImB,EAAGjB,IAG3C,OAAOc,I,8YCxBT,YACA,YACA,YACA,YACA,W,2ICEA,kBAAuBI,GAErB,IADA,IAQME,EARFC,EAAM,IACDZ,EAAI,EAAGA,EAAI,EAAGA,IACrBY,SAMID,GAAAA,IANOF,EAAIT,IAMFa,SAAS,KACfrB,OAAS,EAAI,IAAMmB,EAAIA,GALhC,OAAOC,I,+ECTT,sBAA2Bb,GACzB,MAAO,QAAUA,EAAKe,KAAK,KAAO,OCFhCC,EAA2B,GCE3BC,EDCJ,SAASC,EAAoBC,GAE5B,IAAIC,EAAeJ,EAAyBG,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASP,EAAyBG,GAAY,CAGjDG,QAAS,IAOV,OAHAE,EAAoBL,GAAUM,KAAKF,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,QClBWJ,CAAoB,K","sources":["webpack://ColorMap/./ts/createColors.ts","webpack://ColorMap/./ts/createColorsFromMap.ts","webpack://ColorMap/./ts/index.ts","webpack://ColorMap/./ts/rgbHex.ts","webpack://ColorMap/./ts/rgbaString.ts","webpack://ColorMap/webpack/bootstrap","webpack://ColorMap/webpack/startup"],"sourcesContent":["import { RGB, RGBA, Alpha } from './interfaces'\n\nexport function createColors(\n from: RGB | RGBA,\n to: RGB | RGBA,\n shades: number,\n alpha: Alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n ]): RGBA[] {\n const start = [...from]\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ]\n\n if (start.length === 3)\n start.push(alpha[0])\n\n const inc = 1 / Math.max(shades - 1, 1)\n\n const rgba: any[] = []\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ]\n rgba.push(color)\n }\n return rgba\n}\n","import { createColors } from './createColors'\nimport { ColorMap, Alpha, RGBA } from './interfaces'\n\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap: ColorMap, shades: number, alpha?: Alpha): RGBA[] {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`)\n }\n\n const result: RGBA[] = []\n const steps: number[] = []\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades))\n }\n\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i]\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha))\n }\n\n return result\n}\n","export * from './createColors'\nexport * from './createColorsFromMap'\nexport * from './interfaces'\nexport * from './rgbHex'\nexport * from './rgbaString'\n","import { RGB, RGBA } from './interfaces'\n\n/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb: RGB | RGBA) {\n let hex = '#'\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i])\n }\n return hex\n}\n\nfunction d2h(d: number) {\n const s = (+d).toString(16)\n return s.length < 2 ? '0' + s : s\n}\n","import { RGBA } from './interfaces'\n\nexport function rgbaString(rgba: RGBA) {\n return 'rgba(' + rgba.join(',') + ')';\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(403);\n"],"names":["from","to","shades","alpha","length","start","diff","push","inc","Math","max","rgba","i","color","round","colormap","Error","result","steps","index","n","rgb","createColors","s","hex","toString","join","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call"],"sourceRoot":""}
1
+ {"version":3,"file":"color-map.es5.js","mappings":"gWAEA,wBACEA,EACAC,EACAC,EACAC,QAAA,IAAAA,IAAAA,EAAA,CACkB,IAAhBH,EAAKI,OAAeJ,EAAK,GAAmB,IAAdC,EAAGG,OAAeH,EAAG,GAAK,EAC1C,IAAdA,EAAGG,OAAeH,EAAG,GAAqB,IAAhBD,EAAKI,OAAeJ,EAAK,GAAK,IAE1D,IAAMK,EAAQ,EAAH,GAAOL,GAAI,GAChBM,EAAO,CACXL,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbG,EAAM,GAAKA,EAAM,IAGE,IAAjBE,EAAMD,QACRC,EAAME,KAAKJ,EAAM,IAKnB,IAHA,IAAMK,EAAM,EAAIC,KAAKC,IAAIR,EAAS,EAAG,GAE/BS,EAAc,GACXC,EAAI,EAAGA,EAAIV,EAAQU,IAAK,CAC/B,IAAMC,EAAQ,CACZJ,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCC,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCC,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCH,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GAE3BG,EAAKJ,KAAKM,GAEZ,OAAOF,I,4FCjCT,aAMA,+BAAoCI,EAAoBb,EAAgBC,GACtE,GAAID,EAASa,EAASX,OACpB,MAAM,IAAIY,MAAM,4BAAqBD,EAASX,OAAM,aAKtD,IAFA,IAAMa,EAAiB,GACjBC,EAAkB,GACfN,EAAI,EAAGA,EAAIG,EAASX,OAAQQ,IACnCM,EAAMX,KAAKE,KAAKK,MAAMC,EAASH,GAAGO,MAAQjB,IAG5C,IAASU,EAAI,EAAGA,EAAIG,EAASX,OAAS,EAAGQ,IAAK,CAC5C,IAAMQ,EAAIF,EAAMN,EAAI,GAAKM,EAAMN,GACzBZ,EAAOe,EAASH,GAAGS,IACnBpB,EAAKc,EAASH,EAAI,GAAGS,IAC3BJ,EAAOV,KAAI,MAAXU,GAAe,IAAAK,cAAatB,EAAMC,EAAImB,EAAGjB,IAG3C,OAAOc,I,yfCxBT,YACA,YACA,YACA,YACA,W,2ICEA,kBAAuBI,GAErB,IADA,IAQME,EARFC,EAAM,IACDZ,EAAI,EAAGA,EAAI,EAAGA,IACrBY,SAMID,GAAAA,IANOF,EAAIT,IAMFa,SAAS,KACfrB,OAAS,EAAI,IAAMmB,EAAIA,GALhC,OAAOC,I,+ECTT,sBAA2Bb,GACzB,MAAO,QAAUA,EAAKe,KAAK,KAAO,OCFhCC,EAA2B,GCE3BC,EDCJ,SAASC,EAAoBC,GAE5B,IAAIC,EAAeJ,EAAyBG,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASP,EAAyBG,GAAY,CAGjDG,QAAS,IAOV,OAHAE,EAAoBL,GAAUM,KAAKF,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,QClBWJ,CAAoB,K","sources":["webpack://ColorMap/./ts/createColors.ts","webpack://ColorMap/./ts/createColorsFromMap.ts","webpack://ColorMap/./ts/index.ts","webpack://ColorMap/./ts/rgbHex.ts","webpack://ColorMap/./ts/rgbaString.ts","webpack://ColorMap/webpack/bootstrap","webpack://ColorMap/webpack/startup"],"sourcesContent":["import { RGB, RGBA, Alpha } from './interfaces'\n\nexport function createColors(\n from: RGB | RGBA,\n to: RGB | RGBA,\n shades: number,\n alpha: Alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n ]): RGBA[] {\n const start = [...from]\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ]\n\n if (start.length === 3)\n start.push(alpha[0])\n\n const inc = 1 / Math.max(shades - 1, 1)\n\n const rgba: any[] = []\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ]\n rgba.push(color)\n }\n return rgba\n}\n","import { createColors } from './createColors'\nimport { ColorMap, Alpha, RGBA } from './interfaces'\n\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap: ColorMap, shades: number, alpha?: Alpha): RGBA[] {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`)\n }\n\n const result: RGBA[] = []\n const steps: number[] = []\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades))\n }\n\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i]\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha))\n }\n\n return result\n}\n","export * from './createColors'\nexport * from './createColorsFromMap'\nexport * from './interfaces'\nexport * from './rgbHex'\nexport * from './rgbaString'\n","import { RGB, RGBA } from './interfaces'\n\n/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb: RGB | RGBA) {\n let hex = '#'\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i])\n }\n return hex\n}\n\nfunction d2h(d: number) {\n const s = (+d).toString(16)\n return s.length < 2 ? '0' + s : s\n}\n","import { RGBA } from './interfaces'\n\nexport function rgbaString(rgba: RGBA) {\n return 'rgba(' + rgba.join(',') + ')';\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(403);\n"],"names":["from","to","shades","alpha","length","start","diff","push","inc","Math","max","rgba","i","color","round","colormap","Error","result","steps","index","n","rgb","createColors","s","hex","toString","join","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "color-map",
3
- "version": "1.1.4",
3
+ "version": "2.0.0",
4
4
  "description": "Color map generator",
5
5
  "homepage": "https://github.com/unional/color-map",
6
6
  "bugs": {
@@ -15,73 +15,93 @@
15
15
  "name": "Homa Wong (unional)",
16
16
  "email": "homawong@gmail.com"
17
17
  },
18
- "main": "cjs/index.js",
19
- "module": "esm/index.js",
20
- "jsnext:main": "esm/index.js",
21
- "typings": "cjs/index.d.ts",
18
+ "type": "module",
19
+ "exports": {
20
+ "import": "./esm/index.js"
21
+ },
22
+ "types": "./esm/index.d.ts",
22
23
  "files": [
23
24
  "cjs",
24
25
  "dist",
25
26
  "esm",
26
- "ts"
27
+ "ts",
28
+ "!ts/**/*.spec.ts"
27
29
  ],
28
30
  "scripts": {
29
- "build": "run-p build:cjs build:esm bundle",
31
+ "build": "run-p build:cjs build:esm build:tslib bundle",
30
32
  "build:cjs": "tsc -p tsconfig.cjs.json",
31
33
  "build:esm": "tsc -p tsconfig.esm.json",
32
- "build:verify": "run-s build dependency-check size-limit",
34
+ "build:tslib": "tsc -p tsconfig.tslib.json",
33
35
  "bundle": "webpack",
34
- "clean": "rimraf cjs esm lib libm",
36
+ "clean": "rimraf cjs coverage esm lib libm && mkdir cjs && echo '{\"type\":\"commonjs\"}' > cjs/package.json || true",
35
37
  "coverage": "jest --coverage",
36
- "dependency-check": "run-p dependency-check:unused dependency-check:missing",
37
- "dependency-check:missing": "dependency-check . --missing --no-dev",
38
- "dependency-check:unused": "dependency-check . --unused --no-dev",
38
+ "depcheck": "depcheck",
39
39
  "lint": "eslint --ext=js,ts .",
40
- "prepublishOnly": "yarn build",
41
- "release": "npx semantic-release",
42
- "size-limit": "size-limit",
40
+ "nuke": "yarn clean && rimraf node_modules",
41
+ "_postinstall": "husky install",
42
+ "prepack": "pinst --disable",
43
+ "postpack": "pinst --enable",
44
+ "size": "size-limit",
43
45
  "test": "jest",
44
- "verify": "run-p build:verify lint coverage",
46
+ "verify": "npm-run-all clean -p build depcheck lint coverage -p size",
45
47
  "watch": "jest --watch"
46
48
  },
47
49
  "devDependencies": {
48
- "@babel/core": "^7.16.0",
49
- "@babel/plugin-proposal-class-properties": "^7.16.0",
50
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
51
- "@babel/plugin-proposal-optional-chaining": "^7.16.0",
52
- "@babel/preset-env": "^7.16.4",
53
- "@babel/preset-typescript": "^7.16.0",
54
- "@commitlint/cli": "^16.0.0",
55
- "@commitlint/config-conventional": "^16.0.0",
56
- "@size-limit/preset-small-lib": "^7.0.5",
57
- "@types/jest": "^27.4.0",
58
- "assertron": "^9.0.0",
59
- "colormap": "^2.3.1",
60
- "dependency-check": "^4.1.0",
61
- "eslint": "^8.6.0",
62
- "eslint-plugin-harmony": "^6.0.0",
63
- "husky": "^7.0.4",
64
- "jest": "^27.4.5",
65
- "jest-junit": "^13.0.0",
66
- "jest-progress-tracker": "^3.0.1",
67
- "jest-validate": "^27.4.2",
50
+ "@babel/core": "^7.18.2",
51
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
52
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
53
+ "@babel/plugin-proposal-optional-chaining": "^7.17.12",
54
+ "@babel/preset-env": "^7.18.2",
55
+ "@babel/preset-typescript": "^7.17.12",
56
+ "@commitlint/cli": "^17.0.2",
57
+ "@commitlint/config-conventional": "^17.0.2",
58
+ "@semantic-release/changelog": "^6.0.1",
59
+ "@semantic-release/git": "^10.0.1",
60
+ "@semantic-release/github": "^8.0.4",
61
+ "@semantic-release/npm": "^9.0.1",
62
+ "@size-limit/preset-small-lib": "^7.0.8",
63
+ "@types/jest": "^28.1.1",
64
+ "@typescript-eslint/eslint-plugin": "^5.27.1",
65
+ "assertron": "^9.2.4",
66
+ "colormap": "^2.3.2",
67
+ "depcheck": "^1.4.3",
68
+ "eslint": "^8.17.0",
69
+ "eslint-plugin-harmony": "^7.1.0",
70
+ "husky": "^8.0.1",
71
+ "jest": "^28.1.1",
72
+ "jest-junit": "^13.2.0",
73
+ "jest-progress-tracker": "^3.0.4",
74
+ "jest-validate": "^28.1.1",
68
75
  "jest-watch-repeat": "^2.0.0",
69
76
  "jest-watch-suspend": "^1.1.2",
70
77
  "jest-watch-toggle-config": "^2.0.1",
71
- "jest-watch-typeahead": "^1.0.0",
78
+ "jest-watch-typeahead": "^1.1.0",
72
79
  "npm-run-all": "^4.1.5",
73
- "param-case": "^2.1.1",
74
- "pascal-case": "^2.0.1",
80
+ "param-case": "^3.0.4",
81
+ "pascal-case": "^3.1.2",
82
+ "pinst": "^3.0.0",
75
83
  "rimraf": "^3.0.2",
76
- "size-limit": "^7.0.5",
77
- "ts-loader": "^9.0.0",
78
- "typescript": "^4.5.4",
79
- "webpack": "^5.0.0",
80
- "webpack-cli": "^3.3.2"
84
+ "semantic-release": "^19.0.2",
85
+ "size-limit": "^7.0.8",
86
+ "ts-loader": "^9.3.0",
87
+ "tslib": "^2.4.0",
88
+ "typescript": "^4.7.3",
89
+ "webpack": "^5.73.0",
90
+ "webpack-cli": "^4.9.2"
81
91
  },
92
+ "packageManager": "yarn@3.2.1",
82
93
  "size-limit": [
83
94
  {
95
+ "path": "./cjs/index.js",
96
+ "limit": "2 KB"
97
+ },
98
+ {
99
+ "path": "./esm/index.js",
84
100
  "limit": "2 KB"
101
+ },
102
+ {
103
+ "path": "./tslib/index.js",
104
+ "limit": "5 KB"
85
105
  }
86
106
  ]
87
107
  }
@@ -1,176 +0,0 @@
1
- import t from 'assert';
2
- import { createColors } from '.';
3
-
4
- test('match colormap output', () => {
5
- const actual = createColors([0, 0, 255], [0, 255, 128], 72)
6
-
7
- expect(actual).toEqual([
8
- [0, 0, 255, 1],
9
- [0, 4, 253, 1],
10
- [0, 7, 251, 1],
11
- [0, 11, 250, 1],
12
- [0, 14, 248, 1],
13
- [0, 18, 246, 1],
14
- [0, 22, 244, 1],
15
- [0, 25, 242, 1],
16
- [0, 29, 241, 1],
17
- [0, 32, 239, 1],
18
- [0, 36, 237, 1],
19
- [0, 40, 235, 1],
20
- [0, 43, 234, 1],
21
- [0, 47, 232, 1],
22
- [0, 50, 230, 1],
23
- [0, 54, 228, 1],
24
- [0, 57, 226, 1],
25
- [0, 61, 225, 1],
26
- [0, 65, 223, 1],
27
- [0, 68, 221, 1],
28
- [0, 72, 219, 1],
29
- [0, 75, 217, 1],
30
- [0, 79, 216, 1],
31
- [0, 83, 214, 1],
32
- [0, 86, 212, 1],
33
- [0, 90, 210, 1],
34
- [0, 93, 208, 1],
35
- [0, 97, 207, 1],
36
- [0, 101, 205, 1],
37
- [0, 104, 203, 1],
38
- [0, 108, 201, 1],
39
- [0, 111, 200, 1],
40
- [0, 115, 198, 1],
41
- [0, 119, 196, 1],
42
- [0, 122, 194, 1],
43
- [0, 126, 192, 1],
44
- [0, 129, 191, 1],
45
- [0, 133, 189, 1],
46
- [0, 136, 187, 1],
47
- [0, 140, 185, 1],
48
- [0, 144, 183, 1],
49
- [0, 147, 182, 1],
50
- [0, 151, 180, 1],
51
- [0, 154, 178, 1],
52
- [0, 158, 176, 1],
53
- [0, 162, 175, 1],
54
- [0, 165, 173, 1],
55
- [0, 169, 171, 1],
56
- [0, 172, 169, 1],
57
- [0, 176, 167, 1],
58
- [0, 180, 166, 1],
59
- [0, 183, 164, 1],
60
- [0, 187, 162, 1],
61
- [0, 190, 160, 1],
62
- [0, 194, 158, 1],
63
- [0, 198, 157, 1],
64
- [0, 201, 155, 1],
65
- [0, 205, 153, 1],
66
- [0, 208, 151, 1],
67
- [0, 212, 149, 1],
68
- [0, 215, 148, 1],
69
- [0, 219, 146, 1],
70
- [0, 223, 144, 1],
71
- [0, 226, 142, 1],
72
- [0, 230, 141, 1],
73
- [0, 233, 139, 1],
74
- [0, 237, 137, 1],
75
- [0, 241, 135, 1],
76
- [0, 244, 133, 1],
77
- [0, 248, 132, 1],
78
- [0, 251, 130, 1],
79
- [0, 255, 128, 1]])
80
- })
81
-
82
- test('Uses alpha in from/to', () => {
83
- const actual = createColors([0, 0, 0, .2], [1, 1, 1, .8], 2)
84
- expect(actual).toEqual([[0, 0, 0, .2], [1, 1, 1, .8]])
85
- })
86
-
87
- test('alpha in from but not in to, will use alpha in from', () => {
88
- const actual = createColors([0, 0, 0, .2], [1, 1, 1], 2)
89
- expect(actual).toEqual([[0, 0, 0, .2], [1, 1, 1, .2]])
90
- })
91
-
92
- test('alpha in `to` but not in `from`, will use alpha in `to`', () => {
93
- const actual = createColors([0, 0, 0], [1, 1, 1, .5], 2)
94
- expect(actual).toEqual([[0, 0, 0, .5], [1, 1, 1, .5]])
95
- })
96
-
97
-
98
- test('match actual colors', () => {
99
- let actual = createColors([150, 0, 90], [0, 0, 200], 72, [0, 1])
100
-
101
- t.deepStrictEqual(actual, [
102
- [150, 0, 90, 0],
103
- [148, 0, 92, 0.014084507042253521],
104
- [146, 0, 93, 0.028169014084507043],
105
- [144, 0, 95, 0.04225352112676056],
106
- [142, 0, 96, 0.056338028169014086],
107
- [139, 0, 98, 0.07042253521126761],
108
- [137, 0, 99, 0.08450704225352113],
109
- [135, 0, 101, 0.09859154929577466],
110
- [133, 0, 102, 0.11267605633802817],
111
- [131, 0, 104, 0.1267605633802817],
112
- [129, 0, 105, 0.14084507042253522],
113
- [127, 0, 107, 0.15492957746478875],
114
- [125, 0, 109, 0.16901408450704225],
115
- [123, 0, 110, 0.18309859154929578],
116
- [120, 0, 112, 0.1971830985915493],
117
- [118, 0, 113, 0.2112676056338028],
118
- [116, 0, 115, 0.22535211267605634],
119
- [114, 0, 116, 0.23943661971830987],
120
- [112, 0, 118, 0.2535211267605634],
121
- [110, 0, 119, 0.26760563380281693],
122
- [108, 0, 121, 0.28169014084507044],
123
- [106, 0, 123, 0.29577464788732394],
124
- [104, 0, 124, 0.3098591549295775],
125
- [101, 0, 126, 0.323943661971831],
126
- [99, 0, 127, 0.3380281690140845],
127
- [97, 0, 129, 0.35211267605633806],
128
- [95, 0, 130, 0.36619718309859156],
129
- [93, 0, 132, 0.38028169014084506],
130
- [91, 0, 133, 0.3943661971830986],
131
- [89, 0, 135, 0.4084507042253521],
132
- [87, 0, 136, 0.4225352112676056],
133
- [85, 0, 138, 0.4366197183098592],
134
- [82, 0, 140, 0.4507042253521127],
135
- [80, 0, 141, 0.4647887323943662],
136
- [78, 0, 143, 0.47887323943661975],
137
- [76, 0, 144, 0.49295774647887325],
138
- [74, 0, 146, 0.5070422535211268],
139
- [72, 0, 147, 0.5211267605633803],
140
- [70, 0, 149, 0.5352112676056339],
141
- [68, 0, 150, 0.5492957746478874],
142
- [65, 0, 152, 0.5633802816901409],
143
- [63, 0, 154, 0.5774647887323944],
144
- [61, 0, 155, 0.5915492957746479],
145
- [59, 0, 157, 0.6056338028169014],
146
- [57, 0, 158, 0.619718309859155],
147
- [55, 0, 160, 0.6338028169014085],
148
- [53, 0, 161, 0.647887323943662],
149
- [51, 0, 163, 0.6619718309859155],
150
- [49, 0, 164, 0.676056338028169],
151
- [46, 0, 166, 0.6901408450704225],
152
- [44, 0, 167, 0.7042253521126761],
153
- [42, 0, 169, 0.7183098591549296],
154
- [40, 0, 171, 0.7323943661971831],
155
- [38, 0, 172, 0.7464788732394366],
156
- [36, 0, 174, 0.7605633802816901],
157
- [34, 0, 175, 0.7746478873239436],
158
- [32, 0, 177, 0.7887323943661972],
159
- [30, 0, 178, 0.8028169014084507],
160
- [27, 0, 180, 0.8169014084507042],
161
- [25, 0, 181, 0.8309859154929577],
162
- [23, 0, 183, 0.8450704225352113],
163
- [21, 0, 185, 0.8591549295774648],
164
- [19, 0, 186, 0.8732394366197184],
165
- [17, 0, 188, 0.8873239436619719],
166
- [15, 0, 189, 0.9014084507042254],
167
- [13, 0, 191, 0.9154929577464789],
168
- [11, 0, 192, 0.9295774647887324],
169
- [8, 0, 194, 0.943661971830986],
170
- [6, 0, 195, 0.9577464788732395],
171
- [4, 0, 197, 0.971830985915493],
172
- [2, 0, 198, 0.9859154929577465],
173
- [0, 0, 200, 1]])
174
- actual = createColors([150, 0, 90], [0, 0, 200], 72)
175
- expect(actual).toEqual([[150, 0, 90, 1], [148, 0, 92, 1], [146, 0, 93, 1], [144, 0, 95, 1], [142, 0, 96, 1], [139, 0, 98, 1], [137, 0, 99, 1], [135, 0, 101, 1], [133, 0, 102, 1], [131, 0, 104, 1], [129, 0, 105, 1], [127, 0, 107, 1], [125, 0, 109, 1], [123, 0, 110, 1], [120, 0, 112, 1], [118, 0, 113, 1], [116, 0, 115, 1], [114, 0, 116, 1], [112, 0, 118, 1], [110, 0, 119, 1], [108, 0, 121, 1], [106, 0, 123, 1], [104, 0, 124, 1], [101, 0, 126, 1], [99, 0, 127, 1], [97, 0, 129, 1], [95, 0, 130, 1], [93, 0, 132, 1], [91, 0, 133, 1], [89, 0, 135, 1], [87, 0, 136, 1], [85, 0, 138, 1], [82, 0, 140, 1], [80, 0, 141, 1], [78, 0, 143, 1], [76, 0, 144, 1], [74, 0, 146, 1], [72, 0, 147, 1], [70, 0, 149, 1], [68, 0, 150, 1], [65, 0, 152, 1], [63, 0, 154, 1], [61, 0, 155, 1], [59, 0, 157, 1], [57, 0, 158, 1], [55, 0, 160, 1], [53, 0, 161, 1], [51, 0, 163, 1], [49, 0, 164, 1], [46, 0, 166, 1], [44, 0, 167, 1], [42, 0, 169, 1], [40, 0, 171, 1], [38, 0, 172, 1], [36, 0, 174, 1], [34, 0, 175, 1], [32, 0, 177, 1], [30, 0, 178, 1], [27, 0, 180, 1], [25, 0, 181, 1], [23, 0, 183, 1], [21, 0, 185, 1], [19, 0, 186, 1], [17, 0, 188, 1], [15, 0, 189, 1], [13, 0, 191, 1], [11, 0, 192, 1], [8, 0, 194, 1], [6, 0, 195, 1], [4, 0, 197, 1], [2, 0, 198, 1], [0, 0, 200, 1]])
176
- })
@@ -1,11 +0,0 @@
1
- import a from 'assertron';
2
- import { ColorMap, createColorsFromMap } from '.';
3
-
4
- test('summer colors', () => {
5
- const summer: ColorMap = [{ index: 0, rgb: [0, 128, 102] }, { index: 1, rgb: [255, 255, 102] }]
6
-
7
- a.throws(() => createColorsFromMap(summer, 1))
8
-
9
- const actual = createColorsFromMap(summer, 60)
10
- expect(actual).toEqual([[0, 128, 102, 1], [4, 130, 102, 1], [9, 132, 102, 1], [13, 134, 102, 1], [17, 137, 102, 1], [22, 139, 102, 1], [26, 141, 102, 1], [30, 143, 102, 1], [35, 145, 102, 1], [39, 147, 102, 1], [43, 150, 102, 1], [48, 152, 102, 1], [52, 154, 102, 1], [56, 156, 102, 1], [61, 158, 102, 1], [65, 160, 102, 1], [69, 162, 102, 1], [73, 165, 102, 1], [78, 167, 102, 1], [82, 169, 102, 1], [86, 171, 102, 1], [91, 173, 102, 1], [95, 175, 102, 1], [99, 178, 102, 1], [104, 180, 102, 1], [108, 182, 102, 1], [112, 184, 102, 1], [117, 186, 102, 1], [121, 188, 102, 1], [125, 190, 102, 1], [130, 193, 102, 1], [134, 195, 102, 1], [138, 197, 102, 1], [143, 199, 102, 1], [147, 201, 102, 1], [151, 203, 102, 1], [156, 205, 102, 1], [160, 208, 102, 1], [164, 210, 102, 1], [169, 212, 102, 1], [173, 214, 102, 1], [177, 216, 102, 1], [182, 218, 102, 1], [186, 221, 102, 1], [190, 223, 102, 1], [194, 225, 102, 1], [199, 227, 102, 1], [203, 229, 102, 1], [207, 231, 102, 1], [212, 233, 102, 1], [216, 236, 102, 1], [220, 238, 102, 1], [225, 240, 102, 1], [229, 242, 102, 1], [233, 244, 102, 1], [238, 246, 102, 1], [242, 249, 102, 1], [246, 251, 102, 1], [251, 253, 102, 1], [255, 255, 102, 1]])
11
- })
package/ts/rgbHex.spec.ts DELETED
@@ -1,17 +0,0 @@
1
- import { rgbHex } from '.'
2
-
3
- test('[0,0,0] => #000000', () => {
4
- expect(rgbHex([0, 0, 0])).toBe('#000000')
5
- })
6
-
7
- test('[255,128,16] => #ff8010', () => {
8
- expect(rgbHex([255, 128, 16])).toBe('#ff8010')
9
- })
10
-
11
- test('[255,128,16,0] => #ff8010', () => {
12
- expect(rgbHex([255, 128, 16, 0])).toBe('#ff8010')
13
- })
14
-
15
- test('[255,128,16,0.8] => #ff8010', () => {
16
- expect(rgbHex([255, 128, 16, 0.8])).toBe('#ff8010')
17
- })
@@ -1,9 +0,0 @@
1
- import { rgbaString } from '.';
2
-
3
- test('[255,128,16,0] => rgba(255,128,16,0)', () => {
4
- expect(rgbaString([255, 128, 16, 0])).toBe('rgba(255,128,16,0)')
5
- })
6
-
7
- test('[255,128,16,0.3] => rgba(255,128,16,0.3)', () => {
8
- expect(rgbaString([255, 128, 16, 0.3])).toBe('rgba(255,128,16,0.3)')
9
- })