Skip to content

Commit d99c26d

Browse files
committed
chore: revert dx changes
1 parent f51c8f9 commit d99c26d

File tree

14 files changed

+39
-46
lines changed

14 files changed

+39
-46
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
php-version: ['8.2']
16-
sdk: [Android5Java17, Android14Java17, CLINode16, CLINode18, DartBeta, DartStable, Deno1303, Deno1404, DotNet60, DotNet70, FlutterStable, FlutterBeta, Go112, Go118, KotlinJava8, KotlinJava11, KotlinJava17, Node16, Node18, Node20, PHP74, PHP80, Python38, Python39, Python310, Ruby27, Ruby30, Ruby31, AppleSwift56, Swift56, WebChromium, WebNode]
16+
sdk: [Android5Java17, Android14Java17, CLINode16, CLINode18, DartBeta, DartStable, Deno1193, Deno1303, DotNet60, DotNet70, FlutterStable, FlutterBeta, Go112, Go118, KotlinJava8, KotlinJava11, KotlinJava17, Node16, Node18, Node20, PHP74, PHP80, Python38, Python39, Python310, Ruby27, Ruby30, Ruby31, AppleSwift56, Swift56, WebChromium, WebNode]
1717

1818
steps:
1919
- name: Checkout repository

src/SDK/Language.php

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -100,20 +100,10 @@ protected function toCamelCase($str): string
100100

101101
protected function toSnakeCase($str): string
102102
{
103-
// Replace alternative character sets
104-
$str = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
105-
106-
// Replace seperating characters with underscores
107-
// Includes: spaces, dashes, apostrophes, periods and slashes
108-
$str = preg_replace('/[ \'.\/-]/', '_', $str);
109-
110-
// Seperate camelCase with underscores
111-
$str = preg_replace_callback('/([a-z])([^a-z_])/', function ($matches) {
112-
return $matches[1] . '_' . strtolower($matches[2]);
113-
}, $str);
114-
115-
// Remove ignorable characters
116-
return preg_replace('/[^a-z0-9_]/', '', strtolower($str));
103+
$str = \preg_replace('/([a-z])([A-Z])/', '$1 $2', $str);
104+
$str = \explode(' ', $str);
105+
$str = \implode('_', $str);
106+
return \strtolower($str);
117107
}
118108

119109
protected function toUpperSnakeCase($str): string

