]> gitweb.hamatoma.de Git - flutter_bones.git/commitdiff
daily work: sub project model_tool, persistence works
authorHamatoma <author@hamatoma.de>
Tue, 20 Oct 2020 21:42:10 +0000 (23:42 +0200)
committerHamatoma <author@hamatoma.de>
Tue, 20 Oct 2020 21:42:10 +0000 (23:42 +0200)
31 files changed:
data/ddl/role.sql
data/ddl/user.sql
data/rest/configuration.yaml [new file with mode: 0644]
data/rest/role.yaml
data/rest/user.yaml
lib/db_tool.dart [deleted file]
lib/src/helper/settings.dart
lib/src/helper/string_helper.dart
lib/src/helper/validators.dart
lib/src/model/button_model.dart
lib/src/model/column_model.dart
lib/src/model/combobox_model.dart
lib/src/model/db_reference_model.dart
lib/src/model/field_model.dart
lib/src/model/model_base.dart
lib/src/model/module_model.dart
lib/src/model/section_model.dart
lib/src/model/standard/configuration_model.dart
lib/src/model/standard/role_model.dart
lib/src/model/standard/standard_modules.dart
lib/src/model/standard/user_model.dart
lib/src/model/table_model.dart
lib/src/model/text_field_model.dart
lib/src/model/text_model.dart
lib/src/widget/view.dart
model_tool/data [new symlink]
model_tool/lib/main.dart [new file with mode: 0644]
model_tool/lib/src/helper [new symlink]
model_tool/lib/src/model [new symlink]
model_tool/pubspec.yaml [new file with mode: 0644]
pubspec.yaml

