@truenine/eslint9-config
Version:
ESLint 9 configuration package for Compose Client projects with TypeScript, Vue, and modern JavaScript support
1 lines • 1.3 kB
Source Map (JSON)
{"version":3,"file":"merge.cjs","names":[],"sources":["../../src/utils/merge.ts"],"sourcesContent":["export function mergeWithDefaults<T extends object>(\n value: boolean | T | null | undefined,\n defaults: T\n): T\nexport function mergeWithDefaults<T extends object>(\n value: boolean | T | null | undefined,\n defaults: boolean\n): boolean | T\nexport function mergeWithDefaults<T extends object>(\n value: boolean | T | null | undefined,\n defaults: boolean | T | null | undefined\n): boolean | T {\n if (defaults === false || defaults === null || defaults === void 0) {\n if (value === true) return true\n if (value === false || value === null) return false\n return value as T\n }\n\n if (value === void 0) return defaults\n if (value === false || value === null) return false\n if (value === true) return defaults\n\n if (typeof value === 'object' && typeof defaults === 'object') return {...defaults, ...value}\n\n return value\n}\n"],"mappings":";;;AAQA,SAAgB,kBACd,OACA,UACa;AACb,KAAI,aAAa,SAAS,aAAa,QAAQ,aAAa,KAAK,GAAG;AAClE,MAAI,UAAU,KAAM,QAAO;AAC3B,MAAI,UAAU,SAAS,UAAU,KAAM,QAAO;AAC9C,SAAO;;AAGT,KAAI,UAAU,KAAK,EAAG,QAAO;AAC7B,KAAI,UAAU,SAAS,UAAU,KAAM,QAAO;AAC9C,KAAI,UAAU,KAAM,QAAO;AAE3B,KAAI,OAAO,UAAU,YAAY,OAAO,aAAa,SAAU,QAAO;EAAC,GAAG;EAAU,GAAG;EAAM;AAE7F,QAAO"}