From 3b50c134d0efeb19e86616ca10dec413288bfd05 Mon Sep 17 00:00:00 2001 From: cha0s Date: Tue, 19 Mar 2019 11:21:52 -0500 Subject: [PATCH] refactor: Trait::initialize before hooks, actions, and listeners --- packages/entity/traits/index.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/entity/traits/index.js b/packages/entity/traits/index.js index 2cf81ea..bc0ef31 100644 --- a/packages/entity/traits/index.js +++ b/packages/entity/traits/index.js @@ -88,6 +88,14 @@ export class Traits { // Instantiate. const {params, state} = json; const instance = new Trait(this.entity_PRIVATE, params, state); + // Proxy properties. + const properties = enumerateProperties(Trait.prototype); + for (const key in properties) { + properties[key].instance = instance; + this.properties_PRIVATE[key] = properties[key]; + } + // Let the Trait do its initialization. + instance.initialize(); // Attach listeners. const listeners = instance.listeners(); for (const eventName in listeners) { @@ -110,14 +118,6 @@ export class Traits { type: Trait.type(), }); } - // Proxy properties. - const properties = enumerateProperties(Trait.prototype); - for (const key in properties) { - properties[key].instance = instance; - this.properties_PRIVATE[key] = properties[key]; - } - // Let the Trait do its initialization. - instance.initialize(); // Add state. this._setInstanceState(type, instance); // Track trait.