@nfdi4plants/arctrl 3.0.0-alpha.3 → 3.0.0-beta.1

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 (90) hide show
  1. package/README.md +17 -9
  2. package/dist/ts/cjs/ts/ARC.js +25 -17
  3. package/dist/ts/cjs/ts/Conversion.js +133 -86
  4. package/dist/ts/cjs/ts/Core/ArcTypes.js +1 -1
  5. package/dist/ts/cjs/ts/Core/Conversion.js +110 -43
  6. package/dist/ts/cjs/ts/Core/Helper/Collections.js +84 -1
  7. package/dist/ts/cjs/ts/Core/OntologyAnnotation.js +27 -23
  8. package/dist/ts/cjs/ts/Core/Table/ArcTable.js +234 -217
  9. package/dist/ts/cjs/ts/Core/Table/ArcTableAux.js +915 -235
  10. package/dist/ts/cjs/ts/Core/Table/ArcTables.js +12 -19
  11. package/dist/ts/cjs/ts/Core/Table/CompositeColumn.js +4 -2
  12. package/dist/ts/cjs/ts/FileSystem/DefaultGitattributes.js +1 -1
  13. package/dist/ts/cjs/ts/Json/Decode.js +105 -0
  14. package/dist/ts/cjs/ts/Json/Encode.js +42 -0
  15. package/dist/ts/cjs/ts/Json/StringTable.js +9 -2
  16. package/dist/ts/cjs/ts/Json/Table/ArcTable.js +100 -113
  17. package/dist/ts/cjs/ts/Json/Table/CellTable.js +2 -2
  18. package/dist/ts/cjs/ts/Json/Table/OATable.js +2 -2
  19. package/dist/ts/cjs/ts/JsonIO/Table/Compression.js +4 -11
  20. package/dist/ts/cjs/ts/ROCrate/Generic/LabProcess.js +1 -1
  21. package/dist/ts/cjs/ts/ROCrate/LDContext.js +92 -54
  22. package/dist/ts/cjs/ts/Spreadsheet/AnnotationTable/ArcTable.js +15 -4
  23. package/dist/ts/cjs/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +77 -6
  24. package/dist/ts/cjs/ts/Spreadsheet/ArcInvestigation.js +31 -15
  25. package/dist/ts/cjs/ts/Spreadsheet/DataMapTable/DataMapHeader.js +1 -1
  26. package/dist/ts/cjs/ts/Spreadsheet/Metadata/SparseTable.js +2 -5
  27. package/dist/ts/esm/ts/ARC.js +28 -20
  28. package/dist/ts/esm/ts/Conversion.js +137 -90
  29. package/dist/ts/esm/ts/Core/ArcTypes.js +1 -1
  30. package/dist/ts/esm/ts/Core/Conversion.js +112 -45
  31. package/dist/ts/esm/ts/Core/Helper/Collections.js +73 -1
  32. package/dist/ts/esm/ts/Core/OntologyAnnotation.js +29 -25
  33. package/dist/ts/esm/ts/Core/Table/ArcTable.js +243 -226
  34. package/dist/ts/esm/ts/Core/Table/ArcTableAux.js +907 -246
  35. package/dist/ts/esm/ts/Core/Table/ArcTables.js +15 -22
  36. package/dist/ts/esm/ts/Core/Table/CompositeColumn.js +5 -3
  37. package/dist/ts/esm/ts/FileSystem/DefaultGitattributes.js +1 -1
  38. package/dist/ts/esm/ts/Json/Decode.js +105 -3
  39. package/dist/ts/esm/ts/Json/Encode.js +42 -2
  40. package/dist/ts/esm/ts/Json/StringTable.js +10 -3
  41. package/dist/ts/esm/ts/Json/Table/ArcTable.js +108 -121
  42. package/dist/ts/esm/ts/Json/Table/CellTable.js +2 -2
  43. package/dist/ts/esm/ts/Json/Table/OATable.js +2 -2
  44. package/dist/ts/esm/ts/JsonIO/Table/Compression.js +4 -11
  45. package/dist/ts/esm/ts/ROCrate/Generic/LabProcess.js +1 -1
  46. package/dist/ts/esm/ts/ROCrate/LDContext.js +106 -66
  47. package/dist/ts/esm/ts/Spreadsheet/AnnotationTable/ArcTable.js +17 -7
  48. package/dist/ts/esm/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +78 -9
  49. package/dist/ts/esm/ts/Spreadsheet/ArcInvestigation.js +33 -17
  50. package/dist/ts/esm/ts/Spreadsheet/DataMapTable/DataMapHeader.js +1 -1
  51. package/dist/ts/esm/ts/Spreadsheet/Metadata/SparseTable.js +3 -6
  52. package/dist/ts/types/ts/ARC.d.ts +2 -2
  53. package/dist/ts/types/ts/ARC.d.ts.map +1 -1
  54. package/dist/ts/types/ts/Conversion.d.ts +17 -18
  55. package/dist/ts/types/ts/Conversion.d.ts.map +1 -1
  56. package/dist/ts/types/ts/Core/ArcTypes.d.ts +2 -0
  57. package/dist/ts/types/ts/Core/ArcTypes.d.ts.map +1 -1
  58. package/dist/ts/types/ts/Core/Conversion.d.ts +14 -15
  59. package/dist/ts/types/ts/Core/Conversion.d.ts.map +1 -1
  60. package/dist/ts/types/ts/Core/Helper/Collections.d.ts +11 -0
  61. package/dist/ts/types/ts/Core/Helper/Collections.d.ts.map +1 -1
  62. package/dist/ts/types/ts/Core/OntologyAnnotation.d.ts +9 -0
  63. package/dist/ts/types/ts/Core/OntologyAnnotation.d.ts.map +1 -1
  64. package/dist/ts/types/ts/Core/Table/ArcTable.d.ts +35 -28
  65. package/dist/ts/types/ts/Core/Table/ArcTable.d.ts.map +1 -1
  66. package/dist/ts/types/ts/Core/Table/ArcTableAux.d.ts +84 -33
  67. package/dist/ts/types/ts/Core/Table/ArcTableAux.d.ts.map +1 -1
  68. package/dist/ts/types/ts/Core/Table/ArcTables.d.ts.map +1 -1
  69. package/dist/ts/types/ts/Core/Table/CompositeColumn.d.ts.map +1 -1
  70. package/dist/ts/types/ts/FileSystem/DefaultGitattributes.d.ts +1 -1
  71. package/dist/ts/types/ts/FileSystem/DefaultGitattributes.d.ts.map +1 -1
  72. package/dist/ts/types/ts/Json/Decode.d.ts +6 -0
  73. package/dist/ts/types/ts/Json/Decode.d.ts.map +1 -1
  74. package/dist/ts/types/ts/Json/Encode.d.ts +2 -0
  75. package/dist/ts/types/ts/Json/Encode.d.ts.map +1 -1
  76. package/dist/ts/types/ts/Json/StringTable.d.ts.map +1 -1
  77. package/dist/ts/types/ts/Json/Table/ArcTable.d.ts +4 -3
  78. package/dist/ts/types/ts/Json/Table/ArcTable.d.ts.map +1 -1
  79. package/dist/ts/types/ts/Json/Table/CellTable.d.ts.map +1 -1
  80. package/dist/ts/types/ts/Json/Table/OATable.d.ts.map +1 -1
  81. package/dist/ts/types/ts/JsonIO/Table/Compression.d.ts.map +1 -1
  82. package/dist/ts/types/ts/ROCrate/LDContext.d.ts +3 -5
  83. package/dist/ts/types/ts/ROCrate/LDContext.d.ts.map +1 -1
  84. package/dist/ts/types/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts +5 -0
  85. package/dist/ts/types/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
  86. package/dist/ts/types/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts +7 -0
  87. package/dist/ts/types/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
  88. package/dist/ts/types/ts/Spreadsheet/ArcInvestigation.d.ts.map +1 -1
  89. package/dist/ts/types/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
  90. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  import { sortBy, map, toArray } from "@fable-org/fable-library-js/Seq.js";
