Header file schema.hpp
namespace eosio
{
//=== Get JSON Schema type name (Default) ===//
template <typename T>
std::string_view schema_type_name(T*);
//=== Get JSON Schema type name (Explicit Types) ===//
std::string_view schema_type_name(uint8_t*);
std::string_view schema_type_name(int8_t*);
std::string_view schema_type_name(uint16_t*);
std::string_view schema_type_name(int16_t*);
std::string_view schema_type_name(uint32_t*);
std::string_view schema_type_name(uint64_t*);
std::string_view schema_type_name(int64_t*);
std::string_view schema_type_name(eosio::name*);
std::string_view schema_type_name(eosio::symbol_code*);
std::string_view schema_type_name(eosio::time_point*);
std::string_view schema_type_name(eosio::block_timestamp*);
std::string_view schema_type_name(eosio::extended_asset*);
std::string_view schema_type_name(eosio::checksum256*);
std::string_view schema_type_name(shared_memory<datastream<const char *>>*);
//=== Make JSON Schema (Explicit Types) ===//
eosio::rope make_json_schema(shared_memory<std::string_view>*);
eosio::rope make_json_schema(eosio::name*);
eosio::rope make_json_schema(eosio::symbol_code*);
eosio::rope make_json_schema(eosio::time_point*);
eosio::rope make_json_schema(eosio::block_timestamp*);
eosio::rope make_json_schema(eosio::extended_asset*);
eosio::rope make_json_schema(eosio::checksum256*);
eosio::rope make_json_schema(shared_memory<datastream<const char *>>*);
template <eosio::tagged_variant_options Options, typename ... NamedTypes>
eosio::rope make_json_schema(tagged_variant<Options, NamedTypes...>*);
eosio::rope make_json_schema(bool*);
template <typename T>
eosio::rope make_json_schema(int*);
template <typename T>
eosio::rope make_json_schema(std::optional<T>*);
//=== Make JSON Schema (Reflected Objects) ===//
template <typename T>
eosio::rope make_json_schema(T*);
//=== Make JSON Schema (Use This) ===//
template <typename T>
eosio::rope make_json_schema();
}
Function eosio::schema_type_name
template <typename T>
std::string_view schema_type_name(T*);
Get JSON Schema type name. The argument is ignored; it may be nullptr
.
Returns “”, which prevents the type from being in the definitions
section of the schema.
Get JSON Schema type name (Explicit Types)
(1) std::string_view schema_type_name(uint8_t*);
(2) std::string_view schema_type_name(int8_t*);
(3) std::string_view schema_type_name(uint16_t*);
(4) std::string_view schema_type_name(int16_t*);
(5) std::string_view schema_type_name(uint32_t*);
(6) std::string_view schema_type_name(uint64_t*);
(7) std::string_view schema_type_name(int64_t*);
(8) std::string_view schema_type_name(eosio::name*);
(9) std::string_view schema_type_name(eosio::symbol_code*);
(10) std::string_view schema_type_name(eosio::time_point*);
(11) std::string_view schema_type_name(eosio::block_timestamp*);
(12) std::string_view schema_type_name(eosio::extended_asset*);
(13) std::string_view schema_type_name(eosio::checksum256*);
(14) std::string_view schema_type_name(shared_memory<datastream<const char *>>*);
Get JSON Schema type name. The argument is ignored; it may be nullptr
.
Make JSON Schema (Explicit Types)
(1) eosio::rope make_json_schema(shared_memory<std::string_view>*);
(2) eosio::rope make_json_schema(eosio::name*);
(3) eosio::rope make_json_schema(eosio::symbol_code*);
(4) eosio::rope make_json_schema(eosio::time_point*);
(5) eosio::rope make_json_schema(eosio::block_timestamp*);
(6) eosio::rope make_json_schema(eosio::extended_asset*);
(7) eosio::rope make_json_schema(eosio::checksum256*);
(8) eosio::rope make_json_schema(shared_memory<datastream<const char *>>*);
(9) template <eosio::tagged_variant_options Options, typename ... NamedTypes>
eosio::rope make_json_schema(tagged_variant<Options, NamedTypes...>*);
(10) eosio::rope make_json_schema(bool*);
(11) template <typename T>
eosio::rope make_json_schema(int*);
(12) template <typename T>
eosio::rope make_json_schema(std::optional<T>*);
Convert types to JSON Schema. The argument is ignored; it may be nullptr
. These overloads handle specified types.
Function eosio::make_json_schema
template <typename T>
eosio::rope make_json_schema(T*);
Convert types to JSON Schema. The argument is ignored; it may be nullptr
.
This overload works with reflected objects.
Function eosio::make_json_schema
template <typename T>
eosio::rope make_json_schema();
Convert types to JSON Schema and return result. This overload creates a schema including the definitions
section. The other overloads assume the definitions already exist.