Areo-Joe/webidl/parser does not have a README file

    Tokens

    An ArrayView represents a view into a section of an array without copying the data. It stores its own start offset and length when it is created, so iteration over a view keeps using those bounds even if the underlying array is later structurally modified.

    Example

    test {
    let arr = [1, 2, 3, 4, 5]
    let view = arr[1:4] // Creates a view of elements at indices 1,2,3
    @test.assert_eq(view[0], 2)
    @test.assert_eq(view.length(), 3)
    }

    Argument

    pub struct Argument {
    extended_attribute_list : ExtendedAttributeList
    argument_rest : ArgumentRest
    }

    ArgumentList

    pub enum ArgumentList {
    Some(Argument, Arguments)
    None
    }

    ArgumentList::iter

    fn ArgumentList::iter(self : ArgumentList) -> Iter[Argument]

    ArgumentName

    pub enum ArgumentName {
    ArgumentNameKeyword(ArgumentNameKeyword)
    Identifier(StringView)
    }

    ArgumentNameKeyword

    pub enum ArgumentNameKeyword {
    Attribute
    Callback
    Const
    Constructor
    Deleter
    Dictionary
    Enum
    Getter
    Includes
    Inherit
    Interface
    Iterable
    Maplike
    Mixin
    Namespace
    Partial
    Readonly
    Required
    Setlike
    Setter
    Static
    Stringifier
    Typedef
    Unrestricted
    } derive(
    Debug
    )

    ArgumentRest

    pub enum ArgumentRest {
    Optional(TypeWithExtendedAttributes, ArgumentName, Default)
    Ellipsisable(Type, Ellipsis, ArgumentName)
    }

    Arguments

    pub enum Arguments {
    Some(Argument, Arguments)
    None
    }

    Arguments::iter

    fn Arguments::iter(self : Arguments) -> Iter[Argument]

    AsyncIterable

    pub struct AsyncIterable {
    type_with_extended_attributes : TypeWithExtendedAttributes
    optional_type : OptionalType
    optional_argument_list : OptionalArgumentList
    }

    AttributeName

    pub enum AttributeName {
    AttributeNameKeyword(AttributeNameKeyword)
    Identifier(StringView)
    }

    AttributeNameKeyword

    pub enum AttributeNameKeyword {
    Required
    }

    AttributeRest

    pub struct AttributeRest {
    type_with_extended_attributes : TypeWithExtendedAttributes
    attribute_name : AttributeName
    }

    BooleanLiteral

    pub enum BooleanLiteral {
    True
    False
    }

    BufferRelatedType

    pub enum BufferRelatedType {
    ArrayBuffer
    SharedArrayBuffer
    DataView
    Int8Array
    Int16Array
    Int32Array
    Uint8Array
    Uint16Array
    Uint32Array
    Uint8ClampedArray
    BigInt64Array
    BigUint64Array
    Float16Array
    Float32Array
    Float64Array
    } derive(
    Debug
    )

    CallbackInterfaceMember

    pub enum CallbackInterfaceMember {
    Const(Const)
    RegularOperation(RegularOperation)
    }

    CallbackInterfaceMembers

    pub enum CallbackInterfaceMembers {
    Some(ExtendedAttributeList, CallbackInterfaceMember, CallbackInterfaceMembers)
    None
    }

    CallbackOrInterfaceOrMixin

    pub enum CallbackOrInterfaceOrMixin {
    Callback(CallbackRestOrInterface)
    Interface(InterfaceOrMixin)
    }

    CallbackRest

    pub struct CallbackRest {
    identifier : StringView
    type_ : Type
    argument_list : ArgumentList
    }

    CallbackRestOrInterface

    pub enum CallbackRestOrInterface {
    CallbackRest(CallbackRest)
    Interface(StringView, CallbackInterfaceMembers)
    }

    Const

    pub struct Const {
    const_type : ConstType
    identifier : StringView
    const_value : ConstValue
    }

    ConstType

    pub enum ConstType {
    PrimitiveType(PrimitiveType)
    Identifier(StringView)
    }

    ConstValue

    pub enum ConstValue {
    BooleanLiteral(BooleanLiteral)
    FloatLiteral(FloatLiteral)
    Integer(StringView)
    }

    Constructor

    pub struct Constructor {
    argument_list : ArgumentList
    }

    Default

    pub enum Default {
    Some(DefaultValue)
    None
    }

    DefaultValue

    pub enum DefaultValue {
    ConstValue(ConstValue)
    String(StringView)
    Brackets
    Braces
    Null
    Undefined
    }

    Definition

    pub enum Definition {
    CallbackOrInterfaceOrMixin(CallbackOrInterfaceOrMixin)
    Namespace(Namespace)
    Partial(Partial)
    Dictionary(Dictionary)
    Enum(Enum)
    Typedef(Typedef)
    IncludesStatement(IncludesStatement)
    }

    Definitions

    pub enum Definitions {
    Some(ExtendedAttributeList, Definition, Definitions)
    None
    }

    Definitions::iter

    Definitions::parse

    #as_free_fn(parse, visibility="pub")
    fn Definitions::parse(input : ArrayView[(
    TokenType
    , StringView)]) -> (Definitions, ArrayView[(
    TokenType
    , StringView)])

    Dictionary

    pub struct Dictionary {
    identifier : StringView
    inheritance : Inheritance
    dictionary_members : DictionaryMembers
    }

    DictionaryMember

    pub struct DictionaryMember {
    extended_attribute_list : ExtendedAttributeList
    dictionary_member_rest : DictionaryMemberRest
    }

    DictionaryMemberRest

    pub enum DictionaryMemberRest {
    Required(TypeWithExtendedAttributes, StringView)
    Optional(Type, StringView, Default)
    }

    DictionaryMembers

    pub enum DictionaryMembers {
    Some(DictionaryMember, DictionaryMembers)
    None
    }

    DistinguishableType

    pub enum DistinguishableType {
    PrimitiveType(PrimitiveType, Null)
    StringType(StringType, Null)
    Identifier(StringView, Null)
    Sequence(TypeWithExtendedAttributes, Null)
    AsyncSequence(TypeWithExtendedAttributes, Null)
    Object(Null)
    Symbol(Null)
    BufferRelatedType(BufferRelatedType, Null)
    FrozenArray(TypeWithExtendedAttributes, Null)
    ObservableArray(TypeWithExtendedAttributes, Null)
    RecordType(RecordType, Null)
    Undefined(Null)
    }

    Ellipsis

    pub enum Ellipsis {
    Some
    None
    }

    Enum

    pub struct Enum {
    identifier : StringView
    enum_value_list : EnumValueList
    }

    EnumValueList

    pub struct EnumValueList {
    string : StringView
    enum_value_list_comma : EnumValueListComma
    }

    EnumValueList::iter

    fn EnumValueList::iter(self : EnumValueList) -> Iter[StringView]

    EnumValueListComma

    pub enum EnumValueListComma {
    Some(EnumValueListString)
    None
    }

    EnumValueListString

    pub enum EnumValueListString {
    Some(StringView, EnumValueListComma)
    None
    }

    ExtendedAttributeArgList

    pub struct ExtendedAttributeArgList {
    identifier : StringView
    argument_list : ArgumentList
    }

    ExtendedAttributeDecimal

    pub struct ExtendedAttributeDecimal {
    identifier : StringView
    value : StringView
    }

    ExtendedAttributeIdent

    pub struct ExtendedAttributeIdent {
    identifier : StringView
    value : StringView
    }

    ExtendedAttributeIdentList

    pub struct ExtendedAttributeIdentList {
    identifier : StringView
    identifier_list : IdentifierList
    }

    ExtendedAttributeInteger

    pub struct ExtendedAttributeInteger {
    identifier : StringView
    value : StringView
    }

    ExtendedAttributeIntegerList

    pub struct ExtendedAttributeIntegerList {
    identifier : StringView
    integer_list : IntegerList
    }

    ExtendedAttributeList

    pub enum ExtendedAttributeList {
    Some(ExtendedAttribute, ExtendedAttributes)
    None
    } derive(
    Debug
    )

    ExtendedAttributeNamedArgList

    pub struct ExtendedAttributeNamedArgList {
    identifier : StringView
    value : StringView
    argument_list : ArgumentList
    }

    ExtendedAttributeNoArgs

    pub struct ExtendedAttributeNoArgs {
    identifier : StringView
    }

    ExtendedAttributeRest

    pub enum ExtendedAttributeRest {
    ExtendedAttribute(ExtendedAttribute)
    None
    } derive(
    Debug
    )

    ExtendedAttributeString

    pub struct ExtendedAttributeString {
    identifier : StringView
    value : StringView
    }

    ExtendedAttributeWildcard

    pub struct ExtendedAttributeWildcard {
    identifier : StringView
    }

    ExtendedAttributes

    pub enum ExtendedAttributes {
    Some(ExtendedAttribute, ExtendedAttributes)
    None
    } derive(
    Debug
    )

    FloatLiteral

    pub enum FloatLiteral {
    Decimal(StringView)
    NegativeInfinity
    Infinity
    NaN
    }

    FloatType

    pub enum FloatType {
    Float
    Double
    }

    IdentifierList

    pub struct IdentifierList {
    identifier : StringView
    identifiers : Identifiers
    }

    IdentifierList::iter

    fn IdentifierList::iter(self : IdentifierList) -> Iter[StringView]

    Identifiers

    pub enum Identifiers {
    Some(StringView, Identifiers)
    None
    }

    Identifiers::iter

    fn Identifiers::iter(self : Identifiers) -> Iter[StringView]

    IncludesStatement

    pub struct IncludesStatement {
    interface_identifier : StringView
    mixin_identifier : StringView
    }

    InheritAttribute

    pub struct InheritAttribute {
    attribute_rest : AttributeRest
    }

    Inheritance

    pub enum Inheritance {
    Some(StringView)
    None
    }

    IntegerList

    pub struct IntegerList {
    integer : StringView
    integers : Integers
    }

    IntegerList::iter

    fn IntegerList::iter(self : IntegerList) -> Iter[StringView]

    IntegerType

    pub enum IntegerType {
    Short
    Long(OptionalLong)
    }

    Integers

    pub enum Integers {
    Some(StringView, Integers)
    None
    }

    Integers::iter

    fn Integers::iter(self : Integers) -> Iter[StringView]

    InterfaceMember

    pub enum InterfaceMember {
    PartialInterfaceMember(PartialInterfaceMember)
    Constructor(Constructor)
    }

    InterfaceMembers

    pub enum InterfaceMembers {
    Some(ExtendedAttributeList, InterfaceMember, InterfaceMembers)
    None
    }

    InterfaceOrMixin

    pub enum InterfaceOrMixin {
    InterfaceRest(InterfaceRest)
    MixinRest(MixinRest)
    }

    InterfaceRest

    pub struct InterfaceRest {
    identifier : StringView
    inheritance : Inheritance
    interface_members : InterfaceMembers
    }

    Iterable

    pub struct Iterable {
    type_with_extended_attributes : TypeWithExtendedAttributes
    optional_type : OptionalType
    }

    MaplikeRest

    pub struct MaplikeRest {
    key_type : TypeWithExtendedAttributes
    value_type : TypeWithExtendedAttributes
    }

    MixinMember

    pub enum MixinMember {
    Const(Const)
    RegularOperation(RegularOperation)
    Stringifier(Stringifier)
    Attribute(OptionalReadOnly, AttributeRest)
    }

    MixinMembers

    pub enum MixinMembers {
    Some(ExtendedAttributeList, MixinMember, MixinMembers)
    None
    }

    MixinRest

    pub struct MixinRest {
    identifier : StringView
    mixin_members : MixinMembers
    }

    Namespace

    pub struct Namespace {
    identifier : StringView
    namespace_members : NamespaceMembers
    }

    NamespaceMember

    pub enum NamespaceMember {
    RegularOperation(RegularOperation)
    ReadOnlyAttribute(AttributeRest)
    Const(Const)
    }

    NamespaceMembers

    pub enum NamespaceMembers {
    Some(ExtendedAttributeList, NamespaceMember, NamespaceMembers)
    None
    }

    Null

    pub enum Null {
    Some
    None
    } derive(
    Debug
    )

    Operation

    pub enum Operation {
    RegularOperation(RegularOperation)
    SpecialOperation(SpecialOperation)
    }

    OperationName

    pub enum OperationName {
    OperationNameKeyword(OperationNameKeyword)
    Identifier(StringView)
    }

    OperationNameKeyword

    pub enum OperationNameKeyword {
    Includes
    }

    OperationRest

    pub struct OperationRest {
    optional_operation_name : OptionalOperationName
    argument_list : ArgumentList
    }

    OptionalArgumentList

    pub enum OptionalArgumentList {
    Some(ArgumentList)
    None
    }

    OptionalLong

    pub enum OptionalLong {
    Long
    None
    }

    OptionalOperationName

    pub enum OptionalOperationName {
    Some(OperationName)
    None
    }

    OptionalReadOnly

    pub enum OptionalReadOnly {
    ReadOnly
    None
    } derive(
    Debug
    )

    OptionalType

    pub enum OptionalType {
    Some(TypeWithExtendedAttributes)
    None
    }

    Other

    pub enum Other {
    Integer(StringView)
    Decimal(StringView)
    Identifier(StringView)
    String(StringView)
    Other(StringView)
    Minus
    NegativeInfinity
    Dot
    Ellipsis
    Colon
    Semicolon
    LessThan
    Equal
    GreaterThan
    QuestionMark
    Asterisk
    ByteString
    DOMString
    FrozenArray
    Infinity
    NaN
    ObservableArray
    Promise
    USVString
    Any
    Bigint
    Boolean
    Byte
    Double
    False
    Float
    Long
    Null
    Object
    Octet
    Or
    Optional
    Record
    Sequence
    Short
    Symbol
    True
    Unsigned
    Undefined
    ArgumentNameKeyword(ArgumentNameKeyword)
    BufferRelatedType(BufferRelatedType)
    } derive(
    Debug
    )

    OtherOrComma

    pub enum OtherOrComma {
    Other(Other)
    Comma
    } derive(
    Debug
    )

    Partial

    pub struct Partial {
    partial_definition : PartialDefinition
    }

    PartialDefinition

    pub enum PartialDefinition {
    Interface(PartialInterfaceOrPartialMixin)
    Dictionary(PartialDictionary)
    Namespace(Namespace)
    }

    PartialDictionary

    pub struct PartialDictionary {
    identifier : StringView
    dictionary_members : DictionaryMembers
    }

    PartialInterfaceMember

    pub enum PartialInterfaceMember {
    Const(Const)
    Operation(Operation)
    Stringifier(Stringifier)
    StaticMember(StaticMember)
    Iterable(Iterable)
    AsyncIterable(AsyncIterable)
    ReadOnlyMember(ReadOnlyMember)
    ReadWriteAttribute(ReadWriteAttribute)
    ReadWriteMaplike(ReadWriteMaplike)
    ReadWriteSetlike(ReadWriteSetlike)
    InheritAttribute(InheritAttribute)
    }

    PartialInterfaceMembers

    pub enum PartialInterfaceMembers {
    Some(ExtendedAttributeList, PartialInterfaceMember, PartialInterfaceMembers)
    None
    }

    PartialInterfaceOrPartialMixin

    pub enum PartialInterfaceOrPartialMixin {
    PartialInterfaceRest(PartialInterfaceRest)
    MixinRest(MixinRest)
    }

    PartialInterfaceRest

    pub struct PartialInterfaceRest {
    identifier : StringView
    partial_interface_members : PartialInterfaceMembers
    }

    PrimitiveType

    pub enum PrimitiveType {
    UnsignedIntegerType(UnsignedIntegerType)
    UnrestrictedFloatType(UnrestrictedFloatType)
    Boolean
    Byte
    Octet
    Bigint
    }

    PromiseType

    pub struct PromiseType {
    type_ : Type
    }

    ReadOnlyMember

    pub struct ReadOnlyMember {
    read_only_member_rest : ReadOnlyMemberRest
    }

    ReadOnlyMemberRest

    pub enum ReadOnlyMemberRest {
    Attribute(AttributeRest)
    Maplike(MaplikeRest)
    Setlike(SetlikeRest)
    }

    ReadWriteAttribute

    pub struct ReadWriteAttribute {
    attribute_rest : AttributeRest
    }

    ReadWriteMaplike

    pub struct ReadWriteMaplike {
    maplike_rest : MaplikeRest
    }

    ReadWriteSetlike

    pub struct ReadWriteSetlike {
    setlike_rest : SetlikeRest
    }

    RecordType

    pub struct RecordType {
    string_type : StringType
    type_with_extended_attributes : TypeWithExtendedAttributes
    }

    RegularOperation

    pub struct RegularOperation {
    type_ : Type
    operation_rest : OperationRest
    }

    SetlikeRest

    pub struct SetlikeRest {
    type_with_extended_attributes : TypeWithExtendedAttributes
    }

    SingleType

    pub enum SingleType {
    DistinguishableType(DistinguishableType)
    Any
    PromiseType(PromiseType)
    }

    Special

    pub enum Special {
    Getter
    Setter
    Deleter
    }

    SpecialOperation

    pub struct SpecialOperation {
    special : Special
    regular_operation : RegularOperation
    }

    StaticMember

    pub struct StaticMember {
    static_member_rest : StaticMemberRest
    }

    StaticMemberRest

    pub enum StaticMemberRest {
    Attribute(OptionalReadOnly, AttributeRest)
    RegularOperation(RegularOperation)
    }

    StringType

    pub enum StringType {
    ByteString
    DOMString
    USVString
    } derive(
    Debug
    )

    Stringifier

    pub struct Stringifier {
    stringifier_rest : StringifierRest
    }

    StringifierRest

    pub enum StringifierRest {
    Attribute(OptionalReadOnly, AttributeRest)
    Semicolon
    }

    Type

    pub enum Type {
    SingleType(SingleType)
    UnionType(UnionType, Null)
    }

    TypeWithExtendedAttributes

    pub struct TypeWithExtendedAttributes {
    extended_attribute_list : ExtendedAttributeList
    type_ : Type
    }

    Typedef

    pub struct Typedef {
    type_with_extended_attributes : TypeWithExtendedAttributes
    identifier : StringView
    }

    UnionMemberType

    pub enum UnionMemberType {
    UnionType(UnionType, Null)
    DistinguishableTypeWithExtendedAttributeList(DistinguishableType, ExtendedAttributeList)
    }

    UnionMemberTypes

    pub enum UnionMemberTypes {
    Some(UnionMemberType, UnionMemberTypes)
    None
    }

    UnionMemberTypes::iter

    UnionType

    pub struct UnionType {
    first_union_member_type : UnionMemberType
    second_union_member_type : UnionMemberType
    union_member_types : UnionMemberTypes
    }

    UnionType::iter

    UnrestrictedFloatType

    pub enum UnrestrictedFloatType {
    UnrestrictedFloatType(FloatType)
    FloatType(FloatType)
    }

    UnsignedIntegerType

    pub enum UnsignedIntegerType {
    UnsignedIntegerType(IntegerType)
    IntegerType(IntegerType)
    }