2
+ import { Dictionary_tryFind, Dictionary_items } from "../../Core/Helper/Collections.js";
2
3
  import { comparePrimitives } from "@fable-org/fable-library-js/Util.js";
3
4
  import { item, map as map_1 } from "@fable-org/fable-library-js/Array.js";
4
5
  import { OntologyAnnotation_compressedDecoder, OntologyAnnotation_compressedEncoder } from "../OntologyAnnotation.js";
5
6
  import { int, object, array as array_2 } from "../../fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js";
6
- import { Dictionary_tryFind } from "../../Core/Helper/Collections.js";
7
7
  import { value as value_2 } from "@fable-org/fable-library-js/Option.js";
8
8
  import { addToDict } from "@fable-org/fable-library-js/MapUtil.js";
9
9
  export function arrayFromMap(otm) {
10
- return toArray(map((kv_1) => kv_1[0], sortBy((kv) => kv[1], otm, {
10
+ return toArray(map((kv_1) => kv_1[0], sortBy((kv) => kv[1], Dictionary_items(otm), {
11
11
  Compare: comparePrimitives,
12
12
  })));
13
13
  }
@@ -1,5 +1,4 @@
1
- import { safeHash, equals } from "@fable-org/fable-library-js/Util.js";
2
- import { Dictionary } from "@fable-org/fable-library-js/MutableMap.js";
1
+ import { Dictionary_init } from "../../Core/Helper/Collections.js";
3
2
  import { toString } from "../../fable_modules/Thoth.Json.JavaScript.0.3.0/Encode.fs.js";
4
3
  import { decoder as decoder_3, arrayFromMap, encoder as encoder_1 } from "../../Json/Table/CellTable.js";
5
4
  import { decoder as decoder_2, arrayFromMap as arrayFromMap_1, encoder as encoder_2 } from "../../Json/Table/OATable.js";
@@ -7,15 +6,9 @@ import { decoder as decoder_1, arrayFromMap as arrayFromMap_2, encoder as encode
7
6
  import { map } from "@fable-org/fable-library-js/Seq.js";
8
7
  import { object as object_1 } from "../../fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js";
9
8
  export function encode(encoder, obj) {
10
- const stringTable = new Map([]);
11
- const oaTable = new Dictionary([], {
12
- Equals: equals,
13
- GetHashCode: safeHash,
14
- });
15
- const cellTable = new Dictionary([], {
16
- Equals: equals,
17
- GetHashCode: safeHash,
18
- });
9
+ const stringTable = Dictionary_init();
10
+ const oaTable = Dictionary_init();
11
+ const cellTable = Dictionary_init();
19
12
  const object = encoder(stringTable, oaTable, cellTable, obj);
20
13
  toString(0, object);
21
14
  const values = [["cellTable", encoder_1(stringTable, oaTable, arrayFromMap(cellTable))], ["oaTable", encoder_2(stringTable, arrayFromMap_1(oaTable))], ["stringTable", encoder_3(arrayFromMap_2(stringTable))], ["object", object]];
@@ -212,7 +212,7 @@ export class LDLabProcess {
212
212
  }
213
213
  static genId(name, assayName, studyName) {
214
214
  let study_1, assay_1, assay, study;
215
- return clean((assayName == null) ? ((studyName != null) ? ((study_1 = value(studyName), `#Process_${study_1}_${name}`)) : (`#Process_${name}`)) : ((studyName == null) ? ((assay_1 = value(assayName), `#Process_${assay_1}_${name}`)) : ((assay = value(assayName), (study = value(studyName), `#Process_${study}_${assay}_${name}`)))));
215
+ return clean((assayName == null) ? ((studyName != null) ? ((study_1 = value(studyName), `#Process_S_${study_1}_${name}`)) : (`#Process_${name}`)) : ((studyName == null) ? ((assay_1 = value(assayName), `#Process_A_${assay_1}_${name}`)) : ((assay = value(assayName), (study = value(studyName), `#Process_S_${study}_A_${assay}_${name}`)))));
216
216
  }
217
217
  static create(name, objects, results, id, agent, executesLabProtocol, parameterValues, endTime, disambiguatingDescriptions, context) {
218
218
  const id_1 = (id == null) ? LDLabProcess.genId(name) : value(id);
@@ -1,42 +1,18 @@
1
- import { Dictionary } from "@fable-org/fable-library-js/MutableMap.js";
2
- import { stringHash, comparePrimitives, safeHash, disposeSafe, getEnumerator, defaultOf, structuralHash, equals } from "@fable-org/fable-library-js/Util.js";
3
- import { tryPick, sort, map, reduce, iterate } from "@fable-org/fable-library-js/Seq.js";
4
- import { getItemFromDict, tryGetValue, addToDict } from "@fable-org/fable-library-js/MapUtil.js";
5
- import { toString, FSharpRef } from "@fable-org/fable-library-js/Types.js";
6
- import { defaultArg, unwrap, value as value_1, some } from "@fable-org/fable-library-js/Option.js";
7
1
  import { ActivePatterns_$007CRegex$007C_$007C } from "../Core/Helper/Regex.js";
2
+ import { defaultArg, unwrap, value as value_5 } from "@fable-org/fable-library-js/Option.js";
3
+ import { FSharpRef, toString } from "@fable-org/fable-library-js/Types.js";
8
4
  import { Uri } from "@fable-org/fable-library-js/Uri.js";
9
- import { Dictionary_addOrUpdate } from "../Core/Helper/Collections.js";
5
+ import { defaultOf, stringHash, comparePrimitives, safeHash, disposeSafe, getEnumerator } from "@fable-org/fable-library-js/Util.js";
6
+ import { tryGetValue, getItemFromDict, addToDict } from "@fable-org/fable-library-js/MapUtil.js";
7
+ import { tryPick, sort, map, reduce } from "@fable-org/fable-library-js/Seq.js";
8
+ import { StringDictionary_ofSeq } from "../Core/Helper/Collections.js";
10
9
  import { hash as hash_2, mergeHashes, boxHashSeq } from "../Core/Helper/HashCodes.js";
11
10
  import { class_type } from "@fable-org/fable-library-js/Reflection.js";
12
- export function Dictionary_ofSeq(s) {
13
- const dict = new Dictionary([], {
14
- Equals: equals,
15
- GetHashCode: structuralHash,
16
- });
17
- iterate((tupledArg) => {
18
- addToDict(dict, tupledArg[0], tupledArg[1]);
19
- }, s);
20
- return dict;
21
- }
22
- export function Dictionary_tryFind(key, dict) {
23
- let patternInput;
24
- let outArg = defaultOf();
25
- patternInput = [tryGetValue(dict, key, new FSharpRef(() => outArg, (v) => {
26
- outArg = v;
27
- })), outArg];
28
- if (patternInput[0]) {
29
- return some(patternInput[1]);
30
- }
31
- else {
32
- return undefined;
33
- }
34
- }
35
11
  export const IRIHelper_compactIRIRegex = "(?<prefix>.*):(?<suffix>[^\\/][^\\/].*)";
36
12
  export function IRIHelper_$007CCompactIri$007C_$007C(termDefition) {
37
13
  const activePatternResult = ActivePatterns_$007CRegex$007C_$007C(IRIHelper_compactIRIRegex, termDefition);
38
14
  if (activePatternResult != null) {
39
- const result = value_1(activePatternResult);
15
+ const result = value_5(activePatternResult);
40
16
  return [(result.groups && result.groups.prefix) || "", (result.groups && result.groups.suffix) || ""];
41
17
  }
42
18
  else {
@@ -54,7 +30,7 @@ export function IRIHelper_combine(baseIRI, relative) {
54
30
  export function IRIHelper_combineOptional(baseIRI, relative) {
55
31
  if (baseIRI == null) {
56
32
  if (relative != null) {
57
- const r_1 = value_1(relative);
33
+ const r_1 = value_5(relative);
58
34
  return r_1;
59
35
  }
60
36
  else {
@@ -62,23 +38,23 @@ export function IRIHelper_combineOptional(baseIRI, relative) {
62
38
  }
63
39
  }
64
40
  else if (relative == null) {
65
- const b_1 = value_1(baseIRI);
41
+ const b_1 = value_5(baseIRI);
66
42
  return b_1;
67
43
  }
68
44
  else {
69
- const b = value_1(baseIRI);
70
- const r = value_1(relative);
45
+ const b = value_5(baseIRI);
46
+ const r = value_5(relative);
71
47
  return IRIHelper_combine(b, r);
72
48
  }
73
49
  }
74
50
  export class LDContext {
75
51
  constructor(mappings, baseContexts) {
76
- this["baseContexts@54"] = defaultArg(baseContexts, []);
52
+ this["baseContexts@41"] = defaultArg(baseContexts, []);
77
53
  this.name = undefined;
78
- this["mappings@58"] = ((mappings == null) ? (new Map([])) : value_1(mappings));
54
+ this["mappings@45"] = ((mappings == null) ? (new Map([])) : value_5(mappings));
79
55
  this.reverseMappings = (new Map([]));
80
56
  this.compactReverseMappings = (new Map([]));
81
- let enumerator = getEnumerator(this["mappings@58"]);
57
+ let enumerator = getEnumerator(this["mappings@45"]);
82
58
  try {
83
59
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
84
60
  const kvp = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
@@ -91,15 +67,15 @@ export class LDContext {
91
67
  }
92
68
  get Mappings() {
93
69
  const this$ = this;
94
- return this$["mappings@58"];
70
+ return this$["mappings@45"];
95
71
  }
96
72
  get BaseContexts() {
97
73
  const this$ = this;
98
- return this$["baseContexts@54"];
74
+ return this$["baseContexts@41"];
99
75
  }
100
76
  set BaseContexts(value) {
101
77
  const this$ = this;
102
- this$["baseContexts@54"] = value;
78
+ this$["baseContexts@41"] = value;
103
79
  }
104
80
  get Name() {
105
81
  const this$ = this;
@@ -111,7 +87,15 @@ export class LDContext {
111
87
  }
112
88
  AddMapping(term, definition) {
113
89
  const this$ = this;
114
- Dictionary_addOrUpdate(term, definition, this$["mappings@58"]);
90
+ const key = term;
91
+ const value = definition;
92
+ const dict = this$["mappings@45"];
93
+ if (dict.has(key)) {
94
+ dict.set(key, value);
95
+ }
96
+ else {
97
+ addToDict(dict, key, value);
98
+ }
115
99
  this$.addReverseMapping(term, definition);
116
100
  }
117
101
  TryResolveTerm(term) {
@@ -131,11 +115,11 @@ export class LDContext {
131
115
  else {
132
116
  const p1Def = this$.TryResolveTerm(p1);
133
117
  const p2Def = this$.TryResolveTerm(p2);
134
- return (p1Def == null) ? ((p2Def != null) && ((p2Def_2 = value_1(p2Def), p1 === p2Def_2))) : ((p2Def == null) ? ((p1Def_2 = value_1(p1Def), p1Def_2 === p2)) : ((p1Def_1 = value_1(p1Def), (p2Def_1 = value_1(p2Def), p1Def_1 === p2Def_1))));
118
+ return (p1Def == null) ? ((p2Def != null) && ((p2Def_2 = value_5(p2Def), p1 === p2Def_2))) : ((p2Def == null) ? ((p1Def_2 = value_5(p1Def), p1Def_2 === p2)) : ((p1Def_1 = value_5(p1Def), (p2Def_1 = value_5(p2Def), p1Def_1 === p2Def_1))));
135
119
  }
136
120
  }
137
121
  static fromMappingSeq(mappings) {
138
- return new LDContext(Dictionary_ofSeq(mappings));
122
+ return new LDContext(StringDictionary_ofSeq(mappings));
139
123
  }
140
124
  static combine_InPlace(baseContext, specificContext) {
141
125
  void (specificContext.BaseContexts.push(baseContext));
@@ -146,12 +130,12 @@ export class LDContext {
146
130
  }
147
131
  static tryCombineOptional(baseContext, specificContext) {
148
132
  let s_1, f_1, f, s;
149
- return (baseContext == null) ? ((specificContext != null) ? ((s_1 = value_1(specificContext), s_1)) : undefined) : ((specificContext == null) ? ((f_1 = value_1(baseContext), f_1)) : ((f = value_1(baseContext), (s = value_1(specificContext), LDContext.combine(f, s)))));
133
+ return (baseContext == null) ? ((specificContext != null) ? ((s_1 = value_5(specificContext), s_1)) : undefined) : ((specificContext == null) ? ((f_1 = value_5(baseContext), f_1)) : ((f = value_5(baseContext), (s = value_5(specificContext), LDContext.combine(f, s)))));
150
134
  }
151
135
  ShallowCopy() {
152
136
  const this$ = this;
153
137
  const newMappings = new Map([]);
154
- let enumerator = getEnumerator(this$["mappings@58"]);
138
+ let enumerator = getEnumerator(this$["mappings@45"]);
155
139
  try {
156
140
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
157
141
  const kvp = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
@@ -161,12 +145,12 @@ export class LDContext {
161
145
  finally {
162
146
  disposeSafe(enumerator);
163
147
  }
164
- return new LDContext(newMappings, this$["baseContexts@54"]);
148
+ return new LDContext(newMappings, this$["baseContexts@41"]);
165
149
  }
166
150
  DeepCopy() {
167
151
  const this$ = this;
168
152
  const newMappings = new Map([]);
169
- let enumerator = getEnumerator(this$["mappings@58"]);
153
+ let enumerator = getEnumerator(this$["mappings@45"]);
170
154
  try {
171
155
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
172
156
  const kvp = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
@@ -177,7 +161,7 @@ export class LDContext {
177
161
  disposeSafe(enumerator);
178
162
  }
179
163
  const newBaseContexts = [];
180
- let enumerator_1 = getEnumerator(this$["baseContexts@54"]);
164
+ let enumerator_1 = getEnumerator(this$["baseContexts@41"]);
181
165
  try {
182
166
  while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
183
167
  const ctx = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
@@ -209,8 +193,8 @@ export class LDContext {
209
193
  }))) | 0;
210
194
  let nameHash;
211
195
  const matchValue = this$.Name;
212
- nameHash = ((matchValue == null) ? 0 : stringHash(value_1(matchValue)));
213
- const baseContextsHash = ((this$["baseContexts@54"].length === 0) ? 0 : reduce(mergeHashes, map(safeHash, this$["baseContexts@54"]))) | 0;
196
+ nameHash = ((matchValue == null) ? 0 : stringHash(value_5(matchValue)));
197
+ const baseContextsHash = ((this$["baseContexts@41"].length === 0) ? 0 : reduce(mergeHashes, map(safeHash, this$["baseContexts@41"]))) | 0;
214
198
  return mergeHashes(mergeHashes(mappingsHash, nameHash), baseContextsHash) | 0;
215
199
  }
216
200
  "System.ICloneable.Clone"() {
@@ -219,26 +203,70 @@ export class LDContext {
219
203
  }
220
204
  addReverseMapping(key, value) {
221
205
  const this$ = this;
222
- Dictionary_addOrUpdate(value, key, this$.reverseMappings);
206
+ const key_1 = value;
207
+ const value_1 = key;
208
+ const dict = this$.reverseMappings;
209
+ if (dict.has(key_1)) {
210
+ dict.set(key_1, value_1);
211
+ }
212
+ else {
213
+ addToDict(dict, key_1, value_1);
214
+ }
223
215
  const activePatternResult = IRIHelper_$007CCompactIri$007C_$007C(value);
224
216
  if (activePatternResult != null) {
225
- const prefix = value_1(activePatternResult)[0];
226
- const suffix = value_1(activePatternResult)[1];
227
- Dictionary_addOrUpdate(prefix, [suffix, key], this$.compactReverseMappings);
228
- const matchValue = Dictionary_tryFind(prefix, this$["mappings@58"]);
217
+ const prefix = value_5(activePatternResult)[0];
218
+ const suffix = value_5(activePatternResult)[1];
219
+ const key_2 = prefix;
220
+ const value_2 = [suffix, key];
221
+ const dict_1 = this$.compactReverseMappings;
222
+ if (dict_1.has(key_2)) {
223
+ dict_1.set(key_2, value_2);
224
+ }
225
+ else {
226
+ addToDict(dict_1, key_2, value_2);
227
+ }
228
+ let matchValue;
229
+ let patternInput;
230
+ let outArg = defaultOf();
231
+ patternInput = [tryGetValue(this$["mappings@45"], prefix, new FSharpRef(() => outArg, (v) => {
232
+ outArg = v;
233
+ })), outArg];
234
+ matchValue = (patternInput[0] ? patternInput[1] : undefined);
229
235
  if (matchValue == null) {
230
236
  }
231
237
  else {
232
- Dictionary_addOrUpdate(IRIHelper_combine(value_1(matchValue), suffix), key, this$.reverseMappings);
238
+ const key_4 = IRIHelper_combine(value_5(matchValue), suffix);
239
+ const value_3 = key;
240
+ const dict_3 = this$.reverseMappings;
241
+ if (dict_3.has(key_4)) {
242
+ dict_3.set(key_4, value_3);
243
+ }
244
+ else {
245
+ addToDict(dict_3, key_4, value_3);
246
+ }
233
247
  }
234
248
  }
235
249
  else {
236
- const matchValue_1 = Dictionary_tryFind(key, this$.compactReverseMappings);
250
+ let matchValue_1;
251
+ let patternInput_1;
252
+ let outArg_1 = defaultOf();
253
+ patternInput_1 = [tryGetValue(this$.compactReverseMappings, key, new FSharpRef(() => outArg_1, (v_2) => {
254
+ outArg_1 = v_2;
255
+ })), outArg_1];
256
+ matchValue_1 = (patternInput_1[0] ? patternInput_1[1] : undefined);
237
257
  if (matchValue_1 == null) {
238
258
  }
239
259
  else {
240
- const term = value_1(matchValue_1)[1];
241
- Dictionary_addOrUpdate(IRIHelper_combine(value, value_1(matchValue_1)[0]), term, this$.reverseMappings);
260
+ const term = value_5(matchValue_1)[1];
261
+ const key_6 = IRIHelper_combine(value, value_5(matchValue_1)[0]);
262
+ const value_4 = term;
263
+ const dict_5 = this$.reverseMappings;
264
+ if (dict_5.has(key_6)) {
265
+ dict_5.set(key_6, value_4);
266
+ }
267
+ else {
268
+ addToDict(dict_5, key_6, value_4);
269
+ }
242
270
  }
243
271
  }
244
272
  }
@@ -246,20 +274,32 @@ export class LDContext {
246
274
  let prefix, suffix, d;
247
275
  const this$ = this;
248
276
  let definition;
249
- const matchValue = Dictionary_tryFind(term, this$["mappings@58"]);
250
- definition = ((matchValue == null) ? tryPick((ctx) => ctx.TryResolveTerm(term), this$["baseContexts@54"]) : value_1(matchValue));
277
+ let matchValue;
278
+ let patternInput;
279
+ let outArg = defaultOf();
280
+ patternInput = [tryGetValue(this$["mappings@45"], term, new FSharpRef(() => outArg, (v) => {
281
+ outArg = v;
282
+ })), outArg];
283
+ matchValue = (patternInput[0] ? patternInput[1] : undefined);
284
+ definition = ((matchValue == null) ? tryPick((ctx) => ctx.TryResolveTerm(term), this$["baseContexts@41"]) : value_5(matchValue));
251
285
  if (definition == null) {
252
286
  return undefined;
253
287
  }
254
288
  else {
255
- const activePatternResult = IRIHelper_$007CCompactIri$007C_$007C(value_1(definition));
256
- return (activePatternResult != null) ? ((prefix = value_1(activePatternResult)[0], (suffix = value_1(activePatternResult)[1], IRIHelper_combine((prefix === term) ? prefix : defaultArg(this$.tryFindTerm(prefix), prefix), (suffix === term) ? suffix : defaultArg(this$.tryFindTerm(suffix), suffix))))) : ((d = value_1(definition), d));
289
+ const activePatternResult = IRIHelper_$007CCompactIri$007C_$007C(value_5(definition));
290
+ return (activePatternResult != null) ? ((prefix = value_5(activePatternResult)[0], (suffix = value_5(activePatternResult)[1], IRIHelper_combine((prefix === term) ? prefix : defaultArg(this$.tryFindTerm(prefix), prefix), (suffix === term) ? suffix : defaultArg(this$.tryFindTerm(suffix), suffix))))) : ((d = value_5(definition), d));
257
291
  }
258
292
  }
259
293
  tryFindIri(iri) {
260
294
  const this$ = this;
261
- const matchValue = Dictionary_tryFind(iri, this$.reverseMappings);
262
- return (matchValue == null) ? tryPick((ctx) => ctx.TryGetTerm(iri), this$["baseContexts@54"]) : value_1(matchValue);
295
+ let matchValue;
296
+ let patternInput;
297
+ let outArg = defaultOf();
298
+ patternInput = [tryGetValue(this$.reverseMappings, iri, new FSharpRef(() => outArg, (v) => {
299
+ outArg = v;
300
+ })), outArg];
301
+ matchValue = (patternInput[0] ? patternInput[1] : undefined);
302
+ return (matchValue == null) ? tryPick((ctx) => ctx.TryGetTerm(iri), this$["baseContexts@41"]) : value_5(matchValue);
263
303
  }
264
304
  tryCompactIRI(iri) {
265
305
  throw new Error("TryCompactIRI is Not implemented yet");
@@ -1,9 +1,11 @@
1
- import { iterateIndexed, length, sortBy, collect as collect_1, exists, toArray, ofArray, empty, tail, head, isEmpty, cons, singleton, fold, map, reverse } from "@fable-org/fable-library-js/List.js";
2
- import { item, map as map_1 } from "@fable-org/fable-library-js/Array.js";
1
+ import { iterateIndexed, length, ofSeq, sortBy, collect as collect_1, exists, toArray, ofArray, empty, tail, head, isEmpty, cons, singleton, fold, map, reverse } from "@fable-org/fable-library-js/List.js";
2
+ import { unzip, item, map as map_1 } from "@fable-org/fable-library-js/Array.js";
3
3
  import { fold as fold_1, singleton as singleton_1, collect, map as map_2, delay, toArray as toArray_1, tryFind } from "@fable-org/fable-library-js/Seq.js";
4
4
  import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.6.3.1/FsWorksheet.fs.js";
5
5
  import { value as value_1 } from "@fable-org/fable-library-js/Option.js";
6
- import { toStringCellColumns, fixDeprecatedIOHeader, fromStringCellColumns } from "./CompositeColumn.js";
6
+ import { toStringCellColumns, fixDeprecatedIOHeader, ColumnValueRefs_fromStringCellColumns, fromStringCellColumns } from "./CompositeColumn.js";
7
+ import { comparePrimitives } from "@fable-org/fable-library-js/Util.js";
8
+ import { ArcTableValues } from "../../Core/Table/ArcTableAux.js";
7
9
  import { printf, toFail } from "@fable-org/fable-library-js/String.js";
8
10
  import { Dictionary_tryGet, FsCellsCollection__TryGetCell_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.3.1/Cells/FsCellsCollection.fs.js";
9
11
  import { rangeDouble } from "@fable-org/fable-library-js/Range.js";
@@ -11,7 +13,6 @@ import { FsAddress_$ctor_Z37302880, FsAddress__get_ColumnNumber, FsAddress__get_
11
13
  import { FsRangeAddress_$ctor_7E77A4A0, FsRangeAddress__get_LastAddress } from "../../fable_modules/FsSpreadsheet.6.3.1/Ranges/FsRangeAddress.fs.js";
12
14
  import { FsRangeBase__Cell_Z3407A44B, FsRangeBase__get_RangeAddress } from "../../fable_modules/FsSpreadsheet.6.3.1/Ranges/FsRangeBase.fs.js";
13
15
  import { ArcTable } from "../../Core/Table/ArcTable.js";
14
- import { comparePrimitives } from "@fable-org/fable-library-js/Util.js";
15
16
  import { max } from "@fable-org/fable-library-js/Double.js";
16
17
  import { addToDict } from "@fable-org/fable-library-js/MapUtil.js";
17
18
  /**
@@ -81,6 +82,15 @@ export function tryAnnotationTable(sheet) {
81
82
  export function composeColumns(stringCellColumns) {
82
83
  return map_1(fromStringCellColumns, groupColumnsByHeader(stringCellColumns));
83
84
  }
85
+ /**
86
+ * Groups and parses a collection of single columns into the according ISA composite columns
87
+ */
88
+ export function composeArcTableValues(stringCellColumns) {
89
+ const valueMap = new Map([]);
90
+ const rowCount = (item(0, stringCellColumns).length - 1) | 0;
91
+ const patternInput = unzip(map_1((columns) => ColumnValueRefs_fromStringCellColumns(valueMap, columns), groupColumnsByHeader(stringCellColumns)));
92
+ return [patternInput[0], ArcTableValues.fromRefColumns(patternInput[1], valueMap, rowCount)];
93
+ }
84
94
  /**
85
95
  * Returns the protocol described by the headers and a function for parsing the values of the matrix to the processes of this protocol
86
96
  */
@@ -92,7 +102,7 @@ export function tryFromFsWorksheet(sheet) {
92
102
  }
93
103
  else {
94
104
  const t = value_1(matchValue);
95
- const compositeColumns = composeColumns(map_1(fixDeprecatedIOHeader, toArray_1(delay(() => map_2((c) => toArray_1(delay(() => collect((r) => {
105
+ const patternInput = composeArcTableValues(map_1(fixDeprecatedIOHeader, toArray_1(delay(() => map_2((c) => toArray_1(delay(() => collect((r) => {
96
106
  const matchValue_1 = FsCellsCollection__TryGetCell_Z37302880(sheet.CellCollection, r, c);
97
107
  if (matchValue_1 == null) {
98
108
  return singleton_1("");
@@ -102,7 +112,7 @@ export function tryFromFsWorksheet(sheet) {
102
112
  return singleton_1(cell.ValueAsString());
103
113
  }
104
114
  }, rangeDouble(1, 1, FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(t))))))), rangeDouble(1, 1, FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(t)))))))));
105
- return ArcTable.addColumns(compositeColumns, undefined, true)(ArcTable.init(sheet.Name));
115
+ return ArcTable.fromArcTableValues(sheet.Name, Array.from(patternInput[0]), patternInput[1]);
106
116
  }
107
117
  }
108
118
  catch (err) {
@@ -118,7 +128,7 @@ export function toFsWorksheet(index, table) {
118
128
  return ws;
119
129
  }
120
130
  else {
121
- const columns = collect_1(toStringCellColumns, sortBy(classifyColumnOrder, ofArray(table.Columns), {
131
+ const columns = collect_1(toStringCellColumns, sortBy(classifyColumnOrder, ofSeq(table.Columns), {
122
132
  Compare: comparePrimitives,
123
133
  }));
124
134
  let tableRowCount;
@@ -1,14 +1,18 @@
1
1
  import { tryItem, map, setItem, item, skip } from "@fable-org/fable-library-js/Array.js";
2
2
  import { CompositeHeader_Output, CompositeHeader_Input, IOType_Source, IOType } from "../../Core/Table/CompositeHeader.js";
3
- import { toString } from "@fable-org/fable-library-js/Types.js";
3
+ import { FSharpRef, toString } from "@fable-org/fable-library-js/Types.js";
4
4
  import { toStringCells, fromStringCells } from "./CompositeHeader.js";
5
- import { singleton, append, toList, exists, map as map_1, delay, toArray } from "@fable-org/fable-library-js/Seq.js";
5
+ import { reduce, singleton, append, toList, exists, map as map_1, delay, toArray } from "@fable-org/fable-library-js/Seq.js";
6
6
  import { rangeDouble } from "@fable-org/fable-library-js/Range.js";
7
7
  import { CompositeColumn } from "../../Core/Table/CompositeColumn.js";
8
8
  import { FsCell } from "../../fable_modules/FsSpreadsheet.6.3.1/Cells/FsCell.fs.js";
9
9
  import { toStringCells as toStringCells_1 } from "./CompositeCell.js";
10
- import { defaultArg } from "@fable-org/fable-library-js/Option.js";
10
+ import { value as value_1, defaultArg } from "@fable-org/fable-library-js/Option.js";
11
11
  import { map as map_2, singleton as singleton_1, ofArray } from "@fable-org/fable-library-js/List.js";
12
+ import { defaultOf, stringHash } from "@fable-org/fable-library-js/Util.js";
13
+ import { ColumnValueRefs_Constant, ensureCellHashInValueMap, ColumnValueRefs_Sparse } from "../../Core/Table/ArcTableAux.js";
14
+ import { mergeHashes } from "../../Core/Helper/HashCodes.js";
15
+ import { getItemFromDict, tryGetValue } from "@fable-org/fable-library-js/MapUtil.js";
12
16
  /**
13
17
  * Checks if the column header is a deprecated IO Header. If so, fixes it.
14
18
  *
@@ -38,9 +42,15 @@ export function fixDeprecatedIOHeader(stringCellCol) {
38
42
  export function fromStringCellColumns(columns) {
39
43
  const patternInput = fromStringCells(map((c) => item(0, c), columns));
40
44
  const l = item(0, columns).length | 0;
41
- const cells = toArray(delay(() => map_1((i) => patternInput[1](map((c_1) => item(i, c_1), columns)), rangeDouble(1, 1, l - 1))));
45
+ const cells = Array.from(toArray(delay(() => map_1((i) => patternInput[1](map((c_1) => item(i, c_1), columns)), rangeDouble(1, 1, l - 1)))));
42
46
  return CompositeColumn.create(patternInput[0], cells);
43
47
  }
48
+ export function stringCellColumnsOfFsColumns(columns) {
49
+ return map((c) => {
50
+ c.ToDenseColumn();
51
+ return map((cell) => cell.ValueAsString(), toArray(c.Cells));
52
+ }, columns);
53
+ }
44
54
  export function fromFsColumns(columns) {
45
55
  return fromStringCellColumns(map((c) => {
46
56
  c.ToDenseColumn();
@@ -52,21 +62,80 @@ export function toStringCellColumns(column) {
52
62
  const isTerm = column.Header.IsTermColumn;
53
63
  const isData = column.Header.IsDataColumn && exists((c_1) => c_1.isData, column.Cells);
54
64
  const header = toStringCells(hasUnit, column.Header);
55
- const cells = map((cell) => toStringCells_1(isTerm, hasUnit, cell), column.Cells);
65
+ const compositeCells = toArray(column.Cells);
66
+ const cells = map((cell) => toStringCells_1(isTerm, hasUnit, cell), toArray(column.Cells));
56
67
  const getCellOrDefault = (ri, ci, cells_1) => defaultArg(tryItem(ci, item(ri, cells_1)), "");
57
68
  if (hasUnit) {
58
- return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i) => getCellOrDefault(i, 0, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_1) => getCellOrDefault(i_1, 1, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_2) => getCellOrDefault(i_2, 2, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(3, header)), delay(() => map_1((i_3) => getCellOrDefault(i_3, 3, cells), rangeDouble(0, 1, column.Cells.length - 1))))))]);
69
+ return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i) => getCellOrDefault(i, 0, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_1) => getCellOrDefault(i_1, 1, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_2) => getCellOrDefault(i_2, 2, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(3, header)), delay(() => map_1((i_3) => getCellOrDefault(i_3, 3, cells), rangeDouble(0, 1, compositeCells.length - 1))))))]);
59
70
  }
60
71
  else if (isTerm) {
61
- return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_4) => getCellOrDefault(i_4, 0, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_5) => getCellOrDefault(i_5, 1, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_6) => getCellOrDefault(i_6, 2, cells), rangeDouble(0, 1, column.Cells.length - 1))))))]);
72
+ return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_4) => getCellOrDefault(i_4, 0, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_5) => getCellOrDefault(i_5, 1, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_6) => getCellOrDefault(i_6, 2, cells), rangeDouble(0, 1, compositeCells.length - 1))))))]);
62
73
  }
63
74
  else if (isData) {
64
- return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_7) => getCellOrDefault(i_7, 0, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_8) => getCellOrDefault(i_8, 1, cells), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_9) => getCellOrDefault(i_9, 2, cells), rangeDouble(0, 1, column.Cells.length - 1))))))]);
75
+ return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_7) => getCellOrDefault(i_7, 0, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_8) => getCellOrDefault(i_8, 1, cells), rangeDouble(0, 1, compositeCells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_9) => getCellOrDefault(i_9, 2, cells), rangeDouble(0, 1, compositeCells.length - 1))))))]);
65
76
  }
66
77
  else {
67
- return singleton_1(toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_10) => item(0, item(i_10, cells)), rangeDouble(0, 1, column.Cells.length - 1)))))));
78
+ return singleton_1(toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_10) => item(0, item(i_10, cells)), rangeDouble(0, 1, compositeCells.length - 1)))))));
68
79
  }
69
80
  }
70
81
  export function toFsColumns(column) {
71
82
  return map_2((c) => map_2((s) => (new FsCell(s)), c), toStringCellColumns(column));
72
83
  }
84
+ export function ColumnValueRefs_fromStringCellColumns(valueMap, columns) {
85
+ let cellHash;
86
+ const hashMap = new Map([]);
87
+ const cells = new Map([]);
88
+ let constant = true;
89
+ const patternInput = fromStringCells(map((c) => item(0, c), columns));
90
+ const header = patternInput[0];
91
+ const cellParser = patternInput[1];
92
+ const l = item(0, columns).length | 0;
93
+ if (l === 1) {
94
+ return [header, ColumnValueRefs_Sparse(cells)];
95
+ }
96
+ else {
97
+ for (let i = 1; i <= (l - 1); i++) {
98
+ const strings = map((c_1) => item(i, c_1), columns);
99
+ const hash_2 = reduce(mergeHashes, map_1(stringHash, strings)) | 0;
100
+ let matchValue;
101
+ let patternInput_1;
102
+ let outArg = defaultOf();
103
+ patternInput_1 = [tryGetValue(hashMap, hash_2, new FSharpRef(() => outArg, (v) => {
104
+ outArg = (v | 0);
105
+ })), outArg];
106
+ matchValue = (patternInput_1[0] ? patternInput_1[1] : undefined);
107
+ if (matchValue == null) {
108
+ if (i === 1) {
109
+ const cellHash_3 = ensureCellHashInValueMap(cellParser(strings), valueMap) | 0;
110
+ hashMap.set(hash_2, cellHash_3);
111
+ cells.set(i - 1, cellHash_3);
112
+ }
113
+ else {
114
+ if (constant) {
115
+ constant = false;
116
+ for (let j = 0; j <= (i - 1); j++) {
117
+ const cellHash_4 = getItemFromDict(cells, 0) | 0;
118
+ cells.set(j, cellHash_4);
119
+ }
120
+ }
121
+ const cellHash_5 = ensureCellHashInValueMap(cellParser(strings), valueMap) | 0;
122
+ hashMap.set(hash_2, cellHash_5);
123
+ cells.set(i - 1, cellHash_5);
124
+ }
125
+ }
126
+ else if ((cellHash = (value_1(matchValue) | 0), constant)) {
127
+ const cellHash_1 = value_1(matchValue) | 0;
128
+ }
129
+ else {
130
+ const cellHash_2 = value_1(matchValue) | 0;
131
+ cells.set(i - 1, cellHash_2);
132
+ }
133
+ }
134
+ if (constant) {
135
+ return [header, ColumnValueRefs_Constant(getItemFromDict(cells, 0))];
136
+ }
137
+ else {
138
+ return [header, ColumnValueRefs_Sparse(cells)];
139
+ }
140
+ }
141
+ }