@genome-spy/core 0.63.0 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/bundle/{index-CCJIjehY.js → AbortablePromiseCache-CcuMrnn7.js} +22 -91
  2. package/dist/bundle/browser-txUcLy2H.js +123 -0
  3. package/dist/bundle/index-BQpbYrv4.js +1712 -0
  4. package/dist/bundle/index-BhtHKLUo.js +73 -0
  5. package/dist/bundle/index-C0llXMqm.js +280 -0
  6. package/dist/bundle/index-CCe8rnZz.js +716 -0
  7. package/dist/bundle/index-CD7FLu9x.js +269 -0
  8. package/dist/bundle/{index-C08YCM2T.js → index-D-w7Mmt9.js} +246 -126
  9. package/dist/bundle/index-D74H8TTz.js +508 -0
  10. package/dist/bundle/index-DhcU-Gk-.js +1487 -0
  11. package/dist/bundle/index.es.js +5394 -4989
  12. package/dist/bundle/index.js +420 -362
  13. package/dist/bundle/inflate-DRgHi_KK.js +1050 -0
  14. package/dist/schema.json +93 -13
  15. package/dist/src/data/collector.d.ts +7 -2
  16. package/dist/src/data/collector.d.ts.map +1 -1
  17. package/dist/src/data/collector.js +13 -2
  18. package/dist/src/data/dataFlow.d.ts +20 -42
  19. package/dist/src/data/dataFlow.d.ts.map +1 -1
  20. package/dist/src/data/dataFlow.js +57 -80
  21. package/dist/src/data/dataFlow.test.js +35 -2
  22. package/dist/src/data/flowHandle.d.ts +15 -0
  23. package/dist/src/data/flowHandle.d.ts.map +1 -0
  24. package/dist/src/data/flowHandle.js +13 -0
  25. package/dist/src/data/flowInit.d.ts +85 -0
  26. package/dist/src/data/flowInit.d.ts.map +1 -0
  27. package/dist/src/data/flowInit.js +238 -0
  28. package/dist/src/data/flowInit.test.d.ts +2 -0
  29. package/dist/src/data/flowInit.test.d.ts.map +1 -0
  30. package/dist/src/data/flowInit.test.js +413 -0
  31. package/dist/src/data/flowOptimizer.d.ts +6 -4
  32. package/dist/src/data/flowOptimizer.d.ts.map +1 -1
  33. package/dist/src/data/flowOptimizer.js +29 -14
  34. package/dist/src/data/flowOptimizer.test.js +20 -15
  35. package/dist/src/data/sources/lazy/bamSource.js +1 -1
  36. package/dist/src/data/sources/lazy/bigBedSource.js +1 -1
  37. package/dist/src/data/sources/lazy/bigWigSource.js +1 -1
  38. package/dist/src/data/sources/lazy/gff3Source.d.ts +2 -6
  39. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  40. package/dist/src/data/sources/lazy/gff3Source.js +4 -8
  41. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  42. package/dist/src/data/sources/lazy/indexedFastaSource.js +17 -17
  43. package/dist/src/data/sources/lazy/tabixSource.js +1 -1
  44. package/dist/src/genomeSpy.d.ts +1 -1
  45. package/dist/src/genomeSpy.d.ts.map +1 -1
  46. package/dist/src/genomeSpy.js +18 -61
  47. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  48. package/dist/src/gl/webGLHelper.js +8 -0
  49. package/dist/src/marks/link.fragment.glsl.js +1 -1
  50. package/dist/src/marks/link.vertex.glsl.js +1 -1
  51. package/dist/src/marks/mark.d.ts +1 -0
  52. package/dist/src/marks/mark.d.ts.map +1 -1
  53. package/dist/src/marks/mark.js +22 -1
  54. package/dist/src/marks/point.fragment.glsl.js +1 -1
  55. package/dist/src/marks/point.vertex.glsl.js +1 -1
  56. package/dist/src/marks/rect.fragment.glsl.js +1 -1
  57. package/dist/src/marks/rect.vertex.glsl.js +1 -1
  58. package/dist/src/marks/rule.fragment.glsl.js +1 -1
  59. package/dist/src/marks/rule.vertex.glsl.js +1 -1
  60. package/dist/src/marks/text.fragment.glsl.js +1 -1
  61. package/dist/src/marks/text.vertex.glsl.js +1 -1
  62. package/dist/src/selection/selection.d.ts +5 -0
  63. package/dist/src/selection/selection.d.ts.map +1 -1
  64. package/dist/src/selection/selection.js +43 -6
  65. package/dist/src/selection/selection.test.d.ts +2 -0
  66. package/dist/src/selection/selection.test.d.ts.map +1 -0
  67. package/dist/src/selection/selection.test.js +14 -0
  68. package/dist/src/spec/parameter.d.ts +28 -2
  69. package/dist/src/spec/sampleView.d.ts +3 -2
  70. package/dist/src/styles/{genome-spy.scss → genome-spy.css} +25 -21
  71. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  72. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  73. package/dist/src/styles/genome-spy.css.js +264 -195
  74. package/dist/src/styles/update.sh +14 -4
  75. package/dist/src/types/viewContext.d.ts +1 -1
  76. package/dist/src/utils/expression.d.ts +5 -0
  77. package/dist/src/utils/expression.d.ts.map +1 -1
  78. package/dist/src/utils/expression.js +37 -0
  79. package/dist/src/utils/interactionEvent.d.ts +18 -1
  80. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  81. package/dist/src/utils/interactionEvent.js +101 -1
  82. package/dist/src/utils/interactionEvent.test.d.ts +2 -0
  83. package/dist/src/utils/interactionEvent.test.d.ts.map +1 -0
  84. package/dist/src/utils/interactionEvent.test.js +35 -0
  85. package/dist/src/view/axisResolution.d.ts +5 -0
  86. package/dist/src/view/axisResolution.d.ts.map +1 -1
  87. package/dist/src/view/axisResolution.js +16 -1
  88. package/dist/src/view/facetView.d.ts +1 -1
  89. package/dist/src/view/facetView.d.ts.map +1 -1
  90. package/dist/src/view/facetView.js +1 -0
  91. package/dist/src/view/flowBuilder.d.ts +2 -2
  92. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  93. package/dist/src/view/flowBuilder.js +21 -4
  94. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  95. package/dist/src/view/gridView/gridView.js +13 -0
  96. package/dist/src/view/gridView/selectionRect.d.ts +8 -4
  97. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  98. package/dist/src/view/gridView/selectionRect.js +28 -3
  99. package/dist/src/view/gridView/selectionRect.test.d.ts +2 -0
  100. package/dist/src/view/gridView/selectionRect.test.d.ts.map +1 -0
  101. package/dist/src/view/gridView/selectionRect.test.js +87 -0
  102. package/dist/src/view/paramMediator.d.ts +2 -1
  103. package/dist/src/view/paramMediator.d.ts.map +1 -1
  104. package/dist/src/view/paramMediator.js +13 -1
  105. package/dist/src/view/paramMediator.test.js +22 -0
  106. package/dist/src/view/scaleResolution.d.ts +5 -0
  107. package/dist/src/view/scaleResolution.d.ts.map +1 -1
  108. package/dist/src/view/scaleResolution.js +10 -0
  109. package/dist/src/view/testUtils.d.ts.map +1 -1
  110. package/dist/src/view/testUtils.js +16 -4
  111. package/dist/src/view/unitView.d.ts.map +1 -1
  112. package/dist/src/view/unitView.js +103 -10
  113. package/dist/src/view/view.d.ts +17 -1
  114. package/dist/src/view/view.d.ts.map +1 -1
  115. package/dist/src/view/view.js +57 -1
  116. package/dist/src/view/viewDispose.test.d.ts +2 -0
  117. package/dist/src/view/viewDispose.test.d.ts.map +1 -0
  118. package/dist/src/view/viewDispose.test.js +110 -0
  119. package/dist/src/view/viewUtils.d.ts +4 -4
  120. package/dist/src/view/viewUtils.d.ts.map +1 -1
  121. package/dist/src/view/viewUtils.js +19 -15
  122. package/dist/src/view/viewUtils.test.d.ts +2 -0
  123. package/dist/src/view/viewUtils.test.d.ts.map +1 -0
  124. package/dist/src/view/viewUtils.test.js +87 -0
  125. package/package.json +16 -16
  126. package/dist/bundle/__vite-browser-external-C--ziKoh.js +0 -8
  127. package/dist/bundle/_commonjsHelpers-DjF3Plf2.js +0 -26
  128. package/dist/bundle/index-5ajWdKly.js +0 -1319
  129. package/dist/bundle/index-B03-Om4z.js +0 -274
  130. package/dist/bundle/index-BftNdA0O.js +0 -27
  131. package/dist/bundle/index-Bg7C4Xat.js +0 -2750
  132. package/dist/bundle/index-C3QR8Lv6.js +0 -2131
  133. package/dist/bundle/index-DTcHjAHp.js +0 -505
  134. package/dist/bundle/index-DnIkxb0L.js +0 -1025
  135. package/dist/bundle/index-Ww3TAo6_.js +0 -71
  136. package/dist/bundle/index-g8iXgW0W.js +0 -651
  137. package/dist/bundle/long-B-FASCSo.js +0 -2387
  138. package/dist/bundle/remoteFile-BuaqFGWk.js +0 -94
