From 3657c7f6d1e24ef2f4a73d1fadee12a529b8148b Mon Sep 17 00:00:00 2001 From: Sergii Date: Fri, 25 Sep 2020 20:57:27 +0300 Subject: [PATCH] perf(events): moves out side-effect from `LinkedItem` constructor --- packages/casl-ability/src/PureAbility.ts | 2 +- packages/casl-ability/src/RuleIndex.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/casl-ability/src/PureAbility.ts b/packages/casl-ability/src/PureAbility.ts index 769a9db2e..e5c71fa3a 100755 --- a/packages/casl-ability/src/PureAbility.ts +++ b/packages/casl-ability/src/PureAbility.ts @@ -19,7 +19,7 @@ export class PureAbility< const rules = this.rulesFor(...args); const subject = args[1]; - for (let i = 0; i < rules.length; i++) { + for (let i = 0, length = rules.length; i < length; i++) { if (rules[i].matchesConditions(subject)) { return rules[i]; } diff --git a/packages/casl-ability/src/RuleIndex.ts b/packages/casl-ability/src/RuleIndex.ts index 09c3fdc4a..52ee99f9a 100644 --- a/packages/casl-ability/src/RuleIndex.ts +++ b/packages/casl-ability/src/RuleIndex.ts @@ -178,7 +178,7 @@ export class RuleIndex { event: T, handler: EventHandler>[T]> ): Unsubscribe { - const head = this._events.get(event) || null; + const head = this._events.has(event) ? this._events.get(event) : null; const item = new LinkedItem(handler, head); this._events.set(event, item);