Modern-OpenAPI-Generator

 view release on metacpan or  search on metacpan

lib/Modern/OpenAPI/Generator.pm  view on Meta::CPAN

requires 'perl', '5.026';
requires 'Mojolicious', '9.0';
requires 'Mojolicious::Plugin::OpenAPI', '5.00';
requires 'Mojolicious::Plugin::SwaggerUI', '0';
requires 'JSON::Validator', '5.0';
requires 'OpenAPI::Modern', '0.060';
requires 'Moo', '2.005';
requires 'Types::Standard', '2.000';
requires 'YAML::PP', '0.034';
requires 'JSON::MaybeXS', '1.004';
requires 'Modern::Perl::Prelude', '0';
requires 'Digest::SHA', '6.00';

on test => sub {
    requires 'Test::More', '0.96';
};
CPAN
    $writer->write( 'cpanfile', $txt );
}

1;

lib/Modern/OpenAPI/Generator/CodeGen/Auth.pm  view on Meta::CPAN

    $name =~ s{::}{/}g;
    return $name;
}

sub _hmac_pm {
    my ($pkg) = @_;
    return <<"HEAD" . <<'BODY';
package $pkg;

use v5.26;
use Modern::Perl::Prelude -class;

use Moo;
use Carp qw(croak);
use Digest::SHA qw(sha256_hex hmac_sha256_hex);

has api_secret => (
  is       => 'ro',
  required => 0,
);

lib/Modern/OpenAPI/Generator/CodeGen/Auth.pm  view on Meta::CPAN

=cut
BODY
}

sub _bearer_pm {
    my ($pkg) = @_;
    return <<"HEAD" . <<'BODY';
package $pkg;

use v5.26;
use Modern::Perl::Prelude -class;

use Moo;

has token => (
  is       => 'ro',
  required => 0,
);

HEAD
sub apply {

lib/Modern/OpenAPI/Generator/CodeGen/Client.pm  view on Meta::CPAN

  my \$out = eval { \$pkg->from_json( \$json, \$meta->{response_is_array} // 0 ) };
  return defined \$out ? \$out : \$json;
}

MID

    return <<"HEAD" . $mid . <<'CORE';
package $pkg;

use v5.26;
use Modern::Perl::Prelude -class;

use Moo;
use Types::Standard qw(Str ArrayRef InstanceOf);
use OpenAPI::Modern;
use Mojo::UserAgent;
use Mojo::URL;
use Mojo::JSON qw(encode_json);
use Mojo::Promise;
use Carp qw(croak);
use ${base}::Client::Result;

lib/Modern/OpenAPI/Generator/CodeGen/Client.pm  view on Meta::CPAN

  return \$self->core->request_p( \$meta, \\\%args );
}
SUB
    }

    my $body = join "\n", @methods;
    return <<"PM";
package $pkg;

use v5.26;
use Modern::Perl::Prelude -class;

use Moo::Role;
use Types::Standard qw(Bool InstanceOf);

requires 'core';

has sync_mode => (
  is       => 'ro',
  isa      => Bool,
  required => 1,

lib/Modern/OpenAPI/Generator/CodeGen/Client.pm  view on Meta::CPAN

1;
PM
}

sub _sync_pm {
    my ( $pkg, $ops_pkg, $core_pkg ) = @_;
    return <<"PM";
package $pkg;

use v5.26;
use Modern::Perl::Prelude -class;

use Moo;
use Types::Standard qw(InstanceOf);

has core => (
  is       => 'ro',
  isa      => InstanceOf ['$core_pkg'],
  required => 1,
);

lib/Modern/OpenAPI/Generator/CodeGen/Client.pm  view on Meta::CPAN

1;
PM
}

sub _async_pm {
    my ( $pkg, $ops_pkg, $core_pkg ) = @_;
    return <<"PM";
package $pkg;

use v5.26;
use Modern::Perl::Prelude -class;

use Moo;
use Types::Standard qw(InstanceOf);

has core => (
  is       => 'ro',
  isa      => InstanceOf ['$core_pkg'],
  required => 1,
);



( run in 1.027 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )