@ts-for-gir/cli 4.0.0-beta.41 → 4.0.0-beta.43

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.
Files changed (2) hide show
  1. package/bin/ts-for-gir +2124 -120
  2. package/package.json +12 -12
package/bin/ts-for-gir CHANGED
@@ -3353,7 +3353,7 @@ var require_lodash = __commonJS({
3353
3353
  }
3354
3354
  return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined2, comparator) : [];
3355
3355
  });
3356
- function join15(array, separator) {
3356
+ function join16(array, separator) {
3357
3357
  return array == null ? "" : nativeJoin.call(array, separator);
3358
3358
  }
3359
3359
  function last(array) {
@@ -4178,7 +4178,7 @@ var require_lodash = __commonJS({
4178
4178
  customizer = typeof customizer == "function" ? customizer : undefined2;
4179
4179
  return baseIsMatch(object, source, getMatchData(source), customizer);
4180
4180
  }
4181
- function isNaN(value) {
4181
+ function isNaN2(value) {
4182
4182
  return isNumber(value) && value != +value;
4183
4183
  }
4184
4184
  function isNative(value) {
@@ -5255,7 +5255,7 @@ var require_lodash = __commonJS({
5255
5255
  lodash2.isMap = isMap;
5256
5256
  lodash2.isMatch = isMatch;
5257
5257
  lodash2.isMatchWith = isMatchWith;
5258
- lodash2.isNaN = isNaN;
5258
+ lodash2.isNaN = isNaN2;
5259
5259
  lodash2.isNative = isNative;
5260
5260
  lodash2.isNil = isNil;
5261
5261
  lodash2.isNull = isNull;
@@ -5272,7 +5272,7 @@ var require_lodash = __commonJS({
5272
5272
  lodash2.isUndefined = isUndefined;
5273
5273
  lodash2.isWeakMap = isWeakMap;
5274
5274
  lodash2.isWeakSet = isWeakSet;
5275
- lodash2.join = join15;
5275
+ lodash2.join = join16;
5276
5276
  lodash2.kebabCase = kebabCase;
5277
5277
  lodash2.last = last;
5278
5278
  lodash2.lastIndexOf = lastIndexOf;
@@ -5529,6 +5529,1737 @@ var require_lodash = __commonJS({
5529
5529
  }
5530
5530
  });
5531
5531
 
5532
+ // ../../.yarn/cache/lunr-npm-2.3.9-fa3aa9c2d6-f2f6db34c0.zip/node_modules/lunr/lunr.js
5533
+ var require_lunr = __commonJS({
5534
+ "../../.yarn/cache/lunr-npm-2.3.9-fa3aa9c2d6-f2f6db34c0.zip/node_modules/lunr/lunr.js"(exports2, module) {
5535
+ (function() {
5536
+ var lunr2 = function(config) {
5537
+ var builder7 = new lunr2.Builder();
5538
+ builder7.pipeline.add(
5539
+ lunr2.trimmer,
5540
+ lunr2.stopWordFilter,
5541
+ lunr2.stemmer
5542
+ );
5543
+ builder7.searchPipeline.add(
5544
+ lunr2.stemmer
5545
+ );
5546
+ config.call(builder7, builder7);
5547
+ return builder7.build();
5548
+ };
5549
+ lunr2.version = "2.3.9";
5550
+ lunr2.utils = {};
5551
+ lunr2.utils.warn = /* @__PURE__ */ (function(global2) {
5552
+ return function(message) {
5553
+ if (global2.console && console.warn) {
5554
+ console.warn(message);
5555
+ }
5556
+ };
5557
+ })(this);
5558
+ lunr2.utils.asString = function(obj) {
5559
+ if (obj === void 0 || obj === null) {
5560
+ return "";
5561
+ } else {
5562
+ return obj.toString();
5563
+ }
5564
+ };
5565
+ lunr2.utils.clone = function(obj) {
5566
+ if (obj === null || obj === void 0) {
5567
+ return obj;
5568
+ }
5569
+ var clone2 = /* @__PURE__ */ Object.create(null), keys = Object.keys(obj);
5570
+ for (var i = 0; i < keys.length; i++) {
5571
+ var key = keys[i], val = obj[key];
5572
+ if (Array.isArray(val)) {
5573
+ clone2[key] = val.slice();
5574
+ continue;
5575
+ }
5576
+ if (typeof val === "string" || typeof val === "number" || typeof val === "boolean") {
5577
+ clone2[key] = val;
5578
+ continue;
5579
+ }
5580
+ throw new TypeError("clone is not deep and does not support nested objects");
5581
+ }
5582
+ return clone2;
5583
+ };
5584
+ lunr2.FieldRef = function(docRef, fieldName, stringValue) {
5585
+ this.docRef = docRef;
5586
+ this.fieldName = fieldName;
5587
+ this._stringValue = stringValue;
5588
+ };
5589
+ lunr2.FieldRef.joiner = "/";
5590
+ lunr2.FieldRef.fromString = function(s) {
5591
+ var n = s.indexOf(lunr2.FieldRef.joiner);
5592
+ if (n === -1) {
5593
+ throw "malformed field ref string";
5594
+ }
5595
+ var fieldRef = s.slice(0, n), docRef = s.slice(n + 1);
5596
+ return new lunr2.FieldRef(docRef, fieldRef, s);
5597
+ };
5598
+ lunr2.FieldRef.prototype.toString = function() {
5599
+ if (this._stringValue == void 0) {
5600
+ this._stringValue = this.fieldName + lunr2.FieldRef.joiner + this.docRef;
5601
+ }
5602
+ return this._stringValue;
5603
+ };
5604
+ lunr2.Set = function(elements) {
5605
+ this.elements = /* @__PURE__ */ Object.create(null);
5606
+ if (elements) {
5607
+ this.length = elements.length;
5608
+ for (var i = 0; i < this.length; i++) {
5609
+ this.elements[elements[i]] = true;
5610
+ }
5611
+ } else {
5612
+ this.length = 0;
5613
+ }
5614
+ };
5615
+ lunr2.Set.complete = {
5616
+ intersect: function(other) {
5617
+ return other;
5618
+ },
5619
+ union: function() {
5620
+ return this;
5621
+ },
5622
+ contains: function() {
5623
+ return true;
5624
+ }
5625
+ };
5626
+ lunr2.Set.empty = {
5627
+ intersect: function() {
5628
+ return this;
5629
+ },
5630
+ union: function(other) {
5631
+ return other;
5632
+ },
5633
+ contains: function() {
5634
+ return false;
5635
+ }
5636
+ };
5637
+ lunr2.Set.prototype.contains = function(object) {
5638
+ return !!this.elements[object];
5639
+ };
5640
+ lunr2.Set.prototype.intersect = function(other) {
5641
+ var a, b, elements, intersection = [];
5642
+ if (other === lunr2.Set.complete) {
5643
+ return this;
5644
+ }
5645
+ if (other === lunr2.Set.empty) {
5646
+ return other;
5647
+ }
5648
+ if (this.length < other.length) {
5649
+ a = this;
5650
+ b = other;
5651
+ } else {
5652
+ a = other;
5653
+ b = this;
5654
+ }
5655
+ elements = Object.keys(a.elements);
5656
+ for (var i = 0; i < elements.length; i++) {
5657
+ var element = elements[i];
5658
+ if (element in b.elements) {
5659
+ intersection.push(element);
5660
+ }
5661
+ }
5662
+ return new lunr2.Set(intersection);
5663
+ };
5664
+ lunr2.Set.prototype.union = function(other) {
5665
+ if (other === lunr2.Set.complete) {
5666
+ return lunr2.Set.complete;
5667
+ }
5668
+ if (other === lunr2.Set.empty) {
5669
+ return this;
5670
+ }
5671
+ return new lunr2.Set(Object.keys(this.elements).concat(Object.keys(other.elements)));
5672
+ };
5673
+ lunr2.idf = function(posting, documentCount) {
5674
+ var documentsWithTerm = 0;
5675
+ for (var fieldName in posting) {
5676
+ if (fieldName == "_index") continue;
5677
+ documentsWithTerm += Object.keys(posting[fieldName]).length;
5678
+ }
5679
+ var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5);
5680
+ return Math.log(1 + Math.abs(x));
5681
+ };
5682
+ lunr2.Token = function(str, metadata) {
5683
+ this.str = str || "";
5684
+ this.metadata = metadata || {};
5685
+ };
5686
+ lunr2.Token.prototype.toString = function() {
5687
+ return this.str;
5688
+ };
5689
+ lunr2.Token.prototype.update = function(fn) {
5690
+ this.str = fn(this.str, this.metadata);
5691
+ return this;
5692
+ };
5693
+ lunr2.Token.prototype.clone = function(fn) {
5694
+ fn = fn || function(s) {
5695
+ return s;
5696
+ };
5697
+ return new lunr2.Token(fn(this.str, this.metadata), this.metadata);
5698
+ };
5699
+ lunr2.tokenizer = function(obj, metadata) {
5700
+ if (obj == null || obj == void 0) {
5701
+ return [];
5702
+ }
5703
+ if (Array.isArray(obj)) {
5704
+ return obj.map(function(t) {
5705
+ return new lunr2.Token(
5706
+ lunr2.utils.asString(t).toLowerCase(),
5707
+ lunr2.utils.clone(metadata)
5708
+ );
5709
+ });
5710
+ }
5711
+ var str = obj.toString().toLowerCase(), len = str.length, tokens = [];
5712
+ for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {
5713
+ var char = str.charAt(sliceEnd), sliceLength = sliceEnd - sliceStart;
5714
+ if (char.match(lunr2.tokenizer.separator) || sliceEnd == len) {
5715
+ if (sliceLength > 0) {
5716
+ var tokenMetadata = lunr2.utils.clone(metadata) || {};
5717
+ tokenMetadata["position"] = [sliceStart, sliceLength];
5718
+ tokenMetadata["index"] = tokens.length;
5719
+ tokens.push(
5720
+ new lunr2.Token(
5721
+ str.slice(sliceStart, sliceEnd),
5722
+ tokenMetadata
5723
+ )
5724
+ );
5725
+ }
5726
+ sliceStart = sliceEnd + 1;
5727
+ }
5728
+ }
5729
+ return tokens;
5730
+ };
5731
+ lunr2.tokenizer.separator = /[\s\-]+/;
5732
+ lunr2.Pipeline = function() {
5733
+ this._stack = [];
5734
+ };
5735
+ lunr2.Pipeline.registeredFunctions = /* @__PURE__ */ Object.create(null);
5736
+ lunr2.Pipeline.registerFunction = function(fn, label) {
5737
+ if (label in this.registeredFunctions) {
5738
+ lunr2.utils.warn("Overwriting existing registered function: " + label);
5739
+ }
5740
+ fn.label = label;
5741
+ lunr2.Pipeline.registeredFunctions[fn.label] = fn;
5742
+ };
5743
+ lunr2.Pipeline.warnIfFunctionNotRegistered = function(fn) {
5744
+ var isRegistered = fn.label && fn.label in this.registeredFunctions;
5745
+ if (!isRegistered) {
5746
+ lunr2.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n", fn);
5747
+ }
5748
+ };
5749
+ lunr2.Pipeline.load = function(serialised) {
5750
+ var pipeline = new lunr2.Pipeline();
5751
+ serialised.forEach(function(fnName) {
5752
+ var fn = lunr2.Pipeline.registeredFunctions[fnName];
5753
+ if (fn) {
5754
+ pipeline.add(fn);
5755
+ } else {
5756
+ throw new Error("Cannot load unregistered function: " + fnName);
5757
+ }
5758
+ });
5759
+ return pipeline;
5760
+ };
5761
+ lunr2.Pipeline.prototype.add = function() {
5762
+ var fns = Array.prototype.slice.call(arguments);
5763
+ fns.forEach(function(fn) {
5764
+ lunr2.Pipeline.warnIfFunctionNotRegistered(fn);
5765
+ this._stack.push(fn);
5766
+ }, this);
5767
+ };
5768
+ lunr2.Pipeline.prototype.after = function(existingFn, newFn) {
5769
+ lunr2.Pipeline.warnIfFunctionNotRegistered(newFn);
5770
+ var pos = this._stack.indexOf(existingFn);
5771
+ if (pos == -1) {
5772
+ throw new Error("Cannot find existingFn");
5773
+ }
5774
+ pos = pos + 1;
5775
+ this._stack.splice(pos, 0, newFn);
5776
+ };
5777
+ lunr2.Pipeline.prototype.before = function(existingFn, newFn) {
5778
+ lunr2.Pipeline.warnIfFunctionNotRegistered(newFn);
5779
+ var pos = this._stack.indexOf(existingFn);
5780
+ if (pos == -1) {
5781
+ throw new Error("Cannot find existingFn");
5782
+ }
5783
+ this._stack.splice(pos, 0, newFn);
5784
+ };
5785
+ lunr2.Pipeline.prototype.remove = function(fn) {
5786
+ var pos = this._stack.indexOf(fn);
5787
+ if (pos == -1) {
5788
+ return;
5789
+ }
5790
+ this._stack.splice(pos, 1);
5791
+ };
5792
+ lunr2.Pipeline.prototype.run = function(tokens) {
5793
+ var stackLength = this._stack.length;
5794
+ for (var i = 0; i < stackLength; i++) {
5795
+ var fn = this._stack[i];
5796
+ var memo = [];
5797
+ for (var j = 0; j < tokens.length; j++) {
5798
+ var result = fn(tokens[j], j, tokens);
5799
+ if (result === null || result === void 0 || result === "") continue;
5800
+ if (Array.isArray(result)) {
5801
+ for (var k = 0; k < result.length; k++) {
5802
+ memo.push(result[k]);
5803
+ }
5804
+ } else {
5805
+ memo.push(result);
5806
+ }
5807
+ }
5808
+ tokens = memo;
5809
+ }
5810
+ return tokens;
5811
+ };
5812
+ lunr2.Pipeline.prototype.runString = function(str, metadata) {
5813
+ var token = new lunr2.Token(str, metadata);
5814
+ return this.run([token]).map(function(t) {
5815
+ return t.toString();
5816
+ });
5817
+ };
5818
+ lunr2.Pipeline.prototype.reset = function() {
5819
+ this._stack = [];
5820
+ };
5821
+ lunr2.Pipeline.prototype.toJSON = function() {
5822
+ return this._stack.map(function(fn) {
5823
+ lunr2.Pipeline.warnIfFunctionNotRegistered(fn);
5824
+ return fn.label;
5825
+ });
5826
+ };
5827
+ lunr2.Vector = function(elements) {
5828
+ this._magnitude = 0;
5829
+ this.elements = elements || [];
5830
+ };
5831
+ lunr2.Vector.prototype.positionForIndex = function(index) {
5832
+ if (this.elements.length == 0) {
5833
+ return 0;
5834
+ }
5835
+ var start = 0, end = this.elements.length / 2, sliceLength = end - start, pivotPoint = Math.floor(sliceLength / 2), pivotIndex = this.elements[pivotPoint * 2];
5836
+ while (sliceLength > 1) {
5837
+ if (pivotIndex < index) {
5838
+ start = pivotPoint;
5839
+ }
5840
+ if (pivotIndex > index) {
5841
+ end = pivotPoint;
5842
+ }
5843
+ if (pivotIndex == index) {
5844
+ break;
5845
+ }
5846
+ sliceLength = end - start;
5847
+ pivotPoint = start + Math.floor(sliceLength / 2);
5848
+ pivotIndex = this.elements[pivotPoint * 2];
5849
+ }
5850
+ if (pivotIndex == index) {
5851
+ return pivotPoint * 2;
5852
+ }
5853
+ if (pivotIndex > index) {
5854
+ return pivotPoint * 2;
5855
+ }
5856
+ if (pivotIndex < index) {
5857
+ return (pivotPoint + 1) * 2;
5858
+ }
5859
+ };
5860
+ lunr2.Vector.prototype.insert = function(insertIdx, val) {
5861
+ this.upsert(insertIdx, val, function() {
5862
+ throw "duplicate index";
5863
+ });
5864
+ };
5865
+ lunr2.Vector.prototype.upsert = function(insertIdx, val, fn) {
5866
+ this._magnitude = 0;
5867
+ var position = this.positionForIndex(insertIdx);
5868
+ if (this.elements[position] == insertIdx) {
5869
+ this.elements[position + 1] = fn(this.elements[position + 1], val);
5870
+ } else {
5871
+ this.elements.splice(position, 0, insertIdx, val);
5872
+ }
5873
+ };
5874
+ lunr2.Vector.prototype.magnitude = function() {
5875
+ if (this._magnitude) return this._magnitude;
5876
+ var sumOfSquares = 0, elementsLength = this.elements.length;
5877
+ for (var i = 1; i < elementsLength; i += 2) {
5878
+ var val = this.elements[i];
5879
+ sumOfSquares += val * val;
5880
+ }
5881
+ return this._magnitude = Math.sqrt(sumOfSquares);
5882
+ };
5883
+ lunr2.Vector.prototype.dot = function(otherVector) {
5884
+ var dotProduct = 0, a = this.elements, b = otherVector.elements, aLen = a.length, bLen = b.length, aVal = 0, bVal = 0, i = 0, j = 0;
5885
+ while (i < aLen && j < bLen) {
5886
+ aVal = a[i], bVal = b[j];
5887
+ if (aVal < bVal) {
5888
+ i += 2;
5889
+ } else if (aVal > bVal) {
5890
+ j += 2;
5891
+ } else if (aVal == bVal) {
5892
+ dotProduct += a[i + 1] * b[j + 1];
5893
+ i += 2;
5894
+ j += 2;
5895
+ }
5896
+ }
5897
+ return dotProduct;
5898
+ };
5899
+ lunr2.Vector.prototype.similarity = function(otherVector) {
5900
+ return this.dot(otherVector) / this.magnitude() || 0;
5901
+ };
5902
+ lunr2.Vector.prototype.toArray = function() {
5903
+ var output = new Array(this.elements.length / 2);
5904
+ for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {
5905
+ output[j] = this.elements[i];
5906
+ }
5907
+ return output;
5908
+ };
5909
+ lunr2.Vector.prototype.toJSON = function() {
5910
+ return this.elements;
5911
+ };
5912
+ lunr2.stemmer = (function() {
5913
+ var step2list = {
5914
+ "ational": "ate",
5915
+ "tional": "tion",
5916
+ "enci": "ence",
5917
+ "anci": "ance",
5918
+ "izer": "ize",
5919
+ "bli": "ble",
5920
+ "alli": "al",
5921
+ "entli": "ent",
5922
+ "eli": "e",
5923
+ "ousli": "ous",
5924
+ "ization": "ize",
5925
+ "ation": "ate",
5926
+ "ator": "ate",
5927
+ "alism": "al",
5928
+ "iveness": "ive",
5929
+ "fulness": "ful",
5930
+ "ousness": "ous",
5931
+ "aliti": "al",
5932
+ "iviti": "ive",
5933
+ "biliti": "ble",
5934
+ "logi": "log"
5935
+ }, step3list = {
5936
+ "icate": "ic",
5937
+ "ative": "",
5938
+ "alize": "al",
5939
+ "iciti": "ic",
5940
+ "ical": "ic",
5941
+ "ful": "",
5942
+ "ness": ""
5943
+ }, c = "[^aeiou]", v = "[aeiouy]", C = c + "[^aeiouy]*", V = v + "[aeiou]*", mgr0 = "^(" + C + ")?" + V + C, meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", mgr1 = "^(" + C + ")?" + V + C + V + C, s_v = "^(" + C + ")?" + v;
5944
+ var re_mgr0 = new RegExp(mgr0);
5945
+ var re_mgr1 = new RegExp(mgr1);
5946
+ var re_meq1 = new RegExp(meq1);
5947
+ var re_s_v = new RegExp(s_v);
5948
+ var re_1a = /^(.+?)(ss|i)es$/;
5949
+ var re2_1a = /^(.+?)([^s])s$/;
5950
+ var re_1b = /^(.+?)eed$/;
5951
+ var re2_1b = /^(.+?)(ed|ing)$/;
5952
+ var re_1b_2 = /.$/;
5953
+ var re2_1b_2 = /(at|bl|iz)$/;
5954
+ var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$");
5955
+ var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$");
5956
+ var re_1c = /^(.+?[^aeiou])y$/;
5957
+ var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
5958
+ var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
5959
+ var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
5960
+ var re2_4 = /^(.+?)(s|t)(ion)$/;
5961
+ var re_5 = /^(.+?)e$/;
5962
+ var re_5_1 = /ll$/;
5963
+ var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$");
5964
+ var porterStemmer = function porterStemmer2(w) {
5965
+ var stem, suffix, firstch, re, re2, re3, re4;
5966
+ if (w.length < 3) {
5967
+ return w;
5968
+ }
5969
+ firstch = w.substr(0, 1);
5970
+ if (firstch == "y") {
5971
+ w = firstch.toUpperCase() + w.substr(1);
5972
+ }
5973
+ re = re_1a;
5974
+ re2 = re2_1a;
5975
+ if (re.test(w)) {
5976
+ w = w.replace(re, "$1$2");
5977
+ } else if (re2.test(w)) {
5978
+ w = w.replace(re2, "$1$2");
5979
+ }
5980
+ re = re_1b;
5981
+ re2 = re2_1b;
5982
+ if (re.test(w)) {
5983
+ var fp = re.exec(w);
5984
+ re = re_mgr0;
5985
+ if (re.test(fp[1])) {
5986
+ re = re_1b_2;
5987
+ w = w.replace(re, "");
5988
+ }
5989
+ } else if (re2.test(w)) {
5990
+ var fp = re2.exec(w);
5991
+ stem = fp[1];
5992
+ re2 = re_s_v;
5993
+ if (re2.test(stem)) {
5994
+ w = stem;
5995
+ re2 = re2_1b_2;
5996
+ re3 = re3_1b_2;
5997
+ re4 = re4_1b_2;
5998
+ if (re2.test(w)) {
5999
+ w = w + "e";
6000
+ } else if (re3.test(w)) {
6001
+ re = re_1b_2;
6002
+ w = w.replace(re, "");
6003
+ } else if (re4.test(w)) {
6004
+ w = w + "e";
6005
+ }
6006
+ }
6007
+ }
6008
+ re = re_1c;
6009
+ if (re.test(w)) {
6010
+ var fp = re.exec(w);
6011
+ stem = fp[1];
6012
+ w = stem + "i";
6013
+ }
6014
+ re = re_2;
6015
+ if (re.test(w)) {
6016
+ var fp = re.exec(w);
6017
+ stem = fp[1];
6018
+ suffix = fp[2];
6019
+ re = re_mgr0;
6020
+ if (re.test(stem)) {
6021
+ w = stem + step2list[suffix];
6022
+ }
6023
+ }
6024
+ re = re_3;
6025
+ if (re.test(w)) {
6026
+ var fp = re.exec(w);
6027
+ stem = fp[1];
6028
+ suffix = fp[2];
6029
+ re = re_mgr0;
6030
+ if (re.test(stem)) {
6031
+ w = stem + step3list[suffix];
6032
+ }
6033
+ }
6034
+ re = re_4;
6035
+ re2 = re2_4;
6036
+ if (re.test(w)) {
6037
+ var fp = re.exec(w);
6038
+ stem = fp[1];
6039
+ re = re_mgr1;
6040
+ if (re.test(stem)) {
6041
+ w = stem;
6042
+ }
6043
+ } else if (re2.test(w)) {
6044
+ var fp = re2.exec(w);
6045
+ stem = fp[1] + fp[2];
6046
+ re2 = re_mgr1;
6047
+ if (re2.test(stem)) {
6048
+ w = stem;
6049
+ }
6050
+ }
6051
+ re = re_5;
6052
+ if (re.test(w)) {
6053
+ var fp = re.exec(w);
6054
+ stem = fp[1];
6055
+ re = re_mgr1;
6056
+ re2 = re_meq1;
6057
+ re3 = re3_5;
6058
+ if (re.test(stem) || re2.test(stem) && !re3.test(stem)) {
6059
+ w = stem;
6060
+ }
6061
+ }
6062
+ re = re_5_1;
6063
+ re2 = re_mgr1;
6064
+ if (re.test(w) && re2.test(w)) {
6065
+ re = re_1b_2;
6066
+ w = w.replace(re, "");
6067
+ }
6068
+ if (firstch == "y") {
6069
+ w = firstch.toLowerCase() + w.substr(1);
6070
+ }
6071
+ return w;
6072
+ };
6073
+ return function(token) {
6074
+ return token.update(porterStemmer);
6075
+ };
6076
+ })();
6077
+ lunr2.Pipeline.registerFunction(lunr2.stemmer, "stemmer");
6078
+ lunr2.generateStopWordFilter = function(stopWords) {
6079
+ var words = stopWords.reduce(function(memo, stopWord) {
6080
+ memo[stopWord] = stopWord;
6081
+ return memo;
6082
+ }, {});
6083
+ return function(token) {
6084
+ if (token && words[token.toString()] !== token.toString()) return token;
6085
+ };
6086
+ };
6087
+ lunr2.stopWordFilter = lunr2.generateStopWordFilter([
6088
+ "a",
6089
+ "able",
6090
+ "about",
6091
+ "across",
6092
+ "after",
6093
+ "all",
6094
+ "almost",
6095
+ "also",
6096
+ "am",
6097
+ "among",
6098
+ "an",
6099
+ "and",
6100
+ "any",
6101
+ "are",
6102
+ "as",
6103
+ "at",
6104
+ "be",
6105
+ "because",
6106
+ "been",
6107
+ "but",
6108
+ "by",
6109
+ "can",
6110
+ "cannot",
6111
+ "could",
6112
+ "dear",
6113
+ "did",
6114
+ "do",
6115
+ "does",
6116
+ "either",
6117
+ "else",
6118
+ "ever",
6119
+ "every",
6120
+ "for",
6121
+ "from",
6122
+ "get",
6123
+ "got",
6124
+ "had",
6125
+ "has",
6126
+ "have",
6127
+ "he",
6128
+ "her",
6129
+ "hers",
6130
+ "him",
6131
+ "his",
6132
+ "how",
6133
+ "however",
6134
+ "i",
6135
+ "if",
6136
+ "in",
6137
+ "into",
6138
+ "is",
6139
+ "it",
6140
+ "its",
6141
+ "just",
6142
+ "least",
6143
+ "let",
6144
+ "like",
6145
+ "likely",
6146
+ "may",
6147
+ "me",
6148
+ "might",
6149
+ "most",
6150
+ "must",
6151
+ "my",
6152
+ "neither",
6153
+ "no",
6154
+ "nor",
6155
+ "not",
6156
+ "of",
6157
+ "off",
6158
+ "often",
6159
+ "on",
6160
+ "only",
6161
+ "or",
6162
+ "other",
6163
+ "our",
6164
+ "own",
6165
+ "rather",
6166
+ "said",
6167
+ "say",
6168
+ "says",
6169
+ "she",
6170
+ "should",
6171
+ "since",
6172
+ "so",
6173
+ "some",
6174
+ "than",
6175
+ "that",
6176
+ "the",
6177
+ "their",
6178
+ "them",
6179
+ "then",
6180
+ "there",
6181
+ "these",
6182
+ "they",
6183
+ "this",
6184
+ "tis",
6185
+ "to",
6186
+ "too",
6187
+ "twas",
6188
+ "us",
6189
+ "wants",
6190
+ "was",
6191
+ "we",
6192
+ "were",
6193
+ "what",
6194
+ "when",
6195
+ "where",
6196
+ "which",
6197
+ "while",
6198
+ "who",
6199
+ "whom",
6200
+ "why",
6201
+ "will",
6202
+ "with",
6203
+ "would",
6204
+ "yet",
6205
+ "you",
6206
+ "your"
6207
+ ]);
6208
+ lunr2.Pipeline.registerFunction(lunr2.stopWordFilter, "stopWordFilter");
6209
+ lunr2.trimmer = function(token) {
6210
+ return token.update(function(s) {
6211
+ return s.replace(/^\W+/, "").replace(/\W+$/, "");
6212
+ });
6213
+ };
6214
+ lunr2.Pipeline.registerFunction(lunr2.trimmer, "trimmer");
6215
+ lunr2.TokenSet = function() {
6216
+ this.final = false;
6217
+ this.edges = {};
6218
+ this.id = lunr2.TokenSet._nextId;
6219
+ lunr2.TokenSet._nextId += 1;
6220
+ };
6221
+ lunr2.TokenSet._nextId = 1;
6222
+ lunr2.TokenSet.fromArray = function(arr) {
6223
+ var builder7 = new lunr2.TokenSet.Builder();
6224
+ for (var i = 0, len = arr.length; i < len; i++) {
6225
+ builder7.insert(arr[i]);
6226
+ }
6227
+ builder7.finish();
6228
+ return builder7.root;
6229
+ };
6230
+ lunr2.TokenSet.fromClause = function(clause) {
6231
+ if ("editDistance" in clause) {
6232
+ return lunr2.TokenSet.fromFuzzyString(clause.term, clause.editDistance);
6233
+ } else {
6234
+ return lunr2.TokenSet.fromString(clause.term);
6235
+ }
6236
+ };
6237
+ lunr2.TokenSet.fromFuzzyString = function(str, editDistance) {
6238
+ var root = new lunr2.TokenSet();
6239
+ var stack = [{
6240
+ node: root,
6241
+ editsRemaining: editDistance,
6242
+ str
6243
+ }];
6244
+ while (stack.length) {
6245
+ var frame = stack.pop();
6246
+ if (frame.str.length > 0) {
6247
+ var char = frame.str.charAt(0), noEditNode;
6248
+ if (char in frame.node.edges) {
6249
+ noEditNode = frame.node.edges[char];
6250
+ } else {
6251
+ noEditNode = new lunr2.TokenSet();
6252
+ frame.node.edges[char] = noEditNode;
6253
+ }
6254
+ if (frame.str.length == 1) {
6255
+ noEditNode.final = true;
6256
+ }
6257
+ stack.push({
6258
+ node: noEditNode,
6259
+ editsRemaining: frame.editsRemaining,
6260
+ str: frame.str.slice(1)
6261
+ });
6262
+ }
6263
+ if (frame.editsRemaining == 0) {
6264
+ continue;
6265
+ }
6266
+ if ("*" in frame.node.edges) {
6267
+ var insertionNode = frame.node.edges["*"];
6268
+ } else {
6269
+ var insertionNode = new lunr2.TokenSet();
6270
+ frame.node.edges["*"] = insertionNode;
6271
+ }
6272
+ if (frame.str.length == 0) {
6273
+ insertionNode.final = true;
6274
+ }
6275
+ stack.push({
6276
+ node: insertionNode,
6277
+ editsRemaining: frame.editsRemaining - 1,
6278
+ str: frame.str
6279
+ });
6280
+ if (frame.str.length > 1) {
6281
+ stack.push({
6282
+ node: frame.node,
6283
+ editsRemaining: frame.editsRemaining - 1,
6284
+ str: frame.str.slice(1)
6285
+ });
6286
+ }
6287
+ if (frame.str.length == 1) {
6288
+ frame.node.final = true;
6289
+ }
6290
+ if (frame.str.length >= 1) {
6291
+ if ("*" in frame.node.edges) {
6292
+ var substitutionNode = frame.node.edges["*"];
6293
+ } else {
6294
+ var substitutionNode = new lunr2.TokenSet();
6295
+ frame.node.edges["*"] = substitutionNode;
6296
+ }
6297
+ if (frame.str.length == 1) {
6298
+ substitutionNode.final = true;
6299
+ }
6300
+ stack.push({
6301
+ node: substitutionNode,
6302
+ editsRemaining: frame.editsRemaining - 1,
6303
+ str: frame.str.slice(1)
6304
+ });
6305
+ }
6306
+ if (frame.str.length > 1) {
6307
+ var charA = frame.str.charAt(0), charB = frame.str.charAt(1), transposeNode;
6308
+ if (charB in frame.node.edges) {
6309
+ transposeNode = frame.node.edges[charB];
6310
+ } else {
6311
+ transposeNode = new lunr2.TokenSet();
6312
+ frame.node.edges[charB] = transposeNode;
6313
+ }
6314
+ if (frame.str.length == 1) {
6315
+ transposeNode.final = true;
6316
+ }
6317
+ stack.push({
6318
+ node: transposeNode,
6319
+ editsRemaining: frame.editsRemaining - 1,
6320
+ str: charA + frame.str.slice(2)
6321
+ });
6322
+ }
6323
+ }
6324
+ return root;
6325
+ };
6326
+ lunr2.TokenSet.fromString = function(str) {
6327
+ var node = new lunr2.TokenSet(), root = node;
6328
+ for (var i = 0, len = str.length; i < len; i++) {
6329
+ var char = str[i], final = i == len - 1;
6330
+ if (char == "*") {
6331
+ node.edges[char] = node;
6332
+ node.final = final;
6333
+ } else {
6334
+ var next = new lunr2.TokenSet();
6335
+ next.final = final;
6336
+ node.edges[char] = next;
6337
+ node = next;
6338
+ }
6339
+ }
6340
+ return root;
6341
+ };
6342
+ lunr2.TokenSet.prototype.toArray = function() {
6343
+ var words = [];
6344
+ var stack = [{
6345
+ prefix: "",
6346
+ node: this
6347
+ }];
6348
+ while (stack.length) {
6349
+ var frame = stack.pop(), edges = Object.keys(frame.node.edges), len = edges.length;
6350
+ if (frame.node.final) {
6351
+ frame.prefix.charAt(0);
6352
+ words.push(frame.prefix);
6353
+ }
6354
+ for (var i = 0; i < len; i++) {
6355
+ var edge = edges[i];
6356
+ stack.push({
6357
+ prefix: frame.prefix.concat(edge),
6358
+ node: frame.node.edges[edge]
6359
+ });
6360
+ }
6361
+ }
6362
+ return words;
6363
+ };
6364
+ lunr2.TokenSet.prototype.toString = function() {
6365
+ if (this._str) {
6366
+ return this._str;
6367
+ }
6368
+ var str = this.final ? "1" : "0", labels = Object.keys(this.edges).sort(), len = labels.length;
6369
+ for (var i = 0; i < len; i++) {
6370
+ var label = labels[i], node = this.edges[label];
6371
+ str = str + label + node.id;
6372
+ }
6373
+ return str;
6374
+ };
6375
+ lunr2.TokenSet.prototype.intersect = function(b) {
6376
+ var output = new lunr2.TokenSet(), frame = void 0;
6377
+ var stack = [{
6378
+ qNode: b,
6379
+ output,
6380
+ node: this
6381
+ }];
6382
+ while (stack.length) {
6383
+ frame = stack.pop();
6384
+ var qEdges = Object.keys(frame.qNode.edges), qLen = qEdges.length, nEdges = Object.keys(frame.node.edges), nLen = nEdges.length;
6385
+ for (var q = 0; q < qLen; q++) {
6386
+ var qEdge = qEdges[q];
6387
+ for (var n = 0; n < nLen; n++) {
6388
+ var nEdge = nEdges[n];
6389
+ if (nEdge == qEdge || qEdge == "*") {
6390
+ var node = frame.node.edges[nEdge], qNode = frame.qNode.edges[qEdge], final = node.final && qNode.final, next = void 0;
6391
+ if (nEdge in frame.output.edges) {
6392
+ next = frame.output.edges[nEdge];
6393
+ next.final = next.final || final;
6394
+ } else {
6395
+ next = new lunr2.TokenSet();
6396
+ next.final = final;
6397
+ frame.output.edges[nEdge] = next;
6398
+ }
6399
+ stack.push({
6400
+ qNode,
6401
+ output: next,
6402
+ node
6403
+ });
6404
+ }
6405
+ }
6406
+ }
6407
+ }
6408
+ return output;
6409
+ };
6410
+ lunr2.TokenSet.Builder = function() {
6411
+ this.previousWord = "";
6412
+ this.root = new lunr2.TokenSet();
6413
+ this.uncheckedNodes = [];
6414
+ this.minimizedNodes = {};
6415
+ };
6416
+ lunr2.TokenSet.Builder.prototype.insert = function(word) {
6417
+ var node, commonPrefix = 0;
6418
+ if (word < this.previousWord) {
6419
+ throw new Error("Out of order word insertion");
6420
+ }
6421
+ for (var i = 0; i < word.length && i < this.previousWord.length; i++) {
6422
+ if (word[i] != this.previousWord[i]) break;
6423
+ commonPrefix++;
6424
+ }
6425
+ this.minimize(commonPrefix);
6426
+ if (this.uncheckedNodes.length == 0) {
6427
+ node = this.root;
6428
+ } else {
6429
+ node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child;
6430
+ }
6431
+ for (var i = commonPrefix; i < word.length; i++) {
6432
+ var nextNode = new lunr2.TokenSet(), char = word[i];
6433
+ node.edges[char] = nextNode;
6434
+ this.uncheckedNodes.push({
6435
+ parent: node,
6436
+ char,
6437
+ child: nextNode
6438
+ });
6439
+ node = nextNode;
6440
+ }
6441
+ node.final = true;
6442
+ this.previousWord = word;
6443
+ };
6444
+ lunr2.TokenSet.Builder.prototype.finish = function() {
6445
+ this.minimize(0);
6446
+ };
6447
+ lunr2.TokenSet.Builder.prototype.minimize = function(downTo) {
6448
+ for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {
6449
+ var node = this.uncheckedNodes[i], childKey = node.child.toString();
6450
+ if (childKey in this.minimizedNodes) {
6451
+ node.parent.edges[node.char] = this.minimizedNodes[childKey];
6452
+ } else {
6453
+ node.child._str = childKey;
6454
+ this.minimizedNodes[childKey] = node.child;
6455
+ }
6456
+ this.uncheckedNodes.pop();
6457
+ }
6458
+ };
6459
+ lunr2.Index = function(attrs) {
6460
+ this.invertedIndex = attrs.invertedIndex;
6461
+ this.fieldVectors = attrs.fieldVectors;
6462
+ this.tokenSet = attrs.tokenSet;
6463
+ this.fields = attrs.fields;
6464
+ this.pipeline = attrs.pipeline;
6465
+ };
6466
+ lunr2.Index.prototype.search = function(queryString) {
6467
+ return this.query(function(query) {
6468
+ var parser2 = new lunr2.QueryParser(queryString, query);
6469
+ parser2.parse();
6470
+ });
6471
+ };
6472
+ lunr2.Index.prototype.query = function(fn) {
6473
+ var query = new lunr2.Query(this.fields), matchingFields = /* @__PURE__ */ Object.create(null), queryVectors = /* @__PURE__ */ Object.create(null), termFieldCache = /* @__PURE__ */ Object.create(null), requiredMatches = /* @__PURE__ */ Object.create(null), prohibitedMatches = /* @__PURE__ */ Object.create(null);
6474
+ for (var i = 0; i < this.fields.length; i++) {
6475
+ queryVectors[this.fields[i]] = new lunr2.Vector();
6476
+ }
6477
+ fn.call(query, query);
6478
+ for (var i = 0; i < query.clauses.length; i++) {
6479
+ var clause = query.clauses[i], terms = null, clauseMatches = lunr2.Set.empty;
6480
+ if (clause.usePipeline) {
6481
+ terms = this.pipeline.runString(clause.term, {
6482
+ fields: clause.fields
6483
+ });
6484
+ } else {
6485
+ terms = [clause.term];
6486
+ }
6487
+ for (var m = 0; m < terms.length; m++) {
6488
+ var term = terms[m];
6489
+ clause.term = term;
6490
+ var termTokenSet = lunr2.TokenSet.fromClause(clause), expandedTerms = this.tokenSet.intersect(termTokenSet).toArray();
6491
+ if (expandedTerms.length === 0 && clause.presence === lunr2.Query.presence.REQUIRED) {
6492
+ for (var k = 0; k < clause.fields.length; k++) {
6493
+ var field = clause.fields[k];
6494
+ requiredMatches[field] = lunr2.Set.empty;
6495
+ }
6496
+ break;
6497
+ }
6498
+ for (var j = 0; j < expandedTerms.length; j++) {
6499
+ var expandedTerm = expandedTerms[j], posting = this.invertedIndex[expandedTerm], termIndex = posting._index;
6500
+ for (var k = 0; k < clause.fields.length; k++) {
6501
+ var field = clause.fields[k], fieldPosting = posting[field], matchingDocumentRefs = Object.keys(fieldPosting), termField = expandedTerm + "/" + field, matchingDocumentsSet = new lunr2.Set(matchingDocumentRefs);
6502
+ if (clause.presence == lunr2.Query.presence.REQUIRED) {
6503
+ clauseMatches = clauseMatches.union(matchingDocumentsSet);
6504
+ if (requiredMatches[field] === void 0) {
6505
+ requiredMatches[field] = lunr2.Set.complete;
6506
+ }
6507
+ }
6508
+ if (clause.presence == lunr2.Query.presence.PROHIBITED) {
6509
+ if (prohibitedMatches[field] === void 0) {
6510
+ prohibitedMatches[field] = lunr2.Set.empty;
6511
+ }
6512
+ prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet);
6513
+ continue;
6514
+ }
6515
+ queryVectors[field].upsert(termIndex, clause.boost, function(a, b) {
6516
+ return a + b;
6517
+ });
6518
+ if (termFieldCache[termField]) {
6519
+ continue;
6520
+ }
6521
+ for (var l = 0; l < matchingDocumentRefs.length; l++) {
6522
+ var matchingDocumentRef = matchingDocumentRefs[l], matchingFieldRef = new lunr2.FieldRef(matchingDocumentRef, field), metadata = fieldPosting[matchingDocumentRef], fieldMatch;
6523
+ if ((fieldMatch = matchingFields[matchingFieldRef]) === void 0) {
6524
+ matchingFields[matchingFieldRef] = new lunr2.MatchData(expandedTerm, field, metadata);
6525
+ } else {
6526
+ fieldMatch.add(expandedTerm, field, metadata);
6527
+ }
6528
+ }
6529
+ termFieldCache[termField] = true;
6530
+ }
6531
+ }
6532
+ }
6533
+ if (clause.presence === lunr2.Query.presence.REQUIRED) {
6534
+ for (var k = 0; k < clause.fields.length; k++) {
6535
+ var field = clause.fields[k];
6536
+ requiredMatches[field] = requiredMatches[field].intersect(clauseMatches);
6537
+ }
6538
+ }
6539
+ }
6540
+ var allRequiredMatches = lunr2.Set.complete, allProhibitedMatches = lunr2.Set.empty;
6541
+ for (var i = 0; i < this.fields.length; i++) {
6542
+ var field = this.fields[i];
6543
+ if (requiredMatches[field]) {
6544
+ allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field]);
6545
+ }
6546
+ if (prohibitedMatches[field]) {
6547
+ allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field]);
6548
+ }
6549
+ }
6550
+ var matchingFieldRefs = Object.keys(matchingFields), results = [], matches = /* @__PURE__ */ Object.create(null);
6551
+ if (query.isNegated()) {
6552
+ matchingFieldRefs = Object.keys(this.fieldVectors);
6553
+ for (var i = 0; i < matchingFieldRefs.length; i++) {
6554
+ var matchingFieldRef = matchingFieldRefs[i];
6555
+ var fieldRef = lunr2.FieldRef.fromString(matchingFieldRef);
6556
+ matchingFields[matchingFieldRef] = new lunr2.MatchData();
6557
+ }
6558
+ }
6559
+ for (var i = 0; i < matchingFieldRefs.length; i++) {
6560
+ var fieldRef = lunr2.FieldRef.fromString(matchingFieldRefs[i]), docRef = fieldRef.docRef;
6561
+ if (!allRequiredMatches.contains(docRef)) {
6562
+ continue;
6563
+ }
6564
+ if (allProhibitedMatches.contains(docRef)) {
6565
+ continue;
6566
+ }
6567
+ var fieldVector = this.fieldVectors[fieldRef], score = queryVectors[fieldRef.fieldName].similarity(fieldVector), docMatch;
6568
+ if ((docMatch = matches[docRef]) !== void 0) {
6569
+ docMatch.score += score;
6570
+ docMatch.matchData.combine(matchingFields[fieldRef]);
6571
+ } else {
6572
+ var match = {
6573
+ ref: docRef,
6574
+ score,
6575
+ matchData: matchingFields[fieldRef]
6576
+ };
6577
+ matches[docRef] = match;
6578
+ results.push(match);
6579
+ }
6580
+ }
6581
+ return results.sort(function(a, b) {
6582
+ return b.score - a.score;
6583
+ });
6584
+ };
6585
+ lunr2.Index.prototype.toJSON = function() {
6586
+ var invertedIndex = Object.keys(this.invertedIndex).sort().map(function(term) {
6587
+ return [term, this.invertedIndex[term]];
6588
+ }, this);
6589
+ var fieldVectors = Object.keys(this.fieldVectors).map(function(ref) {
6590
+ return [ref, this.fieldVectors[ref].toJSON()];
6591
+ }, this);
6592
+ return {
6593
+ version: lunr2.version,
6594
+ fields: this.fields,
6595
+ fieldVectors,
6596
+ invertedIndex,
6597
+ pipeline: this.pipeline.toJSON()
6598
+ };
6599
+ };
6600
+ lunr2.Index.load = function(serializedIndex) {
6601
+ var attrs = {}, fieldVectors = {}, serializedVectors = serializedIndex.fieldVectors, invertedIndex = /* @__PURE__ */ Object.create(null), serializedInvertedIndex = serializedIndex.invertedIndex, tokenSetBuilder = new lunr2.TokenSet.Builder(), pipeline = lunr2.Pipeline.load(serializedIndex.pipeline);
6602
+ if (serializedIndex.version != lunr2.version) {
6603
+ lunr2.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr2.version + "' does not match serialized index '" + serializedIndex.version + "'");
6604
+ }
6605
+ for (var i = 0; i < serializedVectors.length; i++) {
6606
+ var tuple = serializedVectors[i], ref = tuple[0], elements = tuple[1];
6607
+ fieldVectors[ref] = new lunr2.Vector(elements);
6608
+ }
6609
+ for (var i = 0; i < serializedInvertedIndex.length; i++) {
6610
+ var tuple = serializedInvertedIndex[i], term = tuple[0], posting = tuple[1];
6611
+ tokenSetBuilder.insert(term);
6612
+ invertedIndex[term] = posting;
6613
+ }
6614
+ tokenSetBuilder.finish();
6615
+ attrs.fields = serializedIndex.fields;
6616
+ attrs.fieldVectors = fieldVectors;
6617
+ attrs.invertedIndex = invertedIndex;
6618
+ attrs.tokenSet = tokenSetBuilder.root;
6619
+ attrs.pipeline = pipeline;
6620
+ return new lunr2.Index(attrs);
6621
+ };
6622
+ lunr2.Builder = function() {
6623
+ this._ref = "id";
6624
+ this._fields = /* @__PURE__ */ Object.create(null);
6625
+ this._documents = /* @__PURE__ */ Object.create(null);
6626
+ this.invertedIndex = /* @__PURE__ */ Object.create(null);
6627
+ this.fieldTermFrequencies = {};
6628
+ this.fieldLengths = {};
6629
+ this.tokenizer = lunr2.tokenizer;
6630
+ this.pipeline = new lunr2.Pipeline();
6631
+ this.searchPipeline = new lunr2.Pipeline();
6632
+ this.documentCount = 0;
6633
+ this._b = 0.75;
6634
+ this._k1 = 1.2;
6635
+ this.termIndex = 0;
6636
+ this.metadataWhitelist = [];
6637
+ };
6638
+ lunr2.Builder.prototype.ref = function(ref) {
6639
+ this._ref = ref;
6640
+ };
6641
+ lunr2.Builder.prototype.field = function(fieldName, attributes) {
6642
+ if (/\//.test(fieldName)) {
6643
+ throw new RangeError("Field '" + fieldName + "' contains illegal character '/'");
6644
+ }
6645
+ this._fields[fieldName] = attributes || {};
6646
+ };
6647
+ lunr2.Builder.prototype.b = function(number) {
6648
+ if (number < 0) {
6649
+ this._b = 0;
6650
+ } else if (number > 1) {
6651
+ this._b = 1;
6652
+ } else {
6653
+ this._b = number;
6654
+ }
6655
+ };
6656
+ lunr2.Builder.prototype.k1 = function(number) {
6657
+ this._k1 = number;
6658
+ };
6659
+ lunr2.Builder.prototype.add = function(doc2, attributes) {
6660
+ var docRef = doc2[this._ref], fields = Object.keys(this._fields);
6661
+ this._documents[docRef] = attributes || {};
6662
+ this.documentCount += 1;
6663
+ for (var i = 0; i < fields.length; i++) {
6664
+ var fieldName = fields[i], extractor = this._fields[fieldName].extractor, field = extractor ? extractor(doc2) : doc2[fieldName], tokens = this.tokenizer(field, {
6665
+ fields: [fieldName]
6666
+ }), terms = this.pipeline.run(tokens), fieldRef = new lunr2.FieldRef(docRef, fieldName), fieldTerms = /* @__PURE__ */ Object.create(null);
6667
+ this.fieldTermFrequencies[fieldRef] = fieldTerms;
6668
+ this.fieldLengths[fieldRef] = 0;
6669
+ this.fieldLengths[fieldRef] += terms.length;
6670
+ for (var j = 0; j < terms.length; j++) {
6671
+ var term = terms[j];
6672
+ if (fieldTerms[term] == void 0) {
6673
+ fieldTerms[term] = 0;
6674
+ }
6675
+ fieldTerms[term] += 1;
6676
+ if (this.invertedIndex[term] == void 0) {
6677
+ var posting = /* @__PURE__ */ Object.create(null);
6678
+ posting["_index"] = this.termIndex;
6679
+ this.termIndex += 1;
6680
+ for (var k = 0; k < fields.length; k++) {
6681
+ posting[fields[k]] = /* @__PURE__ */ Object.create(null);
6682
+ }
6683
+ this.invertedIndex[term] = posting;
6684
+ }
6685
+ if (this.invertedIndex[term][fieldName][docRef] == void 0) {
6686
+ this.invertedIndex[term][fieldName][docRef] = /* @__PURE__ */ Object.create(null);
6687
+ }
6688
+ for (var l = 0; l < this.metadataWhitelist.length; l++) {
6689
+ var metadataKey = this.metadataWhitelist[l], metadata = term.metadata[metadataKey];
6690
+ if (this.invertedIndex[term][fieldName][docRef][metadataKey] == void 0) {
6691
+ this.invertedIndex[term][fieldName][docRef][metadataKey] = [];
6692
+ }
6693
+ this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata);
6694
+ }
6695
+ }
6696
+ }
6697
+ };
6698
+ lunr2.Builder.prototype.calculateAverageFieldLengths = function() {
6699
+ var fieldRefs = Object.keys(this.fieldLengths), numberOfFields = fieldRefs.length, accumulator = {}, documentsWithField = {};
6700
+ for (var i = 0; i < numberOfFields; i++) {
6701
+ var fieldRef = lunr2.FieldRef.fromString(fieldRefs[i]), field = fieldRef.fieldName;
6702
+ documentsWithField[field] || (documentsWithField[field] = 0);
6703
+ documentsWithField[field] += 1;
6704
+ accumulator[field] || (accumulator[field] = 0);
6705
+ accumulator[field] += this.fieldLengths[fieldRef];
6706
+ }
6707
+ var fields = Object.keys(this._fields);
6708
+ for (var i = 0; i < fields.length; i++) {
6709
+ var fieldName = fields[i];
6710
+ accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName];
6711
+ }
6712
+ this.averageFieldLength = accumulator;
6713
+ };
6714
+ lunr2.Builder.prototype.createFieldVectors = function() {
6715
+ var fieldVectors = {}, fieldRefs = Object.keys(this.fieldTermFrequencies), fieldRefsLength = fieldRefs.length, termIdfCache = /* @__PURE__ */ Object.create(null);
6716
+ for (var i = 0; i < fieldRefsLength; i++) {
6717
+ var fieldRef = lunr2.FieldRef.fromString(fieldRefs[i]), fieldName = fieldRef.fieldName, fieldLength = this.fieldLengths[fieldRef], fieldVector = new lunr2.Vector(), termFrequencies = this.fieldTermFrequencies[fieldRef], terms = Object.keys(termFrequencies), termsLength = terms.length;
6718
+ var fieldBoost = this._fields[fieldName].boost || 1, docBoost = this._documents[fieldRef.docRef].boost || 1;
6719
+ for (var j = 0; j < termsLength; j++) {
6720
+ var term = terms[j], tf = termFrequencies[term], termIndex = this.invertedIndex[term]._index, idf, score, scoreWithPrecision;
6721
+ if (termIdfCache[term] === void 0) {
6722
+ idf = lunr2.idf(this.invertedIndex[term], this.documentCount);
6723
+ termIdfCache[term] = idf;
6724
+ } else {
6725
+ idf = termIdfCache[term];
6726
+ }
6727
+ score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf);
6728
+ score *= fieldBoost;
6729
+ score *= docBoost;
6730
+ scoreWithPrecision = Math.round(score * 1e3) / 1e3;
6731
+ fieldVector.insert(termIndex, scoreWithPrecision);
6732
+ }
6733
+ fieldVectors[fieldRef] = fieldVector;
6734
+ }
6735
+ this.fieldVectors = fieldVectors;
6736
+ };
6737
+ lunr2.Builder.prototype.createTokenSet = function() {
6738
+ this.tokenSet = lunr2.TokenSet.fromArray(
6739
+ Object.keys(this.invertedIndex).sort()
6740
+ );
6741
+ };
6742
+ lunr2.Builder.prototype.build = function() {
6743
+ this.calculateAverageFieldLengths();
6744
+ this.createFieldVectors();
6745
+ this.createTokenSet();
6746
+ return new lunr2.Index({
6747
+ invertedIndex: this.invertedIndex,
6748
+ fieldVectors: this.fieldVectors,
6749
+ tokenSet: this.tokenSet,
6750
+ fields: Object.keys(this._fields),
6751
+ pipeline: this.searchPipeline
6752
+ });
6753
+ };
6754
+ lunr2.Builder.prototype.use = function(fn) {
6755
+ var args = Array.prototype.slice.call(arguments, 1);
6756
+ args.unshift(this);
6757
+ fn.apply(this, args);
6758
+ };
6759
+ lunr2.MatchData = function(term, field, metadata) {
6760
+ var clonedMetadata = /* @__PURE__ */ Object.create(null), metadataKeys = Object.keys(metadata || {});
6761
+ for (var i = 0; i < metadataKeys.length; i++) {
6762
+ var key = metadataKeys[i];
6763
+ clonedMetadata[key] = metadata[key].slice();
6764
+ }
6765
+ this.metadata = /* @__PURE__ */ Object.create(null);
6766
+ if (term !== void 0) {
6767
+ this.metadata[term] = /* @__PURE__ */ Object.create(null);
6768
+ this.metadata[term][field] = clonedMetadata;
6769
+ }
6770
+ };
6771
+ lunr2.MatchData.prototype.combine = function(otherMatchData) {
6772
+ var terms = Object.keys(otherMatchData.metadata);
6773
+ for (var i = 0; i < terms.length; i++) {
6774
+ var term = terms[i], fields = Object.keys(otherMatchData.metadata[term]);
6775
+ if (this.metadata[term] == void 0) {
6776
+ this.metadata[term] = /* @__PURE__ */ Object.create(null);
6777
+ }
6778
+ for (var j = 0; j < fields.length; j++) {
6779
+ var field = fields[j], keys = Object.keys(otherMatchData.metadata[term][field]);
6780
+ if (this.metadata[term][field] == void 0) {
6781
+ this.metadata[term][field] = /* @__PURE__ */ Object.create(null);
6782
+ }
6783
+ for (var k = 0; k < keys.length; k++) {
6784
+ var key = keys[k];
6785
+ if (this.metadata[term][field][key] == void 0) {
6786
+ this.metadata[term][field][key] = otherMatchData.metadata[term][field][key];
6787
+ } else {
6788
+ this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key]);
6789
+ }
6790
+ }
6791
+ }
6792
+ }
6793
+ };
6794
+ lunr2.MatchData.prototype.add = function(term, field, metadata) {
6795
+ if (!(term in this.metadata)) {
6796
+ this.metadata[term] = /* @__PURE__ */ Object.create(null);
6797
+ this.metadata[term][field] = metadata;
6798
+ return;
6799
+ }
6800
+ if (!(field in this.metadata[term])) {
6801
+ this.metadata[term][field] = metadata;
6802
+ return;
6803
+ }
6804
+ var metadataKeys = Object.keys(metadata);
6805
+ for (var i = 0; i < metadataKeys.length; i++) {
6806
+ var key = metadataKeys[i];
6807
+ if (key in this.metadata[term][field]) {
6808
+ this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key]);
6809
+ } else {
6810
+ this.metadata[term][field][key] = metadata[key];
6811
+ }
6812
+ }
6813
+ };
6814
+ lunr2.Query = function(allFields) {
6815
+ this.clauses = [];
6816
+ this.allFields = allFields;
6817
+ };
6818
+ lunr2.Query.wildcard = new String("*");
6819
+ lunr2.Query.wildcard.NONE = 0;
6820
+ lunr2.Query.wildcard.LEADING = 1;
6821
+ lunr2.Query.wildcard.TRAILING = 2;
6822
+ lunr2.Query.presence = {
6823
+ /**
6824
+ * Term's presence in a document is optional, this is the default value.
6825
+ */
6826
+ OPTIONAL: 1,
6827
+ /**
6828
+ * Term's presence in a document is required, documents that do not contain
6829
+ * this term will not be returned.
6830
+ */
6831
+ REQUIRED: 2,
6832
+ /**
6833
+ * Term's presence in a document is prohibited, documents that do contain
6834
+ * this term will not be returned.
6835
+ */
6836
+ PROHIBITED: 3
6837
+ };
6838
+ lunr2.Query.prototype.clause = function(clause) {
6839
+ if (!("fields" in clause)) {
6840
+ clause.fields = this.allFields;
6841
+ }
6842
+ if (!("boost" in clause)) {
6843
+ clause.boost = 1;
6844
+ }
6845
+ if (!("usePipeline" in clause)) {
6846
+ clause.usePipeline = true;
6847
+ }
6848
+ if (!("wildcard" in clause)) {
6849
+ clause.wildcard = lunr2.Query.wildcard.NONE;
6850
+ }
6851
+ if (clause.wildcard & lunr2.Query.wildcard.LEADING && clause.term.charAt(0) != lunr2.Query.wildcard) {
6852
+ clause.term = "*" + clause.term;
6853
+ }
6854
+ if (clause.wildcard & lunr2.Query.wildcard.TRAILING && clause.term.slice(-1) != lunr2.Query.wildcard) {
6855
+ clause.term = "" + clause.term + "*";
6856
+ }
6857
+ if (!("presence" in clause)) {
6858
+ clause.presence = lunr2.Query.presence.OPTIONAL;
6859
+ }
6860
+ this.clauses.push(clause);
6861
+ return this;
6862
+ };
6863
+ lunr2.Query.prototype.isNegated = function() {
6864
+ for (var i = 0; i < this.clauses.length; i++) {
6865
+ if (this.clauses[i].presence != lunr2.Query.presence.PROHIBITED) {
6866
+ return false;
6867
+ }
6868
+ }
6869
+ return true;
6870
+ };
6871
+ lunr2.Query.prototype.term = function(term, options2) {
6872
+ if (Array.isArray(term)) {
6873
+ term.forEach(function(t) {
6874
+ this.term(t, lunr2.utils.clone(options2));
6875
+ }, this);
6876
+ return this;
6877
+ }
6878
+ var clause = options2 || {};
6879
+ clause.term = term.toString();
6880
+ this.clause(clause);
6881
+ return this;
6882
+ };
6883
+ lunr2.QueryParseError = function(message, start, end) {
6884
+ this.name = "QueryParseError";
6885
+ this.message = message;
6886
+ this.start = start;
6887
+ this.end = end;
6888
+ };
6889
+ lunr2.QueryParseError.prototype = new Error();
6890
+ lunr2.QueryLexer = function(str) {
6891
+ this.lexemes = [];
6892
+ this.str = str;
6893
+ this.length = str.length;
6894
+ this.pos = 0;
6895
+ this.start = 0;
6896
+ this.escapeCharPositions = [];
6897
+ };
6898
+ lunr2.QueryLexer.prototype.run = function() {
6899
+ var state = lunr2.QueryLexer.lexText;
6900
+ while (state) {
6901
+ state = state(this);
6902
+ }
6903
+ };
6904
+ lunr2.QueryLexer.prototype.sliceString = function() {
6905
+ var subSlices = [], sliceStart = this.start, sliceEnd = this.pos;
6906
+ for (var i = 0; i < this.escapeCharPositions.length; i++) {
6907
+ sliceEnd = this.escapeCharPositions[i];
6908
+ subSlices.push(this.str.slice(sliceStart, sliceEnd));
6909
+ sliceStart = sliceEnd + 1;
6910
+ }
6911
+ subSlices.push(this.str.slice(sliceStart, this.pos));
6912
+ this.escapeCharPositions.length = 0;
6913
+ return subSlices.join("");
6914
+ };
6915
+ lunr2.QueryLexer.prototype.emit = function(type) {
6916
+ this.lexemes.push({
6917
+ type,
6918
+ str: this.sliceString(),
6919
+ start: this.start,
6920
+ end: this.pos
6921
+ });
6922
+ this.start = this.pos;
6923
+ };
6924
+ lunr2.QueryLexer.prototype.escapeCharacter = function() {
6925
+ this.escapeCharPositions.push(this.pos - 1);
6926
+ this.pos += 1;
6927
+ };
6928
+ lunr2.QueryLexer.prototype.next = function() {
6929
+ if (this.pos >= this.length) {
6930
+ return lunr2.QueryLexer.EOS;
6931
+ }
6932
+ var char = this.str.charAt(this.pos);
6933
+ this.pos += 1;
6934
+ return char;
6935
+ };
6936
+ lunr2.QueryLexer.prototype.width = function() {
6937
+ return this.pos - this.start;
6938
+ };
6939
+ lunr2.QueryLexer.prototype.ignore = function() {
6940
+ if (this.start == this.pos) {
6941
+ this.pos += 1;
6942
+ }
6943
+ this.start = this.pos;
6944
+ };
6945
+ lunr2.QueryLexer.prototype.backup = function() {
6946
+ this.pos -= 1;
6947
+ };
6948
+ lunr2.QueryLexer.prototype.acceptDigitRun = function() {
6949
+ var char, charCode;
6950
+ do {
6951
+ char = this.next();
6952
+ charCode = char.charCodeAt(0);
6953
+ } while (charCode > 47 && charCode < 58);
6954
+ if (char != lunr2.QueryLexer.EOS) {
6955
+ this.backup();
6956
+ }
6957
+ };
6958
+ lunr2.QueryLexer.prototype.more = function() {
6959
+ return this.pos < this.length;
6960
+ };
6961
+ lunr2.QueryLexer.EOS = "EOS";
6962
+ lunr2.QueryLexer.FIELD = "FIELD";
6963
+ lunr2.QueryLexer.TERM = "TERM";
6964
+ lunr2.QueryLexer.EDIT_DISTANCE = "EDIT_DISTANCE";
6965
+ lunr2.QueryLexer.BOOST = "BOOST";
6966
+ lunr2.QueryLexer.PRESENCE = "PRESENCE";
6967
+ lunr2.QueryLexer.lexField = function(lexer) {
6968
+ lexer.backup();
6969
+ lexer.emit(lunr2.QueryLexer.FIELD);
6970
+ lexer.ignore();
6971
+ return lunr2.QueryLexer.lexText;
6972
+ };
6973
+ lunr2.QueryLexer.lexTerm = function(lexer) {
6974
+ if (lexer.width() > 1) {
6975
+ lexer.backup();
6976
+ lexer.emit(lunr2.QueryLexer.TERM);
6977
+ }
6978
+ lexer.ignore();
6979
+ if (lexer.more()) {
6980
+ return lunr2.QueryLexer.lexText;
6981
+ }
6982
+ };
6983
+ lunr2.QueryLexer.lexEditDistance = function(lexer) {
6984
+ lexer.ignore();
6985
+ lexer.acceptDigitRun();
6986
+ lexer.emit(lunr2.QueryLexer.EDIT_DISTANCE);
6987
+ return lunr2.QueryLexer.lexText;
6988
+ };
6989
+ lunr2.QueryLexer.lexBoost = function(lexer) {
6990
+ lexer.ignore();
6991
+ lexer.acceptDigitRun();
6992
+ lexer.emit(lunr2.QueryLexer.BOOST);
6993
+ return lunr2.QueryLexer.lexText;
6994
+ };
6995
+ lunr2.QueryLexer.lexEOS = function(lexer) {
6996
+ if (lexer.width() > 0) {
6997
+ lexer.emit(lunr2.QueryLexer.TERM);
6998
+ }
6999
+ };
7000
+ lunr2.QueryLexer.termSeparator = lunr2.tokenizer.separator;
7001
+ lunr2.QueryLexer.lexText = function(lexer) {
7002
+ while (true) {
7003
+ var char = lexer.next();
7004
+ if (char == lunr2.QueryLexer.EOS) {
7005
+ return lunr2.QueryLexer.lexEOS;
7006
+ }
7007
+ if (char.charCodeAt(0) == 92) {
7008
+ lexer.escapeCharacter();
7009
+ continue;
7010
+ }
7011
+ if (char == ":") {
7012
+ return lunr2.QueryLexer.lexField;
7013
+ }
7014
+ if (char == "~") {
7015
+ lexer.backup();
7016
+ if (lexer.width() > 0) {
7017
+ lexer.emit(lunr2.QueryLexer.TERM);
7018
+ }
7019
+ return lunr2.QueryLexer.lexEditDistance;
7020
+ }
7021
+ if (char == "^") {
7022
+ lexer.backup();
7023
+ if (lexer.width() > 0) {
7024
+ lexer.emit(lunr2.QueryLexer.TERM);
7025
+ }
7026
+ return lunr2.QueryLexer.lexBoost;
7027
+ }
7028
+ if (char == "+" && lexer.width() === 1) {
7029
+ lexer.emit(lunr2.QueryLexer.PRESENCE);
7030
+ return lunr2.QueryLexer.lexText;
7031
+ }
7032
+ if (char == "-" && lexer.width() === 1) {
7033
+ lexer.emit(lunr2.QueryLexer.PRESENCE);
7034
+ return lunr2.QueryLexer.lexText;
7035
+ }
7036
+ if (char.match(lunr2.QueryLexer.termSeparator)) {
7037
+ return lunr2.QueryLexer.lexTerm;
7038
+ }
7039
+ }
7040
+ };
7041
+ lunr2.QueryParser = function(str, query) {
7042
+ this.lexer = new lunr2.QueryLexer(str);
7043
+ this.query = query;
7044
+ this.currentClause = {};
7045
+ this.lexemeIdx = 0;
7046
+ };
7047
+ lunr2.QueryParser.prototype.parse = function() {
7048
+ this.lexer.run();
7049
+ this.lexemes = this.lexer.lexemes;
7050
+ var state = lunr2.QueryParser.parseClause;
7051
+ while (state) {
7052
+ state = state(this);
7053
+ }
7054
+ return this.query;
7055
+ };
7056
+ lunr2.QueryParser.prototype.peekLexeme = function() {
7057
+ return this.lexemes[this.lexemeIdx];
7058
+ };
7059
+ lunr2.QueryParser.prototype.consumeLexeme = function() {
7060
+ var lexeme = this.peekLexeme();
7061
+ this.lexemeIdx += 1;
7062
+ return lexeme;
7063
+ };
7064
+ lunr2.QueryParser.prototype.nextClause = function() {
7065
+ var completedClause = this.currentClause;
7066
+ this.query.clause(completedClause);
7067
+ this.currentClause = {};
7068
+ };
7069
+ lunr2.QueryParser.parseClause = function(parser2) {
7070
+ var lexeme = parser2.peekLexeme();
7071
+ if (lexeme == void 0) {
7072
+ return;
7073
+ }
7074
+ switch (lexeme.type) {
7075
+ case lunr2.QueryLexer.PRESENCE:
7076
+ return lunr2.QueryParser.parsePresence;
7077
+ case lunr2.QueryLexer.FIELD:
7078
+ return lunr2.QueryParser.parseField;
7079
+ case lunr2.QueryLexer.TERM:
7080
+ return lunr2.QueryParser.parseTerm;
7081
+ default:
7082
+ var errorMessage = "expected either a field or a term, found " + lexeme.type;
7083
+ if (lexeme.str.length >= 1) {
7084
+ errorMessage += " with value '" + lexeme.str + "'";
7085
+ }
7086
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7087
+ }
7088
+ };
7089
+ lunr2.QueryParser.parsePresence = function(parser2) {
7090
+ var lexeme = parser2.consumeLexeme();
7091
+ if (lexeme == void 0) {
7092
+ return;
7093
+ }
7094
+ switch (lexeme.str) {
7095
+ case "-":
7096
+ parser2.currentClause.presence = lunr2.Query.presence.PROHIBITED;
7097
+ break;
7098
+ case "+":
7099
+ parser2.currentClause.presence = lunr2.Query.presence.REQUIRED;
7100
+ break;
7101
+ default:
7102
+ var errorMessage = "unrecognised presence operator'" + lexeme.str + "'";
7103
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7104
+ }
7105
+ var nextLexeme = parser2.peekLexeme();
7106
+ if (nextLexeme == void 0) {
7107
+ var errorMessage = "expecting term or field, found nothing";
7108
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7109
+ }
7110
+ switch (nextLexeme.type) {
7111
+ case lunr2.QueryLexer.FIELD:
7112
+ return lunr2.QueryParser.parseField;
7113
+ case lunr2.QueryLexer.TERM:
7114
+ return lunr2.QueryParser.parseTerm;
7115
+ default:
7116
+ var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'";
7117
+ throw new lunr2.QueryParseError(errorMessage, nextLexeme.start, nextLexeme.end);
7118
+ }
7119
+ };
7120
+ lunr2.QueryParser.parseField = function(parser2) {
7121
+ var lexeme = parser2.consumeLexeme();
7122
+ if (lexeme == void 0) {
7123
+ return;
7124
+ }
7125
+ if (parser2.query.allFields.indexOf(lexeme.str) == -1) {
7126
+ var possibleFields = parser2.query.allFields.map(function(f) {
7127
+ return "'" + f + "'";
7128
+ }).join(", "), errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields;
7129
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7130
+ }
7131
+ parser2.currentClause.fields = [lexeme.str];
7132
+ var nextLexeme = parser2.peekLexeme();
7133
+ if (nextLexeme == void 0) {
7134
+ var errorMessage = "expecting term, found nothing";
7135
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7136
+ }
7137
+ switch (nextLexeme.type) {
7138
+ case lunr2.QueryLexer.TERM:
7139
+ return lunr2.QueryParser.parseTerm;
7140
+ default:
7141
+ var errorMessage = "expecting term, found '" + nextLexeme.type + "'";
7142
+ throw new lunr2.QueryParseError(errorMessage, nextLexeme.start, nextLexeme.end);
7143
+ }
7144
+ };
7145
+ lunr2.QueryParser.parseTerm = function(parser2) {
7146
+ var lexeme = parser2.consumeLexeme();
7147
+ if (lexeme == void 0) {
7148
+ return;
7149
+ }
7150
+ parser2.currentClause.term = lexeme.str.toLowerCase();
7151
+ if (lexeme.str.indexOf("*") != -1) {
7152
+ parser2.currentClause.usePipeline = false;
7153
+ }
7154
+ var nextLexeme = parser2.peekLexeme();
7155
+ if (nextLexeme == void 0) {
7156
+ parser2.nextClause();
7157
+ return;
7158
+ }
7159
+ switch (nextLexeme.type) {
7160
+ case lunr2.QueryLexer.TERM:
7161
+ parser2.nextClause();
7162
+ return lunr2.QueryParser.parseTerm;
7163
+ case lunr2.QueryLexer.FIELD:
7164
+ parser2.nextClause();
7165
+ return lunr2.QueryParser.parseField;
7166
+ case lunr2.QueryLexer.EDIT_DISTANCE:
7167
+ return lunr2.QueryParser.parseEditDistance;
7168
+ case lunr2.QueryLexer.BOOST:
7169
+ return lunr2.QueryParser.parseBoost;
7170
+ case lunr2.QueryLexer.PRESENCE:
7171
+ parser2.nextClause();
7172
+ return lunr2.QueryParser.parsePresence;
7173
+ default:
7174
+ var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'";
7175
+ throw new lunr2.QueryParseError(errorMessage, nextLexeme.start, nextLexeme.end);
7176
+ }
7177
+ };
7178
+ lunr2.QueryParser.parseEditDistance = function(parser2) {
7179
+ var lexeme = parser2.consumeLexeme();
7180
+ if (lexeme == void 0) {
7181
+ return;
7182
+ }
7183
+ var editDistance = parseInt(lexeme.str, 10);
7184
+ if (isNaN(editDistance)) {
7185
+ var errorMessage = "edit distance must be numeric";
7186
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7187
+ }
7188
+ parser2.currentClause.editDistance = editDistance;
7189
+ var nextLexeme = parser2.peekLexeme();
7190
+ if (nextLexeme == void 0) {
7191
+ parser2.nextClause();
7192
+ return;
7193
+ }
7194
+ switch (nextLexeme.type) {
7195
+ case lunr2.QueryLexer.TERM:
7196
+ parser2.nextClause();
7197
+ return lunr2.QueryParser.parseTerm;
7198
+ case lunr2.QueryLexer.FIELD:
7199
+ parser2.nextClause();
7200
+ return lunr2.QueryParser.parseField;
7201
+ case lunr2.QueryLexer.EDIT_DISTANCE:
7202
+ return lunr2.QueryParser.parseEditDistance;
7203
+ case lunr2.QueryLexer.BOOST:
7204
+ return lunr2.QueryParser.parseBoost;
7205
+ case lunr2.QueryLexer.PRESENCE:
7206
+ parser2.nextClause();
7207
+ return lunr2.QueryParser.parsePresence;
7208
+ default:
7209
+ var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'";
7210
+ throw new lunr2.QueryParseError(errorMessage, nextLexeme.start, nextLexeme.end);
7211
+ }
7212
+ };
7213
+ lunr2.QueryParser.parseBoost = function(parser2) {
7214
+ var lexeme = parser2.consumeLexeme();
7215
+ if (lexeme == void 0) {
7216
+ return;
7217
+ }
7218
+ var boost = parseInt(lexeme.str, 10);
7219
+ if (isNaN(boost)) {
7220
+ var errorMessage = "boost must be numeric";
7221
+ throw new lunr2.QueryParseError(errorMessage, lexeme.start, lexeme.end);
7222
+ }
7223
+ parser2.currentClause.boost = boost;
7224
+ var nextLexeme = parser2.peekLexeme();
7225
+ if (nextLexeme == void 0) {
7226
+ parser2.nextClause();
7227
+ return;
7228
+ }
7229
+ switch (nextLexeme.type) {
7230
+ case lunr2.QueryLexer.TERM:
7231
+ parser2.nextClause();
7232
+ return lunr2.QueryParser.parseTerm;
7233
+ case lunr2.QueryLexer.FIELD:
7234
+ parser2.nextClause();
7235
+ return lunr2.QueryParser.parseField;
7236
+ case lunr2.QueryLexer.EDIT_DISTANCE:
7237
+ return lunr2.QueryParser.parseEditDistance;
7238
+ case lunr2.QueryLexer.BOOST:
7239
+ return lunr2.QueryParser.parseBoost;
7240
+ case lunr2.QueryLexer.PRESENCE:
7241
+ parser2.nextClause();
7242
+ return lunr2.QueryParser.parsePresence;
7243
+ default:
7244
+ var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'";
7245
+ throw new lunr2.QueryParseError(errorMessage, nextLexeme.start, nextLexeme.end);
7246
+ }
7247
+ };
7248
+ (function(root, factory) {
7249
+ if (typeof define === "function" && define.amd) {
7250
+ define(factory);
7251
+ } else if (typeof exports2 === "object") {
7252
+ module.exports = factory();
7253
+ } else {
7254
+ root.lunr = factory();
7255
+ }
7256
+ })(this, function() {
7257
+ return lunr2;
7258
+ });
7259
+ })();
7260
+ }
7261
+ });
7262
+
5532
7263
  // ../reporter/src/console-reporter.ts
