Skip to content

Commit eb779d6

Browse files
Merge pull request #1151 from appwrite/chore-improve-flutter-dart-sdk-scores
Chore improve flutter dart sdk scores
2 parents 14a6e52 + 5529fa0 commit eb779d6

31 files changed

+501
-286
lines changed

src/SDK/Language/Dart.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ public function getFilters(): array
511511
new TwigFilter('dartComment', function ($value) {
512512
$value = explode("\n", $value);
513513
foreach ($value as $key => $line) {
514-
$value[$key] = " /// " . wordwrap($value[$key], 75, "\n /// ");
514+
$value[$key] = " /// " . wordwrap($value[$key], 75, "\n /// ");
515515
}
516516
return implode("\n", $value);
517517
}, ['is_safe' => ['html']]),

src/SDK/Language/Flutter.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ public function getFiles(): array
253253
[
254254
'scope' => 'service',
255255
'destination' => '/test/services/{{service.name | caseDash}}_test.dart',
256-
'template' => 'dart/test/services/service_test.dart.twig',
256+
'template' => 'flutter/test/services/service_test.dart.twig',
257257
],
258258
[
259259
'scope' => 'definition',
@@ -345,6 +345,11 @@ public function getFiles(): array
345345
'destination' => '.github/workflows/format.yml',
346346
'template' => 'flutter/.github/workflows/format.yml.twig',
347347
],
348+
[
349+
'scope' => 'default',
350+
'destination' => '.github/workflows/test.yml',
351+
'template' => 'flutter/.github/workflows/test.yml',
352+
],
348353
[
349354
'scope' => 'enum',
350355
'destination' => 'lib/src/enums/{{ enum.name | caseSnake }}.dart',
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{% import 'dart/base/utils.twig' as utils %}
2-
final Map<String, dynamic> apiParams = {
3-
{{ utils.map_parameter(method.parameters.query) }}
4-
{{ utils.map_parameter(method.parameters.body) }}
5-
};
2+
final Map<String, dynamic> apiParams = {
3+
{{ utils.map_parameter(method.parameters.query) }}
4+
{{ utils.map_parameter(method.parameters.body) }}
5+
};
66

7-
final Map<String, String> apiHeaders = {
8-
{{ utils.map_headers(method.headers) }}
9-
};
7+
final Map<String, String> apiHeaders = {
8+
{{ utils.map_headers(method.headers) }}
9+
};
1010

11-
final res = await client.call(HttpMethod.{{ method.method | caseLower }}, path: apiPath, params: apiParams, headers: apiHeaders);
11+
final res = await client.call(HttpMethod.{{ method.method | caseLower }}, path: apiPath, params: apiParams, headers: apiHeaders);
1212

13-
return {% if method.responseModel and method.responseModel != 'any' %}models.{{method.responseModel | caseUcfirst | overrideIdentifier}}.fromMap(res.data){% else %} res.data{% endif %};
13+
return {% if method.responseModel and method.responseModel != 'any' %}models.{{method.responseModel | caseUcfirst | overrideIdentifier}}.fromMap(res.data){% else %} res.data{% endif %};
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
{% import 'dart/base/utils.twig' as utils %}
2-
final Map<String, dynamic> apiParams = {
3-
{{ utils.map_parameter(method.parameters.query) }}
4-
{{ utils.map_parameter(method.parameters.body) }}
5-
};
2+
final Map<String, dynamic> apiParams = {
3+
{{ utils.map_parameter(method.parameters.query) }}
4+
{{ utils.map_parameter(method.parameters.body) }}
5+
};
66

7-
final Map<String, String> apiHeaders = {
8-
{{ utils.map_headers(method.headers) }}
9-
};
7+
final Map<String, String> apiHeaders = {
8+
{{ utils.map_headers(method.headers) }}
9+
};
1010

1111
{% if 'multipart/form-data' in method.consumes %}
12-
String idParamName = '';
12+
String idParamName = '';
1313
{% for parameter in method.parameters.all %}
1414
{% if parameter.type == 'file' %}
15-
final paramName = '{{ parameter.name }}';
15+
final paramName = '{{ parameter.name }}';
1616
{% endif %}
1717
{% if parameter.isUploadID %}
18-
idParamName = '{{ parameter.name }}';
18+
idParamName = '{{ parameter.name }}';
1919
{% endif %}
2020
{% endfor %}
21-
final res = await client.chunkedUpload(
22-
path: apiPath,
23-
params: apiParams,
24-
paramName: paramName,
25-
idParamName: idParamName,
26-
headers: apiHeaders,
27-
onProgress: onProgress,
28-
);
21+
final res = await client.chunkedUpload(
22+
path: apiPath,
23+
params: apiParams,
24+
paramName: paramName,
25+
idParamName: idParamName,
26+
headers: apiHeaders,
27+
onProgress: onProgress,
28+
);
2929

30-
return {% if method.responseModel and method.responseModel != 'any' %}models.{{method.responseModel | caseUcfirst | overrideIdentifier}}.fromMap(res.data){% else %} res.data{% endif %};
30+
return {% if method.responseModel and method.responseModel != 'any' %}models.{{method.responseModel | caseUcfirst | overrideIdentifier}}.fromMap(res.data){% else %} res.data{% endif %};
3131
{% endif %}
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{% import 'dart/base/utils.twig' as utils %}
2-
final Map<String, dynamic> params = {
3-
{{ utils.map_parameter(method.parameters.query) }}
4-
{{ utils.map_parameter(method.parameters.body) }}
2+
final Map<String, dynamic> params = {
3+
{{ utils.map_parameter(method.parameters.query) }}
4+
{{ utils.map_parameter(method.parameters.body) }}
55
{% if method.auth|length > 0 %}{% for node in method.auth %}
66
{% for key,header in node|keys %}
7-
'{{header|caseLower}}': client.config['{{header|caseLower}}'],
7+
'{{header|caseLower}}': client.config['{{header|caseLower}}'],
88
{% endfor %}
99
{% endfor %}
1010
{% endif %}
11-
};
11+
};
1212

13-
final res = await client.call(HttpMethod.{{ method.method | caseLower }}, path: apiPath, params: params, responseType: ResponseType.bytes);
14-
return res.data;
13+
final res = await client.call(HttpMethod.{{ method.method | caseLower }}, path: apiPath, params: params, responseType: ResponseType.bytes);
14+
return res.data;
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
{% import 'dart/base/utils.twig' as utils %}
2-
final Map<String, dynamic> params = {
3-
{{ utils.map_parameter(method.parameters.query) }}
4-
{{ utils.map_parameter(method.parameters.body) }}
2+
final Map<String, dynamic> params = {
3+
{{ utils.map_parameter(method.parameters.query) }}
4+
{{ utils.map_parameter(method.parameters.body) }}
55
{% if method.auth|length > 0 %}
66
{% for node in method.auth %}
77
{% for key,header in node|keys %}
8-
'{{header|caseLower}}': client.config['{{header|caseLower}}'],
8+
'{{header|caseLower}}': client.config['{{header|caseLower}}'],
99
{% endfor %}
1010
{% endfor %}
1111
{% endif %}
12-
};
12+
};
1313

14-
final List query = [];
14+
final List query = [];
1515

16-
params.forEach((key, value) {
17-
if (value is List) {
18-
for (var item in value) {
19-
query.add(Uri.encodeComponent(key + '[]') + '=' + Uri.encodeComponent(item));
20-
}
21-
} else if(value != null) {
22-
query.add(Uri.encodeComponent(key) + '=' + Uri.encodeComponent(value));
23-
}
24-
});
16+
params.forEach((key, value) {
17+
if (value is List) {
18+
for (var item in value) {
19+
query.add(Uri.encodeComponent(key + '[]') + '=' + Uri.encodeComponent(item));
20+
}
21+
} else if (value != null) {
22+
query.add(Uri.encodeComponent(key) + '=' + Uri.encodeComponent(value));
23+
}
24+
});
2525

26-
Uri endpoint = Uri.parse(client.endPoint);
27-
Uri url = Uri(scheme: endpoint.scheme,
28-
host: endpoint.host,
29-
port: endpoint.port,
30-
path: endpoint.path + apiPath,
31-
query: query.join('&')
32-
);
26+
Uri endpoint = Uri.parse(client.endPoint);
27+
Uri url = Uri(scheme: endpoint.scheme,
28+
host: endpoint.host,
29+
port: endpoint.port,
30+
path: endpoint.path + apiPath,
31+
query: query.join('&')
32+
);
3333

34-
return client.webAuth(url);
34+
return client.webAuth(url);

templates/dart/lib/id.dart.twig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ class ID {
1010
final now = DateTime.now();
1111
final sec = (now.millisecondsSinceEpoch / 1000).floor();
1212
final usec = now.microsecondsSinceEpoch - (sec * 1000000);
13-
return sec.toRadixString(16) +
14-
usec.toRadixString(16).padLeft(5, '0');
13+
return sec.toRadixString(16) + usec.toRadixString(16).padLeft(5, '0');
1514
}
1615

1716
// Generate a unique ID with padding to have a longer ID

templates/dart/lib/package.dart.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// {{spec.title | caseUcfirst}} {{sdk.name}} SDK
22
///
3-
/// This SDK is compatible with Appwrite server version {{spec.version | split('.') | slice(0,2) | join('.') ~ '.x' }}.
3+
/// This SDK is compatible with Appwrite server version {{spec.version | split('.') | slice(0,2) | join('.') ~ '.x' }}.
44
/// For older versions, please check
55
/// [previous releases](https://github.com/{{sdk.gitUserName}}/{{sdk.gitRepoName}}/releases).
66
library {{ language.params.packageName }};

templates/dart/lib/query.dart.twig

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
part of '{{ language.params.packageName }}.dart';
22

3-
43
/// Helper class to generate query strings.
54
class Query {
65
final String method;
@@ -10,9 +9,7 @@ class Query {
109
Query._(this.method, [this.attribute = null, this.values = null]);
1110

1211
Map<String, dynamic> toJson() {
13-
final map = <String, dynamic>{
14-
'method': method,
15-
};
12+
final map = <String, dynamic>{'method': method};
1613

1714
if(attribute != null) {
1815
map['attribute'] = attribute;
@@ -61,10 +58,12 @@ class Query {
6158
Query._('search', attribute, value).toString();
6259

6360
/// Filter resources where [attribute] is null.
64-
static String isNull(String attribute) => Query._('isNull', attribute).toString();
61+
static String isNull(String attribute) =>
62+
Query._('isNull', attribute).toString();
6563

6664
/// Filter resources where [attribute] is not null.
67-
static String isNotNull(String attribute) => Query._('isNotNull', attribute).toString();
65+
static String isNotNull(String attribute) =>
66+
Query._('isNotNull', attribute).toString();
6867

6968
/// Filter resources where [attribute] is between [start] and [end] (inclusive).
7069
static String between(String attribute, dynamic start, dynamic end) =>
@@ -105,44 +104,58 @@ class Query {
105104
Query._('notEndsWith', attribute, value).toString();
106105

107106
/// Filter resources where document was created before [value].
108-
static String createdBefore(String value) => Query._('createdBefore', null, value).toString();
107+
static String createdBefore(String value) =>
108+
Query._('createdBefore', null, value).toString();
109109

110110
/// Filter resources where document was created after [value].
111-
static String createdAfter(String value) => Query._('createdAfter', null, value).toString();
111+
static String createdAfter(String value) =>
112+
Query._('createdAfter', null, value).toString();
112113

113114
/// Filter resources where document was updated before [value].
114-
static String updatedBefore(String value) => Query._('updatedBefore', null, value).toString();
115+
static String updatedBefore(String value) =>
116+
Query._('updatedBefore', null, value).toString();
115117

116118
/// Filter resources where document was updated after [value].
117-
static String updatedAfter(String value) => Query._('updatedAfter', null, value).toString();
119+
static String updatedAfter(String value) =>
120+
Query._('updatedAfter', null, value).toString();
118121

119-
static String or(List<String> queries) =>
120-
Query._('or', null, queries.map((query) => jsonDecode(query)).toList()).toString();
122+
static String or(List<String> queries) => Query._(
123+
'or',
124+
null,
125+
queries.map((query) => jsonDecode(query)).toList(),
126+
).toString();
121127

122-
static String and(List<String> queries) =>
123-
Query._('and', null, queries.map((query) => jsonDecode(query)).toList()).toString();
128+
static String and(List<String> queries) => Query._(
129+
'and',
130+
null,
131+
queries.map((query) => jsonDecode(query)).toList(),
132+
).toString();
124133

125134
/// Specify which attributes should be returned by the API call.
126135
static String select(List<String> attributes) =>
127136
Query._('select', null, attributes).toString();
128137

129138
/// Sort results by [attribute] ascending.
130-
static String orderAsc(String attribute) => Query._('orderAsc', attribute).toString();
139+
static String orderAsc(String attribute) =>
140+
Query._('orderAsc', attribute).toString();
131141

132142
/// Sort results by [attribute] descending.
133-
static String orderDesc(String attribute) => Query._('orderDesc', attribute).toString();
143+
static String orderDesc(String attribute) =>
144+
Query._('orderDesc', attribute).toString();
134145

135146
/// Return results before [id].
136147
///
137148
/// Refer to the [Cursor Based Pagination]({{sdk.url}}/docs/pagination#cursor-pagination)
138149
/// docs for more information.
139-
static String cursorBefore(String id) => Query._('cursorBefore', null, id).toString();
150+
static String cursorBefore(String id) =>
151+
Query._('cursorBefore', null, id).toString();
140152

141153
/// Return results after [id].
142154
///
143155
/// Refer to the [Cursor Based Pagination]({{sdk.url}}/docs/pagination#cursor-pagination)
144156
/// docs for more information.
145-
static String cursorAfter(String id) => Query._('cursorAfter', null, id).toString();
157+
static String cursorAfter(String id) =>
158+
Query._('cursorAfter', null, id).toString();
146159

147160
/// Return only [limit] results.
148161
static String limit(int limit) => Query._('limit', null, limit).toString();
@@ -151,6 +164,6 @@ class Query {
151164
///
152165
/// Refer to the [Offset Pagination]({{sdk.url}}/docs/pagination#offset-pagination)
153166
/// docs for more information.
154-
static String offset(int offset) => Query._('offset', null, offset).toString();
155-
167+
static String offset(int offset) =>
168+
Query._('offset', null, offset).toString();
156169
}

0 commit comments

Comments
 (0)