the reminder not showing content on the card at dashboard view and the quizes are hardcoded must move to the db make api's for it
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
var BOMChar = '\uFEFF';
|
|
|
|
exports.PrependBOM = PrependBOMWrapper
|
|
function PrependBOMWrapper(encoder, options) {
|
|
this.encoder = encoder;
|
|
this.addBOM = true;
|
|
}
|
|
|
|
PrependBOMWrapper.prototype.write = function(str) {
|
|
if (this.addBOM) {
|
|
str = BOMChar + str;
|
|
this.addBOM = false;
|
|
}
|
|
|
|
return this.encoder.write(str);
|
|
}
|
|
|
|
PrependBOMWrapper.prototype.end = function() {
|
|
return this.encoder.end();
|
|
}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
exports.StripBOM = StripBOMWrapper;
|
|
function StripBOMWrapper(decoder, options) {
|
|
this.decoder = decoder;
|
|
this.pass = false;
|
|
this.options = options || {};
|
|
}
|
|
|
|
StripBOMWrapper.prototype.write = function(buf) {
|
|
var res = this.decoder.write(buf);
|
|
if (this.pass || !res)
|
|
return res;
|
|
|
|
if (res[0] === BOMChar) {
|
|
res = res.slice(1);
|
|
if (typeof this.options.stripBOM === 'function')
|
|
this.options.stripBOM();
|
|
}
|
|
|
|
this.pass = true;
|
|
return res;
|
|
}
|
|
|
|
StripBOMWrapper.prototype.end = function() {
|
|
return this.decoder.end();
|
|
}
|
|
|