Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ docker run --rm --interactive --tty --volume "%cd%":/app composer install
First, create a new class for the new language in this directory:
[/src/SDK/Language](https://github.com/appwrite/sdk-generator/tree/master/src/SDK/Language)


You can use the interface to know which methods are required to be implemented:
[/src/SDK/Language.php](https://github.com/appwrite/sdk-generator/blob/master/src/SDK/Language.php)

Expand Down
4 changes: 1 addition & 3 deletions example.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
use Appwrite\SDK\Language\CSharp;
use Appwrite\SDK\Language\Flutter;

$languages = ['web', 'node', 'php', 'python', 'ruby', 'dart', 'go', 'java', 'swift', 'typescript', 'deno', 'http', 'csharp'];

try {

function getSSLPage($url) {
Expand Down Expand Up @@ -195,7 +193,7 @@ function getSSLPage($url) {

$sdk->generate(__DIR__ . '/examples/dart');

// Dart
// Flutter
$sdk = new SDK(new Flutter(), new Swagger2($spec));

$sdk
Expand Down
26 changes: 0 additions & 26 deletions mock/templates/deno.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/SDK/Language/Dart.php
Original file line number Diff line number Diff line change
Expand Up @@ -320,4 +320,3 @@ public function getFiles()
];
}
}

229 changes: 1 addition & 228 deletions src/SDK/Language/Flutter.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

namespace Appwrite\SDK\Language;

use Appwrite\SDK\Language;

class Flutter extends Language {
class Flutter extends Dart {

/**
* @var array
Expand All @@ -13,17 +11,6 @@ class Flutter extends Language {
'packageName' => 'packageName',
];

/**
* @param string $name
* @return $this
*/
public function setPackageName($name)
{
$this->setParam('packageName', $name);

return $this;
}

/**
* @return string
*/
Expand All @@ -32,219 +19,6 @@ public function getName()
return 'Flutter';
}

/**
* Get Language Keywords List
*
* @return array
*/
public function getKeywords()
{
return [
"abstract",
"dynamic",
"implements",
"show",
"as",
"else",
"import",
"static",
"assert",
"enum",
"in",
"super",
"async",
"export",
"interface",
"switch",
"await",
"extends",
"is",
"sync",
"break",
"external",
"library",
"this",
"case",
"factory",
"mixin",
"throw",
"catch",
"false",
"new",
"true",
"class",
"final",
"null",
"try",
"const",
"finally",
"on",
"typedef",
"continue",
"for",
"operator",
"var",
"covariant",
"Function",
"part",
"void",
"default",
"get",
"rethrow",
"while",
"deferred",
"hide",
"return",
"with",
"do",
"if",
"set",
"yield",
];
}

/**
* @param $type
* @return string
*/
public function getTypeName($type)
{
switch ($type) {
case self::TYPE_INTEGER:
return 'int';
break;
case self::TYPE_STRING:
return 'String';
break;
case self::TYPE_FILE:
return 'MultipartFile';
break;
case self::TYPE_BOOLEAN:
return 'bool';
break;
case self::TYPE_ARRAY:
return 'List';
case self::TYPE_OBJECT:
return 'dynamic';
break;
}

return $type;
}

/**
* @param array $param
* @return string
*/
public function getParamDefault(array $param)
{
$type = $param['type'] ?? '';
$default = $param['default'] ?? '';
$required = $param['required'] ?? '';

if($required) {
return '';
}

$output = ' = ';

if(empty($default) && $default !== 0 && $default !== false) {
switch ($type) {
case self::TYPE_OBJECT:
$output .= '{}';
break;
case self::TYPE_NUMBER:
case self::TYPE_INTEGER:
$output .= '0';
break;
case self::TYPE_BOOLEAN:
$output .= 'false';
break;
case self::TYPE_ARRAY:
$output .= '[]';
break;
case self::TYPE_STRING:
$output .= "''";
break;
}
}
else {
switch ($type) {
case self::TYPE_OBJECT:
case self::TYPE_NUMBER:
case self::TYPE_INTEGER:
$output .= $default;
break;
case self::TYPE_ARRAY:
$output .= 'const '.$default;
break;
case self::TYPE_BOOLEAN:
$output .= ($default) ? 'true' : 'false';
break;
case self::TYPE_STRING:
$output .= "'{$default}'";
break;
}
}

return $output;
}

/**
* @param array $param
* @return string
*/
public function getParamExample(array $param)
{
$type = $param['type'] ?? '';
$example = $param['example'] ?? '';

$output = '';

if(empty($example) && $example !== 0 && $example !== false) {
switch ($type) {
case self::TYPE_FILE:
$output .= 'await MultipartFile.fromFile(\'./path-to-files/image.jpg\', \'image.jpg\')';
break;
case self::TYPE_NUMBER:
case self::TYPE_INTEGER:
$output .= '0';
break;
case self::TYPE_BOOLEAN:
$output .= 'false';
break;
case self::TYPE_STRING:
$output .= "''";
break;
case self::TYPE_OBJECT:
$output .= '{}';
break;
case self::TYPE_ARRAY:
$output .= '[]';
break;
}
}
else {
switch ($type) {
case self::TYPE_OBJECT:
case self::TYPE_FILE:
case self::TYPE_NUMBER:
case self::TYPE_INTEGER:
case self::TYPE_ARRAY:
$output .= $example;
break;
case self::TYPE_BOOLEAN:
$output .= ($example) ? 'true' : 'false';
break;
case self::TYPE_STRING:
$output .= "'{$example}'";
break;
}
}

return $output;
}

/**
* @return array
*/
Expand Down Expand Up @@ -320,4 +94,3 @@ public function getFiles()
];
}
}

6 changes: 2 additions & 4 deletions src/SDK/SDK.php
Original file line number Diff line number Diff line change
Expand Up @@ -465,10 +465,8 @@ public function generate($target)
'sdk' => $this->getParams(),
];

foreach ($this->language->getFiles() as $file) { /** @var $file [] */

/* @var $template \Twig\TemplateWrapper */
$template = $this->twig->load($file['template']);
foreach ($this->language->getFiles() as $file) {
$template = $this->twig->load($file['template']); /* @var $template \Twig\TemplateWrapper */
$destination = $target . '/' . $file['destination'];
$block = $file['block'] ?? null;
$minify = $file['minify'] ?? false;
Expand Down
14 changes: 0 additions & 14 deletions src/Spec/OpenAPI3.php

This file was deleted.