5533
7264
  import { writeFile } from "node:fs/promises";
5534
7265
  import { blue, gray, green, red, yellow, yellowBright } from "colorette";
@@ -5537,29 +7268,17 @@ import { blue, gray, green, red, yellow, yellowBright } from "colorette";
5537
7268
  import { readFileSync } from "node:fs";
5538
7269
  import { dirname, join } from "node:path";
5539
7270
  import { fileURLToPath } from "node:url";
5540
- function resolvePackageJson() {
5541
- try {
5542
- const currentModulePath = fileURLToPath(import.meta.url);
5543
- const currentDir = dirname(currentModulePath);
5544
- const packageRoot = join(currentDir, "..");
5545
- const packageJsonPath = join(packageRoot, "package.json");
5546
- return packageJsonPath;
5547
- } catch (error) {
5548
- throw new Error(`Unable to resolve package.json path: ${error instanceof Error ? error.message : "Unknown error"}`);
5549
- }
7271
+ function getPackageVersion() {
7272
+ if (true) {
7273
+ return "4.0.0-beta.43";
7274
+ }
7275
+ const currentModulePath = fileURLToPath(import.meta.url);
7276
+ const currentDir = dirname(currentModulePath);
7277
+ const packageJsonPath = join(currentDir, "..", "package.json");
7278
+ const content = readFileSync(packageJsonPath, "utf-8");
7279
+ return JSON.parse(content).version;
5550
7280
  }
5551
- function readPackage() {
5552
- try {
5553
- const packagePath = resolvePackageJson();
5554
- const content = readFileSync(packagePath, "utf-8");
5555
- return JSON.parse(content);
5556
- } catch (error) {
5557
- const message = error instanceof Error ? error.message : "Unknown error";
5558
- throw new Error(`Failed to read package.json: ${message}`);
5559
- }
5560
- }
5561
- var PACKAGE = readPackage();
5562
- var PACKAGE_VERSION = PACKAGE.version;
7281
+ var PACKAGE_VERSION = getPackageVersion();
5563
7282
 
5564
7283
  // ../reporter/src/types/problem.ts
5565
7284
  var ProblemCategory = /* @__PURE__ */ ((ProblemCategory2) => {
@@ -6445,32 +8164,20 @@ import { readFileSync as readFileSync2 } from "node:fs";
6445
8164
  import { dirname as dirname2, join as join2 } from "node:path";
6446
8165
  import { fileURLToPath as fileURLToPath2 } from "node:url";
6447
8166
  var NEW_LINE_REG_EXP = /[\n\r]+/g;
6448
- function resolvePackageJson2() {
6449
- try {
6450
- const currentModulePath = fileURLToPath2(import.meta.url);
6451
- const currentDir = dirname2(currentModulePath);
6452
- const packageRoot = join2(currentDir, "..");
6453
- const packageJsonPath = join2(packageRoot, "package.json");
6454
- return packageJsonPath;
6455
- } catch (error) {
6456
- throw new Error(`Unable to resolve package.json path: ${error instanceof Error ? error.message : "Unknown error"}`);
6457
- }
8167
+ function getPackageVersion2() {
8168
+ if (true) {
8169
+ return "4.0.0-beta.43";
8170
+ }
8171
+ const currentModulePath = fileURLToPath2(import.meta.url);
8172
+ const currentDir = dirname2(currentModulePath);
8173
+ const packageJsonPath = join2(currentDir, "..", "package.json");
8174
+ const content = readFileSync2(packageJsonPath, "utf-8");
8175
+ return JSON.parse(content).version;
6458
8176
  }
6459
- function readPackageSync() {
6460
- try {
6461
- const packagePath = resolvePackageJson2();
6462
- const content = readFileSync2(packagePath, "utf-8");
6463
- return JSON.parse(content);
6464
- } catch (error) {
6465
- const message = error instanceof Error ? error.message : "Unknown error";
6466
- throw new Error(`Failed to read package.json: ${message}`);
6467
- }
6468
- }
6469
- var PACKAGE2 = readPackageSync();
6470
8177
  var APP_NAME = "ts-for-gir";
6471
8178
  var APP_USAGE = "TypeScript type definition generator for GObject introspection GIR files";
6472
8179
  var APP_SOURCE = "https://github.com/gjsify/ts-for-gir";
6473
- var APP_VERSION = PACKAGE2.version;
8180
+ var APP_VERSION = getPackageVersion2();
6474
8181
  var PACKAGE_DESC = (packageName, libraryVersion) => {
6475
8182
  if (libraryVersion) {
6476
8183
  return `GJS TypeScript type definitions for ${packageName}, generated from library version ${libraryVersion.toString()}`;
@@ -6491,7 +8198,7 @@ __export(parser_exports, {
6491
8198
  parseGir: () => parseGir
6492
8199
  });
6493
8200
 
6494
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/util.js
8201
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/util.js
6495
8202
  var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
6496
8203
  var nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
6497
8204
  var nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*";
@@ -6532,7 +8239,7 @@ var DANGEROUS_PROPERTY_NAMES = [
6532
8239
  ];
6533
8240
  var criticalProperties = ["__proto__", "constructor", "prototype"];
6534
8241
 
6535
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/validator.js
8242
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/validator.js
6536
8243
  var defaultOptions = {
6537
8244
  allowBooleanAttributes: false,
6538
8245
  //A tag can have attributes without any value
@@ -6838,7 +8545,7 @@ function getPositionFromMatch(match) {
6838
8545
  return match.startIndex + match[1].length;
6839
8546
  }
6840
8547
 
6841
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js
8548
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js
6842
8549
  var defaultOnDangerousProperty = (name) => {
6843
8550
  if (DANGEROUS_PROPERTY_NAMES.includes(name)) {
6844
8551
  return "__" + name;
@@ -6968,7 +8675,7 @@ var buildOptions = function(options2) {
6968
8675
  return built;
6969
8676
  };
6970
8677
 
6971
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js
8678
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js
6972
8679
  var METADATA_SYMBOL;
6973
8680
  if (typeof Symbol !== "function") {
6974
8681
  METADATA_SYMBOL = "@@xmlMetadata";
@@ -7002,7 +8709,7 @@ var XmlNode = class {
7002
8709
  }
7003
8710
  };
7004
8711
 
7005
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
8712
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
7006
8713
  var DocTypeReader = class {
7007
8714
  constructor(options2) {
7008
8715
  this.suppressValidationErr = !options2;
@@ -7282,7 +8989,7 @@ function validateEntityName(name) {
7282
8989
  throw new Error(`Invalid entity name ${name}`);
7283
8990
  }
7284
8991
 
7285
- // ../../.yarn/cache/strnum-npm-2.2.1-b3a08c1c56-c553d83e1a.zip/node_modules/strnum/strnum.js
8992
+ // ../../.yarn/cache/strnum-npm-2.2.2-816fd1e52f-c55813cfde.zip/node_modules/strnum/strnum.js
7286
8993
  var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;
7287
8994
  var numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/;
7288
8995
  var consider = {
@@ -7299,8 +9006,9 @@ function toNumber(str, options2 = {}) {
7299
9006
  options2 = Object.assign({}, consider, options2);
7300
9007
  if (!str || typeof str !== "string") return str;
7301
9008
  let trimmedStr = str.trim();
7302
- if (options2.skipLike !== void 0 && options2.skipLike.test(trimmedStr)) return str;
7303
- else if (str === "0") return 0;
9009
+ if (trimmedStr.length === 0) return str;
9010
+ else if (options2.skipLike !== void 0 && options2.skipLike.test(trimmedStr)) return str;
9011
+ else if (trimmedStr === "0") return 0;
7304
9012
  else if (options2.hex && hexRegex.test(trimmedStr)) {
7305
9013
  return parse_int(trimmedStr, 16);
7306
9014
  } else if (!isFinite(trimmedStr)) {
@@ -7403,7 +9111,7 @@ function handleInfinity(str, num, options2) {
7403
9111
  }
7404
9112
  }
7405
9113
 
7406
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/ignoreAttributes.js
9114
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/ignoreAttributes.js
7407
9115
  function getIgnoreAttributesFn(ignoreAttributes) {
7408
9116
  if (typeof ignoreAttributes === "function") {
7409
9117
  return ignoreAttributes;
@@ -7423,7 +9131,7 @@ function getIgnoreAttributesFn(ignoreAttributes) {
7423
9131
  return () => false;
7424
9132
  }
7425
9133
 
7426
- // ../../.yarn/cache/path-expression-matcher-npm-1.1.3-ea64bf895d-9a607d0bf9.zip/node_modules/path-expression-matcher/src/Expression.js
9134
+ // ../../.yarn/cache/path-expression-matcher-npm-1.2.0-0a1470212e-eab23babd9.zip/node_modules/path-expression-matcher/src/Expression.js
7427
9135
  var Expression = class {
7428
9136
  /**
7429
9137
  * Create a new Expression
@@ -7585,7 +9293,8 @@ var Expression = class {
7585
9293
  }
7586
9294
  };
7587
9295
 
7588
- // ../../.yarn/cache/path-expression-matcher-npm-1.1.3-ea64bf895d-9a607d0bf9.zip/node_modules/path-expression-matcher/src/Matcher.js
9296
+ // ../../.yarn/cache/path-expression-matcher-npm-1.2.0-0a1470212e-eab23babd9.zip/node_modules/path-expression-matcher/src/Matcher.js
9297
+ var MUTATING_METHODS = /* @__PURE__ */ new Set(["push", "pop", "reset", "updateCurrent", "restore"]);
7589
9298
  var Matcher = class {
7590
9299
  /**
7591
9300
  * Create a new Matcher
@@ -7894,9 +9603,69 @@ var Matcher = class {
7894
9603
  this.path = snapshot.path.map((node) => ({ ...node }));
7895
9604
  this.siblingStacks = snapshot.siblingStacks.map((map2) => new Map(map2));
7896
9605
  }
9606
+ /**
9607
+ * Return a read-only view of this matcher.
9608
+ *
9609
+ * The returned object exposes all query/inspection methods but throws a
9610
+ * TypeError if any state-mutating method is called (`push`, `pop`, `reset`,
9611
+ * `updateCurrent`, `restore`). Property reads (e.g. `.path`, `.separator`)
9612
+ * are allowed but the returned arrays/objects are frozen so callers cannot
9613
+ * mutate internal state through them either.
9614
+ *
9615
+ * @returns {ReadOnlyMatcher} A proxy that forwards read operations and blocks writes.
9616
+ *
9617
+ * @example
9618
+ * const matcher = new Matcher();
9619
+ * matcher.push("root", {});
9620
+ *
9621
+ * const ro = matcher.readOnly();
9622
+ * ro.matches(expr); // ✓ works
9623
+ * ro.getCurrentTag(); // ✓ works
9624
+ * ro.push("child", {}); // ✗ throws TypeError
9625
+ * ro.reset(); // ✗ throws TypeError
9626
+ */
9627
+ readOnly() {
9628
+ const self2 = this;
9629
+ return new Proxy(self2, {
9630
+ get(target, prop, receiver) {
9631
+ if (MUTATING_METHODS.has(prop)) {
9632
+ return () => {
9633
+ throw new TypeError(
9634
+ `Cannot call '${prop}' on a read-only Matcher. Obtain a writable instance to mutate state.`
9635
+ );
9636
+ };
9637
+ }
9638
+ const value = Reflect.get(target, prop, receiver);
9639
+ if (prop === "path" || prop === "siblingStacks") {
9640
+ return Object.freeze(
9641
+ Array.isArray(value) ? value.map(
9642
+ (item) => item instanceof Map ? Object.freeze(new Map(item)) : Object.freeze({ ...item })
9643
+ // freeze a copy of each node
9644
+ ) : value
9645
+ );
9646
+ }
9647
+ if (typeof value === "function") {
9648
+ return value.bind(target);
9649
+ }
9650
+ return value;
9651
+ },
9652
+ // Prevent any property assignment on the read-only view
9653
+ set(_target, prop) {
9654
+ throw new TypeError(
9655
+ `Cannot set property '${String(prop)}' on a read-only Matcher.`
9656
+ );
9657
+ },
9658
+ // Prevent property deletion
9659
+ deleteProperty(_target, prop) {
9660
+ throw new TypeError(
9661
+ `Cannot delete property '${String(prop)}' from a read-only Matcher.`
9662
+ );
9663
+ }
9664
+ });
9665
+ }
7897
9666
  };
7898
9667
 
7899
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js
9668
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js
7900
9669
  function extractRawAttributes(prefixedAttrs, options2) {
7901
9670
  if (!prefixedAttrs) return {};
7902
9671
  const attrs = options2.attributesGroupName ? prefixedAttrs[options2.attributesGroupName] : prefixedAttrs;
@@ -7967,6 +9736,7 @@ var OrderedObjParser = class {
7967
9736
  this.entityExpansionCount = 0;
7968
9737
  this.currentExpandedLength = 0;
7969
9738
  this.matcher = new Matcher();
9739
+ this.readonlyMatcher = this.matcher.readOnly();
7970
9740
  this.isCurrentNodeStopNode = false;
7971
9741
  if (this.options.stopNodes && this.options.stopNodes.length > 0) {
7972
9742
  this.stopNodeExpressions = [];
@@ -8046,7 +9816,7 @@ function buildAttributesMap(attrStr, jPath, tagName) {
8046
9816
  if (this.options.trimValues) {
8047
9817
  parsedVal = parsedVal.trim();
8048
9818
  }
8049
- parsedVal = this.replaceEntitiesValue(parsedVal, tagName, jPath);
9819
+ parsedVal = this.replaceEntitiesValue(parsedVal, tagName, this.readonlyMatcher);
8050
9820
  rawAttrsForMatcher[attrName] = parsedVal;
8051
9821
  }
8052
9822
  }
@@ -8055,7 +9825,7 @@ function buildAttributesMap(attrStr, jPath, tagName) {
8055
9825
  }
8056
9826
  for (let i = 0; i < len; i++) {
8057
9827
  const attrName = this.resolveNameSpace(matches[i][1]);
8058
- const jPathStr = this.options.jPath ? jPath.toString() : jPath;
9828
+ const jPathStr = this.options.jPath ? jPath.toString() : this.readonlyMatcher;
8059
9829
  if (this.ignoreAttributesFn(attrName, jPathStr)) {
8060
9830
  continue;
8061
9831
  }
@@ -8070,8 +9840,8 @@ function buildAttributesMap(attrStr, jPath, tagName) {
8070
9840
  if (this.options.trimValues) {
8071
9841
  oldVal = oldVal.trim();
8072
9842
  }
8073
- oldVal = this.replaceEntitiesValue(oldVal, tagName, jPath);
8074
- const jPathOrMatcher = this.options.jPath ? jPath.toString() : jPath;
9843
+ oldVal = this.replaceEntitiesValue(oldVal, tagName, this.readonlyMatcher);
9844
+ const jPathOrMatcher = this.options.jPath ? jPath.toString() : this.readonlyMatcher;
8075
9845
  const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPathOrMatcher);
8076
9846
  if (newVal === null || newVal === void 0) {
8077
9847
  attrs[aName] = oldVal;
@@ -8123,7 +9893,7 @@ var parseXml = function(xmlData) {
8123
9893
  }
8124
9894
  tagName = transformTagName(this.options.transformTagName, tagName, "", this.options).tagName;
8125
9895
  if (currentNode) {
8126
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
9896
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
8127
9897
  }
8128
9898
  const lastTagName = this.matcher.getCurrentTag();
8129
9899
  if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {
@@ -8141,7 +9911,7 @@ var parseXml = function(xmlData) {
8141
9911
  } else if (xmlData[i + 1] === "?") {
8142
9912
  let tagData = readTagExp(xmlData, i, false, "?>");
8143
9913
  if (!tagData) throw new Error("Pi Tag is not closed.");
8144
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
9914
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
8145
9915
  if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) {
8146
9916
  } else {
8147
9917
  const childNode = new XmlNode(tagData.tagName);
@@ -8149,14 +9919,14 @@ var parseXml = function(xmlData) {
8149
9919
  if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {
8150
9920
  childNode[":@"] = this.buildAttributesMap(tagData.tagExp, this.matcher, tagData.tagName);
8151
9921
  }
8152
- this.addChild(currentNode, childNode, this.matcher, i);
9922
+ this.addChild(currentNode, childNode, this.readonlyMatcher, i);
8153
9923
  }
8154
9924
  i = tagData.closeIndex + 1;
8155
9925
  } else if (xmlData.substr(i + 1, 3) === "!--") {
8156
9926
  const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed.");
8157
9927
  if (this.options.commentPropName) {
8158
9928
  const comment = xmlData.substring(i + 4, endIndex - 2);
8159
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
9929
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
8160
9930
  currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);
8161
9931
  }
8162
9932
  i = endIndex;
@@ -8167,8 +9937,8 @@ var parseXml = function(xmlData) {
8167
9937
  } else if (xmlData.substr(i + 1, 2) === "![") {
8168
9938
  const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2;
8169
9939
  const tagExp = xmlData.substring(i + 9, closeIndex);
8170
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
8171
- let val = this.parseTextData(tagExp, currentNode.tagname, this.matcher, true, false, true, true);
9940
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
9941
+ let val = this.parseTextData(tagExp, currentNode.tagname, this.readonlyMatcher, true, false, true, true);
8172
9942
  if (val == void 0) val = "";
8173
9943
  if (this.options.cdataPropName) {
8174
9944
  currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);
@@ -8193,7 +9963,7 @@ var parseXml = function(xmlData) {
8193
9963
  }
8194
9964
  if (currentNode && textData) {
8195
9965
  if (currentNode.tagname !== "!xml") {
8196
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher, false);
9966
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher, false);
8197
9967
  }
8198
9968
  }
8199
9969
  const lastTag = currentNode;
@@ -8248,7 +10018,7 @@ var parseXml = function(xmlData) {
8248
10018
  childNode.add(this.options.textNodeName, tagContent);
8249
10019
  this.matcher.pop();
8250
10020
  this.isCurrentNodeStopNode = false;
8251
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10021
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8252
10022
  } else {
8253
10023
  if (isSelfClosing) {
8254
10024
  ({ tagName, tagExp } = transformTagName(this.options.transformTagName, tagName, tagExp, this.options));
@@ -8256,7 +10026,7 @@ var parseXml = function(xmlData) {
8256
10026
  if (prefixedAttrs) {
8257
10027
  childNode[":@"] = prefixedAttrs;
8258
10028
  }
8259
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10029
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8260
10030
  this.matcher.pop();
8261
10031
  this.isCurrentNodeStopNode = false;
8262
10032
  } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {
@@ -8264,7 +10034,7 @@ var parseXml = function(xmlData) {
8264
10034
  if (prefixedAttrs) {
8265
10035
  childNode[":@"] = prefixedAttrs;
8266
10036
  }
8267
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10037
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8268
10038
  this.matcher.pop();
8269
10039
  this.isCurrentNodeStopNode = false;
8270
10040
  i = result.closeIndex;
@@ -8278,7 +10048,7 @@ var parseXml = function(xmlData) {
8278
10048
  if (prefixedAttrs) {
8279
10049
  childNode[":@"] = prefixedAttrs;
8280
10050
  }
8281
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10051
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8282
10052
  currentNode = childNode;
8283
10053
  }
8284
10054
  textData = "";
@@ -8548,7 +10318,7 @@ function sanitizeName(name, options2) {
8548
10318
  return name;
8549
10319
  }
8550
10320
 
8551
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/xmlparser/node2json.js
10321
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/xmlparser/node2json.js
8552
10322
  var METADATA_SYMBOL2 = XmlNode.getMetaDataSymbol();
8553
10323
  function stripAttributePrefix(attrs, prefix) {
8554
10324
  if (!attrs || typeof attrs !== "object") return {};
@@ -8564,10 +10334,10 @@ function stripAttributePrefix(attrs, prefix) {
8564
10334
  }
8565
10335
  return rawAttrs;
8566
10336
  }
8567
- function prettify(node, options2, matcher) {
8568
- return compress(node, options2, matcher);
10337
+ function prettify(node, options2, matcher, readonlyMatcher) {
10338
+ return compress(node, options2, matcher, readonlyMatcher);
8569
10339
  }
8570
- function compress(arr, options2, matcher) {
10340
+ function compress(arr, options2, matcher, readonlyMatcher) {
8571
10341
  let text;
8572
10342
  const compressedObj = {};
8573
10343
  for (let i = 0; i < arr.length; i++) {
@@ -8586,10 +10356,10 @@ function compress(arr, options2, matcher) {
8586
10356
  } else if (property === void 0) {
8587
10357
  continue;
8588
10358
  } else if (tagObj[property]) {
8589
- let val = compress(tagObj[property], options2, matcher);
10359
+ let val = compress(tagObj[property], options2, matcher, readonlyMatcher);
8590
10360
  const isLeaf = isLeafTag(val, options2);
8591
10361
  if (tagObj[":@"]) {
8592
- assignAttributes(val, tagObj[":@"], matcher, options2);
10362
+ assignAttributes(val, tagObj[":@"], readonlyMatcher, options2);
8593
10363
  } else if (Object.keys(val).length === 1 && val[options2.textNodeName] !== void 0 && !options2.alwaysCreateTextNode) {
8594
10364
  val = val[options2.textNodeName];
8595
10365
  } else if (Object.keys(val).length === 0) {
@@ -8605,7 +10375,7 @@ function compress(arr, options2, matcher) {
8605
10375
  }
8606
10376
  compressedObj[property].push(val);
8607
10377
  } else {
8608
- const jPathOrMatcher = options2.jPath ? matcher.toString() : matcher;
10378
+ const jPathOrMatcher = options2.jPath ? readonlyMatcher.toString() : readonlyMatcher;
8609
10379
  if (options2.isArray(property, jPathOrMatcher, isLeaf)) {
8610
10380
  compressedObj[property] = [val];
8611
10381
  } else {
@@ -8629,14 +10399,14 @@ function propName(obj) {
8629
10399
  if (key !== ":@") return key;
8630
10400
  }
8631
10401
  }
8632
- function assignAttributes(obj, attrMap, matcher, options2) {
10402
+ function assignAttributes(obj, attrMap, readonlyMatcher, options2) {
8633
10403
  if (attrMap) {
8634
10404
  const keys = Object.keys(attrMap);
8635
10405
  const len = keys.length;
8636
10406
  for (let i = 0; i < len; i++) {
8637
10407
  const atrrName = keys[i];
8638
10408
  const rawAttrName = atrrName.startsWith(options2.attributeNamePrefix) ? atrrName.substring(options2.attributeNamePrefix.length) : atrrName;
8639
- const jPathOrMatcher = options2.jPath ? matcher.toString() + "." + rawAttrName : matcher;
10409
+ const jPathOrMatcher = options2.jPath ? readonlyMatcher.toString() + "." + rawAttrName : readonlyMatcher;
8640
10410
  if (options2.isArray(atrrName, jPathOrMatcher, true, true)) {
8641
10411
  obj[atrrName] = [attrMap[atrrName]];
8642
10412
  } else {
@@ -8657,7 +10427,7 @@ function isLeafTag(obj, options2) {
8657
10427
  return false;
8658
10428
  }
8659
10429
 
8660
- // ../../.yarn/cache/fast-xml-parser-npm-5.5.7-d3593c54f5-b69e65cb1c.zip/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js
10430
+ // ../../.yarn/cache/fast-xml-parser-npm-5.5.9-0801b67a48-5f1a1a8b52.zip/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js
8661
10431
  var XMLParser = class {
8662
10432
  constructor(options2) {
8663
10433
  this.externalEntities = {};
@@ -8685,7 +10455,7 @@ var XMLParser = class {
8685
10455
  orderedObjParser.addExternalEntities(this.externalEntities);
8686
10456
  const orderedResult = orderedObjParser.parseXml(xmlData);
8687
10457
  if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;
8688
- else return prettify(orderedResult, this.options, orderedObjParser.matcher);
10458
+ else return prettify(orderedResult, this.options, orderedObjParser.matcher, orderedObjParser.readonlyMatcher);
8689
10459
  }
8690
10460
  /**
8691
10461
  * Add Entity which is not by default supported by this library
@@ -11635,11 +13405,22 @@ var IntrospectedClass = class _IntrospectedClass extends IntrospectedBaseClass {
11635
13405
  returnType: "void"
11636
13406
  });
11637
13407
  });
13408
+ if (this.isGObjectObject()) {
13409
+ allSignals.push({
13410
+ name: `notify::\${string}`,
13411
+ isNotifySignal: true,
13412
+ isDetailSignal: false,
13413
+ isTemplateLiteral: true,
13414
+ parameterTypes: ["GObject.ParamSpec"],
13415
+ returnType: "void"
13416
+ });
13417
+ }
11638
13418
  }
11639
13419
  addDetailedSignals(allSignals) {
11640
13420
  const propertyNames = this.getUniquePropertyNames();
11641
13421
  this.signals.forEach((signal) => {
11642
13422
  if (signal.detailed) {
13423
+ if (signal.name === "notify") return;
11643
13424
  propertyNames.forEach((propertyName) => {
11644
13425
  allSignals.push({
11645
13426
  name: `${signal.name}::${propertyName}`,
@@ -11650,6 +13431,15 @@ var IntrospectedClass = class _IntrospectedClass extends IntrospectedBaseClass {
11650
13431
  returnType: this.getPropertyTypeString(signal.return_type)
11651
13432
  });
11652
13433
  });
13434
+ allSignals.push({
13435
+ name: `${signal.name}::\${string}`,
13436
+ signal,
13437
+ isNotifySignal: false,
13438
+ isDetailSignal: true,
13439
+ isTemplateLiteral: true,
13440
+ parameterTypes: signal.parameters.map((p) => this.getPropertyTypeString(p.type)),
13441
+ returnType: this.getPropertyTypeString(signal.return_type)
13442
+ });
11653
13443
  }
11654
13444
  });
11655
13445
  }
@@ -15997,7 +17787,7 @@ See https://gjs.guide/guides/gobject/basics.html#properties for more details.`;
15997
17787
  const override3 = new IntrospectedClassFunction({
15998
17788
  parent: ParamSpec,
15999
17789
  name: "override",
16000
- return_type: VoidType,
17790
+ return_type: ParamSpec.getType(),
16001
17791
  parameters: [
16002
17792
  new IntrospectedFunctionParameter({
16003
17793
  direction: "in" /* In */,
@@ -18857,7 +20647,7 @@ var copy = {
18857
20647
 
18858
20648
  // ../generator-html-doc/src/html-doc-generator.ts
18859
20649
  import { mkdir as mkdir4 } from "node:fs/promises";
18860
- import { join as join14 } from "node:path";
20650
+ import { join as join15 } from "node:path";
18861
20651
 
18862
20652
  // ../generator-json/src/gir-metadata-deserializer.ts
18863
20653
  import { DeclarationReflection } from "typedoc";
@@ -19255,7 +21045,6 @@ var SignalGenerator = class {
19255
21045
  }
19256
21046
  const allSignals = girClass.getAllSignals();
19257
21047
  allSignals.forEach((signalInfo) => {
19258
- const signalKey = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(signalInfo.name) ? signalInfo.name : `"${signalInfo.name}"`;
19259
21048
  let cbType;
19260
21049
  if (signalInfo.isNotifySignal) {
19261
21050
  const gobjectRef = this.namespace.namespace === "GObject" ? "" : "GObject.";
@@ -19273,6 +21062,11 @@ var SignalGenerator = class {
19273
21062
  const returnTypeStr = signalInfo.returnType || "void";
19274
21063
  cbType = `(${paramTypes.join(", ")}) => ${returnTypeStr}`;
19275
21064
  }
21065
+ if (signalInfo.isTemplateLiteral) {
21066
+ def.push(`${indent} [key: \`${signalInfo.name}\`]: ${cbType};`);
21067
+ return;
21068
+ }
21069
+ const signalKey = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(signalInfo.name) ? signalInfo.name : `"${signalInfo.name}"`;
19276
21070
  if (!signalInfo.isNotifySignal && signalInfo.signal) {
19277
21071
  const signalTags = [
19278
21072
  { tagName: "signal", paramName: "", text: "" },
@@ -19690,7 +21484,7 @@ export const ${node.name}: ${node.name}Namespace & {
19690
21484
  parameters: [
19691
21485
  new IntrospectedFunctionParameter({
19692
21486
  name: "options",
19693
- type: NativeType.of("{ message: string, code: number}"),
21487
+ type: NativeType.of("{ message: string, code: number }"),
19694
21488
  direction: "in" /* In */
19695
21489
  })
19696
21490
  ],
@@ -20314,7 +22108,7 @@ export const ${node.name}: ${node.name}Namespace & {
20314
22108
  def.push(...this.generateDirectAllocationConstructor(girClass.mainConstructor));
20315
22109
  else if (girClass.mainConstructor instanceof IntrospectedConstructor)
20316
22110
  def.push(...this.generateConstructor(girClass.mainConstructor));
20317
- else if (girClass.someParent((p) => p.namespace.namespace === "GObject" && p.name === "Object"))
22111
+ else if (girClass.namespace.namespace === "GObject" && girClass.name === "Object" || girClass.someParent((p) => p.namespace.namespace === "GObject" && p.name === "Object"))
20318
22112
  def.push(`
20319
22113
  constructor(properties?: Partial<${girClass.name}.ConstructorProps>, ...args: any[]);
20320
22114
  `);
@@ -21477,6 +23271,7 @@ import {
21477
23271
  Application,
21478
23272
  Converter,
21479
23273
  normalizePath,
23274
+ ReferenceReflection,
21480
23275
  ReflectionCategory,
21481
23276
  Serializer,
21482
23277
  TSConfigReader
@@ -21805,7 +23600,7 @@ var TypeDocPipeline = class {
21805
23600
  * converts each package separately, then merges them into one ProjectReflection.
21806
23601
  */
21807
23602
  async createCombinedTypeDocApp() {
21808
- return this.bootstrapAndConvert(
23603
+ const result = await this.bootstrapAndConvert(
21809
23604
  {
21810
23605
  entryPoints: [join10(this.tempDir, "*")],
21811
23606
  entryPointStrategy: "packages",
@@ -21819,6 +23614,8 @@ var TypeDocPipeline = class {
21819
23614
  },
21820
23615
  [new TSConfigReader()]
21821
23616
  );
23617
+ this.fixExportImportReferences(result.project);
23618
+ return result;
21822
23619
  }
21823
23620
  /**
21824
23621
  * Bootstrap a TypeDoc Application using the "merge" entry point strategy.
@@ -21837,7 +23634,9 @@ var TypeDocPipeline = class {
21837
23634
  []
21838
23635
  );
21839
23636
  app.deserializer.addDeserializer(new GirMetadataDeserializer());
21840
- return this.convertApp(app, "merged documentation");
23637
+ const result = await this.convertApp(app, "merged documentation");
23638
+ this.fixExportImportReferences(result.project);
23639
+ return result;
21841
23640
  }
21842
23641
  async cleanup() {
21843
23642
  if (this.tempDir) {
@@ -22027,6 +23826,56 @@ var TypeDocPipeline = class {
22027
23826
  const dotIdx = name.indexOf(".");
22028
23827
  return dotIdx > 0 ? name.slice(0, dotIdx) : name;
22029
23828
  }
23829
+ /**
23830
+ * Fix ReferenceReflection targets broken by TypeDoc's handling of
23831
+ * `export import X = Y.Z` statements.
23832
+ *
23833
+ * TypeDoc may resolve all such re-exports within a namespace to the same
23834
+ * target reflection (e.g. every Cairo enum points to Status). This method
23835
+ * detects the mismatch and corrects each reference's internal target ID.
23836
+ */
23837
+ fixExportImportReferences(project) {
23838
+ const refsByTargetId = /* @__PURE__ */ new Map();
23839
+ for (const r of Object.values(project.reflections)) {
23840
+ if (!(r instanceof ReferenceReflection)) continue;
23841
+ const target = r.tryGetTargetReflectionDeep();
23842
+ if (!target) continue;
23843
+ let list2 = refsByTargetId.get(target.id);
23844
+ if (!list2) {
23845
+ list2 = [];
23846
+ refsByTargetId.set(target.id, list2);
23847
+ }
23848
+ list2.push(r);
23849
+ }
23850
+ const brokenTargetIds = /* @__PURE__ */ new Set();
23851
+ for (const [targetId, refs] of refsByTargetId) {
23852
+ const distinctNames = new Set(refs.map((r) => r.name));
23853
+ if (distinctNames.size > 1) {
23854
+ brokenTargetIds.add(targetId);
23855
+ }
23856
+ }
23857
+ if (brokenTargetIds.size === 0) return;
23858
+ const nonRefByName = /* @__PURE__ */ new Map();
23859
+ for (const refl of Object.values(project.reflections)) {
23860
+ if (refl.isReference()) continue;
23861
+ let list2 = nonRefByName.get(refl.name);
23862
+ if (!list2) {
23863
+ list2 = [];
23864
+ nonRefByName.set(refl.name, list2);
23865
+ }
23866
+ list2.push({ id: refl.id, kind: refl.kind });
23867
+ }
23868
+ for (const r of Object.values(project.reflections)) {
23869
+ if (!(r instanceof ReferenceReflection)) continue;
23870
+ const target = r.tryGetTargetReflectionDeep();
23871
+ if (!target || target.name === r.name) continue;
23872
+ if (!brokenTargetIds.has(target.id)) continue;
23873
+ const candidates = nonRefByName.get(r.name);
23874
+ if (!candidates?.length) continue;
23875
+ const correctTarget = candidates.find((c) => c.kind === target.kind) ?? candidates[0];
23876
+ r._target = correctTarget.id;
23877
+ }
23878
+ }
22030
23879
  /** Register GIR metadata serializer and namespace-level metadata on a TypeDoc app. */
22031
23880
  registerGirMetadata(app, module) {
22032
23881
  const index = buildGirLookupIndex(module);
@@ -22186,8 +24035,8 @@ var JsonDefinitionGenerator = class _JsonDefinitionGenerator {
22186
24035
  };
22187
24036
 
22188
24037
  // ../typedoc-theme/src/theme.ts
22189
- import { copyFileSync, writeFileSync as writeFileSync2 } from "node:fs";
22190
- import { dirname as dirname8, join as join13 } from "node:path";
24038
+ import { copyFileSync, writeFileSync as writeFileSync3 } from "node:fs";
24039
+ import { dirname as dirname8, join as join14 } from "node:path";
22191
24040
  import { fileURLToPath as fileURLToPath5 } from "node:url";
22192
24041
  import { DefaultTheme, RendererEvent } from "typedoc";
22193
24042
 
@@ -22307,7 +24156,7 @@ function getGirNamespaceMetadata(reflection) {
22307
24156
  const mod = findOwningModule(reflection) ?? reflection;
22308
24157
  return mod.girNamespaceMetadata;
22309
24158
  }
22310
- var COMPANION_OWNER_KINDS = ReflectionKind.Class | ReflectionKind.Interface;
24159
+ var COMPANION_OWNER_KINDS = ReflectionKind.Class | ReflectionKind.Interface | ReflectionKind.Enum;
22311
24160
  function findCompanionNamespace(refl) {
22312
24161
  if (!refl.kindOf(COMPANION_OWNER_KINDS)) return void 0;
22313
24162
  const parent = refl.parent;
@@ -22458,6 +24307,99 @@ var giDocgenHeader = (context, props) => {
22458
24307
 
22459
24308
  // ../typedoc-theme/src/partials/layout.ts
22460
24309
  import { JSX as JSX3 } from "typedoc";
24310
+
24311
+ // ../typedoc-theme/src/search-splitter.ts
24312
+ var import_lunr = __toESM(require_lunr(), 1);
24313
+ import { readFileSync as readFileSync5, writeFileSync as writeFileSync2 } from "node:fs";
24314
+ import { join as join12 } from "node:path";
24315
+ import { deflateSync, inflateSync } from "node:zlib";
24316
+ var KIND_MODULE = 2;
24317
+ function sanitizeModuleName(name) {
24318
+ return name.toLowerCase().replace(/[/\\]/g, "_");
24319
+ }
24320
+ function getModuleName(row, moduleNames) {
24321
+ if (row.kind === KIND_MODULE) return row.name;
24322
+ if (!row.parent) return void 0;
24323
+ for (const mod of moduleNames) {
24324
+ if (row.parent === mod || row.parent.startsWith(`${mod}.`)) {
24325
+ return mod;
24326
+ }
24327
+ }
24328
+ return void 0;
24329
+ }
24330
+ function buildChunk(rows) {
24331
+ const builder7 = new import_lunr.default.Builder();
24332
+ builder7.pipeline.add(import_lunr.default.trimmer);
24333
+ builder7.ref("id");
24334
+ builder7.field("name", { boost: 10 });
24335
+ for (let i = 0; i < rows.length; i++) {
24336
+ builder7.add({ id: i, name: rows[i].name });
24337
+ }
24338
+ const index = builder7.build();
24339
+ const data = { rows, index };
24340
+ const compressed = deflateSync(Buffer.from(JSON.stringify(data)));
24341
+ return compressed.toString("base64");
24342
+ }
24343
+ function readSearchData(assetsDir) {
24344
+ const raw = readFileSync5(join12(assetsDir, "search.js"), "utf-8");
24345
+ const match = raw.match(/window\.searchData\s*=\s*"([^"]+)"/);
24346
+ if (!match?.[1]) {
24347
+ throw new Error("Could not extract searchData from search.js");
24348
+ }
24349
+ const decoded = Buffer.from(match[1], "base64");
24350
+ const decompressed = inflateSync(decoded);
24351
+ return JSON.parse(decompressed.toString("utf-8"));
24352
+ }
24353
+ async function splitSearchIndex(outputDir) {
24354
+ const assetsDir = join12(outputDir, "assets");
24355
+ let searchData;
24356
+ try {
24357
+ searchData = readSearchData(assetsDir);
24358
+ } catch {
24359
+ return;
24360
+ }
24361
+ const { rows } = searchData;
24362
+ const moduleNames = /* @__PURE__ */ new Set();
24363
+ for (const row of rows) {
24364
+ if (row.kind === KIND_MODULE) {
24365
+ moduleNames.add(row.name);
24366
+ }
24367
+ }
24368
+ const moduleMap = /* @__PURE__ */ new Map();
24369
+ const moduleEntries = [];
24370
+ for (const row of rows) {
24371
+ if (row.kind === KIND_MODULE) {
24372
+ moduleEntries.push(row);
24373
+ }
24374
+ const mod = getModuleName(row, moduleNames);
24375
+ if (!mod) continue;
24376
+ let bucket = moduleMap.get(mod);
24377
+ if (!bucket) {
24378
+ bucket = [];
24379
+ moduleMap.set(mod, bucket);
24380
+ }
24381
+ bucket.push(row);
24382
+ }
24383
+ for (const [moduleName, moduleRows] of moduleMap) {
24384
+ const chunk = buildChunk(moduleRows);
24385
+ const filename = `search-${sanitizeModuleName(moduleName)}.js`;
24386
+ writeFileSync2(join12(assetsDir, filename), `window.searchData = "${chunk}";`);
24387
+ }
24388
+ const modulesChunk = buildChunk(moduleEntries);
24389
+ writeFileSync2(join12(assetsDir, "search-modules.js"), `window.searchData = "${modulesChunk}";`);
24390
+ writeFileSync2(join12(assetsDir, "search.js"), "window.searchData = null;");
24391
+ const totalChunks = moduleMap.size + 1;
24392
+ console.log(`[search-splitter] Split ${rows.length} entries into ${totalChunks} chunks (${moduleMap.size} modules)`);
24393
+ }
24394
+
24395
+ // ../typedoc-theme/src/partials/layout.ts
24396
+ function getSearchScript(props) {
24397
+ const owningModule = findOwningModule(props.model);
24398
+ if (owningModule) {
24399
+ return `assets/search-${sanitizeModuleName(owningModule.name)}.js`;
24400
+ }
24401
+ return "assets/search-modules.js";
24402
+ }
22461
24403
  var giDocgenLayout = (context, template, props) => JSX3.createElement(
22462
24404
  "html",
22463
24405
  { class: "default", lang: context.options.getValue("lang"), "data-base": context.relativeURL("./") },
@@ -22508,7 +24450,7 @@ var giDocgenLayout = (context, template, props) => JSX3.createElement(
22508
24450
  }),
22509
24451
  JSX3.createElement("script", {
22510
24452
  async: true,
22511
- src: context.relativeURL("assets/search.js", true),
24453
+ src: context.relativeURL(getSearchScript(props), true),
22512
24454
  id: "tsd-search-script"
22513
24455
  }),
22514
24456
  JSX3.createElement("script", {
@@ -22566,7 +24508,7 @@ var giDocgenLayout = (context, template, props) => JSX3.createElement(
22566
24508
  // ../typedoc-theme/src/partials/module-reflection.ts
22567
24509
  import {
22568
24510
  JSX as JSX4,
22569
- ReferenceReflection,
24511
+ ReferenceReflection as ReferenceReflection2,
22570
24512
  ReflectionKind as ReflectionKind3
22571
24513
  } from "typedoc";
22572
24514
  function isNoneSection(section) {
@@ -22669,11 +24611,12 @@ function giDocgenModuleReflection(context, mod) {
22669
24611
  if (mod.isDeclaration() && isCompanionNamespace(mod)) {
22670
24612
  const parent = mod.parent;
22671
24613
  const siblings = parent && "children" in parent ? parent.children : void 0;
22672
- const companionClass = siblings?.find(
22673
- (child) => child !== mod && child.kindOf(ReflectionKind3.Class) && child.name === mod.name
24614
+ const companionOwner = siblings?.find(
24615
+ (child) => child !== mod && child.kindOf(ReflectionKind3.Class | ReflectionKind3.Interface | ReflectionKind3.Enum) && child.name === mod.name
22674
24616
  );
22675
- if (companionClass) {
22676
- const classUrl = context.urlTo(companionClass);
24617
+ if (companionOwner) {
24618
+ const ownerUrl = context.urlTo(companionOwner);
24619
+ const kindName = companionOwner.kindOf(ReflectionKind3.Enum) ? "enum" : companionOwner.kindOf(ReflectionKind3.Interface) ? "interface" : "class";
22677
24620
  return JSX4.createElement(
22678
24621
  JSX4.Fragment,
22679
24622
  null,
@@ -22681,13 +24624,13 @@ function giDocgenModuleReflection(context, mod) {
22681
24624
  "p",
22682
24625
  null,
22683
24626
  "This namespace is a companion to the ",
22684
- JSX4.createElement("a", { href: classUrl }, companionClass.name),
22685
- " class. See the class page for full documentation."
24627
+ JSX4.createElement("a", { href: ownerUrl }, companionOwner.name),
24628
+ ` ${kindName}. See the ${kindName} page for full documentation.`
22686
24629
  ),
22687
24630
  JSX4.createElement(
22688
24631
  "script",
22689
24632
  null,
22690
- JSX4.createElement(JSX4.Raw, { html: `window.location.replace("${classUrl}");` })
24633
+ JSX4.createElement(JSX4.Raw, { html: `window.location.replace("${ownerUrl}");` })
22691
24634
  )
22692
24635
  );
22693
24636
  }
@@ -22797,12 +24740,12 @@ function giDocgenModuleMemberSummary(context, member) {
22797
24740
  context.page.pageHeadings.push({
22798
24741
  link: `#${id}`,
22799
24742
  text: getDisplayName(member),
22800
- kind: member instanceof ReferenceReflection ? member.getTargetReflectionDeep().kind : member.kind,
24743
+ kind: member instanceof ReferenceReflection2 ? member.getTargetReflectionDeep().kind : member.kind,
22801
24744
  classes: context.getReflectionClasses(member),
22802
24745
  icon: context.theme.getReflectionIcon(member)
22803
24746
  });
22804
24747
  let name;
22805
- if (member instanceof ReferenceReflection) {
24748
+ if (member instanceof ReferenceReflection2) {
22806
24749
  const target = member.getTargetReflectionDeep();
22807
24750
  name = JSX4.createElement(
22808
24751
  "span",
@@ -22965,12 +24908,18 @@ import { JSX as JSX7 } from "typedoc";
22965
24908
  var giDocgenPageSidebar = (context, props) => JSX7.createElement(JSX7.Fragment, null, context.pageNavigation(props));
22966
24909
 
22967
24910
  // ../typedoc-theme/src/partials/sidebar.ts
22968
- import { readFileSync as readFileSync5 } from "node:fs";
22969
- import { dirname as dirname7, join as join12 } from "node:path";
24911
+ import { readFileSync as readFileSync6 } from "node:fs";
24912
+ import { dirname as dirname7, join as join13 } from "node:path";
22970
24913
  import { fileURLToPath as fileURLToPath4 } from "node:url";
22971
24914
  import { i18n, JSX as JSX8, ReflectionKind as ReflectionKind4 } from "typedoc";
22972
- var __dirname2 = dirname7(fileURLToPath4(import.meta.url));
22973
- var TSFOR_GIR_VERSION = JSON.parse(readFileSync5(join12(__dirname2, "..", "..", "package.json"), "utf8")).version;
24915
+ function getTsForGirVersion() {
24916
+ if (true) {
24917
+ return "4.0.0-beta.43";
24918
+ }
24919
+ const __dirname3 = dirname7(fileURLToPath4(import.meta.url));
24920
+ return JSON.parse(readFileSync6(join13(__dirname3, "..", "..", "package.json"), "utf8")).version;
24921
+ }
24922
+ var TSFOR_GIR_VERSION = getTsForGirVersion();
22974
24923
  function giDocgenModuleInfo(context, mod, nsMeta) {
22975
24924
  const depElements = nsMeta.dependencies.map((dep) => {
22976
24925
  const depPackageName = `${dep.namespace}-${dep.version}`;
@@ -23401,7 +25350,7 @@ var GiDocgenThemeRenderContext = class extends DefaultThemeRenderContext {
23401
25350
  };
23402
25351
 
23403
25352
  // ../typedoc-theme/src/theme.ts
23404
- var __dirname3 = dirname8(fileURLToPath5(import.meta.url));
25353
+ var __dirname2 = dirname8(fileURLToPath5(import.meta.url));
23405
25354
  var FAVICON_FILES = [
23406
25355
  "favicon.ico",
23407
25356
  "favicon-96x96.png",
@@ -23424,13 +25373,13 @@ var GiDocgenTheme = class extends DefaultTheme {
23424
25373
  constructor(renderer) {
23425
25374
  super(renderer);
23426
25375
  this.owner.on(RendererEvent.END, (event) => {
23427
- const assetsDir = join13(event.outputDirectory, "assets");
23428
- copyFileSync(join13(__dirname3, "static", "style.css"), join13(assetsDir, "gi-docgen.css"));
23429
- copyFileSync(join13(__dirname3, "static", "gi-docgen-inherited.js"), join13(assetsDir, "gi-docgen-inherited.js"));
23430
- copyFileSync(join13(__dirname3, "static", "logo_x4.png"), join13(assetsDir, "logo_x4.png"));
23431
- const faviconDir = join13(__dirname3, "static", "favicon");
25376
+ const assetsDir = join14(event.outputDirectory, "assets");
25377
+ copyFileSync(join14(__dirname2, "static", "style.css"), join14(assetsDir, "gi-docgen.css"));
25378
+ copyFileSync(join14(__dirname2, "static", "gi-docgen-inherited.js"), join14(assetsDir, "gi-docgen-inherited.js"));
25379
+ copyFileSync(join14(__dirname2, "static", "logo_x4.png"), join14(assetsDir, "logo_x4.png"));
25380
+ const faviconDir = join14(__dirname2, "static", "favicon");
23432
25381
  for (const file of FAVICON_FILES) {
23433
- copyFileSync(join13(faviconDir, file), join13(assetsDir, file));
25382
+ copyFileSync(join14(faviconDir, file), join14(assetsDir, file));
23434
25383
  }
23435
25384
  const projectName = event.project.name || "TS for GIR";
23436
25385
  const manifest = {
@@ -23444,12 +25393,15 @@ var GiDocgenTheme = class extends DefaultTheme {
23444
25393
  background_color: "#1e1e1e",
23445
25394
  display: "standalone"
23446
25395
  };
23447
- writeFileSync2(join13(assetsDir, "site.webmanifest"), JSON.stringify(manifest, null, 2));
25396
+ writeFileSync3(join14(assetsDir, "site.webmanifest"), JSON.stringify(manifest, null, 2));
23448
25397
  });
23449
25398
  }
23450
25399
  getNavigation(project) {
23451
25400
  return buildShallowNavigation(super.getNavigation(project));
23452
25401
  }
25402
+ async postRender(event) {
25403
+ await splitSearchIndex(event.outputDirectory);
25404
+ }
23453
25405
  };
23454
25406
 
23455
25407
  // ../typedoc-theme/src/index.ts
@@ -23495,7 +25447,7 @@ var HtmlDocGenerator = class _HtmlDocGenerator {
23495
25447
  } else {
23496
25448
  for (const module of this.pipeline.modules) {
23497
25449
  const result = await this.pipeline.createTypeDocApp(module);
23498
- await this.generateDocsWithTheme(result, join14(outdir, module.packageName));
25450
+ await this.generateDocsWithTheme(result, join15(outdir, module.packageName));
23499
25451
  }
23500
25452
  }
23501
25453
  this.log.success(`HTML documentation generated for ${this.pipeline.modules.length} modules in ${outdir}`);
@@ -23848,4 +25800,56 @@ lodash/lodash.js:
23848
25800
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
23849
25801
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
23850
25802
  *)
25803
+
25804
+ lunr/lunr.js:
25805
+ (**
25806
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
25807
+ * Copyright (C) 2020 Oliver Nightingale
25808
+ * @license MIT
25809
+ *)
25810
+ (*!
25811
+ * lunr.utils
25812
+ * Copyright (C) 2020 Oliver Nightingale
25813
+ *)
25814
+ (*!
25815
+ * lunr.Set
25816
+ * Copyright (C) 2020 Oliver Nightingale
25817
+ *)
25818
+ (*!
25819
+ * lunr.tokenizer
25820
+ * Copyright (C) 2020 Oliver Nightingale
25821
+ *)
25822
+ (*!
25823
+ * lunr.Pipeline
25824
+ * Copyright (C) 2020 Oliver Nightingale
25825
+ *)
25826
+ (*!
25827
+ * lunr.Vector
25828
+ * Copyright (C) 2020 Oliver Nightingale
25829
+ *)
25830
+ (*!
25831
+ * lunr.stemmer
25832
+ * Copyright (C) 2020 Oliver Nightingale
25833
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
25834
+ *)
25835
+ (*!
25836
+ * lunr.stopWordFilter
25837
+ * Copyright (C) 2020 Oliver Nightingale
25838
+ *)
25839
+ (*!
25840
+ * lunr.trimmer
25841
+ * Copyright (C) 2020 Oliver Nightingale
25842
+ *)
25843
+ (*!
25844
+ * lunr.TokenSet
25845
+ * Copyright (C) 2020 Oliver Nightingale
25846
+ *)
25847
+ (*!
25848
+ * lunr.Index
25849
+ * Copyright (C) 2020 Oliver Nightingale
25850
+ *)
25851
+ (*!
25852
+ * lunr.Builder
25853
+ * Copyright (C) 2020 Oliver Nightingale
25854
+ *)
23851
25855
  */