Skip to content

Commit eded549

Browse files
committed
finish all languages
1 parent 3ceec54 commit eded549

File tree

17 files changed

+115
-13
lines changed

17 files changed

+115
-13
lines changed

src/SDK/Language/Dart.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,8 @@ public function getParamExample(array $param): string
240240
}
241241

242242
return match ($type) {
243-
self::TYPE_ARRAY, self::TYPE_FILE, self::TYPE_INTEGER, self::TYPE_NUMBER => $example,
243+
self::TYPE_ARRAY => $this->isPermissionString($example) ? $this->getPermissionExample($example) : $example,
244+
self::TYPE_FILE, self::TYPE_INTEGER, self::TYPE_NUMBER => $example,
244245
self::TYPE_BOOLEAN => ($example) ? 'true' : 'false',
245246
self::TYPE_OBJECT => ($decoded = json_decode($example, true)) !== null
246247
? (empty($decoded) && $example === '{}'
@@ -251,6 +252,15 @@ public function getParamExample(array $param): string
251252
};
252253
}
253254

255+
public function getPermissionExample(string $example): string
256+
{
257+
$permissions = [];
258+
foreach ($this->extractPermissionParts($example) as $permission) {
259+
$permissions[] = 'Permission.' . $permission['action'] . '(Role.' . $permission['role'] . '())';
260+
}
261+
return '[' . implode(', ', $permissions) . ']';
262+
}
263+
254264
/**
255265
* @return array
256266
*/

src/SDK/Language/Deno.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ public function getParamExample(array $param): string
176176
}
177177

178178
return match ($type) {
179-
self::TYPE_ARRAY, self::TYPE_INTEGER, self::TYPE_NUMBER => $example,
179+
self::TYPE_ARRAY => $this->isPermissionString($example) ? $this->getPermissionExample($example) : $example,
180+
self::TYPE_INTEGER, self::TYPE_NUMBER => $example,
180181
self::TYPE_FILE => 'InputFile.fromPath(\'/path/to/file.png\', \'file.png\')',
181182
self::TYPE_BOOLEAN => ($example) ? 'true' : 'false',
182183
self::TYPE_OBJECT => ($example === '{}')
@@ -187,4 +188,13 @@ public function getParamExample(array $param): string
187188
self::TYPE_STRING => "'{$example}'",
188189
};
189190
}
191+
192+
public function getPermissionExample(string $example): string
193+
{
194+
$permissions = [];
195+
foreach ($this->extractPermissionParts($example) as $permission) {
196+
$permissions[] = 'Permission.' . $permission['action'] . '(Role.' . $permission['role'] . '())';
197+
}
198+
return '[' . implode(', ', $permissions) . ']';
199+
}
190200
}

src/SDK/Language/DotNet.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,11 @@ public function getParamExample(array $param): string
282282
case self::TYPE_FILE:
283283
case self::TYPE_NUMBER:
284284
case self::TYPE_INTEGER:
285-
case self::TYPE_ARRAY:
286285
$output .= $example;
287286
break;
287+
case self::TYPE_ARRAY:
288+
$output .= $this->isPermissionString($example) ? $this->getPermissionExample($example) : $example;
289+
break;
288290
case self::TYPE_OBJECT:
289291
if ($example === '{}') {
290292
$output .= '[object]';
@@ -310,6 +312,15 @@ public function getParamExample(array $param): string
310312
return $output;
311313
}
312314

315+
public function getPermissionExample(string $example): string
316+
{
317+
$permissions = [];
318+
foreach ($this->extractPermissionParts($example) as $permission) {
319+
$permissions[] = 'Permission.' . ucfirst($permission['action']) . '(Role.' . ucfirst($permission['role']) . '())';
320+
}
321+
return 'new List<string> { ' . implode(', ', $permissions) . ' }';
322+
}
323+
313324
/**
314325
* @return array
315326
*/

src/SDK/Language/Kotlin.php

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -257,13 +257,17 @@ public function getParamExample(array $param): string
257257
$output .= $example;
258258
break;
259259
case self::TYPE_ARRAY:
260-
if (\str_starts_with($example, '[')) {
261-
$example = \substr($example, 1);
262-
}
263-
if (\str_ends_with($example, ']')) {
264-
$example = \substr($example, 0, -1);
260+
if ($this->isPermissionString($example)) {
261+
$output .= $this->getPermissionExample($example);
262+
} else {
263+
if (\str_starts_with($example, '[')) {
264+
$example = \substr($example, 1);
265+
}
266+
if (\str_ends_with($example, ']')) {
267+
$example = \substr($example, 0, -1);
268+
}
269+
$output .= 'listOf(' . $example . ')';
265270
}
266-
$output .= 'listOf(' . $example . ')';
267271
break;
268272
case self::TYPE_BOOLEAN:
269273
$output .= ($example) ? 'true' : 'false';
@@ -277,6 +281,15 @@ public function getParamExample(array $param): string
277281
return $output;
278282
}
279283

