/** * 数组化键名路径 */ export type KeyPath = string[] /** * 规范化键名路径 * * @example * normalizeKeyPath("foo.bar") // => ["foo","bar"] * normalizeKeyPath("foo/bar") // => ["foo","bar"] * normalizeKeyPath(["foo","bar"]) // => ["foo","bar"] * * @param inPath * @return {string[]} */ export function normalizeKeyPath(inPath: string | string[]): KeyPath { if (typeof inPath === "string") { return inPath.split(/[\/\.]/g) } else if (Array.isArray(inPath)) { return inPath } else { return [] } }