@likec4/core 1.24.1 → 1.25.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.
@@ -195,129 +195,9 @@ function requireDefaultMap () {
195
195
  return defaultMap;
196
196
  }
197
197
 
198
- var defaultMapExports = requireDefaultMap();
198
+ var defaultMapExports = /*@__PURE__*/ requireDefaultMap();
199
199
  const DefaultMap = /*@__PURE__*/getDefaultExportFromCjs(defaultMapExports);
200
200
 
201
- /**
202
- * Mnemonist DefaultWeakMap
203
- * =========================
204
- *
205
- * JavaScript implementation of a default weak map that will return a constructed
206
- * value any time one tries to access an non-existing key. It is similar to
207
- * DefaultMap but uses ES6 WeakMap that only holds weak reference to keys.
208
- */
209
-
210
- var defaultWeakMap$1;
211
- var hasRequiredDefaultWeakMap;
212
-
213
- function requireDefaultWeakMap () {
214
- if (hasRequiredDefaultWeakMap) return defaultWeakMap$1;
215
- hasRequiredDefaultWeakMap = 1;
216
- /**
217
- * DefaultWeakMap.
218
- *
219
- * @constructor
220
- */
221
- function DefaultWeakMap(factory) {
222
- if (typeof factory !== 'function')
223
- throw new Error('mnemonist/DefaultWeakMap.constructor: expecting a function.');
224
-
225
- this.items = new WeakMap();
226
- this.factory = factory;
227
- }
228
-
229
- /**
230
- * Method used to clear the structure.
231
- *
232
- * @return {undefined}
233
- */
234
- DefaultWeakMap.prototype.clear = function() {
235
-
236
- // Properties
237
- this.items = new WeakMap();
238
- };
239
-
240
- /**
241
- * Method used to get the value set for given key. If the key does not exist,
242
- * the value will be created using the provided factory.
243
- *
244
- * @param {any} key - Target key.
245
- * @return {any}
246
- */
247
- DefaultWeakMap.prototype.get = function(key) {
248
- var value = this.items.get(key);
249
-
250
- if (typeof value === 'undefined') {
251
- value = this.factory(key);
252
- this.items.set(key, value);
253
- }
254
-
255
- return value;
256
- };
257
-
258
- /**
259
- * Method used to get the value set for given key. If the key does not exist,
260
- * a value won't be created.
261
- *
262
- * @param {any} key - Target key.
263
- * @return {any}
264
- */
265
- DefaultWeakMap.prototype.peek = function(key) {
266
- return this.items.get(key);
267
- };
268
-
269
- /**
270
- * Method used to set a value for given key.
271
- *
272
- * @param {any} key - Target key.
273
- * @param {any} value - Value.
274
- * @return {DefaultMap}
275
- */
276
- DefaultWeakMap.prototype.set = function(key, value) {
277
- this.items.set(key, value);
278
- return this;
279
- };
280
-
281
- /**
282
- * Method used to test the existence of a key in the map.
283
- *
284
- * @param {any} key - Target key.
285
- * @return {boolean}
286
- */
287
- DefaultWeakMap.prototype.has = function(key) {
288
- return this.items.has(key);
289
- };
290
-
291
- /**
292
- * Method used to delete target key.
293
- *
294
- * @param {any} key - Target key.
295
- * @return {boolean}
296
- */
297
- DefaultWeakMap.prototype.delete = function(key) {
298
- return this.items.delete(key);
299
- };
300
-
301
- /**
302
- * Convenience known methods.
303
- */
304
- DefaultWeakMap.prototype.inspect = function() {
305
- return this.items;
306
- };
307
-
308
- if (typeof Symbol !== 'undefined')
309
- DefaultWeakMap.prototype[Symbol.for('nodejs.util.inspect.custom')] = DefaultWeakMap.prototype.inspect;
310
-
311
- /**
312
- * Exporting.
313
- */
314
- defaultWeakMap$1 = DefaultWeakMap;
315
- return defaultWeakMap$1;
316
- }
317
-
318
- var defaultWeakMapExports = requireDefaultWeakMap();
319
- const defaultWeakMap = /*@__PURE__*/getDefaultExportFromCjs(defaultWeakMapExports);
320
-
321
201
  /**
322
202
  * Obliterator Iterator Class
323
203
  * ===========================
@@ -518,929 +398,6 @@ function requireForeach () {
518
398
  return foreach;
519
399
  }
520
400
 
521
- /**
522
- * Mnemonist Linked List
523
- * ======================
524
- *
525
- * Singly linked list implementation. Uses raw JavaScript objects as nodes
526
- * as benchmarks proved it was the fastest thing to do.
527
- */
528
-
529
- var linkedList$1;
530
- var hasRequiredLinkedList;
531
-
532
- function requireLinkedList () {
533
- if (hasRequiredLinkedList) return linkedList$1;
534
- hasRequiredLinkedList = 1;
535
- var Iterator = requireIterator(),
536
- forEach = requireForeach();
537
-
538
- /**
539
- * Linked List.
540
- *
541
- * @constructor
542
- */
543
- function LinkedList() {
544
- this.clear();
545
- }
546
-
547
- /**
548
- * Method used to clear the list.
549
- *
550
- * @return {undefined}
551
- */
552
- LinkedList.prototype.clear = function() {
553
-
554
- // Properties
555
- this.head = null;
556
- this.tail = null;
557
- this.size = 0;
558
- };
559
-
560
- /**
561
- * Method used to get the first item of the list.
562
- *
563
- * @return {any}
564
- */
565
- LinkedList.prototype.first = function() {
566
- return this.head ? this.head.item : undefined;
567
- };
568
- LinkedList.prototype.peek = LinkedList.prototype.first;
569
-
570
- /**
571
- * Method used to get the last item of the list.
572
- *
573
- * @return {any}
574
- */
575
- LinkedList.prototype.last = function() {
576
- return this.tail ? this.tail.item : undefined;
577
- };
578
-
579
- /**
580
- * Method used to add an item at the end of the list.
581
- *
582
- * @param {any} item - The item to add.
583
- * @return {number}
584
- */
585
- LinkedList.prototype.push = function(item) {
586
- var node = {item: item, next: null};
587
-
588
- if (!this.head) {
589
- this.head = node;
590
- this.tail = node;
591
- }
592
- else {
593
- this.tail.next = node;
594
- this.tail = node;
595
- }
596
-
597
- this.size++;
598
-
599
- return this.size;
600
- };
601
-
602
- /**
603
- * Method used to add an item at the beginning of the list.
604
- *
605
- * @param {any} item - The item to add.
606
- * @return {number}
607
- */
608
- LinkedList.prototype.unshift = function(item) {
609
- var node = {item: item, next: null};
610
-
611
- if (!this.head) {
612
- this.head = node;
613
- this.tail = node;
614
- }
615
- else {
616
- if (!this.head.next)
617
- this.tail = this.head;
618
- node.next = this.head;
619
- this.head = node;
620
- }
621
-
622
- this.size++;
623
-
624
- return this.size;
625
- };
626
-
627
- /**
628
- * Method used to retrieve & remove the first item of the list.
629
- *
630
- * @return {any}
631
- */
632
- LinkedList.prototype.shift = function() {
633
- if (!this.size)
634
- return undefined;
635
-
636
- var node = this.head;
637
-
638
- this.head = node.next;
639
- this.size--;
640
-
641
- return node.item;
642
- };
643
-
644
- /**
645
- * Method used to iterate over the list.
646
- *
647
- * @param {function} callback - Function to call for each item.
648
- * @param {object} scope - Optional scope.
649
- * @return {undefined}
650
- */
651
- LinkedList.prototype.forEach = function(callback, scope) {
652
- if (!this.size)
653
- return;
654
-
655
- scope = arguments.length > 1 ? scope : this;
656
-
657
- var n = this.head,
658
- i = 0;
659
-
660
- while (n) {
661
- callback.call(scope, n.item, i, this);
662
- n = n.next;
663
- i++;
664
- }
665
- };
666
-
667
- /**
668
- * Method used to convert the list into an array.
669
- *
670
- * @return {array}
671
- */
672
- LinkedList.prototype.toArray = function() {
673
- if (!this.size)
674
- return [];
675
-
676
- var array = new Array(this.size);
677
-
678
- for (var i = 0, l = this.size, n = this.head; i < l; i++) {
679
- array[i] = n.item;
680
- n = n.next;
681
- }
682
-
683
- return array;
684
- };
685
-
686
- /**
687
- * Method used to create an iterator over a list's values.
688
- *
689
- * @return {Iterator}
690
- */
691
- LinkedList.prototype.values = function() {
692
- var n = this.head;
693
-
694
- return new Iterator(function() {
695
- if (!n)
696
- return {
697
- done: true
698
- };
699
-
700
- var value = n.item;
701
- n = n.next;
702
-
703
- return {
704
- value: value,
705
- done: false
706
- };
707
- });
708
- };
709
-
710
- /**
711
- * Method used to create an iterator over a list's entries.
712
- *
713
- * @return {Iterator}
714
- */
715
- LinkedList.prototype.entries = function() {
716
- var n = this.head,
717
- i = 0;
718
-
719
- return new Iterator(function() {
720
- if (!n)
721
- return {
722
- done: true
723
- };
724
-
725
- var value = n.item;
726
- n = n.next;
727
- i++;
728
-
729
- return {
730
- value: [i - 1, value],
731
- done: false
732
- };
733
- });
734
- };
735
-
736
- /**
737
- * Attaching the #.values method to Symbol.iterator if possible.
738
- */
739
- if (typeof Symbol !== 'undefined')
740
- LinkedList.prototype[Symbol.iterator] = LinkedList.prototype.values;
741
-
742
- /**
743
- * Convenience known methods.
744
- */
745
- LinkedList.prototype.toString = function() {
746
- return this.toArray().join(',');
747
- };
748
-
749
- LinkedList.prototype.toJSON = function() {
750
- return this.toArray();
751
- };
752
-
753
- LinkedList.prototype.inspect = function() {
754
- var array = this.toArray();
755
-
756
- // Trick so that node displays the name of the constructor
757
- Object.defineProperty(array, 'constructor', {
758
- value: LinkedList,
759
- enumerable: false
760
- });
761
-
762
- return array;
763
- };
764
-
765
- if (typeof Symbol !== 'undefined')
766
- LinkedList.prototype[Symbol.for('nodejs.util.inspect.custom')] = LinkedList.prototype.inspect;
767
-
768
- /**
769
- * Static @.from function taking an arbitrary iterable & converting it into
770
- * a list.
771
- *
772
- * @param {Iterable} iterable - Target iterable.
773
- * @return {LinkedList}
774
- */
775
- LinkedList.from = function(iterable) {
776
- var list = new LinkedList();
777
-
778
- forEach(iterable, function(value) {
779
- list.push(value);
780
- });
781
-
782
- return list;
783
- };
784
-
785
- /**
786
- * Exporting.
787
- */
788
- linkedList$1 = LinkedList;
789
- return linkedList$1;
790
- }
791
-
792
- var linkedListExports = requireLinkedList();
793
- const linkedList = /*@__PURE__*/getDefaultExportFromCjs(linkedListExports);
794
-
795
- /**
796
- * Mnemonist Queue
797
- * ================
798
- *
799
- * Queue implementation based on the ideas of Queue.js that seems to beat
800
- * a LinkedList one in performance.
801
- */
802
-
803
- var queue$1;
804
- var hasRequiredQueue;
805
-
806
- function requireQueue () {
807
- if (hasRequiredQueue) return queue$1;
808
- hasRequiredQueue = 1;
809
- var Iterator = requireIterator(),
810
- forEach = requireForeach();
811
-
812
- /**
813
- * Queue
814
- *
815
- * @constructor
816
- */
817
- function Queue() {
818
- this.clear();
819
- }
820
-
821
- /**
822
- * Method used to clear the queue.
823
- *
824
- * @return {undefined}
825
- */
826
- Queue.prototype.clear = function() {
827
-
828
- // Properties
829
- this.items = [];
830
- this.offset = 0;
831
- this.size = 0;
832
- };
833
-
834
- /**
835
- * Method used to add an item to the queue.
836
- *
837
- * @param {any} item - Item to enqueue.
838
- * @return {number}
839
- */
840
- Queue.prototype.enqueue = function(item) {
841
-
842
- this.items.push(item);
843
- return ++this.size;
844
- };
845
-
846
- /**
847
- * Method used to retrieve & remove the first item of the queue.
848
- *
849
- * @return {any}
850
- */
851
- Queue.prototype.dequeue = function() {
852
- if (!this.size)
853
- return;
854
-
855
- var item = this.items[this.offset];
856
-
857
- if (++this.offset * 2 >= this.items.length) {
858
- this.items = this.items.slice(this.offset);
859
- this.offset = 0;
860
- }
861
-
862
- this.size--;
863
-
864
- return item;
865
- };
866
-
867
- /**
868
- * Method used to retrieve the first item of the queue.
869
- *
870
- * @return {any}
871
- */
872
- Queue.prototype.peek = function() {
873
- if (!this.size)
874
- return;
875
-
876
- return this.items[this.offset];
877
- };
878
-
879
- /**
880
- * Method used to iterate over the queue.
881
- *
882
- * @param {function} callback - Function to call for each item.
883
- * @param {object} scope - Optional scope.
884
- * @return {undefined}
885
- */
886
- Queue.prototype.forEach = function(callback, scope) {
887
- scope = arguments.length > 1 ? scope : this;
888
-
889
- for (var i = this.offset, j = 0, l = this.items.length; i < l; i++, j++)
890
- callback.call(scope, this.items[i], j, this);
891
- };
892
-
893
- /*
894
- * Method used to convert the queue to a JavaScript array.
895
- *
896
- * @return {array}
897
- */
898
- Queue.prototype.toArray = function() {
899
- return this.items.slice(this.offset);
900
- };
901
-
902
- /**
903
- * Method used to create an iterator over a queue's values.
904
- *
905
- * @return {Iterator}
906
- */
907
- Queue.prototype.values = function() {
908
- var items = this.items,
909
- i = this.offset;
910
-
911
- return new Iterator(function() {
912
- if (i >= items.length)
913
- return {
914
- done: true
915
- };
916
-
917
- var value = items[i];
918
- i++;
919
-
920
- return {
921
- value: value,
922
- done: false
923
- };
924
- });
925
- };
926
-
927
- /**
928
- * Method used to create an iterator over a queue's entries.
929
- *
930
- * @return {Iterator}
931
- */
932
- Queue.prototype.entries = function() {
933
- var items = this.items,
934
- i = this.offset,
935
- j = 0;
936
-
937
- return new Iterator(function() {
938
- if (i >= items.length)
939
- return {
940
- done: true
941
- };
942
-
943
- var value = items[i];
944
- i++;
945
-
946
- return {
947
- value: [j++, value],
948
- done: false
949
- };
950
- });
951
- };
952
-
953
- /**
954
- * Attaching the #.values method to Symbol.iterator if possible.
955
- */
956
- if (typeof Symbol !== 'undefined')
957
- Queue.prototype[Symbol.iterator] = Queue.prototype.values;
958
-
959
- /**
960
- * Convenience known methods.
961
- */
962
- Queue.prototype.toString = function() {
963
- return this.toArray().join(',');
964
- };
965
-
966
- Queue.prototype.toJSON = function() {
967
- return this.toArray();
968
- };
969
-
970
- Queue.prototype.inspect = function() {
971
- var array = this.toArray();
972
-
973
- // Trick so that node displays the name of the constructor
974
- Object.defineProperty(array, 'constructor', {
975
- value: Queue,
976
- enumerable: false
977
- });
978
-
979
- return array;
980
- };
981
-
982
- if (typeof Symbol !== 'undefined')
983
- Queue.prototype[Symbol.for('nodejs.util.inspect.custom')] = Queue.prototype.inspect;
984
-
985
- /**
986
- * Static @.from function taking an arbitrary iterable & converting it into
987
- * a queue.
988
- *
989
- * @param {Iterable} iterable - Target iterable.
990
- * @return {Queue}
991
- */
992
- Queue.from = function(iterable) {
993
- var queue = new Queue();
994
-
995
- forEach(iterable, function(value) {
996
- queue.enqueue(value);
997
- });
998
-
999
- return queue;
1000
- };
1001
-
1002
- /**
1003
- * Static @.of function taking an arbitrary number of arguments & converting it
1004
- * into a queue.
1005
- *
1006
- * @param {...any} args
1007
- * @return {Queue}
1008
- */
1009
- Queue.of = function() {
1010
- return Queue.from(arguments);
1011
- };
1012
-
1013
- /**
1014
- * Exporting.
1015
- */
1016
- queue$1 = Queue;
1017
- return queue$1;
1018
- }
1019
-
1020
- var queueExports = requireQueue();
1021
- const queue = /*@__PURE__*/getDefaultExportFromCjs(queueExports);
1022
-
1023
- /**
1024
- * Mnemonist MultiMap
1025
- * ===================
1026
- *
1027
- * Implementation of a MultiMap with custom container.
1028
- */
1029
-
1030
- var multiMap$1;
1031
- var hasRequiredMultiMap;
1032
-
1033
- function requireMultiMap () {
1034
- if (hasRequiredMultiMap) return multiMap$1;
1035
- hasRequiredMultiMap = 1;
1036
- var Iterator = requireIterator(),
1037
- forEach = requireForeach();
1038
-
1039
- /**
1040
- * MultiMap.
1041
- *
1042
- * @constructor
1043
- */
1044
- function MultiMap(Container) {
1045
-
1046
- this.Container = Container || Array;
1047
- this.items = new Map();
1048
- this.clear();
1049
-
1050
- Object.defineProperty(this.items, 'constructor', {
1051
- value: MultiMap,
1052
- enumerable: false
1053
- });
1054
- }
1055
-
1056
- /**
1057
- * Method used to clear the structure.
1058
- *
1059
- * @return {undefined}
1060
- */
1061
- MultiMap.prototype.clear = function() {
1062
-
1063
- // Properties
1064
- this.size = 0;
1065
- this.dimension = 0;
1066
- this.items.clear();
1067
- };
1068
-
1069
- /**
1070
- * Method used to set a value.
1071
- *
1072
- * @param {any} key - Key.
1073
- * @param {any} value - Value to add.
1074
- * @return {MultiMap}
1075
- */
1076
- MultiMap.prototype.set = function(key, value) {
1077
- var container = this.items.get(key),
1078
- sizeBefore;
1079
-
1080
- if (!container) {
1081
- this.dimension++;
1082
- container = new this.Container();
1083
- this.items.set(key, container);
1084
- }
1085
-
1086
- if (this.Container === Set) {
1087
- sizeBefore = container.size;
1088
- container.add(value);
1089
-
1090
- if (sizeBefore < container.size)
1091
- this.size++;
1092
- }
1093
- else {
1094
- container.push(value);
1095
- this.size++;
1096
- }
1097
-
1098
- return this;
1099
- };
1100
-
1101
- /**
1102
- * Method used to delete the given key.
1103
- *
1104
- * @param {any} key - Key to delete.
1105
- * @return {boolean}
1106
- */
1107
- MultiMap.prototype.delete = function(key) {
1108
- var container = this.items.get(key);
1109
-
1110
- if (!container)
1111
- return false;
1112
-
1113
- this.size -= (this.Container === Set ? container.size : container.length);
1114
- this.dimension--;
1115
- this.items.delete(key);
1116
-
1117
- return true;
1118
- };
1119
-
1120
- /**
1121
- * Method used to delete the remove an item in the container stored at the
1122
- * given key.
1123
- *
1124
- * @param {any} key - Key to delete.
1125
- * @return {boolean}
1126
- */
1127
- MultiMap.prototype.remove = function(key, value) {
1128
- var container = this.items.get(key),
1129
- wasDeleted,
1130
- index;
1131
-
1132
- if (!container)
1133
- return false;
1134
-
1135
- if (this.Container === Set) {
1136
- wasDeleted = container.delete(value);
1137
-
1138
- if (wasDeleted)
1139
- this.size--;
1140
-
1141
- if (container.size === 0) {
1142
- this.items.delete(key);
1143
- this.dimension--;
1144
- }
1145
-
1146
- return wasDeleted;
1147
- }
1148
- else {
1149
- index = container.indexOf(value);
1150
-
1151
- if (index === -1)
1152
- return false;
1153
-
1154
- this.size--;
1155
-
1156
- if (container.length === 1) {
1157
- this.items.delete(key);
1158
- this.dimension--;
1159
-
1160
- return true;
1161
- }
1162
-
1163
- container.splice(index, 1);
1164
-
1165
- return true;
1166
- }
1167
- };
1168
-
1169
- /**
1170
- * Method used to return whether the given keys exists in the map.
1171
- *
1172
- * @param {any} key - Key to check.
1173
- * @return {boolean}
1174
- */
1175
- MultiMap.prototype.has = function(key) {
1176
- return this.items.has(key);
1177
- };
1178
-
1179
- /**
1180
- * Method used to return the container stored at the given key or `undefined`.
1181
- *
1182
- * @param {any} key - Key to get.
1183
- * @return {boolean}
1184
- */
1185
- MultiMap.prototype.get = function(key) {
1186
- return this.items.get(key);
1187
- };
1188
-
1189
- /**
1190
- * Method used to return the multiplicity of the given key, meaning the number
1191
- * of times it is set, or, more trivially, the size of the attached container.
1192
- *
1193
- * @param {any} key - Key to check.
1194
- * @return {number}
1195
- */
1196
- MultiMap.prototype.multiplicity = function(key) {
1197
- var container = this.items.get(key);
1198
-
1199
- if (typeof container === 'undefined')
1200
- return 0;
1201
-
1202
- return this.Container === Set ? container.size : container.length;
1203
- };
1204
- MultiMap.prototype.count = MultiMap.prototype.multiplicity;
1205
-
1206
- /**
1207
- * Method used to iterate over each of the key/value pairs.
1208
- *
1209
- * @param {function} callback - Function to call for each item.
1210
- * @param {object} scope - Optional scope.
1211
- * @return {undefined}
1212
- */
1213
- MultiMap.prototype.forEach = function(callback, scope) {
1214
- scope = arguments.length > 1 ? scope : this;
1215
-
1216
- // Inner iteration function is created here to avoid creating it in the loop
1217
- var key;
1218
- function inner(value) {
1219
- callback.call(scope, value, key);
1220
- }
1221
-
1222
- this.items.forEach(function(container, k) {
1223
- key = k;
1224
- container.forEach(inner);
1225
- });
1226
- };
1227
-
1228
- /**
1229
- * Method used to iterate over each of the associations.
1230
- *
1231
- * @param {function} callback - Function to call for each item.
1232
- * @param {object} scope - Optional scope.
1233
- * @return {undefined}
1234
- */
1235
- MultiMap.prototype.forEachAssociation = function(callback, scope) {
1236
- scope = arguments.length > 1 ? scope : this;
1237
-
1238
- this.items.forEach(callback, scope);
1239
- };
1240
-
1241
- /**
1242
- * Method returning an iterator over the map's keys.
1243
- *
1244
- * @return {Iterator}
1245
- */
1246
- MultiMap.prototype.keys = function() {
1247
- return this.items.keys();
1248
- };
1249
-
1250
- /**
1251
- * Method returning an iterator over the map's keys.
1252
- *
1253
- * @return {Iterator}
1254
- */
1255
- MultiMap.prototype.values = function() {
1256
- var iterator = this.items.values(),
1257
- inContainer = false,
1258
- countainer,
1259
- step,
1260
- i,
1261
- l;
1262
-
1263
- if (this.Container === Set)
1264
- return new Iterator(function next() {
1265
- if (!inContainer) {
1266
- step = iterator.next();
1267
-
1268
- if (step.done)
1269
- return {done: true};
1270
-
1271
- inContainer = true;
1272
- countainer = step.value.values();
1273
- }
1274
-
1275
- step = countainer.next();
1276
-
1277
- if (step.done) {
1278
- inContainer = false;
1279
- return next();
1280
- }
1281
-
1282
- return {
1283
- done: false,
1284
- value: step.value
1285
- };
1286
- });
1287
-
1288
- return new Iterator(function next() {
1289
- if (!inContainer) {
1290
- step = iterator.next();
1291
-
1292
- if (step.done)
1293
- return {done: true};
1294
-
1295
- inContainer = true;
1296
- countainer = step.value;
1297
- i = 0;
1298
- l = countainer.length;
1299
- }
1300
-
1301
- if (i >= l) {
1302
- inContainer = false;
1303
- return next();
1304
- }
1305
-
1306
- return {
1307
- done: false,
1308
- value: countainer[i++]
1309
- };
1310
- });
1311
- };
1312
-
1313
- /**
1314
- * Method returning an iterator over the map's entries.
1315
- *
1316
- * @return {Iterator}
1317
- */
1318
- MultiMap.prototype.entries = function() {
1319
- var iterator = this.items.entries(),
1320
- inContainer = false,
1321
- countainer,
1322
- step,
1323
- key,
1324
- i,
1325
- l;
1326
-
1327
- if (this.Container === Set)
1328
- return new Iterator(function next() {
1329
- if (!inContainer) {
1330
- step = iterator.next();
1331
-
1332
- if (step.done)
1333
- return {done: true};
1334
-
1335
- inContainer = true;
1336
- key = step.value[0];
1337
- countainer = step.value[1].values();
1338
- }
1339
-
1340
- step = countainer.next();
1341
-
1342
- if (step.done) {
1343
- inContainer = false;
1344
- return next();
1345
- }
1346
-
1347
- return {
1348
- done: false,
1349
- value: [key, step.value]
1350
- };
1351
- });
1352
-
1353
- return new Iterator(function next() {
1354
- if (!inContainer) {
1355
- step = iterator.next();
1356
-
1357
- if (step.done)
1358
- return {done: true};
1359
-
1360
- inContainer = true;
1361
- key = step.value[0];
1362
- countainer = step.value[1];
1363
- i = 0;
1364
- l = countainer.length;
1365
- }
1366
-
1367
- if (i >= l) {
1368
- inContainer = false;
1369
- return next();
1370
- }
1371
-
1372
- return {
1373
- done: false,
1374
- value: [key, countainer[i++]]
1375
- };
1376
- });
1377
- };
1378
-
1379
- /**
1380
- * Method returning an iterator over the map's containers.
1381
- *
1382
- * @return {Iterator}
1383
- */
1384
- MultiMap.prototype.containers = function() {
1385
- return this.items.values();
1386
- };
1387
-
1388
- /**
1389
- * Method returning an iterator over the map's associations.
1390
- *
1391
- * @return {Iterator}
1392
- */
1393
- MultiMap.prototype.associations = function() {
1394
- return this.items.entries();
1395
- };
1396
-
1397
- /**
1398
- * Attaching the #.entries method to Symbol.iterator if possible.
1399
- */
1400
- if (typeof Symbol !== 'undefined')
1401
- MultiMap.prototype[Symbol.iterator] = MultiMap.prototype.entries;
1402
-
1403
- /**
1404
- * Convenience known methods.
1405
- */
1406
- MultiMap.prototype.inspect = function() {
1407
- return this.items;
1408
- };
1409
-
1410
- if (typeof Symbol !== 'undefined')
1411
- MultiMap.prototype[Symbol.for('nodejs.util.inspect.custom')] = MultiMap.prototype.inspect;
1412
- MultiMap.prototype.toJSON = function() {
1413
- return this.items;
1414
- };
1415
-
1416
- /**
1417
- * Static @.from function taking an arbitrary iterable & converting it into
1418
- * a structure.
1419
- *
1420
- * @param {Iterable} iterable - Target iterable.
1421
- * @param {Class} Container - Container.
1422
- * @return {MultiMap}
1423
- */
1424
- MultiMap.from = function(iterable, Container) {
1425
- var map = new MultiMap(Container);
1426
-
1427
- forEach(iterable, function(value, key) {
1428
- map.set(key, value);
1429
- });
1430
-
1431
- return map;
1432
- };
1433
-
1434
- /**
1435
- * Exporting.
1436
- */
1437
- multiMap$1 = MultiMap;
1438
- return multiMap$1;
1439
- }
1440
-
1441
- var multiMapExports = requireMultiMap();
1442
- const multiMap = /*@__PURE__*/getDefaultExportFromCjs(multiMapExports);
1443
-
1444
401
  var set = {};
