Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Color <TProps >

Class for specifying a color.

Instances of Color are immutable, meaning that its setters don't modify the object, but instead return a completely new modified object.

Creation of Colors should be done with Factories, which affect various formats:

  • ColorHEX
  • ColorRGBA

Watch out though, the color information is always stored in RGBA format with channels ranging [0, 255], regardless of how the information is supplied when created !

Index

Methods

__@iterator

  • __@iterator(): IterableIterator<[keyof TProps, TProps[keyof TProps]]>
  • Returns IterableIterator<[keyof TProps, TProps[keyof TProps]]>

asImmutable

  • asImmutable(): this
  • see

    Map#asImmutable

    Returns this

asMutable

  • asMutable(): this
  • see

    Map#asMutable

    Returns this

clear

  • clear(): this
  • Returns a new instance of this Record type with all values set to their default values.

    Returns this

delete

  • delete(key: K): this
  • Returns a new instance of this Record type with the value for the specific key set to its default value.

    alias

    remove

    Type parameters

    • K: keyof TProps

    Parameters

    • key: K

    Returns this

deleteIn

  • deleteIn(keyPath: Iterable<any>): this
  • alias

    removeIn

    Parameters

    • keyPath: Iterable<any>

    Returns this

equals

  • equals(other: any): boolean
  • Parameters

    • other: any

    Returns boolean

get

  • get(key: K, notSetValue?: any): TProps[K]
  • get(key: string, notSetValue: T): T
  • Returns the value associated with the provided key, which may be the default value defined when creating the Record factory function.

    If the requested key is not defined by this Record type, then notSetValue will be returned if provided. Note that this scenario would produce an error when using Flow or TypeScript.

    Type parameters

    • K: keyof TProps

    Parameters

    • key: K
    • Optional notSetValue: any

    Returns TProps[K]

  • Type parameters

    • T

    Parameters

    • key: string
    • notSetValue: T

    Returns T

getA

  • getA(): number
  • Returns number

    Value of alpha channel [0-255]

getB

  • getB(): number
  • Returns number

    Value of blue channel [0-255]

getG

  • getG(): number
  • Returns number

    Value of green channel [0-255]

getHighlight

  • Compute a highlighted version of this Color.

    Returns Color

    New Color object

getIn

  • getIn(keyPath: Iterable<any>): any
  • Parameters

    • keyPath: Iterable<any>

    Returns any

getR

  • getR(): number
  • Returns number

    Value of red channel [0-255]

has

  • has(key: string): boolean
  • Parameters

    • key: string

    Returns boolean

hasIn

  • hasIn(keyPath: Iterable<any>): boolean
  • Parameters

    • keyPath: Iterable<any>

    Returns boolean

hashCode

  • hashCode(): number
  • Returns number

merge

  • merge(...collections: Array<Partial<TProps> | Iterable<[string, any]>>): this
  • Parameters

    • Rest ...collections: Array<Partial<TProps> | Iterable<[string, any]>>

    Returns this

mergeDeep

  • mergeDeep(...collections: Array<Partial<TProps> | Iterable<[string, any]>>): this
  • Parameters

    • Rest ...collections: Array<Partial<TProps> | Iterable<[string, any]>>

    Returns this

mergeDeepIn

  • mergeDeepIn(keyPath: Iterable<any>, ...collections: Array<any>): this
  • Parameters

    • keyPath: Iterable<any>
    • Rest ...collections: Array<any>

    Returns this

mergeDeepWith

  • mergeDeepWith(merger: function, ...collections: Array<Partial<TProps> | Iterable<[string, any]>>): this
  • Parameters

    • merger: function
        • Parameters

          • oldVal: any
          • newVal: any
          • key: any

          Returns any

    • Rest ...collections: Array<Partial<TProps> | Iterable<[string, any]>>

    Returns this

mergeIn

  • mergeIn(keyPath: Iterable<any>, ...collections: Array<any>): this
  • Parameters

    • keyPath: Iterable<any>
    • Rest ...collections: Array<any>

    Returns this

mergeWith

  • mergeWith(merger: function, ...collections: Array<Partial<TProps> | Iterable<[string, any]>>): this
  • Parameters

    • merger: function
        • Parameters

          • oldVal: any
          • newVal: any
          • key: keyof TProps

          Returns any

    • Rest ...collections: Array<Partial<TProps> | Iterable<[string, any]>>

    Returns this

