@mapcss/config
Version:
Definition of MapCSS config, loader
53 lines (52 loc) • 2.09 kB
JavaScript
export { default as Root } from "../deps/deno.land/x/postcss_core@v1.0.0-beta.1/lib/root.js";
export { default as Declaration } from "../deps/deno.land/x/postcss_core@v1.0.0-beta.1/lib/declaration.js";
export { default as AtRule } from "../deps/deno.land/x/postcss_core@v1.0.0-beta.1/lib/at-rule.js";
export { default as Rule } from "../deps/deno.land/x/postcss_core@v1.0.0-beta.1/lib/rule.js";
export { default as postcss } from "../deps/deno.land/x/postcss_core@v1.0.0-beta.1/lib/postcss.js";
export { toAST } from "../deps/deno.land/x/postcss_js@v1.0.0-beta.4/mod.js";
export { None, Some, } from "../deps/deno.land/x/monads@v0.5.10/option/option.js";
export { isFunction, isNumber, isObject, isString, isUndefined, } from "../deps/deno.land/x/isx@v1.0.0-beta.17/mod.js";
import { isLength0, isObject, isUndefined, } from "../deps/deno.land/x/isx@v1.0.0-beta.17/mod.js";
/** safe get accessor */
export function prop(key, object) {
return (object)[key];
}
export { deepMerge } from "../deps/deno.land/std@0.122.0/collections/deep_merge.js";
export { distinctBy } from "../deps/deno.land/std@0.125.0/collections/distinct_by.js";
export function wrap(val) {
return Array.isArray(val) ? val : [val];
}
/** take last element of `array` */
export function last(value) {
return value.slice(-1)[0];
}
export function init(value) {
return value.slice(0, -1);
}
/** safe accessor for first element */
export function head(value) {
return value[0];
}
/** take elements except head */
export function tail(val) {
return val.slice(1, Infinity);
}
/** check field is exist or not */
export function has(key, object) {
return Object.hasOwnProperty.call(object, key);
}
/** safe get accessor deeply */
export function propPath(path, object) {
const key = path[0];
if (isUndefined(key))
return undefined;
const rest = tail(path);
if (isLength0(rest)) {
return prop(key, object);
}
const nested = prop(key, object);
if (has(key, object) && isObject(nested)) {
return propPath(rest, nested);
}
return undefined;
}