@nextgis/ngw-leaflet 1.18.9 → 1.18.11
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/lib/ngw-leaflet.esm-browser.js +143 -102
- package/lib/ngw-leaflet.esm-browser.js.map +1 -1
- package/lib/ngw-leaflet.esm-browser.prod.js +2 -2
- package/lib/ngw-leaflet.esm-browser.prod.js.map +1 -1
- package/lib/ngw-leaflet.esm-bundler.js +1 -1
- package/lib/ngw-leaflet.global.js +145 -105
- package/lib/ngw-leaflet.global.js.map +1 -1
- package/lib/ngw-leaflet.global.prod.js +2 -2
- package/lib/ngw-leaflet.global.prod.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Bundle of @nextgis/ngw-leaflet; version: 1.18.
|
|
1
|
+
/** Bundle of @nextgis/ngw-leaflet; version: 1.18.11; author: NextGIS */
|
|
2
2
|
var NgwLeaflet = (function () {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -15475,6 +15475,13 @@ var NgwLeaflet = (function () {
|
|
|
15475
15475
|
};
|
|
15476
15476
|
}
|
|
15477
15477
|
|
|
15478
|
+
function evaluateArgs(cb) {
|
|
15479
|
+
return function (args, data) {
|
|
15480
|
+
var unwrap = args.map(function (a) { return a(); });
|
|
15481
|
+
return cb(unwrap, data);
|
|
15482
|
+
};
|
|
15483
|
+
}
|
|
15484
|
+
|
|
15478
15485
|
var array = function (args) {
|
|
15479
15486
|
var firstArg = args[0], secondArg = args[1], thirdArg = args[2];
|
|
15480
15487
|
var requiredType = undefined;
|
|
@@ -15505,55 +15512,86 @@ var NgwLeaflet = (function () {
|
|
|
15505
15512
|
}
|
|
15506
15513
|
return value;
|
|
15507
15514
|
};
|
|
15515
|
+
function typeOfValue(value) {
|
|
15516
|
+
if (value === null)
|
|
15517
|
+
return 'null';
|
|
15518
|
+
switch (typeof value) {
|
|
15519
|
+
case 'string':
|
|
15520
|
+
return 'string';
|
|
15521
|
+
case 'number':
|
|
15522
|
+
return 'number';
|
|
15523
|
+
case 'boolean':
|
|
15524
|
+
return 'boolean';
|
|
15525
|
+
case 'object':
|
|
15526
|
+
if (Array.isArray(value)) {
|
|
15527
|
+
var arrayType = 'value';
|
|
15528
|
+
if (value.every(function (item) { return typeof item === 'number'; })) {
|
|
15529
|
+
arrayType = 'number';
|
|
15530
|
+
}
|
|
15531
|
+
else if (value.every(function (item) { return typeof item === 'string'; })) {
|
|
15532
|
+
arrayType = 'string';
|
|
15533
|
+
}
|
|
15534
|
+
else if (value.every(function (item) { return typeof item === 'boolean'; })) {
|
|
15535
|
+
arrayType = 'boolean';
|
|
15536
|
+
}
|
|
15537
|
+
return "array<".concat(arrayType, ", ").concat(value.length, ">");
|
|
15538
|
+
}
|
|
15539
|
+
else {
|
|
15540
|
+
return 'object';
|
|
15541
|
+
}
|
|
15542
|
+
default:
|
|
15543
|
+
return 'undefined';
|
|
15544
|
+
}
|
|
15545
|
+
}
|
|
15508
15546
|
var typeExpressions = {
|
|
15509
|
-
array: array,
|
|
15510
|
-
boolean: fallback(function (arg) { return (typeof arg === 'boolean' ? arg : undefined); }),
|
|
15511
|
-
literal: function (_a) {
|
|
15547
|
+
array: evaluateArgs(array),
|
|
15548
|
+
boolean: evaluateArgs(fallback(function (arg) { return (typeof arg === 'boolean' ? arg : undefined); })),
|
|
15549
|
+
literal: evaluateArgs(function (_a) {
|
|
15512
15550
|
var arg = _a[0];
|
|
15513
15551
|
return arg;
|
|
15514
|
-
},
|
|
15515
|
-
number: fallback(function (arg) { return (typeof arg === 'number' ? arg : undefined); }),
|
|
15516
|
-
object: fallback(function (arg) {
|
|
15552
|
+
}),
|
|
15553
|
+
number: evaluateArgs(fallback(function (arg) { return (typeof arg === 'number' ? arg : undefined); })),
|
|
15554
|
+
object: evaluateArgs(fallback(function (arg) {
|
|
15517
15555
|
return arg !== null && typeof arg === 'object' && !Array.isArray(arg)
|
|
15518
15556
|
? arg
|
|
15519
15557
|
: undefined;
|
|
15520
|
-
}),
|
|
15521
|
-
string: fallback(function (arg) { return (typeof arg === 'string' ? arg : undefined); }),
|
|
15522
|
-
'to-boolean': fallback(Boolean),
|
|
15523
|
-
'to-number': fallback(Number),
|
|
15524
|
-
'to-string': fallback(String),
|
|
15525
|
-
typeof: function (_a) {
|
|
15558
|
+
})),
|
|
15559
|
+
string: evaluateArgs(fallback(function (arg) { return (typeof arg === 'string' ? arg : undefined); })),
|
|
15560
|
+
'to-boolean': evaluateArgs(fallback(Boolean)),
|
|
15561
|
+
'to-number': evaluateArgs(fallback(Number)),
|
|
15562
|
+
'to-string': evaluateArgs(fallback(String)),
|
|
15563
|
+
typeof: evaluateArgs(function (_a) {
|
|
15526
15564
|
var arg = _a[0];
|
|
15527
|
-
return
|
|
15528
|
-
},
|
|
15565
|
+
return typeOfValue(arg);
|
|
15566
|
+
}),
|
|
15529
15567
|
};
|
|
15530
15568
|
|
|
15531
15569
|
var mathExpressions = {
|
|
15532
|
-
'+': function (args) { return args.reduce(function (a, b) { return a + b; }, 0); },
|
|
15533
|
-
'-': function (args) { return args.reduce(function (a, b) { return a - b; }); },
|
|
15534
|
-
'*': function (args) { return args.reduce(function (a, b) { return a * b; }, 1); },
|
|
15535
|
-
'/': function (args) { return args.reduce(function (a, b) { return a / b; }); },
|
|
15536
|
-
'%': function (args) { return args[0] % args[1]; },
|
|
15537
|
-
'^': function (args) { return Math.pow(args[0], args[1]); },
|
|
15538
|
-
abs: function (args) { return Math.abs(args[0]); },
|
|
15539
|
-
acos: function (args) { return Math.acos(args[0]); },
|
|
15540
|
-
asin: function (args) { return Math.asin(args[0]); },
|
|
15541
|
-
atan: function (args) { return Math.atan(args[0]); },
|
|
15542
|
-
ceil: function (args) { return Math.ceil(args[0]); },
|
|
15543
|
-
cos: function (args) { return Math.cos(args[0]); },
|
|
15570
|
+
'+': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a + b; }, 0); }),
|
|
15571
|
+
'-': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a - b; }); }),
|
|
15572
|
+
'*': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a * b; }, 1); }),
|
|
15573
|
+
'/': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a / b; }); }),
|
|
15574
|
+
'%': evaluateArgs(function (args) { return args[0] % args[1]; }),
|
|
15575
|
+
'^': evaluateArgs(function (args) { return Math.pow(args[0], args[1]); }),
|
|
15576
|
+
abs: evaluateArgs(function (args) { return Math.abs(args[0]); }),
|
|
15577
|
+
acos: evaluateArgs(function (args) { return Math.acos(args[0]); }),
|
|
15578
|
+
asin: evaluateArgs(function (args) { return Math.asin(args[0]); }),
|
|
15579
|
+
atan: evaluateArgs(function (args) { return Math.atan(args[0]); }),
|
|
15580
|
+
ceil: evaluateArgs(function (args) { return Math.ceil(args[0]); }),
|
|
15581
|
+
cos: evaluateArgs(function (args) { return Math.cos(args[0]); }),
|
|
15544
15582
|
e: function () { return Math.E; },
|
|
15545
|
-
floor: function (args) { return Math.floor(args[0]); },
|
|
15546
|
-
ln: function (args) { return Math.log(args[0]); },
|
|
15583
|
+
floor: evaluateArgs(function (args) { return Math.floor(args[0]); }),
|
|
15584
|
+
ln: evaluateArgs(function (args) { return Math.log(args[0]); }),
|
|
15547
15585
|
ln2: function () { return Math.LN2; },
|
|
15548
|
-
log10: function (args) { return Math.log10(args[0]); },
|
|
15549
|
-
log2: function (args) { return Math.log2(args[0]); },
|
|
15550
|
-
max: function (args) { return Math.max.apply(Math, args); },
|
|
15551
|
-
min: function (args) { return Math.min.apply(Math, args); },
|
|
15586
|
+
log10: evaluateArgs(function (args) { return Math.log10(args[0]); }),
|
|
15587
|
+
log2: evaluateArgs(function (args) { return Math.log2(args[0]); }),
|
|
15588
|
+
max: evaluateArgs(function (args) { return Math.max.apply(Math, args); }),
|
|
15589
|
+
min: evaluateArgs(function (args) { return Math.min.apply(Math, args); }),
|
|
15552
15590
|
pi: function () { return Math.PI; },
|
|
15553
|
-
round: function (args) { return Math.round(args[0]); },
|
|
15554
|
-
sin: function (args) { return Math.sin(args[0]); },
|
|
15555
|
-
sqrt: function (args) { return Math.sqrt(args[0]); },
|
|
15556
|
-
tan: function (args) { return Math.tan(args[0]); },
|
|
15591
|
+
round: evaluateArgs(function (args) { return Math.round(args[0]); }),
|
|
15592
|
+
sin: evaluateArgs(function (args) { return Math.sin(args[0]); }),
|
|
15593
|
+
sqrt: evaluateArgs(function (args) { return Math.sqrt(args[0]); }),
|
|
15594
|
+
tan: evaluateArgs(function (args) { return Math.tan(args[0]); }),
|
|
15557
15595
|
};
|
|
15558
15596
|
|
|
15559
15597
|
function get(_a, data) {
|
|
@@ -15611,140 +15649,140 @@ var NgwLeaflet = (function () {
|
|
|
15611
15649
|
throw new Error("Invalid input type for 'slice'. Expected string or array, got ".concat(typeof input, "."));
|
|
15612
15650
|
}
|
|
15613
15651
|
var lookupExpressions = {
|
|
15614
|
-
get: get,
|
|
15615
|
-
length: length,
|
|
15616
|
-
at: at,
|
|
15617
|
-
has: has,
|
|
15618
|
-
in: inFunc,
|
|
15619
|
-
'index-of': indexOf,
|
|
15620
|
-
slice: slice,
|
|
15652
|
+
get: evaluateArgs(get),
|
|
15653
|
+
length: evaluateArgs(length),
|
|
15654
|
+
at: evaluateArgs(at),
|
|
15655
|
+
has: evaluateArgs(has),
|
|
15656
|
+
in: evaluateArgs(inFunc),
|
|
15657
|
+
'index-of': evaluateArgs(indexOf),
|
|
15658
|
+
slice: evaluateArgs(slice),
|
|
15621
15659
|
};
|
|
15622
15660
|
|
|
15623
15661
|
var stringExpressions = {
|
|
15624
|
-
concat: function (args) { return args.reduce(function (a, b) { return String(a) + String(b); }, ''); },
|
|
15625
|
-
downcase: function (args) { return String(args[0]).toLowerCase(); },
|
|
15626
|
-
upcase: function (args) { return String(args[0]).toUpperCase(); },
|
|
15662
|
+
concat: evaluateArgs(function (args) { return args.reduce(function (a, b) { return String(a) + String(b); }, ''); }),
|
|
15663
|
+
downcase: evaluateArgs(function (args) { return String(args[0]).toLowerCase(); }),
|
|
15664
|
+
upcase: evaluateArgs(function (args) { return String(args[0]).toUpperCase(); }),
|
|
15627
15665
|
};
|
|
15628
15666
|
|
|
15629
15667
|
function not(_a) {
|
|
15630
15668
|
var expr = _a[0];
|
|
15631
15669
|
return !expr;
|
|
15632
15670
|
}
|
|
15633
|
-
var checkCompareValues = function (_a) {
|
|
15634
|
-
var a = _a[0], b = _a[1];
|
|
15635
|
-
if (typeof a !== typeof b) {
|
|
15636
|
-
throw new Error('Values have different types.');
|
|
15637
|
-
}
|
|
15638
|
-
};
|
|
15639
15671
|
function notEqual(_a) {
|
|
15640
15672
|
var a = _a[0], b = _a[1];
|
|
15641
|
-
checkCompareValues([a, b]);
|
|
15642
15673
|
return a !== b;
|
|
15643
15674
|
}
|
|
15644
15675
|
function lessThan(_a) {
|
|
15645
15676
|
var left = _a[0], right = _a[1];
|
|
15646
|
-
checkCompareValues([left, right]);
|
|
15647
15677
|
return left < right;
|
|
15648
15678
|
}
|
|
15649
15679
|
function lessThanOrEqual(_a) {
|
|
15650
15680
|
var left = _a[0], right = _a[1];
|
|
15651
|
-
checkCompareValues([left, right]);
|
|
15652
15681
|
return left <= right;
|
|
15653
15682
|
}
|
|
15654
15683
|
function equal(_a) {
|
|
15655
15684
|
var left = _a[0], right = _a[1];
|
|
15656
|
-
checkCompareValues([left, right]);
|
|
15657
15685
|
return left === right;
|
|
15658
15686
|
}
|
|
15659
15687
|
function greaterThan(_a) {
|
|
15660
15688
|
var left = _a[0], right = _a[1];
|
|
15661
|
-
checkCompareValues([left, right]);
|
|
15662
15689
|
return left > right;
|
|
15663
15690
|
}
|
|
15664
15691
|
function greaterThanOrEqual(_a) {
|
|
15665
15692
|
var left = _a[0], right = _a[1];
|
|
15666
|
-
checkCompareValues([left, right]);
|
|
15667
15693
|
return left >= right;
|
|
15668
15694
|
}
|
|
15669
|
-
function
|
|
15695
|
+
var coalesce = function (args) {
|
|
15670
15696
|
for (var i = 0; i < args.length; i++) {
|
|
15671
|
-
var arg = args[i];
|
|
15697
|
+
var arg = args[i]();
|
|
15698
|
+
if (arg !== null && arg !== undefined) {
|
|
15699
|
+
return arg;
|
|
15700
|
+
}
|
|
15701
|
+
}
|
|
15702
|
+
return null;
|
|
15703
|
+
};
|
|
15704
|
+
var all = function (args) {
|
|
15705
|
+
for (var i = 0; i < args.length; i++) {
|
|
15706
|
+
var arg = args[i]();
|
|
15672
15707
|
if (!arg) {
|
|
15673
15708
|
return false;
|
|
15674
15709
|
}
|
|
15675
15710
|
}
|
|
15676
15711
|
return true;
|
|
15677
|
-
}
|
|
15678
|
-
function
|
|
15712
|
+
};
|
|
15713
|
+
var any = function (args) {
|
|
15679
15714
|
for (var i = 0; i < args.length; i++) {
|
|
15680
|
-
var arg = args[i];
|
|
15715
|
+
var arg = args[i]();
|
|
15681
15716
|
if (arg) {
|
|
15682
15717
|
return true;
|
|
15683
15718
|
}
|
|
15684
15719
|
}
|
|
15685
15720
|
return false;
|
|
15686
|
-
}
|
|
15687
|
-
function
|
|
15688
|
-
var
|
|
15721
|
+
};
|
|
15722
|
+
var match = function (args) {
|
|
15723
|
+
var lookupFn = args[0], cases = args.slice(1);
|
|
15724
|
+
var lookup = lookupFn();
|
|
15689
15725
|
// remove last odd item from cases array
|
|
15690
15726
|
var defValue = cases.splice(-1, cases.length % 2)[0];
|
|
15691
15727
|
for (var fry = 0; fry < cases.length - 1; fry += 2) {
|
|
15692
|
-
var key = cases[fry];
|
|
15728
|
+
var key = cases[fry]();
|
|
15693
15729
|
if (key === lookup) {
|
|
15694
|
-
return cases[fry + 1];
|
|
15730
|
+
return cases[fry + 1]();
|
|
15695
15731
|
}
|
|
15696
15732
|
}
|
|
15697
|
-
return defValue;
|
|
15698
|
-
}
|
|
15699
|
-
function
|
|
15733
|
+
return defValue();
|
|
15734
|
+
};
|
|
15735
|
+
var caseFunc = function (args) {
|
|
15700
15736
|
if (args.length < 2) {
|
|
15701
15737
|
throw new Error('The "case" function requires at least a condition and a corresponding output.');
|
|
15702
15738
|
}
|
|
15703
|
-
var fallback = args[args.length - 1];
|
|
15704
15739
|
if (args.length % 2 === 0) {
|
|
15705
15740
|
throw new Error('Missing a fallback value or unmatched condition-output pair.');
|
|
15706
15741
|
}
|
|
15707
15742
|
for (var i = 0; i < args.length - 1; i += 2) {
|
|
15708
|
-
var condition = args[i];
|
|
15709
|
-
var value = args[i + 1];
|
|
15743
|
+
var condition = args[i]();
|
|
15744
|
+
var value = args[i + 1]();
|
|
15710
15745
|
if (condition) {
|
|
15711
15746
|
return value;
|
|
15712
15747
|
}
|
|
15713
15748
|
}
|
|
15714
|
-
|
|
15715
|
-
|
|
15749
|
+
var fallback = args[args.length - 1];
|
|
15750
|
+
return fallback();
|
|
15751
|
+
};
|
|
15716
15752
|
var decisionExpressions = {
|
|
15717
|
-
'!': not,
|
|
15718
|
-
'!=': notEqual,
|
|
15719
|
-
'<': lessThan,
|
|
15720
|
-
'<=': lessThanOrEqual,
|
|
15721
|
-
'==': equal,
|
|
15722
|
-
'>': greaterThan,
|
|
15723
|
-
'>=': greaterThanOrEqual,
|
|
15753
|
+
'!': evaluateArgs(not),
|
|
15754
|
+
'!=': evaluateArgs(notEqual),
|
|
15755
|
+
'<': evaluateArgs(lessThan),
|
|
15756
|
+
'<=': evaluateArgs(lessThanOrEqual),
|
|
15757
|
+
'==': evaluateArgs(equal),
|
|
15758
|
+
'>': evaluateArgs(greaterThan),
|
|
15759
|
+
'>=': evaluateArgs(greaterThanOrEqual),
|
|
15760
|
+
coalesce: coalesce,
|
|
15724
15761
|
all: all,
|
|
15725
15762
|
any: any,
|
|
15726
15763
|
case: caseFunc,
|
|
15727
15764
|
match: match,
|
|
15728
15765
|
};
|
|
15729
15766
|
|
|
15730
|
-
function
|
|
15731
|
-
var
|
|
15767
|
+
var step = function (args) {
|
|
15768
|
+
var inputFn = args[0], defaultValue = args[1], stops = args.slice(2);
|
|
15769
|
+
var input = inputFn();
|
|
15732
15770
|
if (typeof input !== 'number') {
|
|
15733
|
-
return defaultValue;
|
|
15771
|
+
return defaultValue();
|
|
15734
15772
|
}
|
|
15735
15773
|
for (var i = 0; i < stops.length - 2; i += 2) {
|
|
15736
|
-
var stopInput = stops[i];
|
|
15737
|
-
var stopOutput = stops[i + 1];
|
|
15738
|
-
var nextStopInput = stops[i + 2];
|
|
15774
|
+
var stopInput = stops[i]();
|
|
15775
|
+
var stopOutput = stops[i + 1]();
|
|
15776
|
+
var nextStopInput = stops[i + 2]();
|
|
15739
15777
|
if (input >= stopInput && input < nextStopInput) {
|
|
15740
15778
|
return stopOutput;
|
|
15741
15779
|
}
|
|
15742
15780
|
}
|
|
15743
|
-
if (input >= stops[stops.length - 2]) {
|
|
15744
|
-
return stops[stops.length - 1];
|
|
15781
|
+
if (input >= stops[stops.length - 2]()) {
|
|
15782
|
+
return stops[stops.length - 1]();
|
|
15745
15783
|
}
|
|
15746
|
-
return defaultValue;
|
|
15747
|
-
}
|
|
15784
|
+
return defaultValue();
|
|
15785
|
+
};
|
|
15748
15786
|
|
|
15749
15787
|
var COLORS = {
|
|
15750
15788
|
aliceblue: '#f0f8ff',
|
|
@@ -16014,22 +16052,24 @@ var NgwLeaflet = (function () {
|
|
|
16014
16052
|
}
|
|
16015
16053
|
throw new Error('Unsupported output type for linear interpolation.');
|
|
16016
16054
|
}
|
|
16017
|
-
function
|
|
16018
|
-
var
|
|
16055
|
+
var interpolate = function (_a) {
|
|
16056
|
+
var interpolationFn = _a[0], inputFn = _a[1], stops = _a.slice(2);
|
|
16019
16057
|
if (stops.length < 2) {
|
|
16020
16058
|
throw new Error('At least two stops are required');
|
|
16021
16059
|
}
|
|
16022
|
-
if (typeof input !== 'number') {
|
|
16023
|
-
throw new Error('Input must be a number.');
|
|
16024
|
-
}
|
|
16025
16060
|
if (stops.length < 2 || stops.length % 2 !== 0) {
|
|
16026
16061
|
throw new Error('Invalid stops provided.');
|
|
16027
16062
|
}
|
|
16063
|
+
var input = inputFn();
|
|
16064
|
+
if (typeof input !== 'number') {
|
|
16065
|
+
throw new Error('Input must be a number.');
|
|
16066
|
+
}
|
|
16067
|
+
var interpolation = interpolationFn();
|
|
16028
16068
|
for (var i = 0; i < stops.length - 2; i += 2) {
|
|
16029
|
-
var stopInput1 = stops[i];
|
|
16030
|
-
var stopOutput1 = stops[i + 1];
|
|
16031
|
-
var stopInput2 = stops[i + 2];
|
|
16032
|
-
var stopOutput2 = stops[i + 3];
|
|
16069
|
+
var stopInput1 = stops[i]();
|
|
16070
|
+
var stopOutput1 = stops[i + 1]();
|
|
16071
|
+
var stopInput2 = stops[i + 2]();
|
|
16072
|
+
var stopOutput2 = stops[i + 3]();
|
|
16033
16073
|
if (input >= stopInput1 && input <= stopInput2) {
|
|
16034
16074
|
if (interpolation[0] === 'linear') {
|
|
16035
16075
|
return linearInterpolation(input, stopInput1, stopOutput1, stopInput2, stopOutput2);
|
|
@@ -16048,7 +16088,7 @@ var NgwLeaflet = (function () {
|
|
|
16048
16088
|
}
|
|
16049
16089
|
}
|
|
16050
16090
|
throw new Error('Invalid interpolation type.');
|
|
16051
|
-
}
|
|
16091
|
+
};
|
|
16052
16092
|
|
|
16053
16093
|
var interpolationExpressions = {
|
|
16054
16094
|
step: step,
|
|
@@ -16072,7 +16112,7 @@ var NgwLeaflet = (function () {
|
|
|
16072
16112
|
var name = expression[0], args = expression.slice(1);
|
|
16073
16113
|
var expressionFun = expressions[name];
|
|
16074
16114
|
if (expressionFun) {
|
|
16075
|
-
return expressionFun(args.map(function (arg) { return (isExpression(arg) ? evaluate(arg, data) : arg
|
|
16115
|
+
return expressionFun(args.map(function (arg) { return function () { return isExpression(arg) ? evaluate(arg, data) : arg; }; }), data);
|
|
16076
16116
|
}
|
|
16077
16117
|
throw new Error("Expression \"".concat(name, "\" is not supported."));
|
|
16078
16118
|
}
|