angular-odata
Version:
Client side OData typescript library for Angular
24 lines • 3.5 kB
JavaScript
import { PARAM_SEPARATOR, VALUE_SEPARATOR } from '../constants';
export const Urls = {
parseQueryString(query) {
return query.split(PARAM_SEPARATOR).reduce((acc, param) => {
let index = param.indexOf(VALUE_SEPARATOR);
if (index !== -1)
Object.assign(acc, {
[param.substring(0, index)]: param.substring(index + 1),
});
return acc;
}, {});
},
escapeIllegalChars(string) {
string = string.replace(/%/g, '%25');
string = string.replace(/\+/g, '%2B');
string = string.replace(/\//g, '%2F');
string = string.replace(/\?/g, '%3F');
string = string.replace(/#/g, '%23');
string = string.replace(/&/g, '%26');
string = string.replace(/'/g, "''");
return string;
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi91dGlscy91cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRztJQUNsQixnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7b0JBQ2pCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQ3hELENBQUMsQ0FBQztZQUNMLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUNELGtCQUFrQixDQUFDLE1BQWM7UUFDL0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUEFSQU1fU0VQQVJBVE9SLCBWQUxVRV9TRVBBUkFUT1IgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgVXJscyA9IHtcbiAgcGFyc2VRdWVyeVN0cmluZyhxdWVyeTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHF1ZXJ5LnNwbGl0KFBBUkFNX1NFUEFSQVRPUikucmVkdWNlKChhY2MsIHBhcmFtOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBpbmRleCA9IHBhcmFtLmluZGV4T2YoVkFMVUVfU0VQQVJBVE9SKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpXG4gICAgICAgIE9iamVjdC5hc3NpZ24oYWNjLCB7XG4gICAgICAgICAgW3BhcmFtLnN1YnN0cmluZygwLCBpbmRleCldOiBwYXJhbS5zdWJzdHJpbmcoaW5kZXggKyAxKSxcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfSxcbiAgZXNjYXBlSWxsZWdhbENoYXJzKHN0cmluZzogc3RyaW5nKSB7XG4gICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoLyUvZywgJyUyNScpO1xuICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9cXCsvZywgJyUyQicpO1xuICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9cXC8vZywgJyUyRicpO1xuICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9cXD8vZywgJyUzRicpO1xuICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC8jL2csICclMjMnKTtcbiAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvJi9nLCAnJTI2Jyk7XG4gICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoLycvZywgXCInJ1wiKTtcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LFxufTtcbiJdfQ==