UNPKG

relution-sdk

Version:

Relution Software Development Kit for TypeScript and JavaScript

65 lines 7.72 kB
/* * @file query/Filter.ts * Relution SDK * * Created by Thomas Beckmann on 22.06.2015 * Copyright 2016 M-Way Solutions GmbH * * 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. */ /** * @module query */ /** */ "use strict"; /** * all known valid types of filters. * * @type {string[]} of all known types of filters. */ exports.filterTypes = [ 'boolean', 'containsString', 'dateRange', 'doubleRange', 'like', 'logOp', 'longEnum', 'longRange', 'stringEnum', 'string', 'stringMap', 'stringRange', 'null' ]; /** * checks if a given type value is a valid FilterType value. * * @param type value to check. * @return {boolean} whether type value is valid. */ function isFilterType(type) { return exports.filterTypes.indexOf(type) >= 0; } exports.isFilterType = isFilterType; /** * checks if an object is a Filter. * * @param filter object to check. * @return {boolean} whether filter is a filter. */ function isFilter(filter) { return filter && isFilterType(filter.type); } exports.isFilter = isFilter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L0ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0g7O0dBRUc7QUFDSCxNQUFNOztBQW9CTjs7OztHQUlHO0FBQ1UsbUJBQVcsR0FBRztJQUN6QixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsTUFBTTtJQUNOLE9BQU87SUFDUCxVQUFVO0lBQ1YsV0FBVztJQUNYLFlBQVk7SUFDWixRQUFRO0lBQ1IsV0FBVztJQUNYLGFBQWE7SUFDYixNQUFNO0NBQ1AsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsc0JBQTZCLElBQVM7SUFDbEMsTUFBTSxDQUFDLG1CQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRmUsb0JBQVksZUFFM0IsQ0FBQTtBQVNEOzs7OztHQUtHO0FBQ0gsa0JBQXlCLE1BQVc7SUFDbEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFGZSxnQkFBUSxXQUV2QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBmaWxlIHF1ZXJ5L0ZpbHRlci50c1xuICogUmVsdXRpb24gU0RLXG4gKlxuICogQ3JlYXRlZCBieSBUaG9tYXMgQmVja21hbm4gb24gMjIuMDYuMjAxNVxuICogQ29weXJpZ2h0IDIwMTYgTS1XYXkgU29sdXRpb25zIEdtYkhcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBAbW9kdWxlIHF1ZXJ5XG4gKi9cbi8qKiAqL1xuXG4vKipcbiAqIGtpbmQgb2YgRmlsdGVyIGFzIGRlZmluZWQgYnkgY29ycmVzcG9uZGluZyBKYXZhIG9iamVjdCBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsdGVyVHlwZSA9XG4gICdib29sZWFuJyB8XG4gICdjb250YWluc1N0cmluZycgfFxuICAnZGF0ZVJhbmdlJyB8XG4gICdkb3VibGVSYW5nZScgfFxuICAnbGlrZScgfFxuICAnbG9nT3AnIHxcbiAgJ2xvbmdFbnVtJyB8XG4gICdsb25nUmFuZ2UnIHxcbiAgJ3N0cmluZ0VudW0nIHxcbiAgJ3N0cmluZycgfFxuICAnc3RyaW5nTWFwJyB8XG4gICdzdHJpbmdSYW5nZScgfFxuICAnbnVsbCc7XG5cbi8qKlxuICogYWxsIGtub3duIHZhbGlkIHR5cGVzIG9mIGZpbHRlcnMuXG4gKlxuICogQHR5cGUge3N0cmluZ1tdfSBvZiBhbGwga25vd24gdHlwZXMgb2YgZmlsdGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZpbHRlclR5cGVzID0gW1xuICAnYm9vbGVhbicsXG4gICdjb250YWluc1N0cmluZycsXG4gICdkYXRlUmFuZ2UnLFxuICAnZG91YmxlUmFuZ2UnLFxuICAnbGlrZScsXG4gICdsb2dPcCcsXG4gICdsb25nRW51bScsXG4gICdsb25nUmFuZ2UnLFxuICAnc3RyaW5nRW51bScsXG4gICdzdHJpbmcnLFxuICAnc3RyaW5nTWFwJyxcbiAgJ3N0cmluZ1JhbmdlJyxcbiAgJ251bGwnXG5dO1xuXG4vKipcbiAqIGNoZWNrcyBpZiBhIGdpdmVuIHR5cGUgdmFsdWUgaXMgYSB2YWxpZCBGaWx0ZXJUeXBlIHZhbHVlLlxuICpcbiAqIEBwYXJhbSB0eXBlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciB0eXBlIHZhbHVlIGlzIHZhbGlkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGaWx0ZXJUeXBlKHR5cGU6IGFueSk6IHR5cGUgaXMgRmlsdGVyVHlwZSB7XG4gICAgcmV0dXJuIGZpbHRlclR5cGVzLmluZGV4T2YodHlwZSkgPj0gMDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXIge1xuICAvKipcbiAgICoga2luZCBvZiBGaWx0ZXIgYXMgZGVmaW5lZCBieSBjb3JyZXNwb25kaW5nIEphdmEgb2JqZWN0IG1vZGVsLlxuICAgKi9cbiAgdHlwZTogRmlsdGVyVHlwZTtcbn1cblxuLyoqXG4gKiBjaGVja3MgaWYgYW4gb2JqZWN0IGlzIGEgRmlsdGVyLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXIgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciBmaWx0ZXIgaXMgYSBmaWx0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbHRlcihmaWx0ZXI6IGFueSk6IGZpbHRlciBpcyBGaWx0ZXIge1xuICByZXR1cm4gZmlsdGVyICYmIGlzRmlsdGVyVHlwZShmaWx0ZXIudHlwZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nT3BGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXIge1xuICAvKipcbiAgICoga2luZCBvZiBPcGVyYXRpb24gYXMgZGVmaW5lZCBieSBjb3JyZXNwb25kaW5nIEphdmEgb2JqZWN0IG1vZGVsLlxuICAgKlxuICAgKiA8cD5cbiAgICogIC0gYW5kXG4gICAqICAtIG9yXG4gICAqICAtIG5hbmRcbiAgICogIC0gbm9yXG4gICAqIDwvcD5cbiAgICovXG4gIG9wZXJhdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBmaWx0ZXJzIGV2YWx1YXRlZCB3aXRoIGxvZ2ljYWwgb3BlcmF0aW9uIChmaWx0ZXIxIExPR09QIGZpbHRlcjIgTE9HT1AgZmlsdGVyMy4uLikuXG4gICAqL1xuICBmaWx0ZXJzOiBGaWx0ZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEZpbHRlciBleHRlbmRzIEZpbHRlciB7XG4gIC8qKlxuICAgKiBmaWVsZCBleHByZXNzaW9uIGlkZW50aWZ5aW5nIGxlZnQgaGFuZCBzaWRlIG9mIHRoZSBmaWx0ZXIuXG4gICAqL1xuICBmaWVsZE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgb2YgdGhlIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdWVGaWx0ZXI8VD4gZXh0ZW5kcyBGaWVsZEZpbHRlciB7XG4gIHZhbHVlOiBUO1xufVxuXG4vKipcbiAqIGltcGxlbWVudGF0aW9uIGRldGFpbCBvZiB0aGUgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYW5nZUZpbHRlcjxUPiBleHRlbmRzIEZpZWxkRmlsdGVyIHtcbiAgbWluPzogVDtcbiAgbWF4PzogVDtcbn1cblxuLyoqXG4gKiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgb2YgdGhlIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW51bUZpbHRlcjxUPiBleHRlbmRzIEZpZWxkRmlsdGVyIHtcbiAgdmFsdWVzOiBUW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vbGVhbkZpbHRlciBleHRlbmRzIFZhbHVlRmlsdGVyPGJvb2xlYW4+IHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluc1N0cmluZ0ZpbHRlciBleHRlbmRzIEZpZWxkRmlsdGVyIHtcbiAgY29udGFpbnM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlUmFuZ2VGaWx0ZXIgZXh0ZW5kcyBSYW5nZUZpbHRlcjxEYXRlPiB7XG59XG5cbi8qKlxuICogaW1wbGVtZW50YXRpb24gZGV0YWlsIG9mIHRoZSBsaWJyYXJ5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlclJhbmdlRmlsdGVyIGV4dGVuZHMgUmFuZ2VGaWx0ZXI8bnVtYmVyPiB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG91YmxlUmFuZ2VGaWx0ZXIgZXh0ZW5kcyBOdW1iZXJSYW5nZUZpbHRlciB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9uZ1JhbmdlRmlsdGVyIGV4dGVuZHMgTnVtYmVyUmFuZ2VGaWx0ZXIge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpa2VGaWx0ZXIgZXh0ZW5kcyBGaWVsZEZpbHRlciB7XG4gIGxpa2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb25nRW51bUZpbHRlciBleHRlbmRzIEVudW1GaWx0ZXI8bnVtYmVyPiB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nRW51bUZpbHRlciBleHRlbmRzIEVudW1GaWx0ZXI8c3RyaW5nPiB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nRmlsdGVyIGV4dGVuZHMgVmFsdWVGaWx0ZXI8c3RyaW5nPiB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTWFwRmlsdGVyIGV4dGVuZHMgRmllbGRGaWx0ZXIge1xuICBrZXk/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ1JhbmdlRmlsdGVyIGV4dGVuZHMgUmFuZ2VGaWx0ZXI8c3RyaW5nPiB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTnVsbEZpbHRlciBleHRlbmRzIEZpZWxkRmlsdGVyIHtcbiAgaXNOdWxsOiBib29sZWFuO1xufVxuIl19