import { PathParser } from './matcher/pathParserRanker'
import { Router } from './router'
import { RouteLocationNormalized } from './types'
-import { assign, omit } from './utils'
+import { assign } from './utils'
function formatRouteLocation(
routeLocation: RouteLocationNormalized,
return route.children.some(child => isRouteMatching(child, filter))
}
+
+function omit<T extends object, K extends [...(keyof T)[]]>(obj: T, keys: K) {
+ const ret = {} as {
+ [K2 in Exclude<keyof T, K[number]>]: T[K2]
+ }
+
+ for (let key in obj) {
+ if (!keys.includes(key as any)) {
+ // @ts-ignore
+ ret[key] = obj[key]
+ }
+ }
+ return ret
+}
}
export let noop = () => {}
-
-export const omit = <T extends Record<string, any>>(
- object: T,
- paths: Array<keyof T>
-) => {
- const result: Record<string, any> = {}
- for (let key in object) {
- if (
- paths.indexOf(key) >= 0 ||
- !Object.prototype.hasOwnProperty.call(object, key)
- ) {
- continue
- }
- result[key] = object[key]
- }
- return result
-}