UNPKG

@mapcss/config

Version:

Definition of MapCSS config, loader

53 lines (52 loc) 2.09 kB
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; }