Skip to content

Instantly share code, notes, and snippets.

@ResoDev
Created July 14, 2019 16:32
Show Gist options
  • Save ResoDev/b05dcee6748b5d270fcab53f33f80c6f to your computer and use it in GitHub Desktop.
Save ResoDev/b05dcee6748b5d270fcab53f33f80c6f to your computer and use it in GitHub Desktop.
Put this to File -> Preferences -> User Snippets -> Dart (or create new)
{
"Built Value": {
"prefix": "blt",
"body": [
"abstract class ${1} implements Built<${1}, ${1}Builder> {",
"\t${0:// fields go here}",
"",
"\t${1}._();",
"",
"\tfactory ${1}([updates(${1}Builder b)]) = _$${1};",
"}"
],
"description": "Built Value Class"
},
"Built Value Serializable": {
"prefix": "blts",
"body": [
"abstract class ${1} implements Built<${1}, ${1}Builder> {",
"\t${0:// fields go here}",
"",
"\t${1}._();",
"",
"\tfactory ${1}([updates(${1}Builder b)]) = _$${1};",
"",
"\tString toJson() {",
"\t\treturn json.encode(serializers.serializeWith(${1}.serializer, this));",
"\t}",
"",
"\tstatic ${1} fromJson(String jsonString) {",
"\t\treturn serializers.deserializeWith(${1}.serializer, json.decode(jsonString));",
"\t}",
"",
"\tstatic Serializer<${1}> get serializer => _$${1/(^[A-z]{1})/${1:/downcase}/}Serializer;",
"}"
],
"description": "Serializable to & from JSON"
},
"Built Value Header": {
"prefix": "blth",
"body": [
"import 'dart:convert';",
"",
"import 'package:built_collection/built_collection.dart';",
"import 'package:built_value/built_value.dart';",
"import 'package:built_value/serializer.dart';",
"",
"part '${1}.g.dart';",
],
"description": "Built Value Imports and File Header"
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment