как сохранить javascript объект как пользовательский класс - PullRequest
1 голос
/ 14 января 2020

У меня был собственный класс, определенный в Javascript. Я создал объект на основе класса и хранится в базе данных JSON. Когда я получил объект, прототип становится конструктором объекта, а не пользовательским классом. Я изменил его, назначив прототип пользовательского класса прототипу объекта.

Проблема

Но внутри объекта есть другой ключ и значения / объект, каждый ключ имеет собственный прототип класса, но не заменяет его на вложенном уровне.

Код

let client = new CustomClient(); 
neDB.insert(client, (err, record) => {
  record.__proto__ = CustomClient.prototype;

  console.log('Custom client record', record);      
  this.ADD_DEVICE_SETTING(record)
})

Пользовательская запись клиента

{
   __proto__: CustomClient constructor
   object1: {
     __proto__: Object constructor
   },
   object2: {
     __proto__: Object constructor
   }
}

Ожидается

{
   __proto__: CustomClient constructor
   object1: {
     __proto__: CustomObject1 constructor
   },
   object2: {
     __proto__: CustomObject2 constructor
   }
}

Вопрос

Как заменить все сразу без назначения одного на один

...