Sha256: 2cf5896b8b400b7815af3c13ff5581eeba1d8a31ca1b61ae2eb737e8f6e13dc4
Contents?: true
Size: 1.01 KB
Versions: 26
Compression:
Stored size: 1.01 KB
Contents
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeTheme = makeTheme; const theme_mjs_1 = require('./theme.js'); function isPlainObject(value) { if (typeof value !== 'object' || value === null) return false; let proto = value; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(value) === proto; } function deepMerge(...objects) { const output = {}; for (const obj of objects) { for (const [key, value] of Object.entries(obj)) { const prevValue = output[key]; output[key] = isPlainObject(prevValue) && isPlainObject(value) ? deepMerge(prevValue, value) : value; } } return output; } function makeTheme(...themes) { const themesToMerge = [ theme_mjs_1.defaultTheme, ...themes.filter((theme) => theme != null), ]; return deepMerge(...themesToMerge); }
Version data entries
26 entries across 26 versions & 1 rubygems