@@ -0,0 +1,73 @@
1
+ function c(s) {
2
+ return s && s.__esModule && Object.prototype.hasOwnProperty.call(s, "default") ? s.default : s;
3
+ }
4
+ var h, i;
5
+ function a() {
6
+ if (i) return h;
7
+ i = 1;
8
+ class s {
9
+ constructor(e = {}) {
10
+ if (!(e.maxSize && e.maxSize > 0))
11
+ throw new TypeError("`maxSize` must be a number greater than 0");
12
+ this.maxSize = e.maxSize, this.cache = /* @__PURE__ */ new Map(), this.oldCache = /* @__PURE__ */ new Map(), this._size = 0;
13
+ }
14
+ _set(e, t) {
15
+ this.cache.set(e, t), this._size++, this._size >= this.maxSize && (this._size = 0, this.oldCache = this.cache, this.cache = /* @__PURE__ */ new Map());
16
+ }
17
+ get(e) {
18
+ if (this.cache.has(e))
19
+ return this.cache.get(e);
20
+ if (this.oldCache.has(e)) {
21
+ const t = this.oldCache.get(e);
22
+ return this.oldCache.delete(e), this._set(e, t), t;
23
+ }
24
+ }
25
+ set(e, t) {
26
+ return this.cache.has(e) ? this.cache.set(e, t) : this._set(e, t), this;
27
+ }
28
+ has(e) {
29
+ return this.cache.has(e) || this.oldCache.has(e);
30
+ }
31
+ peek(e) {
32
+ if (this.cache.has(e))
33
+ return this.cache.get(e);
34
+ if (this.oldCache.has(e))
35
+ return this.oldCache.get(e);
36
+ }
37
+ delete(e) {
38
+ const t = this.cache.delete(e);
39
+ return t && this._size--, this.oldCache.delete(e) || t;
40
+ }
41
+ clear() {
42
+ this.cache.clear(), this.oldCache.clear(), this._size = 0;
43
+ }
44
+ *keys() {
45
+ for (const [e] of this)
46
+ yield e;
47
+ }
48
+ *values() {
49
+ for (const [, e] of this)
50
+ yield e;
51
+ }
52
+ *[Symbol.iterator]() {
53
+ for (const e of this.cache)
54
+ yield e;
55
+ for (const e of this.oldCache) {
56
+ const [t] = e;
57
+ this.cache.has(t) || (yield e);
58
+ }
59
+ }
60
+ get size() {
61
+ let e = 0;
62
+ for (const t of this.oldCache.keys())
63
+ this.cache.has(t) || e++;
64
+ return this._size + e;
65
+ }
66
+ }
67
+ return h = s, h;
68
+ }
69
+ var r = a();
70
+ const l = /* @__PURE__ */ c(r);
71
+ export {
72
+ l as L
73
+ };
@@ -0,0 +1,280 @@
1
+ var v = Object.defineProperty;
2
+ var R = (n, e, t) => e in n ? v(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
+ var a = (n, e, t) => R(n, typeof e != "symbol" ? e + "" : e, t);
4
+ const k = /%([0-9A-Fa-f]{2})/g, y = /^\s*##\s*(\S+)\s*(.*)/, g = /\r?\n$/, _ = /\s+/, b = /\D/g;
5
+ function m(n) {
6
+ return n.includes("%") ? n.replaceAll(k, (e, t) => String.fromCharCode(parseInt(t, 16))) : n;
7
+ }
8
+ function F(n) {
9
+ if (!n.length || n === ".")
10
+ return {};
11
+ const e = {};
12
+ let t = n;
13
+ t.endsWith(`
14
+ `) && (t = t.slice(0, t.endsWith(`\r
15
+ `) ? -2 : -1));
16
+ for (const r of t.split(";")) {
17
+ const s = r.indexOf("=");
18
+ if (s === -1)
19
+ continue;
20
+ const c = r.slice(s + 1);
21
+ if (!c.length)
22
+ continue;
23
+ const o = r.slice(0, s).trim();
24
+ let i = e[o];
25
+ i || (i = [], e[o] = i);
26
+ for (const l of c.split(","))
27
+ i.push(m(l.trim()));
28
+ }
29
+ return e;
30
+ }
31
+ function I(n) {
32
+ return C(n.split(" "));
33
+ }
34
+ function f(n) {
35
+ return n === "." || n === "" || n === void 0 ? null : n;
36
+ }
37
+ function C(n) {
38
+ const e = f(n[0]), t = f(n[1]), r = f(n[2]), s = f(n[3]), c = f(n[4]), o = f(n[5]), i = f(n[6]), l = f(n[7]), u = f(n[8]);
39
+ return {
40
+ seq_id: e ? m(e) : null,
41
+ source: t ? m(t) : null,
42
+ type: r ? m(r) : null,
43
+ start: s === null ? null : parseInt(s, 10),
44
+ end: c === null ? null : parseInt(c, 10),
45
+ score: o === null ? null : parseFloat(o),
46
+ strand: i,
47
+ phase: l,
48
+ attributes: u === null ? null : F(u)
49
+ };
50
+ }
51
+ function L(n) {
52
+ var c, o;
53
+ const e = y.exec(n);
54
+ if (!e)
55
+ return null;
56
+ const [, t] = e;
57
+ let [, , r] = e;
58
+ const s = { directive: t };
59
+ if (r.length && (r = r.replace(g, ""), s.value = r), t === "sequence-region") {
60
+ const i = r.split(_, 3);
61
+ return {
62
+ ...s,
63
+ seq_id: i[0],
64
+ start: (c = i[1]) == null ? void 0 : c.replaceAll(b, ""),
65
+ end: (o = i[2]) == null ? void 0 : o.replaceAll(b, "")
66
+ };
67
+ } else if (t === "genome-build") {
68
+ const [i, l] = r.split(_, 2);
69
+ return {
70
+ ...s,
71
+ source: i,
72
+ buildName: l
73
+ };
74
+ }
75
+ return s;
76
+ }
77
+ const D = /^\s*[^#\s>]/, A = /^\s*(#+)(.*)/, x = /^\s*$/, S = /^\s*>/, w = /\r?\n?$/g;
78
+ class p {
79
+ constructor(e) {
80
+ a(this, "featureCallback");
81
+ a(this, "endCallback");
82
+ a(this, "commentCallback");
83
+ a(this, "errorCallback");
84
+ a(this, "disableDerivesFromReferences");
85
+ a(this, "directiveCallback");
86
+ a(this, "bufferSize");
87
+ a(this, "eof", !1);
88
+ a(this, "lineNumber", 0);
89
+ // features that we have to keep on hand for now because they
90
+ // might be referenced by something else
91
+ a(this, "_underConstructionTopLevel", []);
92
+ // index of the above by ID
93
+ a(this, "_underConstructionById", {});
94
+ a(this, "_completedReferences", {});
95
+ // features that reference something we have not seen yet
96
+ // structured as:
97
+ // { 'some_id' : {
98
+ // 'Parent' : [ orphans that have a Parent attr referencing it ],
99
+ // 'Derives_from' : [ orphans that have a Derives_from attr referencing it ],
100
+ // }
101
+ // }
102
+ a(this, "_underConstructionOrphans", {});
103
+ const t = () => {
104
+ };
105
+ this.featureCallback = e.featureCallback || t, this.endCallback = e.endCallback || t, this.commentCallback = e.commentCallback || t, this.errorCallback = e.errorCallback || t, this.directiveCallback = e.directiveCallback || t, this.disableDerivesFromReferences = e.disableDerivesFromReferences || !1, this.bufferSize = e.bufferSize === void 0 ? 1 / 0 : e.bufferSize;
106
+ }
107
+ addLine(e) {
108
+ if (this.eof)
109
+ return;
110
+ if (this.lineNumber += 1, D.test(e)) {
111
+ this._bufferLine(e);
112
+ return;
113
+ }
114
+ const t = A.exec(e);
115
+ if (t) {
116
+ const [, r] = t;
117
+ let [, , s] = t;
118
+ if (r.length === 3)
119
+ this._emitAllUnderConstructionFeatures();
120
+ else if (r.length === 2) {
121
+ const c = L(e);
122
+ c && (c.directive === "FASTA" ? (this._emitAllUnderConstructionFeatures(), this.eof = !0) : this._emitItem(c));
123
+ } else
124
+ this._emitItem({ comment: s.trimStart() });
125
+ } else if (!x.test(e)) if (S.test(e))
126
+ this._emitAllUnderConstructionFeatures(), this.eof = !0;
127
+ else {
128
+ const r = e.replaceAll(w, "");
129
+ throw new Error(`GFF3 parse error. Cannot parse '${r}'.`);
130
+ }
131
+ }
132
+ addParsedFeatureLine(e) {
133
+ this.eof || (this.lineNumber += 1, this._bufferParsedLine(e));
134
+ }
135
+ finish() {
136
+ this._emitAllUnderConstructionFeatures(), this.endCallback();
137
+ }
138
+ _emitItem(e) {
139
+ Array.isArray(e) ? this.featureCallback(e) : "directive" in e ? this.directiveCallback(e) : "comment" in e && this.commentCallback(e);
140
+ }
141
+ _enforceBufferSizeLimit(e = 0) {
142
+ const t = (r) => {
143
+ var s, c;
144
+ r && Array.isArray(r) && ((c = (s = r[0].attributes) == null ? void 0 : s.ID) != null && c[0]) && (r[0].attributes.ID.forEach((i) => {
145
+ delete this._underConstructionById[i], delete this._completedReferences[i];
146
+ }), r.forEach((i) => {
147
+ i.child_features && i.child_features.forEach((l) => {
148
+ t(l);
149
+ }), i.derived_features && i.derived_features.forEach((l) => {
150
+ t(l);
151
+ });
152
+ }));
153
+ };
154
+ for (; this._underConstructionTopLevel.length + e > this.bufferSize; ) {
155
+ const r = this._underConstructionTopLevel.shift();
156
+ r && (this._emitItem(r), t(r));
157
+ }
158
+ }
159
+ /**
160
+ * return all under-construction features, called when we know
161
+ * there will be no additional data to attach to them
162
+ */
163
+ _emitAllUnderConstructionFeatures() {
164
+ this._underConstructionTopLevel.forEach(this._emitItem.bind(this)), this._underConstructionTopLevel = [], this._underConstructionById = {}, this._completedReferences = {};
165
+ const e = Object.keys(this._underConstructionOrphans);
166
+ if (e.length)
167
+ throw new Error(`some features reference other features that do not exist in the file (or in the same '###' scope). ${e.join(",")}`);
168
+ }
169
+ _bufferLine(e) {
170
+ this._bufferParsedLine(I(e));
171
+ }
172
+ _bufferParsedLine(e) {
173
+ var i, l, u;
174
+ const t = e;
175
+ t.child_features = [], t.derived_features = [];
176
+ const r = ((i = t.attributes) == null ? void 0 : i.ID) || [], s = ((l = t.attributes) == null ? void 0 : l.Parent) || [], c = this.disableDerivesFromReferences ? [] : ((u = t.attributes) == null ? void 0 : u.Derives_from) || [];
177
+ if (!r.length && !s.length && !c.length) {
178
+ this._emitItem([t]);
179
+ return;
180
+ }
181
+ let o;
182
+ r.forEach((d) => {
183
+ const h = this._underConstructionById[d];
184
+ h ? (h[h.length - 1].type !== t.type && this._parseError(`multi-line feature "${d}" has inconsistent types: "${t.type}", "${h[h.length - 1].type}"`), h.push(t), o = h) : (o = [t], this._enforceBufferSizeLimit(1), !s.length && !c.length && this._underConstructionTopLevel.push(o), this._underConstructionById[d] = o, this._resolveReferencesTo(o, d));
185
+ }), this._resolveReferencesFrom(
186
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
187
+ o || [t],
188
+ { Parent: s, Derives_from: c },
189
+ r
190
+ );
191
+ }
192
+ _resolveReferencesTo(e, t) {
193
+ const r = this._underConstructionOrphans[t];
194
+ if (r) {
195
+ for (const s of e)
196
+ s.child_features.push(...r.Parent), s.derived_features.push(...r.Derives_from);
197
+ delete this._underConstructionOrphans[t];
198
+ }
199
+ }
200
+ _parseError(e) {
201
+ this.eof = !0, this.errorCallback(`${this.lineNumber}: ${e}`);
202
+ }
203
+ _resolveReferencesFrom(e, t, r) {
204
+ for (const s of t.Parent) {
205
+ const c = this._underConstructionById[s];
206
+ if (c) {
207
+ let o = !1;
208
+ for (const i of r) {
209
+ const l = `Parent,${s}`, u = this._completedReferences[i] || (this._completedReferences[i] = {});
210
+ u[l] && (o = !0), u[l] = !0;
211
+ }
212
+ if (!o)
213
+ for (const i of c)
214
+ i.child_features.push(e);
215
+ } else {
216
+ let o = this._underConstructionOrphans[s];
217
+ o || (o = { Parent: [], Derives_from: [] }, this._underConstructionOrphans[s] = o), o.Parent.push(e);
218
+ }
219
+ }
220
+ for (const s of t.Derives_from) {
221
+ const c = this._underConstructionById[s];
222
+ if (c) {
223
+ let o = !1;
224
+ for (const i of r) {
225
+ const l = `Derives_from,${s}`, u = this._completedReferences[i] || (this._completedReferences[i] = {});
226
+ u[l] && (o = !0), u[l] = !0;
227
+ }
228
+ if (!o)
229
+ for (const i of c)
230
+ i.derived_features.push(e);
231
+ } else {
232
+ let o = this._underConstructionOrphans[s];
233
+ o || (o = { Parent: [], Derives_from: [] }, this._underConstructionOrphans[s] = o), o.Derives_from.push(e);
234
+ }
235
+ }
236
+ }
237
+ }
238
+ function P(n) {
239
+ const e = [], t = new p({
240
+ featureCallback: (r) => e.push(r),
241
+ disableDerivesFromReferences: !0,
242
+ errorCallback: (r) => {
243
+ throw new Error(r);
244
+ }
245
+ });
246
+ for (const r of n.split(/\r?\n/))
247
+ t.addLine(r);
248
+ return t.finish(), e;
249
+ }
250
+ function $(n) {
251
+ const e = [], t = new p({
252
+ featureCallback: (r) => e.push(r),
253
+ disableDerivesFromReferences: !0,
254
+ errorCallback: (r) => {
255
+ throw new Error(r);
256
+ }
257
+ });
258
+ for (const r of n)
259
+ t.addLine(r);
260
+ return t.finish(), e;
261
+ }
262
+ function O(n) {
263
+ const e = [], t = new p({
264
+ featureCallback: (r) => e.push(r),
265
+ disableDerivesFromReferences: !0,
266
+ errorCallback: (r) => {
267
+ throw new Error(r);
268
+ }
269
+ });
270
+ for (const r of n) {
271
+ const s = C(r.fields);
272
+ r.lineHash !== void 0 && (s.attributes || (s.attributes = {}), s.attributes._lineHash = [String(r.lineHash)]), t.addParsedFeatureLine(s);
273
+ }
274
+ return t.finish(), e;
275
+ }
276
+ export {
277
+ $ as parseArraySync,
278
+ O as parseRecordsSync,
279
+ P as parseStringSync
280
+ };