* @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:----k+ncyTBUmfD1OeMOcJMznRnczssBOMGQ8g2vPKpsufjdj925BxdcHaThlFM1OS26kM2AQS4NE1PPlT0BLKTP0QJPORYYaFNJuwp30MomSZogu3loTgLqNuwbT7cHoKG6o6zlAsfvSp2d4AwDUlD2A2F19uY+sY1LdmJWdXwpssuRh0AnRFny+gwni3gFXegj3rcM4TymIB7UT9IM5tNjupdvxppCx7ZEKFRO7mSiDOsVpA9x/mXE3Uo7yCfGfkCCcXkdvEnXXYofOslkI7J0IXH1P53/91zfKNB8dT1hM0elstU6ajSPTo/kHPNX+gJOZreY1a/g7viKdKkvmyNyCKSKZ7l2+GGvyPigUu+Q1xOscmGGqD35DwixVJN6MRl3ain4kV9t2GJkIKeoFbmxS+SRuyfKRJwUi/lzC/XCHSR7mM8Ql+xwkwITKJsmUKQA4dS9+VHUM4yUjEujwU7P9siF11+SyNYO4HPBBCiyNmjPokQxpAzY31EPBJabH/CnbIBVAznpWjd1rJtG3m86lzDZNRCoqnEUywfkwfPEL7lcA+ZKU1EISchmKAH1mWO5gPU6oi5cuZSdFZqSEENBdwUwM4huCTO9HutIPxDh1mefqbB1TsoHKQgHX6dPUxLFTZeh8bRIOv56mpHUNCp1M3naOwqLUnMaCBp76+MGhCA=----ATTACHMENT:----MzcxMDMzMzQ3NTkxNDU5NyAxMTA0MjAyMTQ0ODM3ODA5IDE5MzI4NTIyODg4MTc5OTg=