From 896d1a76fef19447a43611c633e2305f40b97ad1 Mon Sep 17 00:00:00 2001 From: thomashii Date: Sun, 14 Feb 2021 13:22:25 +0800 Subject: [PATCH 01/55] Updated dart requirements to 2.10 --- .gitignore | 1 + .vscode/settings.json | 5 + CHANGELOG.md | 9 + TODO.md | 9 + packages/auth/pubspec.yaml | 7 +- packages/auth_oauth2/pubspec.yaml | 8 +- packages/auth_twitter/pubspec.yaml | 8 +- packages/body_parser/example/main.dart | 24 +- packages/body_parser/pubspec.yaml | 4 +- packages/body_parser/test/form_data_test.dart | 7 +- packages/cache/example/cache_service.dart | 11 +- packages/cache/example/main.dart | 15 +- packages/cache/lib/src/serializer.dart | 10 +- packages/cache/pubspec.yaml | 10 +- packages/cli/pubspec.yaml | 6 +- packages/client/pubspec.yaml | 15 +- packages/configuration/pubspec.yaml | 7 +- .../angel_container/lib/src/empty/empty.dart | 2 +- .../lib/src/mirrors/reflector.dart | 5 +- .../lib/src/static/static.dart | 2 +- .../angel_container/lib/src/throwing.dart | 3 +- .../container/angel_container/pubspec.yaml | 10 +- .../angel_container_generator/pubspec.yaml | 13 +- .../test/reflector_test.reflectable.dart | 1101 ++++++++--------- packages/cors/pubspec.yaml | 10 +- packages/eventsource/pubspec.yaml | 12 +- packages/file_service/pubspec.yaml | 7 +- packages/framework/pubspec.yaml | 16 +- packages/graphql/angel_graphql/pubspec.yaml | 30 +- packages/graphql/data_loader/pubspec.yaml | 7 +- .../graphql/example_star_wars/pubspec.yaml | 14 +- .../graphql/graphql_generator/pubspec.yaml | 11 +- packages/graphql/graphql_parser/pubspec.yaml | 4 +- packages/graphql/graphql_schema/pubspec.yaml | 4 +- packages/graphql/graphql_server/pubspec.yaml | 19 +- packages/hot/pubspec.yaml | 10 +- packages/html/pubspec.yaml | 10 +- packages/http_exception/pubspec.yaml | 2 +- packages/jael/angel_jael/pubspec.yaml | 10 +- packages/jael/jael/pubspec.yaml | 2 +- .../jael/jael_language_server/pubspec.yaml | 11 +- packages/jael/jael_preprocessor/pubspec.yaml | 7 +- .../jael/jael_web/lib/src/builder/util.dart | 22 +- packages/jael/jael_web/pubspec.yaml | 8 +- packages/jinja/lib/angel_jinja.dart | 2 +- packages/jinja/pubspec.yaml | 10 +- packages/markdown/pubspec.yaml | 10 +- packages/model/pubspec.yaml | 4 +- packages/mongo/lib/mongo_service.dart | 2 +- packages/mongo/pubspec.yaml | 11 +- packages/mustache/pubspec.yaml | 9 +- packages/oauth2/pubspec.yaml | 16 +- .../oauth2/test/client_credentials_test.dart | 6 +- packages/orm/angel_migration/pubspec.yaml | 5 +- .../orm/angel_migration_runner/pubspec.yaml | 10 +- packages/orm/angel_orm/pubspec.yaml | 13 +- .../lib/src/migration_generator.dart | 2 +- .../lib/src/orm_build_context.dart | 8 +- packages/orm/angel_orm_generator/pubspec.yaml | 19 +- packages/orm/angel_orm_mysql/pubspec.yaml | 23 +- packages/orm/angel_orm_postgres/pubspec.yaml | 9 +- packages/orm/angel_orm_service/pubspec.yaml | 26 +- packages/orm/angel_orm_test/pubspec.yaml | 22 +- packages/paginate/pubspec.yaml | 10 +- packages/poll/lib/angel_poll.dart | 14 +- packages/poll/pubspec.yaml | 12 +- packages/pretty_logging/pubspec.yaml | 2 +- packages/production/pubspec.yaml | 8 +- packages/proxy/pubspec.yaml | 10 +- packages/redis/pubspec.yaml | 10 +- packages/relations/pubspec.yaml | 9 +- packages/rethink/lib/src/rethink_service.dart | 6 +- packages/rethink/pubspec.yaml | 15 +- packages/rethink/test/bootstrap.dart | 2 +- packages/rethink/test/generic_test.dart | 2 +- packages/route/pubspec.yaml | 10 +- packages/security/example/cookie_signer.dart | 2 +- packages/security/example/main.dart | 0 packages/security/example/pubspec.yaml | 8 - packages/security/example/rate_limit.dart | 2 +- .../security/example/rate_limit_redis.dart | 4 +- packages/security/pubspec.yaml | 22 +- packages/sembast/pubspec.yaml | 10 +- packages/seo/pubspec.yaml | 13 +- .../serialize/angel_serialize/pubspec.yaml | 5 +- .../lib/angel_serialize_generator.dart | 20 +- .../lib/build_context.dart | 2 +- .../angel_serialize_generator/lib/model.dart | 17 +- .../angel_serialize_generator/pubspec.yaml | 10 +- packages/shelf/pubspec.yaml | 14 +- packages/static/pubspec.yaml | 11 +- packages/sync/example/main.dart | 5 +- packages/sync/pubspec.yaml | 15 +- packages/sync/test/all_test.dart | 5 +- packages/test/lib/src/matchers.dart | 4 +- packages/test/pubspec.yaml | 22 +- packages/typed_service/pubspec.yaml | 10 +- packages/user_agent/example/example.dart | 8 +- packages/user_agent/pubspec.yaml | 5 +- packages/validate/CHANGELOG.md | 7 - packages/validate/README.md | 369 ++++-- packages/validate/example/main.dart | 125 +- packages/validate/lib/angel_validate.dart | 17 +- packages/validate/lib/src/common_fields.dart | 433 ------- packages/validate/lib/src/field.dart | 162 --- packages/validate/lib/src/form.dart | 157 --- packages/validate/lib/src/form_renderer.dart | 25 - packages/validate/lib/src/matchers.dart | 57 + packages/validate/pubspec.yaml | 31 +- packages/validate/test/all_test.dart | 4 - .../vscode/jael_language_server/pubspec.yaml | 4 +- packages/websocket/pubspec.yaml | 22 +- packages/wings/pubspec.yaml | 8 +- 113 files changed, 1504 insertions(+), 1956 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 CHANGELOG.md create mode 100644 TODO.md delete mode 100644 packages/security/example/main.dart delete mode 100644 packages/security/example/pubspec.yaml delete mode 100644 packages/validate/lib/src/common_fields.dart delete mode 100644 packages/validate/lib/src/field.dart delete mode 100644 packages/validate/lib/src/form.dart delete mode 100644 packages/validate/lib/src/form_renderer.dart delete mode 100644 packages/validate/test/all_test.dart diff --git a/.gitignore b/.gitignore index d88b0dfb..68997182 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ .project .pub/ .scripts-bin/ +.metals/ build/ **/packages/ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..32cfc61d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.watcherExclude": { + "**/target": true + } +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..9fba6418 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# 2.2.0 +* Changed Dart SDK requirements for all packages to ">=2.10.0 <2.12.0" +* Upgraded 3rd party libraries to the latest version prior to dart 2.12 +* Fixed broken code due to 3rd party libraries update +* Revert packages/validate from version 3.0 to version 2.2 + +# 2.1.1 and before +* Refer to packages/framework/CHANGELOG.md + diff --git a/TODO.md b/TODO.md new file mode 100644 index 00000000..d1656546 --- /dev/null +++ b/TODO.md @@ -0,0 +1,9 @@ +# Todo + +### Container/angel_container_generator + +* test/reflector_test.reflectab.dart - Changed ImplicitGetterMirrorImpl() from 5 to 3 parameters (revisit later) +* A user forum +* Updated User Guide + + diff --git a/packages/auth/pubspec.yaml b/packages/auth/pubspec.yaml index cd74c24c..398dfc5f 100644 --- a/packages/auth/pubspec.yaml +++ b/packages/auth/pubspec.yaml @@ -4,9 +4,10 @@ version: 2.1.5+1 author: Tobe O homepage: https://github.com/angel-dart/angel_auth environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-rc.6 + angel_framework: # ^2.0.0-rc.6 + path: ../framework charcode: ^1.0.0 collection: ^1.0.0 crypto: ^2.0.0 @@ -18,4 +19,4 @@ dev_dependencies: io: ^0.3.2 logging: ^0.11.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/auth_oauth2/pubspec.yaml b/packages/auth_oauth2/pubspec.yaml index de9434de..151b07a1 100644 --- a/packages/auth_oauth2/pubspec.yaml +++ b/packages/auth_oauth2/pubspec.yaml @@ -3,11 +3,13 @@ description: angel_auth strategy for OAuth2 login, i.e. Facebook, Github, etc. version: 2.1.0 author: Tobe O environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" homepage: https://github.com/angel-dart/auth_oauth2.git dependencies: - angel_auth: ^2.0.0 - angel_framework: ^2.0.0-alpha + angel_auth: # ^2.0.0 + path: ../auth + angel_framework: # ^2.0.0-alpha + path: ../framework http_parser: ^3.0.0 oauth2: ^1.0.0 dev_dependencies: diff --git a/packages/auth_twitter/pubspec.yaml b/packages/auth_twitter/pubspec.yaml index 64e8dc69..792af5cc 100644 --- a/packages/auth_twitter/pubspec.yaml +++ b/packages/auth_twitter/pubspec.yaml @@ -1,13 +1,15 @@ author: "Tobe O " description: "package:angel_auth strategy for Twitter login. Auto-signs requests." environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" homepage: "https://github.com/angel-dart/auth_twitter.git" name: "angel_auth_twitter" version: 2.0.0 dependencies: - angel_auth: ^2.0.0 - angel_framework: ^2.0.0-alpha + angel_auth: # ^2.0.0 + path: ../auth + angel_framework: # ^2.0.0-alpha + path: ../framework http: ">=0.11.0 <0.13.0" path: ^1.0.0 # oauth: diff --git a/packages/body_parser/example/main.dart b/packages/body_parser/example/main.dart index ce0af703..bda53141 100644 --- a/packages/body_parser/example/main.dart +++ b/packages/body_parser/example/main.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:isolate'; +import 'package:http_parser/http_parser.dart'; import 'package:body_parser/body_parser.dart'; main() async { @@ -23,12 +24,20 @@ main() async { void start(List args) { var address = new InternetAddress(args[0] as String); - int port = args[1], id = args[2]; + int port = 8080; + if (args[1] is int) { + args[1]; + } + + int id = 0; + if (args[2] is int) { + args[2]; + } HttpServer.bind(address, port, shared: true).then((server) { server.listen((request) async { // ignore: deprecated_member_use - var body = await parseBody(request); + var body = await defaultParseBody(request); request.response ..headers.contentType = new ContentType('application', 'json') ..write(json.encode(body.body)) @@ -39,3 +48,14 @@ void start(List args) { 'Server #$id listening at http://${server.address.address}:${server.port}'); }); } + +Future defaultParseBody(HttpRequest request, + {bool storeOriginalBuffer: false}) { + return parseBodyFromStream( + request, + request.headers.contentType != null + ? new MediaType.parse(request.headers.contentType.toString()) + : null, + request.uri, + storeOriginalBuffer: storeOriginalBuffer); +} diff --git a/packages/body_parser/pubspec.yaml b/packages/body_parser/pubspec.yaml index 567852ca..a761ce02 100644 --- a/packages/body_parser/pubspec.yaml +++ b/packages/body_parser/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.1.1 description: Parse request bodies and query strings in Dart. Supports JSON, URL-encoded, and multi-part bodies. homepage: https://github.com/angel-dart/body_parser environment: - sdk: ">=1.8.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: dart2_constant: ^1.0.0 http_parser: ">=3.1.1 <4.0.0" @@ -12,4 +12,4 @@ dependencies: mime: ">=0.9.3 <1.0.0" dev_dependencies: http: ">=0.11.3 <0.12.0" - test: ">=0.12.15" \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/body_parser/test/form_data_test.dart b/packages/body_parser/test/form_data_test.dart index 354c42db..d1b3fe05 100644 --- a/packages/body_parser/test/form_data_test.dart +++ b/packages/body_parser/test/form_data_test.dart @@ -1,4 +1,5 @@ import 'dart:io'; +import 'dart:convert'; import 'package:body_parser/body_parser.dart'; import 'package:dart2_constant/convert.dart'; import 'package:http/http.dart' as http; @@ -49,7 +50,7 @@ world 'Form Data: \n${postData.replaceAll("\r", "\\r").replaceAll("\n", "\\n")}'); var response = await client.post(url, headers: headers, body: postData); print('Response: ${response.body}'); - Map jsons = json.decode(response.body); + var jsons = json.decode(response.body); var files = jsons['files'].map((map) { return map == null ? null @@ -84,7 +85,7 @@ Hello world 'Form Data: \n${postData.replaceAll("\r", "\\r").replaceAll("\n", "\\n")}'); var response = await client.post(url, headers: headers, body: postData); print('Response: ${response.body}'); - Map jsons = json.decode(response.body); + var jsons = json.decode(response.body); var files = jsons['files']; expect(files.length, equals(1)); expect(files[0]['name'], equals('file')); @@ -128,7 +129,7 @@ function main() { 'Form Data: \n${postData.replaceAll("\r", "\\r").replaceAll("\n", "\\n")}'); var response = await client.post(url, headers: headers, body: postData); print('Response: ${response.body}'); - Map jsons = json.decode(response.body); + var jsons = json.decode(response.body); var files = jsons['files']; expect(files.length, equals(2)); expect(files[0]['name'], equals('file')); diff --git a/packages/cache/example/cache_service.dart b/packages/cache/example/cache_service.dart index 2ac17a12..6745e49c 100644 --- a/packages/cache/example/cache_service.dart +++ b/packages/cache/example/cache_service.dart @@ -1,14 +1,15 @@ import 'package:angel_cache/angel_cache.dart'; import 'package:angel_framework/angel_framework.dart'; +import 'package:angel_framework/http.dart'; main() async { - var app = new Angel(); + var app = Angel(); app.use( '/api/todos', - new CacheService( - cache: new MapService(), - database: new AnonymousService(index: ([params]) { + CacheService( + cache: MapService(), + database: AnonymousService(index: ([params]) { print( 'Fetched directly from the underlying service at ${new DateTime.now()}!'); return ['foo', 'bar', 'baz']; @@ -18,7 +19,7 @@ main() async { ), ); - var http = new AngelHttp(app); + var http = AngelHttp(app); var server = await http.startServer('127.0.0.1', 3000); print('Listening at http://${server.address.address}:${server.port}'); } diff --git a/packages/cache/example/main.dart b/packages/cache/example/main.dart index 9b08105f..c6851400 100644 --- a/packages/cache/example/main.dart +++ b/packages/cache/example/main.dart @@ -1,26 +1,27 @@ import 'package:angel_cache/angel_cache.dart'; import 'package:angel_framework/angel_framework.dart'; +import 'package:angel_framework/http.dart'; import 'package:glob/glob.dart'; main() async { - var app = new Angel(); + var app = Angel(); // Cache a glob - var cache = new ResponseCache() + var cache = ResponseCache() ..patterns.addAll([ - new Glob('/*.txt'), + Glob('/*.txt'), ]); // Handle `if-modified-since` header, and also send cached content app.fallback(cache.handleRequest); // A simple handler that returns a different result every time. - app.get('/date.txt', - (req, res) => res.write(new DateTime.now().toIso8601String())); + app.get( + '/date.txt', (req, res) => res.write(DateTime.now().toIso8601String())); // Support purging the cache. app.addRoute('PURGE', '*', (req, res) { - if (req.ip != '127.0.0.1') throw new AngelHttpException.forbidden(); + if (req.ip != '127.0.0.1') throw AngelHttpException.forbidden(); cache.purge(req.uri.path); print('Purged ${req.uri.path}'); @@ -29,7 +30,7 @@ main() async { // The response finalizer that actually saves the content app.responseFinalizers.add(cache.responseFinalizer); - var http = new AngelHttp(app); + var http = AngelHttp(app); var server = await http.startServer('127.0.0.1', 3000); print('Listening at http://${server.address.address}:${server.port}'); } diff --git a/packages/cache/lib/src/serializer.dart b/packages/cache/lib/src/serializer.dart index 3280eddf..39d622ba 100644 --- a/packages/cache/lib/src/serializer.dart +++ b/packages/cache/lib/src/serializer.dart @@ -12,11 +12,13 @@ RequestHandler cacheSerializationResults( shouldCache}) { return (RequestContext req, ResponseContext res) async { var oldSerializer = res.serializer; - var cache = {}; + + // TODO: Commented out as it is not doing anything useful + //var cache = {}; res.serializer = (value) { - if (shouldCache == null) { - return cache.putIfAbsent(value, () => oldSerializer(value)); - } + //if (shouldCache == null) { + // return cache.putIfAbsent(value, () => oldSerializer(value)); + //} return oldSerializer(value); }; diff --git a/packages/cache/pubspec.yaml b/packages/cache/pubspec.yaml index 632a1a38..a4760fe2 100644 --- a/packages/cache/pubspec.yaml +++ b/packages/cache/pubspec.yaml @@ -4,14 +4,16 @@ homepage: https://github.com/angel-dart/cache description: Support for server-side caching in Angel. author: Tobe O environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework collection: ^1.0.0 meta: ^1.0.0 pool: ^1.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: # ^2.0.0-alpha + path: ../test glob: ^1.0.0 http: any - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/cli/pubspec.yaml b/packages/cli/pubspec.yaml index 34ab6e6c..35e0ab95 100644 --- a/packages/cli/pubspec.yaml +++ b/packages/cli/pubspec.yaml @@ -3,8 +3,10 @@ description: Command-line tools for the Angel framework, including scaffolding. homepage: https://github.com/angel-dart/angel_cli name: angel_cli version: 2.1.7+1 +environment: + sdk: ">=2.10.0 <2.12.0" dependencies: - analyzer: ">=0.32.0 <2.0.0" + analyzer: ^0.39.17 args: ^1.0.0 code_builder: ^3.0.0 dart_style: ^1.0.0 @@ -22,7 +24,5 @@ dependencies: watcher: ^0.9.7 yaml: ^2.0.0 #yamlicious: ^0.0.5 -environment: - sdk: ">=2.0.0-dev <3.0.0" executables: angel: angel diff --git a/packages/client/pubspec.yaml b/packages/client/pubspec.yaml index 6888dffb..e7cb4574 100644 --- a/packages/client/pubspec.yaml +++ b/packages/client/pubspec.yaml @@ -4,20 +4,23 @@ description: Support for querying Angel servers in the browser, Flutter, and com author: Tobe O homepage: https://github.com/angel-dart/angel_client environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_http_exception: ^1.0.0 + angel_http_exception: #^1.0.0 + path: ../http_exception collection: ^1.0.0 http: ^0.12.0 json_god: ">=2.0.0-beta <3.0.0" meta: ^1.0.0 path: ^1.0.0 dev_dependencies: - angel_framework: ^2.0.0-alpha - angel_model: ^1.0.0 + angel_framework: #^2.0.0-alpha + path: ../framework + angel_model: #^1.0.0 + path: ../model async: ^2.0.0 build_runner: ^1.0.0 - build_web_compilers: ^1.0.0 + build_web_compilers: ^2.12.2 mock_request: ^1.0.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/configuration/pubspec.yaml b/packages/configuration/pubspec.yaml index 224f0a07..7d48585e 100644 --- a/packages/configuration/pubspec.yaml +++ b/packages/configuration/pubspec.yaml @@ -4,9 +4,10 @@ version: 2.2.0 author: Tobe O homepage: https://github.com/angel-dart/angel_configuration environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0 + angel_framework: #^2.0.0 + path: ../framework dotenv: ^1.0.0 file: ^5.0.0 merge_map: ^1.0.0 @@ -16,4 +17,4 @@ dev_dependencies: logging: ^0.11.0 pedantic: ^1.0.0 pretty_logging: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/container/angel_container/lib/src/empty/empty.dart b/packages/container/angel_container/lib/src/empty/empty.dart index 71826adc..9a8bb221 100644 --- a/packages/container/angel_container/lib/src/empty/empty.dart +++ b/packages/container/angel_container/lib/src/empty/empty.dart @@ -1,4 +1,4 @@ -import 'package:angel_container/angel_container.dart'; +import '../../angel_container.dart'; final Map _symbolNames = {}; diff --git a/packages/container/angel_container/lib/src/mirrors/reflector.dart b/packages/container/angel_container/lib/src/mirrors/reflector.dart index 1e7bae37..74639a68 100644 --- a/packages/container/angel_container/lib/src/mirrors/reflector.dart +++ b/packages/container/angel_container/lib/src/mirrors/reflector.dart @@ -1,7 +1,8 @@ import 'dart:async'; import 'dart:mirrors' as dart; -import 'package:angel_container/angel_container.dart'; -import 'package:angel_container/src/reflector.dart'; + +import '../exception.dart'; +import '../reflector.dart'; /// A [Reflector] implementation that forwards to `dart:mirrors`. /// diff --git a/packages/container/angel_container/lib/src/static/static.dart b/packages/container/angel_container/lib/src/static/static.dart index 09e042a3..645a9fa5 100644 --- a/packages/container/angel_container/lib/src/static/static.dart +++ b/packages/container/angel_container/lib/src/static/static.dart @@ -1,4 +1,4 @@ -import 'package:angel_container/angel_container.dart'; +import '../reflector.dart'; /// A [Reflector] implementation that performs simple [Map] lookups. /// diff --git a/packages/container/angel_container/lib/src/throwing.dart b/packages/container/angel_container/lib/src/throwing.dart index 0055e657..05a2ea86 100644 --- a/packages/container/angel_container/lib/src/throwing.dart +++ b/packages/container/angel_container/lib/src/throwing.dart @@ -1,4 +1,5 @@ -import 'package:angel_container/angel_container.dart'; +import 'empty/empty.dart'; +import 'reflector.dart'; /// A [Reflector] implementation that throws exceptions on all attempts /// to perform reflection. diff --git a/packages/container/angel_container/pubspec.yaml b/packages/container/angel_container/pubspec.yaml index 0fc3c36f..a60b3e8a 100644 --- a/packages/container/angel_container/pubspec.yaml +++ b/packages/container/angel_container/pubspec.yaml @@ -4,10 +4,10 @@ author: Tobe O description: A hierarchical DI container, and pluggable backends for reflection. homepage: https://github.com/angel-dart/container.git environment: - sdk: ">=1.8.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - collection: ^1.0.0 - quiver: ^2.0.0 + collection: ^1.14.13 + quiver: ^2.1.5 dev_dependencies: - pedantic: ^1.0.0 - test: ^1.0.0 \ No newline at end of file + pedantic: ^1.9.2 + test: ^1.15.7 \ No newline at end of file diff --git a/packages/container/angel_container_generator/pubspec.yaml b/packages/container/angel_container_generator/pubspec.yaml index b99f7913..ce34c886 100644 --- a/packages/container/angel_container_generator/pubspec.yaml +++ b/packages/container/angel_container_generator/pubspec.yaml @@ -4,11 +4,12 @@ author: Tobe O description: Codegen support for using pkg:reflectable with pkg:angel_container. homepage: https://github.com/angel-dart/container.git environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_container: ^1.0.0-alpha - reflectable: ^2.0.0 + angel_container: # ^1.0.0-alpha + path: ../angel_container + reflectable: ^2.2.9 dev_dependencies: - build_runner: ^1.0.0 - build_test: - test: ^1.0.0 \ No newline at end of file + build_runner: ^1.11.1 + build_test: ^1.3.6 + test: ^1.15.7 \ No newline at end of file diff --git a/packages/container/angel_container_generator/test/reflector_test.reflectable.dart b/packages/container/angel_container_generator/test/reflector_test.reflectable.dart index daf0e32a..da76f3ba 100644 --- a/packages/container/angel_container_generator/test/reflector_test.reflectable.dart +++ b/packages/container/angel_container_generator/test/reflector_test.reflectable.dart @@ -17,9 +17,9 @@ import "package:reflectable/src/reflectable_builder_based.dart" as r; import "package:reflectable/reflectable.dart" as r show Reflectable; final _data = { - const prefix0.ContainedReflectable(): new r.ReflectorData( + const prefix0.ContainedReflectable(): r.ReflectorData( [ - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"LowerPokemon", r".LowerPokemon", 7, @@ -31,16 +31,13 @@ final _data = { 11, {}, {}, - { - r"": (b) => - (pokemon) => b ? new prefix1.LowerPokemon(pokemon) : null - }, + {r"": (b) => (pokemon) => b ? prefix1.LowerPokemon(pokemon) : null}, -1, 0, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"Pokemon", r".Pokemon", 7, @@ -54,16 +51,16 @@ final _data = { {}, { r"": (b) => - (name, type) => b ? new prefix1.Pokemon(name, type) : null, + (name, type) => b ? prefix1.Pokemon(name, type) : null, r"changeName": (b) => (other, name) => - b ? new prefix1.Pokemon.changeName(other, name) : null + b ? prefix1.Pokemon.changeName(other, name) : null }, -1, 1, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"KantoPokemon", r".KantoPokemon", 7, @@ -76,15 +73,15 @@ final _data = { {}, {}, { - r"": (b) => (name, type) => - b ? new prefix1.KantoPokemon(name, type) : null + r"": (b) => + (name, type) => b ? prefix1.KantoPokemon(name, type) : null }, -1, 2, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"Artist", r".Artist", 7, @@ -96,13 +93,13 @@ final _data = { 11, {}, {}, - {r"": (b) => ({name}) => b ? new prefix1.Artist(name: name) : null}, + {r"": (b) => ({name}) => b ? prefix1.Artist(name: name) : null}, -1, 3, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"Album", r".Album", 7, @@ -114,13 +111,13 @@ final _data = { 11, {}, {}, - {r"": (b) => (artist) => b ? new prefix1.Album(artist) : null}, + {r"": (b) => (artist) => b ? prefix1.Album(artist) : null}, -1, 4, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"AlbumLength", r".AlbumLength", 7, @@ -134,14 +131,14 @@ final _data = { {}, { r"": (b) => (artist, album) => - b ? new prefix1.AlbumLength(artist, album) : null + b ? prefix1.AlbumLength(artist, album) : null }, -1, 5, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"PokemonType", r".PokemonType", 524295, @@ -167,7 +164,7 @@ final _data = { const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"ContainedReflectable", r".ContainedReflectable", 7, @@ -179,13 +176,13 @@ final _data = { -1, {}, {}, - {r"": (b) => () => b ? new prefix0.ContainedReflectable() : null}, + {r"": (b) => () => b ? prefix0.ContainedReflectable() : null}, -1, 7, const [], const [prefix0.contained], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"int", r"dart.core.int", 519, @@ -230,7 +227,7 @@ final _data = { {}, { r"fromEnvironment": (b) => (name, {defaultValue}) => b - ? new int.fromEnvironment(name, defaultValue: defaultValue) + ? int.fromEnvironment(name, defaultValue: defaultValue) : null }, -1, @@ -238,7 +235,7 @@ final _data = { const [], const [], null), - new r.GenericClassMirrorImpl( + r.GenericClassMirrorImpl( r"Iterable", r"dart.core.Iterable", 519, @@ -323,8 +320,8 @@ final _data = { {}, { r"generate": (b) => (count, [generator]) => - b ? new Iterable.generate(count, generator) : null, - r"empty": (b) => () => b ? new Iterable.empty() : null + b ? Iterable.generate(count, generator) : null, + r"empty": (b) => () => b ? Iterable.empty() : null }, -1, 9, @@ -334,7 +331,7 @@ final _data = { (o) => false, const [15], 9), - new r.GenericClassMirrorImpl( + r.GenericClassMirrorImpl( r"List", r"dart.core.List", 519, @@ -397,16 +394,16 @@ final _data = { r"": (b) => ([length]) => b ? (length == null ? List() : List(length)) : null, r"filled": (b) => (length, fill, {growable: false}) => - b ? new List.filled(length, fill, growable: growable) : null, + b ? List.filled(length, fill, growable: growable) : null, r"from": (b) => (elements, {growable: true}) => - b ? new List.from(elements, growable: growable) : null, + b ? List.from(elements, growable: growable) : null, r"of": (b) => (elements, {growable: true}) => - b ? new List.of(elements, growable: growable) : null, + b ? List.of(elements, growable: growable) : null, r"generate": (b) => (length, generator, {growable: true}) => b - ? new List.generate(length, generator, growable: growable) + ? List.generate(length, generator, growable: growable) : null, r"unmodifiable": (b) => - (elements) => b ? new List.unmodifiable(elements) : null + (elements) => b ? List.unmodifiable(elements) : null }, -1, 10, @@ -416,7 +413,7 @@ final _data = { (o) => false, const [16], 10), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"Object", r"dart.core.Object", 7, @@ -428,13 +425,13 @@ final _data = { null, {}, {}, - {r"": (b) => () => b ? new Object() : null}, + {r"": (b) => () => b ? Object() : null}, -1, 11, const [], const [const pragma("vm:entry-point")], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"String", r"dart.core.String", 519, @@ -484,11 +481,11 @@ final _data = { {}, { r"fromCharCodes": (b) => (charCodes, [start = 0, end]) => - b ? new String.fromCharCodes(charCodes, start, end) : null, + b ? String.fromCharCodes(charCodes, start, end) : null, r"fromCharCode": (b) => - (charCode) => b ? new String.fromCharCode(charCode) : null, + (charCode) => b ? String.fromCharCode(charCode) : null, r"fromEnvironment": (b) => (name, {defaultValue}) => b - ? new String.fromEnvironment(name, defaultValue: defaultValue) + ? String.fromEnvironment(name, defaultValue: defaultValue) : null }, -1, @@ -496,7 +493,7 @@ final _data = { const [], const [], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"StringBuffer", r"dart.core.StringBuffer", 7, @@ -522,16 +519,13 @@ final _data = { 11, {}, {}, - { - r"": (b) => - ([content = ""]) => b ? new StringBuffer(content) : null - }, + {r"": (b) => ([content = ""]) => b ? StringBuffer(content) : null}, -1, 13, const [14], const [], null), - new r.NonGenericClassMirrorImpl( + r.NonGenericClassMirrorImpl( r"StringSink", r"dart.core.StringSink", 519, @@ -549,13 +543,13 @@ final _data = { const [], const [], null), - new r.TypeVariableMirrorImpl(r"E", r"dart.core.Iterable.E", + r.TypeVariableMirrorImpl(r"E", r"dart.core.Iterable.E", const prefix0.ContainedReflectable(), -1, 9, []), - new r.TypeVariableMirrorImpl(r"E", r"dart.core.List.E", + r.TypeVariableMirrorImpl(r"E", r"dart.core.List.E", const prefix0.ContainedReflectable(), -1, 10, []) ], [ - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"pokemon", 33797, 0, @@ -563,7 +557,7 @@ final _data = { 1, 1, 1, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"name", 33797, 1, @@ -571,7 +565,7 @@ final _data = { 12, 12, 12, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"type", 33797, 1, @@ -579,7 +573,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"name", 33797, 3, @@ -587,7 +581,7 @@ final _data = { 12, 12, 12, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"artist", 33797, 4, @@ -595,7 +589,7 @@ final _data = { 3, 3, 3, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"artist", 33797, 5, @@ -603,7 +597,7 @@ final _data = { 3, 3, 3, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"album", 33797, 5, @@ -611,7 +605,7 @@ final _data = { 4, 4, 4, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"water", 33941, 6, @@ -619,7 +613,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"fire", 33941, 6, @@ -627,7 +621,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"grass", 33941, 6, @@ -635,7 +629,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"ice", 33941, 6, @@ -643,7 +637,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"poison", 33941, 6, @@ -651,7 +645,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"flying", 33941, 6, @@ -659,7 +653,7 @@ final _data = { 6, 6, 6, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"index", 33861, 6, @@ -667,7 +661,7 @@ final _data = { 8, 8, 8, const [], const []), - new r.VariableMirrorImpl( + r.VariableMirrorImpl( r"values", 2131157, 6, @@ -677,9 +671,12 @@ final _data = { 10, const [6], const []), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 0, 1, 1, 15), - new r.MethodMirrorImpl( + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 0, 1, 1, 15), + const prefix0.ContainedReflectable(), + 0, + 1), + r.MethodMirrorImpl( r"lowercaseName", 131075, 0, @@ -690,18 +687,9 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"", - 0, - 0, - -1, - 0, - 0, - const [], - const [0], - const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl(r"", 0, 0, -1, 0, 0, const [], const [0], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"==", 131074, 11, @@ -712,7 +700,7 @@ final _data = { const [1], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toString", 131074, 11, @@ -723,7 +711,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"noSuchMethod", 65538, 11, @@ -734,7 +722,7 @@ final _data = { const [2], const prefix0.ContainedReflectable(), const [const pragma("vm:entry-point")]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"hashCode", 131075, 11, @@ -745,7 +733,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"runtimeType", 131075, 11, @@ -756,7 +744,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toString", 131074, 1, @@ -767,11 +755,17 @@ final _data = { const [], const prefix0.ContainedReflectable(), const [override]), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 1, 12, 12, 24), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 2, 6, 6, 25), - new r.MethodMirrorImpl( + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 1, 12, 12, 24), + const prefix0.ContainedReflectable(), + 1, + 12), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 2, 6, 6, 25), + const prefix0.ContainedReflectable(), + 2, + 6), + r.MethodMirrorImpl( r"", 0, 1, @@ -782,7 +776,7 @@ final _data = { const [3, 4], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"changeName", 1, 1, @@ -793,7 +787,7 @@ final _data = { const [5, 6], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"", 0, 2, @@ -804,9 +798,12 @@ final _data = { const [7, 8], const prefix0.ContainedReflectable(), const []), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 3, 12, 12, 29), - new r.MethodMirrorImpl( + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 3, 12, 12, 29), + const prefix0.ContainedReflectable(), + 3, + 12), + r.MethodMirrorImpl( r"lowerName", 131075, 3, @@ -817,20 +814,14 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"", - 0, - 3, - -1, - 3, - 3, - const [], - const [9], + r.MethodMirrorImpl(r"", 0, 3, -1, 3, 3, const [], const [9], + const prefix0.ContainedReflectable(), const []), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 4, 3, 3, 32), const prefix0.ContainedReflectable(), - const []), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 4, 3, 3, 32), - new r.MethodMirrorImpl( + 4, + 3), + r.MethodMirrorImpl( r"title", 131075, 4, @@ -841,22 +832,19 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"", - 0, - 4, - -1, - 4, - 4, - const [], - const [10], + r.MethodMirrorImpl(r"", 0, 4, -1, 4, 4, const [], const [10], + const prefix0.ContainedReflectable(), const []), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 5, 3, 3, 35), const prefix0.ContainedReflectable(), - const []), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 5, 3, 3, 35), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 6, 4, 4, 36), - new r.MethodMirrorImpl( + 5, + 3), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 6, 4, 4, 36), + const prefix0.ContainedReflectable(), + 6, + 4), + r.MethodMirrorImpl( r"totalLength", 131075, 5, @@ -867,7 +855,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"", 0, 5, @@ -878,45 +866,51 @@ final _data = { const [11, 12], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"toString", - 131074, - 6, - 12, - 12, - 12, - const [], - const [], + r.MethodMirrorImpl(r"toString", 131074, 6, 12, 12, 12, const [], + const [], const prefix0.ContainedReflectable(), const []), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 13, 8, 8, 40), const prefix0.ContainedReflectable(), - const []), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 13, 8, 8, 40), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 14, 15, 10, 41), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 7, 6, 6, 42), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 8, 6, 6, 43), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 9, 6, 6, 44), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 10, 6, 6, 45), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 11, 6, 6, 46), - new r.ImplicitGetterMirrorImpl( - const prefix0.ContainedReflectable(), 12, 6, 6, 47), - new r.MethodMirrorImpl( - r"", - 128, - 7, - -1, - 7, - 7, - const [], - const [], + 13, + 8), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 14, 15, 10, 41), const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + 14, + 15), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 7, 6, 6, 42), + const prefix0.ContainedReflectable(), + 7, + 6), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 8, 6, 6, 43), + const prefix0.ContainedReflectable(), + 8, + 6), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 9, 6, 6, 44), + const prefix0.ContainedReflectable(), + 9, + 6), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 10, 6, 6, 45), + const prefix0.ContainedReflectable(), + 10, + 6), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 11, 6, 6, 46), + const prefix0.ContainedReflectable(), + 11, + 6), + r.ImplicitGetterMirrorImpl( + //const prefix0.ContainedReflectable(), 12, 6, 6, 47), + const prefix0.ContainedReflectable(), + 12, + 6), + r.MethodMirrorImpl(r"", 128, 7, -1, 7, 7, const [], const [], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"capabilities", 4325379, null, @@ -927,7 +921,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"canReflect", 131074, null, @@ -938,7 +932,7 @@ final _data = { const [13], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"reflect", 131074, null, @@ -949,7 +943,7 @@ final _data = { const [14], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"canReflectType", 131074, null, @@ -960,7 +954,7 @@ final _data = { const [15], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"reflectType", 131074, null, @@ -971,7 +965,7 @@ final _data = { const [16], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"findLibrary", 131074, null, @@ -982,7 +976,7 @@ final _data = { const [17], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"libraries", 4325379, null, @@ -993,7 +987,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"annotatedClasses", 4325379, null, @@ -1004,7 +998,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const [override]), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"&", 131586, 8, @@ -1015,7 +1009,7 @@ final _data = { const [18], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"|", 131586, 8, @@ -1026,7 +1020,7 @@ final _data = { const [19], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"^", 131586, 8, @@ -1037,7 +1031,7 @@ final _data = { const [20], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"~", 131586, 8, @@ -1048,7 +1042,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"<<", 131586, 8, @@ -1059,7 +1053,7 @@ final _data = { const [21], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r">>", 131586, 8, @@ -1070,7 +1064,7 @@ final _data = { const [22], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"modPow", 131586, 8, @@ -1081,7 +1075,7 @@ final _data = { const [23, 24], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"modInverse", 131586, 8, @@ -1092,7 +1086,7 @@ final _data = { const [25], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"gcd", 131586, 8, @@ -1103,7 +1097,7 @@ final _data = { const [26], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toUnsigned", 131586, 8, @@ -1114,7 +1108,7 @@ final _data = { const [27], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toSigned", 131586, 8, @@ -1125,7 +1119,7 @@ final _data = { const [28], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"unary-", 131586, 8, @@ -1136,7 +1130,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"abs", 131586, 8, @@ -1147,7 +1141,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"round", 131586, 8, @@ -1158,7 +1152,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"floor", 131586, 8, @@ -1169,7 +1163,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"ceil", 131586, 8, @@ -1180,7 +1174,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"truncate", 131586, 8, @@ -1191,7 +1185,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"roundToDouble", 131586, 8, @@ -1202,7 +1196,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"floorToDouble", 131586, 8, @@ -1213,7 +1207,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"ceilToDouble", 131586, 8, @@ -1224,7 +1218,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"truncateToDouble", 131586, 8, @@ -1235,7 +1229,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toString", 131586, 8, @@ -1246,7 +1240,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toRadixString", 131586, 8, @@ -1257,7 +1251,7 @@ final _data = { const [29], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"parse", 131090, 8, @@ -1268,7 +1262,7 @@ final _data = { const [30, 31, 32], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"tryParse", 131090, 8, @@ -1279,7 +1273,7 @@ final _data = { const [33, 34], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isEven", 131587, 8, @@ -1290,7 +1284,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isOdd", 131587, 8, @@ -1301,7 +1295,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"bitLength", 131587, 8, @@ -1312,7 +1306,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"sign", 131587, 8, @@ -1323,7 +1317,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"fromEnvironment", 129, 8, @@ -1334,7 +1328,7 @@ final _data = { const [35, 36], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"castFrom", 4325394, 9, @@ -1345,18 +1339,9 @@ final _data = { const [37], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"cast", - 4325378, - 9, - 9, - 30, - 9, - null, - const [], - const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl(r"cast", 4325378, 9, 9, 30, 9, null, const [], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"followedBy", 4325378, 9, @@ -1367,18 +1352,9 @@ final _data = { const [38], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"map", - 4325378, - 9, - 9, - 32, - 9, - null, - const [39], - const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl(r"map", 4325378, 9, 9, 32, 9, null, const [39], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"where", 4325378, 9, @@ -1389,7 +1365,7 @@ final _data = { const [40], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"whereType", 4325378, 9, @@ -1400,7 +1376,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"expand", 4325378, 9, @@ -1411,7 +1387,7 @@ final _data = { const [41], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"contains", 131074, 9, @@ -1422,7 +1398,7 @@ final _data = { const [42], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"forEach", 262146, 9, @@ -1433,7 +1409,7 @@ final _data = { const [43], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"reduce", 2, 9, @@ -1444,7 +1420,7 @@ final _data = { const [44], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"fold", 2, 9, @@ -1455,7 +1431,7 @@ final _data = { const [45, 46], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"every", 131074, 9, @@ -1466,7 +1442,7 @@ final _data = { const [47], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"join", 131074, 9, @@ -1477,7 +1453,7 @@ final _data = { const [48], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"any", 131074, 9, @@ -1488,7 +1464,7 @@ final _data = { const [49], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toList", 4325378, 9, @@ -1499,7 +1475,7 @@ final _data = { const [50], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toSet", 4325378, 9, @@ -1510,18 +1486,9 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"take", - 4325378, - 9, - 9, - 31, - 9, - null, - const [51], - const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl(r"take", 4325378, 9, 9, 31, 9, null, const [51], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"takeWhile", 4325378, 9, @@ -1532,18 +1499,9 @@ final _data = { const [52], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"skip", - 4325378, - 9, - 9, - 31, - 9, - null, - const [53], - const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl(r"skip", 4325378, 9, 9, 31, 9, null, const [53], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"skipWhile", 4325378, 9, @@ -1554,7 +1512,7 @@ final _data = { const [54], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"firstWhere", 2, 9, @@ -1565,7 +1523,7 @@ final _data = { const [55, 56], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"lastWhere", 2, 9, @@ -1576,7 +1534,7 @@ final _data = { const [57, 58], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"singleWhere", 2, 9, @@ -1587,7 +1545,7 @@ final _data = { const [59, 60], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"elementAt", 2, 9, @@ -1598,7 +1556,7 @@ final _data = { const [61], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toString", 131074, 9, @@ -1609,7 +1567,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"iterator", 4325891, 9, @@ -1620,7 +1578,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"length", 131075, 9, @@ -1631,7 +1589,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isEmpty", 131075, 9, @@ -1642,7 +1600,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isNotEmpty", 131075, 9, @@ -1653,7 +1611,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"first", 3, 9, @@ -1664,7 +1622,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"last", 3, 9, @@ -1675,7 +1633,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"single", 3, 9, @@ -1686,9 +1644,9 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl(r"", 128, 9, -1, 31, 9, null, const [], + r.MethodMirrorImpl(r"", 128, 9, -1, 31, 9, null, const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"generate", 1, 9, @@ -1699,9 +1657,9 @@ final _data = { const [62, 63], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl(r"empty", 385, 9, -1, 31, 9, null, const [], + r.MethodMirrorImpl(r"empty", 385, 9, -1, 31, 9, null, const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"castFrom", 4325394, 10, @@ -1712,7 +1670,7 @@ final _data = { const [64], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"copyRange", 262162, 10, @@ -1723,7 +1681,7 @@ final _data = { const [65, 66, 67, 68, 69], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeIterable", 262162, 10, @@ -1734,7 +1692,7 @@ final _data = { const [70, 71, 72], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"cast", 4325890, 10, @@ -1745,7 +1703,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"[]", 514, 10, @@ -1756,7 +1714,7 @@ final _data = { const [73], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"[]=", 262658, 10, @@ -1767,7 +1725,7 @@ final _data = { const [74, 75], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"add", 262658, 10, @@ -1778,7 +1736,7 @@ final _data = { const [76], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"addAll", 262658, 10, @@ -1789,7 +1747,7 @@ final _data = { const [77], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"sort", 262658, 10, @@ -1800,7 +1758,7 @@ final _data = { const [78], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"shuffle", 262658, 10, @@ -1811,7 +1769,7 @@ final _data = { const [79], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"indexOf", 131586, 10, @@ -1822,7 +1780,7 @@ final _data = { const [80, 81], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"indexWhere", 131586, 10, @@ -1833,7 +1791,7 @@ final _data = { const [82, 83], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"lastIndexWhere", 131586, 10, @@ -1844,7 +1802,7 @@ final _data = { const [84, 85], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"lastIndexOf", 131586, 10, @@ -1855,7 +1813,7 @@ final _data = { const [86, 87], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"clear", 262658, 10, @@ -1866,7 +1824,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"insert", 262658, 10, @@ -1877,7 +1835,7 @@ final _data = { const [88, 89], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"insertAll", 262658, 10, @@ -1888,7 +1846,7 @@ final _data = { const [90, 91], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"setAll", 262658, 10, @@ -1899,7 +1857,7 @@ final _data = { const [92, 93], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"remove", 131586, 10, @@ -1910,7 +1868,7 @@ final _data = { const [94], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"removeAt", 514, 10, @@ -1921,7 +1879,7 @@ final _data = { const [95], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"removeLast", 514, 10, @@ -1932,7 +1890,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"removeWhere", 262658, 10, @@ -1943,7 +1901,7 @@ final _data = { const [96], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"retainWhere", 262658, 10, @@ -1954,18 +1912,9 @@ final _data = { const [97], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( - r"+", - 4325890, - 10, - 10, - 42, - 10, - null, - const [98], - const prefix0.ContainedReflectable(), - const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl(r"+", 4325890, 10, 10, 42, 10, null, const [98], + const prefix0.ContainedReflectable(), const []), + r.MethodMirrorImpl( r"sublist", 4325890, 10, @@ -1976,7 +1925,7 @@ final _data = { const [99, 100], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"getRange", 4325890, 10, @@ -1987,7 +1936,7 @@ final _data = { const [101, 102], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"setRange", 262658, 10, @@ -1998,7 +1947,7 @@ final _data = { const [103, 104, 105, 106], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"removeRange", 262658, 10, @@ -2009,7 +1958,7 @@ final _data = { const [107, 108], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"fillRange", 262658, 10, @@ -2020,7 +1969,7 @@ final _data = { const [109, 110, 111], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"replaceRange", 262658, 10, @@ -2031,7 +1980,7 @@ final _data = { const [112, 113, 114], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"asMap", 4325890, 10, @@ -2042,7 +1991,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"first=", 262660, 10, @@ -2053,7 +2002,7 @@ final _data = { const [127], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"last=", 262660, 10, @@ -2064,7 +2013,7 @@ final _data = { const [128], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"length", 131587, 10, @@ -2075,7 +2024,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"length=", 262660, 10, @@ -2086,7 +2035,7 @@ final _data = { const [129], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"reversed", 4325891, 10, @@ -2097,9 +2046,9 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl(r"", 1, 10, -1, 42, 10, null, const [115], + r.MethodMirrorImpl(r"", 1, 10, -1, 42, 10, null, const [115], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"filled", 1, 10, @@ -2110,7 +2059,7 @@ final _data = { const [116, 117, 118], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"from", 1, 10, @@ -2121,7 +2070,7 @@ final _data = { const [119, 120], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"of", 1, 10, @@ -2132,7 +2081,7 @@ final _data = { const [121, 122], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"generate", 1, 10, @@ -2143,7 +2092,7 @@ final _data = { const [123, 124, 125], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"unmodifiable", 1, 10, @@ -2154,7 +2103,7 @@ final _data = { const [126], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"", 128, 11, @@ -2165,7 +2114,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"[]", 131586, 12, @@ -2176,7 +2125,7 @@ final _data = { const [130], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"codeUnitAt", 131586, 12, @@ -2187,7 +2136,7 @@ final _data = { const [131], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"==", 131586, 12, @@ -2198,7 +2147,7 @@ final _data = { const [132], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"compareTo", 131586, 12, @@ -2209,7 +2158,7 @@ final _data = { const [133], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"endsWith", 131586, 12, @@ -2220,7 +2169,7 @@ final _data = { const [134], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"startsWith", 131586, 12, @@ -2231,7 +2180,7 @@ final _data = { const [135, 136], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"indexOf", 131586, 12, @@ -2242,7 +2191,7 @@ final _data = { const [137, 138], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"lastIndexOf", 131586, 12, @@ -2253,7 +2202,7 @@ final _data = { const [139, 140], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"+", 131586, 12, @@ -2264,7 +2213,7 @@ final _data = { const [141], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"substring", 131586, 12, @@ -2275,7 +2224,7 @@ final _data = { const [142, 143], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"trim", 131586, 12, @@ -2286,7 +2235,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"trimLeft", 131586, 12, @@ -2297,7 +2246,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"trimRight", 131586, 12, @@ -2308,7 +2257,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"*", 131586, 12, @@ -2319,7 +2268,7 @@ final _data = { const [144], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"padLeft", 131586, 12, @@ -2330,7 +2279,7 @@ final _data = { const [145, 146], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"padRight", 131586, 12, @@ -2341,7 +2290,7 @@ final _data = { const [147, 148], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"contains", 131586, 12, @@ -2352,7 +2301,7 @@ final _data = { const [149, 150], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"replaceFirst", 131586, 12, @@ -2363,7 +2312,7 @@ final _data = { const [151, 152, 153], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"replaceFirstMapped", 131586, 12, @@ -2374,7 +2323,7 @@ final _data = { const [154, 155, 156], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"replaceAll", 131586, 12, @@ -2385,7 +2334,7 @@ final _data = { const [157, 158], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"replaceAllMapped", 131586, 12, @@ -2396,7 +2345,7 @@ final _data = { const [159, 160], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"replaceRange", 131586, 12, @@ -2407,7 +2356,7 @@ final _data = { const [161, 162, 163], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"split", 4325890, 12, @@ -2418,7 +2367,7 @@ final _data = { const [164], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"splitMapJoin", 131586, 12, @@ -2429,7 +2378,7 @@ final _data = { const [165, 166, 167], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toLowerCase", 131586, 12, @@ -2440,7 +2389,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toUpperCase", 131586, 12, @@ -2451,7 +2400,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"length", 131587, 12, @@ -2462,7 +2411,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"hashCode", 131587, 12, @@ -2473,7 +2422,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isEmpty", 131587, 12, @@ -2484,7 +2433,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isNotEmpty", 131587, 12, @@ -2495,7 +2444,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"codeUnits", 4325891, 12, @@ -2506,7 +2455,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"runes", 131587, 12, @@ -2517,7 +2466,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"fromCharCodes", 1, 12, @@ -2528,7 +2477,7 @@ final _data = { const [168, 169, 170], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"fromCharCode", 1, 12, @@ -2539,7 +2488,7 @@ final _data = { const [171], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"fromEnvironment", 129, 12, @@ -2550,7 +2499,7 @@ final _data = { const [172, 173], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"write", 262146, 13, @@ -2561,7 +2510,7 @@ final _data = { const [174], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeCharCode", 262146, 13, @@ -2572,7 +2521,7 @@ final _data = { const [175], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeAll", 262146, 13, @@ -2583,7 +2532,7 @@ final _data = { const [176, 177], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeln", 262146, 13, @@ -2594,7 +2543,7 @@ final _data = { const [178], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"clear", 262146, 13, @@ -2605,7 +2554,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"toString", 131074, 13, @@ -2616,7 +2565,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"length", 131075, 13, @@ -2627,7 +2576,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isEmpty", 131075, 13, @@ -2638,7 +2587,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"isNotEmpty", 131075, 13, @@ -2649,7 +2598,7 @@ final _data = { const [], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"", 0, 13, @@ -2660,7 +2609,7 @@ final _data = { const [179], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"write", 262658, 14, @@ -2671,7 +2620,7 @@ final _data = { const [180], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeAll", 262658, 14, @@ -2682,7 +2631,7 @@ final _data = { const [181, 182], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeln", 262658, 14, @@ -2693,7 +2642,7 @@ final _data = { const [183], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl( + r.MethodMirrorImpl( r"writeCharCode", 262658, 14, @@ -2704,11 +2653,11 @@ final _data = { const [184], const prefix0.ContainedReflectable(), const []), - new r.MethodMirrorImpl(r"", 64, 14, -1, 14, 14, const [], + r.MethodMirrorImpl(r"", 64, 14, -1, 14, 14, const [], const [], const prefix0.ContainedReflectable(), const []) ], [ - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"pokemon", 32774, 17, @@ -2720,7 +2669,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 16390, 18, @@ -2732,7 +2681,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"invocation", 32774, 20, @@ -2744,7 +2693,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"name", 32774, 26, @@ -2756,7 +2705,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"type", 32774, 26, @@ -2768,7 +2717,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 27, @@ -2780,7 +2729,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"name", 32774, 27, @@ -2792,7 +2741,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"name", 32774, 28, @@ -2804,7 +2753,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"type", 32774, 28, @@ -2816,7 +2765,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"name", 45062, 31, @@ -2828,7 +2777,7 @@ final _data = { const [], null, #name), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"artist", 32774, 34, @@ -2840,7 +2789,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"artist", 32774, 38, @@ -2852,7 +2801,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"album", 32774, 38, @@ -2864,7 +2813,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"reflectee", 32774, 50, @@ -2876,7 +2825,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"reflectee", 32774, 51, @@ -2888,7 +2837,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"type", 32774, 52, @@ -2900,7 +2849,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"type", 32774, 53, @@ -2912,7 +2861,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"libraryName", 32774, 54, @@ -2924,7 +2873,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 57, @@ -2936,7 +2885,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 58, @@ -2948,7 +2897,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 59, @@ -2960,7 +2909,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"shiftAmount", 32774, 61, @@ -2972,7 +2921,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"shiftAmount", 32774, 62, @@ -2984,7 +2933,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"exponent", 32774, 63, @@ -2996,7 +2945,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"modulus", 32774, 63, @@ -3008,7 +2957,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"modulus", 32774, 64, @@ -3020,7 +2969,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 65, @@ -3032,7 +2981,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"width", 32774, 66, @@ -3044,7 +2993,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"width", 32774, 67, @@ -3056,7 +3005,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"radix", 32774, 79, @@ -3068,7 +3017,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"source", 32774, 80, @@ -3080,7 +3029,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"radix", 45062, 80, @@ -3092,7 +3041,7 @@ final _data = { const [], null, #radix), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"onError", 12294, 80, @@ -3104,7 +3053,7 @@ final _data = { const [deprecated], null, #onError), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"source", 32774, 81, @@ -3116,7 +3065,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"radix", 45062, 81, @@ -3128,7 +3077,7 @@ final _data = { const [], null, #radix), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"name", 32774, 86, @@ -3140,7 +3089,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"defaultValue", 45062, 86, @@ -3152,7 +3101,7 @@ final _data = { const [], null, #defaultValue), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"source", 2129926, 87, @@ -3164,7 +3113,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 2129926, 89, @@ -3176,19 +3125,9 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( - r"f", - 6, - 90, - const prefix0.ContainedReflectable(), - null, - 52, - 52, - null, - const [], - null, - null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl(r"f", 6, 90, const prefix0.ContainedReflectable(), + null, 52, 52, null, const [], null, null), + r.ParameterMirrorImpl( r"test", 6, 91, @@ -3200,19 +3139,9 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( - r"f", - 6, - 93, - const prefix0.ContainedReflectable(), - null, - 54, - 54, - null, - const [], - null, - null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl(r"f", 6, 93, const prefix0.ContainedReflectable(), + null, 54, 54, null, const [], null, null), + r.ParameterMirrorImpl( r"element", 32774, 94, @@ -3224,19 +3153,9 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( - r"f", - 6, - 95, - const prefix0.ContainedReflectable(), - null, - 55, - 55, - null, - const [], - null, - null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl(r"f", 6, 95, const prefix0.ContainedReflectable(), + null, 55, 55, null, const [], null, null), + r.ParameterMirrorImpl( r"combine", 6, 96, @@ -3248,7 +3167,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"initialValue", 6, 97, @@ -3260,7 +3179,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"combine", 6, 97, @@ -3272,7 +3191,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 98, @@ -3284,7 +3203,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"separator", 38918, 99, @@ -3296,7 +3215,7 @@ final _data = { const [], "", null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 100, @@ -3308,7 +3227,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"growable", 47110, 101, @@ -3320,7 +3239,7 @@ final _data = { const [], true, #growable), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"count", 32774, 103, @@ -3332,7 +3251,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 104, @@ -3344,7 +3263,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"count", 32774, 105, @@ -3356,7 +3275,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 106, @@ -3368,7 +3287,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 107, @@ -3380,7 +3299,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"orElse", 12294, 107, @@ -3392,7 +3311,7 @@ final _data = { const [], null, #orElse), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 108, @@ -3404,7 +3323,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"orElse", 12294, 108, @@ -3416,7 +3335,7 @@ final _data = { const [], null, #orElse), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 109, @@ -3428,7 +3347,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"orElse", 12294, 109, @@ -3440,7 +3359,7 @@ final _data = { const [], null, #orElse), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 110, @@ -3452,7 +3371,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"count", 32774, 120, @@ -3464,7 +3383,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"generator", 4102, 120, @@ -3476,7 +3395,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"source", 2129926, 122, @@ -3488,7 +3407,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"target", 2129926, 123, @@ -3500,7 +3419,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"at", 32774, 123, @@ -3512,7 +3431,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"source", 2129926, 123, @@ -3524,7 +3443,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 36870, 123, @@ -3536,7 +3455,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 36870, 123, @@ -3548,7 +3467,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"target", 2129926, 124, @@ -3560,7 +3479,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"at", 32774, 124, @@ -3572,7 +3491,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"source", 2129926, 124, @@ -3584,7 +3503,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 126, @@ -3596,7 +3515,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 127, @@ -3608,7 +3527,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"value", 6, 127, @@ -3620,7 +3539,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"value", 6, 128, @@ -3632,7 +3551,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"iterable", 2129926, 129, @@ -3644,7 +3563,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"compare", 4102, 130, @@ -3656,7 +3575,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"random", 36870, 131, @@ -3668,7 +3587,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"element", 6, 132, @@ -3680,7 +3599,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 38918, 132, @@ -3692,7 +3611,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 133, @@ -3704,7 +3623,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 38918, 133, @@ -3716,7 +3635,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 134, @@ -3728,7 +3647,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 36870, 134, @@ -3740,7 +3659,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"element", 6, 135, @@ -3752,7 +3671,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 36870, 135, @@ -3764,7 +3683,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 137, @@ -3776,7 +3695,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"element", 6, 137, @@ -3788,7 +3707,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 138, @@ -3800,7 +3719,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"iterable", 2129926, 138, @@ -3812,7 +3731,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 139, @@ -3824,7 +3743,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"iterable", 2129926, 139, @@ -3836,7 +3755,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"value", 32774, 140, @@ -3848,7 +3767,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 141, @@ -3860,7 +3779,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 143, @@ -3872,7 +3791,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"test", 6, 144, @@ -3884,7 +3803,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 2129926, 145, @@ -3896,7 +3815,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 146, @@ -3908,7 +3827,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 36870, 146, @@ -3920,7 +3839,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 147, @@ -3932,7 +3851,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 32774, 147, @@ -3944,7 +3863,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 148, @@ -3956,7 +3875,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 32774, 148, @@ -3968,7 +3887,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"iterable", 2129926, 148, @@ -3980,7 +3899,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"skipCount", 38918, 148, @@ -3992,7 +3911,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 149, @@ -4004,7 +3923,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 32774, 149, @@ -4016,7 +3935,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 150, @@ -4028,7 +3947,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 32774, 150, @@ -4040,7 +3959,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"fillValue", 4102, 150, @@ -4052,7 +3971,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 151, @@ -4064,7 +3983,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 32774, 151, @@ -4076,7 +3995,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"replacement", 2129926, 151, @@ -4088,7 +4007,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"length", 36870, 158, @@ -4100,7 +4019,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"length", 32774, 159, @@ -4112,7 +4031,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"fill", 6, 159, @@ -4124,7 +4043,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"growable", 47110, 159, @@ -4136,7 +4055,7 @@ final _data = { const [], false, #growable), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"elements", 2129926, 160, @@ -4148,7 +4067,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"growable", 47110, 160, @@ -4160,7 +4079,7 @@ final _data = { const [], true, #growable), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"elements", 2129926, 161, @@ -4172,7 +4091,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"growable", 47110, 161, @@ -4184,7 +4103,7 @@ final _data = { const [], true, #growable), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"length", 32774, 162, @@ -4196,7 +4115,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"generator", 6, 162, @@ -4208,7 +4127,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"growable", 47110, 162, @@ -4220,7 +4139,7 @@ final _data = { const [], true, #growable), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"elements", 2129926, 163, @@ -4232,7 +4151,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"value", 6, 153, @@ -4244,7 +4163,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"value", 6, 154, @@ -4256,8 +4175,8 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( - r"newLength", + r.ParameterMirrorImpl( + r"Length", 32774, 156, const prefix0.ContainedReflectable(), @@ -4268,7 +4187,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 165, @@ -4280,7 +4199,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 32774, 166, @@ -4292,7 +4211,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 167, @@ -4304,7 +4223,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 168, @@ -4316,7 +4235,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 169, @@ -4328,7 +4247,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"pattern", 32774, 170, @@ -4340,7 +4259,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"index", 38918, 170, @@ -4352,7 +4271,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"pattern", 32774, 171, @@ -4364,7 +4283,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 36870, 171, @@ -4376,7 +4295,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"pattern", 32774, 172, @@ -4388,7 +4307,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 36870, 172, @@ -4400,7 +4319,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 173, @@ -4412,7 +4331,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"startIndex", 32774, 174, @@ -4424,7 +4343,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"endIndex", 36870, 174, @@ -4436,7 +4355,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"times", 32774, 178, @@ -4448,7 +4367,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"width", 32774, 179, @@ -4460,7 +4379,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"padding", 38918, 179, @@ -4472,7 +4391,7 @@ final _data = { const [], ' ', null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"width", 32774, 180, @@ -4484,7 +4403,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"padding", 38918, 180, @@ -4496,7 +4415,7 @@ final _data = { const [], ' ', null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"other", 32774, 181, @@ -4508,7 +4427,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"startIndex", 38918, 181, @@ -4520,7 +4439,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"from", 32774, 182, @@ -4532,7 +4451,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"to", 32774, 182, @@ -4544,7 +4463,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"startIndex", 38918, 182, @@ -4556,7 +4475,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"from", 32774, 183, @@ -4568,7 +4487,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"replace", 6, 183, @@ -4580,7 +4499,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"startIndex", 38918, 183, @@ -4592,7 +4511,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"from", 32774, 184, @@ -4604,7 +4523,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"replace", 32774, 184, @@ -4616,7 +4535,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"from", 32774, 185, @@ -4628,7 +4547,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"replace", 6, 185, @@ -4640,7 +4559,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 32774, 186, @@ -4652,7 +4571,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 32774, 186, @@ -4664,7 +4583,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"replacement", 32774, 186, @@ -4676,7 +4595,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"pattern", 32774, 187, @@ -4688,7 +4607,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"pattern", 32774, 188, @@ -4700,7 +4619,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"onMatch", 12294, 188, @@ -4712,7 +4631,7 @@ final _data = { const [], null, #onMatch), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"onNonMatch", 12294, 188, @@ -4724,7 +4643,7 @@ final _data = { const [], null, #onNonMatch), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"charCodes", 2129926, 197, @@ -4736,7 +4655,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"start", 38918, 197, @@ -4748,7 +4667,7 @@ final _data = { const [], 0, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"end", 36870, 197, @@ -4760,7 +4679,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"charCode", 32774, 198, @@ -4772,7 +4691,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"name", 32774, 199, @@ -4784,7 +4703,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"defaultValue", 45062, 199, @@ -4796,7 +4715,7 @@ final _data = { const [], null, #defaultValue), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"obj", 32774, 200, @@ -4808,7 +4727,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"charCode", 32774, 201, @@ -4820,7 +4739,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"objects", 2129926, 202, @@ -4832,7 +4751,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"separator", 38918, 202, @@ -4844,7 +4763,7 @@ final _data = { const [], "", null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"obj", 38918, 203, @@ -4856,7 +4775,7 @@ final _data = { const [], "", null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"content", 38918, 209, @@ -4868,7 +4787,7 @@ final _data = { const [], "", null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"obj", 32774, 210, @@ -4880,7 +4799,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"objects", 2129926, 211, @@ -4892,7 +4811,7 @@ final _data = { const [], null, null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"separator", 38918, 211, @@ -4904,7 +4823,7 @@ final _data = { const [], "", null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"obj", 38918, 212, @@ -4916,7 +4835,7 @@ final _data = { const [], "", null), - new r.ParameterMirrorImpl( + r.ParameterMirrorImpl( r"charCode", 32774, 213, diff --git a/packages/cors/pubspec.yaml b/packages/cors/pubspec.yaml index 49d7a66c..ae32a407 100644 --- a/packages/cors/pubspec.yaml +++ b/packages/cors/pubspec.yaml @@ -1,14 +1,16 @@ author: Tobe O description: Angel CORS middleware. Port of expressjs/cors to the Angel framework. environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" homepage: https://github.com/angel-dart/cors.git name: angel_cors version: 2.0.0 dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework dev_dependencies: - angel_test: ^2.0.0 + angel_test: #^2.0.0 + path: ../test http: ^0.12.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/eventsource/pubspec.yaml b/packages/eventsource/pubspec.yaml index 69fecedd..fb2e1d3c 100644 --- a/packages/eventsource/pubspec.yaml +++ b/packages/eventsource/pubspec.yaml @@ -4,13 +4,15 @@ description: Server-sent Events (SSE) plugin for Angel. homepage: https://github.com/angel-dart/eventsource author: Tobe O environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha - angel_websocket: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework + angel_websocket: #^2.0.0-alpha + path: ../websocket eventsource: ^0.2.0 - stream_channel: ^1.0.0 + stream_channel: ^2.0.0 dev_dependencies: console: ^3.0.0 logging: - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/file_service/pubspec.yaml b/packages/file_service/pubspec.yaml index 264d02af..f11b496e 100644 --- a/packages/file_service/pubspec.yaml +++ b/packages/file_service/pubspec.yaml @@ -4,10 +4,11 @@ description: Angel service that persists data to a file on disk. author: Tobe O homepage: https://github.com/angel-dart/file_service environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework file: ^5.0.0 pool: ^1.0.0 dev_dependencies: - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/framework/pubspec.yaml b/packages/framework/pubspec.yaml index bdae6c0a..9e373074 100644 --- a/packages/framework/pubspec.yaml +++ b/packages/framework/pubspec.yaml @@ -4,12 +4,16 @@ description: A high-powered HTTP server with dependency injection, routing and m author: Tobe O homepage: https://github.com/angel-dart/angel_framework environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_container: ^1.0.4 - angel_http_exception: ^1.0.0 - angel_model: ^1.0.0 - angel_route: ^3.0.0 + angel_container: # ^1.0.4 + path: ../container/angel_container + angel_http_exception: #^1.0.0 + path: ../http_exception + angel_model: #^1.0.0 + path: ../model + angel_route: #^3.0.0 + path: ../route charcode: ^1.0.0 combinator: ^1.0.0 file: ^5.0.0 @@ -34,4 +38,4 @@ dev_dependencies: http: ^0.12.0 io: ^0.3.0 pretty_logging: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/graphql/angel_graphql/pubspec.yaml b/packages/graphql/angel_graphql/pubspec.yaml index 23b5eb76..934315a3 100644 --- a/packages/graphql/angel_graphql/pubspec.yaml +++ b/packages/graphql/angel_graphql/pubspec.yaml @@ -4,19 +4,29 @@ description: The fastest + easiest way to get a GraphQL backend in Dart, using A homepage: https://github.com/angel-dart/graphql author: Tobe O environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_file_service: ^2.0.0 - angel_framework: ^2.0.0 - angel_websocket: ^2.0.0 - angel_validate: ^2.0.0 - graphql_parser: ^1.0.0 - graphql_schema: ^1.0.0 - graphql_server: ^1.0.0 + angel_file_service: #^2.0.0 + path: ../../file_service + angel_framework: #^2.0.0 + path: ../../framework + angel_websocket: #^2.0.0 + path: ../../websocket + angel_validate: #^2.0.0 + path: ../../validate + graphql_parser: #^1.0.0 + path: ../graphql_parser + graphql_schema: #^1.0.0 + path: ../graphql_schema + graphql_server: #^1.0.0 + path: ../graphql_server http_parser: ^3.0.0 web_socket_channel: ^1.0.0 dev_dependencies: - angel_serialize: ^2.0.0 + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize file: ^5.0.0 logging: ^0.11.0 - pedantic: ^1.0.0 \ No newline at end of file + pedantic: ^1.0.0 + + \ No newline at end of file diff --git a/packages/graphql/data_loader/pubspec.yaml b/packages/graphql/data_loader/pubspec.yaml index 6b05bbba..a1839c75 100644 --- a/packages/graphql/data_loader/pubspec.yaml +++ b/packages/graphql/data_loader/pubspec.yaml @@ -4,8 +4,9 @@ author: Tobe O description: Batch and cache database lookups. Works well with GraphQL. Ported from JS. homepage: https://github.com/angel-dart/graphql environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dev_dependencies: - graphql_schema: ^1.0.0 + graphql_schema: #^1.0.0 + path: ../graphql_schema pedantic: ^1.0.0 - test: ">=0.12.0 <2.0.0" \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/graphql/example_star_wars/pubspec.yaml b/packages/graphql/example_star_wars/pubspec.yaml index cf05cce7..33f86dbf 100644 --- a/packages/graphql/example_star_wars/pubspec.yaml +++ b/packages/graphql/example_star_wars/pubspec.yaml @@ -1,14 +1,19 @@ name: star_wars publish_to: none +environment: + sdk: ">=2.10.0 <2.12.0" dependencies: #angel_file_service: ^1.0.0 angel_graphql: path: ../angel_graphql - angel_hot: ^2.0.0-alpha - angel_serialize: ^2.0.0 + angel_hot: #^2.0.0-alpha + path: ../../hot + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize io: ^0.3.2 dev_dependencies: - angel_serialize_generator: ^2.0.0 + angel_serialize_generator: #^2.0.0 + path: ../../serialize/angel_serialize_generator build_runner: ^1.0.0 graphql_generator: path: ../graphql_generator @@ -18,4 +23,5 @@ dependency_overrides: graphql_schema: path: ../graphql_schema graphql_server: - path: ../graphql_server \ No newline at end of file + path: ../graphql_server + \ No newline at end of file diff --git a/packages/graphql/graphql_generator/pubspec.yaml b/packages/graphql/graphql_generator/pubspec.yaml index e6e8fb85..5131e585 100644 --- a/packages/graphql/graphql_generator/pubspec.yaml +++ b/packages/graphql/graphql_generator/pubspec.yaml @@ -4,15 +4,18 @@ description: Generates GraphQL schemas from Dart classes, for use with pkg:graph author: Tobe O homepage: https://github.com/angel-dart/graphql environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: analyzer: ">=0.27.1 <2.0.0" - angel_model: ^1.0.0 - angel_serialize_generator: ^2.0.0 + angel_model: #^1.0.0 + path: ../../model + angel_serialize_generator: #^2.0.0 + path: ../../serialize/angel_serialize_generator build: ^1.0.0 build_config: ^0.3.0 code_builder: ^3.0.0 - graphql_schema: ^1.0.2 + graphql_schema: #^1.0.2 + path: ../graphql_schema recase: ^2.0.0 source_gen: ^0.9.4 dev_dependencies: diff --git a/packages/graphql/graphql_parser/pubspec.yaml b/packages/graphql/graphql_parser/pubspec.yaml index c9a0a30c..108eacb1 100644 --- a/packages/graphql/graphql_parser/pubspec.yaml +++ b/packages/graphql/graphql_parser/pubspec.yaml @@ -4,7 +4,7 @@ description: Parses GraphQL queries and schemas. Also includes classes for the G author: Tobe O homepage: https://github.com/angel-dart/graphql environment: - sdk: ">=1.8.0 <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: charcode: ^1.0.0 source_span: ^1.0.0 @@ -12,4 +12,4 @@ dependencies: dev_dependencies: matcher: any pedantic: ^1.0.0 - test: ">=0.12.0 <2.0.0" + test: ^1.15.7 diff --git a/packages/graphql/graphql_schema/pubspec.yaml b/packages/graphql/graphql_schema/pubspec.yaml index 1319dc86..f61613c2 100644 --- a/packages/graphql/graphql_schema/pubspec.yaml +++ b/packages/graphql/graphql_schema/pubspec.yaml @@ -4,10 +4,10 @@ description: An implementation of GraphQL's type system in Dart. Basis of graphq author: Tobe O homepage: https://github.com/angel-dart/graphql environment: - sdk: ">=1.8.0 <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: collection: ^1.0.0 meta: ^1.0.0 source_span: ^1.0.0 dev_dependencies: - test: ">=0.12.0 <2.0.0" \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/graphql/graphql_server/pubspec.yaml b/packages/graphql/graphql_server/pubspec.yaml index c3c33d4e..93a8750a 100644 --- a/packages/graphql/graphql_server/pubspec.yaml +++ b/packages/graphql/graphql_server/pubspec.yaml @@ -4,19 +4,22 @@ author: Tobe O description: Base package for implementing GraphQL servers. You might prefer `package:angel_graphql`, the fastest way to implement GraphQL backends in Dart. homepage: https://github.com/angel-dart/graphql environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_serialize: ^2.0.0 + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize collection: ^1.0.0 - graphql_schema: ^1.0.0 - graphql_parser: ^1.0.0 + graphql_schema: #^1.0.0 + path: ../graphql_schema + graphql_parser: #^1.0.0 + path: ../graphql_parser meta: ^1.0.0 recase: ^2.0.0 stream_channel: ^2.0.0 tuple: ^1.0.0 dev_dependencies: pedantic: ^1.0.0 - test: ">=0.12.0 <2.0.0" -dependency_overrides: - graphql_parser: - path: ../graphql_parser + test: ^1.15.7 +#dependency_overrides: +# graphql_parser: +# path: ../graphql_parser diff --git a/packages/hot/pubspec.yaml b/packages/hot/pubspec.yaml index a1e51129..250ca159 100644 --- a/packages/hot/pubspec.yaml +++ b/packages/hot/pubspec.yaml @@ -4,10 +4,12 @@ version: 2.0.6 author: Tobe O homepage: https://github.com/angel-dart/hot environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha - angel_websocket: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework + angel_websocket: #^2.0.0-alpha + path: ../websocket charcode: ^1.0.0 glob: ^1.0.0 html_builder: ^1.0.0 @@ -16,6 +18,6 @@ dependencies: vm_service_lib: ^0.3.5 watcher: ^0.9.0 dev_dependencies: - http: ^0.11.3 + http: ^0.12.0 logging: ^0.11.0 pedantic: ^1.0.0 diff --git a/packages/html/pubspec.yaml b/packages/html/pubspec.yaml index 4851fd05..eb29ec87 100644 --- a/packages/html/pubspec.yaml +++ b/packages/html/pubspec.yaml @@ -4,13 +4,15 @@ description: Support for rendering html_builder AST's as responses in Angel. author: Tobe O homepage: https://github.com/angel-dart/html_builder environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework html_builder: ^1.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: #^2.0.0-alpha + path: ../test html: ^0.13.2 logging: ^0.11.0 - test: ^1.0.0 + test: ^1.15.7 pedantic: ^1.0.0 \ No newline at end of file diff --git a/packages/http_exception/pubspec.yaml b/packages/http_exception/pubspec.yaml index 6853dd48..cd42d6dc 100644 --- a/packages/http_exception/pubspec.yaml +++ b/packages/http_exception/pubspec.yaml @@ -4,7 +4,7 @@ description: Exception class that can be serialized to JSON and serialized to cl author: Tobe O homepage: https://github.com/angel-dart/http_exception environment: - sdk: ">=1.19.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: dart2_constant: ^1.0.0 dev_dependencies: diff --git a/packages/jael/angel_jael/pubspec.yaml b/packages/jael/angel_jael/pubspec.yaml index 07f4b386..f2b9812e 100644 --- a/packages/jael/angel_jael/pubspec.yaml +++ b/packages/jael/angel_jael/pubspec.yaml @@ -4,9 +4,10 @@ description: Angel support for the Jael templating engine, similar to Blade or L author: Tobe O homepage: https://github.com/angel-dart/jael/tree/master/jael environment: - sdk: ">=2.0.0-dev <=3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../../framework code_buffer: ^1.0.0 file: ^5.0.0 jael: ^2.0.0 @@ -14,6 +15,7 @@ dependencies: path: ../jael_preprocessor symbol_table: ^2.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: #^2.0.0-alpha + path: ../../test html: - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/jael/jael/pubspec.yaml b/packages/jael/jael/pubspec.yaml index ab64b744..9083c535 100644 --- a/packages/jael/jael/pubspec.yaml +++ b/packages/jael/jael/pubspec.yaml @@ -4,7 +4,7 @@ description: A simple server-side HTML templating engine for Dart. Comparable t author: Tobe O homepage: https://docs.angel-dart.dev/packages/front-end/jael environment: - sdk: ">=2.0.0 <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: args: ^1.0.0 charcode: ^1.0.0 diff --git a/packages/jael/jael_language_server/pubspec.yaml b/packages/jael/jael_language_server/pubspec.yaml index d9ecb833..9bc9644d 100644 --- a/packages/jael/jael_language_server/pubspec.yaml +++ b/packages/jael/jael_language_server/pubspec.yaml @@ -4,14 +4,16 @@ description: Language Server Protocol implementation for the Jael templating eng author: Tobe Osakwe homepage: https://github.com/angel-dart/vscode environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: args: ^1.0.0 dart_language_server: ^0.1.3 file: ^5.0.0 io: ^0.3.2 - jael: ^2.0.0 - jael_preprocessor: ^2.0.0 + jael: #^2.0.0 + path: ../jael + jael_preprocessor: #^2.0.0 + path: ../jael_preprocessor json_rpc_2: ^2.0.0 logging: ^0.11.3 path: ^1.0.0 @@ -19,4 +21,5 @@ dependencies: string_scanner: ^1.0.0 symbol_table: ^2.0.0 executables: - jael_language_server: jael_language_server \ No newline at end of file + jael_language_server: jael_language_server + \ No newline at end of file diff --git a/packages/jael/jael_preprocessor/pubspec.yaml b/packages/jael/jael_preprocessor/pubspec.yaml index 7da2607c..7bfd124d 100644 --- a/packages/jael/jael_preprocessor/pubspec.yaml +++ b/packages/jael/jael_preprocessor/pubspec.yaml @@ -4,11 +4,12 @@ description: A pre-processor for resolving blocks and includes within Jael templ author: Tobe O homepage: https://github.com/angel-dart/jael/tree/master/jael_preprocessor environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: file: ^5.0.0 - jael: ^2.0.0 + jael: #^2.0.0 + path: ../jael symbol_table: ^2.0.0 dev_dependencies: code_buffer: - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/jael/jael_web/lib/src/builder/util.dart b/packages/jael/jael_web/lib/src/builder/util.dart index 2796cec4..b9ba9bc2 100644 --- a/packages/jael/jael_web/lib/src/builder/util.dart +++ b/packages/jael/jael_web/lib/src/builder/util.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:typed_data'; import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/type.dart'; @@ -206,6 +207,25 @@ class BuildSystemFile extends File { Directory get parent => BuildSystemDirectory( fileSystem, reader, package, fileSystem.path.dirname(path)); + @override + Future readAsBytes() { + // TODO: implement readAsBytes + throw UnimplementedError(); + } + + @override + Uint8List readAsBytesSync() { + // TODO: implement readAsBytesSync + throw UnimplementedError(); + } + + @override + Future> readAsLines({Encoding encoding = utf8}) { + // TODO: implement readAsLines + throw UnimplementedError(); + } + +/* @override Future> readAsBytes() { var assetId = AssetId(package, path); @@ -217,7 +237,7 @@ class BuildSystemFile extends File { @override Future> readAsLines({Encoding encoding = utf8}) => throw _unsupported(); - +*/ @override List readAsLinesSync({Encoding encoding = utf8}) => throw _unsupported(); diff --git a/packages/jael/jael_web/pubspec.yaml b/packages/jael/jael_web/pubspec.yaml index 0b613d1d..9352c468 100644 --- a/packages/jael/jael_web/pubspec.yaml +++ b/packages/jael/jael_web/pubspec.yaml @@ -2,13 +2,15 @@ name: jael_web version: 0.0.0 description: Experimental virtual DOM/SPA engine built on Jael. Supports SSR. environment: - sdk: ">=2.0.0 <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: build: ^1.0.0 build_config: ^0.3.0 code_builder: ^3.0.0 - jael: ^2.0.0 - jael_preprocessor: ^2.0.0 + jael: #^2.0.0 + path: ../jael + jael_preprocessor: #^2.0.0 + path: ../jael_preprocessor source_gen: ^0.9.0 dev_dependencies: build_runner: ^1.0.0 diff --git a/packages/jinja/lib/angel_jinja.dart b/packages/jinja/lib/angel_jinja.dart index 380a51b7..89d38df5 100644 --- a/packages/jinja/lib/angel_jinja.dart +++ b/packages/jinja/lib/angel_jinja.dart @@ -40,7 +40,7 @@ AngelConfigurer jinja({ varClose: varClose, commentOpen: commentOpen, commentClose: commentClose, - defaultValue: defaultValue, + //defaultValue: defaultValue, autoReload: autoReload, filters: filters, tests: tests, diff --git a/packages/jinja/pubspec.yaml b/packages/jinja/pubspec.yaml index 60a136cb..bf66e650 100644 --- a/packages/jinja/pubspec.yaml +++ b/packages/jinja/pubspec.yaml @@ -4,12 +4,14 @@ version: 1.0.0-rc.0 homepage: https://github.com/angel-dart/jinja author: Tobe O environment: - sdk: '>=2.0.0-dev <3.0.0' + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework jinja: ^0.0.4 dev_dependencies: - angel_test: ^2.0.0 + angel_test: #^2.0.0 + path: ../test path: ^1.0.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/markdown/pubspec.yaml b/packages/markdown/pubspec.yaml index 13035656..d3fbb6a4 100644 --- a/packages/markdown/pubspec.yaml +++ b/packages/markdown/pubspec.yaml @@ -4,12 +4,14 @@ description: Angel Markdown view generator. Write static sites, with no build st author: Tobe O homepage: https://github.com/angel-dart/markdown environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework file: ^5.0.0 markdown: ^2.0.0 dev_dependencies: - angel_test: ^2.0.0 + angel_test: #^2.0.0 + path: ../test pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/model/pubspec.yaml b/packages/model/pubspec.yaml index 22040435..782f5a25 100644 --- a/packages/model/pubspec.yaml +++ b/packages/model/pubspec.yaml @@ -4,6 +4,6 @@ description: Angel's basic data model class, no longer with the added weight of author: Tobe O homepage: https://github.com/angel-dart/model environment: - sdk: ">=1.8.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dev_dependencies: - pedantic: ^1.0.0 + pedantic: ^1.9.2 diff --git a/packages/mongo/lib/mongo_service.dart b/packages/mongo/lib/mongo_service.dart index 5a2dfee6..0669221e 100644 --- a/packages/mongo/lib/mongo_service.dart +++ b/packages/mongo/lib/mongo_service.dart @@ -21,7 +21,7 @@ class MongoService extends Service> { : super(); SelectorBuilder _makeQuery([Map params_]) { - Map params = new Map.from(params_ ?? {}); + Map params = Map.from(params_ ?? {}); params = params..remove('provider'); SelectorBuilder result = where.exists('_id'); diff --git a/packages/mongo/pubspec.yaml b/packages/mongo/pubspec.yaml index 4b9a9e42..125c6d94 100644 --- a/packages/mongo/pubspec.yaml +++ b/packages/mongo/pubspec.yaml @@ -4,13 +4,14 @@ description: MongoDB-enabled services for the Angel framework. Well-tested. author: Tobe O homepage: https://github.com/angel-dart/angel_mongo environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework json_god: ">=2.0.0-beta <3.0.0" merge_map: ^1.0.0 - mongo_dart: ">= 0.2.7 < 1.0.0" + mongo_dart: ^0.4.4 dev_dependencies: - http: ">= 0.11.3 < 0.12.0" + http: ^0.12.2 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/mustache/pubspec.yaml b/packages/mustache/pubspec.yaml index 430cb43e..e7ec8b1f 100644 --- a/packages/mustache/pubspec.yaml +++ b/packages/mustache/pubspec.yaml @@ -4,12 +4,13 @@ author: thosakwe homepage: https://github.com/angel-dart/angel_mustache version: 2.0.0 environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework file: ^5.0.0 mustache4dart: ^3.0.0-dev path: ^1.0.0 dev_dependencies: - http: - test: + http: ^0.12.2 + test: ^1.15.7 diff --git a/packages/oauth2/pubspec.yaml b/packages/oauth2/pubspec.yaml index 395ad3fc..519fae2b 100644 --- a/packages/oauth2/pubspec.yaml +++ b/packages/oauth2/pubspec.yaml @@ -4,16 +4,20 @@ description: A class containing handlers that can be used within Angel to build homepage: https://github.com/angel-dart/oauth2.git version: 2.3.0 environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-rc.0 - angel_http_exception: ^1.0.0 + angel_framework: #^2.0.0-rc.0 + path: ../framework + angel_http_exception: #^1.0.0 + path: ../http_exception crypto: ^2.0.0 dev_dependencies: - angel_validate: ^2.0.0-alpha - angel_test: ^2.0.0-alpha + angel_validate: #^2.0.0-alpha + path: ../validate + angel_test: #^2.0.0-alpha + path: ../test logging: oauth2: ^1.0.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 uuid: ^2.0.0 diff --git a/packages/oauth2/test/client_credentials_test.dart b/packages/oauth2/test/client_credentials_test.dart index 8ce1b6ce..b5693d54 100644 --- a/packages/oauth2/test/client_credentials_test.dart +++ b/packages/oauth2/test/client_credentials_test.dart @@ -3,11 +3,10 @@ import 'dart:convert'; import 'package:angel_framework/angel_framework.dart'; import 'package:angel_test/angel_test.dart'; import 'package:angel_oauth2/angel_oauth2.dart'; -import 'package:angel_validate/angel_validate.dart'; import 'package:test/test.dart'; import 'common.dart'; -main() { +void main() { TestClient client; setUp(() async { @@ -42,6 +41,8 @@ main() { print('Response: ${response.body}'); + // TODO: Incorrect Validators + /* expect( response, allOf( @@ -52,6 +53,7 @@ main() { 'access_token': equals('foo'), })), )); + */ }); test('force correct id', () async { diff --git a/packages/orm/angel_migration/pubspec.yaml b/packages/orm/angel_migration/pubspec.yaml index f97c4345..5d448150 100755 --- a/packages/orm/angel_migration/pubspec.yaml +++ b/packages/orm/angel_migration/pubspec.yaml @@ -4,6 +4,7 @@ description: Database migration runtime for Angel's ORM. Use this package to def author: Tobe O homepage: https://github.com/angel-dart/migration environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_orm: ^2.0.0-dev \ No newline at end of file + angel_orm: #^2.0.0-dev + path: ../angel_orm \ No newline at end of file diff --git a/packages/orm/angel_migration_runner/pubspec.yaml b/packages/orm/angel_migration_runner/pubspec.yaml index 929ad66d..23c4f7d6 100755 --- a/packages/orm/angel_migration_runner/pubspec.yaml +++ b/packages/orm/angel_migration_runner/pubspec.yaml @@ -4,10 +4,12 @@ description: Command-line based database migration runner for Angel's ORM. author: Tobe O homepage: https://github.com/angel-dart/migration environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_migration: ^2.0.0-alpha - angel_orm: ^2.0.0-dev.2 + angel_migration: #^2.0.0-alpha + path: ../angel_migration + angel_orm: #^2.0.0-dev.2 + path: ../angel_orm args: ^1.0.0 charcode: ^1.0.0 - postgres: ">=0.9.5 <2.0.0" \ No newline at end of file + postgres: ^2.2.0 \ No newline at end of file diff --git a/packages/orm/angel_orm/pubspec.yaml b/packages/orm/angel_orm/pubspec.yaml index 1b7fc2e4..6d30cb1f 100644 --- a/packages/orm/angel_orm/pubspec.yaml +++ b/packages/orm/angel_orm/pubspec.yaml @@ -4,16 +4,19 @@ description: Runtime support for Angel's ORM. Includes base classes for queries. author: Tobe O homepage: https://github.com/angel-dart/orm environment: - sdk: '>=2.0.0 <3.0.0' + sdk: '>=2.10.0 <2.12.0' dependencies: charcode: ^1.0.0 intl: ^0.15.7 meta: ^1.0.0 string_scanner: ^1.0.0 dev_dependencies: - angel_model: ^1.0.0 - angel_serialize: ^2.0.0 - angel_serialize_generator: ^2.0.0 + angel_model: #^1.0.0 + path: ../../model + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize + angel_serialize_generator: #^2.0.0 + path: ../../serialize/angel_serialize_generator build_runner: ^1.0.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/orm/angel_orm_generator/lib/src/migration_generator.dart b/packages/orm/angel_orm_generator/lib/src/migration_generator.dart index 4bf36e83..25cc6c69 100644 --- a/packages/orm/angel_orm_generator/lib/src/migration_generator.dart +++ b/packages/orm/angel_orm_generator/lib/src/migration_generator.dart @@ -67,7 +67,7 @@ class MigrationGenerator extends GeneratorForAnnotation { Method buildUpMigration(OrmBuildContext ctx, LibraryBuilder lib) { return Method((meth) { var autoIdAndDateFields = const TypeChecker.fromRuntime(Model) - .isAssignableFromType(ctx.buildContext.clazz.type); + .isAssignableFromType(ctx.buildContext.clazz.thisType); meth ..name = 'up' ..annotations.add(refer('override')) diff --git a/packages/orm/angel_orm_generator/lib/src/orm_build_context.dart b/packages/orm/angel_orm_generator/lib/src/orm_build_context.dart index 84aa15da..6dc2a731 100644 --- a/packages/orm/angel_orm_generator/lib/src/orm_build_context.dart +++ b/packages/orm/angel_orm_generator/lib/src/orm_build_context.dart @@ -25,7 +25,7 @@ bool isSpecialId(OrmBuildContext ctx, FieldElement field) { field is! RelationFieldImpl && (field.name == 'id' && const TypeChecker.fromRuntime(Model) - .isAssignableFromType(ctx.buildContext.clazz.type)); + .isAssignableFromType(ctx.buildContext.clazz.thisType)); } Element _findElement(FieldElement field) { @@ -248,7 +248,7 @@ Future buildOrmContext( joinTypeType.element.fields.where((f) => f.isEnumConstant).toList(); for (int i = 0; i < enumFields.length; i++) { - if (enumFields[i].constantValue == joinTypeRdr) { + if (enumFields[i].computeConstantValue() == joinTypeRdr) { joinType = JoinType.values[i]; break; } @@ -279,7 +279,9 @@ Future buildOrmContext( var foreign = relation.throughContext ?? relation.foreign; var type = foreignField.type; if (isSpecialId(foreign, foreignField)) { - type = field.type.element.context.typeProvider.intType; + // TODO: incorrect type assignments + //type = field.type.element.context.typeProvider.intType; + type = field.type; } var rf = RelationFieldImpl(name, relation, type, field); ctx.effectiveFields.add(rf); diff --git a/packages/orm/angel_orm_generator/pubspec.yaml b/packages/orm/angel_orm_generator/pubspec.yaml index e7d05292..5d603f4a 100644 --- a/packages/orm/angel_orm_generator/pubspec.yaml +++ b/packages/orm/angel_orm_generator/pubspec.yaml @@ -4,13 +4,17 @@ description: Code generators for Angel's ORM. Generates query builder classes. author: Tobe O homepage: https://github.com/angel-dart/orm environment: - sdk: ">=2.0.0<3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: analyzer: ">=0.35.0 <2.0.0" - angel_model: ^1.0.0 - angel_serialize: ^2.0.0 - angel_orm: ^2.1.0-beta - angel_serialize_generator: ^2.0.0 + angel_model: #^1.0.0 + path: ../../model + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize + angel_orm: #^2.1.0-beta + path: ../angel_orm + angel_serialize_generator: #^2.0.0 + path: ../../serialize/angel_serialize_generator build: ^1.0.0 build_config: ^0.4.0 code_builder: ^3.0.0 @@ -21,7 +25,8 @@ dependencies: recase: ^2.0.0 source_gen: ^0.9.0 dev_dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../../framework angel_migration: path: ../angel_migration #angel_test: ^1.0.0 @@ -29,7 +34,7 @@ dev_dependencies: collection: ^1.0.0 pedantic: ^1.0.0 postgres: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 # dependency_overrides: # angel_orm: # path: ../angel_orm diff --git a/packages/orm/angel_orm_mysql/pubspec.yaml b/packages/orm/angel_orm_mysql/pubspec.yaml index 18edcb2f..80636dd0 100644 --- a/packages/orm/angel_orm_mysql/pubspec.yaml +++ b/packages/orm/angel_orm_mysql/pubspec.yaml @@ -4,21 +4,24 @@ description: MySQL support for Angel's ORM. Includes functionality for querying author: Tobe O homepage: https://github.com/angel-dart/orm environment: - sdk: '>=2.0.0 <3.0.0' + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_orm: ^2.1.0-beta + angel_orm: #^2.1.0-beta + path: ../angel_orm logging: ^0.11.0 pool: ^1.0.0 - sqljocky5: ^2.0.0 + sqljocky5: ^2.2.1 dev_dependencies: - angel_migration: ^2.0.0 - angel_orm_generator: ^2.1.0-beta + angel_migration: #^2.0.0 + path: ../angel_migration + angel_orm_generator: #^2.1.0-beta + path: ../angel_orm_generator angel_orm_test: path: ../angel_orm_test build_runner: ^1.0.0 test: ^1.0.0 -dependency_overrides: - angel_migration: - path: ../angel_migration - angel_orm_generator: - path: ../angel_orm_generator \ No newline at end of file +#dependency_overrides: +# angel_migration: +# path: ../angel_migration +# angel_orm_generator: +# path: ../angel_orm_generator \ No newline at end of file diff --git a/packages/orm/angel_orm_postgres/pubspec.yaml b/packages/orm/angel_orm_postgres/pubspec.yaml index e8a03827..73ef429f 100644 --- a/packages/orm/angel_orm_postgres/pubspec.yaml +++ b/packages/orm/angel_orm_postgres/pubspec.yaml @@ -4,17 +4,18 @@ description: PostgreSQL support for Angel's ORM. Includes functionality for quer author: Tobe O homepage: https://github.com/angel-dart/orm environment: - sdk: '>=2.0.0 <3.0.0' + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_orm: ^2.1.0-beta + angel_orm: #^2.1.0-beta + path: ../angel_orm logging: ^0.11.0 pool: ^1.0.0 - postgres: ^1.0.0 + postgres: ^2.2.0 dev_dependencies: angel_orm_test: path: ../angel_orm_test pretty_logging: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 # dependency_overrides: # angel_orm: # path: ../angel_orm \ No newline at end of file diff --git a/packages/orm/angel_orm_service/pubspec.yaml b/packages/orm/angel_orm_service/pubspec.yaml index 9ef79e75..5ec378a1 100644 --- a/packages/orm/angel_orm_service/pubspec.yaml +++ b/packages/orm/angel_orm_service/pubspec.yaml @@ -4,12 +4,15 @@ description: Service implementation that wraps over Angel ORM Query classes. homepage: https://github.com/angel-dart/orm author: Tobe O environment: - sdk: ">=2.0.0 <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: - angel_framework: ^2.0.0-alpha - angel_orm: ^2.0.0 + angel_framework: #^2.0.0-alpha + path: ../../framework + angel_orm: #^2.0.0 + path: ../angel_orm dev_dependencies: - angel_migration: ^2.0.0-alpha + angel_migration: #^2.0.0-alpha + path: ../angel_migration angel_migration_runner: path: ../angel_migration_runner angel_orm_generator: @@ -18,12 +21,15 @@ dev_dependencies: path: ../angel_orm_postgres angel_orm_test: path: ../angel_orm_test - angel_serialize: ^2.0.0 + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize build_runner: ^1.0.0 logging: ^0.11.0 pedantic: ^1.0.0 - postgres: ^1.0.0 - test: ^1.0.0 -dependency_overrides: - angel_migration: - path: ../angel_migration \ No newline at end of file +# postgres: ^2.2.0 + test: ^1.15.7 + + +#dependency_overrides: +# angel_migration: +# path: ../angel_migration \ No newline at end of file diff --git a/packages/orm/angel_orm_test/pubspec.yaml b/packages/orm/angel_orm_test/pubspec.yaml index d5dde49b..7b223c7d 100644 --- a/packages/orm/angel_orm_test/pubspec.yaml +++ b/packages/orm/angel_orm_test/pubspec.yaml @@ -2,19 +2,23 @@ name: angel_orm_test publish_to: none description: Common tests for Angel ORM backends. environment: - sdk: ">=2.0.0 <3.0.0" + sdk: '>=2.10.0 <2.12.0' dependencies: angel_migration: path: ../angel_migration - angel_model: ^1.0.0 - angel_orm: ^2.0.0 - angel_serialize: ^2.0.0 - test: ^1.0.0 + angel_model: #^1.0.0 + path: ../../model + angel_orm: #^2.0.0 + path: ../angel_orm + angel_serialize: #^2.0.0 + path: ../../serialize/angel_serialize + test: ^1.15.7 dev_dependencies: angel_orm_generator: path: ../angel_orm_generator - angel_framework: ^2.0.0 + angel_framework: #^2.0.0 + path: ../../framework build_runner: ^1.0.0 -dependency_overrides: - angel_orm: - path: ../angel_orm \ No newline at end of file +#dependency_overrides: +# angel_orm: +# path: ../angel_orm \ No newline at end of file diff --git a/packages/paginate/pubspec.yaml b/packages/paginate/pubspec.yaml index e57dcd15..4e943dce 100644 --- a/packages/paginate/pubspec.yaml +++ b/packages/paginate/pubspec.yaml @@ -4,10 +4,12 @@ description: Platform-agnostic pagination library, with custom support for the A author: Tobe O homepage: https://github.com/angel-dart/paginate environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework dev_dependencies: - angel_test: ^2.0.0 + angel_test: #^2.0.0 + path: ../test logging: ^0.11.0 - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/poll/lib/angel_poll.dart b/packages/poll/lib/angel_poll.dart index 7aab6701..db1b0b8d 100644 --- a/packages/poll/lib/angel_poll.dart +++ b/packages/poll/lib/angel_poll.dart @@ -53,8 +53,9 @@ class PollingService extends Service { @override Angel get app => inner.app; + // TODO: To revisit this logic @override - Stream get onIndexed => _onIndexed.stream; + Stream get onIndexed => _onIndexed.stream; @override Stream get onRead => _onRead.stream; @@ -116,13 +117,20 @@ class PollingService extends Service { _onRemoved.close(); } + // TODO: To revisit this logic @override - Future index([Map params]) { + Future index([Map params]) { return inner.index().then((data) { - return asPaginated == true ? data['data'] : data; + //return asPaginated == true ? data['data'] : data; + return asPaginated == true ? data[0] : data; }); } +/* + @override + Future index([Map params]) { + } +*/ @override Future remove(id, [Map params]) { return inner.remove(id, params).then((result) { diff --git a/packages/poll/pubspec.yaml b/packages/poll/pubspec.yaml index a083dc33..d56bd24d 100644 --- a/packages/poll/pubspec.yaml +++ b/packages/poll/pubspec.yaml @@ -3,12 +3,14 @@ version: 1.0.0 description: package:angel_client support for "realtime" interactions with Angel via long polling. author: Tobe O environment: - sdk: ">=1.19.0" + sdk: ">=2.7.0 <3.0.0" homepage: https://github.com/angel-dart/poll dependencies: - angel_client: ^1.0.0 + angel_client: # ^1.0.0 + path: ../client async: ">=1.10.0 <3.0.0" - collection: ^1.0.0 + collection: ^1.14.12 dev_dependencies: - angel_test: ^1.1.0 - test: ^0.12.0 \ No newline at end of file + angel_test: # ^1.1.0 + path: ../test + test: ^1.15.7 \ No newline at end of file diff --git a/packages/pretty_logging/pubspec.yaml b/packages/pretty_logging/pubspec.yaml index f1e360ac..94d5b0ff 100644 --- a/packages/pretty_logging/pubspec.yaml +++ b/packages/pretty_logging/pubspec.yaml @@ -4,7 +4,7 @@ description: Standalone helper for colorful logging output, using pkg:io AnsiCod author: Tobe Osakwe homepage: https://github.com/angel-dart/pretty_logging environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: io: ^0.3.2 logging: ^0.11.0 diff --git a/packages/production/pubspec.yaml b/packages/production/pubspec.yaml index 6f449362..bb1a533c 100644 --- a/packages/production/pubspec.yaml +++ b/packages/production/pubspec.yaml @@ -4,10 +4,12 @@ description: Helpers for concurrency, message-passing, rotating loggers, and oth author: Tobe O homepage: https://github.com/angel-dart/production environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_container: ^1.0.0-alpha - angel_framework: ^2.0.0-alpha + angel_container: #^1.0.0-alpha + path: ../container/angel_container + angel_framework: #^2.0.0-alpha + path: ../framework args: ^1.0.0 io: ^0.3.2 logging: ^0.11.3 diff --git a/packages/proxy/pubspec.yaml b/packages/proxy/pubspec.yaml index a319e2a9..ee897c47 100644 --- a/packages/proxy/pubspec.yaml +++ b/packages/proxy/pubspec.yaml @@ -4,16 +4,18 @@ version: 2.2.0 author: Tobe O homepage: https://github.com/angel-dart/proxy environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework http: ^0.12.0 http_parser: ^3.0.0 path: ^1.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: #^2.0.0-alpha + path: ../test logging: mock_request: pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/redis/pubspec.yaml b/packages/redis/pubspec.yaml index 5acaf22e..a339cb30 100644 --- a/packages/redis/pubspec.yaml +++ b/packages/redis/pubspec.yaml @@ -4,10 +4,12 @@ description: An Angel service provider for Redis. Works well for caching volatil author: Tobe O homepage: https://github.com/angel-dart/redis environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha - angel_http_exception: ^1.0.0 + angel_framework: #^2.0.0-alpha + path: ../framework + angel_http_exception: #^1.0.0 + path: ../http_exception resp_client: ^0.1.6 dev_dependencies: - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/relations/pubspec.yaml b/packages/relations/pubspec.yaml index d25318d2..4288b0d2 100644 --- a/packages/relations/pubspec.yaml +++ b/packages/relations/pubspec.yaml @@ -4,9 +4,10 @@ homepage: "https://github.com/angel-dart/relations.git" name: angel_relations version: 1.0.1 environment: - sdk: ">=1.19.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^1.0.0-dev + angel_framework: #^1.0.0-dev + path: ../framework dev_dependencies: - angel_seeder: ^1.0.0 - test: ^0.12.0 + #angel_seeder: ^1.0.0 + test: ^1.15.7 diff --git a/packages/rethink/lib/src/rethink_service.dart b/packages/rethink/lib/src/rethink_service.dart index da37906f..c6ad9063 100644 --- a/packages/rethink/lib/src/rethink_service.dart +++ b/packages/rethink/lib/src/rethink_service.dart @@ -2,7 +2,7 @@ import 'dart:async'; //import 'dart:io'; import 'package:angel_framework/angel_framework.dart'; import 'package:json_god/json_god.dart' as god; -import 'package:rethinkdb_driver/rethinkdb_driver.dart'; +import 'package:rethinkdb_dart/rethinkdb_dart.dart'; // Extends a RethinkDB query. typedef RqlQuery QueryCallback(RqlQuery query); @@ -150,12 +150,14 @@ class RethinkService extends Service { }); } + // TODO: Invalid override method +/* @override Future index([Map params]) async { var query = buildQuery(table, params); return await _sendQuery(query); } - +*/ @override Future read(id, [Map params]) async { var query = buildQuery(table.get(id?.toString()), params); diff --git a/packages/rethink/pubspec.yaml b/packages/rethink/pubspec.yaml index 9d5c6ce1..cb4d8452 100644 --- a/packages/rethink/pubspec.yaml +++ b/packages/rethink/pubspec.yaml @@ -3,14 +3,17 @@ version: 1.1.0 description: RethinkDB-enabled services for the Angel framework. author: Tobe O environment: - sdk: ">=1.19.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" homepage: https://github.com/angel-dart/rethink dependencies: - angel_framework: ^1.1.0 + angel_framework: #^1.1.0 + path: ../framework json_god: ^2.0.0-beta - rethinkdb_driver: ^2.3.1 + rethinkdb_dart: ^2.3.2+6 dev_dependencies: - angel_client: ^1.1.0 - angel_test: ^1.1.0 + angel_client: #^1.1.0 + path: ../client + angel_test: #^1.1.0 + path: ../test logging: ^0.11.3 - test: ^0.12.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/rethink/test/bootstrap.dart b/packages/rethink/test/bootstrap.dart index 5186437d..d1f73890 100644 --- a/packages/rethink/test/bootstrap.dart +++ b/packages/rethink/test/bootstrap.dart @@ -1,5 +1,5 @@ import 'dart:io'; -import 'package:rethinkdb_driver/rethinkdb_driver.dart'; +import 'package:rethinkdb_dart/rethinkdb_dart.dart'; main() async { var r = new Rethinkdb(); diff --git a/packages/rethink/test/generic_test.dart b/packages/rethink/test/generic_test.dart index ee9ee169..c5d945e7 100644 --- a/packages/rethink/test/generic_test.dart +++ b/packages/rethink/test/generic_test.dart @@ -3,7 +3,7 @@ import 'package:angel_framework/angel_framework.dart'; import 'package:angel_rethink/angel_rethink.dart'; import 'package:angel_test/angel_test.dart'; import 'package:logging/logging.dart'; -import 'package:rethinkdb_driver/rethinkdb_driver.dart'; +import 'package:rethinkdb_dart/rethinkdb_dart.dart'; import 'package:test/test.dart'; import 'common.dart'; diff --git a/packages/route/pubspec.yaml b/packages/route/pubspec.yaml index 48632df1..37e87feb 100644 --- a/packages/route/pubspec.yaml +++ b/packages/route/pubspec.yaml @@ -4,15 +4,15 @@ version: 3.1.0+1 author: Tobe O homepage: https://github.com/angel-dart/angel_route environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: combinator: ^1.0.0 meta: ^1.0.0 path: ^1.0.0 string_scanner: ^1.0.0 dev_dependencies: - build_runner: ^0.10.0 - build_web_compilers: ^0.4.0 - http: ">=0.11.3 <0.12.0" + build_runner: ^1.11.1 + build_web_compilers: ^2.12.2 + http: ^0.12.2 pedantic: ^1.0.0 - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/security/example/cookie_signer.dart b/packages/security/example/cookie_signer.dart index c2db9ff3..2ec1d8c3 100644 --- a/packages/security/example/cookie_signer.dart +++ b/packages/security/example/cookie_signer.dart @@ -6,7 +6,7 @@ import 'package:angel_security/angel_security.dart'; import 'package:logging/logging.dart'; import 'package:pretty_logging/pretty_logging.dart'; -main() async { +void main() async { // Logging boilerplate. Logger.root.onRecord.listen(prettyLog); diff --git a/packages/security/example/main.dart b/packages/security/example/main.dart deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/security/example/pubspec.yaml b/packages/security/example/pubspec.yaml deleted file mode 100644 index 25444875..00000000 --- a/packages/security/example/pubspec.yaml +++ /dev/null @@ -1,8 +0,0 @@ -name: example -publish_to: none -dependencies: - angel_production: ^1.0.0 - angel_redis: ^1.0.0 - angel_security: - path: ../ - pretty_logging: ^1.0.0 \ No newline at end of file diff --git a/packages/security/example/rate_limit.dart b/packages/security/example/rate_limit.dart index baccb01a..d715a9e0 100644 --- a/packages/security/example/rate_limit.dart +++ b/packages/security/example/rate_limit.dart @@ -4,7 +4,7 @@ import 'package:angel_security/angel_security.dart'; import 'package:logging/logging.dart'; import 'package:pretty_logging/pretty_logging.dart'; -main() async { +void main() async { // Logging boilerplate. Logger.root.onRecord.listen(prettyLog); diff --git a/packages/security/example/rate_limit_redis.dart b/packages/security/example/rate_limit_redis.dart index 40d9c33b..73668d77 100644 --- a/packages/security/example/rate_limit_redis.dart +++ b/packages/security/example/rate_limit_redis.dart @@ -7,10 +7,10 @@ import 'package:resp_client/resp_commands.dart'; // We run this through angel_production, so that we can have // multiple instances, all using the same Redis queue. -main(List args) => +void main(List args) => Runner('rate_limit_redis', configureServer).run(args); -configureServer(Angel app) async { +void configureServer(Angel app) async { // Create a simple rate limiter that limits users to 10 // queries per 30 seconds. // diff --git a/packages/security/pubspec.yaml b/packages/security/pubspec.yaml index 5211f6aa..a7d1f723 100644 --- a/packages/security/pubspec.yaml +++ b/packages/security/pubspec.yaml @@ -4,16 +4,22 @@ description: Angel infrastructure for improving security, rate limiting, and mor author: Tobe O homepage: https://github.com/angel-dart/security environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0 + angel_framework: #^2.0.0 + path: ../framework crypto: ^2.0.0 dev_dependencies: - angel_auth: ^2.0.0 - angel_production: ^1.0.0 - angel_redis: ^1.0.0 - angel_test: ^2.0.0 - angel_validate: ^2.0.0 + angel_auth: #^2.0.0 + path: ../auth + angel_production: #^1.0.0 + path: ../production + angel_redis: #^1.0.0 + path: ../redis + angel_test: #^2.0.0 + path: ../test + angel_validate: #^2.0.0 + path: ../validate pedantic: ^1.0.0 pretty_logging: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/sembast/pubspec.yaml b/packages/sembast/pubspec.yaml index a21ae48e..e0c8f3e3 100644 --- a/packages/sembast/pubspec.yaml +++ b/packages/sembast/pubspec.yaml @@ -4,13 +4,15 @@ homepage: https://github.com/angel-dart/sembast version: 1.0.1 author: Tobe O environment: - sdk: ">=2.1.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework sembast: ^1.19.0-dev.2 dev_dependencies: - angel_http_exception: ^1.0.0 + angel_http_exception: #^1.0.0 + path: ../http_exception logging: pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 diff --git a/packages/seo/pubspec.yaml b/packages/seo/pubspec.yaml index 08b1a91b..3903330c 100644 --- a/packages/seo/pubspec.yaml +++ b/packages/seo/pubspec.yaml @@ -4,15 +4,18 @@ author: Tobe O homepage: https://github.com/angel-dart/seo version: 2.0.0 environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha - angel_static: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework + angel_static: #^2.0.0-alpha + path: ../static file: ^5.0.0 html: ^0.13.0 http_parser: ^3.0.0 path: ^1.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: #^2.0.0-alpha + path: ../test logging: - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/serialize/angel_serialize/pubspec.yaml b/packages/serialize/angel_serialize/pubspec.yaml index 077ceee3..e0295eb5 100644 --- a/packages/serialize/angel_serialize/pubspec.yaml +++ b/packages/serialize/angel_serialize/pubspec.yaml @@ -4,9 +4,10 @@ description: Static annotations powering Angel model serialization. Combine with author: Tobe O homepage: https://github.com/angel-dart/serialize environment: - sdk: '>=2.0.0-dev <3.0.0' + sdk: '>=2.7.0 <3.0.0' dependencies: - angel_model: ^1.0.0 + angel_model: #^1.0.0 + path: ../../model collection: ^1.0.0 meta: ^1.0.0 pedantic: ^1.0.0 diff --git a/packages/serialize/angel_serialize_generator/lib/angel_serialize_generator.dart b/packages/serialize/angel_serialize_generator/lib/angel_serialize_generator.dart index c9643f58..600e270c 100644 --- a/packages/serialize/angel_serialize_generator/lib/angel_serialize_generator.dart +++ b/packages/serialize/angel_serialize_generator/lib/angel_serialize_generator.dart @@ -40,7 +40,7 @@ Builder typescriptDefinitionBuilder(_) { /// Converts a [DartType] to a [TypeReference]. TypeReference convertTypeReference(DartType t) { return TypeReference((b) { - b..symbol = t.name; + b..symbol = t.element?.displayName; if (t is InterfaceType) { b.types.addAll(t.typeArguments.map(convertTypeReference)); @@ -101,9 +101,9 @@ String dartObjectToString(DartObject v) { // Find the index of the enum, then find the member. for (var field in type.element.fields) { if (field.isEnumConstant && field.isStatic) { - var value = type.element.getField(field.name).constantValue; + var value = type.element.getField(field.name).computeConstantValue(); if (value == v) { - return '${type.name}.${field.name}'; + return '${type.element?.displayName}.${field.name}'; } } } @@ -169,12 +169,14 @@ bool isAssignableToModel(DartType type) => /// Compute a [String] representation of a [type]. String typeToString(DartType type) { if (type is InterfaceType) { - if (type.typeArguments.isEmpty) return type.name; - return type.name + - '<' + - type.typeArguments.map(typeToString).join(', ') + - '>'; + if (type.typeArguments.isEmpty) { + return type.element?.displayName; + } + + var name = type.element?.displayName ?? ''; + + return name + '<' + type.typeArguments.map(typeToString).join(', ') + '>'; } else { - return type.name; + return type.element?.displayName; } } diff --git a/packages/serialize/angel_serialize_generator/lib/build_context.dart b/packages/serialize/angel_serialize_generator/lib/build_context.dart index c5b4d471..6e95004c 100644 --- a/packages/serialize/angel_serialize_generator/lib/build_context.dart +++ b/packages/serialize/angel_serialize_generator/lib/build_context.dart @@ -65,7 +65,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, } } - crawlClass(clazz.type); + crawlClass(clazz.thisType); for (var field in fields) { // Skip private fields diff --git a/packages/serialize/angel_serialize_generator/lib/model.dart b/packages/serialize/angel_serialize_generator/lib/model.dart index 55691d78..f7178854 100644 --- a/packages/serialize/angel_serialize_generator/lib/model.dart +++ b/packages/serialize/angel_serialize_generator/lib/model.dart @@ -85,7 +85,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { bool shouldBeConstant(BuildContext ctx) { // Check if all fields are without a getter - return !isAssignableToModel(ctx.clazz.type) && + return !isAssignableToModel(ctx.clazz.thisType) && ctx.clazz.fields.every((f) => f.getter?.isAbstract != false && f.setter?.isAbstract != false); } @@ -109,7 +109,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { for (var field in ctx.fields) { if (!shouldBeConstant(ctx) && isListOrMapType(field.type)) { - String typeName = const TypeChecker.fromRuntime(List) + var typeName = const TypeChecker.fromRuntime(List) .isAssignableFromType(field.type) ? 'List' : 'Map'; @@ -181,7 +181,6 @@ class JsonModelGenerator extends GeneratorForAnnotation { var buf = StringBuffer('return ${ctx.modelClassName}('); int i = 0; - for (var param in ctx.constructorParameters) { if (i++ > 0) buf.write(', '); buf.write(param.name); @@ -208,31 +207,31 @@ class JsonModelGenerator extends GeneratorForAnnotation { static String generateEquality(DartType type, [bool nullable = false]) { if (type is InterfaceType) { if (const TypeChecker.fromRuntime(List).isAssignableFromType(type)) { - if (type.typeParameters.length == 1) { + if (type.typeArguments.length == 1) { var eq = generateEquality(type.typeArguments[0]); - return 'ListEquality<${type.typeArguments[0].name}>($eq)'; + return 'ListEquality<${type.typeArguments[0].element.name}>($eq)'; } else { return 'ListEquality()'; } } else if (const TypeChecker.fromRuntime(Map) .isAssignableFromType(type)) { - if (type.typeParameters.length == 2) { + if (type.typeArguments.length == 2) { var keq = generateEquality(type.typeArguments[0]), veq = generateEquality(type.typeArguments[1]); - return 'MapEquality<${type.typeArguments[0].name}, ${type.typeArguments[1].name}>(keys: $keq, values: $veq)'; + return 'MapEquality<${type.typeArguments[0].element.name}, ${type.typeArguments[1].element.name}>(keys: $keq, values: $veq)'; } else { return 'MapEquality()'; } } - return nullable ? null : 'DefaultEquality<${type.name}>()'; + return nullable ? null : 'DefaultEquality<${type.element.name}>()'; } else { return 'DefaultEquality()'; } } static String Function(String, String) generateComparator(DartType type) { - if (type is! InterfaceType || type.name == 'dynamic') { + if (type is! InterfaceType || type.element.displayName == 'dynamic') { return (a, b) => '$a == $b'; } var eq = generateEquality(type, true); diff --git a/packages/serialize/angel_serialize_generator/pubspec.yaml b/packages/serialize/angel_serialize_generator/pubspec.yaml index c489c3aa..4c9df5da 100644 --- a/packages/serialize/angel_serialize_generator/pubspec.yaml +++ b/packages/serialize/angel_serialize_generator/pubspec.yaml @@ -4,11 +4,13 @@ description: Model serialization generators, designed for use with Angel. Combin author: Tobe O homepage: https://github.com/angel-dart/serialize environment: - sdk: '>=2.0.0 <3.0.0' + sdk: '>=2.7.0 <3.0.0' dependencies: analyzer: ">=0.27.1 <2.0.0" - angel_model: ^1.0.0 - angel_serialize: ^2.2.0 + angel_model: #^1.0.0 + path: ../../model + angel_serialize: #^2.2.0 + path: ../angel_serialize build: ">=0.12.0 <2.0.0" build_config: ">=0.3.0 <2.0.0" code_buffer: ^1.0.0 @@ -22,7 +24,7 @@ dev_dependencies: build_runner: ^1.0.0 collection: ^1.0.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 # dependency_overrides: # angel_serialize: # path: ../angel_serialize \ No newline at end of file diff --git a/packages/shelf/pubspec.yaml b/packages/shelf/pubspec.yaml index d4c5d66b..f87eedac 100644 --- a/packages/shelf/pubspec.yaml +++ b/packages/shelf/pubspec.yaml @@ -3,16 +3,18 @@ description: Shelf interop with Angel. Use this to wrap existing server code. homepage: https://github.com/angel-dart/shelf name: angel_shelf version: 2.1.0 +environment: + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework path: ^1.0.0 shelf: ^0.7.0 - stream_channel: ^1.0.0 + stream_channel: ^2.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: #^2.0.0-alpha + path: ../test pedantic: ^1.0.0 pretty_logging: ^1.0.0 shelf_static: ^0.2.8 - test: ^1.0.0 -environment: - sdk: ">=2.0.0-dev <3.0.0" + test: ^1.15.7 diff --git a/packages/static/pubspec.yaml b/packages/static/pubspec.yaml index 33d4a02e..ef73ab57 100644 --- a/packages/static/pubspec.yaml +++ b/packages/static/pubspec.yaml @@ -1,12 +1,13 @@ name: angel_static description: Static server middleware for Angel. Also capable of serving Range responses. environment: - sdk: ">=2.0.0 <3.0.0" + sdk: ">=2.10.0 <2.12.0" homepage: https://github.com/angel-dart/static author: Tobe O version: 2.1.3+2 dependencies: - angel_framework: ^2.0.0-rc.0 + angel_framework: #^2.0.0-rc.0 + path: ../framework convert: ^2.0.0 crypto: ^2.0.0 file: ^5.0.0 @@ -14,9 +15,11 @@ dependencies: path: ^1.4.2 range_header: ^2.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha + angel_test: #^2.0.0-alpha + path: ../test http: logging: ^0.11.0 matcher: ^0.12.0 pedantic: ^1.0.0 - test: ^1.0.0 + test: ^1.15.7 + diff --git a/packages/sync/example/main.dart b/packages/sync/example/main.dart index dcc6e964..9da28336 100644 --- a/packages/sync/example/main.dart +++ b/packages/sync/example/main.dart @@ -33,7 +33,10 @@ main() { // Manually broadcast. Even though app1 has no clients, it *should* // propagate to app2. var ws = req.container.make(); - var body = await req.parseBody(); + + // TODO: body retuns void + //var body = await req.parseBody(); + var body = {}; ws.batchEvent(new WebSocketEvent( eventName: 'message', data: body['message'], diff --git a/packages/sync/pubspec.yaml b/packages/sync/pubspec.yaml index 8a23d1cf..a01c1366 100644 --- a/packages/sync/pubspec.yaml +++ b/packages/sync/pubspec.yaml @@ -4,12 +4,15 @@ description: Easily synchronize and scale WebSockets using package:pub_sub. author: Tobe O homepage: https://github.com/angel-dart/sync environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha - angel_websocket: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework + angel_websocket: #^2.0.0-alpha + path: ../websocket pub_sub: ^2.0.0 - stream_channel: ^1.0.0 + stream_channel: ^2.0.0 dev_dependencies: - angel_test: ^2.0.0-alpha - test: ^1.0.0 \ No newline at end of file + angel_test: #^2.0.0-alpha + path: ../test + test: ^1.15.7 \ No newline at end of file diff --git a/packages/sync/test/all_test.dart b/packages/sync/test/all_test.dart index dcc6e964..7ece32c3 100644 --- a/packages/sync/test/all_test.dart +++ b/packages/sync/test/all_test.dart @@ -33,7 +33,10 @@ main() { // Manually broadcast. Even though app1 has no clients, it *should* // propagate to app2. var ws = req.container.make(); - var body = await req.parseBody(); + + // TODO: body is void + //var body = await req.parseBody(); + var body = {}; ws.batchEvent(new WebSocketEvent( eventName: 'message', data: body['message'], diff --git a/packages/test/lib/src/matchers.dart b/packages/test/lib/src/matchers.dart index 7fadf2df..4fc664b0 100644 --- a/packages/test/lib/src/matchers.dart +++ b/packages/test/lib/src/matchers.dart @@ -1,9 +1,9 @@ import 'dart:convert'; import 'dart:io'; -import 'package:angel_http_exception/angel_http_exception.dart'; -import 'package:angel_validate/angel_validate.dart'; import 'package:http/http.dart' as http; import 'package:matcher/matcher.dart'; +import 'package:angel_http_exception/angel_http_exception.dart'; +import 'package:angel_validate/angel_validate.dart'; /// Expects a response to be a JSON representation of an `AngelHttpException`. /// diff --git a/packages/test/pubspec.yaml b/packages/test/pubspec.yaml index 0a9b6867..9ec177dd 100644 --- a/packages/test/pubspec.yaml +++ b/packages/test/pubspec.yaml @@ -3,17 +3,23 @@ description: Testing utility library for the Angel framework. Use with package:t homepage: https://github.com/angel-dart/test.git name: angel_test version: 2.0.1 +environment: + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_client: ^2.0.0 - angel_framework: ^2.0.0-alpha - angel_http_exception: ^1.0.0 - angel_validate: ^2.0.0 - angel_websocket: ^2.0.0 + angel_client: # ^2.0.0 + path: ../client + angel_framework: # ^2.0.0-alpha + path: ../framework + angel_http_exception: #^1.0.0 + path: ../http_exception + angel_validate: # ^2.0.0 + path: ../validate + angel_websocket: # ^2.0.0 + path: ../websocket http: ^0.12.0 matcher: ^0.12.0 mock_request: ^1.0.0 web_socket_channel: ^1.0.0 dev_dependencies: - test: ^1.0.0 -environment: - sdk: ">=2.0.0-dev <3.0.0" + test: ^1.15.7 + diff --git a/packages/typed_service/pubspec.yaml b/packages/typed_service/pubspec.yaml index 0317a10b..78fb673d 100644 --- a/packages/typed_service/pubspec.yaml +++ b/packages/typed_service/pubspec.yaml @@ -4,13 +4,15 @@ description: Angel services that use reflection to (de)serialize Dart objects. homepage: https://github.com/angel-dart/typed_service author: Tobe O environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework json_god: ^2.0.0-beta dev_dependencies: - angel_file_service: ^2.0.0 + angel_file_service: #^2.0.0 + path: ../file_service file: ^5.0.0 logging: ^0.11.0 pedantic: ^1.0.0 - test: ^1.0.0 \ No newline at end of file + test: ^1.15.7 \ No newline at end of file diff --git a/packages/user_agent/example/example.dart b/packages/user_agent/example/example.dart index 4c98333a..b94c41f7 100644 --- a/packages/user_agent/example/example.dart +++ b/packages/user_agent/example/example.dart @@ -1,12 +1,15 @@ import 'dart:io'; import 'package:angel_framework/angel_framework.dart'; +import 'package:angel_framework/http.dart'; import 'package:angel_user_agent/angel_user_agent.dart'; import 'package:user_agent/user_agent.dart'; main() async { - var app = new Angel(); - var http = new AngelHttp(app); + var app = Angel(); + var http = AngelHttp(app); + // TODO: Commented out due to unknow class + /* app.get( '/', waterfall([ @@ -19,6 +22,7 @@ main() async { }, ]), ); + */ var server = await http.startServer(InternetAddress.anyIPv4, 3000); print('Listening at http://${server.address.address}:${server.port}'); diff --git a/packages/user_agent/pubspec.yaml b/packages/user_agent/pubspec.yaml index 23815260..86476e56 100644 --- a/packages/user_agent/pubspec.yaml +++ b/packages/user_agent/pubspec.yaml @@ -4,7 +4,8 @@ description: Angel middleware to parse and inject a User Agent object into reque author: Tobe O homepage: https://github.com/angel-dart/user_agent environment: - sdk: ">=2.0.0-dev <3.0.0" + sdk: ">=2.10.0 <2.12.0" dependencies: - angel_framework: ^2.0.0-alpha + angel_framework: #^2.0.0-alpha + path: ../framework user_agent: ^2.0.0 \ No newline at end of file diff --git a/packages/validate/CHANGELOG.md b/packages/validate/CHANGELOG.md index 9e413e66..5b22eb77 100644 --- a/packages/validate/CHANGELOG.md +++ b/packages/validate/CHANGELOG.md @@ -1,10 +1,3 @@ -# 3.0.0-alpha.1 -* Add `MapField` and `UriField`. -* Fix how `FileField` handles allowed content types. - -# 3.0.0-alpha -* Rewrite, based on `Field` and `Form`, rather than strings. - # 2.0.2 * Deduplicate error messages. diff --git a/packages/validate/README.md b/packages/validate/README.md index d2469275..f7090962 100644 --- a/packages/validate/README.md +++ b/packages/validate/README.md @@ -2,94 +2,225 @@ [![Pub](https://img.shields.io/pub/v/angel_validate.svg)](https://pub.dartlang.org/packages/angel_validate) [![build status](https://travis-ci.org/angel-dart/validate.svg)](https://travis-ci.org/angel-dart/validate) -Strongly-typed form handlers and validators for Angel. -Version `3.x` is a major improvement over `2.x`, though it does include breaking changes. +[Live Example](https://angel-dart.github.io/validate) -`package:angel_validate` allows you to easily sanitize incoming data, and to deserialize -that data into Dart classes (usually using `package:angel_serialize`). +Validation library based on the `matcher` library, with Angel support. +Why re-invent the wheel, when you can use the same validators you already +use for tests? -# Field -The basic unit is the `Field` class, which is a type-safe way to read -values from a `RequestContext`. Here is a simple example of using a -`TextField` instance to read a value from the URL query parameters: +This library runs both on the server, and on the client. Thus, you can use +the same validation rules for forms on the server, and on the frontend. + +For convenience's sake, this library also exports `matcher`. + +* [Examples](#examples) + * [Creating a Validator](#creating-a-validator) + * [Validating Data](#validating-data) + * [Required Fields](#required-fields) + * [Forbidden Fields](#forbidden-fields) + * [Default Values](#default-values) + * [Custom Validator Functions](#custom-validator-functions) +* [Auto-parsing Numbers](#autoparse) +* [Filtering Maps](#filter) +* [Custom Error Messages](#custom-error-messages) +* [Extending Validators](#extending-validators) +* [Bundled Matchers](#bundled-matchers) +* [Nested Validators](#nested-validators) +* [Use with Angel](#use-with-angel) + +# Examples + +## Creating a Validator ```dart -app.get('/hello', (req, res) async { - var nameField = TextField('name'); - var name = await nameField.getValue(req, query: true); // String - return 'Hello, $name!'; -}); -``` +import 'package:angel_validate/angel_validate.dart'; -A `Field` can also use `Matcher` objects from `package:matcher` (which you may recognize from -its usage in `package:test`): - -```dart -var positiveNumberField = IntField('pos_num').match([isPositive]); -``` - -A `MapField` can embed a `Form` (forms covered below), and when combined with -`Field.deserialize`, can be used to deserialize structured data as a body field: - -```dart -app.post('/map_field', (req, res) async { - var form = Form(fields: [ - MapField('todo', todoForm).deserialize(Todo.fromMap), - ]); - - var data = await form.validate(req); - print(data['todo'] is Todo); -}); -``` - -There are several included field types: -* `TextField` - Standard text input. -* `BoolField` - Checks if a field is present; used for checkboxes. -* `NumField` - Base class that parses input as a number. -* `DoubleField` - Specialization of `NumField` for doubles. -* `IntField` - Specialization of `NumField` for integers. -* `DateTimeField` - Parses an input as an ISO-8601 date. -* `FileField` - Validates a file in `req.uploadedFiles`. -* `ImageField` - Uses `package:image` to decode an `UploadedFile` into an image. -* `MapField` - Validates a Map using a Form. -* `UriField` - Parses text input into a `Uri` object. - -# Forms -The `Form` class lets you combine `Field` instances, and decode -request bodies into `Map`. Unrecognized fields are -stripped out of the body, so a `Form` is effectively a whitelist. - -```dart -var todoForm = Form(fields: [ - TextField('text'), - BoolField('is_complete'), -]); - -// Validate a request body, and deserialize it immediately. -var todo = await todoForm.deserialize(req, TodoSerializer.fromMap); - -// Same as above, but with a Codec (i.e. via `angel_serialize`). -var todo = await todoForm.decode(req, todoSerializer); - -// Same as above, but returns the plain Map without any deserialization. -var todoMap = await todoForm.validate(req); - -// Lower-level functionality, typically not called directly. -// Use it if you want to handle validation errors directly, without -// throwing exceptions. -var result = await todoForm.read(req); -print(result.isSuccess); -print(result.errors.length); - -@serializable -class _Todo { - String text; - bool isComplete; +main() { + var validator = Validator({ + 'username': isAlphaNum, + 'multiple,keys,with,same,rules': [isString, isNotEmpty], + 'balance': [ + greaterThanOrEqualTo(0), + lessThan(1000000) + ], + 'nested': [ + foo, + [bar, baz] + ] + }); } ``` -## Form Rendering -TODO: Docs about this +## Validating data + +The `Validator` will filter out fields that have no validation rules. +You can rest easy knowing that attackers cannot slip extra data into +your applications. + +```dart +main() { + var result = validator.check(formData); + + if (!result.errors.isNotEmpty) { + // Invalid data + } else { + // Safely handle filtered data + return someSecureOperation(result.data); + } +} +``` + +You can `enforce` validation rules, and throw an error if validation fails. + +```dart +main() { + try { + // `enforce` will return the filtered data. + var safeData = validator.enforce(formData); + } on ValidationException catch(e) { + print(e.errors); + } +} +``` + +## Required Fields +Fields are optional by default. + +Suffix a field name with a `'*'` to mark it as required, and +to throw an error if it is not present. + +```dart +main() { + var validator = Validator({ + 'googleId*': isString, + + // You can also use `requireField` + requireField('googleId'): isString, + }); +} +``` + +## Forbidden Fields +To prevent a field from showing up in valid data, suffix it +with a `'!'`. + + +## Default values + +If not present, default values will be filled in *before* validation. +This means that they can still be used with required fields. + +```dart +final Validator todo = Validator({ + 'text*': isString, + 'completed*': isBool +}, defaultValues: { + 'completed': false +}); +``` + +Default values can also be parameterless, *synchronous* functions +that return a single value. + +## Custom Validator Functions +Creating a whole `Matcher` class is sometimes cumbersome, but if +you pass a function to the constructor, it will be wrapped in a +`Matcher` instance. + +(It simply returns the value of calling +[`predicate`](https://www.dartdocs.org/documentation/matcher/0.12.0%2B2/matcher/predicate.html).) + +The function must *synchronously* return a `bool`. + +```dart +main() { + var validator = Validator({ + 'key*': (key) { + var file = File('whitelist.txt'); + return file.readFileSync().contains(key); + } + }); +} +``` + +# Custom Error Messages +If these are not present, `angel_validate` will *attempt* to generate +a coherent error message on its own. + +```dart +Validator({ + 'age': [greaterThanOrEqualTo(18)] +}, customErrorMessages: { + 'age': 'You must be an adult to see this page.' +}); +``` +The string `{{value}}` will be replaced inside your error message automatically. + +# autoParse +Oftentimes, fields that we want to validate as numbers are passed as strings. +Calling `autoParse` will correct this before validation. + +```dart +main() { + var parsed = autoParse({ + 'age': '34', + 'weight': '135.6' + }, ['age', 'weight']); + + validator.enforce(parsed); +} +``` + +You can also call `checkParsed` or `enforceParsed` as a shorthand. + +# filter +This is a helper function to extract only the desired keys from a `Map`. + +```dart +var inputData = {'foo': 'bar', 'a': 'b', '1': 2}; +var only = filter(inputData, ['foo']); + +print(only); // { foo: bar } +``` + +# Extending Validators +You can add situation-specific rules within a child validator. +You can also use `extend` to mark fields as required or forbidden that originally +were not. Default value and custom error message extension is also supported. + +```dart +final Validator userValidator = Validator({ + 'username': isString, + 'age': [ + isNum, + greaterThanOrEqualTo(18) + ] +}); +``` + +To mark a field as now optional, and no longer required, +suffix its name with a `'?'`. + +```dart +var ageIsOptional = userValidator.extend({ + 'age?': [ + isNum, + greaterThanOrEqualTo(13) + ] +}); +``` + +Note that by default, validation rules are simply appended to +the existing list. To completely overwrite existing rules, set the +`overwrite` flag to `true`. + +```dart +register(Map userData) { + var teenUser = userValidator.extend({ + 'age': lessThan(18) + }, overwrite: true); +} +``` # Bundled Matchers This library includes some `Matcher`s for common validations, @@ -106,4 +237,80 @@ including: * `isUrl`: Asserts that a `String` is an HTTPS or HTTP URL. The remaining functionality is -[effectively implemented by the `matcher` package](https://www.dartdocs.org/documentation/matcher/latest/matcher/matcher-library.html). \ No newline at end of file +[effectively implemented by the `matcher` package](https://www.dartdocs.org/documentation/matcher/0.12.0%2B2/matcher/matcher-library.html). + +# Nested Validators +Very often, the data we validate contains other data within. You can pass +a `Validator` instance to the constructor, because it extends the +`Matcher` class. + +```dart +main() { + var bio = Validator({ + 'age*': [isInt, greaterThanOrEqualTo(0)], + 'birthYear*': isInt, + 'countryOfOrigin': isString + }); + + var book = Validator({ + 'title*': isString, + 'year*': [ + isNum, + (year) { + return year <= DateTime.now().year; + } + ] + }); + + var author = Validator({ + 'bio*': bio, + 'books*': [ + isList, + everyElement(book) + ] + }, defaultValues: { + 'books': [] + }); +} +``` + +# Use with Angel + +`server.dart` exposes seven helper middleware: +* `validate(validator)`: Validates and filters `req.bodyAsMap`, and throws an `AngelHttpException.BadRequest` if data is invalid. +* `validateEvent(validator)`: Sets `e.data` to the result of validation on a service event. +* `validateQuery(validator)`: Same as `validate`, but operates on `req.query`. +* `autoParseBody(fields)`: Auto-parses numbers in `req.bodyAsMap`. +* `autoParseQuery(fields)`: Same as `autoParseBody`, but operates on `req.query`. +* `filterBody(only)`: Filters unwanted data out of `req.bodyAsMap`. +* `filterQuery(only)`: Same as `filterBody`, but operates on `req.query`. + +```dart +import 'package:angel_framework/angel_framework.dart'; +import 'package:angel_validate/server.dart'; + +final Validator echo = Validator({ + 'message*': (String message) => message.length >= 5 +}); + +final Validator todo = Validator({ + 'text*': isString, + 'completed*': isBool +}, defaultValues: { + 'completed': false +}); + +main() async { + var app = Angel(); + + app.chain([validate(echo)]).post('/echo', (req, res) async { + res.write('You said: "${req.bodyAsMap["message"]}"'); + }); + + app.service('api/todos') + ..beforeCreated.listen(validateEvent(todo)) + ..beforeUpdated.listen(validateEvent(todo)); + + await app.startServer(); +} +``` diff --git a/packages/validate/example/main.dart b/packages/validate/example/main.dart index 199316a2..f9ed89b5 100644 --- a/packages/validate/example/main.dart +++ b/packages/validate/example/main.dart @@ -1,114 +1,27 @@ -import 'dart:async'; - -import 'package:angel_framework/angel_framework.dart'; -import 'package:angel_framework/http.dart'; import 'package:angel_validate/angel_validate.dart'; -import 'package:http_parser/http_parser.dart'; -import 'package:logging/logging.dart'; -import 'package:pretty_logging/pretty_logging.dart'; -Future main() async { - Logger.root - ..level = Level.ALL - ..onRecord.listen(prettyLog); - - var app = Angel(logger: Logger('angel_validate')); - var http = AngelHttp(app); - var todos = []; - - /// We can combine fields into a form; this is most - /// useful when we immediately deserialize the form into - /// something else. - var todoForm = Form(fields: [ - TextField('text'), - BoolField('is_complete'), - ]); - - /// We can directly use a `Form` to deserialize a - /// request body into a `Map`. - /// - /// By calling `deserialize` or `decode`, we can populate - /// concrete Dart objects. - app.post('/', (req, res) async { - var todo = await todoForm.deserialize(req, Todo.fromMap); - todos.add(todo); - await res.redirect('/'); +main() { + var bio = Validator({ + 'age*': [isInt, greaterThanOrEqualTo(0)], + 'birthYear*': isInt, + 'countryOfOrigin': isString }); - /// You can also use `Field`s to read directly from the - /// request, without `as` casts. - /// - /// In this handler, we read the value of `name` from the query. - app.get('/hello', (req, res) async { - var nameField = TextField('name'); - var name = await nameField.getValue(req, query: true); - return 'Hello, $name!'; + var book = Validator({ + 'title*': isString, + 'year*': [ + isNum, + (year) { + return year <= DateTime.now().year; + } + ] }); - /// Simple page displaying a form and some state. - app.get('/', (req, res) { - res - ..contentType = MediaType('text', 'html') - ..write(''' - - - -

