{"id":24464245,"url":"https://github.com/mvccontrolstoolkit/mvcct-odata","last_synced_at":"2026-04-14T15:33:17.101Z","repository":{"id":57305825,"uuid":"83533208","full_name":"MvcControlsToolkit/mvcct-odata","owner":"MvcControlsToolkit","description":"JavaScript OData client","archived":false,"fork":false,"pushed_at":"2017-06-23T12:10:56.000Z","size":305,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T06:09:27.783Z","etag":null,"topics":["javascript","mvccontrolstoolkit-packages","odata","typescript-library"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MvcControlsToolkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-01T08:51:56.000Z","updated_at":"2020-06-20T19:15:50.000Z","dependencies_parsed_at":"2022-08-31T00:01:03.167Z","dependency_job_id":null,"html_url":"https://github.com/MvcControlsToolkit/mvcct-odata","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MvcControlsToolkit%2Fmvcct-odata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MvcControlsToolkit%2Fmvcct-odata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MvcControlsToolkit%2Fmvcct-odata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MvcControlsToolkit%2Fmvcct-odata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MvcControlsToolkit","download_url":"https://codeload.github.com/MvcControlsToolkit/mvcct-odata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243565417,"owners_count":20311705,"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":["javascript","mvccontrolstoolkit-packages","odata","typescript-library"],"created_at":"2025-01-21T05:14:54.990Z","updated_at":"2025-12-29T15:55:47.320Z","avatar_url":"https://github.com/MvcControlsToolkit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What is mvcct-odata?\nmvcct-odata is a alightweight JavaScript [OData](http://www.odata.org/) client. It supports just queries, with filter or free search,\nsorting, and gtouping+aggregation.\n\nQueries are represented as nested objects with JavasCript methods to get their corresponding OData string representation.\nThis way queries are easily built and modified by adding, removing substituting and editing plain JavaScript objects.\n\nOData objects with all they methods can be easily extracted from their Json representations, \nso queries can be easily exchanged with the server and stored in all browser storage types\n(cookies, local storage, etc.).\n\nJson representation is compatible with the query representation of the [MvcControlsToolkit.Core.OData](https://github.com/MvcControlsToolkit/MvcControlsToolkit.Core/tree/master/src/MvcControlsToolkit.Core.OData) \nAsp.net core package.\n\n## Supported filters\nFilter conditions may contain main entity properties and properties of entities directly or indirectly connected with the main entity through a chain of one-to-one or\nmany-to-one relations.\n\nConditions may be nested not/and/or combinations of \"leaf conditions\" containing a relation between a property \nand a constant. The following relations are supported:\n\u003e,\u003c, \u003e=, \u003c=, ==, !=, startsWith, endsWith, contains.\n\n## Supported free search\nNo limitation.\n\n## Supported sorting\nAny sorting involving main entity properties and properties of entities directly or indirectly connected with the main entity through a chain of one-to-one or\nmany-to-one relations is supported.\n\n## Supported grouping/aggregations\n\nThe library supports grouping of the type (see [here](http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/cs01/odata-data-aggregation-ext-v4.0-cs01.html#_Toc378326304) for more infos on OData aggregations):\n\n```\napply=groupby((properti1, property2, ...), \n    aggregate(aproperty1 with \u003coperator1\u003e as res1, aproperty2 with \u003coperator2\u003e as res2,...))\n\n```\nWhere:\n1. property1, property2,..., and aproperty1, aproperty2, ..., may be main entity properties and properties of entities directly or indirectly connected with the main entity through a chain of one-to-one or\nmany-to-one relations.\n2. res1, res2, ... may be just properties of the main destination object (the object used to return all results of the grouping).\n3. op1, op2, .., are one of: countdistinct, average, sum, min, max.\n\n# Public Api\nThe distribution contains .js and TypeScript declaration files (d.ts) for three environments, namely:\n1. umd distribution that covers both AMD and Node.js commonjs modules.\n2. ES6 distribution suitable for both ES6 modules and  WebPack. This distribution doesnt require full es6 but just ES6 modules, so it may be succesfully used also with previous JavaScript versions bundled with WebPack 2 that supports ES6 modules.\n3. mvcct.odata global namespace.\n\nQueries are prepared by building an object tree rooted in a `QueryDescription` instance. Then one may call QueryDescription methods like `toString()` to get the whole ODATA compatible Url of the server request, or `toQuery` that returns a funtion from an array to a an array that executes the query on the JavaScript input array.\n\n## Classes documentation\n\n[See the Core Mvc Controls Toolkit official documentation.](http://documentation.aspnetcore.mvc-controls.com/JavaScript/OData)\n \n\n\n\n\n\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvccontrolstoolkit%2Fmvcct-odata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvccontrolstoolkit%2Fmvcct-odata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvccontrolstoolkit%2Fmvcct-odata/lists"}