test: tests for memoize

This commit is contained in:
Evan You
2018-10-28 17:18:41 -04:00
parent 131936f144
commit 52e6964d6c
3 changed files with 59 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ export { createAsyncComponent } from './optional/asyncComponent'
export { KeepAlive } from './optional/keepAlive'
export { mixins } from './optional/mixins'
export { EventEmitter } from './optional/eventEmitter'
export { memoize } from './optional/memoize'
export { withHooks, useState, useEffect } from './optional/hooks'
// flags & types

View File

@@ -17,13 +17,13 @@ import { warn } from '../warning'
const memoizeMap = new WeakMap()
export function memoize(
getter: () => any,
export function memoize<T>(
getter: () => T,
instance: Component,
id: number,
keys?: any[]
): any {
if (__DEV__ && !Array.isArray(keys)) {
): T {
if (__DEV__ && arguments.length > 3 && !Array.isArray(keys)) {
warn(
`keys passed to v-memo or memoize must be an array. Got ${String(keys)}`
)