5 // Created by Sam McCall on 4/05/09.
12 @implementation NJMapping
14 - (id)initWithName:(NSString *)name {
15 if ((self = [super init])) {
16 self.name = name ? name : @"Untitled";
17 _entries = [[NSMutableDictionary alloc] init];
22 - (NJOutput *)objectForKeyedSubscript:(NJInput *)input {
23 return input ? _entries[input.uid] : nil;
26 - (void)setObject:(NJOutput *)output forKeyedSubscript:(NJInput *)input {
29 _entries[input.uid] = output;
31 [_entries removeObjectForKey:input.uid];
35 - (NSDictionary *)serialize {
36 NSMutableDictionary *entries = [[NSMutableDictionary alloc] initWithCapacity:_entries.count];
37 for (id key in _entries) {
38 id serialized = [_entries[key] serialize];
40 entries[key] = serialized;
42 return @{ @"name": _name, @"entries": entries };