284+
public function getPermissionExample(string $example): string
285+
{
286+
$permissions = [];
287+
foreach ($this->extractPermissionParts($example) as $permission) {
288+
$permissions[] = 'Permission.' . $permission['action'] . '(Role.' . $permission['role'] . '())';
289+
}
290+
return 'listOf(' . implode(', ', $permissions) . ')';
291+
}
292+
280293
/**
281294
* @return array
282295
*/

src/SDK/Language/Ruby.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,11 @@ public function getParamExample(array $param): string
302302
switch ($type) {
303303
case self::TYPE_NUMBER:
304304
case self::TYPE_INTEGER:
305-
case self::TYPE_ARRAY:
306305
$output .= $example;
307306
break;
307+
case self::TYPE_ARRAY:
308+
$output .= $this->isPermissionString($example) ? $this->getPermissionExample($example) : $example;
309+
break;
308310
case self::TYPE_OBJECT:
309311
$output .= $this->jsonToHash(json_decode($example, true));
310312
break;
@@ -323,6 +325,15 @@ public function getParamExample(array $param): string
323325
return $output;
324326
}
325327

328+
public function getPermissionExample(string $example): string
329+
{
330+
$permissions = [];
331+
foreach ($this->extractPermissionParts($example) as $permission) {
332+
$permissions[] = 'Permission.' . $permission['action'] . '(Role.' . $permission['role'] . '())';
333+
}
334+
return '[' . implode(', ', $permissions) . ']';
335+
}
336+
326337
/**
327338
* Converts JSON Object To Ruby Native Hash
328339
*

src/SDK/Language/Swift.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,9 +425,11 @@ public function getParamExample(array $param): string
425425
case self::TYPE_FILE:
426426
case self::TYPE_NUMBER:
427427
case self::TYPE_INTEGER:
428-
case self::TYPE_ARRAY:
429428
$output .= $example;
430429
break;
430+
case self::TYPE_ARRAY:
431+
$output .= $this->isPermissionString($example) ? $this->getPermissionExample($example) : $example;
432+
break;
431433
case self::TYPE_BOOLEAN:
432434
$output .= ($example) ? 'true' : 'false';
433435
break;
@@ -448,6 +450,15 @@ public function getParamExample(array $param): string
448450
return $output;
449451
}
450452

453+
public function getPermissionExample(string $example): string
454+
{
455+
$permissions = [];
456+
foreach ($this->extractPermissionParts($example) as $permission) {
457+
$permissions[] = 'Permission.' . $permission['action'] . '(Role.' . $permission['role'] . '())';
458+
}
459+
return '[' . implode(', ', $permissions) . ']';
460+
}
461+
451462
/**
452463
* Converts JSON Object To Swift Native Dictionary
453464
*

templates/android/docs/java/example.md.twig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ import {{ sdk.namespace | caseDot }}.enums.{{ name | caseUcfirst }};
2020
{% endif %}
2121
{% endif %}
2222
{% endfor %}
23+
{% if method.parameters.all | hasPermissionParam %}
24+
import {{ sdk.namespace | caseDot }}.Permission;
25+
import {{ sdk.namespace | caseDot }}.Role;
26+
{% endif %}
2327

2428
Client client = new Client(context)
2529
{%~ if method.auth|length > 0 %}

templates/android/docs/kotlin/example.md.twig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ import {{ sdk.namespace | caseDot }}.enums.{{ name | caseUcfirst }}
2020
{% endif %}
2121
{% endif %}
2222
{% endfor %}
23+
{% if method.parameters.all | hasPermissionParam %}
24+
import {{ sdk.namespace | caseDot }}.Permission
25+
import {{ sdk.namespace | caseDot }}.Role
26+
{% endif %}
2327

2428
val client = Client(context)
2529
{%~ if method.auth|length > 0 %}

templates/dart/docs/example.md.twig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
import 'dart:io';
33
{% endif %}
44
import 'package:{{ language.params.packageName }}/{{ language.params.packageName }}.dart';
5+
{% if method.parameters.all | hasPermissionParam %}
6+
import 'package:{{ language.params.packageName }}/permission.dart';
7+
import 'package:{{ language.params.packageName }}/role.dart';
8+
{% endif %}
59

610
Client client = Client()
711
{%~ if method.auth|length > 0 %}

templates/deno/docs/example.md.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Client, {{ service.name | caseUcfirst }}{% for parameter in method.parameters.all %}{% if parameter.enumValues | length > 0%}, {{ parameter.enumName | caseUcfirst}}{% endif %}{% endfor %} } from "https://deno.land/x/{{ spec.title | caseDash }}/mod.ts";
1+
import { Client, {{ service.name | caseUcfirst }}{% for parameter in method.parameters.all %}{% if parameter.enumValues | length > 0%}, {{ parameter.enumName | caseUcfirst}}{% endif %}{% endfor %}{% if method.parameters.all | hasPermissionParam %}, Permission, Role{% endif %} } from "https://deno.land/x/{{ spec.title | caseDash }}/mod.ts";
22

33
const client = new Client()
44
{%~ if method.auth|length > 0 %}

0 commit comments

Comments
 (0)