@espressif/rainmaker-base-cdf
    Preparing search index...

    Function makeEverythingObservable

    • Recursively makes all properties of an object observable.

      This function traverses an object and makes every property observable, including nested objects and arrays of objects. If a property is already observable, it will not be modified.

      Type Parameters

      • T extends object

      Parameters

      • obj: T

        The object to be made observable.

      • excludeKeys: Set<string> = ...

        Keys to exclude from being made observable (e.g., '_raw', 'operations')

      • visited: WeakSet<object> = ...

        Set of already visited objects to prevent circular references

      Returns T

      • The observable version of the input object.
      const obj = { a: 1, b: { c: 2 }, _raw: sdkObject };
      const observableObj = makeEverythingObservable(obj, new Set(['_raw']));
      console.log(isObservable(observableObj)); // true
      console.log(isObservable(observableObj.b)); // true
      console.log(isObservable(observableObj._raw)); // false (excluded)

      Useful when nested properties must be observable in MobX; exclude keys like '_raw' and
      'operations' that are SDK-specific and don't need reactivity.