• Public
  • Public/Protected
  • All

Module @sap/cloud-sdk-util


Package that contains general utility functions that we reuse multiple times in the SDK. While primarily designed for internal usage, they might also be benefical for consumers of the SDK.



Const assocSome

  • assocSome<T>(key: string, value?: any): (Anonymous function)
  • Calls rambda's assoc function if the provided value is neither null nor undefined. Note that this is different to JS idiomatic checks for truthy/falsy values, i.e. an empty string will result in assoc being called.

    Type parameters

    • T


    • key: string

      The key to associate with the given value.

    • Optional value: any

      The value to associate with the given key.

    Returns (Anonymous function)

    A copy of the input object with the new key-value pair if the value is neither null nor undefined.

Const asyncPipe

  • asyncPipe(...fns: any[]): (Anonymous function)
  • Works similar to Ramdas pipe function, but works on promises, which allows using async functions.


    • Rest ...fns: any[]

      The functions to be chained.

    Returns (Anonymous function)


  • errorWithCause(message: string, cause: Error): Error
  • Creates a new error using the provided message and appends the causes stacktrace to the new error's stacktrace.


    • message: string

      The message of the new error.

    • cause: Error

      The original error.

    Returns Error

    A new error instance.


  • flat<T>(arr: T[][]): T[]
  • Flatten a multidimensional array

    Type parameters

    • T


    • arr: T[][]

      Multidimensional array to be flattened

    Returns T[]

    Flattened array

Const mergeSome

  • mergeSome(a: MapType<any>, b?: MapType<any>): MapType<any>
  • Calls rambda's merge function if second object is neither null nor undefined.


    • a: MapType<any>

      The object to merge into.

    • Optional b: MapType<any>

      The object which to merge into a.

    Returns MapType<any>

    A copy of the merge(a, b) or a if b is undefined or null.


  • propertyExists(obj: object, ...properties: string[]): boolean
  • Checks if a chain of properties exists on the given object.


    • obj: object

      The object to be checked.

    • Rest ...properties: string[]

      Chained properties.

    Returns boolean

    True if the property chain leads to a truthy value, false otherwise.


  • unique<T>(words: T[]): T[]
  • Remove all duplicates from array

    Type parameters

    • T


    • words: T[]

      Array of strings that might contain duplicates

    Returns T[]

    Array of unique strings