diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-13 21:34:48 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-13 21:34:48 -0800 |
| commit | 76cb9c2a39d477a64824a985ade40507e3bbade1 (patch) | |
| tree | 41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/@acemir/cssom/lib/MediaList.js | |
| parent | 819a39a21ac992b1393244a4c283bbb125208c69 (diff) | |
| download | neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2 neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip | |
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/@acemir/cssom/lib/MediaList.js')
| -rw-r--r-- | vanilla/node_modules/@acemir/cssom/lib/MediaList.js | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/vanilla/node_modules/@acemir/cssom/lib/MediaList.js b/vanilla/node_modules/@acemir/cssom/lib/MediaList.js new file mode 100644 index 0000000..bc40470 --- /dev/null +++ b/vanilla/node_modules/@acemir/cssom/lib/MediaList.js @@ -0,0 +1,78 @@ +//.CommonJS +var CSSOM = {}; +///CommonJS + + +/** + * @constructor + * @see http://dev.w3.org/csswg/cssom/#the-medialist-interface + */ +CSSOM.MediaList = function MediaList(){ + this.length = 0; +}; + +CSSOM.MediaList.prototype = { + + constructor: CSSOM.MediaList, + + /** + * @return {string} + */ + get mediaText() { + return Array.prototype.join.call(this, ", "); + }, + + /** + * @param {string} value + */ + set mediaText(value) { + if (typeof value === "string") { + var values = value.split(",").filter(function(text){ + return !!text; + }); + var length = this.length = values.length; + for (var i=0; i<length; i++) { + this[i] = values[i].trim(); + } + } else if (value === null) { + var length = this.length; + for (var i = 0; i < length; i++) { + delete this[i]; + } + this.length = 0; + } + }, + + /** + * @param {string} medium + */ + appendMedium: function(medium) { + if (Array.prototype.indexOf.call(this, medium) === -1) { + this[this.length] = medium; + this.length++; + } + }, + + /** + * @param {string} medium + */ + deleteMedium: function(medium) { + var index = Array.prototype.indexOf.call(this, medium); + if (index !== -1) { + Array.prototype.splice.call(this, index, 1); + } + }, + + item: function(index) { + return this[index] || null; + }, + + toString: function() { + return this.mediaText; + } +}; + + +//.CommonJS +exports.MediaList = CSSOM.MediaList; +///CommonJS |
