Class IdentitySelector

Hierarchy

Accessors

  • get key(): Value
  • Always returns [[Absent]] because a Value can't be a Field, so it can't have a key component.

    Returns Value

  • get length(): number
  • Returns the number of members contained in this Value, if this Value is a [[Record]]; otherwise returns 0 if this Value is not a Record.

    Returns number

  • get precedence(): number
  • Returns number

  • get tag(): string
  • Returns the key string of the first member of this Value, if this Value is a [[Record]], and its first member is an [[Attr]]; otherwise returns undefined if this Value is not a Record, or if this Value is a Record whose first member is not an Attr.

    Used to concisely get the name of the discriminating attribute of a structure. The tag can be used to discern the nominal type of a polymorphic structure, similar to an XML element tag.

    Returns string

  • get target(): Value
  • Returns the [[Value.flattened flattened]] members of this Value after all attributes have been removed, if this Value is a [[Record]]; otherwise returns this if this Value is not a Record.

    Used to concisely get the scalar value of an attributed structure. An attributed structure is a Record with one or more attributes that modify one or more other members.

    Returns Value

  • get then(): Selector
  • The Selector that this Selector uses to match sub-selections.

    Returns Selector

  • get typeOrder(): number
  • Returns the heterogeneous sort order of this Item. Used to impose a total order on the set of all items. When comparing two items of different types, the items order according to their typeOrder.

    Returns number

