How do I implement Lodash ._chain function?

I’m trying to remove lodash from my project, and one of the functions we use is the ._chain. It is being used like so:

chain(sortedItems || allItems)
            .filter((x) => this.filterItemsBySearchParam<T>(x, search))
            .filter((x) => this.filterItemsByFacets<T>(x, facets))
            .groupBy((x) => (groupBy ? [groupBy.split(',').map((path) => get(x, path))] : ''))
            .map((filteredItems: any, key) => {
            ...

I tried this, but couldn’t get it to work:

private chain(value) {
    return {
        /**
       * @param {function|string} func function or function name (in chained value)
       * @param  {...any} args
       */
        filter(func, ...args) {
            if (typeof func === 'string') {
                return chain(value[func](...args));
            }
            return chain(func(value, ...args));
        },
        value: () => value,
    };
}

Is there a better way to achieve this?