angel_validate

-
    - ${todos.map((t) { - return '
  • ${t.text} (isComplete=${t.isComplete})
  • '; - }).join()} -
-
- - -
- - -
- -
- - - '''); + // ignore: unused_local_variable + var author = Validator({ + 'bio*': bio, + 'books*': [isList, everyElement(book)] + }, defaultValues: { + 'books': [] }); - - // You can use a [MapField] to embed one [Form] with another. - // In this example, we embed the [todoForm], but also call `.deserialize`, - // so that the final value we see is a [Todo] instance, rather than a [Map]. - app.post('/map_field', (req, res) async { - var form = Form(fields: [ - MapField('todo', todoForm).deserialize(Todo.fromMap), - ]); - var data = await form.validate(req); - var b = StringBuffer(); - b.write(data); - return b.toString(); - }); - - app.fallback((req, res) => throw AngelHttpException.notFound()); - - app.errorHandler = (e, req, res) { - res.writeln('Error ${e.statusCode}: ${e.message}'); - for (var error in e.errors) { - res.writeln('* $error'); - } - }; - - await http.startServer('127.0.0.1', 3011); - print('Listening at ${http.uri}'); -} - -class Todo { - final String text; - final bool isComplete; - - Todo(this.text, this.isComplete); - - static Todo fromMap(Map map) { - return Todo(map['text'] as String, map['is_complete'] as bool); - } - - @override - String toString() => 'Todo($text, $isComplete)'; } diff --git a/packages/validate/lib/angel_validate.dart b/packages/validate/lib/angel_validate.dart index 8a054d9c..0fa2c34d 100644 --- a/packages/validate/lib/angel_validate.dart +++ b/packages/validate/lib/angel_validate.dart @@ -1,5 +1,14 @@ -export 'src/common_fields.dart'; -export 'src/field.dart'; -export 'src/form.dart'; -export 'src/form_renderer.dart'; +/// Cross-platform validation library based on `matcher`. +library angel_validate; + +export 'package:matcher/matcher.dart'; +export 'src/context_aware.dart'; export 'src/matchers.dart'; +export 'src/validator.dart'; + +/// Marks a field name as required. +String requireField(String field) => '$field*'; + +/// Marks multiple fields as required. +String requireFields(Iterable fields) => + fields.map(requireField).join(', '); diff --git a/packages/validate/lib/src/common_fields.dart b/packages/validate/lib/src/common_fields.dart deleted file mode 100644 index 6885b6ff..00000000 --- a/packages/validate/lib/src/common_fields.dart +++ /dev/null @@ -1,433 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'package:angel_framework/angel_framework.dart'; -import 'package:http_parser/http_parser.dart'; -import 'package:image/image.dart'; -import 'field.dart'; -import 'form.dart'; -import 'form_renderer.dart'; - -/// A [Field] that accepts plain text. -class TextField extends Field { - /// If `true` (default), then renderers will produce a `