@cosmotech/core 1.14.1 → 1.15.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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## **1.15.0** <sub><sup>2023-10-26 (c41f4a6...e39934b)</sup></sub>
2
+
3
+ ### Features
4
+
5
+ - add sorting function for lists of resources \(e\.g\. scenarios or datasets\) ([ab6d2e7](https://github.com/Cosmo-Tech/webapp-component-core/commit/ab6d2e7))
6
+
1
7
  ## **1.14.1** <sub><sup>2023-10-06 (2571879...4bc5cc3)</sup></sub>
2
8
 
3
9
  - update dependencies
package/dist/index.cjs.js CHANGED
@@ -42500,6 +42500,248 @@ var ScenarioUtils = {
42500
42500
  countScenariosInTree
42501
42501
  };
42502
42502
 
42503
+ var rfdc_1 = rfdc;
42504
+
42505
+ function copyBuffer (cur) {
42506
+ if (cur instanceof Buffer) {
42507
+ return Buffer.from(cur)
42508
+ }
42509
+
42510
+ return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)
42511
+ }
42512
+
42513
+ function rfdc (opts) {
42514
+ opts = opts || {};
42515
+
42516
+ if (opts.circles) return rfdcCircles(opts)
42517
+ return opts.proto ? cloneProto : clone
42518
+
42519
+ function cloneArray (a, fn) {
42520
+ var keys = Object.keys(a);
42521
+ var a2 = new Array(keys.length);
42522
+ for (var i = 0; i < keys.length; i++) {
42523
+ var k = keys[i];
42524
+ var cur = a[k];
42525
+ if (typeof cur !== 'object' || cur === null) {
42526
+ a2[k] = cur;
42527
+ } else if (cur instanceof Date) {
42528
+ a2[k] = new Date(cur);
42529
+ } else if (ArrayBuffer.isView(cur)) {
42530
+ a2[k] = copyBuffer(cur);
42531
+ } else {
42532
+ a2[k] = fn(cur);
42533
+ }
42534
+ }
42535
+ return a2
42536
+ }
42537
+
42538
+ function clone (o) {
42539
+ if (typeof o !== 'object' || o === null) return o
42540
+ if (o instanceof Date) return new Date(o)
42541
+ if (Array.isArray(o)) return cloneArray(o, clone)
42542
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))
42543
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))
42544
+ var o2 = {};
42545
+ for (var k in o) {
42546
+ if (Object.hasOwnProperty.call(o, k) === false) continue
42547
+ var cur = o[k];
42548
+ if (typeof cur !== 'object' || cur === null) {
42549
+ o2[k] = cur;
42550
+ } else if (cur instanceof Date) {
42551
+ o2[k] = new Date(cur);
42552
+ } else if (cur instanceof Map) {
42553
+ o2[k] = new Map(cloneArray(Array.from(cur), clone));
42554
+ } else if (cur instanceof Set) {
42555
+ o2[k] = new Set(cloneArray(Array.from(cur), clone));
42556
+ } else if (ArrayBuffer.isView(cur)) {
42557
+ o2[k] = copyBuffer(cur);
42558
+ } else {
42559
+ o2[k] = clone(cur);
42560
+ }
42561
+ }
42562
+ return o2
42563
+ }
42564
+
42565
+ function cloneProto (o) {
42566
+ if (typeof o !== 'object' || o === null) return o
42567
+ if (o instanceof Date) return new Date(o)
42568
+ if (Array.isArray(o)) return cloneArray(o, cloneProto)
42569
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))
42570
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))
42571
+ var o2 = {};
42572
+ for (var k in o) {
42573
+ var cur = o[k];
42574
+ if (typeof cur !== 'object' || cur === null) {
42575
+ o2[k] = cur;
42576
+ } else if (cur instanceof Date) {
42577
+ o2[k] = new Date(cur);
42578
+ } else if (cur instanceof Map) {
42579
+ o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));
42580
+ } else if (cur instanceof Set) {
42581
+ o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));
42582
+ } else if (ArrayBuffer.isView(cur)) {
42583
+ o2[k] = copyBuffer(cur);
42584
+ } else {
42585
+ o2[k] = cloneProto(cur);
42586
+ }
42587
+ }
42588
+ return o2
42589
+ }
42590
+ }
42591
+
42592
+ function rfdcCircles (opts) {
42593
+ var refs = [];
42594
+ var refsNew = [];
42595
+
42596
+ return opts.proto ? cloneProto : clone
42597
+
42598
+ function cloneArray (a, fn) {
42599
+ var keys = Object.keys(a);
42600
+ var a2 = new Array(keys.length);
42601
+ for (var i = 0; i < keys.length; i++) {
42602
+ var k = keys[i];
42603
+ var cur = a[k];
42604
+ if (typeof cur !== 'object' || cur === null) {
42605
+ a2[k] = cur;
42606
+ } else if (cur instanceof Date) {
42607
+ a2[k] = new Date(cur);
42608
+ } else if (ArrayBuffer.isView(cur)) {
42609
+ a2[k] = copyBuffer(cur);
42610
+ } else {
42611
+ var index = refs.indexOf(cur);
42612
+ if (index !== -1) {
42613
+ a2[k] = refsNew[index];
42614
+ } else {
42615
+ a2[k] = fn(cur);
42616
+ }
42617
+ }
42618
+ }
42619
+ return a2
42620
+ }
42621
+
42622
+ function clone (o) {
42623
+ if (typeof o !== 'object' || o === null) return o
42624
+ if (o instanceof Date) return new Date(o)
42625
+ if (Array.isArray(o)) return cloneArray(o, clone)
42626
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))
42627
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))
42628
+ var o2 = {};
42629
+ refs.push(o);
42630
+ refsNew.push(o2);
42631
+ for (var k in o) {
42632
+ if (Object.hasOwnProperty.call(o, k) === false) continue
42633
+ var cur = o[k];
42634
+ if (typeof cur !== 'object' || cur === null) {
42635
+ o2[k] = cur;
42636
+ } else if (cur instanceof Date) {
42637
+ o2[k] = new Date(cur);
42638
+ } else if (cur instanceof Map) {
42639
+ o2[k] = new Map(cloneArray(Array.from(cur), clone));
42640
+ } else if (cur instanceof Set) {
42641
+ o2[k] = new Set(cloneArray(Array.from(cur), clone));
42642
+ } else if (ArrayBuffer.isView(cur)) {
42643
+ o2[k] = copyBuffer(cur);
42644
+ } else {
42645
+ var i = refs.indexOf(cur);
42646
+ if (i !== -1) {
42647
+ o2[k] = refsNew[i];
42648
+ } else {
42649
+ o2[k] = clone(cur);
42650
+ }
42651
+ }
42652
+ }
42653
+ refs.pop();
42654
+ refsNew.pop();
42655
+ return o2
42656
+ }
42657
+
42658
+ function cloneProto (o) {
42659
+ if (typeof o !== 'object' || o === null) return o
42660
+ if (o instanceof Date) return new Date(o)
42661
+ if (Array.isArray(o)) return cloneArray(o, cloneProto)
42662
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))
42663
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))
42664
+ var o2 = {};
42665
+ refs.push(o);
42666
+ refsNew.push(o2);
42667
+ for (var k in o) {
42668
+ var cur = o[k];
42669
+ if (typeof cur !== 'object' || cur === null) {
42670
+ o2[k] = cur;
42671
+ } else if (cur instanceof Date) {
42672
+ o2[k] = new Date(cur);
42673
+ } else if (cur instanceof Map) {
42674
+ o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));
42675
+ } else if (cur instanceof Set) {
42676
+ o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));
42677
+ } else if (ArrayBuffer.isView(cur)) {
42678
+ o2[k] = copyBuffer(cur);
42679
+ } else {
42680
+ var i = refs.indexOf(cur);
42681
+ if (i !== -1) {
42682
+ o2[k] = refsNew[i];
42683
+ } else {
42684
+ o2[k] = cloneProto(cur);
42685
+ }
42686
+ }
42687
+ }
42688
+ refs.pop();
42689
+ refsNew.pop();
42690
+ return o2
42691
+ }
42692
+ }
42693
+
42694
+ var rfdc$1 = /*@__PURE__*/getDefaultExportFromCjs(rfdc_1);
42695
+
42696
+ // Copyright (c) Cosmo Tech.
42697
+ // Licensed under the MIT license.
42698
+
42699
+ var clone = rfdc$1();
42700
+ var sortResourceListByName = resourceList => {
42701
+ if (!Array.isArray(resourceList)) return [];
42702
+ return clone(resourceList).sort((resourceA, resourceB) => resourceA.name.toUpperCase() < resourceB.name.toUpperCase() ? -1 : 1);
42703
+ };
42704
+ var getResourceTree = resourceList => {
42705
+ var sortedList = [];
42706
+ var resourceListCopy = sortResourceListByName(resourceList);
42707
+ var buildResourceTree = (idParent, depth) => {
42708
+ var resourceListToFilter = [];
42709
+ var _loop = function _loop(resource) {
42710
+ var parentNotFound = !resourceList.some(parentScenario => parentScenario.id === resource.parentId);
42711
+ if (resource.parentId === idParent || idParent === null && parentNotFound) {
42712
+ resource.depth = depth;
42713
+ sortedList.push(resource);
42714
+ resourceListToFilter.push(resource);
42715
+ buildResourceTree(resource.id, depth + 1);
42716
+ }
42717
+ };
42718
+ for (var resource of resourceListCopy) {
42719
+ _loop(resource);
42720
+ }
42721
+ resourceListCopy = resourceListCopy.filter(resource => !resourceListToFilter.includes(resource));
42722
+ };
42723
+ buildResourceTree(null, 0);
42724
+ return sortedList;
42725
+ };
42726
+ var getFirstRootResource = resourceList => {
42727
+ if (resourceList.length > 0) {
42728
+ var resourceMasterList = resourceList.filter(resource => resource.parentId === null);
42729
+ if (resourceMasterList.length === 0) {
42730
+ // The list has not root resources: they may not be shared with the current user, or the list may be
42731
+ // corrupted.
42732
+ return sortResourceListByName(resourceList)[0];
42733
+ }
42734
+ return sortResourceListByName(resourceMasterList)[0];
42735
+ } else {
42736
+ return null;
42737
+ }
42738
+ };
42739
+ var ResourceUtils = {
42740
+ sortResourceListByName,
42741
+ getResourceTree,
42742
+ getFirstRootResource
42743
+ };
42744
+
42503
42745
  exports.AgGridUtils = AgGridUtils;
