// // Copyright (c) Microsoft and contributors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // // See the License for the specific language governing permissions and // limitations under the License. // // Expose 'HeaderConstants'. exports = module.exports; /** * Defines constants, enums, and utility functions for use with the Table service. * @namespace TableUtilities */ var TableUtilities = { /** * Permission types. * * @const * @enum {string} */ SharedAccessPermissions: { QUERY: 'r', ADD: 'a', UPDATE: 'u', DELETE: 'd' }, /** * Payload Format. * * @const * @enum {string} */ PayloadFormat: { FULL_METADATA: 'application/json;odata=fullmetadata', MINIMAL_METADATA: 'application/json;odata=minimalmetadata', NO_METADATA: 'application/json;odata=nometadata' }, /** * Defines the set of Boolean operators for constructing queries. * * @const * @enum {string} */ TableOperators: { AND: 'and', NOT: 'not', OR: 'or' }, /** * Filter property comparison operators. * * @const * @enum {string} */ QueryComparisons: { EQUAL: 'eq', NOT_EQUAL: 'ne', GREATER_THAN: 'gt', GREATER_THAN_OR_EQUAL: 'ge', LESS_THAN: 'lt', LESS_THAN_OR_EQUAL: 'le' }, /** * Edm types. * * @const * @enum {string} */ EdmType: { STRING: 'Edm.String', BINARY: 'Edm.Binary', INT64: 'Edm.Int64', INT32: 'Edm.Int32', DOUBLE: 'Edm.Double', DATETIME: 'Edm.DateTime', GUID: 'Edm.Guid', BOOLEAN: 'Edm.Boolean' }, /** * A helper to create table entities. * * @example * var entGen = TableUtilities.entityGenerator; * var entity = { PartitionKey: entGen.String('part2'), * RowKey: entGen.String('row1'), * boolValue: entGen.Boolean(true), * intValue: entGen.Int32(42), * dateValue: entGen.DateTime(new Date(Date.UTC(2011, 10, 25))), * }; */ entityGenerator: (function() { var EntityProperty = function (value, type) { var entityProperty = { _:value}; if (type) { entityProperty['$'] = type; } return entityProperty; }; return { EntityProperty : EntityProperty, Int32 : function(value) { return new EntityProperty(value, 'Edm.Int32'); }, Int64 : function(value) { return new EntityProperty(value, 'Edm.Int64'); }, Binary : function(value) { return new EntityProperty(value, 'Edm.Binary'); }, Boolean : function(value) { return new EntityProperty(value, 'Edm.Boolean'); }, String : function(value) { return new EntityProperty(value, 'Edm.String'); }, Guid : function(value) { return new EntityProperty(value, 'Edm.Guid'); }, Double : function(value) { return new EntityProperty(value, 'Edm.Double'); }, DateTime : function(value) { return new EntityProperty(value, 'Edm.DateTime'); } }; })() }; module.exports = TableUtilities;