Logos DX
    Preparing search index...

    Function definePrivateGetters

    • Defines hidden, non-configurable getters on an object.

      Creates getter properties that are not enumerable and cannot be modified. Useful for computed properties and lazy-loaded values.

      Type Parameters

      Parameters

      • target: T

        object to add getters to

      • props: U

        getter functions to define

      • configurable: boolean = false

        whether getters can be deleted or reconfigured

      Returns void

      const user = { firstName: 'John', lastName: 'Doe' };

      definePrivateGetters(user, {
      _fullName: () => `${user.firstName} ${user.lastName}`,
      _initials: () => `${user.firstName[0]}${user.lastName[0]}`
      });

      console.log(user._fullName); // 'John Doe'
      console.log(Object.keys(user)); // ['firstName', 'lastName'] (getters hidden)
      class DataProcessor {
      constructor(data) {
      this.data = data;
      definePrivateGetters(this, {
      _size: () => this.data.length,
      _isEmpty: () => this.data.length === 0
      });
      }
      }