Sha256: 6818506e224ce568aeb2e39683977b7c93cc385f2c750079a6d6b46cff6028fb
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
const mongoose = require('mongoose/browser'); const cql = require('cql-execution'); const DateTime = require('./DateTime'); function Interval(key, options) { mongoose.SchemaType.call(this, key, options, 'Interval'); } Interval.prototype = Object.create(mongoose.SchemaType.prototype); Interval.prototype.cast = (interval) => { if (interval.isInterval) { return interval; } const casted = new cql.Interval(interval.low, interval.high, interval.lowClosed, interval.highClosed); // Cast Low and High values to Quantities if it is a quantity if (casted.low && casted.low.unit && casted.low.value) { casted.low = new cql.Quantity(casted.low); if (casted.high && casted.high.unit && casted.high.value) { casted.high = new cql.Quantity(casted.high); } return casted; } // Cast to DateTime if it is a string representing a DateTime if (casted.low) { casted.low = DateTime.prototype.cast(casted.low); } if (casted.high) { casted.high = DateTime.prototype.cast(casted.high); } return casted; }; mongoose.Schema.Types.Interval = Interval; module.exports = Interval;
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cqm-models-2.0.1 | app/assets/javascripts/basetypes/Interval.js |
cqm-models-2.0.0 | app/assets/javascripts/basetypes/Interval.js |