ActionFunctionRegister.fromReader constructor
ActionFunctionRegister.fromReader(
- TeleportObjectReader reader
Implementation
factory ActionFunctionRegister.fromReader(TeleportObjectReader reader) {
final instance = ActionFunctionRegister();
TeleportField? field;
while ((field = reader.next()) != null) {
if (field!.isNull) continue;
switch (field.fieldId) {
case fieldIdFunctionId: {
instance.functionId = field.asGuid();
break;
}
case fieldIdFunctionName: {
instance.functionName = field.asString();
break;
}
case fieldIdParameters: {
final ar = field.asArray();
final list = <FunctionRegisterParameter>[];
TeleportArrayElement? el;
while ((el = ar.next()) != null) {
list.add(FunctionRegisterParameter.fromReader(el!.asObject()));
}
instance.parameters = list;
break;
}
case fieldIdResultTypeName: {
instance.resultTypeName = field.asString();
break;
}
case fieldIdIsEnumerable: {
instance.isEnumerable = field.asBool();
break;
}
case fieldIdEnumerableItemTypeName: {
instance.enumerableItemTypeName = field.asString();
break;
}
case fieldIdIsCancellable: {
instance.isCancellable = field.asBool();
break;
}
case fieldIdDescription: {
instance.description = field.asString();
break;
}
case fieldIdLlmInlineResult: {
instance.llmInlineResult = field.asBool();
break;
}
case fieldIdLlmCallOnlyOnce: {
instance.llmCallOnlyOnce = field.asBool();
break;
}
case fieldIdRequiresInstance: {
instance.requiresInstance = field.asBool();
break;
}
case fieldIdVersions: {
final ar = field.asArray();
final list = <String>[];
TeleportArrayElement? el;
while ((el = ar.next()) != null) {
list.add(el!.asString());
}
instance.versions = list;
break;
}
}
}
return instance;
}