From e22faa0d79e2d9289d4bb260fef4fc0b671a184c Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 9 May 2011 15:31:12 -0400 Subject: [PATCH] Added distinctUnionOfObjects and unionOfObjects object operators. --- Foundation/CPArray+KVO.j | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Foundation/CPArray+KVO.j b/Foundation/CPArray+KVO.j index ad05ef8c6..afe962229 100644 --- a/Foundation/CPArray+KVO.j +++ b/Foundation/CPArray+KVO.j @@ -428,7 +428,9 @@ var avgOperator, maxOperator, minOperator, countOperator, - sumOperator; + sumOperator, + distinctUnionOfObjectsOperator, + unionOfObjectsOperator; kvoOperators["avg"] = function avgOperator(self, _cmd, param) { @@ -495,6 +497,18 @@ kvoOperators["sum"] = function sumOperator(self, _cmd, param) return sum; } +kvoOperators["distinctUnionOfObjects"] = function distinctUnionOfObjectsOperator(self, _cmd, param) +{ + var objects = [self valueForKeyPath:param]; + + return [[CPSet setWithArray:objects] allObjects]; +} + +kvoOperators["unionOfObjects"] = function unionOfObjectsOperator(self, _cmd, param) +{ + return [self valueForKeyPath:param]; +} + @implementation CPArray (KeyValueObserving) - (void)addObserver:(id)anObserver toObjectsAtIndexes:(CPIndexSet)indexes forKeyPath:(CPString)aKeyPath options:(unsigned)options context:(id)context