Methods

  • Returns Cursor<Item>

  • Returns void

  • Returns the [[Record.flattened flattened]] [[Value.tail tail]] of this Value. Used to recursively deconstruct a structure, terminating with its last Value, rather than a unary Record containing its last value, if the structure ends with a Value member.

    Returns Value

  • Converts this Value into a boolean value, if possible; otherwise returns undefined if this Value can't be converted into a boolean value.

    Returns boolean

  • Converts this Value into a boolean value, if possible; otherwise returns orElse if this Value can't be converted into a boolean value.

    Type Parameters

    • T

    Parameters

    • orElse: T

    Returns boolean | T

  • Returns Value

  • Type Parameters

    • T

    Parameters

    • form: Form<T, unknown>

    Returns T

  • Type Parameters

    • T

    • E = T

    Parameters

    • form: Form<T, unknown>
    • orElse: E

    Returns T | E

  • Type Parameters

    • T

    Parameters

    • form: Form<T, unknown>

    Returns T

  • Type Parameters

    • T

    • E = T

    Parameters

    • form: Form<T, unknown>
    • orElse: E

    Returns T | E

  • Parameters

    • that: unknown

    Returns number

  • Type Parameters

    • T

    Parameters

    • output: Output<T>

    Returns Output<T>

  • Type Parameters

    • T

    Parameters

    • output: Output<T>

    Returns Output<T>

  • Type Parameters

    • T

    Parameters

    • output: Output<T>

    Returns Output<T>

  • Parameters

    • that: unknown

    Returns boolean

  • Parameters

    • that: unknown

    Returns boolean

  • Parameters

    Returns Selector

  • Returns the sole member of this Value, if this Value is a [[Record]] with exactly one member, and its member is a Value; returns [[Extant]] if this Value is an empty Record; otherwise returns this if this Value is a Record with more than one member, or if this Value is a not a Record.

    Used to convert a unary Record into its member Value. Facilitates writing code that treats a unary Record equivalently to a bare Value.

    Returns Value

  • Type Parameters

    • T

    Parameters

    • callback: ((item, index) => void | T)
        • (item, index): void | T
        • Parameters

          • item: Item
          • index: number

          Returns void | T

    Returns T

  • Type Parameters

    • T

    • S

    Parameters

    • callback: ((this, item, index) => void | T)
        • (this, item, index): void | T
        • Parameters

          • this: S
          • item: Item
          • index: number

          Returns void | T

    • thisArg: S

    Returns T

  • Type Parameters

    • T

    Parameters

    • interpreter: Interpreter
    • callback: ((interpreter) => T)
        • (interpreter): T
        • Parameters

          Returns T

    Returns T

  • Type Parameters

    • T

    • S

    Parameters

    • interpreter: Interpreter
    • callback: ((this, interpreter) => T)
        • (this, interpreter): T
        • Parameters

          Returns T

    • thisArg: S

    Returns T

  • Returns the value of the last [[Field]] member of this Value whose key is equal to the given key; returns [[Absent]] if this Value is not a [[Record]], or if this Value is a Record, but has no Field member with a key equal to the given key.

    Parameters

    Returns Selector

  • Returns the value of the last [[Attr]] member of this Value whose key is equal to the given key; returns [[Absent]] if this Value is not a [[Record]], or if this Value is a Record, but has no Attr member with a key equal to the given key.

    Parameters

    Returns Selector

  • Returns the last [[Field]] member of this Value whose key is equal to the given key; returns undefined if this Value is not a [[Record]], or if this Value is a Record, but has no Field member with a key equal to the given key.

    Parameters

    Returns Field

  • Returns the member of this Value at the given index, if this Value is a [[Record]], and the index is greater than or equal to zero, and less than the [[Record.length length]] of the Record; otherwise returns [[Absent]] if this Value is not a Record, or if this Value is a Record, but the index is out of bounds.

    Parameters

    Returns Selector

  • Returns the value of the last [[Slot]] member of this Value whose key is equal to the given key; returns [[Absent]] if this Value is not a [[Record]], or if this Value is a Record, but has no Slot member with a key equal to the given key.

    Parameters

    Returns Value

  • Returns true if this Value is a [[Record]] that has a [[Field]] member with a key that is equal to the given key; otherwise returns false if this Value is not a Record, or if this Value is a Record, but has no Field member with a key equal to the given key.

    Parameters

    Returns boolean

  • Returns number

  • Returns the first member of this Value, if this Value is a non-empty [[Record]]; otherwise returns [[Absent]].

    Returns Item

  • Returns the value of the first member of this Value, if this Value is a Record, and its first member is an [[Attr]] whose key string is equal to tag; otherwise returns [[Absent]] if this Value is not a Record, or if this Value is a Record whose first member is not an Attr, or if this Value is a Record whose first member is an Attr whose key does not equal the tag.

    Used to conditionally get the value of the head Attr of a structure, if and only if the key string of the head Attr is equal to the tag. Can be used to check if a structure might conform to a nominal type named tag, while simultaneously getting the value of the tag attribute.

    Parameters

    • tag: string

    Returns Value

  • Returns the [[Value.unflattened unflattened]] [[Value.header header]] of this Value, if this Value is a [[Record]], and its first member is an [[Attr]] whose key string is equal to tag; otherwise returns undefined.

    The headers of the tag attribute of a structure are like the attributes of an XML element tag; through unlike an XML element, tag attribute headers are not limited to string keys and values.

    Parameters

    • tag: string

    Returns Record

  • Parameters

    Returns Interpolator<Value>

  • Parameters

    Returns Interpolator<Item>

  • Parameters

    • that: unknown

    Returns Interpolator<Item>

  • Returns boolean

  • Returns true if this Item always [[Item.evaluate evaluates]] to the same Item.

    Returns boolean

  • Returns true if this Value is not [[Absent]].

    Returns boolean

  • Returns true if this Value is not one of: an empty Record, False, Extant, or Absent.

    Returns boolean

  • Returns true if this Value is neither [[Extant]] nor [[Absent]].

    Returns boolean

  • Returns boolean

  • Returns Cursor<Item>

  • Parameters

    • key: unknown

    Returns boolean

  • Parameters

    Returns Value

  • Parameters

    • like: string | number | boolean | Uint8Array | {
          [key: string]: ValueLike;
      } | readonly ItemLike[]

    Returns void

  • Parameters

    Returns Item

  • Type Parameters

    • S

    Parameters

    Returns Item

  • Parameters

    Returns Item

  • Parameters

    Returns Item

  • Converts this Value into a number value, if possible; otherwise returns undefined if this Value can't be converted into a number value.

    Returns number

  • Converts this Value into a number value, if possible; otherwise returns orElse if this Value can't be converted into a number value.

    Type Parameters

    • T

    Parameters

    • orElse: T

    Returns number | T

  • Converts this Value into a string value, if possible; otherwise returns undefined if this Value can't be converted into a string value.

    Returns string

  • Converts this Value into a string value, if possible; otherwise returns orElse if this Value can't be converted into a string value.

    Type Parameters

    • T

    Parameters

    • orElse: T

    Returns string | T

  • Returns a view of all but the first member of this Value, if this Value is a non-empty [[Record]]; otherwise returns an empty Record if this Value is not a Record, of if this Value is itself an empty Record.

    Returns Record

  • Returns string

  • Always returns this because every Value is its own value component.

    Returns Value

  • Returns this if this Value is a [[Record]]; returns a Record containing just this Value, if this Value is [[Value.isDistinct distinct]]; otherwise returns an empty Record if this Value is [[Extant]] or [[Absent]]. Facilitates writing code that treats a bare Value equivalently to a unary Record.

    Returns Record

  • Returns Value

  • Returns Value

  • Returns Value

Generated using TypeDoc