JSFiddle - React, Tailwind, and code Playground

by brigand

JavaScript

function* valueDescriptors(obj) {
  for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(obj))) {
    if (!descriptor.get && !descriptor.set) {
      yield [key, descriptor]
    }
  }
}

const valueEntries = function*(obj) {
  for (const [key, desc] of valueDescriptors(obj)) {
    yield [key, desc.value]
  }

}
console.log(...valueEntries({
  get foo() {
    console.log('ha!')
  },
  bar: 7
}))