diff --git a/package-lock.json b/package-lock.json index baa9715..04d6c75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1209,12 +1209,13 @@ } }, "@odata/metadata": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@odata/metadata/-/metadata-0.2.4.tgz", - "integrity": "sha512-jab1OVxUELm89z6yq055O7NdVJukAgKyNUVONZii8TYuMgUiY8cUhs7Mi8VDJv7w3SiBHzIPGhuY0jQM0eHLQw==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@odata/metadata/-/metadata-0.2.5.tgz", + "integrity": "sha512-OkJYVban1qDH10xHM2b4wNqemDuIY8e3KZUiFBpdEW9St8qH3i4314+gduJhCg6Wx+k2i+dBI4v0c5NpAb2JDg==", "dev": true, "requires": { "@newdash/newdash": "^5.19.0", + "@types/express": "^4.17.12", "reflect-metadata": "^0.1.13" } }, @@ -1283,6 +1284,48 @@ "@babel/types": "^7.3.0" } }, + "@types/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", + "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", + "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz", + "integrity": "sha512-gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -1332,6 +1375,12 @@ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, "@types/minimist": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", @@ -1356,6 +1405,28 @@ "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==", "dev": true }, + "@types/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "dev": true + }, + "@types/serve-static": { + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, "@types/stack-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", diff --git a/package.json b/package.json index fe644ce..360a0d9 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "release": "standard-version --no-verify && git push --follow-tags origin master" }, "devDependencies": { - "@odata/metadata": "^0.2.4", + "@odata/metadata": "^0.2.5", "@types/jest": "^26.0.23", "@types/node": "^14.14.41", "@typescript-eslint/eslint-plugin": "^4.27.0", diff --git a/src/builder/filter.ts b/src/builder/filter.ts index b80c36d..e36df36 100644 --- a/src/builder/filter.ts +++ b/src/builder/filter.ts @@ -49,7 +49,7 @@ class ODataFieldExpr { private _addExpr(op: ExprOperator, value: any) { if (value === null) { - this._getFieldExprs().push({ op, value: 'null' }) + this._getFieldExprs().push({ op, value: 'null' }); } switch (typeof value) { diff --git a/src/builder/index.ts b/src/builder/index.ts index f7547b1..caa4465 100644 --- a/src/builder/index.ts +++ b/src/builder/index.ts @@ -1,7 +1,7 @@ import { ODataFilter } from './filter'; import { ODataParam } from './param'; -export { Edm } from "@odata/metadata"; +export { Edm } from '@odata/metadata'; export * from './batch'; export * from './filter'; export * from './param'; diff --git a/src/builder/types.ts b/src/builder/types.ts index 7983e26..0b7ea4b 100644 --- a/src/builder/types.ts +++ b/src/builder/types.ts @@ -1,13 +1,13 @@ -import { Edm } from "@odata/metadata"; +import { Edm } from '@odata/metadata'; /** - * + * * @param value primitive literal value * @returns the string representation */ export function convertPrimitiveValueToString(value: Edm.PrimitiveTypeValue) { if (value?.getValue?.() === null) { - return 'null' + return 'null'; } if (value?.getValue?.() !== undefined) { @@ -22,32 +22,32 @@ export function convertPrimitiveValueToString(value: Edm.PrimitiveTypeValue) { case Edm.Byte: case Edm.SByte: case Edm.Single: - return String(value.getValue()) + return String(value.getValue()); case Edm.Boolean: - return String(value.getValue()) + return String(value.getValue()); case Edm.Binary: - let vB = value.getValue() + const vB = value.getValue(); if (vB instanceof Buffer) { - return `binary'${vB.toString("base64")}'` + return `binary'${vB.toString('base64')}'`; } - return String(vB) + return String(vB); case Edm.String: - return `'${value.getValue()}'` + return `'${value.getValue()}'`; case Edm.Duration: // TODO integrate with some other duration lib return value.getValue(); case Edm.DateTimeOffset: - let v1 = value.getValue() + let v1 = value.getValue(); if (typeof v1 === 'string') { - v1 = new Date(v1) + v1 = new Date(v1); } - return v1.toISOString() + return v1.toISOString(); case Edm.Date: - const v2 = value.getValue() + const v2 = value.getValue(); if (v2 instanceof Date) { - return `${v2.getFullYear()}-${v2.getMonth() + 1}-${v2.getDate()}` + return `${v2.getFullYear()}-${v2.getMonth() + 1}-${v2.getDate()}`; } - return v2 + return v2; case Edm.Geography: case Edm.GeographyPoint: case Edm.GeographyLineString: @@ -64,13 +64,13 @@ export function convertPrimitiveValueToString(value: Edm.PrimitiveTypeValue) { case Edm.GeometryMultiLineString: case Edm.GeometryMultiPolygon: case Edm.GeometryCollection: - return String(value.getValue()) + return String(value.getValue()); default: - throw new TypeError(`not support type '${value.getType()}'`) + throw new TypeError(`not support type '${value.getType()}'`); } } - throw new Error("'undefined' value provided") + throw new Error("'undefined' value provided"); }