UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

27 lines 3.98 kB
import { InRangeDateTime } from './in-range-date-time'; import { Operator } from './operator'; import { Operators } from './operators'; /** * Equality operator for indexed fields that store a date time object in timestamp format. * * Will create a range query that matches every timestamp from the 0th millisecond of the selected date time object (included) * to the 0th millisecond after of the next minute after the minute of the date time object (excluded). */ export class EqualsDateTime extends Operator { dateTimeRange; constructor(operators) { super(1); this.dateTimeRange = operators.getOperator(InRangeDateTime); } createQuery(elasticKeywords, args) { this.checkArgumentsCount(args); return this.dateTimeRange.createQuery(elasticKeywords, [args[0], args[0]]); } getOperatorNameTemplate() { return ['search.operator.equals', Operator.INPUT_PLACEHOLDER]; } serialize() { return Operators.EQUALS_DATE_TIME; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWxzLWRhdGUtdGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2VhcmNoL21vZGVscy9vcGVyYXRvci9lcXVhbHMtZGF0ZS10aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlyRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFdEM7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQWdCO0lBRXRDLGFBQWEsQ0FBa0I7SUFFekMsWUFBWSxTQUEwQjtRQUNsQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFvQixDQUFDO0lBQ25GLENBQUM7SUFFRCxXQUFXLENBQUMsZUFBOEIsRUFBRSxJQUFtQjtRQUMzRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5SYW5nZURhdGVUaW1lfSBmcm9tICcuL2luLXJhbmdlLWRhdGUtdGltZSc7XG5pbXBvcnQge09wZXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3Itc2VydmljZS9vcGVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtRdWVyeX0gZnJvbSAnLi4vcXVlcnkvcXVlcnknO1xuaW1wb3J0IHtPcGVyYXRvcn0gZnJvbSAnLi9vcGVyYXRvcic7XG5pbXBvcnQge09wZXJhdG9yc30gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEVxdWFsaXR5IG9wZXJhdG9yIGZvciBpbmRleGVkIGZpZWxkcyB0aGF0IHN0b3JlIGEgZGF0ZSB0aW1lIG9iamVjdCBpbiB0aW1lc3RhbXAgZm9ybWF0LlxuICpcbiAqIFdpbGwgY3JlYXRlIGEgcmFuZ2UgcXVlcnkgdGhhdCBtYXRjaGVzIGV2ZXJ5IHRpbWVzdGFtcCBmcm9tIHRoZSAwdGggbWlsbGlzZWNvbmQgb2YgdGhlIHNlbGVjdGVkIGRhdGUgdGltZSBvYmplY3QgKGluY2x1ZGVkKVxuICogdG8gdGhlIDB0aCBtaWxsaXNlY29uZCBhZnRlciBvZiB0aGUgbmV4dCBtaW51dGUgYWZ0ZXIgdGhlIG1pbnV0ZSBvZiB0aGUgZGF0ZSB0aW1lIG9iamVjdCAoZXhjbHVkZWQpLlxuICovXG5leHBvcnQgY2xhc3MgRXF1YWxzRGF0ZVRpbWUgZXh0ZW5kcyBPcGVyYXRvcjxNb21lbnQ+IHtcblxuICAgIHByb3RlY3RlZCBkYXRlVGltZVJhbmdlOiBJblJhbmdlRGF0ZVRpbWU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcGVyYXRvcnM6IE9wZXJhdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICAgICAgdGhpcy5kYXRlVGltZVJhbmdlID0gb3BlcmF0b3JzLmdldE9wZXJhdG9yKEluUmFuZ2VEYXRlVGltZSkgYXMgSW5SYW5nZURhdGVUaW1lO1xuICAgIH1cblxuICAgIGNyZWF0ZVF1ZXJ5KGVsYXN0aWNLZXl3b3JkczogQXJyYXk8c3RyaW5nPiwgYXJnczogQXJyYXk8TW9tZW50Pik6IFF1ZXJ5IHtcbiAgICAgICAgdGhpcy5jaGVja0FyZ3VtZW50c0NvdW50KGFyZ3MpO1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZVJhbmdlLmNyZWF0ZVF1ZXJ5KGVsYXN0aWNLZXl3b3JkcywgW2FyZ3NbMF0sIGFyZ3NbMF1dKTtcbiAgICB9XG5cbiAgICBnZXRPcGVyYXRvck5hbWVUZW1wbGF0ZSgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIFsnc2VhcmNoLm9wZXJhdG9yLmVxdWFscycsIE9wZXJhdG9yLklOUFVUX1BMQUNFSE9MREVSXTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemUoKTogT3BlcmF0b3JzIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIE9wZXJhdG9ycy5FUVVBTFNfREFURV9USU1FO1xuICAgIH1cbn1cbiJdfQ==