Skip to content

Commit 1b301e4

Browse files
committed
fix: minor bugfixes
1 parent a454406 commit 1b301e4

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
reader/ts/src/*.js
66
reader/ts/build
77
bundles
8-
reader/**/*.js
8+
reader/**/*.js
9+
*.d.ts

reader/ts/src/mapper/dataTypeMapper.ts

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
import {GenericMapper as TucanaGenericMapper} from "@code0-tech/tucana/pb/shared.data_type_pb.js"
1616
import {ConstructedDataTypes, getID} from "../parser.js";
1717
import {getTranslationConnection} from "./translation.js";
18+
import {Value} from "@code0-tech/tucana/pb/shared.struct_pb.js";
1819

1920
function getDataType(identifier: string, constructedDataTypes: ConstructedDataTypes): DataType | null {
2021
const dataType = constructedDataTypes.constructedDataTypes.find(dt => dt.identifier === identifier)
@@ -67,7 +68,7 @@ function createRules(rule: DefinitionDataTypeRule[], constructedDataTypes: Const
6768
}
6869
case "itemOfCollection": {
6970
const ruleConfig: DataTypeRulesItemOfCollectionConfig = {
70-
items: r.config.itemOfCollection.items, //TODO: This needs to be checked
71+
items: r.config.itemOfCollection.items.map(valueToJSON),
7172
}
7273
const rule: DataTypeRule = {
7374
variant: DataTypeRulesVariant.ItemOfCollection,
@@ -195,7 +196,7 @@ function getDataTypeIdentifier(identifier: TucanaDataTypeIdentifier | undefined,
195196
type: type
196197
}
197198
}),
198-
sources: mapper.source.map(id =>
199+
sourceDataTypeIdentifiers: mapper.source.map(id =>
199200
getDataTypeIdentifier(id, constructedDataTypes)
200201
).filter(id => id != null),
201202
target: mapper.target,
@@ -224,4 +225,27 @@ function getDataTypeIdentifier(identifier: TucanaDataTypeIdentifier | undefined,
224225
return null;
225226
}
226227

228+
// @ts-ignore
229+
function valueToJSON(value: Value) {
230+
switch (value.kind.oneofKind) {
231+
case "nullValue":
232+
return null
233+
case "numberValue":
234+
return value.kind.numberValue
235+
case "stringValue":
236+
return value.kind.stringValue
237+
case "boolValue":
238+
return value.kind.boolValue
239+
case "structValue":
240+
return Object.fromEntries(
241+
// @ts-ignore
242+
Object.entries(value.kind.structValue.fields).map(([k, v]) => {
243+
return [k, valueToJSON(v)]
244+
})
245+
)
246+
case "listValue":
247+
return value.kind.listValue.values.map(valueToJSON)
248+
}
249+
}
250+
227251
export {getDataType, getDataTypeIdentifier}

reader/ts/src/mapper/functionMapper.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ function mapFunction(func: TucanaFunction, constructed: ConstructedDataTypes): F
1818
throwsError: func.throwsError,
1919
returnType: getDataTypeIdentifier(func.returnTypeIdentifier, constructed),
2020
parameterDefinitions: getParameterDefinitionConnection(func.runtimeParameterDefinitions, constructed),
21+
runtimeFunctionDefinition: {
22+
id: `gid://sagittarius/RuntimeFunctionDefinition/${getID(constructed)}`,
23+
identifier: func.runtimeName
24+
}
2125
}
2226
}
2327

@@ -28,9 +32,10 @@ function getParameterDefinitionConnection(def: RuntimeParameterDefinition[], con
2832
return {
2933
id: `gid://sagittarius/ParameterDefinition/${getID(constructed)}`,
3034
names: getTranslationConnection(node.name),
35+
identifier: node.runtimeName,
3136
descriptions: getTranslationConnection(node.description),
3237
documentations: getTranslationConnection(node.documentation),
33-
dataType: getDataTypeIdentifier(node.dataTypeIdentifier, constructed)
38+
dataTypeIdentifier: getDataTypeIdentifier(node.dataTypeIdentifier, constructed)
3439
}
3540
})
3641
}

0 commit comments

Comments
 (0)