* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class GraphQL extends CodeGeneratorAbstract { /** * @inheritDoc */ public function getFileName(string $file): string { return $file . '.graphql'; } /** * @inheritDoc */ protected function newTypeGenerator(array $mapping): GeneratorInterface { return new Type\GraphQL($mapping); } /** * @inheritDoc */ protected function writeStruct( string $name, array $properties, ?string $extends, ?array $generics, StructType $origin, ): string { $code = 'type ' . $name . ' {' . "\n"; foreach ($properties as $name => $property) { /** @var Code\Property $property */ $code.= $this->indent . $name . ': ' . $property->getType() . ($property->isRequired() ? '!' : '') . "\n"; } $code.= '}' . "\n"; return $code; } } __halt_compiler();----SIGNATURE:----tXBVhigpBfjRCXh8c7K8LPvaYprPJP+w5G0fwBpIk5X/ZRXN1jBQp2tGUPgtrM8sh909OtF0d3uDi4gDsy85xjZ8BgjHaORXSXo3lAsh3SbxxbKUyYjALi+B+MKN7fLtBvYwraiG1xa1J0C+wu8ueJ3Yv9LfN5Pk+Fks2rZQsrHdqsLssokWKVgcSbsUbmfdxf4/byrUtnDfHkx+aSzkor2V/tce8C6ED3hBxJZvIAsaW9+osFLDFHRBKo8LvJ56GVLLif5aDCCMDmepl8TGRbxBZz6vD8doHgmwUuWXotZBYQJiRtS3QRP+o1lQy9JWl6GaW737xC3Ni3QDddZiAl4Ie+O2SnXmBJR5F6NW3EQxu7nKoqs2RTF+eA+0oyr3TKM2dXRJqGUcoxKKQRiUvKAgPG8xnYk9zfLwShON7zOS6eMixJwdHWyuBE7AWuQHmKhatUp/nRDy1VEbJKar5Gz3yj6U5FV+bU3sS4Tm0v9s/mmG6fTfP4Mh6QLub4tSezQOOoX1KJb/U8QR+y0MIjviKOliTausKVXpaGm4fxiH1IVKSGPykIXDx2yDMFsVHZTF7OKpFnVuG0nXx6REVzc0yENXinErhMc5X3/wV4YroiRqRRPnV5DSYHwe8Q6dH4vWxjTBuoVNDFwmmKgd28U/4ob8pbaGr8UmRcCKpLA=----ATTACHMENT:----OTUwNzkyNTQzNjY2Mzc2MSAzMzU5MDk0MjA1MjA3OTk4IDE5NTQ0MjAyOTAyNDM0OTM=