function or() {
    var filter = [];
    for (var _i = 0; _i < arguments.length; _i++) {
        filter[_i] = arguments[_i];
    }
    return function (word, wordToMatchAgainst) {
        for (var i = 0, len = filter.length; i < len; i++) {
            var match = filter[i](word, wordToMatchAgainst);
            if (match) {
                return match;
            }
        }
        return null;
    };
}
/**
 * @returns A filter which combines the provided set
 * of filters with an or. The *first* filters that
 * matches defined the return value of the returned
 * filter.
 */
@returns A filter which combines the provided set
of filters with an or. The *first* filters that
matches defined the return value of the returned
filter.
@returns A filter which combines the provided set of filters with an or . The * first * filters that matches defined the return value of the returned filter .
function or() {
    var filter = [];
    for (var _i = 0; _i < arguments.length; _i++) {
        filter[_i] = arguments[_i];
    }
    return function (word, wordToMatchAgainst) {
        for (var i = 0, len = filter.length; i < len; i++) {
            var match = filter[i](word, wordToMatchAgainst);
            if (match) {
                return match;
            }
        }
        return null;
    };
}
function or ( ) { var filter = [ ] ; for ( var _i = 0 ; _i < arguments . length ; _i ++ ) { filter [ _i ] = arguments [ _i ] ; } return function ( word , wordToMatchAgainst ) { for ( var i = 0 , len = filter . length ; i < len ; i ++ ) { var match = filter [ i ] ( word , wordToMatchAgainst ) ; if ( match ) { return match ; } } return null ; } ; }
@returns A filter which combines the provided set
 of filters with an or.
@returns A filter which combines the provided set of filters with an or .