odata-query
Advanced tools
Comparing version 6.6.0 to 6.7.0
@@ -300,2 +300,3 @@ (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ | ||
exports.alias = function (name, value) { return ({ type: 'alias', name: name, value: value }); }; | ||
exports.decimal = function (value) { return ({ type: 'decimal', value: value }); }; | ||
exports.ITEM_ROOT = ""; | ||
@@ -576,34 +577,30 @@ function default_1(_a) { | ||
else if (typeof value === 'object') { | ||
if (value.type === 'raw') { | ||
return value.value; | ||
switch (value.type) { | ||
case 'raw': | ||
case 'guid': | ||
return value.value; | ||
case 'duration': | ||
return "duration'" + value.value + "'"; | ||
case 'binary': | ||
return "binary'" + value.value + "'"; | ||
case 'alias': | ||
// Store | ||
if (Array.isArray(aliases)) | ||
aliases.push(value); | ||
return "@" + value.name; | ||
case 'json': | ||
return escape(JSON.stringify(value.value)); | ||
case 'decimal': | ||
return value.value + "M"; | ||
default: | ||
return Object.entries(value) | ||
.filter(function (_a) { | ||
var v = _a[1]; | ||
return v !== undefined; | ||
}) | ||
.map(function (_a) { | ||
var k = _a[0], v = _a[1]; | ||
return k + "=" + handleValue(v, aliases); | ||
}).join(','); | ||
} | ||
else if (value.type === 'guid') { | ||
return value.value; | ||
} | ||
else if (value.type === 'duration') { | ||
return "duration'" + value.value + "'"; | ||
} | ||
else if (value.type === 'binary') { | ||
return "binary'" + value.value + "'"; | ||
} | ||
else if (value.type === 'alias') { | ||
// Store | ||
if (Array.isArray(aliases)) | ||
aliases.push(value); | ||
return "@" + value.name; | ||
} | ||
else if (value.type === 'json') { | ||
return escape(JSON.stringify(value.value)); | ||
} | ||
else { | ||
return Object.entries(value) | ||
.filter(function (_a) { | ||
var v = _a[1]; | ||
return v !== undefined; | ||
}) | ||
.map(function (_a) { | ||
var k = _a[0], v = _a[1]; | ||
return k + "=" + handleValue(v, aliases); | ||
}).join(','); | ||
} | ||
} | ||
@@ -610,0 +607,0 @@ return value; |
@@ -33,2 +33,3 @@ "use strict"; | ||
exports.alias = function (name, value) { return ({ type: 'alias', name: name, value: value }); }; | ||
exports.decimal = function (value) { return ({ type: 'decimal', value: value }); }; | ||
exports.ITEM_ROOT = ""; | ||
@@ -309,34 +310,30 @@ function default_1(_a) { | ||
else if (typeof value === 'object') { | ||
if (value.type === 'raw') { | ||
return value.value; | ||
switch (value.type) { | ||
case 'raw': | ||
case 'guid': | ||
return value.value; | ||
case 'duration': | ||
return "duration'" + value.value + "'"; | ||
case 'binary': | ||
return "binary'" + value.value + "'"; | ||
case 'alias': | ||
// Store | ||
if (Array.isArray(aliases)) | ||
aliases.push(value); | ||
return "@" + value.name; | ||
case 'json': | ||
return escape(JSON.stringify(value.value)); | ||
case 'decimal': | ||
return value.value + "M"; | ||
default: | ||
return Object.entries(value) | ||
.filter(function (_a) { | ||
var v = _a[1]; | ||
return v !== undefined; | ||
}) | ||
.map(function (_a) { | ||
var k = _a[0], v = _a[1]; | ||
return k + "=" + handleValue(v, aliases); | ||
}).join(','); | ||
} | ||
else if (value.type === 'guid') { | ||
return value.value; | ||
} | ||
else if (value.type === 'duration') { | ||
return "duration'" + value.value + "'"; | ||
} | ||
else if (value.type === 'binary') { | ||
return "binary'" + value.value + "'"; | ||
} | ||
else if (value.type === 'alias') { | ||
// Store | ||
if (Array.isArray(aliases)) | ||
aliases.push(value); | ||
return "@" + value.name; | ||
} | ||
else if (value.type === 'json') { | ||
return escape(JSON.stringify(value.value)); | ||
} | ||
else { | ||
return Object.entries(value) | ||
.filter(function (_a) { | ||
var v = _a[1]; | ||
return v !== undefined; | ||
}) | ||
.map(function (_a) { | ||
var k = _a[0], v = _a[1]; | ||
return k + "=" + handleValue(v, aliases); | ||
}).join(','); | ||
} | ||
} | ||
@@ -343,0 +340,0 @@ return value; |
@@ -31,2 +31,3 @@ import * as tslib_1 from "tslib"; | ||
export var alias = function (name, value) { return ({ type: 'alias', name: name, value: value }); }; | ||
export var decimal = function (value) { return ({ type: 'decimal', value: value }); }; | ||
export var ITEM_ROOT = ""; | ||
@@ -306,34 +307,30 @@ export default function (_a) { | ||
else if (typeof value === 'object') { | ||
if (value.type === 'raw') { | ||
return value.value; | ||
switch (value.type) { | ||
case 'raw': | ||
case 'guid': | ||
return value.value; | ||
case 'duration': | ||
return "duration'" + value.value + "'"; | ||
case 'binary': | ||
return "binary'" + value.value + "'"; | ||
case 'alias': | ||
// Store | ||
if (Array.isArray(aliases)) | ||
aliases.push(value); | ||
return "@" + value.name; | ||
case 'json': | ||
return escape(JSON.stringify(value.value)); | ||
case 'decimal': | ||
return value.value + "M"; | ||
default: | ||
return Object.entries(value) | ||
.filter(function (_a) { | ||
var v = _a[1]; | ||
return v !== undefined; | ||
}) | ||
.map(function (_a) { | ||
var k = _a[0], v = _a[1]; | ||
return k + "=" + handleValue(v, aliases); | ||
}).join(','); | ||
} | ||
else if (value.type === 'guid') { | ||
return value.value; | ||
} | ||
else if (value.type === 'duration') { | ||
return "duration'" + value.value + "'"; | ||
} | ||
else if (value.type === 'binary') { | ||
return "binary'" + value.value + "'"; | ||
} | ||
else if (value.type === 'alias') { | ||
// Store | ||
if (Array.isArray(aliases)) | ||
aliases.push(value); | ||
return "@" + value.name; | ||
} | ||
else if (value.type === 'json') { | ||
return escape(JSON.stringify(value.value)); | ||
} | ||
else { | ||
return Object.entries(value) | ||
.filter(function (_a) { | ||
var v = _a[1]; | ||
return v !== undefined; | ||
}) | ||
.map(function (_a) { | ||
var k = _a[0], v = _a[1]; | ||
return k + "=" + handleValue(v, aliases); | ||
}).join(','); | ||
} | ||
} | ||
@@ -340,0 +337,0 @@ return value; |
@@ -70,3 +70,7 @@ export declare type PlainObject = { | ||
}; | ||
export declare type Value = string | Date | number | boolean | Raw | Guid | Duration | Binary | Json | Alias; | ||
export declare type Decimal = { | ||
type: 'decimal'; | ||
value: any; | ||
}; | ||
export declare type Value = string | Date | number | boolean | Raw | Guid | Duration | Binary | Json | Alias | Decimal; | ||
export declare const raw: (value: string) => Raw; | ||
@@ -78,2 +82,3 @@ export declare const guid: (value: string) => Guid; | ||
export declare const alias: (name: string, value: PlainObject) => Alias; | ||
export declare const decimal: (value: string) => Decimal; | ||
export declare type QueryOptions<T> = ExpandOptions<T> & { | ||
@@ -80,0 +85,0 @@ search: string; |
{ | ||
"name": "odata-query", | ||
"version": "6.6.0", | ||
"version": "6.7.0", | ||
"author": "Sean Lynch <techniq35@gmail.com>", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -354,2 +354,10 @@ # odata-query | ||
``` | ||
Decimal: | ||
```js | ||
const filter = { "someProp": { eq: { type: 'decimal', value: '12.3456789' } } }; | ||
buildQuery({ filter }) | ||
=> "?$filter=someProp eq '12.3456789M'" | ||
``` | ||
Note that as per OData specification, binary data is transmitted as a base64 encoded string. Refer to [Primitive Types in JSON Format](https://www.odata.org/documentation/odata-version-2-0/json-format/), and [binary representation](https://www.odata.org/documentation/odata-version-2-0/overview/). | ||
@@ -356,0 +364,0 @@ |
97619
626
1825