{"id":35815578,"url":"https://github.com/duplojs/utils","last_synced_at":"2026-05-06T17:00:49.130Z","repository":{"id":276830456,"uuid":"929555999","full_name":"duplojs/utils","owner":"duplojs","description":"@duplojs/utils is the TypeScript utility toolbox used across the DuploJS ecosystem. It focuses on strong typing, good DX, and small composable primitives that scale from simple helpers to full validation pipelines.","archived":false,"fork":false,"pushed_at":"2026-04-29T10:08:41.000Z","size":7655,"stargazers_count":13,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-29T10:16:03.878Z","etag":null,"topics":["array-utils","clean-architecture","curried","data-parser","date-utils","ddd","duplojs","either","flow","functional-programming","immutable","monad","object-utils","pattern-matching","pipe","string-utils","typescript","utils"],"latest_commit_sha":null,"homepage":"http://utils.duplojs.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/duplojs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-08T20:22:29.000Z","updated_at":"2026-04-27T10:38:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"2fbbceeb-2334-4fd4-92b4-ce464c0f91d5","html_url":"https://github.com/duplojs/utils","commit_stats":null,"previous_names":["duplojs/utils"],"tags_count":92,"template":false,"template_full_name":null,"purl":"pkg:github/duplojs/utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duplojs%2Futils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duplojs%2Futils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duplojs%2Futils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duplojs%2Futils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/duplojs","download_url":"https://codeload.github.com/duplojs/utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duplojs%2Futils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32703532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["array-utils","clean-architecture","curried","data-parser","date-utils","ddd","duplojs","either","flow","functional-programming","immutable","monad","object-utils","pattern-matching","pipe","string-utils","typescript","utils"],"created_at":"2026-01-07T16:08:12.224Z","updated_at":"2026-05-06T17:00:49.093Z","avatar_url":"https://github.com/duplojs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @duplojs/utils\n[![NPM version](https://img.shields.io/npm/v/@duplojs/utils)](https://www.npmjs.com/package/@duplojs/utils)\n\n`@duplojs/utils` is the TypeScript utility toolbox used across the DuploJS ecosystem. It focuses on **strong typing**, **god DX**, and **small composable primitives** that scale from simple helpers to full validation pipelines.\n\n## What’s inside?\n\n- **Common functional utilities**: `pipe`/`asyncPipe`, `when`, `memo`, `clone`, `escapeRegExp`, etc.\n- **Typed runtime tagging**: `kind` helpers to discriminate data without polluting public shapes.\n- **Either**: a typed success/error container with mandatory “information” for precise pattern matching.\n- **DataParser**: schema-based validation with checkers, coercion (`DP.coerce.*`), transforms, async support, and a fluent “extended” API (`DPE`).\n- **Clean-domain building blocks**: `newType`, `entity`, constraints, repositories, and use-cases.\n- **Pure helpers by domain**: `array`, `object`, `string`, `number`, `date`, `generator`, `pattern` (match/exhaustive).\n\n## Documentation\n- https://utils.duplojs.dev\n\n## Install\n\n```bash\nnpm install @duplojs/utils\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduplojs%2Futils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduplojs%2Futils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduplojs%2Futils/lists"}