hexo/node_modules/moize/__tests__/matchesArg.ts

27 lines
721 B
TypeScript

import moize from '../src';
const method = jest.fn(function (one: string, two?: string) {
return { one, two };
});
function argMatcher(cacheKeyArg: string, keyArg: string) {
return cacheKeyArg === 'foo' || keyArg === 'foo';
}
const memoized = moize.matchesArg(argMatcher)(method);
const foo = 'foo';
const bar = 'bar';
describe('moize.matchesArg', () => {
it('performs a custom equality check of specific args in the key', () => {
const resultA = memoized(foo, bar);
const resultB = memoized(bar, foo);
expect(resultA).toEqual({ one: foo, two: bar });
expect(resultB).toBe(resultA);
expect(method).toHaveBeenCalledTimes(1);
});
});