GraphQL-Houtou
view release on metacpan or search on metacpan
lib/GraphQL/Houtou.xs view on Meta::CPAN
RETVAL
void
resolve_runtime_type_xs(dispatch, runtime_cache, value, context, info, abstract_type)
SV *dispatch
SV *runtime_cache
SV *value
SV *context
SV *info
SV *abstract_type
PPCODE:
{
SV *error = NULL;
SV *runtime_type = gql_runtime_vm_resolve_runtime_type_sv(
aTHX_ dispatch, runtime_cache, value, context, info, abstract_type, &error
);
EXTEND(SP, 2);
PUSHs(sv_2mortal(runtime_type ? runtime_type : newSV(0)));
PUSHs(sv_2mortal(error ? error : newSV(0)));
}
void
resolve_runtime_type_for_abstract_xs(runtime_cache, abstract_name, value, context, info, abstract_type)
SV *runtime_cache
SV *abstract_name
SV *value
SV *context
SV *info
SV *abstract_type
PPCODE:
{
SV *error = NULL;
STRLEN abstract_name_len = 0;
const char *abstract_name_pv = (abstract_name && SvOK(abstract_name))
? SvPV(abstract_name, abstract_name_len)
: NULL;
SV *runtime_type = gql_runtime_vm_resolve_runtime_type_for_abstract_sv(
aTHX_ runtime_cache, abstract_name_pv, value, context, info, abstract_type, &error
);
EXTEND(SP, 2);
lib/GraphQL/Houtou.xs view on Meta::CPAN
);
OUTPUT:
RETVAL
void
consume_outcome_xs(writer, data, result_name, outcome)
SV *writer
SV *data
SV *result_name
SV *outcome
PPCODE:
{
HV *data_hv = NULL;
gql_runtime_vm_writer_t *writer_state = gql_runtime_vm_expect_writer(aTHX_ writer);
gql_runtime_vm_outcome_t *outcome_state = gql_runtime_vm_expect_outcome(aTHX_ outcome);
if (data && SvOK(data) && SvROK(data) && SvTYPE(SvRV(data)) == SVt_PVHV) {
data_hv = (HV *)SvRV(data);
}
gql_runtime_vm_consume_outcome_struct(aTHX_ data_hv, result_name, outcome_state, writer_state);
}
lib/GraphQL/Houtou.xs view on Meta::CPAN
RETVAL = gql_runtime_vm_new_handle_sv(aTHX_ pkg, frame);
}
OUTPUT:
RETVAL
void
block_frame_add_pending_xs(frame, result_name, outcome)
SV *frame
SV *result_name
SV *outcome
PPCODE:
{
gql_runtime_vm_block_frame_t *state = gql_runtime_vm_expect_block_frame(aTHX_ frame);
gql_runtime_vm_block_frame_push_pending(aTHX_ state, result_name, outcome);
}
void
block_frame_consume_outcome_xs(frame, writer, result_name, outcome)
SV *frame
SV *writer
SV *result_name
( run in 0.516 second using v1.01-cache-2.11-cpan-92ad3014f07 )