Blame view

天文台pc/tianwentai-ui/node_modules/react-dnd-html5-backend/src/utils/js_utils.ts 646 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  // cheap lodash replacements
  
  export function memoize<T>(fn: () => T): () => T {
  	let result: T | null = null
  	const memoized = () => {
  		if (result == null) {
  			result = fn()
  		}
  		return result
  	}
  	return memoized
  }
  
  /**
   * drop-in replacement for _.without
   */
  export function without<T>(items: T[], item: T) {
  	return items.filter((i) => i !== item)
  }
  
  export function union<T extends string | number>(itemsA: T[], itemsB: T[]) {
  	const set = new Set<T>()
  	const insertItem = (item: T) => set.add(item)
  	itemsA.forEach(insertItem)
  	itemsB.forEach(insertItem)
  
  	const result: T[] = []
  	set.forEach((key) => result.push(key))
  	return result
  }