coveo-odata
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

coveo-odata

Build Status bitHound Overall Score bitHound Dependencies bitHound Dev Dependencies Npm total downloads badge

Typescript OData client destined to be run in browsers. Highly inspired from o.js and odata-client.

Usage

Initialization

const client = new OData({
    endpoint: "https://contoso.crm.dynamics.com/",
    headers: [
        { name: "Content-Type", value: "application/json" },
        { name: "Accept", value: "application/json" },
        { name: "OData-MaxVersion", value: "4.0" },
        { name: "OData-Version", value: "4.0" }
    ]
});

Initializes the client on the endpoint https://contoso.crm.dynamics.com/.

Resource

client
    .resource("api/data")
    .resource("v9.0")
    .resource("accounts");

Configures the client to point toward https://contoso.crm.dynamics.com/api/data/v9.0/accounts.

Query Options

client
    .filter("name eq 'Fourth Coffee'")
    .select(["name", "accountnumber"]);

Adds the query options ?$filter=name eq 'Fourth Coffee'&$select=name,accountnumber. Also supports count, orderby, top query options, among others.

GET, POST, etc.

client1.get();
 
client2.post(data);

Sending a Query

client.build<T>();

Launches an HTTP request and returns a Promise<T> where T is the expected type of the response object.

Full example

Sending a Query

interface IAccount {
    accountnumber: string;
    name: string;
}
 
client
    .resource("accounts")
    .select(["name", "accountnumber"]);
    .build<IODataCollection<IAccount>>()
    .then(accounts => accounts.value.forEach(account => console.log(account.name)));

Install

npm install coveo-odata

The project is at its early stages, some components can still have lots of breaking changes between versions.

Building

Make sure you have Node JS and NPM installed. Run npm install to get the required dependencies and build the library.

Running the tests suite

Run npm test to run all tests and get the code coverage!

Contributing

  1. Search the issues, if it is not already there, add one.
  2. Fork the repository
  3. Code Code Code
  4. Submit a pull request
  5. Wait for some nice guy to review and merge

License

Coveo-odata is distributed under MIT license.

Package Sidebar

Install

npm i coveo-odata

Weekly Downloads

1

Version

0.1.4

License

MIT

Unpacked Size

63.6 kB

Total Files

34

Last publish

Collaborators

  • sbelzile