{
  "name": "@thalesrc/js-utils",
  "version": "3.4.0",
  "description": "Javascript utility functions for web development",
  "keywords": [
    "object",
    "deep clone",
    "array",
    "async",
    "map",
    "find by key",
    "try catch",
    "compact",
    "difference",
    "intersecion",
    "promise",
    "defer",
    "open",
    "is truthy",
    "is falsy",
    "math",
    "min max",
    "noop",
    "unique id",
    "replace",
    "remove",
    "deepest",
    "never",
    "arrayize"
  ],
  "homepage": "https://js-utils.thalesrc.com",
  "repository": {
    "type": "git",
    "url": "https://github.com/thalesrc/thalesrc.git",
    "directory": "libs/js-utils"
  },
  "dependencies": {
    "@thalesrc/extra-ts-types": "^1.1.0",
    "tslib": "^2.3.0"
  },
  "type": "module",
  "module": "./index.js",
  "main": "./index.cjs",
  "typings": "./index.d.ts",
  "bugs": "https://github.com/thalesrc/thalesrc/issues",
  "license": "MIT",
  "author": {
    "name": "Ali Şahin Özçelik",
    "email": "alisahinozcelik@gmail.com",
    "url": "https://alisah.in"
  },
  "funding": {
    "type": "patreon",
    "url": "https://www.patreon.com/alisahin"
  },
  "exports": {
    ".": {
      "default": "./index.cjs",
      "import": "./index.js",
      "node": "./index.cjs",
      "require": "./index.cjs",
      "types": "./index.d.ts"
    },
    "./compact": {
      "default": "./compact.cjs",
      "import": "./compact.js",
      "node": "./compact.cjs",
      "require": "./compact.cjs",
      "types": "./compact.d.ts"
    },
    "./is-falsy": {
      "default": "./is-falsy.cjs",
      "import": "./is-falsy.js",
      "node": "./is-falsy.cjs",
      "require": "./is-falsy.cjs",
      "types": "./is-falsy.d.ts"
    },
    "./is-truthy": {
      "default": "./is-truthy.cjs",
      "import": "./is-truthy.js",
      "node": "./is-truthy.cjs",
      "require": "./is-truthy.cjs",
      "types": "./is-truthy.d.ts"
    },
    "./limit": {
      "default": "./limit.cjs",
      "import": "./limit.js",
      "node": "./limit.cjs",
      "require": "./limit.cjs",
      "types": "./limit.d.ts"
    },
    "./open-promise": {
      "default": "./open-promise.cjs",
      "import": "./open-promise.js",
      "node": "./open-promise.cjs",
      "require": "./open-promise.cjs",
      "types": "./open-promise.d.ts"
    },
    "./smart-map": {
      "default": "./smart-map.cjs",
      "import": "./smart-map.js",
      "node": "./smart-map.cjs",
      "require": "./smart-map.cjs",
      "types": "./smart-map.d.ts"
    },
    "./unique-id": {
      "default": "./unique-id.cjs",
      "import": "./unique-id.js",
      "node": "./unique-id.cjs",
      "require": "./unique-id.cjs",
      "types": "./unique-id.d.ts"
    },
    "./array": {
      "default": "./array/index.cjs",
      "import": "./array/index.js",
      "node": "./array/index.cjs",
      "require": "./array/index.cjs",
      "types": "./array/index.d.ts"
    },
    "./class": {
      "default": "./class/index.cjs",
      "import": "./class/index.js",
      "node": "./class/index.cjs",
      "require": "./class/index.cjs",
      "types": "./class/index.d.ts"
    },
    "./class/mixin": {
      "default": "./class/mixin.cjs",
      "import": "./class/mixin.js",
      "node": "./class/mixin.cjs",
      "require": "./class/mixin.cjs",
      "types": "./class/mixin.d.ts"
    },
    "./array/proto/async-map": {
      "default": "./array/proto/async-map.cjs",
      "import": "./array/proto/async-map.js",
      "node": "./array/proto/async-map.cjs",
      "require": "./array/proto/async-map.cjs",
      "types": "./array/proto/async-map.d.ts"
    },
    "./array/proto/compact": {
      "default": "./array/proto/compact.cjs",
      "import": "./array/proto/compact.js",
      "node": "./array/proto/compact.cjs",
      "require": "./array/proto/compact.cjs",
      "types": "./array/proto/compact.d.ts"
    },
    "./array/proto/difference": {
      "default": "./array/proto/difference.cjs",
      "import": "./array/proto/difference.js",
      "node": "./array/proto/difference.cjs",
      "require": "./array/proto/difference.cjs",
      "types": "./array/proto/difference.d.ts"
    },
    "./array/proto/find-by-key": {
      "default": "./array/proto/find-by-key.cjs",
      "import": "./array/proto/find-by-key.js",
      "node": "./array/proto/find-by-key.cjs",
      "require": "./array/proto/find-by-key.cjs",
      "types": "./array/proto/find-by-key.d.ts"
    },
    "./array/proto/intersection": {
      "default": "./array/proto/intersection.cjs",
      "import": "./array/proto/intersection.js",
      "node": "./array/proto/intersection.cjs",
      "require": "./array/proto/intersection.cjs",
      "types": "./array/proto/intersection.d.ts"
    },
    "./array/proto/limit": {
      "default": "./array/proto/limit.cjs",
      "import": "./array/proto/limit.js",
      "node": "./array/proto/limit.cjs",
      "require": "./array/proto/limit.cjs",
      "types": "./array/proto/limit.d.ts"
    },
    "./array/proto/remove": {
      "default": "./array/proto/remove.cjs",
      "import": "./array/proto/remove.js",
      "node": "./array/proto/remove.cjs",
      "require": "./array/proto/remove.cjs",
      "types": "./array/proto/remove.d.ts"
    },
    "./array/proto/replace": {
      "default": "./array/proto/replace.cjs",
      "import": "./array/proto/replace.js",
      "node": "./array/proto/replace.cjs",
      "require": "./array/proto/replace.cjs",
      "types": "./array/proto/replace.d.ts"
    },
    "./array/proto/uniquify-by-key": {
      "default": "./array/proto/uniquify-by-key.cjs",
      "import": "./array/proto/uniquify-by-key.js",
      "node": "./array/proto/uniquify-by-key.cjs",
      "require": "./array/proto/uniquify-by-key.cjs",
      "types": "./array/proto/uniquify-by-key.d.ts"
    },
    "./array/proto/uniquify": {
      "default": "./array/proto/uniquify.cjs",
      "import": "./array/proto/uniquify.js",
      "node": "./array/proto/uniquify.cjs",
      "require": "./array/proto/uniquify.cjs",
      "types": "./array/proto/uniquify.d.ts"
    },
    "./array/static/arrayize": {
      "default": "./array/static/arrayize.cjs",
      "import": "./array/static/arrayize.js",
      "node": "./array/static/arrayize.cjs",
      "require": "./array/static/arrayize.cjs",
      "types": "./array/static/arrayize.d.ts"
    },
    "./array/arrayize": {
      "default": "./array/arrayize.cjs",
      "import": "./array/arrayize.js",
      "node": "./array/arrayize.cjs",
      "require": "./array/arrayize.cjs",
      "types": "./array/arrayize.d.ts"
    },
    "./array/async-map": {
      "default": "./array/async-map.cjs",
      "import": "./array/async-map.js",
      "node": "./array/async-map.cjs",
      "require": "./array/async-map.cjs",
      "types": "./array/async-map.d.ts"
    },
    "./array/compact": {
      "default": "./array/compact.cjs",
      "import": "./array/compact.js",
      "node": "./array/compact.cjs",
      "require": "./array/compact.cjs",
      "types": "./array/compact.d.ts"
    },
    "./array/difference": {
      "default": "./array/difference.cjs",
      "import": "./array/difference.js",
      "node": "./array/difference.cjs",
      "require": "./array/difference.cjs",
      "types": "./array/difference.d.ts"
    },
    "./array/find-by-key": {
      "default": "./array/find-by-key.cjs",
      "import": "./array/find-by-key.js",
      "node": "./array/find-by-key.cjs",
      "require": "./array/find-by-key.cjs",
      "types": "./array/find-by-key.d.ts"
    },
    "./array/intersection": {
      "default": "./array/intersection.cjs",
      "import": "./array/intersection.js",
      "node": "./array/intersection.cjs",
      "require": "./array/intersection.cjs",
      "types": "./array/intersection.d.ts"
    },
    "./array/limit": {
      "default": "./array/limit.cjs",
      "import": "./array/limit.js",
      "node": "./array/limit.cjs",
      "require": "./array/limit.cjs",
      "types": "./array/limit.d.ts"
    },
    "./array/remove": {
      "default": "./array/remove.cjs",
      "import": "./array/remove.js",
      "node": "./array/remove.cjs",
      "require": "./array/remove.cjs",
      "types": "./array/remove.d.ts"
    },
    "./array/replace": {
      "default": "./array/replace.cjs",
      "import": "./array/replace.js",
      "node": "./array/replace.cjs",
      "require": "./array/replace.cjs",
      "types": "./array/replace.d.ts"
    },
    "./array/uniquify-by-key": {
      "default": "./array/uniquify-by-key.cjs",
      "import": "./array/uniquify-by-key.js",
      "node": "./array/uniquify-by-key.cjs",
      "require": "./array/uniquify-by-key.cjs",
      "types": "./array/uniquify-by-key.d.ts"
    },
    "./array/uniquify": {
      "default": "./array/uniquify.cjs",
      "import": "./array/uniquify.js",
      "node": "./array/uniquify.cjs",
      "require": "./array/uniquify.cjs",
      "types": "./array/uniquify.d.ts"
    },
    "./boolean/static/is-falsy": {
      "default": "./boolean/static/is-falsy.cjs",
      "import": "./boolean/static/is-falsy.js",
      "node": "./boolean/static/is-falsy.cjs",
      "require": "./boolean/static/is-falsy.cjs",
      "types": "./boolean/static/is-falsy.d.ts"
    },
    "./boolean/static/is-truthy": {
      "default": "./boolean/static/is-truthy.cjs",
      "import": "./boolean/static/is-truthy.js",
      "node": "./boolean/static/is-truthy.cjs",
      "require": "./boolean/static/is-truthy.cjs",
      "types": "./boolean/static/is-truthy.d.ts"
    },
    "./function": {
      "default": "./function/index.cjs",
      "import": "./function/index.js",
      "node": "./function/index.cjs",
      "require": "./function/index.cjs",
      "types": "./function/index.d.ts"
    },
    "./function/proto/debounce": {
      "default": "./function/proto/debounce.cjs",
      "import": "./function/proto/debounce.js",
      "node": "./function/proto/debounce.cjs",
      "require": "./function/proto/debounce.cjs",
      "types": "./function/proto/debounce.d.ts"
    },
    "./function/static/call": {
      "default": "./function/static/call.cjs",
      "import": "./function/static/call.js",
      "node": "./function/static/call.cjs",
      "require": "./function/static/call.cjs",
      "types": "./function/static/call.d.ts"
    },
    "./function/static/defer": {
      "default": "./function/static/defer.cjs",
      "import": "./function/static/defer.js",
      "node": "./function/static/defer.cjs",
      "require": "./function/static/defer.cjs",
      "types": "./function/static/defer.d.ts"
    },
    "./function/static/noop": {
      "default": "./function/static/noop.cjs",
      "import": "./function/static/noop.js",
      "node": "./function/static/noop.cjs",
      "require": "./function/static/noop.cjs",
      "types": "./function/static/noop.d.ts"
    },
    "./function/static/of": {
      "default": "./function/static/of.cjs",
      "import": "./function/static/of.js",
      "node": "./function/static/of.cjs",
      "require": "./function/static/of.cjs",
      "types": "./function/static/of.d.ts"
    },
    "./function/call": {
      "default": "./function/call.cjs",
      "import": "./function/call.js",
      "node": "./function/call.cjs",
      "require": "./function/call.cjs",
      "types": "./function/call.d.ts"
    },
    "./function/debounce": {
      "default": "./function/debounce.cjs",
      "import": "./function/debounce.js",
      "node": "./function/debounce.cjs",
      "require": "./function/debounce.cjs",
      "types": "./function/debounce.d.ts"
    },
    "./function/defer": {
      "default": "./function/defer.cjs",
      "import": "./function/defer.js",
      "node": "./function/defer.cjs",
      "require": "./function/defer.cjs",
      "types": "./function/defer.d.ts"
    },
    "./function/noop": {
      "default": "./function/noop.cjs",
      "import": "./function/noop.js",
      "node": "./function/noop.cjs",
      "require": "./function/noop.cjs",
      "types": "./function/noop.d.ts"
    },
    "./function/of": {
      "default": "./function/of.cjs",
      "import": "./function/of.js",
      "node": "./function/of.cjs",
      "require": "./function/of.cjs",
      "types": "./function/of.d.ts"
    },
    "./map": {
      "default": "./map/index.cjs",
      "import": "./map/index.js",
      "node": "./map/index.cjs",
      "require": "./map/index.cjs",
      "types": "./map/index.d.ts"
    },
    "./map/merge": {
      "default": "./map/merge.cjs",
      "import": "./map/merge.js",
      "node": "./map/merge.cjs",
      "require": "./map/merge.cjs",
      "types": "./map/merge.d.ts"
    },
    "./math": {
      "default": "./math/index.cjs",
      "import": "./math/index.js",
      "node": "./math/index.cjs",
      "require": "./math/index.cjs",
      "types": "./math/index.d.ts"
    },
    "./math/static/min-max": {
      "default": "./math/static/min-max.cjs",
      "import": "./math/static/min-max.js",
      "node": "./math/static/min-max.cjs",
      "require": "./math/static/min-max.cjs",
      "types": "./math/static/min-max.d.ts"
    },
    "./math/min-max": {
      "default": "./math/min-max.cjs",
      "import": "./math/min-max.js",
      "node": "./math/min-max.cjs",
      "require": "./math/min-max.cjs",
      "types": "./math/min-max.d.ts"
    },
    "./object": {
      "default": "./object/index.cjs",
      "import": "./object/index.js",
      "node": "./object/index.cjs",
      "require": "./object/index.cjs",
      "types": "./object/index.d.ts"
    },
    "./object/static/clone": {
      "default": "./object/static/clone.cjs",
      "import": "./object/static/clone.js",
      "node": "./object/static/clone.cjs",
      "require": "./object/static/clone.cjs",
      "types": "./object/static/clone.d.ts"
    },
    "./object/static/compact": {
      "default": "./object/static/compact.cjs",
      "import": "./object/static/compact.js",
      "node": "./object/static/compact.cjs",
      "require": "./object/static/compact.cjs",
      "types": "./object/static/compact.d.ts"
    },
    "./object/static/deepest": {
      "default": "./object/static/deepest.cjs",
      "import": "./object/static/deepest.js",
      "node": "./object/static/deepest.cjs",
      "require": "./object/static/deepest.cjs",
      "types": "./object/static/deepest.d.ts"
    },
    "./object/static/deep-freeze": {
      "default": "./object/static/deep-freeze.cjs",
      "import": "./object/static/deep-freeze.js",
      "node": "./object/static/deep-freeze.cjs",
      "require": "./object/static/deep-freeze.cjs",
      "types": "./object/static/deep-freeze.d.ts"
    },
    "./object/clone": {
      "default": "./object/clone.cjs",
      "import": "./object/clone.js",
      "node": "./object/clone.cjs",
      "require": "./object/clone.cjs",
      "types": "./object/clone.d.ts"
    },
    "./object/compact": {
      "default": "./object/compact.cjs",
      "import": "./object/compact.js",
      "node": "./object/compact.cjs",
      "require": "./object/compact.cjs",
      "types": "./object/compact.d.ts"
    },
    "./object/deepest": {
      "default": "./object/deepest.cjs",
      "import": "./object/deepest.js",
      "node": "./object/deepest.cjs",
      "require": "./object/deepest.cjs",
      "types": "./object/deepest.d.ts"
    },
    "./object/deep-freeze": {
      "default": "./object/deep-freeze.cjs",
      "import": "./object/deep-freeze.js",
      "node": "./object/deep-freeze.cjs",
      "require": "./object/deep-freeze.cjs",
      "types": "./object/deep-freeze.d.ts"
    },
    "./promise": {
      "default": "./promise/index.cjs",
      "import": "./promise/index.js",
      "node": "./promise/index.cjs",
      "require": "./promise/index.cjs",
      "types": "./promise/index.d.ts"
    },
    "./promise/proto/revert": {
      "default": "./promise/proto/revert.cjs",
      "import": "./promise/proto/revert.js",
      "node": "./promise/proto/revert.cjs",
      "require": "./promise/proto/revert.cjs",
      "types": "./promise/proto/revert.d.ts"
    },
    "./promise/proto/try-catch": {
      "default": "./promise/proto/try-catch.cjs",
      "import": "./promise/proto/try-catch.js",
      "node": "./promise/proto/try-catch.cjs",
      "require": "./promise/proto/try-catch.cjs",
      "types": "./promise/proto/try-catch.d.ts"
    },
    "./promise/static/chain": {
      "default": "./promise/static/chain.cjs",
      "import": "./promise/static/chain.js",
      "node": "./promise/static/chain.cjs",
      "require": "./promise/static/chain.cjs",
      "types": "./promise/static/chain.d.ts"
    },
    "./promise/static/never": {
      "default": "./promise/static/never.cjs",
      "import": "./promise/static/never.js",
      "node": "./promise/static/never.cjs",
      "require": "./promise/static/never.cjs",
      "types": "./promise/static/never.d.ts"
    },
    "./promise/static/timeout": {
      "default": "./promise/static/timeout.cjs",
      "import": "./promise/static/timeout.js",
      "node": "./promise/static/timeout.cjs",
      "require": "./promise/static/timeout.cjs",
      "types": "./promise/static/timeout.d.ts"
    },
    "./promise/static/try-one-by-one": {
      "default": "./promise/static/try-one-by-one.cjs",
      "import": "./promise/static/try-one-by-one.js",
      "node": "./promise/static/try-one-by-one.cjs",
      "require": "./promise/static/try-one-by-one.cjs",
      "types": "./promise/static/try-one-by-one.d.ts"
    },
    "./promise/chain": {
      "default": "./promise/chain.cjs",
      "import": "./promise/chain.js",
      "node": "./promise/chain.cjs",
      "require": "./promise/chain.cjs",
      "types": "./promise/chain.d.ts"
    },
    "./promise/never": {
      "default": "./promise/never.cjs",
      "import": "./promise/never.js",
      "node": "./promise/never.cjs",
      "require": "./promise/never.cjs",
      "types": "./promise/never.d.ts"
    },
    "./promise/promisify": {
      "default": "./promise/promisify.cjs",
      "import": "./promise/promisify.js",
      "node": "./promise/promisify.cjs",
      "require": "./promise/promisify.cjs",
      "types": "./promise/promisify.d.ts"
    },
    "./promise/revert": {
      "default": "./promise/revert.cjs",
      "import": "./promise/revert.js",
      "node": "./promise/revert.cjs",
      "require": "./promise/revert.cjs",
      "types": "./promise/revert.d.ts"
    },
    "./promise/timeout": {
      "default": "./promise/timeout.cjs",
      "import": "./promise/timeout.js",
      "node": "./promise/timeout.cjs",
      "require": "./promise/timeout.cjs",
      "types": "./promise/timeout.d.ts"
    },
    "./promise/try-catch": {
      "default": "./promise/try-catch.cjs",
      "import": "./promise/try-catch.js",
      "node": "./promise/try-catch.cjs",
      "require": "./promise/try-catch.cjs",
      "types": "./promise/try-catch.d.ts"
    },
    "./promise/try-one-by-one": {
      "default": "./promise/try-one-by-one.cjs",
      "import": "./promise/try-one-by-one.js",
      "node": "./promise/try-one-by-one.cjs",
      "require": "./promise/try-one-by-one.cjs",
      "types": "./promise/try-one-by-one.d.ts"
    },
    "./set/proto/difference": {
      "default": "./set/proto/difference.cjs",
      "import": "./set/proto/difference.js",
      "node": "./set/proto/difference.cjs",
      "require": "./set/proto/difference.cjs",
      "types": "./set/proto/difference.d.ts"
    },
    "./set/proto/intersection": {
      "default": "./set/proto/intersection.cjs",
      "import": "./set/proto/intersection.js",
      "node": "./set/proto/intersection.cjs",
      "require": "./set/proto/intersection.cjs",
      "types": "./set/proto/intersection.d.ts"
    },
    "./string": {
      "default": "./string/index.cjs",
      "import": "./string/index.js",
      "node": "./string/index.cjs",
      "require": "./string/index.cjs",
      "types": "./string/index.d.ts"
    },
    "./string/proto/limit": {
      "default": "./string/proto/limit.cjs",
      "import": "./string/proto/limit.js",
      "node": "./string/proto/limit.cjs",
      "require": "./string/proto/limit.cjs",
      "types": "./string/proto/limit.d.ts"
    },
    "./string/limit": {
      "default": "./string/limit.cjs",
      "import": "./string/limit.js",
      "node": "./string/limit.cjs",
      "require": "./string/limit.cjs",
      "types": "./string/limit.d.ts"
    }
  }
}