Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. import Vue from 'vue'
  2.  
  3. function getProp (obj, props) {
  4. const prop = props.shift()
  5. if (!obj[prop] || !props.length) {
  6. return obj[prop]
  7. }
  8. return getProp(obj[prop], props)
  9. }
  10.  
  11. function setProp (obj, props, value) {
  12. const prop = props.shift()
  13. if (!obj[prop]) {
  14. Vue.set(obj, prop, {})
  15. }
  16. if (!props.length) {
  17. if (value && typeof value === 'object' && !Array.isArray(value)) {
  18. obj[prop] = { ...obj[prop], ...value }
  19. } else {
  20. obj[prop] = value
  21. }
  22. return
  23. }
  24. setProp(obj[prop], props, value)
  25. }
  26.  
  27. function deleteProp (obj, props) {
  28. const prop = props.shift()
  29. if (!obj[prop]) {
  30. return
  31. }
  32. if (!props.length) {
  33. Vue.delete(obj, prop)
  34. return
  35. }
  36. deleteProp(obj[prop], props)
  37. }
  38.  
  39. export { getProp, setProp, deleteProp }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement