aboutsummaryrefslogtreecommitdiff
path: root/lib/mergehash.pm6
blob: 206c8815bba526c8975acac1a5d23049a0a78756 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use MONKEY;
augment class Hash {
    method merge (%b) {
        hashmerge self, %b;
        self;
    }
    sub hashmerge (%merge-into, %merge-source) {
        for %merge-source.keys {
            if %merge-into{$_}:exists {
                hashmerge %merge-into{$_}, %merge-source{$_};
            }
            else {
                %merge-into{$_} = %merge-source{$_};
            }
        }
        %merge-into;
    }
}