{"id":16140779,"url":"https://github.com/octod/tiinvo","last_synced_at":"2026-02-27T17:04:33.470Z","repository":{"id":35021974,"uuid":"196396781","full_name":"OctoD/tiinvo","owner":"OctoD","description":"Simplify your TypeScript and JavaScript code. Use this lib and functional programming.","archived":false,"fork":false,"pushed_at":"2024-10-16T17:30:38.000Z","size":2704,"stargazers_count":40,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"feat/4.0.0","last_synced_at":"2025-07-02T09:53:07.396Z","etag":null,"topics":["either","es6","functional-js","functional-programming","javascript","monad","option","predicates","primitives-functions","result","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OctoD.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-11T13:08:44.000Z","updated_at":"2025-01-20T10:13:59.000Z","dependencies_parsed_at":"2024-06-19T02:42:04.358Z","dependency_job_id":"607e9355-4e95-4ca5-88c0-2f9b79272ca9","html_url":"https://github.com/OctoD/tiinvo","commit_stats":{"total_commits":526,"total_committers":7,"mean_commits":75.14285714285714,"dds":"0.19771863117870725","last_synced_commit":"bc4911fb2ff9f471587e19458528fe47b4f5b617"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":"OctoD/typescript-module-template","purl":"pkg:github/OctoD/tiinvo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoD%2Ftiinvo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoD%2Ftiinvo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoD%2Ftiinvo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoD%2Ftiinvo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OctoD","download_url":"https://codeload.github.com/OctoD/tiinvo/tar.gz/refs/heads/feat/4.0.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoD%2Ftiinvo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264257657,"owners_count":23580469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["either","es6","functional-js","functional-programming","javascript","monad","option","predicates","primitives-functions","result","typescript"],"created_at":"2024-10-09T23:53:48.108Z","updated_at":"2026-02-27T17:04:33.440Z","avatar_url":"https://github.com/OctoD.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/OctoD/tiinvo/master/banner-readme.png\" height=\"160\"/\u003e\n\u003c/div\u003e\n\ntiinvo\n=======\n\nAn opinionated lib of types and utilities for your TypeScript and JavaScript projects which aims to add missing functionalities to standard Js and replace other.\n\n[docs](docs/modules.md)\n\n- [tiinvo](#tiinvo)\n- [Install](#install)\n- [Features](#features)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [Licence](#licence)\n\n# Install\n\nYou can install it using npm\n\n```bash\nnpm i tiinvo\n```\n\nOr with yarn\n\n```bash\nyarn add tiinvo\n```\n\nor if you are using Deno, you have to simply import it\n\n```ts\nimport { Arr, Option, Result } from 'https://cdn.skypack.dev/tiinvo?dts';\n```\n\n# Features\n\nThis library is \n\n- Simple\n- Intuitive\n- Lightweight\n- Pragmatic\n- Safe\n- Side-effect free and fully tree-shakeable\n- Versatile\n- Battle-tested (used in dozens of production projects)\n- Well-documented (every type, function and function overload is documented properly)\n- Well-maintained\n- Well-tested\n\nThis library is ideal for both an imperative and declarative approach, since every function\nis overloaded and can be used without the need to use curry (I love it for cooking, not for coding).\n\nIt normalizes several native JavaScript methods (like string, number and array).\n\n# Usage\n\nThis library provides several new data types like \n\n- `DateRange` which is a reliable way to generate date ranges.\n- `Option` which handles gracefully values which could be both null or undefined.\n- `Predicate` are used to determine truthyness.\n- `Range` is used to generate a numeric range.\n- `Result` handles errors gracefully.\n- `Sequence` is an immutable sequence of elements.\n- `SortedSequence` is a sorted immutable sequence of elements.\n- `Tuple` is a tuple.\n- `TypedMap` is a typed immutable Map of elements.\n- `TypedSequence` is a typed immutable sequence of elements.\n  \nwraps native types\n\n- `Arr` handles all array methods, adding new ones.\n- `BigInt` handles all bigint methods, adding new ones.\n- `Bool` handles all boolean methods, adding new ones.\n- `Fn` handles all function methods, adding new ones.\n- `Num` handles all number methods, adding new ones.\n- `Obj` handles all object methods, adding new ones.\n- `Str` handles all string methods, adding new ones.\n\nand adds utility functions\n\n- `Assert` used to create assertions.\n- `Catch` used to catch gracefully functions which could throw an error.\n- `Pipe` concatenates many unary functions in one, great for function composition.\n\n# Contributing\n\nEvery contribution is really welcome!\n\nIf you feel that something can be improved or should be fixed, feel free to open an issue with the feature or the bug found.\n\nPull requests are really welcome!\n\n- Create a new branch from `main` \n- open your PR\n- enjoy!\n\nRead the [contributing guidelines](./CONTRIBUTING.md)\n\n# Licence\n\nRead the [licence](./LICENCE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctod%2Ftiinvo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foctod%2Ftiinvo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctod%2Ftiinvo/lists"}