@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
26 lines • 4.2 kB
JavaScript
function bothEmpty(item1, item2) {
return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;
}
/**
* Default handler for matching stringified version of an item and a search query
* @param item arbitrary element to match with a string
* @param search search query
* @param stringify handler to turn item into a string
*/
export const TUI_DEFAULT_MATCHER = (item, search, stringify = String) => stringify(item).toLowerCase().includes(search.toLowerCase());
/**
* Default handler for strict matching stringified version of an item and a search query
* @param item arbitrary element to match with a string
* @param search search query
* @param stringify handler to turn item into a string
*/
export const TUI_STRICT_MATCHER = (item, search, stringify = String) => stringify(item).toLowerCase() === search.toLowerCase();
/**
* Default handler to match equality of two elements
* ATTENTION: considers two empty arrays equal
*
* @param item1 first element
* @param item2 second element
*/
export const TUI_DEFAULT_IDENTITY_MATCHER = (item1, item2) => item1 === item2 || bothEmpty(item1, item2);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvY29uc3RhbnRzL21hdGNoZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsU0FBUyxDQUFDLEtBQWMsRUFBRSxLQUFjO0lBQzdDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDL0IsSUFBTyxFQUNQLE1BQWMsRUFDZCxZQUFtQyxNQUFNLEVBQ2xDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBRTNFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDOUIsSUFBTyxFQUNQLE1BQWMsRUFDZCxZQUFtQyxNQUFNLEVBQ2xDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBRXJFOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFnQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUN0RixLQUFLLEtBQUssS0FBSyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R5cGUgVHVpSGFuZGxlciwgdHlwZSBUdWlJZGVudGl0eU1hdGNoZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuXG5mdW5jdGlvbiBib3RoRW1wdHkoaXRlbTE6IHVua25vd24sIGl0ZW0yOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaXRlbTEpICYmIEFycmF5LmlzQXJyYXkoaXRlbTIpICYmICFpdGVtMS5sZW5ndGggJiYgIWl0ZW0yLmxlbmd0aDtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IGhhbmRsZXIgZm9yIG1hdGNoaW5nIHN0cmluZ2lmaWVkIHZlcnNpb24gb2YgYW4gaXRlbSBhbmQgYSBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSBpdGVtIGFyYml0cmFyeSBlbGVtZW50IHRvIG1hdGNoIHdpdGggYSBzdHJpbmdcbiAqIEBwYXJhbSBzZWFyY2ggc2VhcmNoIHF1ZXJ5XG4gKiBAcGFyYW0gc3RyaW5naWZ5IGhhbmRsZXIgdG8gdHVybiBpdGVtIGludG8gYSBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9ERUZBVUxUX01BVENIRVIgPSA8VD4oXG4gICAgaXRlbTogVCxcbiAgICBzZWFyY2g6IHN0cmluZyxcbiAgICBzdHJpbmdpZnk6IFR1aUhhbmRsZXI8VCwgc3RyaW5nPiA9IFN0cmluZyxcbik6IGJvb2xlYW4gPT4gc3RyaW5naWZ5KGl0ZW0pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpO1xuXG4vKipcbiAqIERlZmF1bHQgaGFuZGxlciBmb3Igc3RyaWN0IG1hdGNoaW5nIHN0cmluZ2lmaWVkIHZlcnNpb24gb2YgYW4gaXRlbSBhbmQgYSBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSBpdGVtIGFyYml0cmFyeSBlbGVtZW50IHRvIG1hdGNoIHdpdGggYSBzdHJpbmdcbiAqIEBwYXJhbSBzZWFyY2ggc2VhcmNoIHF1ZXJ5XG4gKiBAcGFyYW0gc3RyaW5naWZ5IGhhbmRsZXIgdG8gdHVybiBpdGVtIGludG8gYSBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TVFJJQ1RfTUFUQ0hFUiA9IDxUPihcbiAgICBpdGVtOiBULFxuICAgIHNlYXJjaDogc3RyaW5nLFxuICAgIHN0cmluZ2lmeTogVHVpSGFuZGxlcjxULCBzdHJpbmc+ID0gU3RyaW5nLFxuKTogYm9vbGVhbiA9PiBzdHJpbmdpZnkoaXRlbSkudG9Mb3dlckNhc2UoKSA9PT0gc2VhcmNoLnRvTG93ZXJDYXNlKCk7XG5cbi8qKlxuICogRGVmYXVsdCBoYW5kbGVyIHRvIG1hdGNoIGVxdWFsaXR5IG9mIHR3byBlbGVtZW50c1xuICogQVRURU5USU9OOiBjb25zaWRlcnMgdHdvIGVtcHR5IGFycmF5cyBlcXVhbFxuICpcbiAqIEBwYXJhbSBpdGVtMSBmaXJzdCBlbGVtZW50XG4gKiBAcGFyYW0gaXRlbTIgc2Vjb25kIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI6IFR1aUlkZW50aXR5TWF0Y2hlcjx1bmtub3duPiA9IChpdGVtMSwgaXRlbTIpID0+XG4gICAgaXRlbTEgPT09IGl0ZW0yIHx8IGJvdGhFbXB0eShpdGVtMSwgaXRlbTIpO1xuIl19