Sha256: 98d929b5112152c43930f475760af29b05ba0df4adc1c56ff798211fb981f643

Contents?: true

Size: 918 Bytes

Versions: 26

Compression:

Stored size: 918 Bytes

Contents

import { defaultTheme } from './theme.mjs';
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;
}
export function makeTheme(...themes) {
    const themesToMerge = [
        defaultTheme,
        ...themes.filter((theme) => theme != null),
    ];
    return deepMerge(...themesToMerge);
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.25 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.24 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.23 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.22 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.21 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.20 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.19 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.18 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.17 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.16 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.15 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.14 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.13 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.12 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.11 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.10 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.9 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.8 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs
clapton-0.0.7 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/make-theme.mjs