NSDictionary+RACSequenceAdditions.m 780 B

12345678910111213141516171819202122232425262728293031323334
  1. //
  2. // NSDictionary+RACSequenceAdditions.m
  3. // ReactiveObjC
  4. //
  5. // Created by Justin Spahr-Summers on 2012-10-29.
  6. // Copyright (c) 2012 GitHub. All rights reserved.
  7. //
  8. #import "NSDictionary+RACSequenceAdditions.h"
  9. #import "NSArray+RACSequenceAdditions.h"
  10. #import "RACSequence.h"
  11. #import "RACTuple.h"
  12. @implementation NSDictionary (RACSequenceAdditions)
  13. - (RACSequence *)rac_sequence {
  14. NSDictionary *immutableDict = [self copy];
  15. // TODO: First class support for dictionary sequences.
  16. return [immutableDict.allKeys.rac_sequence map:^(id key) {
  17. id value = immutableDict[key];
  18. return RACTuplePack(key, value);
  19. }];
  20. }
  21. - (RACSequence *)rac_keySequence {
  22. return self.allKeys.rac_sequence;
  23. }
  24. - (RACSequence *)rac_valueSequence {
  25. return self.allValues.rac_sequence;
  26. }
  27. @end