29d0125ac01c090ed4550417a9bd1ff749c53fb94d34ac498e5e8e51f3578ce333f499d988f2a1ed1c604bddaf60c0a07ca1246aba52b7a408f737c93a2526 551 B

12345678910111213141516171819
  1. /**
  2. * Defines non-writable/enumerable properties of the provided target object.
  3. *
  4. * @param {Object} target - Object for which to define properties.
  5. * @param {Object} props - Properties to be defined.
  6. * @returns {Object} Target object.
  7. */
  8. export default (target, props) => {
  9. for (const key of Object.keys(props)) {
  10. Object.defineProperty(target, key, {
  11. value: props[key],
  12. enumerable: false,
  13. writable: false,
  14. configurable: true
  15. });
  16. }
  17. return target;
  18. };