@visactor/vgrammar-util
Advanced tools
Comparing version 0.4.0 to 0.4.1
@@ -7,4 +7,4 @@ "use strict"; | ||
const logger_1 = require("./logger"), error = message => { | ||
(0, logger_1.getLogger)().error(message); | ||
const vutils_1 = require("@visactor/vutils"), error = message => { | ||
vutils_1.Logger.getInstance().error(message); | ||
}; | ||
@@ -11,0 +11,0 @@ |
export { accessor, accessorName, accessorFields } from './accessor'; | ||
export { getter } from './getter'; | ||
export { id, identity, zero, one, truthy, falsy, emptyObject } from './accessors'; | ||
export { Logger, setLogLevel, setLogger, getLogger, clearLogger } from './logger'; | ||
export { compare, ascending } from './compare'; | ||
@@ -6,0 +5,0 @@ export { error } from './error'; |
@@ -20,3 +20,3 @@ "use strict"; | ||
value: !0 | ||
}), exports.regressionLinear = exports.toPercent = exports.splitAccessPath = exports.isEqual = exports.field = exports.extent = exports.error = exports.ascending = exports.compare = exports.clearLogger = exports.getLogger = exports.setLogger = exports.setLogLevel = exports.Logger = exports.emptyObject = exports.falsy = exports.truthy = exports.one = exports.zero = exports.identity = exports.id = exports.getter = exports.accessorFields = exports.accessorName = exports.accessor = void 0; | ||
}), exports.regressionLinear = exports.toPercent = exports.splitAccessPath = exports.isEqual = exports.field = exports.extent = exports.error = exports.ascending = exports.compare = exports.emptyObject = exports.falsy = exports.truthy = exports.one = exports.zero = exports.identity = exports.id = exports.getter = exports.accessorFields = exports.accessorName = exports.accessor = void 0; | ||
@@ -90,31 +90,2 @@ var accessor_1 = require("./accessor"); | ||
var logger_1 = require("./logger"); | ||
Object.defineProperty(exports, "Logger", { | ||
enumerable: !0, | ||
get: function() { | ||
return logger_1.Logger; | ||
} | ||
}), Object.defineProperty(exports, "setLogLevel", { | ||
enumerable: !0, | ||
get: function() { | ||
return logger_1.setLogLevel; | ||
} | ||
}), Object.defineProperty(exports, "setLogger", { | ||
enumerable: !0, | ||
get: function() { | ||
return logger_1.setLogger; | ||
} | ||
}), Object.defineProperty(exports, "getLogger", { | ||
enumerable: !0, | ||
get: function() { | ||
return logger_1.getLogger; | ||
} | ||
}), Object.defineProperty(exports, "clearLogger", { | ||
enumerable: !0, | ||
get: function() { | ||
return logger_1.clearLogger; | ||
} | ||
}); | ||
var compare_1 = require("./compare"); | ||
@@ -121,0 +92,0 @@ |
@@ -374,6 +374,84 @@ (function (global, factory) { | ||
var LoggerLevel$1; | ||
const hasConsole = "undefined" != typeof console; | ||
function log(method, level, input) { | ||
const args = [level].concat([].slice.call(input)); | ||
hasConsole && console[method].apply(console, args); | ||
} | ||
var LoggerLevel; | ||
!function (LoggerLevel) { | ||
LoggerLevel[LoggerLevel.None = 0] = "None", LoggerLevel[LoggerLevel.Error = 1] = "Error", LoggerLevel[LoggerLevel.Warn = 2] = "Warn", LoggerLevel[LoggerLevel.Info = 3] = "Info", LoggerLevel[LoggerLevel.Debug = 4] = "Debug"; | ||
}(LoggerLevel$1 || (LoggerLevel$1 = {})); | ||
}(LoggerLevel || (LoggerLevel = {})); | ||
class Logger { | ||
static getInstance(level, method) { | ||
return Logger._instance && isNumber(level) ? Logger._instance.level(level) : Logger._instance || (Logger._instance = new Logger(level, method)), Logger._instance; | ||
} | ||
static setInstance(logger) { | ||
return Logger._instance = logger; | ||
} | ||
static setInstanceLevel(level) { | ||
Logger._instance ? Logger._instance.level(level) : Logger._instance = new Logger(level); | ||
} | ||
static clearInstance() { | ||
Logger._instance = null; | ||
} | ||
constructor() { | ||
let level = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LoggerLevel.None; | ||
let method = arguments.length > 1 ? arguments[1] : undefined; | ||
this._onErrorHandler = [], this._level = level, this._method = method; | ||
} | ||
addErrorHandler(handler) { | ||
this._onErrorHandler.find(h => h === handler) || this._onErrorHandler.push(handler); | ||
} | ||
removeErrorHandler(handler) { | ||
const index = this._onErrorHandler.findIndex(h => h === handler); | ||
index < 0 || this._onErrorHandler.splice(index, 1); | ||
} | ||
callErrorHandler() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
this._onErrorHandler.forEach(h => h(...args)); | ||
} | ||
canLogInfo() { | ||
return this._level >= LoggerLevel.Info; | ||
} | ||
canLogDebug() { | ||
return this._level >= LoggerLevel.Debug; | ||
} | ||
canLogError() { | ||
return this._level >= LoggerLevel.Error; | ||
} | ||
canLogWarn() { | ||
return this._level >= LoggerLevel.Warn; | ||
} | ||
level(levelValue) { | ||
return arguments.length ? (this._level = +levelValue, this) : this._level; | ||
} | ||
error() { | ||
var _a; | ||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
args[_key2] = arguments[_key2]; | ||
} | ||
return this._level >= LoggerLevel.Error && (this._onErrorHandler.length ? this.callErrorHandler(...args) : log(null !== (_a = this._method) && void 0 !== _a ? _a : "error", "ERROR", args)), this; | ||
} | ||
warn() { | ||
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
args[_key3] = arguments[_key3]; | ||
} | ||
return this._level >= LoggerLevel.Warn && log(this._method || "warn", "WARN", args), this; | ||
} | ||
info() { | ||
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { | ||
args[_key4] = arguments[_key4]; | ||
} | ||
return this._level >= LoggerLevel.Info && log(this._method || "log", "INFO", args), this; | ||
} | ||
debug() { | ||
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { | ||
args[_key5] = arguments[_key5]; | ||
} | ||
return this._level >= LoggerLevel.Debug && log(this._method || "log", "DEBUG", args), this; | ||
} | ||
} | ||
Logger._instance = null; | ||
@@ -396,92 +474,4 @@ const accessor = (fn, fields, name) => { | ||
function log(method, level, input) { | ||
const args = [level].concat([].slice.call(input)); | ||
console[method].apply(console, args); | ||
} | ||
var LoggerLevel; | ||
(function (LoggerLevel) { | ||
LoggerLevel[LoggerLevel["None"] = 0] = "None"; | ||
LoggerLevel[LoggerLevel["Error"] = 1] = "Error"; | ||
LoggerLevel[LoggerLevel["Warn"] = 2] = "Warn"; | ||
LoggerLevel[LoggerLevel["Info"] = 3] = "Info"; | ||
LoggerLevel[LoggerLevel["Debug"] = 4] = "Debug"; | ||
})(LoggerLevel || (LoggerLevel = {})); | ||
class Logger { | ||
_level; | ||
_method; | ||
constructor(level = LoggerLevel.None, method) { | ||
this._level = level; | ||
this._method = method; | ||
} | ||
canLogInfo() { | ||
return this._level >= LoggerLevel.Info; | ||
} | ||
canLogDebug() { | ||
return this._level >= LoggerLevel.Debug; | ||
} | ||
canLogError() { | ||
return this._level >= LoggerLevel.Error; | ||
} | ||
canLogWarn() { | ||
return this._level >= LoggerLevel.Warn; | ||
} | ||
level(levelValue) { | ||
if (arguments.length) { | ||
this._level = +levelValue; | ||
return this; | ||
} | ||
return this._level; | ||
} | ||
error(...args) { | ||
if (this._level >= LoggerLevel.Error) { | ||
log(this._method ?? 'error', 'ERROR', args); | ||
} | ||
return this; | ||
} | ||
warn(...args) { | ||
if (this._level >= LoggerLevel.Warn) { | ||
log(this._method || 'warn', 'WARN', args); | ||
} | ||
return this; | ||
} | ||
info(...args) { | ||
if (this._level >= LoggerLevel.Info) { | ||
log(this._method || 'log', 'INFO', args); | ||
} | ||
return this; | ||
} | ||
debug(...args) { | ||
if (this._level >= LoggerLevel.Debug) { | ||
log(this._method || 'log', 'DEBUG', args); | ||
} | ||
return this; | ||
} | ||
} | ||
let defaultLogger = null; | ||
const setLogger = (logger) => { | ||
defaultLogger = logger; | ||
}; | ||
const setLogLevel = (level) => { | ||
if (defaultLogger) { | ||
defaultLogger.level(level); | ||
} | ||
else { | ||
defaultLogger = new Logger(level); | ||
} | ||
}; | ||
const clearLogger = () => { | ||
defaultLogger = null; | ||
}; | ||
const getLogger = (level, method) => { | ||
if (defaultLogger && isNumber(level)) { | ||
defaultLogger.level(level); | ||
} | ||
else if (!defaultLogger) { | ||
defaultLogger = new Logger(level, method); | ||
} | ||
return defaultLogger; | ||
}; | ||
const error = (message) => { | ||
const logger = getLogger(); | ||
const logger = Logger.getInstance(); | ||
logger.error(message); | ||
@@ -776,3 +766,2 @@ }; | ||
exports.Logger = Logger; | ||
exports.accessor = accessor; | ||
@@ -782,3 +771,2 @@ exports.accessorFields = accessorFields; | ||
exports.ascending = ascending; | ||
exports.clearLogger = clearLogger; | ||
exports.compare = compare; | ||
@@ -790,3 +778,2 @@ exports.emptyObject = emptyObject; | ||
exports.field = field; | ||
exports.getLogger = getLogger; | ||
exports.getter = getter; | ||
@@ -798,4 +785,2 @@ exports.id = id; | ||
exports.regressionLinear = regressionLinear; | ||
exports.setLogLevel = setLogLevel; | ||
exports.setLogger = setLogger; | ||
exports.splitAccessPath = splitAccessPath; | ||
@@ -802,0 +787,0 @@ exports.toPercent = toPercent; |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).VGrammar=e.VGrammar||{},e.VGrammar.Util={}))}(this,(function(e){"use strict";!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,r,s,i){if("function"!=typeof r)throw new TypeError("The listener must be a function");var c=new o(r,s||e,i),u=n?n+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],c]:e._events[u].push(c):(e._events[u]=c,e._eventsCount++),e}function i(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,s=r.length,i=new Array(s);o<s;o++)i[o]=r[o].fn;return i},c.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,s,i){var c=n?n+e:e;if(!this._events[c])return!1;var u,l,f=this._events[c],a=arguments.length;if(f.fn){switch(f.once&&this.removeListener(e,f.fn,void 0,!0),a){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,t),!0;case 3:return f.fn.call(f.context,t,r),!0;case 4:return f.fn.call(f.context,t,r,o),!0;case 5:return f.fn.call(f.context,t,r,o,s),!0;case 6:return f.fn.call(f.context,t,r,o,s,i),!0}for(l=1,u=new Array(a-1);l<a;l++)u[l-1]=arguments[l];f.fn.apply(f.context,u)}else{var h,p=f.length;for(l=0;l<p;l++)switch(f[l].once&&this.removeListener(e,f[l].fn,void 0,!0),a){case 1:f[l].fn.call(f[l].context);break;case 2:f[l].fn.call(f[l].context,t);break;case 3:f[l].fn.call(f[l].context,t,r);break;case 4:f[l].fn.call(f[l].context,t,r,o);break;default:if(!u)for(h=1,u=new Array(a-1);h<a;h++)u[h-1]=arguments[h];f[l].fn.apply(f[l].context,u)}}return!0},c.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,r,o){var s=n?n+e:e;if(!this._events[s])return this;if(!t)return i(this,s),this;var c=this._events[s];if(c.fn)c.fn!==t||o&&!c.once||r&&c.context!==r||i(this,s);else{for(var u=0,l=[],f=c.length;u<f;u++)(c[u].fn!==t||o&&!c[u].once||r&&c[u].context!==r)&&l.push(c[u]);l.length?this._events[s]=1===l.length?l[0]:l:i(this,s)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&i(this,t)):(this._events=new r,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,e.exports=c}({exports:{}});const t=(e,t)=>Object.prototype.toString.call(e)===`[object ${t}]`,n=e=>"function"==typeof e,r=e=>null==e,o=e=>{const t=typeof e;return null!==e&&"object"===t||"function"===t},s=e=>"object"==typeof e&&null!==e,i=function(e){const n=typeof e;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===n:"string"===n||t(e,"String")},c=e=>Array.isArray?Array.isArray(e):t(e,"Array"),u=function(e){const n=typeof e;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===n:"number"===n||t(e,"Number")};function l(e){return null!=e?c(e)?e:[e]:[]}let f=!1;try{f="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame}catch(e){f=!1}var a,h;f=!1,function(e){e[e.NONE=0]="NONE",e[e.BBOX1=1]="BBOX1",e[e.BBOX2=2]="BBOX2"}(a||(a={})),function(e){e[e.None=0]="None",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Info=3]="Info",e[e.Debug=4]="Debug"}(h||(h={}));const p=(e,t,n)=>(e.fields=t||[],e.fname=n,e);function v(e){return r(e)?null:e.fields}const g=e=>t=>((e,t,n)=>{const r=i(t)?t.split("."):t;for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return void 0===e?n:e})(t,e);function y(e,t,n){const r=[t].concat([].slice.call(n));console[e].apply(console,r)}var m;!function(e){e[e.None=0]="None",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Info=3]="Info",e[e.Debug=4]="Debug"}(m||(m={}));class b{_level;_method;constructor(e=m.None,t){this._level=e,this._method=t}canLogInfo(){return this._level>=m.Info}canLogDebug(){return this._level>=m.Debug}canLogError(){return this._level>=m.Error}canLogWarn(){return this._level>=m.Warn}level(e){return arguments.length?(this._level=+e,this):this._level}error(...e){return this._level>=m.Error&&y(this._method??"error","ERROR",e),this}warn(...e){return this._level>=m.Warn&&y(this._method||"warn","WARN",e),this}info(...e){return this._level>=m.Info&&y(this._method||"log","INFO",e),this}debug(...e){return this._level>=m.Debug&&y(this._method||"log","DEBUG",e),this}}let _=null;const d=(e,t)=>(_&&u(e)?_.level(e):_||(_=new b(e,t)),_),N=e=>{d().error(e)},x=e=>{const t=[],n=e.length;let r,o,s,i=null,c=0,u="";e+="";const l=()=>{t.push(u+e.substring(r,o)),u="",r=o+1};for(r=0,o=0;o<n;o+=1)if(s=e[o],"\\"===s)u+=e.substring(r,o),u+=e.substring(++o,++o),r=o;else if(s===i)l(),i=null,c=-1;else{if(i)continue;r===c&&'"'===s||r===c&&"'"===s?(r=o+1,i=s):"."!==s||c?"["===s?(o>r&&l(),r=o+1,c=r):"]"===s&&(c||N("Access path missing open bracket: "+e),c>0&&l(),c=0,r=o+1):o>r?l():r=o+1}return c&&N("Access path missing closing bracket: "+e),i&&N("Access path missing closing quote: "+e),o>r&&(o+=1,l()),t},O=(e,t,r={})=>{if(n(e))return e;const o=x(e),s=1===o.length?o[0]:e;return p((r&&r.get||g)(o),[s],t||s)},w=(e,t,n={})=>{if(c(e)){const r=e.map((e=>O(e,t,n)));return e=>r.map((t=>t(e)))}return O(e,t,n)},E=w("id"),L=p((function(e){return e}),[],"identity"),j=p((function(){return 0}),[],"zero"),A=p((function(){return 1}),[],"one"),k=p((function(){return!0}),[],"true"),D=p((function(){return!1}),[],"false"),B=p((function(){return{}}),[],"emptyObject"),I=(e,t)=>{if((e<t||r(e))&&!r(t))return-1;if((e>t||r(t))&&!r(e))return 1;const n=t instanceof Date?+t:t,o=e instanceof Date?+e:e;return Number.isNaN(o)&&!Number.isNaN(n)?-1:Number.isNaN(n)&&!Number.isNaN(o)?1:0},W=(e,t)=>{return 1===e.length?(n=e[0],r=t[0],(e,t)=>I(n(e),n(t))*r):((e,t,n)=>(t.push(0),(r,o)=>{let s,i=0,c=-1;for(;0===i&&c+1<n;)c+=1,s=e[c],i=I(s(r),s(o));return i*t[c]}))(e,t,e.length);var n,r},C=(e,t,n,i=!0)=>{if(t===n)return!0;if(r(t)||r(n))return r(t)&&r(n);if(!s(t)&&!s(n))return t===n;const u=c(t)?t:t[e],l=c(n)?n:n[e];return u===l||!1!==i&&(c(l)?!(!c(u)||l.length!==u.length||!l.every(((e,t)=>e===u[t]))):!!o(l)&&!(!o(u)||Object.keys(l).length!==Object.keys(u).length||!Object.keys(l).every((e=>C(e,l,u)))))};function F(e,t,n,o){let s,i,c=-1;e.forEach((e=>{s=t(e),i=n(e),!r(s)&&(s=+s)>=s&&!r(i)&&(i=+i)>=i&&o(s,i,++c)}))}function P(e,t,n,r,o){let s=0,i=0;return F(e,t,n,((e,t)=>{const n=t-o(e),c=t-r;s+=n*n,i+=c*c})),1-s/i}e.Logger=b,e.accessor=p,e.accessorFields=v,e.accessorName=function(e){return r(e)?null:e.fname},e.ascending=I,e.clearLogger=()=>{_=null},e.compare=(e,t,o={})=>{const s=l(t)||[],i=[],c=[],u={},f=o.comparator||W;return l(e).forEach(((e,t)=>{if(r(e))return;i.push("desc"===s[t]?-1:1);const l=n(e)?e:w(e,null,o);c.push(l),(v(l)||[]).forEach((e=>{u[e]=1}))})),0===c.length?null:p(f(c,i),Object.keys(u))},e.emptyObject=B,e.error=N,e.extent=(e,t)=>{const o=n(t)?t:e=>e;let s,i;if(e&&e.length){const t=e.length;for(let n=0;n<t;n+=1){const t=o(e[n]);u(t)&&!Number.isNaN(t)&&(r(s)?(s=t,i=t):(s=Math.min(s,t),i=Math.max(i,t)))}return[s,i]}return[s,i]},e.falsy=D,e.field=w,e.getLogger=d,e.getter=g,e.id=E,e.identity=L,e.isEqual=C,e.one=A,e.regressionLinear=function(e,t=(e=>e.x),n=(e=>e.y)){let r=0,o=0,s=0,i=0,c=0;F(e,t,n,((e,t)=>{++c,r+=(e-r)/c,o+=(t-o)/c,s+=(e*t-s)/c,i+=(e*e-i)/c}));const u=function(e,t,n,r){const o=r-e*e,s=Math.abs(o)<1e-24?0:(n-e*t)/o;return[t-s*e,s]}(r,o,s,i),l=e=>u[0]+u[1]*e;return{coef:u,predict:l,rSquared:P(e,t,n,o,l)}},e.setLogLevel=e=>{_?_.level(e):_=new b(e)},e.setLogger=e=>{_=e},e.splitAccessPath=x,e.toPercent=(e,t)=>r(e)?t:Math.min(i(e)?t*parseFloat(e)/100:e,t),e.truthy=k,e.zero=j})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).VGrammar=e.VGrammar||{},e.VGrammar.Util={}))}(this,(function(e){"use strict";!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,r,s,i){if("function"!=typeof r)throw new TypeError("The listener must be a function");var c=new o(r,s||e,i),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],c]:e._events[l].push(c):(e._events[l]=c,e._eventsCount++),e}function i(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,s=r.length,i=new Array(s);o<s;o++)i[o]=r[o].fn;return i},c.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,s,i){var c=n?n+e:e;if(!this._events[c])return!1;var l,a,u=this._events[c],f=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),f){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,s),!0;case 6:return u.fn.call(u.context,t,r,o,s,i),!0}for(a=1,l=new Array(f-1);a<f;a++)l[a-1]=arguments[a];u.fn.apply(u.context,l)}else{var h,p=u.length;for(a=0;a<p;a++)switch(u[a].once&&this.removeListener(e,u[a].fn,void 0,!0),f){case 1:u[a].fn.call(u[a].context);break;case 2:u[a].fn.call(u[a].context,t);break;case 3:u[a].fn.call(u[a].context,t,r);break;case 4:u[a].fn.call(u[a].context,t,r,o);break;default:if(!l)for(h=1,l=new Array(f-1);h<f;h++)l[h-1]=arguments[h];u[a].fn.apply(u[a].context,l)}}return!0},c.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,r,o){var s=n?n+e:e;if(!this._events[s])return this;if(!t)return i(this,s),this;var c=this._events[s];if(c.fn)c.fn!==t||o&&!c.once||r&&c.context!==r||i(this,s);else{for(var l=0,a=[],u=c.length;l<u;l++)(c[l].fn!==t||o&&!c[l].once||r&&c[l].context!==r)&&a.push(c[l]);a.length?this._events[s]=1===a.length?a[0]:a:i(this,s)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&i(this,t)):(this._events=new r,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,e.exports=c}({exports:{}});const t=(e,t)=>Object.prototype.toString.call(e)===`[object ${t}]`,n=e=>"function"==typeof e,r=e=>null==e,o=e=>{const t=typeof e;return null!==e&&"object"===t||"function"===t},s=e=>"object"==typeof e&&null!==e,i=function(e){const n=typeof e;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===n:"string"===n||t(e,"String")},c=e=>Array.isArray?Array.isArray(e):t(e,"Array"),l=function(e){const n=typeof e;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===n:"number"===n||t(e,"Number")};function a(e){return null!=e?c(e)?e:[e]:[]}let u=!1;try{u="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame}catch(e){u=!1}var f;u=!1,function(e){e[e.NONE=0]="NONE",e[e.BBOX1=1]="BBOX1",e[e.BBOX2=2]="BBOX2"}(f||(f={}));const h="undefined"!=typeof console;function p(e,t,n){const r=[t].concat([].slice.call(n));h&&console[e].apply(console,r)}var v;!function(e){e[e.None=0]="None",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Info=3]="Info",e[e.Debug=4]="Debug"}(v||(v={}));class g{static getInstance(e,t){return g._instance&&l(e)?g._instance.level(e):g._instance||(g._instance=new g(e,t)),g._instance}static setInstance(e){return g._instance=e}static setInstanceLevel(e){g._instance?g._instance.level(e):g._instance=new g(e)}static clearInstance(){g._instance=null}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.None,t=arguments.length>1?arguments[1]:void 0;this._onErrorHandler=[],this._level=e,this._method=t}addErrorHandler(e){this._onErrorHandler.find((t=>t===e))||this._onErrorHandler.push(e)}removeErrorHandler(e){const t=this._onErrorHandler.findIndex((t=>t===e));t<0||this._onErrorHandler.splice(t,1)}callErrorHandler(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._onErrorHandler.forEach((e=>e(...t)))}canLogInfo(){return this._level>=v.Info}canLogDebug(){return this._level>=v.Debug}canLogError(){return this._level>=v.Error}canLogWarn(){return this._level>=v.Warn}level(e){return arguments.length?(this._level=+e,this):this._level}error(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return this._level>=v.Error&&(this._onErrorHandler.length?this.callErrorHandler(...n):p(null!==(e=this._method)&&void 0!==e?e:"error","ERROR",n)),this}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this._level>=v.Warn&&p(this._method||"warn","WARN",t),this}info(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this._level>=v.Info&&p(this._method||"log","INFO",t),this}debug(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this._level>=v.Debug&&p(this._method||"log","DEBUG",t),this}}g._instance=null;const y=(e,t,n)=>(e.fields=t||[],e.fname=n,e);function _(e){return r(e)?null:e.fields}const d=e=>t=>((e,t,n)=>{const r=i(t)?t.split("."):t;for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return void 0===e?n:e})(t,e),m=e=>{g.getInstance().error(e)},b=e=>{const t=[],n=e.length;let r,o,s,i=null,c=0,l="";e+="";const a=()=>{t.push(l+e.substring(r,o)),l="",r=o+1};for(r=0,o=0;o<n;o+=1)if(s=e[o],"\\"===s)l+=e.substring(r,o),l+=e.substring(++o,++o),r=o;else if(s===i)a(),i=null,c=-1;else{if(i)continue;r===c&&'"'===s||r===c&&"'"===s?(r=o+1,i=s):"."!==s||c?"["===s?(o>r&&a(),r=o+1,c=r):"]"===s&&(c||m("Access path missing open bracket: "+e),c>0&&a(),c=0,r=o+1):o>r?a():r=o+1}return c&&m("Access path missing closing bracket: "+e),i&&m("Access path missing closing quote: "+e),o>r&&(o+=1,a()),t},E=(e,t,r={})=>{if(n(e))return e;const o=b(e),s=1===o.length?o[0]:e;return y((r&&r.get||d)(o),[s],t||s)},N=(e,t,n={})=>{if(c(e)){const r=e.map((e=>E(e,t,n)));return e=>r.map((t=>t(e)))}return E(e,t,n)},x=N("id"),w=y((function(e){return e}),[],"identity"),O=y((function(){return 0}),[],"zero"),A=y((function(){return 1}),[],"one"),j=y((function(){return!0}),[],"true"),I=y((function(){return!1}),[],"false"),L=y((function(){return{}}),[],"emptyObject"),H=(e,t)=>{if((e<t||r(e))&&!r(t))return-1;if((e>t||r(t))&&!r(e))return 1;const n=t instanceof Date?+t:t,o=e instanceof Date?+e:e;return Number.isNaN(o)&&!Number.isNaN(n)?-1:Number.isNaN(n)&&!Number.isNaN(o)?1:0},k=(e,t)=>{return 1===e.length?(n=e[0],r=t[0],(e,t)=>H(n(e),n(t))*r):((e,t,n)=>(t.push(0),(r,o)=>{let s,i=0,c=-1;for(;0===i&&c+1<n;)c+=1,s=e[c],i=H(s(r),s(o));return i*t[c]}))(e,t,e.length);var n,r},B=(e,t,n,i=!0)=>{if(t===n)return!0;if(r(t)||r(n))return r(t)&&r(n);if(!s(t)&&!s(n))return t===n;const l=c(t)?t:t[e],a=c(n)?n:n[e];return l===a||!1!==i&&(c(a)?!(!c(l)||a.length!==l.length||!a.every(((e,t)=>e===l[t]))):!!o(a)&&!(!o(l)||Object.keys(a).length!==Object.keys(l).length||!Object.keys(a).every((e=>B(e,a,l)))))};function D(e,t,n,o){let s,i,c=-1;e.forEach((e=>{s=t(e),i=n(e),!r(s)&&(s=+s)>=s&&!r(i)&&(i=+i)>=i&&o(s,i,++c)}))}function C(e,t,n,r,o){let s=0,i=0;return D(e,t,n,((e,t)=>{const n=t-o(e),c=t-r;s+=n*n,i+=c*c})),1-s/i}e.accessor=y,e.accessorFields=_,e.accessorName=function(e){return r(e)?null:e.fname},e.ascending=H,e.compare=(e,t,o={})=>{const s=a(t)||[],i=[],c=[],l={},u=o.comparator||k;return a(e).forEach(((e,t)=>{if(r(e))return;i.push("desc"===s[t]?-1:1);const a=n(e)?e:N(e,null,o);c.push(a),(_(a)||[]).forEach((e=>{l[e]=1}))})),0===c.length?null:y(u(c,i),Object.keys(l))},e.emptyObject=L,e.error=m,e.extent=(e,t)=>{const o=n(t)?t:e=>e;let s,i;if(e&&e.length){const t=e.length;for(let n=0;n<t;n+=1){const t=o(e[n]);l(t)&&!Number.isNaN(t)&&(r(s)?(s=t,i=t):(s=Math.min(s,t),i=Math.max(i,t)))}return[s,i]}return[s,i]},e.falsy=I,e.field=N,e.getter=d,e.id=x,e.identity=w,e.isEqual=B,e.one=A,e.regressionLinear=function(e,t=(e=>e.x),n=(e=>e.y)){let r=0,o=0,s=0,i=0,c=0;D(e,t,n,((e,t)=>{++c,r+=(e-r)/c,o+=(t-o)/c,s+=(e*t-s)/c,i+=(e*e-i)/c}));const l=function(e,t,n,r){const o=r-e*e,s=Math.abs(o)<1e-24?0:(n-e*t)/o;return[t-s*e,s]}(r,o,s,i),a=e=>l[0]+l[1]*e;return{coef:l,predict:a,rSquared:C(e,t,n,o,a)}},e.splitAccessPath=b,e.toPercent=(e,t)=>r(e)?t:Math.min(i(e)?t*parseFloat(e)/100:e,t),e.truthy=j,e.zero=O})); |
@@ -1,6 +0,6 @@ | ||
import { getLogger } from "./logger"; | ||
import { Logger } from "@visactor/vutils"; | ||
export const error = message => { | ||
getLogger().error(message); | ||
Logger.getInstance().error(message); | ||
}; | ||
//# sourceMappingURL=error.js.map |
export { accessor, accessorName, accessorFields } from './accessor'; | ||
export { getter } from './getter'; | ||
export { id, identity, zero, one, truthy, falsy, emptyObject } from './accessors'; | ||
export { Logger, setLogLevel, setLogger, getLogger, clearLogger } from './logger'; | ||
export { compare, ascending } from './compare'; | ||
@@ -6,0 +5,0 @@ export { error } from './error'; |
@@ -7,4 +7,2 @@ export { accessor, accessorName, accessorFields } from "./accessor"; | ||
export { Logger, setLogLevel, setLogger, getLogger, clearLogger } from "./logger"; | ||
export { compare, ascending } from "./compare"; | ||
@@ -11,0 +9,0 @@ |
{ | ||
"name": "@visactor/vgrammar-util", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"description": "The common utils functions of VGrammar", | ||
@@ -27,3 +27,3 @@ "keywords": [ | ||
"dependencies": { | ||
"@visactor/vutils": "~0.13.0" | ||
"@visactor/vutils": "~0.13.3" | ||
}, | ||
@@ -42,4 +42,4 @@ "devDependencies": { | ||
"@internal/bundler": "0.0.1", | ||
"@internal/ts-config": "0.0.1", | ||
"@internal/eslint-config": "0.0.1", | ||
"@internal/ts-config": "0.0.1", | ||
"@internal/jest-config": "0.0.1" | ||
@@ -46,0 +46,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
126252
95
1431
Updated@visactor/vutils@~0.13.3