Remove GRXWriter wrappers that are now unnecessary

With GRXWriter a subclass of all writers, we can map the requestsWriter directly
without a dumb wrapper, and return GRXImmediateWriter objects where GRXWriter is
expected.
pull/2488/head
Jorge Canizales 10 years ago
parent a38baaec9c
commit 29f55d5655
  1. 4
      src/objective-c/ProtoRPC/ProtoRPC.m
  2. 12
      src/objective-c/RxLibrary/GRXWriter+Immediate.m

@ -35,7 +35,6 @@
#import <GPBProtocolBuffers.h> #import <GPBProtocolBuffers.h>
#import <RxLibrary/GRXWriteable.h> #import <RxLibrary/GRXWriteable.h>
#import <RxLibrary/GRXForwardingWriter.h>
#import <RxLibrary/GRXWriter+Transformations.h> #import <RxLibrary/GRXWriter+Transformations.h>
@implementation ProtoRPC { @implementation ProtoRPC {
@ -65,8 +64,7 @@
format:@"A protobuf class to parse the responses must be provided."]; format:@"A protobuf class to parse the responses must be provided."];
} }
// A writer that serializes the proto messages to send. // A writer that serializes the proto messages to send.
id<GRXWriter> bytesWriter = GRXWriter *bytesWriter = [requestsWriter map:^id(GPBMessage *proto) {
[[[GRXForwardingWriter alloc] initWithWriter:requestsWriter] map:^id(GPBMessage *proto) {
// TODO(jcanizales): Fail with an understandable error message if the requestsWriter isn't // TODO(jcanizales): Fail with an understandable error message if the requestsWriter isn't
// sending GPBMessages. // sending GPBMessages.
return [proto data]; return [proto data];

@ -38,27 +38,27 @@
@implementation GRXWriter (Immediate) @implementation GRXWriter (Immediate)
+ (instancetype)writerWithEnumerator:(NSEnumerator *)enumerator { + (instancetype)writerWithEnumerator:(NSEnumerator *)enumerator {
return [[self alloc] initWithWriter:[GRXImmediateWriter writerWithEnumerator:enumerator]]; return [GRXImmediateWriter writerWithEnumerator:enumerator];
} }
+ (instancetype)writerWithValueSupplier:(id (^)())block { + (instancetype)writerWithValueSupplier:(id (^)())block {
return [[self alloc] initWithWriter:[GRXImmediateWriter writerWithValueSupplier:block]]; return [GRXImmediateWriter writerWithValueSupplier:block];
} }
+ (instancetype)writerWithContainer:(id<NSFastEnumeration>)container { + (instancetype)writerWithContainer:(id<NSFastEnumeration>)container {
return [[self alloc] initWithWriter:[GRXImmediateWriter writerWithContainer:container]]; return [GRXImmediateWriter writerWithContainer:container];
} }
+ (instancetype)writerWithValue:(id)value { + (instancetype)writerWithValue:(id)value {
return [[self alloc] initWithWriter:[GRXImmediateWriter writerWithValue:value]]; return [GRXImmediateWriter writerWithValue:value];
} }
+ (instancetype)writerWithError:(NSError *)error { + (instancetype)writerWithError:(NSError *)error {
return [[self alloc] initWithWriter:[GRXImmediateWriter writerWithError:error]]; return [GRXImmediateWriter writerWithError:error];
} }
+ (instancetype)emptyWriter { + (instancetype)emptyWriter {
return [[self alloc] initWithWriter:[GRXImmediateWriter emptyWriter]]; return [GRXImmediateWriter emptyWriter];
} }
@end @end

Loading…
Cancel
Save