All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.es.options.util.mjs Maven / Gradle / Ivy

Go to download

Advanced algorithms for semantic ApiDOM manipulations like dereferencing or resolution.

There is a newer version: 1.0.0-alpha.9
Show newest version
import { mergeDeepRight, lens, path, assocPath, over } from 'ramda';
import { isEmptyString } from 'ramda-adjunct';
import { cwd } from "../util/url.mjs";
/**
 * Algorithm for deep merging options.
 */

const baseURILens = lens(path(['resolve', 'baseURI']), assocPath(['resolve', 'baseURI']));
const baseURIDefault = baseURI => isEmptyString(baseURI) ? cwd() : baseURI;

// eslint-disable-next-line import/prefer-default-export
export const merge = (lObj, rObj) => {
  const withoutDefaults = mergeDeepRight(lObj, rObj);
  // @ts-ignore
  return over(baseURILens, baseURIDefault, withoutDefaults);
};




© 2015 - 2025 Weber Informatics LLC | Privacy Policy