artifact 1.0.16 copy "artifact: ^1.0.16" to clipboard
artifact: ^1.0.16 copied to clipboard

Data Modeling for the local madman

example/lib/example.dart

import 'package:artifact/artifact.dart';
import 'package:example/gen/artifacts.gen.dart';

// default is just `@artifact`
@Artifact(compression: false, reflection: true)
class Test {
  final String aString;
  final int aInt;
  final AEnum anEnum;
  final Sub aSub;
  final List<Sub>? subList;
  final Set<int> aSet;

  @rename("m")
  final Map<int, String> aMap;

  const Test({
    this.aString = 'default',
    required this.aInt,
    required this.anEnum,
    required this.aSub,
    required this.subList,
    required this.aSet,
    required this.aMap,
  });
}

@Artifact(compression: false, reflection: true)
class Sub {
  final int value;

  Sub({this.value = 42});
}

enum AEnum { first, second, third }

void main() {
  Map<String, dynamic> data = {"value": 41};

  Object object = $constructArtifact<Sub>();

  print(object.runtimeType);
  print($isArtifact(object));
  print((object as Sub).toYaml());
}
0
likes
0
points
1.34k
downloads

Publisher

verified publisherarcane.art

Weekly Downloads

Data Modeling for the local madman

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

fast_log, toml, toxic, xml, yaml, yaml_edit

More

Packages that depend on artifact