index a061d4163052f45fb669198eafaa3119074a86d0..cba827e6dbae50b68da908f63c7a0c803d07a396 100644 (file)
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
 DROP TABLE IF EXISTS role;
 CREATE TABLE role (
   role_id INT(10) UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT,
@@ -10,17 +9,4 @@ CREATE TABLE role (
   role_changedat TIMESTAMP NULL,
   role_changedby VARCHAR(16),
   PRIMARY KEY(role_id)
-=======
-drop table if exists role;
-create table role (
-  role_id int(10) notnull unique,
-  role_name varchar(32) unique notnull,
-  role_priority int(10),
-  role_active char(1),
-  role_createdat timestamp null,
-  role_createdby varchar(16),
-  role_changedat timestamp null,
-  role_changedby varchar(16),
-  primary role_id
->>>>>>> origin/master
 );
index 2d239569b43eb6140794b2b683fd2ea3a90178da..84441b664798c1886e35598040196416377825a1 100644 (file)
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
 DROP TABLE IF EXISTS user;
 CREATE TABLE user (
   user_id INT(10) UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT,
@@ -12,19 +11,4 @@ CREATE TABLE user (
   user_changedat TIMESTAMP NULL,
   user_changedby VARCHAR(16),
   PRIMARY KEY(user_id)
-=======
-drop table if exists user;
-create table user (
-  user_id int(10) notnull unique,
-  user_name varchar(64) unique notnull,
-  user_displayname varchar(32) unique,
-  user_email varchar(128) unique,
-  user_password varchar(128),
-  user_role int(10),
-  user_createdat timestamp null,
-  user_createdby varchar(16),
-  user_changedat timestamp null,
-  user_changedby varchar(16),
-  primary user_id
->>>>>>> origin/master
 );
diff --git a/data/rest/configuration.yaml b/data/rest/configuration.yaml
new file mode 100644 (file)
index 0000000..2b6816a
--- /dev/null
@@ -0,0 +1,30 @@
+---
+# configuration of the bones backend for configuration:
+created: 2020.10.20 23:16:54
+author: flutter_bones.module_model.exportSqlBackend()
+version: 1.0.0
+modules:
+  - module: configuration
+    list:
+      - name: insert
+        type: insert
+        sql: "INSERT INTO configuration(configuration_scope,configuration_property,configuration_order,configuration_type,configuration_value,configuration_description,configuration_createdat,configuration_createdby)
+          VALUES(:configuration_scope,:configuration_property,:configuration_order,:configuration_type,:configuration_value,:configuration_description,NOW(),:configuration_createdby);"
+      - name: update
+        type: update
+        sql: "UPDATE configuration SET
+          configuration_scope=:configuration_scope,configuration_property=:configuration_property,configuration_order=:configuration_order,configuration_type=:configuration_type,configuration_value=:configuration_value,configuration_description=:configuration_description,configuration_changedat=NOW(),configuration_changedby=:configuration_changedby
+          WHERE configuration_id=:configuration_id;"
+      - name: delete
+        type: delete
+        sql: "DELETE from configuration WHERE configuration_id=:configuration_id;"
+      - name: record
+        type: record
+        sql: "SELECT * from configuration WHERE configuration_id=:configuration_id;"
+      - name: by_configuration_scope
+        type: record
+        sql: "SELECT * from configuration WHERE configuration_scope=:configuration_scope&&configuration_id!=:excluded;"
+      - name: list
+        type: list
+        sql: "SELECT * from configuration
+          WHERE configuration_name like :configuration_name AND configuration_scope like :configuration_scope AND configuration_scope like :configuration_scope;"
index 9d7cb3cf70280e8acc6f0626d1381c440457918a..25b32157c4952b2f9c9f48e2f320bfb9c071d2d8 100644 (file)
@@ -1,6 +1,6 @@
 ---
 # configuration of the bones backend for role:
-created: 2020.10.20 15:25:01
+created: 2020.10.20 23:16:54
 author: flutter_bones.module_model.exportSqlBackend()
 version: 1.0.0
 modules:
index 3a995c6f80df0c2b0d8f985af8a08ec58887572d..3ac76cd5788580f44929e1d60f44fb97bbb05e67 100644 (file)
@@ -1,6 +1,6 @@
 ---
 # configuration of the bones backend for user:
-created: 2020.10.20 15:25:01
+created: 2020.10.20 23:16:54
 author: flutter_bones.module_model.exportSqlBackend()
 version: 1.0.0
 modules:
diff --git a/lib/db_tool.dart b/lib/db_tool.dart
deleted file mode 100644 (file)
index 48299f4..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
-
-import 'src/model/standard/role_model.dart';
-import 'src/model/standard/user_model.dart';
-
-void main(List<String> argv) async {
-  final logger = MemoryLogger(LEVEL_FINE);
-  final dbHelper = DbHelper(logger);
-  if (argv.isEmpty) {
-    argv = ['export-sql'];
-  }
-  final mode = argv[0];
-  argv.removeAt(0);
-  final options = <String>[];
-  argv = StringHelper.splitArgv(argv, options);
-  switch (mode) {
-    case 'export-sql':
-      dbHelper.exportSql(argv, options);
-      break;
-    default:
-      logger.error('unknown mode: $mode');
-      break;
-  }
-}
-
-class DbHelper {
-  final BaseLogger logger;
-
-  DbHelper(this.logger);
-
-  void exportSql(List<String> args, List<String> options) {
-    String directory;
-    String value;
-    for (var opt in options) {
-      value = StringUtils.stringOption('directory', 'd', opt);
-      if (value != null) {
-        directory = value;
-      }
-    }
-    directory ??= 'data';
-    final dirDDL = FileSync.joinPaths(directory, 'ddl');
-    final dirREST = FileSync.joinPaths(directory, 'rest');
-    FileSync.ensureDirectory(dirDDL);
-    FileSync.ensureDirectory(dirREST);
-    if (args.isEmpty) {
-      args = ['user', 'role', 'configuration'];
-    }
-    while (args.isNotEmpty) {
-      final name = args[0];
-      args.removeAt(0);
-      ModuleModel module;
-      switch (name) {
-        case 'user':
-          module = UserModel(logger);
-          break;
-        case 'role':
-          module = RoleModel(logger);
-          break;
-        case 'configuration':
-          module = ConfigurationModel(logger);
-          break;
-        default:
-          logger.error('unknown table');
-          break;
-      }
-      if (module != null) {
-        module.parse();
-        var filename = FileSync.joinPaths(dirDDL, '$name.sql');
-        FileSync.toFile(filename, module.exportSqlCreateTable());
-        print('exported: $filename');
-        filename = FileSync.joinPaths(dirREST, '$name.yaml');
-        FileSync.toFile(filename, module.exportSqlBackend());
-        print('exported: $filename');
-      }
-    }
-  }
-
-  void usage(String error) {
-    print('''usage: dbhelper <mode> [<args>]
-<mode>:
-  create-sql [<module>] [<opt>]
-    <module>: 'role', 'user' ...
-    <opt>:
-      -d<dir> or --directory=<dir>:
-        the base directory used for the exported files.
-Examples:
-dbhelper create-sql role role.sql -d/tmp
-dbhelper create-sql --directory=/opt/sql-data
-''');
-  }
-}
index a3dfb5afce22809f32f8f16514a39807e7602b7c..7e814f65f9a8fb18b2bc702bfa7eec246760ae35 100644 (file)
@@ -1,10 +1,17 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
 import 'package:intl/date_symbol_data_local.dart';
 import 'package:intl/intl.dart';
+import 'package:meta/meta.dart';
 
+/// A replacement for dart_ui:Locale. This avoids a flutter dependency.
+/// Note: package:intl uses only a string for locale, e.g. 'en_US'.
+class SettingLocale {
+  String languageCode;
+  String countryCode;
+  SettingLocale({this.languageCode, this.countryCode});
+}
 class BaseSettings {
-  static Locale locale = Locale('US', 'en');
+  static var locale = SettingLocale(countryCode: 'US', languageCode: 'en');
 
   static get language => locale.languageCode;
 
@@ -29,7 +36,7 @@ class BaseSettings {
     country = country.toUpperCase();
     country = country == 'EN' ? 'US' : country;
     language = language.toLowerCase();
-    setLocale(Locale(language, country));
+    setLocale(SettingLocale(languageCode: language, countryCode: country));
   }
 
   /// Translates a [text] with a given translation [map].
index 85597595f362e384621fcf9568c8fb61fc146245..e94e597d3a025ac7f491b642772169fa1bc7e253 100644 (file)
@@ -1,6 +1,6 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
 import 'package:intl/intl.dart';
+import '../model/model_types.dart';
 
 class StringHelper {
   static final regExpTrue = RegExp(r'^(true|yes)$', caseSensitive: false);
index 351bf22e7176e77bbc03b559e26830407f474e93..8a044f4516348353d4c0fe8f1725376978ce91d7 100644 (file)
@@ -1,6 +1,6 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
 import 'package:meta/meta.dart';
+import 'settings.dart';
 
 /// Tests whether [input] is an valid email address.
 /// Returns null if it is a valid email address, otherwise an error message.
index 3fba73b8e2e486211eae53cc21e4a2a09228aa9e..9a2e1fa8f5cef83e39a41150a4c592b52e9292de 100644 (file)
@@ -1,8 +1,7 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter_bones/flutter_bones.dart';
-
-typedef ButtonOnPressed = void Function(String name);
+import 'widget_model.dart';
+import 'section_model.dart';
+import 'page_model.dart';
 
 /// Describes a button widget.
 class ButtonModel extends WidgetModel {
@@ -13,11 +12,6 @@ class ButtonModel extends WidgetModel {
   List<String> options;
   ButtonModelType buttonModelType;
 
-  VoidCallback onPressed;
-
-  VoidCallback onLongPressed;
-  ValueChanged<bool> onHighlightChanged;
-
   ButtonModel(SectionModel section, PageModel page, this.map, BaseLogger logger)
       : super(section, page, WidgetModelType.button, logger);
 
@@ -42,7 +36,6 @@ class ButtonModel extends WidgetModel {
         parseEnum<ButtonModelType>('buttonType', map, ButtonModelType.values);
     buttonModelType ??= ButtonModelType.custom;
     options = parseOptions('options', map);
-    onPressed = () => logger.error('${fullName()}: missing onPressed');
     checkOptionsByRegExpr(options, regExprOptions);
   }
 
index 63ee2f839ad4ac0b6cf75828f5b8c232853b9eb8..cf25439250f49256bf59d1bd0e337f17e66ff168 100644 (file)
@@ -1,6 +1,5 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/cupertino.dart';
-
+import 'package:meta/meta.dart';
 import 'model_base.dart';
 import 'model_types.dart';
 import 'table_model.dart';
index 695a47dab396e49b1da13e294c112da968763a6f..159bd3c80fec0d8ea29d86571f5d0544b5051182 100644 (file)
@@ -1,5 +1,4 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
 
 import 'field_model.dart';
 import 'page_model.dart';
@@ -11,8 +10,6 @@ class ComboboxModel extends FieldModel {
   static final regExprOptions = RegExp(r'^(readonly|disabled|required|undef)$');
   List<String> texts;
   List<dynamic> values;
-  FormFieldValidator<String> validator;
-  FormFieldSetter onSaved;
 
   final Map<String, dynamic> map;
 
index 5e9d9d1c0c522cb75234d5ced942960832833f5e..83f8081fcb22f03de3dc86887005f6fd31746282 100644 (file)
@@ -1,5 +1,4 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
 
 import 'column_model.dart';
 import 'field_model.dart';
@@ -15,10 +14,6 @@ class DbReferenceModel extends FieldModel {
   int rows;
   var value;
   ColumnModel column;
-  FormFieldValidator<String> validator;
-
-  FormFieldSetter onSaved;
-
   final Map<String, dynamic> map;
 
   DbReferenceModel(
index 5d5b0c823dd8bda0e901c8d3625e80c10af214ea..a833b027aa71080e17f607915759479afe5669ec 100644 (file)
@@ -1,5 +1,4 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
 
 import '../helper/string_helper.dart';
 import 'model_types.dart';
@@ -13,7 +12,6 @@ abstract class FieldModel extends WidgetModel {
   String label;
   String toolTip;
   DataType dataType;
-  FormFieldSetter onSaved;
   List<String> options;
   FilterType filterType;
 
index 189ccfeb1d7e643ff2d7e52b60704cbb8eb65f68..f0e775a6dc10d567de8467a82491f77ecd588d15 100644 (file)
@@ -1,5 +1,4 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
 import 'package:meta/meta.dart';
 
 import 'model_types.dart';
index 039affe8478fb9424307dcde4254654b9ea4c291..e93e6e56c7548c84b835a443fb6620cc9e3753f6 100644 (file)
@@ -1,12 +1,13 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter_bones/flutter_bones.dart';
-import 'package:flutter_bones/src/model/column_model.dart';
-import 'package:flutter_bones/src/model/table_model.dart';
+import 'column_model.dart';
+import 'table_model.dart';
 import 'package:meta/meta.dart';
-
 import 'model_base.dart';
 import 'page_model.dart';
+import 'field_model.dart';
+import 'model_types.dart';
+import 'widget_model.dart';
+import '../helper/string_helper.dart';
 
 /// Describes a module.
 /// A module realizes a model of an entitiy which is normally related to one
index c1955be7cbde817cda45b4d97c34eab9c5a3216b..05f49f6a8b4d344c3d725ff93ca2826421d02406 100644 (file)
@@ -1,7 +1,6 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/src/model/all_db_fields_model.dart';
-import 'package:flutter_bones/src/model/db_reference_model.dart';
-
+import 'all_db_fields_model.dart';
+import 'db_reference_model.dart';
 import 'button_model.dart';
 import 'checkbox_model.dart';
 import 'combobox_model.dart';
index fcc66a6074cb8d22cf14008dd7f05064d0ee8d30..a9534db32f5c1641fde4f4d4b3afdf3260c1a1b2 100644 (file)
@@ -1,5 +1,5 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
+import '../module_model.dart';
 
 ///
 class ConfigurationModel extends ModuleModel {
index a1c6b1c419516b14384954ded5df6fcc57f070df..553a838b4ddcb4d120ec4194286b80ce3956cf7a 100644 (file)
@@ -1,5 +1,5 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
+import '../module_model.dart';
 
 class RoleModel extends ModuleModel {
   static final yamlMap = <String, dynamic>{
index 7eda53f95661e43a25975f649d2934cb84447ca7..5aa6f0ac287b659c1f752a377c46b85200e35b52 100644 (file)
@@ -1,5 +1,8 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
+import '../module_model.dart';
+import 'role_model.dart';
+import 'user_model.dart';
+import 'configuration_model.dart';
 
 /// Returns an instance of a standard module given by [name].
 ModuleModel standardModule(String name, BaseLogger logger) {
index 84d18a992d1673bea8ae126f75b872232bb86a62..a8b0c54af7ebc8b26ec45361675360da53ad2969 100644 (file)
@@ -1,5 +1,5 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter_bones/flutter_bones.dart';
+import '../module_model.dart';
 
 class UserModel extends ModuleModel {
   static final model = <String, dynamic>{
index 3be6eff7defa676be4d2a0e26713a1cfd7128cca..37a4f1948661d2b4c2d9b98af9e0c915b4ee8537 100644 (file)
@@ -1,6 +1,5 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/foundation.dart';
-
+import 'package:meta/meta.dart';
 import 'column_model.dart';
 import 'model_base.dart';
 import 'model_types.dart';
index f3df8eacfa6f15e0c38c49f8aa6eb84b2dbdf41c..01a157a9c10f39b146dabb43f9327a47cd5aa57a 100644 (file)
@@ -1,5 +1,4 @@
 import 'package:dart_bones/dart_bones.dart';
-import 'package:flutter/material.dart';
 
 import 'field_model.dart';
 import 'model_types.dart';
@@ -15,10 +14,6 @@ class TextFieldModel extends FieldModel {
   int rows;
   var value;
 
-  FormFieldValidator<String> validator;
-
-  FormFieldSetter onSaved;
-
   final Map<String, dynamic> map;
 
   TextFieldModel(
index f16195d03a5ebfc88f2823086576afc3ab5b1925..55ec29ca208a4f60805fd1d0a701a73e9abddf25 100644 (file)
@@ -1,5 +1,4 @@
 import 'package:dart_bones/dart_bones.dart';
-
 import 'page_model.dart';
 import 'section_model.dart';
 import 'widget_model.dart';
index 989279cef1f4f81cd084dce0bf3b34f9a8c0105a..24c2b2a1422a6edf275a726a33b91217900cdf6d 100644 (file)
@@ -130,7 +130,7 @@ class View {
   Widget textField(TextFieldModel model) {
     var rc = toolTip(
         TextFormField(
-          validator: model.validator,
+          //validator: model.validator,
           decoration: InputDecoration(labelText: model.label),
           onSaved: (input) => model.value(input),
         ),
diff --git a/model_tool/data b/model_tool/data
new file mode 120000 (symlink)
index 0000000..4909e06
--- /dev/null
@@ -0,0 +1 @@
+../data
\ No newline at end of file
diff --git a/model_tool/lib/main.dart b/model_tool/lib/main.dart
new file mode 100644 (file)
index 0000000..17a4946
--- /dev/null
@@ -0,0 +1,78 @@
+import 'package:dart_bones/dart_bones.dart';
+
+import 'src/model/module_model.dart';
+import 'src/model/standard/standard_modules.dart';
+import 'src/helper/string_helper.dart';
+
+void main(List<String> argv) async {
+  final logger = MemoryLogger(LEVEL_FINE);
+  final dbHelper = DbHelper(logger);
+  if (argv.isEmpty) {
+    argv = ['export-sql'];
+  }
+  final mode = argv[0];
+  argv.removeAt(0);
+  final options = <String>[];
+  argv = StringHelper.splitArgv(argv, options);
+  switch (mode) {
+    case 'export-sql':
+      dbHelper.exportSql(argv, options);
+      break;
+    default:
+      logger.error('unknown mode: $mode');
+      break;
+  }
+}
+
+class DbHelper {
+  final BaseLogger logger;
+
+  DbHelper(this.logger);
+
+  void exportSql(List<String> args, List<String> options) {
+    String directory;
+    String value;
+    for (var opt in options) {
+      value = StringUtils.stringOption('directory', 'd', opt);
+      if (value != null) {
+        directory = value;
+      }
+    }
+    directory ??= 'data';
+    final dirDDL = FileSync.joinPaths(directory, 'ddl');
+    final dirREST = FileSync.joinPaths(directory, 'rest');
+    FileSync.ensureDirectory(dirDDL);
+    FileSync.ensureDirectory(dirREST);
+    if (args.isEmpty) {
+      args = standardModules();
+    }
+    while (args.isNotEmpty) {
+      final name = args[0];
+      args.removeAt(0);
+      ModuleModel module = standardModule(name, logger);
+      if (module != null) {
+        module.parse();
+        var filename = FileSync.joinPaths(dirDDL, '$name.sql');
+        FileSync.toFile(filename, module.exportSqlCreateTable());
+        print('exported: $filename');
+        filename = FileSync.joinPaths(dirREST, '$name.yaml');
+        FileSync.toFile(filename, module.exportSqlBackend());
+        print('exported: $filename');
+      }
+    }
+  }
+
+  void usage(String error) {
+    print('''usage: dbhelper <mode> [<args>]
+<mode>:
+  create-sql [<module>] [<opt>]
+    <module>: 'role', 'user' ...
+    <opt>:
+      -d<dir> or --directory=<dir>:
+        the base directory used for the exported files.
+Examples:
+dbhelper create-sql role role.sql -d/tmp
+dbhelper create-sql --directory=/opt/sql-data
+''');
+  }
+}
diff --git a/model_tool/lib/src/helper b/model_tool/lib/src/helper
new file mode 120000 (symlink)
index 0000000..165a190
--- /dev/null
@@ -0,0 +1 @@
+../../../lib/src/helper/
\ No newline at end of file
diff --git a/model_tool/lib/src/model b/model_tool/lib/src/model
new file mode 120000 (symlink)
index 0000000..91de7ef
--- /dev/null
@@ -0,0 +1 @@
+../../../lib/src/model/
\ No newline at end of file
diff --git a/model_tool/pubspec.yaml b/model_tool/pubspec.yaml
new file mode 100644 (file)
index 0000000..09ffb06
--- /dev/null
@@ -0,0 +1,38 @@
+name: flutter_bones_tool
+description: A tool round about the model defined in flutter_bones, e.g. export as yaml.
+
+# The following line prevents the package from being accidentally published to
+# pub.dev using `pub publish`. This is preferred for private packages.
+publish_to: 'none' # Remove this line if you wish to publish to pub.dev
+
+# The following defines the version and build number for your application.
+# A version number is three numbers separated by dots, like 1.2.43
+# followed by an optional build number separated by a +.
+# Both the version and the builder number may be overridden in flutter
+# build by specifying --build-name and --build-number, respectively.
+# In Android, build-name is used as versionName while build-number used as versionCode.
+# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
+# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
+# Read more about iOS versioning at
+# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
+version: 1.0.0+1
+
+environment:
+  sdk: ">=2.11.0-234.0.dev <3.0.0"
+
+dependencies:
+  dart_bones: "^0.4.6"
+
+
+  # The following adds the Cupertino Icons font to your application.
+  # Use with the CupertinoIcons class for iOS style icons.
+  # cupertino_icons: ^1.0.0
+
+dev_dependencies:
+
+#  flutter_test:
+#    sdk: flutter
+
+#flutter:
+
+#  uses-material-design: true
index 0cd45acd35dd7110fb580b060ec495d188667904..b7e6ee7799c0ad81d2ba05b54771bd949df759e1 100644 (file)
@@ -30,7 +30,7 @@ dependencies:
 
   # The following adds the Cupertino Icons font to your application.
   # Use with the CupertinoIcons class for iOS style icons.
-  cupertino_icons: ^1.0.0
+  cupertino_icons: ^1.0.0
 
 dev_dependencies:
   flutter_test: