я так понимаю, что если данные будут undefined ( this.items.find(({id}) => id === someID )), то этот декоратор выдаст ошибку при фильтрации?
Этот декоратор ничего не знает про то, на чём он висит. Он просто смотрит на то, с какими аргументами ты вызвал функцию в прошлый раз и если они полностью совпали — возвращает запомненное значение. Если они не совпали, он скармливает их в твою функцию, запоминает новый результат и аргументы и возвращает тебе новый результат.