{"version":3,"file":"normalizeOptions.cjs","names":[],"sources":["../src/normalizeOptions.ts"],"sourcesContent":["export function normalizeOptions<T>(\n  enableDefault: boolean,\n  defaultOptions: T,\n  key: string,\n) {\n  return function <U extends boolean | undefined | T>(options: U): T | false {\n    if (options === false) {\n      return false;\n    }\n\n    if (typeof options === 'undefined') {\n      if (enableDefault) {\n        return defaultOptions;\n      } else {\n        return false;\n      }\n    }\n\n    if (options === true) {\n      return defaultOptions;\n    }\n\n    if (options && typeof options === 'object') {\n      return {\n        ...(defaultOptions as T),\n        ...options,\n      };\n    }\n\n    throw new Error(\n      `Unexpected type for \\`${key}\\`, expect boolean/undefined/object, got: ${typeof options}`,\n    );\n  };\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,eACA,gBACA,KACA;AACA,QAAO,SAA6C,SAAuB;AACzE,MAAI,YAAY,MACd,QAAO;AAGT,MAAI,OAAO,YAAY,YACrB,KAAI,cACF,QAAO;MAEP,QAAO;AAIX,MAAI,YAAY,KACd,QAAO;AAGT,MAAI,WAAW,OAAO,YAAY,SAChC,QAAO;GACL,GAAI;GACJ,GAAG;GACJ;AAGH,QAAM,IAAI,MACR,yBAAyB,IAAI,4CAA4C,OAAO,UACjF"}