{"_id":"@didiermargarido/ts-utilities","_rev":"2-c095e5f3197744845f05f9d2efc35e24","name":"@didiermargarido/ts-utilities","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@didiermargarido/ts-utilities","description":"Collection of common utils in Typescript","version":"1.0.0","license":"MIT","author":{"name":"Didier Margarido"},"keywords":["typescript","utils","library"],"main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/didiermargarido/ts-utilities#readme","repository":{"type":"git","url":"git+https://github.com/didiermargarido/ts-utilities.git"},"bugs":{"url":"https://github.com/didiermargarido/ts-utilities/issues"},"scripts":{"prepare":"husky install","start":"tsc -p tsconfig.json -w","build":"tsc -p tsconfig.json","rebuild":"run-s clean:build build","demo":"ts-node demo.ts","lint":"run-s lint:script lint:format","lint:script":"eslint . --ext ts","lint:format":"prettier . --check --cache --ignore-unknown","test":"jest --testPathPattern=\".test.*\"","test:coverage":"npm test -- --coverage","todo":"leasot '**/**' -i '**/node_modules/**' -S -x","todo:ci":"run-p todo -- --reporter markdown '**/**' > TODO.md","clean":"run-p clean:build clean:modules clean:test","clean:build":"rm -rf dist","clean:test":"rm -rf coverage","clean:modules":"rm -rf node_modules"},"devDependencies":{"@babel/preset-env":"^7.23.2","@babel/preset-typescript":"^7.23.2","@commitlint/cli":"^17.8.0","@commitlint/config-conventional":"^17.8.0","@types/jest":"^29.5.6","@typescript-eslint/eslint-plugin":"^6.8.0","@typescript-eslint/parser":"^6.8.0","eslint":"^8.51.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","husky":"^8.0.3","jest":"^29.7.0","leasot":"^13.3.0","lint-staged":"^15.0.1","npm-run-all":"^4.1.5","prettier":"^3.0.3","semantic-release":"^22.0.5","semantic-release-config-conventional":"^1.0.1","typescript":"^5.2.2"},"_id":"@didiermargarido/ts-utilities@1.0.0","gitHead":"4a69cafc3e13554108224cd35fbf246698852e4f","_nodeVersion":"18.18.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-hJckgbS2ZC6Q3Jl8BwzvxvaX+jIQFgN/pBZSCZb1a3FlNjuP7mBZXJwPsAvb5g/5kBZ3/RQMC4d5tWft91CsXQ==","shasum":"233cc178091084e0feb34950bd2b9f5a27b527e1","tarball":"https://registry.npmjs.org/@didiermargarido/ts-utilities/-/ts-utilities-1.0.0.tgz","fileCount":12,"unpackedSize":9939,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvMZlcB2CWv1B7vKyx5iRUuF5tBIceftUL/k6n0F58qwIhAIr7HAvXL0u5CrM30Uw+bKH5A4jnOvxT4hx7ZmEIn3sa"}]},"_npmUser":{"name":"didiermargarido","email":"dev@dmargarido.com"},"directories":{},"maintainers":[{"name":"didiermargarido","email":"dev@dmargarido.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-utilities_1.0.0_1697630776477_0.008137604006709154"},"_hasShrinkwrap":false},"1.1.0":{"name":"@didiermargarido/ts-utilities","description":"Collection of common utils in Typescript","version":"1.1.0","license":"MIT","author":{"name":"Didier Margarido"},"keywords":["typescript","utils","library"],"main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/didiermargarido/ts-utilities#readme","repository":{"type":"git","url":"git+https://github.com/didiermargarido/ts-utilities.git"},"bugs":{"url":"https://github.com/didiermargarido/ts-utilities/issues"},"scripts":{"prepare":"husky install","start":"tsc -p tsconfig.json -w","build":"tsc -p tsconfig.json","rebuild":"run-s clean:build build","demo":"ts-node demo.ts","lint":"run-s lint:script lint:format","lint:script":"eslint . --ext ts","lint:format":"prettier . --check --cache --ignore-unknown","test":"jest --testPathPattern=\".test.*\"","test:coverage":"npm test -- --coverage","todo":"leasot '**/**' -i '**/node_modules/**' -S -x","todo:ci":"run-p todo -- --reporter markdown '**/**' > TODO.md","clean":"run-p clean:build clean:modules clean:test","clean:build":"rm -rf dist","clean:test":"rm -rf coverage","clean:modules":"rm -rf node_modules"},"devDependencies":{"@babel/preset-env":"^7.23.2","@babel/preset-typescript":"^7.23.2","@commitlint/cli":"^17.8.0","@commitlint/config-conventional":"^17.8.0","@types/jest":"^29.5.6","@typescript-eslint/eslint-plugin":"^6.8.0","@typescript-eslint/parser":"^6.8.0","eslint":"^8.51.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","husky":"^8.0.3","jest":"^29.7.0","leasot":"^13.3.0","lint-staged":"^15.0.1","npm-run-all":"^4.1.5","prettier":"^3.0.3","semantic-release":"^22.0.5","semantic-release-config-conventional":"^1.0.1","typescript":"^5.2.2"},"_id":"@didiermargarido/ts-utilities@1.1.0","gitHead":"2c0199f06ee1566265944b2ea102c832b99e1f38","_nodeVersion":"18.18.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-5ELVee2Q6oFTeepsM1wNu1MA+RhPq2ZQ6GxlG9QNuXBJpk3mbcd/JZ807JQrtWB+EBdhfQ+Y2sI6J7XopFNbFQ==","shasum":"47eb63afcc3ed439b1e053e95d2be87d48c223f2","tarball":"https://registry.npmjs.org/@didiermargarido/ts-utilities/-/ts-utilities-1.1.0.tgz","fileCount":15,"unpackedSize":16079,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICkszBwb0uf4ZT1G7+g0Un8ixLHPv3j0IFKDhHS8IMPFAiAuKznE5EFyDFzG5sXn7O8MjZJ8ay38NQFl1YxB6mjHiQ=="}]},"_npmUser":{"name":"didiermargarido","email":"dev@dmargarido.com"},"directories":{},"maintainers":[{"name":"didiermargarido","email":"dev@dmargarido.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-utilities_1.1.0_1697637493413_0.4767663162464908"},"_hasShrinkwrap":false},"1.2.0":{"name":"@didiermargarido/ts-utilities","description":"Collection of common utils in Typescript","version":"1.2.0","license":"MIT","author":{"name":"Didier Margarido"},"keywords":["typescript","utils","library"],"main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/didiermargarido/ts-utilities#readme","repository":{"type":"git","url":"git+https://github.com/didiermargarido/ts-utilities.git"},"bugs":{"url":"https://github.com/didiermargarido/ts-utilities/issues"},"scripts":{"prepare":"husky install","start":"tsc -p tsconfig.json -w","build":"tsc -p tsconfig.json","rebuild":"run-s clean:build build","demo":"ts-node demo.ts","lint":"run-s lint:script lint:format","lint:script":"eslint . --ext ts","lint:format":"prettier . --check --cache --ignore-unknown","test":"jest --testPathPattern=\".test.*\"","test:coverage":"npm test -- --coverage","todo":"leasot '**/**' -i '**/node_modules/**' -S -x","todo:ci":"run-p todo -- --reporter markdown '**/**' > TODO.md","clean":"run-p clean:build clean:modules clean:test","clean:build":"rm -rf dist","clean:test":"rm -rf coverage","clean:modules":"rm -rf node_modules"},"devDependencies":{"@babel/preset-env":"^7.23.2","@babel/preset-typescript":"^7.23.2","@commitlint/cli":"^17.8.0","@commitlint/config-conventional":"^17.8.0","@types/jest":"^29.5.6","@typescript-eslint/eslint-plugin":"^6.8.0","@typescript-eslint/parser":"^6.8.0","eslint":"^8.51.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","husky":"^8.0.3","jest":"^29.7.0","leasot":"^13.3.0","lint-staged":"^15.0.1","npm-run-all":"^4.1.5","prettier":"^3.0.3","semantic-release":"^22.0.5","semantic-release-config-conventional":"^1.0.1","typescript":"^5.2.2"},"_id":"@didiermargarido/ts-utilities@1.2.0","gitHead":"5ec019bb2ddfa32e678abc8eddec81f762896605","_nodeVersion":"18.18.2","_npmVersion":"10.1.0","dist":{"integrity":"sha512-irMUIFQEJOogXGPzs1ceCeQ5ONpkVtss3RUSJMfT0yii63MK1SJa5uTiLd7k20HjIfDxTXbbOqR2DpIt6Abrag==","shasum":"66d9b140a21f52fb8a5a886984dbc8f6089e52d9","tarball":"https://registry.npmjs.org/@didiermargarido/ts-utilities/-/ts-utilities-1.2.0.tgz","fileCount":21,"unpackedSize":25024,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGRXaQb8pUUP2VSE7QsVxNdoogEgjvkbMB46f4bWKRaAIgbUQ2huCkIz6AcyVvvHY/ueBzLALpuCMM9uR6nAHWOZA="}]},"_npmUser":{"name":"didiermargarido","email":"dev@dmargarido.com"},"directories":{},"maintainers":[{"name":"didiermargarido","email":"dev@dmargarido.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-utilities_1.2.0_1698144157243_0.32817467909463605"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-18T12:06:16.340Z","1.0.0":"2023-10-18T12:06:16.750Z","modified":"2023-10-24T10:42:37.662Z","1.1.0":"2023-10-18T13:58:13.624Z","1.2.0":"2023-10-24T10:42:37.511Z"},"maintainers":[{"name":"didiermargarido","email":"dev@dmargarido.com"}],"description":"Collection of common utils in Typescript","homepage":"https://github.com/didiermargarido/ts-utilities#readme","keywords":["typescript","utils","library"],"repository":{"type":"git","url":"git+https://github.com/didiermargarido/ts-utilities.git"},"author":{"name":"Didier Margarido"},"bugs":{"url":"https://github.com/didiermargarido/ts-utilities/issues"},"license":"MIT","readme":"# TS Utilities\n[![npm](https://img.shields.io/npm/dt/@didiermargarido/ts-utilities.svg?style=for-the-badge)](https://www.npmjs.com/package/@didiermargarido/ts-utilities)\n[![GitHub Tag](https://img.shields.io/github/release/didiermargarido/ts-utilities.svg?style=for-the-badge)](https://github.com/didiermargarido/ts-utilities/releases)\n[![GitHub issues](https://img.shields.io/github/issues/didiermargarido/ts-utilities.svg?style=for-the-badge)](https://github.com/didiermargarido/ts-utilities/issues)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge)](https://github.com/didiermargarido/ts-utilities/blob/master/LICENSE)\n\nTS Utilities is a versatile collection of TypeScript utility functions designed to simplify your development tasks.\\\nIt provides a range of helpful functions for various common scenarios.\n\n## Installation\nTo incorporate TS Utilities into your TypeScript projects, you can use either `npm` or `yarn` package manager.\\\nChoose the one you're most comfortable with:\n\n### Using NPM\n```bash\nnpm install @didiermargarido/ts-utilities\n```\n\n### Using Yarn\n```bash\nyarn add @didiermargarido/ts-utilities\n```\n\n## Usage\nTS Utilities provides a comprehensive set of utility functions that can streamline various aspects of your TypeScript projects.\\\nHere's a detailed guide on how to use some of the key utility functions available in TS Utilities:\n\n### isDefined\nMethod to check if value is defined.\n\n```js\n// Util\nimport { isDefined } from \"@didiermargarido/ts-utilities\";\n\n// Output: true\nisDefined(\"DM\");\nisDefined(10);\nisDefined([]);\n\n// Output: false\nisDefined(null);\nisDefined(undefined); \n```\n\n### isEmpty\nMethod to check if value is empty.\n\n```js\n// Util\nimport { isEmpty } from \"@didiermargarido/ts-utilities\";\n\n// Output: true\nisEmpty(\"\");\nisEmpty([]);\nisEmpty({});\nisEmpty(null);\nisEmpty(undefined);\n\n// Output: false\nisEmpty(\"DM\");\nisEmpty([\"DM\", 36]);\nisEmpty({ key: \"DM\" }); \n```\n\n### isEqual\nMethod to check if two values are equal.\n\n```js\n// Util\nimport { isEqual } from \"@didiermargarido/ts-utilities\";\n\n// Output: true\nisEqual(\"DM\", \"DM\");\nisEqual(true, true);\nisEqual([1, 2], [1, 2]);\nisEqual([{ key: \"DM\" }], [{ key: \"DM\" }]);\n\n// Output: false\nisEqual(\"DM\", \"MD\");\nisEqual(true, false);\nisEqual({ key: \"DM\" }, { key: \"MD\" }); \n```\n\n### deepMerge\nMethod to merge multiple objects.\n\n```js\n// Util\nimport { deepMerge } from \"@didiermargarido/ts-utilities\";\n\n// Merge two single objects\nconst obj1 = { \n  car: \"Ford\",\n};\n\nconst obj2 = { \n  car: \"Peugeot\", \n  color: \"White\"\n};\n\n// Output { car: \"Peugeot\", color: \"White\" }\ndeepMerge(obj1, obj2)\n\n// Merge three objects with nested properties\nconst obj1 = { \n  car: \"Ford\", \n  specifications: { \n    km: 15000, \n    diesel: true \n  } \n};\n\nconst obj2 = { \n  car: \"Peugeot\", \n  color: \"White\"\n};\n\nconst obj3 = { \n  car: \"Peugeot\", \n  specifications: { \n    diesel: false\n  } \n};\n\n// Output: { car: \"Peugeot\", color: \"White\", specifications: { km: 15000, diesel: false } }\ndeepMerge(obj1, obj2, obj3);\n```\n\n### secureMask\nMethod to securely mask information by revealing specified digits from the start or end.\n\n```js\n// Util\nimport { secureMask } from \"@didiermargarido/ts-utilities\";\n\n// Optional options allowed\n{\n  digits: number // default is \"4\"\n  char: string // default is \"*\"\n  pad: \"start\" | \"end\" // default is \"start\"\n}\n\n// Output: \"*****6789\"\nsecureMask(\"123456789\");\n\n// Output: \"*******89\"\nsecureMask(123456789, { digits: 2 });\n\n// Output: \"123------\"\nsecureMask(\"123456789\", { digits: 3, char: \"-\", pad: \"end\" });\n\n// Output: undefined\nsecureMask(undefined);\nsecureMask(null);\n```\n\n## Author\n**Didier Margarido**\\\n[github/didiermargarido](https://github.com/didiermargarido)\n\n## License\n**TS Utilities** is open-sourced software licensed under the [MIT license](LICENSE)","readmeFilename":"README.md"}