solarnetwork-api-core
    Preparing search index...

    Class PropMap

    A basic map-like object.

    This object includes some utility functions that make it well suited to using as an API query object. For example, the Util.PropMap.toUriEncoding method provides a way to serialize this object into URL query parameters.

    Hierarchy (View Summary)

    Implements

    • Iterable<readonly [string, any]>
    Index

    Constructors

    • Constructor.

      Parameters

      • Optionalprops: object | PropMap | Map<string, any>

        the initial properties; if a PropMap instance is provided, the properties of that object will be copied into this one; otherwise the object will be used directly to hold property values

      Returns PropMap

    Properties

    props: Map<string, any>

    The object that all properties are stored on.

    Accessors

    Methods

    • Get an iterator over the property entries.

      Returns MapIterator<[string, any]>

      iterator over [k, v] values

    • Get a property value.

      Parameters

      • key: string

        the key to get

      Returns any

      the associated value for the given key

    • Set or remove a property value.

      Parameters

      • key: string

        the key to set the value for

      • newValue: any

        the new value to set for the given key; if null then the key property will be removed

      Returns this

      this object

    • Get all properties.

      Returns Record<string, any>

      all properties of this object copied into a simple object

    • Set or remove multiple properties.

      Parameters

      • newProps: object | Map<string, any>

        the new values to set; if any value is null that property will be deleted

      Returns this

      this object

    • Get this object as a standard URI encoded (query parameters) string value.

      All enumerable properties of the props property will be added to the result. If any property value is an array, the values of the array will be joined by a comma. Any Util.Enum values will have their name property used.

      Parameters

      • OptionalpropertyName: string

        an optional object property prefix to add to all properties

      • OptionalcallbackFn: PropMapUriEncodingCallbackFn

        An optional function that will be called for each property. The function will be passed property name and value arguments, and must return either undefined to skip the property, a 2 or 3-element array with the property name and value to use, and an optional boolean to force array values to use mutliple parameter keys. Any other return value causes the property to be used as-is.

      Returns string

      the URI encoded string

    • Get this object as a standard URI encoded (query parameters) string value with sorting and pagination parameters.

      This calls Util.PropMap.toUriEncoding first, then encodes the sorts and pagination parameters, if provided.

      Parameters

      • Optionalsorts: SortDescriptor[]

        optional sort settings to use

      • Optionalpagination: Pagination

        optional pagination settings to use

      • OptionalpropertyName: string

        an optional object property prefix to add to all properties

      • OptionalcallbackFn: PropMapUriEncodingCallbackFn

        An optional function that will be called for each property. The function will be passed property name and value arguments, and must return either undefined to skip the property, a 2-element array with the property name and value to use, or anything else to use the property as-is.

      Returns string

      the URI encoded string