Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / exotic   js

Repository URL to install this package:

Version: 2.0.8 

/ src / deps / index.ts

export { default as forOwn } from 'lodash/forOwn'

// export { filterWhere, mapArray } from 'chain-able-deps/dist/loop'

export {
  filterWhere,
  mapArray,
  always,
  construct,
  dopemerge as merge,
  includesCount,
  includesCount as getIncludesCount,
  curry,
  // curry1,
  // curry2,
  // curry3,
  pipe,
  pipeTwo,
  identity,
  matchDeepProp,
  matchPlainProp,
  matchUnsigned,
  matchInteger,
  matchNative,
  matchRegExpEscapable,
  matchTypedTag,
  matchUnicode,
  matchHex, // @todo not working // matchBooleanIsh,
  values,
  zipFromArrayObj,
  zip,
  // keys,
  keysObjOrArray,
  getPrototypeOf,
  defineFinal,
  // freeze,
  size,
  size as toLength,
  lengthMinusOne,
  charCodeAtZero,
  firstToUpperCase,
  hasUnicode,
  escapeStringRegExp,
  replaceEscapedStar,
  all,
  not,
  and,
  or,
  eq,
  some,
  addPoolingTo,
  flatten,
  preAllocate,
} from 'chain-able-boost'

export const seal = Object.seal
export const freeze = Object.freeze
export const keys = Object.keys

/**
 * @todo @perf @@dedupe @@fixme (minor though)
 */
// export { stringify } from 'chain-able-lego/stringify'
// export { stringify } from 'chain-able-boost'
// export { asyncWrap, attemptOr, wrapAttemptOr } from 'chain-able-boost'
// console.warn('@@todo @@exotic @chain-able-lego')
export const stringify = JSON.stringify
export function wrapAttemptOr(fn: any) {
  return function(...args: any[]) {
    try {
      const result = fn.apply(undefined, arguments)
      // return [undefined, result]
      return [result]
    } catch (exception) {
      return [exception]
    }
  }
}

export { FlatArrayPairs } from 'exotic-structures'