@nextgis/ngw-leaflet 1.18.6 → 1.18.10

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.
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/ngw-leaflet; version: 1.18.6; author: NextGIS */
1
+ /** Bundle of @nextgis/ngw-leaflet; version: 1.18.10; author: NextGIS */
2
2
  import 'leaflet/dist/leaflet.css';
3
3
  import { Icon } from 'leaflet';
4
4
  import { NgwMap } from '@nextgis/ngw-map';
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/ngw-leaflet; version: 1.18.6; author: NextGIS */
1
+ /** Bundle of @nextgis/ngw-leaflet; version: 1.18.10; 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;
@@ -15506,54 +15513,54 @@ var NgwLeaflet = (function () {
15506
15513
  return value;
15507
15514
  };
15508
15515
  var typeExpressions = {
15509
- array: array,
15510
- boolean: fallback(function (arg) { return (typeof arg === 'boolean' ? arg : undefined); }),
15511
- literal: function (_a) {
15516
+ array: evaluateArgs(array),
15517
+ boolean: evaluateArgs(fallback(function (arg) { return (typeof arg === 'boolean' ? arg : undefined); })),
15518
+ literal: evaluateArgs(function (_a) {
15512
15519
  var arg = _a[0];
15513
15520
  return arg;
15514
- },
15515
- number: fallback(function (arg) { return (typeof arg === 'number' ? arg : undefined); }),
15516
- object: fallback(function (arg) {
15521
+ }),
15522
+ number: evaluateArgs(fallback(function (arg) { return (typeof arg === 'number' ? arg : undefined); })),
15523
+ object: evaluateArgs(fallback(function (arg) {
15517
15524
  return arg !== null && typeof arg === 'object' && !Array.isArray(arg)
15518
15525
  ? arg
15519
15526
  : 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) {
15527
+ })),
15528
+ string: evaluateArgs(fallback(function (arg) { return (typeof arg === 'string' ? arg : undefined); })),
15529
+ 'to-boolean': evaluateArgs(fallback(Boolean)),
15530
+ 'to-number': evaluateArgs(fallback(Number)),
15531
+ 'to-string': evaluateArgs(fallback(String)),
15532
+ typeof: evaluateArgs(function (_a) {
15526
15533
  var arg = _a[0];
15527
15534
  return typeof arg;
15528
- },
15535
+ }),
15529
15536
  };
15530
15537
 
15531
15538
  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]); },
15539
+ '+': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a + b; }, 0); }),
15540
+ '-': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a - b; }); }),
15541
+ '*': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a * b; }, 1); }),
15542
+ '/': evaluateArgs(function (args) { return args.reduce(function (a, b) { return a / b; }); }),
15543
+ '%': evaluateArgs(function (args) { return args[0] % args[1]; }),
15544
+ '^': evaluateArgs(function (args) { return Math.pow(args[0], args[1]); }),
15545
+ abs: evaluateArgs(function (args) { return Math.abs(args[0]); }),
15546
+ acos: evaluateArgs(function (args) { return Math.acos(args[0]); }),
15547
+ asin: evaluateArgs(function (args) { return Math.asin(args[0]); }),
15548
+ atan: evaluateArgs(function (args) { return Math.atan(args[0]); }),
15549
+ ceil: evaluateArgs(function (args) { return Math.ceil(args[0]); }),
15550
+ cos: evaluateArgs(function (args) { return Math.cos(args[0]); }),
15544
15551
  e: function () { return Math.E; },
15545
- floor: function (args) { return Math.floor(args[0]); },
15546
- ln: function (args) { return Math.log(args[0]); },
15552
+ floor: evaluateArgs(function (args) { return Math.floor(args[0]); }),
15553
+ ln: evaluateArgs(function (args) { return Math.log(args[0]); }),
15547
15554
  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); },
15555
+ log10: evaluateArgs(function (args) { return Math.log10(args[0]); }),
15556
+ log2: evaluateArgs(function (args) { return Math.log2(args[0]); }),
15557
+ max: evaluateArgs(function (args) { return Math.max.apply(Math, args); }),
15558
+ min: evaluateArgs(function (args) { return Math.min.apply(Math, args); }),
15552
15559
  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]); },
15560
+ round: evaluateArgs(function (args) { return Math.round(args[0]); }),
15561
+ sin: evaluateArgs(function (args) { return Math.sin(args[0]); }),
15562
+ sqrt: evaluateArgs(function (args) { return Math.sqrt(args[0]); }),
15563
+ tan: evaluateArgs(function (args) { return Math.tan(args[0]); }),
15557
15564
  };
15558
15565
 
15559
15566
  function get(_a, data) {
@@ -15611,19 +15618,19 @@ var NgwLeaflet = (function () {
15611
15618
  throw new Error("Invalid input type for 'slice'. Expected string or array, got ".concat(typeof input, "."));
15612
15619
  }
15613
15620
  var lookupExpressions = {
15614
- get: get,
15615
- length: length,
15616
- at: at,
15617
- has: has,
15618
- in: inFunc,
15619
- 'index-of': indexOf,
15620
- slice: slice,
15621
+ get: evaluateArgs(get),
15622
+ length: evaluateArgs(length),
15623
+ at: evaluateArgs(at),
15624
+ has: evaluateArgs(has),
15625
+ in: evaluateArgs(inFunc),
15626
+ 'index-of': evaluateArgs(indexOf),
15627
+ slice: evaluateArgs(slice),
15621
15628
  };
15622
15629
 
15623
15630
  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(); },
15631
+ concat: evaluateArgs(function (args) { return args.reduce(function (a, b) { return String(a) + String(b); }, ''); }),
15632
+ downcase: evaluateArgs(function (args) { return String(args[0]).toLowerCase(); }),
15633
+ upcase: evaluateArgs(function (args) { return String(args[0]).toUpperCase(); }),
15627
15634
  };
15628
15635
 
15629
15636
  function not(_a) {
@@ -15666,85 +15673,87 @@ var NgwLeaflet = (function () {
15666
15673
  checkCompareValues([left, right]);
15667
15674
  return left >= right;
15668
15675
  }
15669
- function all(args) {
15676
+ var all = function (args) {
15670
15677
  for (var i = 0; i < args.length; i++) {
15671
- var arg = args[i];
15678
+ var arg = args[i]();
15672
15679
  if (!arg) {
15673
15680
  return false;
15674
15681
  }
15675
15682
  }
15676
15683
  return true;
15677
- }
15678
- function any(args) {
15684
+ };
15685
+ var any = function (args) {
15679
15686
  for (var i = 0; i < args.length; i++) {
15680
- var arg = args[i];
15687
+ var arg = args[i]();
15681
15688
  if (arg) {
15682
15689
  return true;
15683
15690
  }
15684
15691
  }
15685
15692
  return false;
15686
- }
15687
- function match(args) {
15688
- var lookup = args[0], cases = args.slice(1);
15693
+ };
15694
+ var match = function (args) {
15695
+ var lookupFn = args[0], cases = args.slice(1);
15696
+ var lookup = lookupFn();
15689
15697
  // remove last odd item from cases array
15690
15698
  var defValue = cases.splice(-1, cases.length % 2)[0];
15691
15699
  for (var fry = 0; fry < cases.length - 1; fry += 2) {
15692
- var key = cases[fry];
15700
+ var key = cases[fry]();
15693
15701
  if (key === lookup) {
15694
- return cases[fry + 1];
15702
+ return cases[fry + 1]();
15695
15703
  }
15696
15704
  }
15697
- return defValue;
15698
- }
15699
- function caseFunc(args) {
15705
+ return defValue();
15706
+ };
15707
+ var caseFunc = function (args) {
15700
15708
  if (args.length < 2) {
15701
15709
  throw new Error('The "case" function requires at least a condition and a corresponding output.');
15702
15710
  }
15703
- var fallback = args[args.length - 1];
15704
15711
  if (args.length % 2 === 0) {
15705
15712
  throw new Error('Missing a fallback value or unmatched condition-output pair.');
15706
15713
  }
15707
15714
  for (var i = 0; i < args.length - 1; i += 2) {
15708
- var condition = args[i];
15709
- var value = args[i + 1];
15715
+ var condition = args[i]();
15716
+ var value = args[i + 1]();
15710
15717
  if (condition) {
15711
15718
  return value;
15712
15719
  }
15713
15720
  }
15714
- return fallback;
15715
- }
15721
+ var fallback = args[args.length - 1];
15722
+ return fallback();
15723
+ };
15716
15724
  var decisionExpressions = {
15717
- '!': not,
15718
- '!=': notEqual,
15719
- '<': lessThan,
15720
- '<=': lessThanOrEqual,
15721
- '==': equal,
15722
- '>': greaterThan,
15723
- '>=': greaterThanOrEqual,
15725
+ '!': evaluateArgs(not),
15726
+ '!=': evaluateArgs(notEqual),
15727
+ '<': evaluateArgs(lessThan),
15728
+ '<=': evaluateArgs(lessThanOrEqual),
15729
+ '==': evaluateArgs(equal),
15730
+ '>': evaluateArgs(greaterThan),
15731
+ '>=': evaluateArgs(greaterThanOrEqual),
15724
15732
  all: all,
15725
15733
  any: any,
15726
15734
  case: caseFunc,
15727
15735
  match: match,
15728
15736
  };
15729
15737
 
15730
- function step(args) {
15731
- var input = args[0], defaultValue = args[1], stops = args.slice(2);
15738
+ var step = function (args) {
15739
+ var inputFn = args[0], defaultValue = args[1], stops = args.slice(2);
15740
+ var input = inputFn();
15732
15741
  if (typeof input !== 'number') {
15733
- return defaultValue;
15742
+ return defaultValue();
15734
15743
  }
15735
15744
  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];
15745
+ var stopInput = stops[i]();
15746
+ var stopOutput = stops[i + 1]();
15747
+ var nextStopInput = stops[i + 2]();
15739
15748
  if (input >= stopInput && input < nextStopInput) {
15740
15749
  return stopOutput;
15741
15750
  }
15742
15751
  }
15743
- if (input >= stops[stops.length - 2]) {
15744
- return stops[stops.length - 1];
15752
+ if (input >= stops[stops.length - 2]()) {
15753
+ return stops[stops.length - 1]();
15745
15754
  }
15746
- return defaultValue;
15747
- }
15755
+ return defaultValue();
15756
+ };
15748
15757
 
15749
15758
  var COLORS = {
15750
15759
  aliceblue: '#f0f8ff',
@@ -16014,22 +16023,24 @@ var NgwLeaflet = (function () {
16014
16023
  }
16015
16024
  throw new Error('Unsupported output type for linear interpolation.');
16016
16025
  }
16017
- function interpolate(_a) {
16018
- var interpolation = _a[0], input = _a[1], stops = _a.slice(2);
16026
+ var interpolate = function (_a) {
16027
+ var interpolationFn = _a[0], inputFn = _a[1], stops = _a.slice(2);
16019
16028
  if (stops.length < 2) {
16020
16029
  throw new Error('At least two stops are required');
16021
16030
  }
16022
- if (typeof input !== 'number') {
16023
- throw new Error('Input must be a number.');
16024
- }
16025
16031
  if (stops.length < 2 || stops.length % 2 !== 0) {
16026
16032
  throw new Error('Invalid stops provided.');
16027
16033
  }
16034
+ var input = inputFn();
16035
+ if (typeof input !== 'number') {
16036
+ throw new Error('Input must be a number.');
16037
+ }
16038
+ var interpolation = interpolationFn();
16028
16039
  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];
16040
+ var stopInput1 = stops[i]();
16041
+ var stopOutput1 = stops[i + 1]();
16042
+ var stopInput2 = stops[i + 2]();
16043
+ var stopOutput2 = stops[i + 3]();
16033
16044
  if (input >= stopInput1 && input <= stopInput2) {
16034
16045
  if (interpolation[0] === 'linear') {
16035
16046
  return linearInterpolation(input, stopInput1, stopOutput1, stopInput2, stopOutput2);
@@ -16048,7 +16059,7 @@ var NgwLeaflet = (function () {
16048
16059
  }
16049
16060
  }
16050
16061
  throw new Error('Invalid interpolation type.');
16051
- }
16062
+ };
16052
16063
 
16053
16064
  var interpolationExpressions = {
16054
16065
  step: step,
@@ -16072,7 +16083,7 @@ var NgwLeaflet = (function () {
16072
16083
  var name = expression[0], args = expression.slice(1);
16073
16084
  var expressionFun = expressions[name];
16074
16085
  if (expressionFun) {
16075
- return expressionFun(args.map(function (arg) { return (isExpression(arg) ? evaluate(arg, data) : arg); }), data);
16086
+ return expressionFun(args.map(function (arg) { return function () { return isExpression(arg) ? evaluate(arg, data) : arg; }; }), data);
16076
16087
  }
16077
16088
  throw new Error("Expression \"".concat(name, "\" is not supported."));
16078
16089
  }
@@ -20053,8 +20064,11 @@ var NgwLeaflet = (function () {
20053
20064
  }
20054
20065
  function updateItemRequestParam(params, options) {
20055
20066
  var extensions = options.extensions, geom = options.geom, fields = options.fields, srs = options.srs, ilike = options.ilike, like = options.like;
20056
- if (extensions) {
20057
- params.extensions = extensions.join(',');
20067
+ // Empty extesions by default
20068
+ var extensionsStr = extensions ? extensions.join(',') : '';
20069
+ // Use character * to set all extensions
20070
+ if (extensionsStr !== '*') {
20071
+ params.extensions = extensionsStr;
20058
20072
  }
20059
20073
  if (fields !== undefined) {
20060
20074
  params.fields = Array.isArray(fields) ? fields.join(',') : '';