angel_typed_service 1.0.1

  • Readme
  • Changelog
  • Example
  • Installing
  • 63

typed_service #

Angel services that use reflection (via mirrors or codegen) to (de)serialize PODO's. Useful for quick prototypes.

Typically, package:angel_serialize is recommended.

Brief Example #

main() async {
  var app = Angel();
  var http = AngelHttp(app);
  var service = TypedService<String, Todo>(MapService());
  hierarchicalLoggingEnabled = true;
  app.use('/api/todos', service);

  app
    ..serializer = god.serialize
    ..logger = Logger.detached('typed_service')
    ..logger.onRecord.listen((rec) {
      print(rec);
      if (rec.error != null) print(rec.error);
      if (rec.stackTrace != null) print(rec.stackTrace);
    });

  await http.startServer('127.0.0.1', 3000);
  print('Listening at ${http.uri}');
}

1.0.1 #

  • Explicitly extend Service<Id, T>.
  • Override readData.
  • Use Service<Id, Map<String, dynamic>> for inner, instead of just Service<Id, Map>.

1.0.0 #

  • Initial version.

example/README.md

Command:

curl -X POST -d '@example/data.json' -H 'content-type: application/json' http://localhost:3000/api/todos; echo

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  angel_typed_service: ^1.0.1

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:angel_typed_service/angel_typed_service.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
27
Health:
Code health derived from static analysis. [more]
97
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
63
Learn more about scoring.

We analyzed this package on Oct 23, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.5.1
  • pana: 0.12.21

Platforms

Detected platforms: other

Primary library: package:angel_typed_service/angel_typed_service.dart with components: io, mirrors.

Health suggestions

Fix lib/angel_typed_service.dart. (-2.96 points)

Analysis of lib/angel_typed_service.dart reported 6 hints, including:

line 13 col 7: DO use curly braces for all flow control structures.

line 28 col 7: DO use curly braces for all flow control structures.

line 61 col 7: DO use curly braces for all flow control structures.

line 67 col 7: DO use curly braces for all flow control structures.

line 69 col 7: DO use curly braces for all flow control structures.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev <3.0.0
angel_framework ^2.0.0-alpha 2.0.4+1 2.0.5-beta
json_god ^2.0.0-beta 2.0.0-beta+3
Transitive dependencies
angel_container 1.1.0
angel_http_exception 1.1.0
angel_model 1.0.3
angel_route 3.0.6
charcode 1.1.2
code_buffer 1.0.1
collection 1.14.12
combinator 1.1.0
convert 2.1.1
crypto 2.1.3
dart2_constant 1.0.2+dart2
http2 1.0.0
http_parser 3.1.3
http_server 0.9.8+3
intl 0.16.0
matcher 0.12.6
merge_map 1.0.2
meta 1.1.7
mime 0.9.6+3
mock_request 1.0.6
path 1.6.4
quiver 2.0.5
quiver_hashcode 2.0.0
source_span 1.5.5
stack_trace 1.9.3
string_scanner 1.0.5
term_glyph 1.1.0
tuple 1.0.3
typed_data 1.1.6
uuid 2.0.2
Dev dependencies
angel_file_service ^2.0.0
file ^5.0.0 5.1.0
logging ^0.11.0 0.11.3+2
pedantic ^1.0.0 1.8.0+1
test ^1.0.0