remove

  • remove(key: K): this
  • Type parameters

    • K: keyof TProps

    Parameters

    • key: K

    Returns this

removeIn

  • removeIn(keyPath: Iterable<any>): this
  • Parameters

    • keyPath: Iterable<any>

    Returns this

set

  • set(key: K, value: TProps[K]): this
  • Type parameters

    • K: keyof TProps

    Parameters

    • key: K
    • value: TProps[K]

    Returns this

setA

  • setA(alpha: number): Color
  • Creates a new color that is equal to this but with a certain alpha value

    Parameters

    • alpha: number

      Value of alpha channel [0-255]

    Returns Color

    New Color object

setB

  • setB(blue: number): Color
  • Creates a new color that is equal to this but with a certain blue value

    Parameters

    • blue: number

      Value of blue channel [0-255]

    Returns Color

    New Color object

setG

  • setG(green: number): Color
  • Creates a new color that is equal to this but with a certain green value

    Parameters

    • green: number

      Value of green channel [0-255]

    Returns Color

    New Color object

setIn

  • setIn(keyPath: Iterable<any>, value: any): this
  • Parameters

    • keyPath: Iterable<any>
    • value: any

    Returns this

setR

  • setR(red: number): Color
  • Creates a new color that is equal to this but with a certain red value

    Parameters

    • red: number

      Value of red channel [0-255]

    Returns Color

    New Color object

toJS

  • toJS(): object
  • Deeply converts this Record to equivalent native JavaScript Object.

    Note: This method may not be overridden. Objects with custom serialization to plain JS may override toJSON() instead.

    Returns object

toJSON

  • toJSON(): TProps
  • Shallowly converts this Record to equivalent native JavaScript Object.

    Returns TProps

toObject

  • toObject(): TProps
  • Shallowly converts this Record to equivalent JavaScript Object.

    Returns TProps

toSeq

  • toSeq(): Keyed<keyof TProps, TProps[keyof TProps]>
  • Returns Keyed<keyof TProps, TProps[keyof TProps]>

update

  • update(key: K, updater: function): this
  • Type parameters

    • K: keyof TProps

    Parameters

    • key: K
    • updater: function
        • Parameters

          • value: TProps[K]

          Returns TProps[K]

    Returns this

updateIn

  • updateIn(keyPath: Iterable<any>, updater: function): this
  • Parameters

    • keyPath: Iterable<any>
    • updater: function
        • Parameters

          • value: any

          Returns any

    Returns this

wasAltered

  • wasAltered(): boolean
  • see

    Map#wasAltered

    Returns boolean

withMutations

  • withMutations(mutator: function): this
  • Note: Not all methods can be used on a mutable collection or within withMutations! Only set may be used mutatively.

    see

    Map#withMutations

    Parameters

    • mutator: function
        • Parameters

          • mutable: this

          Returns any

    Returns this

Static Factory

  • Factory(values?: Partial<TProps> | Iterable<[string, any]>): Record<TProps> & Readonly<TProps>
  • Type parameters

    • TProps: Object

    Parameters

    • Optional values: Partial<TProps> | Iterable<[string, any]>

    Returns Record<TProps> & Readonly<TProps>

Static Record

  • Record(defaultValues: TProps, name?: undefined | string): Factory<TProps>
  • Unlike other types in Immutable.js, the Record() function creates a new Record Factory, which is a function that creates Record instances.

    See above for examples of using Record().

    Note: Record is a factory function and not a class, and does not use the new keyword during construction.

    Type parameters

    • TProps

    Parameters

    • defaultValues: TProps
    • Optional name: undefined | string

    Returns Factory<TProps>

Static getDescriptiveName

  • getDescriptiveName(record: Record<any>): string
  • Records allow passing a second parameter to supply a descriptive name that appears when converting a Record to a string or in any error messages. A descriptive name for any record can be accessed by using this method. If one was not provided, the string "Record" is returned.

    const { Record } = require('immutable')
    const Person = Record({
      name: null
    }, 'Person')
    
    var me = Person({ name: 'My Name' })
    me.toString() // "Person { "name": "My Name" }"
    Record.getDescriptiveName(me) // "Person"

    Parameters

    • record: Record<any>

    Returns string

Static isRecord

  • isRecord(maybeRecord: any): boolean
  • True if maybeRecord is an instance of a Record.

    Parameters

    • maybeRecord: any

    Returns boolean