/* * This file is part of the Protevus Platform. * * (C) Protevus * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ import 'package:protevus_runtime/runtime.dart'; const String _listPrefix = "List<"; const String _mapPrefix = "Map(dynamic input) { try { var typeString = T.toString(); if (typeString.endsWith('?')) { if (input == null) { return null as T; } else { typeString = typeString.substring(0, typeString.length - 1); } } if (typeString.startsWith(_listPrefix)) { if (input is! List) { throw TypeError(); } if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List")) { return List.from(input) as T; } else if (typeString.startsWith("List>")) { return List>.from(input) as T; } } else if (typeString.startsWith(_mapPrefix)) { if (input is! Map) { throw TypeError(); } final inputMap = input as Map; if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } else if (typeString.startsWith("Map")) { return Map.from(inputMap) as T; } } return input as T; } on TypeError { throw TypeCoercionException(T, input.runtimeType); } }