{"id":3954110,"name":"github.com/relvacode/expr","ecosystem":"go","description":"Package expr is an engine that can evaluate expressions.\n\nYou can pass variables into the expression, which can be of any valid Go type (including structs):\n\nExpr uses reflection for accessing and iterating passed data.\nFor example you can pass nested structures without any modification or preparation:\n\nYou can also pass functions into the expression:\n\nAll methods of passed struct also available as functions inside expr:\n\nIf you planning to execute some expression lots times, it's good to parse it first and only one time:\n\nExpr package support strict parse mode in which some type checks performed during parsing.\nTo parse expression in strict mode, define all of used variables:\n\nParse function will check used variables, accessed filed, logical operators and some other type checks.\n\nIf you try to use some undeclared variables, or access unknown field, an error will be returned during paring:\n\nAlso it's possible to define all used variables and functions using expr.Env and struct:\n\nOr with map:\n\nCompiled ast can be compiled back to string expression using stringer fmt.Stringer interface:\n\nInside Expr engine there is no distinguish between int, uint and float types (as in JavaScript).\nAll numbers inside Expr engine represented as `float64`.\nYou should remember about it if you use any of binary operators (`+`, `-`, `/`, `*`, etc).\nOtherwise type remain unchanged.","homepage":"https://github.com/relvacode/expr","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/relvacode/expr","keywords_array":[],"namespace":"github.com/relvacode","versions_count":17,"first_release_published_at":"2018-07-16T19:39:32.000Z","latest_release_published_at":"2018-10-22T07:02:44.000Z","latest_release_number":"v1.1.3","last_synced_at":"2026-03-25T03:21:22.332Z","created_at":"2022-04-12T05:38:10.617Z","updated_at":"2026-03-25T03:21:22.332Z","registry_url":"https://pkg.go.dev/github.com/relvacode/expr","install_command":"go get github.com/relvacode/expr","documentation_url":"https://pkg.go.dev/github.com/relvacode/expr#section-documentation","metadata":{},"repo_metadata":{"uuid":"157005142","full_name":"relvacode/expr","owner":"relvacode","description":"Expr is an engine that can evaluate expressions.","archived":false,"fork":true,"pushed_at":"2018-11-14T14:35:05.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-08T21:10:45.345Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"antonmedv/expr","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-10T17:35:30.000Z","updated_at":"2018-11-14T14:35:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/relvacode/expr","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvacode%2Fexpr","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvacode%2Fexpr/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvacode%2Fexpr/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/relvacode","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"}},"repo_metadata_updated_at":"2023-03-21T19:17:57.934Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/relvacode/expr","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/relvacode/expr","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/relvacode/expr","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/relvacode/expr/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-05-18T15:14:43.816Z","issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"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":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frelvacode%2Fexpr/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frelvacode%2Fexpr/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frelvacode%2Fexpr/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frelvacode%2Fexpr/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frelvacode%2Fexpr/codemeta","maintainers":[]}