moonrockz/openrpc/domain
Types
ComponentKey
pub struct ComponentKey {
text : String
} derive(Eq, @moonbitlang/core/debug.Debug)Shared checked values for OpenRPC documents and embedded schemas.
ComponentKey::equal
fn ComponentKey::equal(ComponentKey, ComponentKey) -> BoolComponentKey::from_wire
fn ComponentKey::from_wire(text : String) -> ComponentKeyRetain a component key exactly as read. Whether it follows a version's key grammar is a validation result, not a reading failure.
ComponentKey::is_conforming
fn ComponentKey::is_conforming(self : ComponentKey) -> BoolWhether the key matches ^[a-zA-Z0-9.\-_]+$.
ComponentKey::not_equal
fn ComponentKey::not_equal(x : ComponentKey, y : ComponentKey) -> BoolComponentKey::parse
fn ComponentKey::parse(text : String) -> Result[ComponentKey, @moonrockz/openrpc/json.Diagnostic]ComponentKey::to_repr
fn ComponentKey::to_repr(ComponentKey) -> @moonbitlang/core/debug.ReprComponentKey::to_string
fn ComponentKey::to_string(self : ComponentKey) -> StringErrorCode
pub struct ErrorCode {
number : @moonrockz/openrpc/json.Number
} derive(Eq, @moonbitlang/core/debug.Debug)ErrorCode::equal
fn ErrorCode::equal(ErrorCode, ErrorCode) -> BoolErrorCode::from_number
fn ErrorCode::from_number(number : @moonrockz/openrpc/json.Number) -> Result[ErrorCode, @moonrockz/openrpc/json.Diagnostic]ErrorCode::not_equal
fn ErrorCode::not_equal(x : ErrorCode, y : ErrorCode) -> BoolErrorCode::number
fn ErrorCode::number(self : ErrorCode) -> @moonrockz/openrpc/json.NumberErrorCode::parse
fn ErrorCode::parse(token : String) -> Result[ErrorCode, @moonrockz/openrpc/json.Diagnostic]ErrorCode::to_repr
fn ErrorCode::to_repr(ErrorCode) -> @moonbitlang/core/debug.ReprExtensionName
pub struct ExtensionName {
text : String
} derive(Eq, @moonbitlang/core/debug.Debug)ExtensionName::equal
fn ExtensionName::equal(ExtensionName, ExtensionName) -> BoolExtensionName::not_equal
fn ExtensionName::not_equal(x : ExtensionName, y : ExtensionName) -> BoolExtensionName::parse
fn ExtensionName::parse(text : String) -> Result[ExtensionName, @moonrockz/openrpc/json.Diagnostic]ExtensionName::to_repr
fn ExtensionName::to_repr(ExtensionName) -> @moonbitlang/core/debug.ReprExtensionName::to_string
fn ExtensionName::to_string(self : ExtensionName) -> StringExtensions
pub struct Extensions {
entries : Array[(ExtensionName, @moonrockz/openrpc/json.Value)]
} derive(@moonbitlang/core/debug.Debug)Extensions::empty
fn Extensions::empty() -> ExtensionsExtensions::entries
fn Extensions::entries(self : Extensions) -> Array[(ExtensionName, @moonrockz/openrpc/json.Value)]Extensions::from_entries
fn Extensions::from_entries(entries : Array[(ExtensionName, @moonrockz/openrpc/json.Value)]) -> Result[Extensions, @moonrockz/openrpc/json.Diagnostic]Extensions::from_json
fn Extensions::from_json(value : @moonrockz/openrpc/json.Value) -> Result[Extensions, @moonrockz/openrpc/json.Diagnostic]Extensions::get
fn Extensions::get(self : Extensions, name : ExtensionName) -> @moonrockz/openrpc/json.Value?Extensions::to_json
fn Extensions::to_json(self : Extensions) -> @moonrockz/openrpc/json.ValueExtensions::to_repr
fn Extensions::to_repr(Extensions) -> @moonbitlang/core/debug.ReprValues
draft07_dialect
fn draft07_dialect(text : String) -> BoolWhether a $schema value names the draft-07 dialect.
draft07_subschemas
fn draft07_subschemas(keyword : String, value : @moonrockz/openrpc/json.Value) -> Array[(Array[String], @moonrockz/openrpc/json.Value)]The draft-07 subschema positions held by one keyword's value, as path
suffixes below that keyword. Only object and boolean values are positions;
literal keywords such as const, enum and default have none.
Shared by schema indexing and validation so both agree on what is a schema.