UNPKG

@opra/common

Version:
36 lines (35 loc) 1.09 kB
import { __decorate, __metadata } from "tslib"; import { toInteger, vg } from 'valgen'; import { DECODER, ENCODER } from '../../constants.js'; import { SimpleType } from '../simple-type.js'; import { NumberType } from './number.type.js'; let IntegerType = class IntegerType extends NumberType { constructor(properties) { super(properties); } [DECODER](properties) { const x = []; if (properties.minValue != null) x.push(vg.isGte(properties.minValue)); if (properties.maxValue != null) x.push(vg.isLte(properties.maxValue)); return x.length > 0 ? vg.pipe([toInteger, ...x], { returnIndex: 0 }) : toInteger; } [ENCODER](properties) { return this[DECODER](properties); } }; IntegerType = __decorate([ SimpleType({ name: 'integer', description: 'An integer number', nameMappings: { js: 'number', json: 'number', }, }), __metadata("design:paramtypes", [Object]) ], IntegerType); export { IntegerType };