modelUtils.js 809 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const hiddenProps = ['$$queryProps'];
  2. const staticHiddenProps = [
  3. '$$knex',
  4. '$$validator',
  5. '$$jsonSchema',
  6. '$$colToProp',
  7. '$$propToCol',
  8. '$$idColumnArray',
  9. '$$idPropertyArray',
  10. '$$idProperty',
  11. '$$relations',
  12. '$$relationArray',
  13. '$$jsonAttributes',
  14. '$$columnNameMappers',
  15. '$$tableMetadata'
  16. ];
  17. function defineNonEnumerableProperty(obj, prop, value) {
  18. Object.defineProperty(obj, prop, {
  19. enumerable: false,
  20. writable: true,
  21. configurable: true,
  22. value
  23. });
  24. }
  25. function keyByProps(models, props) {
  26. const map = new Map();
  27. for (let i = 0, l = models.length; i < l; ++i) {
  28. const model = models[i];
  29. map.set(model.$propKey(props), model);
  30. }
  31. return map;
  32. }
  33. module.exports = {
  34. hiddenProps,
  35. staticHiddenProps,
  36. defineNonEnumerableProperty,
  37. keyByProps
  38. };