osum_serializable 0.0.3 copy "osum_serializable: ^0.0.3" to clipboard
osum_serializable: ^0.0.3 copied to clipboard

Serialize almost everything you ever need! Supports serializing MaterialColor, Color, DateTime, Directory, File, Offset, Duration, and many more.

example/example.dart

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:osum_serializable/osum_serializable.dart';

part 'example.g.dart';

@JsonSerializable()
class Example {
  const Example(
    this.directory,
    this.file,
    this.color,
    this.duration,
    this.materialColor,
  );

  factory Example.fromJson(Json json) => _$ExampleFromJson(json);

  @DirectoryConverter() // <- Convertors provided by osum_serializable!
  final Directory directory;

  @FileConverter()
  final File file;

  @ColorConverter()
  final Color color;

  @MaterialColorConverter()
  final MaterialColor materialColor;

  @DurationConverter()
  final Duration duration;

  Json toJson() => _$ExampleToJson(this);
}

void main() {
  final eg = Example(
    Directory.current,
    File("test.txt"),
    const Color(0x000000FF),
    Duration.zero,
    Colors.amber,
  );

  // ignore: avoid_print
  print(eg.toJson());
}
2
likes
0
pub points
37%
popularity

Publisher

verified publisheraswinmurali.dev

Serialize almost everything you ever need! Supports serializing MaterialColor, Color, DateTime, Directory, File, Offset, Duration, and many more.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, json_annotation

More

Packages that depend on osum_serializable