'use strict';

const featureRange = require('./common/feature-range.cjs');

const name = 'MediaFeatureRange';
const parse = featureRange.createParse(name);

exports.generate = featureRange.generate;
exports.structure = featureRange.structure;
exports.name = name;
exports.parse = parse;
