浏览代码

Don't touch getters when initializing interceptors

Caleb Porzio 3 年之前
父节点
当前提交
0898225972
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      packages/alpinejs/src/interceptor.js

+ 4 - 1
packages/alpinejs/src/interceptor.js

@@ -5,7 +5,10 @@ export function initInterceptors(data) {
     let isObject = val => typeof val === 'object' && !Array.isArray(val) && val !== null
 
     let recurse = (obj, basePath = '') => {
-        Object.entries(obj).forEach(([key, value]) => {
+        Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => {
+            if (enumerable === false) return
+            if (value === undefined) return
+
             let path = basePath === '' ? key : `${basePath}.${key}`
 
             if (typeof value === 'object' && value !== null && value._x_interceptor) {