JSFiddle - React, Tailwind, and code Playground

by Glenn Marks

TypeScript

function customMatcher(pattern: string)
{
		// Fake picomatch
    const pM = ((pat) => (input: string) => input.endsWith(pat))(pattern),
    checkedList: string[] = [],
    matchList: string[] = [];

   return {
    matcher,
    checkedList,
    matchList
   };

   function matcher(input: string) {
        checkedList.push(input);

        const result = pM(input);

        if (result) {
            matchList.push(input);
        }

        return result;
    }
}

var c= customMatcher('.foo');

console.log('Before searches', c);

c.matcher('fail.bar');
c.matcher('succeed.foo');

console.log('After searches', c);