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);