Functions - lang.value

clone

Returns a clone of value. A clone is a deep copy that does not copy immutable subtrees. A clone can therefore safely be used concurrently with the original. It corresponds to the Clone(v) abstract operation, defined in the Ballerina Language Specification.

cloneReadOnly

Returns a clone of value that is read-only, i.e. immutable. It corresponds to the ImmutableClone(v) abstract operation, defined in the Ballerina Language Specification.

fromJsonString

Parse a string in JSON format and return the the value that it represents. All numbers in the JSON will be represented as float values. Returns an error if the string cannot be parsed.

isReadOnly

Tests whether v is read-only, i.e. immutable Returns true if read-only, false otherwise.

mergeJson

Return the result of merging json value j1 with j2.

toJsonString

Return the string that represents v in JSON format.

toString

Returns a simple, human-readable representation of value as a string.

clone

(null value)

returns null

Returns a clone of value. A clone is a deep copy that does not copy immutable subtrees. A clone can therefore safely be used concurrently with the original. It corresponds to the Clone(v) abstract operation, defined in the Ballerina Language Specification.

Parameters

  • value null
  • source value

  • Return Type

    (null)
  • clone of value

cloneReadOnly

(null value)

returns null

Returns a clone of value that is read-only, i.e. immutable. It corresponds to the ImmutableClone(v) abstract operation, defined in the Ballerina Language Specification.

Parameters

  • value null
  • source value

  • Return Type

    (null)
  • immutable clone of value

fromJsonString

(string str)

returns json | error

Parse a string in JSON format and return the the value that it represents. All numbers in the JSON will be represented as float values. Returns an error if the string cannot be parsed.

Parameters

  • Return Type

    (json | error)
  • value parsed to json or error

isReadOnly

(null value)

returns boolean

Tests whether v is read-only, i.e. immutable Returns true if read-only, false otherwise.

Parameters

  • value null
  • source value

  • Return Type

    (boolean)
  • true if read-only, false otherwise

mergeJson

(json j1, json j2)

returns json | error

Return the result of merging json value j1 with j2.

Parameters

  • j1 json
  • json value

  • j2 json
  • json value

  • Return Type

    (json | error)
  • merged json value or error

    If the merge fails, then return an error. The merge of j1 with j2 is defined as follows:

    • if j1 is (), then the result is j2
    • if j2 is nil, then the result is j1
    • if j1 is a mapping and j2 is a mapping, then for each entry [k, j] in j2, set j1[k] to the merge of j1[k] with j
      • if j1[k] is undefined, then set j1[k] to j
      • if any merge fails, then the merge of j1 with j2 fails
      • otherwise, the result is j1.
    • otherwise, the merge fails

toJsonString

(json v)

returns string

Return the string that represents v in JSON format.

Parameters

  • Return Type

    (string)
  • string representation of json

toString

(any | error value)

returns string

Returns a simple, human-readable representation of value as a string.

Parameters

  • Return Type

    (string)
  • simple, human-readable string representation of value

    • if value is a string, then returns value
    • if value is (), then returns an empty string
    • if value is boolean, then the string true or false
    • if value is an int, then return value represented as a decimal string
    • if value is a float or decimal, then return value represented as a decimal string, with a decimal point only if necessary, but without any suffix indicating the type of value return NaN, Infinity for positive infinity, and -Infinity for negative infinity
    • if value is a list, then returns the results toString on each member of the list separated by a space character
    • if value is a map, then returns key=value for each member separated by a space character
    • if value is xml, then returns value in XML format (as if it occurred within an XML element)
    • if value is table, TBD
    • if value is an error, then a string consisting of the following in order
      1. the string error
      2. a space character
      3. the reason string
      4. if the detail record is non-empty
        1. a space character
        2. the result of calling toString on the detail record
    • if value is an object, then
      • if value provides a toString method with a string return type and no required methods, then the result of calling that method on value
      • otherwise, object followed by some implementation-dependent string
    • if value is any other behavioral type, then the identifier for the behavioral type (function, future, service, typedesc or handle) followed by some implementation-dependent string

    Note that toString may produce the same string for two Ballerina values that are not equal (in the sense of the == operator).