listDynamicFields method
Implementation
Future<Page<DynamicFieldEntry>> listDynamicFields(
String parentId, {
String? cursor,
int? limit,
}) async {
final response = await _client.stateService.listDynamicFields(
ListDynamicFieldsRequest(
parent: parentId,
pageSize: limit,
pageToken: cursor != null ? base64Decode(cursor) : null,
readMask: FieldMask(paths: ['kind', 'field_id', 'name', 'value_type', 'child_id']),
),
);
final hasNext = response.hasNextPageToken() && response.nextPageToken.isNotEmpty;
return Page(
data: response.dynamicFields.map((field) {
return DynamicFieldEntry(
name: DynamicFieldName(
type: field.hasName() ? field.name.name : null,
bcs: field.hasName() ? Uint8List.fromList(field.name.value) : null,
),
objectType: field.valueType,
objectId: field.childId.isNotEmpty ? field.childId : field.fieldId,
type: _mapDynamicFieldKind(field.kind),
);
}).toList(),
hasNextPage: hasNext,
nextCursor: hasNext ? base64Encode(response.nextPageToken) : null,
);
}