@visactor/vutils 0.11.1 → 0.13.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/common/isType.js +1 -1
- package/cjs/common/isType.js.map +1 -1
- package/cjs/dom.d.ts +5 -2
- package/cjs/dom.js +21 -29
- package/cjs/dom.js.map +1 -1
- package/cjs/graphics/text/measure/interface.d.ts +1 -1
- package/cjs/graphics/text/measure/interface.js.map +1 -1
- package/cjs/graphics/text/measure/test.js +1 -1
- package/cjs/graphics/text/measure/test.js.map +1 -1
- package/cjs/graphics/text/measure/textMeasure.d.ts +1 -1
- package/cjs/graphics/text/measure/textMeasure.js +6 -4
- package/cjs/graphics/text/measure/textMeasure.js.map +1 -1
- package/cjs/graphics/text/measure/util.js.map +1 -1
- package/cjs/logger.d.ts +34 -12
- package/cjs/logger.js +76 -28
- package/cjs/logger.js.map +1 -1
- package/cjs/type.d.ts +11 -0
- package/cjs/type.js.map +1 -1
- package/dist/index.js +136 -91
- package/dist/index.min.js +1 -1
- package/es/common/isType.js +1 -1
- package/es/common/isType.js.map +1 -1
- package/es/dom.d.ts +5 -2
- package/es/dom.js +11 -27
- package/es/dom.js.map +1 -1
- package/es/graphics/text/measure/interface.d.ts +1 -1
- package/es/graphics/text/measure/interface.js.map +1 -1
- package/es/graphics/text/measure/test.js +1 -1
- package/es/graphics/text/measure/test.js.map +1 -1
- package/es/graphics/text/measure/textMeasure.d.ts +1 -1
- package/es/graphics/text/measure/textMeasure.js +5 -4
- package/es/graphics/text/measure/textMeasure.js.map +1 -1
- package/es/graphics/text/measure/util.js.map +1 -1
- package/es/logger.d.ts +34 -12
- package/es/logger.js +71 -31
- package/es/logger.js.map +1 -1
- package/es/type.d.ts +11 -0
- package/es/type.js.map +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -325,7 +325,7 @@
|
|
|
325
325
|
var eventemitter3Exports = eventemitter3.exports;
|
|
326
326
|
var index$1 = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);
|
|
327
327
|
|
|
328
|
-
const isType = (value, type) => toString.call(value) === `[object ${type}]`;
|
|
328
|
+
const isType = (value, type) => Object.prototype.toString.call(value) === `[object ${type}]`;
|
|
329
329
|
|
|
330
330
|
const isBoolean = (value, fuzzy = false) => {
|
|
331
331
|
if (fuzzy) {
|
|
@@ -3713,7 +3713,7 @@
|
|
|
3713
3713
|
_context = null;
|
|
3714
3714
|
_contextSaved = false;
|
|
3715
3715
|
_notSupportCanvas = false;
|
|
3716
|
-
|
|
3716
|
+
_notSupportVRender = false;
|
|
3717
3717
|
_userSpec = {};
|
|
3718
3718
|
textSpec;
|
|
3719
3719
|
_option;
|
|
@@ -3738,7 +3738,10 @@
|
|
|
3738
3738
|
if (isValid(this._option.getCanvasForMeasure)) {
|
|
3739
3739
|
this._canvas = this._option.getCanvasForMeasure();
|
|
3740
3740
|
}
|
|
3741
|
-
if (isNil(this._canvas) &&
|
|
3741
|
+
if (isNil(this._canvas) &&
|
|
3742
|
+
typeof window !== 'undefined' &&
|
|
3743
|
+
typeof window.document !== 'undefined' &&
|
|
3744
|
+
isValid(globalThis.document)) {
|
|
3742
3745
|
this._canvas = globalThis.document.createElement('canvas');
|
|
3743
3746
|
}
|
|
3744
3747
|
}
|
|
@@ -3775,6 +3778,7 @@
|
|
|
3775
3778
|
}
|
|
3776
3779
|
measure(text, method) {
|
|
3777
3780
|
switch (method) {
|
|
3781
|
+
case 'vrender':
|
|
3778
3782
|
case 'canopus':
|
|
3779
3783
|
return this.fullMeasure(text);
|
|
3780
3784
|
case 'canvas':
|
|
@@ -3790,7 +3794,7 @@
|
|
|
3790
3794
|
if (isNil(text)) {
|
|
3791
3795
|
return { width: 0, height: 0 };
|
|
3792
3796
|
}
|
|
3793
|
-
if (isNil(this._option.getTextBounds) || !this.
|
|
3797
|
+
if (isNil(this._option.getTextBounds) || !this._notSupportVRender) {
|
|
3794
3798
|
return this.measureWithNaiveCanvas(text);
|
|
3795
3799
|
}
|
|
3796
3800
|
const { fontFamily, fontSize, fontWeight, textAlign, textBaseline, ellipsis, limit, lineHeight } = this.textSpec;
|
|
@@ -3810,7 +3814,7 @@
|
|
|
3810
3814
|
size = { width: bounds.width(), height: bounds.height() };
|
|
3811
3815
|
}
|
|
3812
3816
|
catch (e) {
|
|
3813
|
-
this.
|
|
3817
|
+
this._notSupportVRender = true;
|
|
3814
3818
|
size = this.measureWithNaiveCanvas(text);
|
|
3815
3819
|
}
|
|
3816
3820
|
return size;
|
|
@@ -3960,7 +3964,7 @@
|
|
|
3960
3964
|
.fill(0)
|
|
3961
3965
|
.map(callback);
|
|
3962
3966
|
const methodMap = {
|
|
3963
|
-
|
|
3967
|
+
vrender: this.fullMeasure.bind(this),
|
|
3964
3968
|
canvas: this.measureWithNaiveCanvas.bind(this),
|
|
3965
3969
|
simple: this.quickMeasureWithoutCanvas.bind(this),
|
|
3966
3970
|
quick: this.quickMeasure.bind(this),
|
|
@@ -4015,62 +4019,119 @@
|
|
|
4015
4019
|
}
|
|
4016
4020
|
|
|
4017
4021
|
function log(method, level, input) {
|
|
4018
|
-
const
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
level
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4022
|
+
const args = [level].concat([].slice.call(input));
|
|
4023
|
+
console[method].apply(console, args);
|
|
4024
|
+
}
|
|
4025
|
+
var LoggerLevel;
|
|
4026
|
+
(function (LoggerLevel) {
|
|
4027
|
+
LoggerLevel[LoggerLevel["None"] = 0] = "None";
|
|
4028
|
+
LoggerLevel[LoggerLevel["Error"] = 1] = "Error";
|
|
4029
|
+
LoggerLevel[LoggerLevel["Warn"] = 2] = "Warn";
|
|
4030
|
+
LoggerLevel[LoggerLevel["Info"] = 3] = "Info";
|
|
4031
|
+
LoggerLevel[LoggerLevel["Debug"] = 4] = "Debug";
|
|
4032
|
+
})(LoggerLevel || (LoggerLevel = {}));
|
|
4033
|
+
class Logger {
|
|
4034
|
+
static _instance = null;
|
|
4035
|
+
static getInstance(level, method) {
|
|
4036
|
+
if (Logger._instance && isNumber(level)) {
|
|
4037
|
+
Logger._instance.level(level);
|
|
4038
|
+
}
|
|
4039
|
+
else if (!Logger._instance) {
|
|
4040
|
+
Logger._instance = new Logger(level, method);
|
|
4041
|
+
}
|
|
4042
|
+
return Logger._instance;
|
|
4043
|
+
}
|
|
4044
|
+
static setInstance(logger) {
|
|
4045
|
+
return (Logger._instance = logger);
|
|
4046
|
+
}
|
|
4047
|
+
static setInstanceLevel(level) {
|
|
4048
|
+
if (Logger._instance) {
|
|
4049
|
+
Logger._instance.level(level);
|
|
4050
|
+
}
|
|
4051
|
+
else {
|
|
4052
|
+
Logger._instance = new Logger(level);
|
|
4053
|
+
}
|
|
4054
|
+
}
|
|
4055
|
+
static clearInstance() {
|
|
4056
|
+
Logger._instance = null;
|
|
4057
|
+
}
|
|
4058
|
+
_level;
|
|
4059
|
+
_method;
|
|
4060
|
+
_onErrorHandler = [];
|
|
4061
|
+
constructor(level = LoggerLevel.None, method) {
|
|
4062
|
+
this._level = level;
|
|
4063
|
+
this._method = method;
|
|
4064
|
+
}
|
|
4065
|
+
addErrorHandler(handler) {
|
|
4066
|
+
if (this._onErrorHandler.find(h => h === handler)) {
|
|
4067
|
+
return;
|
|
4068
|
+
}
|
|
4069
|
+
this._onErrorHandler.push(handler);
|
|
4070
|
+
}
|
|
4071
|
+
removeErrorHandler(handler) {
|
|
4072
|
+
const index = this._onErrorHandler.findIndex(h => h === handler);
|
|
4073
|
+
if (index < 0) {
|
|
4074
|
+
return;
|
|
4075
|
+
}
|
|
4076
|
+
this._onErrorHandler.splice(index, 1);
|
|
4077
|
+
}
|
|
4078
|
+
callErrorHandler(...args) {
|
|
4079
|
+
this._onErrorHandler.forEach(h => h(args));
|
|
4080
|
+
}
|
|
4081
|
+
canLogInfo() {
|
|
4082
|
+
return this._level >= LoggerLevel.Info;
|
|
4083
|
+
}
|
|
4084
|
+
canLogDebug() {
|
|
4085
|
+
return this._level >= LoggerLevel.Debug;
|
|
4086
|
+
}
|
|
4087
|
+
canLogError() {
|
|
4088
|
+
return this._level >= LoggerLevel.Error;
|
|
4089
|
+
}
|
|
4090
|
+
canLogWarn() {
|
|
4091
|
+
return this._level >= LoggerLevel.Warn;
|
|
4092
|
+
}
|
|
4093
|
+
level(levelValue) {
|
|
4094
|
+
if (arguments.length) {
|
|
4095
|
+
this._level = +levelValue;
|
|
4049
4096
|
return this;
|
|
4050
|
-
}
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4097
|
+
}
|
|
4098
|
+
return this._level;
|
|
4099
|
+
}
|
|
4100
|
+
error(...args) {
|
|
4101
|
+
if (this._level >= LoggerLevel.Error) {
|
|
4102
|
+
if (this._onErrorHandler.length) {
|
|
4103
|
+
this.callErrorHandler(args);
|
|
4054
4104
|
}
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
debug(...args) {
|
|
4058
|
-
if (level >= Debug) {
|
|
4059
|
-
log(method || 'log', 'DEBUG', args);
|
|
4105
|
+
else {
|
|
4106
|
+
log(this._method ?? 'error', 'ERROR', args);
|
|
4060
4107
|
}
|
|
4061
|
-
return this;
|
|
4062
4108
|
}
|
|
4063
|
-
|
|
4109
|
+
return this;
|
|
4110
|
+
}
|
|
4111
|
+
warn(...args) {
|
|
4112
|
+
if (this._level >= LoggerLevel.Warn) {
|
|
4113
|
+
log(this._method || 'warn', 'WARN', args);
|
|
4114
|
+
}
|
|
4115
|
+
return this;
|
|
4116
|
+
}
|
|
4117
|
+
info(...args) {
|
|
4118
|
+
if (this._level >= LoggerLevel.Info) {
|
|
4119
|
+
log(this._method || 'log', 'INFO', args);
|
|
4120
|
+
}
|
|
4121
|
+
return this;
|
|
4122
|
+
}
|
|
4123
|
+
debug(...args) {
|
|
4124
|
+
if (this._level >= LoggerLevel.Debug) {
|
|
4125
|
+
log(this._method || 'log', 'DEBUG', args);
|
|
4126
|
+
}
|
|
4127
|
+
return this;
|
|
4128
|
+
}
|
|
4064
4129
|
}
|
|
4065
4130
|
|
|
4066
|
-
var logger
|
|
4131
|
+
var logger = /*#__PURE__*/Object.freeze({
|
|
4067
4132
|
__proto__: null,
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
Info: Info,
|
|
4071
|
-
None: None,
|
|
4072
|
-
Warn: Warn,
|
|
4073
|
-
logger: logger
|
|
4133
|
+
Logger: Logger,
|
|
4134
|
+
get LoggerLevel () { return LoggerLevel; }
|
|
4074
4135
|
});
|
|
4075
4136
|
|
|
4076
4137
|
function normalizePadding(padding) {
|
|
@@ -4509,19 +4570,8 @@
|
|
|
4509
4570
|
};
|
|
4510
4571
|
}
|
|
4511
4572
|
function getElementAbsolutePosition(element) {
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
while (current) {
|
|
4515
|
-
actualLeft += current.offsetLeft;
|
|
4516
|
-
current = current.offsetParent;
|
|
4517
|
-
}
|
|
4518
|
-
let actualTop = element.offsetTop;
|
|
4519
|
-
current = element.offsetParent;
|
|
4520
|
-
while (current) {
|
|
4521
|
-
actualTop += current.offsetTop + current.clientTop;
|
|
4522
|
-
current = current.offsetParent;
|
|
4523
|
-
}
|
|
4524
|
-
return { x: actualLeft, y: actualTop };
|
|
4573
|
+
const { x, y } = element.getBoundingClientRect();
|
|
4574
|
+
return { x, y };
|
|
4525
4575
|
}
|
|
4526
4576
|
function getElementRelativePosition(element, base) {
|
|
4527
4577
|
const posElement = getElementAbsolutePosition(element);
|
|
@@ -4546,26 +4596,18 @@
|
|
|
4546
4596
|
}
|
|
4547
4597
|
return element.scrollTop;
|
|
4548
4598
|
};
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
}
|
|
4562
|
-
return { x: actualLeft, y: actualTop };
|
|
4563
|
-
}
|
|
4564
|
-
function getElementRelativeScrollOffset(element, base) {
|
|
4565
|
-
const posElement = getElementAbsoluteScrollOffset(element);
|
|
4566
|
-
const posBase = getElementAbsoluteScrollOffset(base);
|
|
4567
|
-
return { x: posElement.x - posBase.x, y: posElement.y - posBase.y };
|
|
4568
|
-
}
|
|
4599
|
+
const getScaleX = (element) => {
|
|
4600
|
+
return element.getBoundingClientRect().width / element.offsetWidth;
|
|
4601
|
+
};
|
|
4602
|
+
const getScaleY = (element) => {
|
|
4603
|
+
return element.getBoundingClientRect().height / element.offsetHeight;
|
|
4604
|
+
};
|
|
4605
|
+
const getScale = (element) => {
|
|
4606
|
+
if (element.offsetWidth > 0) {
|
|
4607
|
+
return getScaleX(element);
|
|
4608
|
+
}
|
|
4609
|
+
return getScaleY(element);
|
|
4610
|
+
};
|
|
4569
4611
|
function hasParentElement(element, target) {
|
|
4570
4612
|
let parent = element.parentNode;
|
|
4571
4613
|
while (parent !== null) {
|
|
@@ -4689,7 +4731,7 @@
|
|
|
4689
4731
|
exports.HashTable = HashTable;
|
|
4690
4732
|
exports.HashValue = HashValue;
|
|
4691
4733
|
exports.LRU = LRU;
|
|
4692
|
-
exports.Logger = logger
|
|
4734
|
+
exports.Logger = logger;
|
|
4693
4735
|
exports.MINUTE = MINUTE;
|
|
4694
4736
|
exports.MONTH = MONTH;
|
|
4695
4737
|
exports.Matrix = Matrix;
|
|
@@ -4754,14 +4796,17 @@
|
|
|
4754
4796
|
exports.getContainerSize = getContainerSize;
|
|
4755
4797
|
exports.getContextFont = getContextFont;
|
|
4756
4798
|
exports.getElementAbsolutePosition = getElementAbsolutePosition;
|
|
4757
|
-
exports.getElementAbsoluteScrollOffset = getElementAbsoluteScrollOffset;
|
|
4758
4799
|
exports.getElementRelativePosition = getElementRelativePosition;
|
|
4759
|
-
exports.getElementRelativeScrollOffset = getElementRelativeScrollOffset;
|
|
4760
4800
|
exports.getFormatFromValue = getFormatFromValue;
|
|
4761
4801
|
exports.getIntersectPoint = getIntersectPoint;
|
|
4762
4802
|
exports.getIntervalOptions = getIntervalOptions;
|
|
4763
4803
|
exports.getOBBFromLine = getOBBFromLine;
|
|
4764
4804
|
exports.getRectIntersect = getRectIntersect;
|
|
4805
|
+
exports.getScale = getScale;
|
|
4806
|
+
exports.getScaleX = getScaleX;
|
|
4807
|
+
exports.getScaleY = getScaleY;
|
|
4808
|
+
exports.getScrollLeft = getScrollLeft;
|
|
4809
|
+
exports.getScrollTop = getScrollTop;
|
|
4765
4810
|
exports.getTestNumbers = getTestNumbers;
|
|
4766
4811
|
exports.getTestWord = getTestWord;
|
|
4767
4812
|
exports.getTimeFormatter = getTimeFormatter;
|