42504
42746
  exports.Auth = Auth;
42505
42747
  exports.AuthDev = AuthDev;
@@ -42509,6 +42751,7 @@ exports.DateUtils = DateUtils;
42509
42751
  exports.Error = Error$1;
42510
42752
  exports.FileBlobUtils = FileBlobUtils;
42511
42753
  exports.PathUtils = PathUtils;
42754
+ exports.ResourceUtils = ResourceUtils;
42512
42755
  exports.ScenarioUtils = ScenarioUtils;
42513
42756
  exports.ValidationUtils = ValidationUtils;
42514
42757
  exports.XLSXUtils = XLSXUtils;
package/dist/index.esm.js CHANGED
@@ -42498,4 +42498,246 @@ var ScenarioUtils = {
42498
42498
  countScenariosInTree
42499
42499
  };
42500
42500
 
42501
- export { AgGridUtils, Auth, AuthDev, CSVUtils, DatasetUtils, DateUtils, Error$1 as Error, FileBlobUtils, PathUtils, ScenarioUtils, ValidationUtils, XLSXUtils };
42501
+ var rfdc_1 = rfdc;
42502
+
42503
+ function copyBuffer (cur) {
42504
+ if (cur instanceof Buffer) {
42505
+ return Buffer.from(cur)
42506
+ }
42507
+
42508
+ return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)
42509
+ }
42510
+
42511
+ function rfdc (opts) {
42512
+ opts = opts || {};
42513
+
42514
+ if (opts.circles) return rfdcCircles(opts)
42515
+ return opts.proto ? cloneProto : clone
42516
+
42517
+ function cloneArray (a, fn) {
42518
+ var keys = Object.keys(a);
42519
+ var a2 = new Array(keys.length);
42520
+ for (var i = 0; i < keys.length; i++) {
42521
+ var k = keys[i];
42522
+ var cur = a[k];
42523
+ if (typeof cur !== 'object' || cur === null) {
42524
+ a2[k] = cur;
42525
+ } else if (cur instanceof Date) {
42526
+ a2[k] = new Date(cur);
42527
+ } else if (ArrayBuffer.isView(cur)) {
42528
+ a2[k] = copyBuffer(cur);
42529
+ } else {
42530
+ a2[k] = fn(cur);
42531
+ }
42532
+ }
42533
+ return a2
42534
+ }
42535
+
42536
+ function clone (o) {
42537
+ if (typeof o !== 'object' || o === null) return o
42538
+ if (o instanceof Date) return new Date(o)
42539
+ if (Array.isArray(o)) return cloneArray(o, clone)
42540
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))
42541
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))
42542
+ var o2 = {};
42543
+ for (var k in o) {
42544
+ if (Object.hasOwnProperty.call(o, k) === false) continue
42545
+ var cur = o[k];
42546
+ if (typeof cur !== 'object' || cur === null) {
42547
+ o2[k] = cur;
42548
+ } else if (cur instanceof Date) {
42549
+ o2[k] = new Date(cur);
42550
+ } else if (cur instanceof Map) {
42551
+ o2[k] = new Map(cloneArray(Array.from(cur), clone));
42552
+ } else if (cur instanceof Set) {
42553
+ o2[k] = new Set(cloneArray(Array.from(cur), clone));
42554
+ } else if (ArrayBuffer.isView(cur)) {
42555
+ o2[k] = copyBuffer(cur);
42556
+ } else {
42557
+ o2[k] = clone(cur);
42558
+ }
42559
+ }
42560
+ return o2
42561
+ }
42562
+
42563
+ function cloneProto (o) {
42564
+ if (typeof o !== 'object' || o === null) return o
42565
+ if (o instanceof Date) return new Date(o)
42566
+ if (Array.isArray(o)) return cloneArray(o, cloneProto)
42567
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))
42568
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))
42569
+ var o2 = {};
42570
+ for (var k in o) {
42571
+ var cur = o[k];
42572
+ if (typeof cur !== 'object' || cur === null) {
42573
+ o2[k] = cur;
42574
+ } else if (cur instanceof Date) {
42575
+ o2[k] = new Date(cur);
42576
+ } else if (cur instanceof Map) {
42577
+ o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));
42578
+ } else if (cur instanceof Set) {
42579
+ o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));
42580
+ } else if (ArrayBuffer.isView(cur)) {
42581
+ o2[k] = copyBuffer(cur);
42582
+ } else {
42583
+ o2[k] = cloneProto(cur);
42584
+ }
42585
+ }
42586
+ return o2
42587
+ }
42588
+ }
42589
+
42590
+ function rfdcCircles (opts) {
42591
+ var refs = [];
42592
+ var refsNew = [];
42593
+
42594
+ return opts.proto ? cloneProto : clone
42595
+
42596
+ function cloneArray (a, fn) {
42597
+ var keys = Object.keys(a);
42598
+ var a2 = new Array(keys.length);
42599
+ for (var i = 0; i < keys.length; i++) {
42600
+ var k = keys[i];
42601
+ var cur = a[k];
42602
+ if (typeof cur !== 'object' || cur === null) {
42603
+ a2[k] = cur;
42604
+ } else if (cur instanceof Date) {
42605
+ a2[k] = new Date(cur);
42606
+ } else if (ArrayBuffer.isView(cur)) {
42607
+ a2[k] = copyBuffer(cur);
42608
+ } else {
42609
+ var index = refs.indexOf(cur);
42610
+ if (index !== -1) {
42611
+ a2[k] = refsNew[index];
42612
+ } else {
42613
+ a2[k] = fn(cur);
42614
+ }
42615
+ }
42616
+ }
42617
+ return a2
42618
+ }
42619
+
42620
+ function clone (o) {
42621
+ if (typeof o !== 'object' || o === null) return o
42622
+ if (o instanceof Date) return new Date(o)
42623
+ if (Array.isArray(o)) return cloneArray(o, clone)
42624
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))
42625
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))
42626
+ var o2 = {};
42627
+ refs.push(o);
42628
+ refsNew.push(o2);
42629
+ for (var k in o) {
42630
+ if (Object.hasOwnProperty.call(o, k) === false) continue
42631
+ var cur = o[k];
42632
+ if (typeof cur !== 'object' || cur === null) {
42633
+ o2[k] = cur;
42634
+ } else if (cur instanceof Date) {
42635
+ o2[k] = new Date(cur);
42636
+ } else if (cur instanceof Map) {
42637
+ o2[k] = new Map(cloneArray(Array.from(cur), clone));
42638
+ } else if (cur instanceof Set) {
42639
+ o2[k] = new Set(cloneArray(Array.from(cur), clone));
42640
+ } else if (ArrayBuffer.isView(cur)) {
42641
+ o2[k] = copyBuffer(cur);
42642
+ } else {
42643
+ var i = refs.indexOf(cur);
42644
+ if (i !== -1) {
42645
+ o2[k] = refsNew[i];
42646
+ } else {
42647
+ o2[k] = clone(cur);
42648
+ }
42649
+ }
42650
+ }
42651
+ refs.pop();
42652
+ refsNew.pop();
42653
+ return o2
42654
+ }
42655
+
42656
+ function cloneProto (o) {
42657
+ if (typeof o !== 'object' || o === null) return o
42658
+ if (o instanceof Date) return new Date(o)
42659
+ if (Array.isArray(o)) return cloneArray(o, cloneProto)
42660
+ if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))
42661
+ if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))
42662
+ var o2 = {};
42663
+ refs.push(o);
42664
+ refsNew.push(o2);
42665
+ for (var k in o) {
42666
+ var cur = o[k];
42667
+ if (typeof cur !== 'object' || cur === null) {
42668
+ o2[k] = cur;
42669
+ } else if (cur instanceof Date) {
42670
+ o2[k] = new Date(cur);
42671
+ } else if (cur instanceof Map) {
42672
+ o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));
42673
+ } else if (cur instanceof Set) {
42674
+ o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));
42675
+ } else if (ArrayBuffer.isView(cur)) {
42676
+ o2[k] = copyBuffer(cur);
42677
+ } else {
42678
+ var i = refs.indexOf(cur);
42679
+ if (i !== -1) {
42680
+ o2[k] = refsNew[i];
42681
+ } else {
42682
+ o2[k] = cloneProto(cur);
42683
+ }
42684
+ }
42685
+ }
42686
+ refs.pop();
42687
+ refsNew.pop();
42688
+ return o2
42689
+ }
42690
+ }
42691
+
42692
+ var rfdc$1 = /*@__PURE__*/getDefaultExportFromCjs(rfdc_1);
42693
+
42694
+ // Copyright (c) Cosmo Tech.
42695
+ // Licensed under the MIT license.
42696
+
42697
+ var clone = rfdc$1();
42698
+ var sortResourceListByName = resourceList => {
42699
+ if (!Array.isArray(resourceList)) return [];
42700
+ return clone(resourceList).sort((resourceA, resourceB) => resourceA.name.toUpperCase() < resourceB.name.toUpperCase() ? -1 : 1);
42701
+ };
42702
+ var getResourceTree = resourceList => {
42703
+ var sortedList = [];
42704
+ var resourceListCopy = sortResourceListByName(resourceList);
42705
+ var buildResourceTree = (idParent, depth) => {
42706
+ var resourceListToFilter = [];
42707
+ var _loop = function _loop(resource) {
42708
+ var parentNotFound = !resourceList.some(parentScenario => parentScenario.id === resource.parentId);
42709
+ if (resource.parentId === idParent || idParent === null && parentNotFound) {
42710
+ resource.depth = depth;
42711
+ sortedList.push(resource);
42712
+ resourceListToFilter.push(resource);
42713
+ buildResourceTree(resource.id, depth + 1);
42714
+ }
42715
+ };
42716
+ for (var resource of resourceListCopy) {
42717
+ _loop(resource);
42718
+ }
42719
+ resourceListCopy = resourceListCopy.filter(resource => !resourceListToFilter.includes(resource));
42720
+ };
42721
+ buildResourceTree(null, 0);
42722
+ return sortedList;
42723
+ };
42724
+ var getFirstRootResource = resourceList => {
42725
+ if (resourceList.length > 0) {
42726
+ var resourceMasterList = resourceList.filter(resource => resource.parentId === null);
42727
+ if (resourceMasterList.length === 0) {
42728
+ // The list has not root resources: they may not be shared with the current user, or the list may be
42729
+ // corrupted.
42730
+ return sortResourceListByName(resourceList)[0];
42731
+ }
42732
+ return sortResourceListByName(resourceMasterList)[0];
42733
+ } else {
42734
+ return null;
42735
+ }
42736
+ };
42737
+ var ResourceUtils = {
42738
+ sortResourceListByName,
42739
+ getResourceTree,
42740
+ getFirstRootResource
42741
+ };
42742
+
42743
+ export { AgGridUtils, Auth, AuthDev, CSVUtils, DatasetUtils, DateUtils, Error$1 as Error, FileBlobUtils, PathUtils, ResourceUtils, ScenarioUtils, ValidationUtils, XLSXUtils };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cosmotech/core",
3
3
  "private": false,
4
- "version": "1.14.1",
4
+ "version": "1.15.0",
5
5
  "description": "",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.esm.js",
@@ -53,6 +53,7 @@
53
53
  "csv-string": "^4.0.1",
54
54
  "date-fns": "^2.25.0",
55
55
  "js-file-download": "^0.4.12",
56
+ "rfdc": "^1.3.0",
56
57
  "validator": "^13.7.0",
57
58
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz"
58
59
  }