Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Vue from 'vue'
- function getProp (obj, props) {
- const prop = props.shift()
- if (!obj[prop] || !props.length) {
- return obj[prop]
- }
- return getProp(obj[prop], props)
- }
- function setProp (obj, props, value) {
- const prop = props.shift()
- if (!obj[prop]) {
- Vue.set(obj, prop, {})
- }
- if (!props.length) {
- if (value && typeof value === 'object' && !Array.isArray(value)) {
- obj[prop] = { ...obj[prop], ...value }
- } else {
- obj[prop] = value
- }
- return
- }
- setProp(obj[prop], props, value)
- }
- function deleteProp (obj, props) {
- const prop = props.shift()
- if (!obj[prop]) {
- return
- }
- if (!props.length) {
- Vue.delete(obj, prop)
- return
- }
- deleteProp(obj[prop], props)
- }
- export { getProp, setProp, deleteProp }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement