yaml2podo 0.1.24 copy "yaml2podo: ^0.1.24" to clipboard
yaml2podo: ^0.1.24 copied to clipboard

discontinued
outdated

The `yaml2podo` is a generator and utility (all in one) that generates PODO classes to convert between JSON and Dart objects

yaml2podo #

The yaml2podo is a generator and utility (all in one) that generates PODO classes to convert between JSON and Dart objects

Version 0.1.24

Example of use. #

Declarations (simple enough and informative).

example/json_objects.yaml

{{file:example/json_objects.yaml}}

Run utility.

pub global run yaml2podo example/json_objects.yaml

Generated code does not contain dependencies and does not import anything. The same source code that you would write with your hands. Or at least very close to such a code.

example/json_objects.dart

{{file:example/json_objects.dart}}

And, of course, an example of using code.

example/example.dart

import 'json_objects.yaml2podo.dart';

void main() {
  var products = _getProducts();
  var items = _creataOrderItems(products);
  var order = Order(
      amount: _calculateAmount(items),
      date: DateTime(2019, 05, 31),
      items: items);
  var object = order.toJson();
  print(object);
  order = Order.fromJson(object);
  object = order.toJson();
  print(object);
}

List<OrderItem> _creataOrderItems(List<Product> products) {
  var result = <OrderItem>[];
  for (var i = 0; i < products.length; i++) {
    var product = products[i];
    var orderItem =
        OrderItem(price: 10.0 + i, product: product, quantity: i + 1);
    result.add(orderItem);
  }

  return result;
}

double _calculateAmount(List<OrderItem> items) {
  var result = 0.0;
  for (var item in items) {
    result += item.quantity * item.price;
  }

  return result;
}

List<Product> _getProducts() {
  var result = <Product>[];
  for (var i = 0; i < 2; i++) {
    var product = Product(id: i, name: 'Product $i');
    result.add(product);
  }

  return result;
}

Result:

{amount: 32.0, date: 2019-05-31T00:00:00.000, items: [{price: 10.0, product: {id: 0, name: Product 0}, qty: 1}, {price: 11.0, product: {id: 1, name: Product 1}, qty: 2}]}
{amount: 32.0, date: 2019-05-31T00:00:00.000, items: [{price: 10.0, product: {id: 0, name: Product 0}, qty: 1}, {price: 11.0, product: {id: 1, name: Product 1}, qty: 2}]}

How to install utility yaml2podo? #

Run the following command in the terminal

pub global activate yaml2podo
1
likes
0
pub points
0%
popularity

Publisher

unverified uploader

The `yaml2podo` is a generator and utility (all in one) that generates PODO classes to convert between JSON and Dart objects

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

analyzer, args, build, dart_style, path, yaml

More

Packages that depend on yaml2podo