diff --git a/example.php b/example.php index e14114544..7c309acea 100644 --- a/example.php +++ b/example.php @@ -196,7 +196,10 @@ function getSSLPage($url) { $sdk->generate(__DIR__ . '/examples/python'); // Dart - $sdk = new SDK(new Dart(), new Swagger2($spec)); + $dart = new Dart(); + $dart->setPackageName('dart_appwrite'); + + $sdk = new SDK($dart, new Swagger2($spec)); $sdk ->setName('NAME') @@ -219,7 +222,9 @@ function getSSLPage($url) { $sdk->generate(__DIR__ . '/examples/dart'); // Flutter - $sdk = new SDK(new Flutter(), new Swagger2($spec)); + $flutter = new Flutter(); + $flutter->setPackageName('appwrite'); + $sdk = new SDK($flutter, new Swagger2($spec)); $sdk ->setName('NAME') diff --git a/templates/dart/lib/client.dart.twig b/templates/dart/lib/client.dart.twig index f84de843e..cddd2c644 100644 --- a/templates/dart/lib/client.dart.twig +++ b/templates/dart/lib/client.dart.twig @@ -1,8 +1,4 @@ -import 'dart:io'; -import 'package:dio/dio.dart'; -import 'package:dio/adapter.dart'; - -import 'enums.dart'; +part of {{ language.params.packageName }}; class Client { String endPoint; diff --git a/templates/dart/lib/enums.dart.twig b/templates/dart/lib/enums.dart.twig index 2757f6073..f6d6920f1 100644 --- a/templates/dart/lib/enums.dart.twig +++ b/templates/dart/lib/enums.dart.twig @@ -1,3 +1,5 @@ +part of {{ language.params.packageName }}; + enum HttpMethod { get, post, put, delete, patch } extension HttpMethodString on HttpMethod { diff --git a/templates/dart/lib/package.dart.twig b/templates/dart/lib/package.dart.twig index e266bddee..474e4709f 100644 --- a/templates/dart/lib/package.dart.twig +++ b/templates/dart/lib/package.dart.twig @@ -1,7 +1,16 @@ +library {{ language.params.packageName }}; + +import 'dart:io'; +import 'package:dio/dio.dart'; +import 'package:meta/meta.dart'; +import 'package:dio/adapter.dart'; + + export 'package:dio/dio.dart' show Response, MultipartFile; -export 'client.dart'; -export 'enums.dart'; +part 'client.dart'; +part 'enums.dart'; +part 'service.dart'; {% for service in spec.services %} -export 'services/{{service.name | caseDash}}.dart'; +part 'services/{{service.name | caseDash}}.dart'; {% endfor %} diff --git a/templates/dart/lib/service.dart.twig b/templates/dart/lib/service.dart.twig index 1ae319b70..dad7e3472 100644 --- a/templates/dart/lib/service.dart.twig +++ b/templates/dart/lib/service.dart.twig @@ -1,4 +1,4 @@ -import 'client.dart'; +part of {{ language.params.packageName }}; class Service { final Client client; diff --git a/templates/dart/lib/services/service.dart.twig b/templates/dart/lib/services/service.dart.twig index 19c011784..d85795050 100644 --- a/templates/dart/lib/services/service.dart.twig +++ b/templates/dart/lib/services/service.dart.twig @@ -1,3 +1,5 @@ +part of {{ language.params.packageName }}; + {% macro parameter(parameter) %} {% if parameter.name == 'orderType' %}{% if parameter.required %}@required {% endif %}{{ 'OrderType orderType = OrderType.asc' }}{% else %} {% if parameter.required %}@required {% endif %}{{ parameter.type | typeName }} {{ parameter.name | caseCamel }}{{ parameter | escapeDollarSign | paramDefault }}{% endif %} @@ -10,12 +12,6 @@ '{{ parameter.name }}': {{ parameter.name | caseCamel }},{% endif %} {% endmacro %} -import 'package:dio/dio.dart'; -import 'package:meta/meta.dart'; -import "../client.dart"; -import '../enums.dart'; -import "../service.dart"; - class {{ service.name | caseUcfirst }} extends Service { {{ service.name | caseUcfirst }}(Client client): super(client); {% for method in service.methods %} diff --git a/templates/flutter/lib/client.dart.twig b/templates/flutter/lib/client.dart.twig index aaebef676..74f006a6b 100644 --- a/templates/flutter/lib/client.dart.twig +++ b/templates/flutter/lib/client.dart.twig @@ -1,14 +1,4 @@ -import 'dart:io'; - -import 'package:dio/dio.dart'; -import 'package:flutter/foundation.dart'; -import 'package:dio/adapter.dart'; -import 'package:dio_cookie_manager/dio_cookie_manager.dart'; -import 'package:cookie_jar/cookie_jar.dart'; -import 'package:path_provider/path_provider.dart'; -import 'package:package_info_plus/package_info_plus.dart'; - -import 'enums.dart'; +part of {{ language.params.packageName }}; class Client { String endPoint; diff --git a/templates/flutter/lib/enums.dart.twig b/templates/flutter/lib/enums.dart.twig index 2757f6073..f6d6920f1 100644 --- a/templates/flutter/lib/enums.dart.twig +++ b/templates/flutter/lib/enums.dart.twig @@ -1,3 +1,5 @@ +part of {{ language.params.packageName }}; + enum HttpMethod { get, post, put, delete, patch } extension HttpMethodString on HttpMethod { diff --git a/templates/flutter/lib/package.dart.twig b/templates/flutter/lib/package.dart.twig index f0b409945..14934dc75 100644 --- a/templates/flutter/lib/package.dart.twig +++ b/templates/flutter/lib/package.dart.twig @@ -1,7 +1,23 @@ +library {{ language.params.packageName }}; + +import 'dart:io'; +import 'package:universal_html/html.dart' as html; +import 'package:dio/dio.dart'; +import 'package:meta/meta.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_web_auth/flutter_web_auth.dart'; +import 'package:dio/adapter.dart'; +import 'package:dio_cookie_manager/dio_cookie_manager.dart'; +import 'package:cookie_jar/cookie_jar.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:package_info_plus/package_info_plus.dart'; + + export 'package:dio/dio.dart' show Response; -export 'client.dart'; -export 'enums.dart'; +part 'client.dart'; +part 'enums.dart'; +part 'service.dart'; {% for service in spec.services %} -export 'services/{{service.name | caseDash}}.dart'; +part 'services/{{service.name | caseDash}}.dart'; {% endfor %} diff --git a/templates/flutter/lib/service.dart.twig b/templates/flutter/lib/service.dart.twig index 1ae319b70..dad7e3472 100644 --- a/templates/flutter/lib/service.dart.twig +++ b/templates/flutter/lib/service.dart.twig @@ -1,4 +1,4 @@ -import 'client.dart'; +part of {{ language.params.packageName }}; class Service { final Client client; diff --git a/templates/flutter/lib/services/service.dart.twig b/templates/flutter/lib/services/service.dart.twig index e5514f205..43f835106 100644 --- a/templates/flutter/lib/services/service.dart.twig +++ b/templates/flutter/lib/services/service.dart.twig @@ -1,3 +1,5 @@ +part of {{ language.params.packageName }}; + {% macro parameter(parameter) %} {% if parameter.name == 'orderType' %}{% if parameter.required %}@required {% endif %}{{ 'OrderType orderType = OrderType.asc' }}{% else %} {% if parameter.required %}@required {% endif %}{{ parameter.type | typeName }} {{ parameter.name | caseCamel }}{{ parameter | escapeDollarSign | paramDefault }}{% endif %} @@ -10,22 +12,6 @@ '{{ parameter.name }}': {{ parameter.name | caseCamel }},{% endif %} {% endmacro %} -{% if(service.features.webAuth) %} -import 'dart:io'; -import 'package:universal_html/html.dart' as html; -{% endif %} - -import 'package:dio/dio.dart'; -import 'package:meta/meta.dart'; -{% if(service.features.webAuth) %} -import 'package:flutter/foundation.dart'; -import 'package:flutter_web_auth/flutter_web_auth.dart'; -{% endif %} - -import "../client.dart"; -import '../enums.dart'; -import "../service.dart"; - class {{ service.name | caseUcfirst }} extends Service { {{ service.name | caseUcfirst }}(Client client): super(client); {% for method in service.methods %}