UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

66 lines (54 loc) 2.16 kB
"use strict"; var stringUtils = require("../../core/utils/string"), iteratorUtils = require("../../core/utils/iterator"), odataUtils = require("./utils"); require("./query_adapter"); var DEFAULT_PROTOCOL_VERSION = 2; var formatFunctionInvocationUrl = function formatFunctionInvocationUrl(baseUrl, args) { return stringUtils.format("{0}({1})", baseUrl, iteratorUtils.map(args || {}, function (value, key) { return stringUtils.format("{0}={1}", key, value); }).join(",")); }; var escapeServiceOperationParams = function escapeServiceOperationParams(params, version) { if (!params) { return params; } // From WCF Data Services docs: // The type of each parameter must be a primitive type. // Any data of a non-primitive type must be serialized and passed into a string parameter var result = {}; iteratorUtils.each(params, function (k, v) { result[k] = odataUtils.serializeValue(v, version); }); return result; }; var SharedMethods = { _extractServiceOptions: function _extractServiceOptions(options) { options = options || {}; this._url = String(options.url).replace(/\/+$/, ""); this._beforeSend = options.beforeSend; this._jsonp = options.jsonp; this._version = options.version || DEFAULT_PROTOCOL_VERSION; this._withCredentials = options.withCredentials; this._deserializeDates = options.deserializeDates; }, _sendRequest: function _sendRequest(url, method, params, payload) { return odataUtils.sendRequest(this.version(), { url: url, method: method, params: params || {}, payload: payload }, { beforeSend: this._beforeSend, jsonp: this._jsonp, withCredentials: this._withCredentials, deserializeDates: this._deserializeDates }); }, version: function version() { return this._version; } }; exports.SharedMethods = SharedMethods; exports.escapeServiceOperationParams = escapeServiceOperationParams; exports.formatFunctionInvocationUrl = formatFunctionInvocationUrl;