{"id":1733876,"name":"form-and-function","ecosystem":"npm","description":"form-and-function is a functional-inspired Form management library for React, written in TypeScript.","homepage":"https://alsiola.github.io/form-and-function/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/alsiola/form-and-function","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2018-01-24T20:39:35.852Z","latest_release_published_at":"2018-04-04T23:21:17.389Z","latest_release_number":"0.3.0","last_synced_at":"2026-08-25T19:54:13.610Z","created_at":"2022-04-09T15:48:29.000Z","updated_at":"2026-08-26T19:25:11.832Z","registry_url":"https://www.npmjs.com/package/form-and-function","install_command":"npm install form-and-function","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.3.0"},"contentPolicy":null},"repo_metadata":{"id":57240228,"uuid":"118293682","full_name":"alsiola/form-and-function","owner":"alsiola","description":"A functional-inspired Form management library for React","archived":false,"fork":false,"pushed_at":"2018-04-04T23:25:55.000Z","size":2217,"stargazers_count":66,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-04T14:20:51.791Z","etag":null,"topics":["form-validation","form-validation-react","forms","react"],"latest_commit_sha":null,"homepage":"https://alsiola.github.io/form-and-function/","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/alsiola.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-21T00:59:20.000Z","updated_at":"2023-06-10T06:13:36.000Z","dependencies_parsed_at":"2022-08-29T22:21:31.915Z","dependency_job_id":null,"html_url":"https://github.com/alsiola/form-and-function","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/alsiola/form-and-function","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alsiola","download_url":"https://codeload.github.com/alsiola/form-and-function/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36905486,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"alsiola","name":"Alex Young","uuid":"18228137","kind":"user","description":"Web and software developer based near Newcastle-upon-Tyne, UK","email":"","website":"http://developingthoughts.co.uk","location":"Whitley Bay, UK","twitter":null,"company":"Modlify","icon_url":"https://avatars.githubusercontent.com/u/18228137?u=71edbc6370f93c9a4b8ff3791d7785231c5aea34\u0026v=4","repositories_count":54,"last_synced_at":"2024-12-06T20:10:38.946Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/alsiola","funding_links":[],"total_stars":195,"followers":13,"following":1,"created_at":"2022-11-12T23:41:42.673Z","updated_at":"2024-12-06T20:10:38.946Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alsiola","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alsiola/repositories"},"tags":[{"name":"v0.3.0-beta.2","sha":"3e93dcfe9b6e8281ba2d15f1e74ee3ad474580bb","kind":"commit","published_at":"2018-04-04T23:22:45.000Z","download_url":"https://codeload.github.com/alsiola/form-and-function/tar.gz/v0.3.0-beta.2","html_url":"https://github.com/alsiola/form-and-function/releases/tag/v0.3.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/alsiola/form-and-function@v0.3.0-beta.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags/v0.3.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags/v0.3.0-beta.2/manifests"},{"name":"v0.2.0-beta","sha":"208b025a0c5fe7e45c51cd3323b908542be14903","kind":"commit","published_at":"2018-02-01T22:00:34.000Z","download_url":"https://codeload.github.com/alsiola/form-and-function/tar.gz/v0.2.0-beta","html_url":"https://github.com/alsiola/form-and-function/releases/tag/v0.2.0-beta","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/alsiola/form-and-function@v0.2.0-beta","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags/v0.2.0-beta","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags/v0.2.0-beta/manifests"},{"name":"v0.1.0-alpha","sha":"ba21eda0593fdb4e06ac19071ca0eaca8df324c2","kind":"commit","published_at":"2018-01-28T00:01:06.000Z","download_url":"https://codeload.github.com/alsiola/form-and-function/tar.gz/v0.1.0-alpha","html_url":"https://github.com/alsiola/form-and-function/releases/tag/v0.1.0-alpha","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/alsiola/form-and-function@v0.1.0-alpha","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags/v0.1.0-alpha","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/tags/v0.1.0-alpha/manifests"}]},"repo_metadata_updated_at":"2026-08-26T19:25:11.831Z","dependent_packages_count":1,"downloads":127,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":39.25855633260732,"dependent_repos_count":10.303930935826395,"dependent_packages_count":20.919690699359002,"stargazers_count":5.574907713481628,"forks_count":9.830215490007637,"docker_downloads_count":null,"average":17.177460234256394},"purl":"pkg:npm/form-and-function","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/form-and-function","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/form-and-function","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/form-and-function/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-25T19:50:53.710Z","issues_count":2,"pull_requests_count":10,"avg_time_to_close_issue":2839729.0,"avg_time_to_close_pull_request":911.5555555555555,"issues_closed_count":2,"pull_requests_closed_count":9,"pull_request_authors_count":3,"issue_authors_count":2,"avg_comments_per_issue":2.0,"avg_comments_per_pull_request":0.1,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsiola%2Fform-and-function/issues","maintainers":[{"login":"alsiola","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alsiola"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/form-and-function/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/form-and-function/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/form-and-function/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/form-and-function/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/form-and-function/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/form-and-function/codemeta","maintainers":[{"uuid":"alsiola","login":"alsiola","name":null,"email":"alex@alexyoung.info","url":null,"packages_count":25,"html_url":"https://www.npmjs.com/~alsiola","role":null,"created_at":"2022-11-12T10:09:17.951Z","updated_at":"2022-11-12T10:09:17.951Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/alsiola/packages"}]}