src/SDK/Language/Deno.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,11 @@ public function getFiles(): array
134134
*/
135135
public function getTypeName(array $parameter, array $spec = []): string
136136
{
137+
if (isset($parameter['enumName'])) {
138+
return \ucfirst($parameter['enumName']);
139+
}
137140
if (!empty($parameter['enumValues'])) {
138-
return \implode(' | ', \array_map(function ($value) {
139-
return "\"$value\"";
140-
}, $parameter['enumValues']));
141+
return \ucfirst($parameter['name']);
141142
}
142143
return match ($parameter['type']) {
143144
self::TYPE_INTEGER => 'number',

src/SDK/Language/JS.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,11 @@ public function getIdentifierOverrides(): array
125125
*/
126126
public function getTypeName(array $parameter, array $spec = []): string
127127
{
128+
if (isset($parameter['enumName'])) {
129+
return \ucfirst($parameter['enumName']);
130+
}
128131
if (!empty($parameter['enumValues'])) {
129-
return \implode(' | ', \array_map(function ($value) {
130-
return "\"$value\"";
131-
}, $parameter['enumValues']));
132+
return \ucfirst($parameter['name']);
132133
}
133134
switch ($parameter['type']) {
134135
case self::TYPE_INTEGER:
@@ -203,7 +204,7 @@ public function getFilters(): array
203204
{
204205
return [
205206
new TwigFilter('caseEnumKey', function (string $value) {
206-
return $this->toUpperSnakeCase($value);
207+
return $this->toPascalCase($value);
207208
}),
208209
];
209210
}

src/SDK/Language/Node.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@ public function getName(): string
1919
*/
2020
public function getTypeName(array $parameter, array $spec = []): string
2121
{
22+
if (isset($parameter['enumName'])) {
23+
return \ucfirst($parameter['enumName']);
24+
}
2225
if (!empty($parameter['enumValues'])) {
23-
return \implode(' | ', \array_map(function ($value) {
24-
return "\"$value\"";
25-
}, $parameter['enumValues']));
26+
return \ucfirst($parameter['name']);
2627
}
2728
return match ($parameter['type']) {
2829
self::TYPE_INTEGER,

src/SDK/Language/Web.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,11 @@ public function getParamExample(array $param): string
179179

180180
public function getTypeName(array $parameter, array $method = []): string
181181
{
182+
if (isset($parameter['enumName'])) {
183+
return \ucfirst($parameter['enumName']);
184+
}
182185
if (!empty($parameter['enumValues'])) {
183-
return \implode(' | ', \array_map(function ($value) {
184-
return "\"$value\"";
185-
}, $parameter['enumValues']));
186+
return \ucfirst($parameter['name']);
186187
}
187188
switch ($parameter['type']) {
188189
case self::TYPE_INTEGER:
@@ -340,7 +341,7 @@ public function getFilters(): array
340341
return implode("\n", $value);
341342
}, ['is_safe' => ['html']]),
342343
new TwigFilter('caseEnumKey', function ($value) {
343-
return $this->toUpperSnakeCase($value);
344+
return $this->toPascalCase($value);
344345
}),
345346
];
346347
}

src/SDK/SDK.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Twig\TwigFilter;
1616
use MatthiasMullie\Minify;
1717
use Twig_Error_Loader;
18+
use Twig_Error_Runtime;
1819
use Twig_Error_Syntax;
1920

2021
class SDK

templates/deno/src/enums/enum.ts.twig

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
export const {{ enum.name | caseUcfirst | overrideIdentifier }} = Object.freeze({
2-
{% for value in enum.enum %}
3-
{% set key = enum.keys is empty ? value : enum.keys[loop.index0] %}
4-
{{ key | caseEnumKey }}: '{{value}}'{% if not loop.last %},{% endif %}
5-
6-
{% endfor %}
7-
});
1+
export enum {{ enum.name | caseUcfirst | overrideIdentifier }} {
2+
{%~ for value in enum.enum %}
3+
{%~ set key = enum.keys is empty ? value : enum.keys[loop.index0] %}
4+
{{ key | caseUcfirst | replace({'-': ''}) }} = '{{ value }}',
5+
{%~ endfor %}
6+
}

templates/web/src/enums/enum.ts.twig

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
export const {{ enum.name | caseUcfirst | overrideIdentifier }} = Object.freeze({
1+
export enum {{ enum.name | caseUcfirst }} {
22
{% for value in enum.enum %}
33
{% set key = enum.keys is empty ? value : enum.keys[loop.index0] %}
4-
{{ key | caseEnumKey }}: '{{value}}'{% if not loop.last %},{% endif %}
5-
4+
{{ key | replace({'-': ''}) | caseEnumKey }} = '{{ value }}',
65
{% endfor %}
7-
});
6+
}

tests/Deno1404Test.php renamed to tests/Deno1193Test.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Tests;
44

5-
class Deno1404Test extends Base
5+
class Deno1193Test extends Base
66
{
77
protected string $sdkName = 'deno';
88
protected string $sdkPlatform = 'server';
@@ -13,7 +13,7 @@ class Deno1404Test extends Base
1313
protected string $class = 'Appwrite\SDK\Language\Deno';
1414
protected array $build = [];
1515
protected string $command =
16-
'docker run --network="mockapi" --rm -v $(pwd):/app -w /app denoland/deno:alpine-1.40.4 run --allow-net --allow-read tests/languages/deno/tests.ts';
16+
'docker run --network="mockapi" --rm -v $(pwd):/app -w /app denoland/deno:alpine-1.19.3 run --allow-net --allow-read tests/languages/deno/tests.ts';
1717

1818
protected array $expectedOutput = [
1919
...Base::FOO_RESPONSES,

0 commit comments

Comments
 (0)