1445
402
 
1446
403
  /**
@@ -1809,7 +766,7 @@ function requireSet () {
1809
766
  return set;
1810
767
  }
1811
768
 
1812
- var setExports = requireSet();
769
+ var setExports = /*@__PURE__*/ requireSet();
1813
770
 
1814
771
  /**
1815
772
  * Mnemonist Stack
@@ -2031,7 +988,7 @@ function requireStack () {
2031
988
  return stack;
2032
989
  }
2033
990
 
2034
- var stackExports = requireStack();
991
+ var stackExports = /*@__PURE__*/ requireStack();
2035
992
  const Stack = /*@__PURE__*/getDefaultExportFromCjs(stackExports);
2036
993
 
2037
994
  function commonHead(sources, targets, equals) {
@@ -2496,4 +1453,4 @@ function requireObject_hash () {
2496
1453
  var object_hashExports = requireObject_hash();
2497
1454
  const objectHash = /*@__PURE__*/getDefaultExportFromCjs(object_hashExports);
2498
1455
 
2499
- export { d as $, sortParentsFirst as A, getOrCreate as B, isNonEmptyArray as C, DefaultMap as D, isString as E, ifilter as F, iflat as G, imap as H, isIterable as I, isome as J, iunique as K, toArray as L, difference as M, equals as N, intersection as O, symmetricDifference as P, union as Q, stringHash as R, Stack as S, objectHash as T, C as U, s as V, a as W, getDefaultExportFromCjs as X, requireForeach as Y, requireIterator as Z, u as _, i$1 as a, n as a0, hasIntersection as a1, t$1 as b, isSameHierarchy as c, t as d, defaultWeakMap as e, linkedList as f, multiMap as g, commonHead as h, ifind as i, compareNatural as j, ancestorsFqn as k, l, m, nameFromFqn as n, commonAncestor as o, parentFqn as p, queue as q, compareByFqnHierarchically as r, compareFqnHierarchically as s, toSet as t, hierarchyDistance as u, hierarchyLevel as v, isAncestor as w, isDescendantOf as x, sortByFqnHierarchically as y, sortNaturalByFqn as z };
1456
+ export { ifilter as A, iflat as B, imap as C, DefaultMap as D, isIterable as E, isome as F, iunique as G, toArray as H, difference as I, equals as J, intersection as K, symmetricDifference as L, union as M, stringHash as N, objectHash as O, C as P, s as Q, a as R, Stack as S, getDefaultExportFromCjs as T, requireForeach as U, requireIterator as V, u as W, d as X, n as Y, hasIntersection as Z, i$1 as a, t$1 as b, isSameHierarchy as c, t as d, commonHead as e, compareNatural as f, ancestorsFqn as g, commonAncestor as h, ifind as i, compareByFqnHierarchically as j, compareFqnHierarchically as k, l, m, nameFromFqn as n, hierarchyDistance as o, parentFqn as p, hierarchyLevel as q, isAncestor as r, isDescendantOf as s, toSet as t, sortByFqnHierarchically as u, sortNaturalByFqn as v, sortParentsFirst as w, getOrCreate as x, isNonEmptyArray as y, isString as z };