i18next-fs-backend
Advanced tools
Comparing version 1.1.5 to 1.2.0
@@ -7,3 +7,2 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = function _default(filename) { | ||
@@ -13,4 +12,3 @@ if (filename.indexOf('.') < 0) return undefined; | ||
}; | ||
exports.default = _default; | ||
module.exports = exports.default; |
@@ -7,11 +7,6 @@ "use strict"; | ||
exports.default = void 0; | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | ||
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; | ||
@@ -51,3 +46,2 @@ var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; | ||
var root; | ||
var parse = function parse(text, reviver) { | ||
@@ -63,8 +57,7 @@ source = String(text); | ||
root = undefined; | ||
do { | ||
token = lex(); | ||
parseStates[parseState](); | ||
} while (token.type !== 'eof'); | ||
if (typeof reviver === 'function') { | ||
@@ -75,13 +68,9 @@ return internalize({ | ||
} | ||
return root; | ||
}; | ||
function internalize(holder, name, reviver) { | ||
var value = holder[name]; | ||
if (value != null && _typeof(value) === 'object') { | ||
for (var _key in value) { | ||
var replacement = internalize(value, _key, reviver); | ||
if (replacement === undefined) { | ||
@@ -94,14 +83,9 @@ delete value[_key]; | ||
} | ||
return reviver.call(holder, name, value); | ||
} | ||
var lexState; | ||
var buffer; | ||
var doubleQuote; | ||
var _sign; | ||
var c; | ||
function lex() { | ||
@@ -112,3 +96,2 @@ lexState = 'default'; | ||
_sign = 1; | ||
for (;;) { | ||
@@ -118,3 +101,2 @@ c = peek(); | ||
var _token = lexStates[lexState](); | ||
if (_token) { | ||
@@ -125,3 +107,2 @@ return _token; | ||
} | ||
function peek() { | ||
@@ -132,6 +113,4 @@ if (source[pos]) { | ||
} | ||
function read() { | ||
var c = peek(); | ||
if (c === '\n') { | ||
@@ -145,10 +124,7 @@ line++; | ||
} | ||
if (c) { | ||
pos += c.length; | ||
} | ||
return c; | ||
} | ||
var lexStates = { | ||
@@ -169,3 +145,2 @@ default: function _default() { | ||
return; | ||
case '/': | ||
@@ -175,3 +150,2 @@ read(); | ||
return; | ||
case undefined: | ||
@@ -181,3 +155,2 @@ read(); | ||
} | ||
if (util.isSpaceSeparator(c)) { | ||
@@ -196,3 +169,2 @@ read(); | ||
return; | ||
case '/': | ||
@@ -203,3 +175,2 @@ read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -213,7 +184,5 @@ }, | ||
return; | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
read(); | ||
@@ -226,3 +195,2 @@ }, | ||
return; | ||
case '/': | ||
@@ -232,7 +200,5 @@ read(); | ||
return; | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
read(); | ||
@@ -250,3 +216,2 @@ lexState = 'multiLineComment'; | ||
return; | ||
case undefined: | ||
@@ -256,3 +221,2 @@ read(); | ||
} | ||
read(); | ||
@@ -265,3 +229,2 @@ }, | ||
return newToken('punctuator', read()); | ||
case 'n': | ||
@@ -271,3 +234,2 @@ read(); | ||
return newToken('null', null); | ||
case 't': | ||
@@ -277,3 +239,2 @@ read(); | ||
return newToken('boolean', true); | ||
case 'f': | ||
@@ -283,3 +244,2 @@ read(); | ||
return newToken('boolean', false); | ||
case '-': | ||
@@ -290,6 +250,4 @@ case '+': | ||
} | ||
lexState = 'sign'; | ||
return; | ||
case '.': | ||
@@ -299,3 +257,2 @@ buffer = read(); | ||
return; | ||
case '0': | ||
@@ -305,3 +262,2 @@ buffer = read(); | ||
return; | ||
case '1': | ||
@@ -319,3 +275,2 @@ case '2': | ||
return; | ||
case 'I': | ||
@@ -325,3 +280,2 @@ read(); | ||
return newToken('numeric', Infinity); | ||
case 'N': | ||
@@ -331,3 +285,2 @@ read(); | ||
return newToken('numeric', NaN); | ||
case '"': | ||
@@ -340,3 +293,2 @@ case "'": | ||
} | ||
throw invalidChar(read()); | ||
@@ -348,6 +300,4 @@ }, | ||
} | ||
read(); | ||
var u = unicodeEscape(); | ||
switch (u) { | ||
@@ -357,3 +307,2 @@ case '$': | ||
break; | ||
default: | ||
@@ -363,6 +312,4 @@ if (!util.isIdStartChar(u)) { | ||
} | ||
break; | ||
} | ||
buffer += u; | ||
@@ -379,3 +326,2 @@ lexState = 'identifierName'; | ||
return; | ||
case '\\': | ||
@@ -386,3 +332,2 @@ read(); | ||
} | ||
if (util.isIdContinueChar(c)) { | ||
@@ -392,3 +337,2 @@ buffer += read(); | ||
} | ||
return newToken('identifier', buffer); | ||
@@ -400,6 +344,4 @@ }, | ||
} | ||
read(); | ||
var u = unicodeEscape(); | ||
switch (u) { | ||
@@ -411,3 +353,2 @@ case '$': | ||
break; | ||
default: | ||
@@ -417,6 +358,4 @@ if (!util.isIdContinueChar(u)) { | ||
} | ||
break; | ||
} | ||
buffer += u; | ||
@@ -431,3 +370,2 @@ lexState = 'identifierName'; | ||
return; | ||
case '0': | ||
@@ -437,3 +375,2 @@ buffer = read(); | ||
return; | ||
case '1': | ||
@@ -451,3 +388,2 @@ case '2': | ||
return; | ||
case 'I': | ||
@@ -457,3 +393,2 @@ read(); | ||
return newToken('numeric', _sign * Infinity); | ||
case 'N': | ||
@@ -464,3 +399,2 @@ read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -474,3 +408,2 @@ }, | ||
return; | ||
case 'e': | ||
@@ -481,3 +414,2 @@ case 'E': | ||
return; | ||
case 'x': | ||
@@ -489,3 +421,2 @@ case 'X': | ||
} | ||
return newToken('numeric', _sign * 0); | ||
@@ -499,3 +430,2 @@ }, | ||
return; | ||
case 'e': | ||
@@ -507,3 +437,2 @@ case 'E': | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -513,3 +442,2 @@ buffer += read(); | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -523,3 +451,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -535,3 +462,2 @@ }, | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -542,3 +468,2 @@ buffer += read(); | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -554,3 +479,2 @@ }, | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -560,3 +484,2 @@ buffer += read(); | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -572,3 +495,2 @@ }, | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -579,3 +501,2 @@ buffer += read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -589,3 +510,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -598,3 +518,2 @@ }, | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -608,3 +527,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -617,3 +535,2 @@ }, | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -627,3 +544,2 @@ }, | ||
return; | ||
case '"': | ||
@@ -634,6 +550,4 @@ if (doubleQuote) { | ||
} | ||
buffer += read(); | ||
return; | ||
case "'": | ||
@@ -644,10 +558,7 @@ if (!doubleQuote) { | ||
} | ||
buffer += read(); | ||
return; | ||
case '\n': | ||
case '\r': | ||
throw invalidChar(read()); | ||
case "\u2028": | ||
@@ -657,7 +568,5 @@ case "\u2029": | ||
break; | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
@@ -670,2 +579,3 @@ }, | ||
return newToken('punctuator', read()); | ||
} | ||
@@ -682,3 +592,2 @@ | ||
return; | ||
case '\\': | ||
@@ -688,6 +597,4 @@ read(); | ||
return; | ||
case '}': | ||
return newToken('punctuator', read()); | ||
case '"': | ||
@@ -699,3 +606,2 @@ case "'": | ||
} | ||
if (util.isIdStartChar(c)) { | ||
@@ -706,3 +612,2 @@ buffer += read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -714,3 +619,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -727,3 +631,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -735,3 +638,2 @@ }, | ||
} | ||
lexState = 'value'; | ||
@@ -745,10 +647,9 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
}, | ||
end: function end() { | ||
throw invalidChar(read()); | ||
} | ||
}; | ||
function newToken(type, value) { | ||
@@ -762,7 +663,5 @@ return { | ||
} | ||
function literal(s) { | ||
var _iterator = _createForOfIteratorHelper(s), | ||
_step; | ||
_step; | ||
try { | ||
@@ -772,7 +671,5 @@ for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var p = peek(); | ||
if (p !== _c) { | ||
throw invalidChar(read()); | ||
} | ||
read(); | ||
@@ -786,6 +683,4 @@ } | ||
} | ||
function escape() { | ||
var c = peek(); | ||
switch (c) { | ||
@@ -795,40 +690,29 @@ case 'b': | ||
return '\b'; | ||
case 'f': | ||
read(); | ||
return '\f'; | ||
case 'n': | ||
read(); | ||
return '\n'; | ||
case 'r': | ||
read(); | ||
return '\r'; | ||
case 't': | ||
read(); | ||
return '\t'; | ||
case 'v': | ||
read(); | ||
return '\v'; | ||
case '0': | ||
read(); | ||
if (util.isDigit(peek())) { | ||
throw invalidChar(read()); | ||
} | ||
return '\0'; | ||
case 'x': | ||
read(); | ||
return hexEscape(); | ||
case 'u': | ||
read(); | ||
return unicodeEscape(); | ||
case '\n': | ||
@@ -839,12 +723,8 @@ case "\u2028": | ||
return ''; | ||
case '\r': | ||
read(); | ||
if (peek() === '\n') { | ||
read(); | ||
} | ||
return ''; | ||
case '1': | ||
@@ -860,46 +740,33 @@ case '2': | ||
throw invalidChar(read()); | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
return read(); | ||
} | ||
function hexEscape() { | ||
var buffer = ''; | ||
var c = peek(); | ||
if (!util.isHexDigit(c)) { | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
c = peek(); | ||
if (!util.isHexDigit(c)) { | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
return String.fromCodePoint(parseInt(buffer, 16)); | ||
} | ||
function unicodeEscape() { | ||
var buffer = ''; | ||
var count = 4; | ||
while (count-- > 0) { | ||
var _c2 = peek(); | ||
if (!util.isHexDigit(_c2)) { | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
} | ||
return String.fromCodePoint(parseInt(buffer, 16)); | ||
} | ||
var parseStates = { | ||
@@ -910,3 +777,2 @@ start: function start() { | ||
} | ||
push(); | ||
@@ -921,16 +787,16 @@ }, | ||
return; | ||
case 'punctuator': | ||
case 'punctuator': | ||
pop(); | ||
return; | ||
case 'eof': | ||
throw invalidEOF(); | ||
} | ||
}, | ||
afterPropertyName: function afterPropertyName() { | ||
if (token.type === 'eof') { | ||
throw invalidEOF(); | ||
} | ||
parseState = 'beforePropertyValue'; | ||
@@ -942,3 +808,2 @@ }, | ||
} | ||
push(); | ||
@@ -950,3 +815,2 @@ }, | ||
} | ||
if (token.type === 'punctuator' && token.value === ']') { | ||
@@ -956,10 +820,9 @@ pop(); | ||
} | ||
push(); | ||
}, | ||
afterPropertyValue: function afterPropertyValue() { | ||
if (token.type === 'eof') { | ||
throw invalidEOF(); | ||
} | ||
switch (token.value) { | ||
@@ -969,12 +832,12 @@ case ',': | ||
return; | ||
case '}': | ||
pop(); | ||
} | ||
}, | ||
afterArrayValue: function afterArrayValue() { | ||
if (token.type === 'eof') { | ||
throw invalidEOF(); | ||
} | ||
switch (token.value) { | ||
@@ -984,13 +847,12 @@ case ',': | ||
return; | ||
case ']': | ||
pop(); | ||
} | ||
}, | ||
end: function end() {} | ||
end: function end() { | ||
} | ||
}; | ||
function push() { | ||
var value; | ||
switch (token.type) { | ||
@@ -1002,3 +864,2 @@ case 'punctuator': | ||
break; | ||
case '[': | ||
@@ -1008,5 +869,3 @@ value = []; | ||
} | ||
break; | ||
case 'null': | ||
@@ -1018,2 +877,3 @@ case 'boolean': | ||
break; | ||
} | ||
@@ -1025,3 +885,2 @@ | ||
var parent = stack[stack.length - 1]; | ||
if (Array.isArray(parent)) { | ||
@@ -1033,6 +892,4 @@ parent.push(value); | ||
} | ||
if (value !== null && _typeof(value) === 'object') { | ||
stack.push(value); | ||
if (Array.isArray(value)) { | ||
@@ -1045,3 +902,2 @@ parseState = 'beforeArrayValue'; | ||
var current = stack[stack.length - 1]; | ||
if (current == null) { | ||
@@ -1056,7 +912,5 @@ parseState = 'end'; | ||
} | ||
function pop() { | ||
stack.pop(); | ||
var current = stack[stack.length - 1]; | ||
if (current == null) { | ||
@@ -1075,6 +929,4 @@ parseState = 'end'; | ||
} | ||
return syntaxError("JSON5: invalid character '".concat(formatChar(c), "' at ").concat(line, ":").concat(column)); | ||
} | ||
function invalidEOF() { | ||
@@ -1088,7 +940,5 @@ return syntaxError("JSON5: invalid end of input at ".concat(line, ":").concat(column)); | ||
} | ||
function separatorChar(c) { | ||
console.warn("JSON5: '".concat(formatChar(c), "' in strings is not valid ECMAScript; consider escaping")); | ||
} | ||
function formatChar(c) { | ||
@@ -1109,7 +959,5 @@ var replacements = { | ||
}; | ||
if (replacements[c]) { | ||
return replacements[c]; | ||
} | ||
if (c < ' ') { | ||
@@ -1119,6 +967,4 @@ var hexString = c.charCodeAt(0).toString(16); | ||
} | ||
return c; | ||
} | ||
function syntaxError(message) { | ||
@@ -1130,3 +976,2 @@ var err = new SyntaxError(message); | ||
} | ||
var stringify = function stringify(value, replacer, space) { | ||
@@ -1139,3 +984,2 @@ var stack = []; | ||
var quote; | ||
if (replacer != null && _typeof(replacer) === 'object' && !Array.isArray(replacer)) { | ||
@@ -1146,3 +990,2 @@ space = replacer.space; | ||
} | ||
if (typeof replacer === 'function') { | ||
@@ -1152,6 +995,4 @@ replacerFunc = replacer; | ||
propertyList = []; | ||
var _iterator2 = _createForOfIteratorHelper(replacer), | ||
_step2; | ||
_step2; | ||
try { | ||
@@ -1161,3 +1002,2 @@ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { | ||
var item = void 0; | ||
if (typeof v === 'string') { | ||
@@ -1168,3 +1008,2 @@ item = v; | ||
} | ||
if (item !== undefined && propertyList.indexOf(item) < 0) { | ||
@@ -1180,3 +1019,2 @@ propertyList.push(item); | ||
} | ||
if (space instanceof Number) { | ||
@@ -1187,3 +1025,2 @@ space = Number(space); | ||
} | ||
if (typeof space === 'number') { | ||
@@ -1197,10 +1034,7 @@ if (space > 0) { | ||
} | ||
return serializeProperty('', { | ||
'': value | ||
}); | ||
function serializeProperty(key, holder) { | ||
var value = holder[key]; | ||
if (value != null) { | ||
@@ -1213,7 +1047,5 @@ if (typeof value.toJSON5 === 'function') { | ||
} | ||
if (replacerFunc) { | ||
value = replacerFunc.call(holder, key, value); | ||
} | ||
if (value instanceof Number) { | ||
@@ -1226,29 +1058,21 @@ value = Number(value); | ||
} | ||
switch (value) { | ||
case null: | ||
return 'null'; | ||
case true: | ||
return 'true'; | ||
case false: | ||
return 'false'; | ||
} | ||
if (typeof value === 'string') { | ||
return quoteString(value, false); | ||
} | ||
if (typeof value === 'number') { | ||
return String(value); | ||
} | ||
if (_typeof(value) === 'object') { | ||
return Array.isArray(value) ? serializeArray(value) : serializeObject(value); | ||
} | ||
return undefined; | ||
} | ||
function quoteString(value) { | ||
@@ -1274,6 +1098,4 @@ var quotes = { | ||
var product = ''; | ||
for (var i = 0; i < value.length; i++) { | ||
var _c3 = value[i]; | ||
switch (_c3) { | ||
@@ -1285,3 +1107,2 @@ case "'": | ||
continue; | ||
case '\0': | ||
@@ -1292,5 +1113,3 @@ if (util.isDigit(value[i + 1])) { | ||
} | ||
} | ||
if (replacements[_c3]) { | ||
@@ -1300,13 +1119,9 @@ product += replacements[_c3]; | ||
} | ||
if (_c3 < ' ') { | ||
var hexString = _c3.charCodeAt(0).toString(16); | ||
product += '\\x' + ('00' + hexString).substring(hexString.length); | ||
continue; | ||
} | ||
product += _c3; | ||
} | ||
var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { | ||
@@ -1318,3 +1133,2 @@ return quotes[a] < quotes[b] ? a : b; | ||
} | ||
function serializeObject(value) { | ||
@@ -1324,3 +1138,2 @@ if (stack.indexOf(value) >= 0) { | ||
} | ||
stack.push(value); | ||
@@ -1331,6 +1144,4 @@ var stepback = indent; | ||
var partial = []; | ||
var _iterator3 = _createForOfIteratorHelper(keys), | ||
_step3; | ||
_step3; | ||
try { | ||
@@ -1340,10 +1151,7 @@ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { | ||
var propertyString = serializeProperty(_key2, value); | ||
if (propertyString !== undefined) { | ||
var member = serializeKey(_key2) + ':'; | ||
if (gap !== '') { | ||
member += ' '; | ||
} | ||
member += propertyString; | ||
@@ -1358,5 +1166,3 @@ partial.push(member); | ||
} | ||
var final; | ||
if (partial.length === 0) { | ||
@@ -1366,3 +1172,2 @@ final = '{}'; | ||
var properties; | ||
if (gap === '') { | ||
@@ -1377,3 +1182,2 @@ properties = partial.join(','); | ||
} | ||
stack.pop(); | ||
@@ -1383,3 +1187,2 @@ indent = stepback; | ||
} | ||
function serializeKey(key) { | ||
@@ -1389,9 +1192,6 @@ if (key.length === 0) { | ||
} | ||
var firstChar = String.fromCodePoint(key.codePointAt(0)); | ||
if (!util.isIdStartChar(firstChar)) { | ||
return quoteString(key, true); | ||
} | ||
for (var i = firstChar.length; i < key.length; i++) { | ||
@@ -1402,6 +1202,4 @@ if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { | ||
} | ||
return key; | ||
} | ||
function serializeArray(value) { | ||
@@ -1411,3 +1209,2 @@ if (stack.indexOf(value) >= 0) { | ||
} | ||
stack.push(value); | ||
@@ -1417,3 +1214,2 @@ var stepback = indent; | ||
var partial = []; | ||
for (var i = 0; i < value.length; i++) { | ||
@@ -1423,5 +1219,3 @@ var propertyString = serializeProperty(String(i), value); | ||
} | ||
var final; | ||
if (partial.length === 0) { | ||
@@ -1435,9 +1229,6 @@ final = '[]'; | ||
var separator = ',\n' + indent; | ||
var _properties = partial.join(separator); | ||
final = '[\n' + indent + _properties + ',\n' + stepback + ']'; | ||
} | ||
} | ||
stack.pop(); | ||
@@ -1448,3 +1239,2 @@ indent = stepback; | ||
}; | ||
var JSON5 = { | ||
@@ -1451,0 +1241,0 @@ parse: parse, |
@@ -7,15 +7,8 @@ "use strict"; | ||
exports.default = void 0; | ||
var _utils = require("./utils.js"); | ||
var _readFile = require("./readFile.js"); | ||
var _writeFile2 = require("./writeFile.js"); | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } | ||
var getDefaults = function getDefaults() { | ||
@@ -30,3 +23,2 @@ return { | ||
}; | ||
var Backend = function () { | ||
@@ -36,5 +28,3 @@ function Backend(services) { | ||
var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
_classCallCheck(this, Backend); | ||
this.services = services; | ||
@@ -46,3 +36,2 @@ this.options = options; | ||
} | ||
_createClass(Backend, [{ | ||
@@ -63,9 +52,6 @@ key: "init", | ||
var _this = this; | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath(language, namespace); | ||
} | ||
var filename = this.services.interpolator.interpolate(loadPath, { | ||
@@ -75,9 +61,7 @@ lng: language, | ||
}); | ||
if (this.allOptions.initImmediate === false) { | ||
try { | ||
var _readFileSync = (0, _readFile.readFileSync)(filename, this.options), | ||
data = _readFileSync.data, | ||
stat = _readFileSync.stat; | ||
data = _readFileSync.data, | ||
stat = _readFileSync.stat; | ||
if (this.options.expirationTime && stat && stat.mtime && stat.mtime.getTime() + this.options.expirationTime < Date.now()) { | ||
@@ -95,10 +79,7 @@ this.removeFile(language, namespace); | ||
} | ||
(0, _readFile.readFile)(filename, this.options).then(function (_ref) { | ||
var data = _ref.data, | ||
stat = _ref.stat; | ||
stat = _ref.stat; | ||
if (_this.options.expirationTime && stat && stat.mtime && stat.mtime.getTime() + _this.options.expirationTime < Date.now()) { | ||
_this.removeFile(language, namespace); | ||
return callback(new Error('File expired!'), false); | ||
@@ -116,11 +97,8 @@ } | ||
var _this2 = this; | ||
if (!callback) callback = function callback() {}; | ||
if (typeof languages === 'string') languages = [languages]; | ||
var todo = languages.length; | ||
var done = function done() { | ||
if (! --todo) callback(); | ||
}; | ||
languages.forEach(function (lng) { | ||
@@ -130,15 +108,14 @@ _this2.queue.call(_this2, lng, namespace, key, fallbackValue, done); | ||
} | ||
}, { | ||
key: "save", | ||
value: function save(language, namespace, data, callback) { | ||
value: | ||
function save(language, namespace, data, callback) { | ||
var _this3 = this; | ||
if (!callback) callback = function callback() {}; | ||
var keys = Object.keys(data); | ||
var todo = keys.length; | ||
var done = function done() { | ||
if (! --todo) callback(); | ||
}; | ||
keys.forEach(function (key) { | ||
@@ -152,7 +129,5 @@ _this3.queue.call(_this3, language, namespace, key, data[key], done); | ||
var addPath = this.options.addPath; | ||
if (typeof this.options.addPath === 'function') { | ||
addPath = this.options.addPath(language, namespace); | ||
} | ||
var filename = this.services.interpolator.interpolate(addPath, { | ||
@@ -169,3 +144,2 @@ lng: language, | ||
var namespaces = this.queuedWrites[lng]; | ||
if (lng !== 'locks') { | ||
@@ -182,11 +156,8 @@ for (var ns in namespaces) { | ||
var _this4 = this; | ||
var lock = (0, _utils.getPath)(this.queuedWrites, ['locks', lng, namespace]); | ||
if (lock) return; | ||
var addPath = this.options.addPath; | ||
if (typeof this.options.addPath === 'function') { | ||
addPath = this.options.addPath(lng, namespace); | ||
} | ||
var filename = this.services.interpolator.interpolate(addPath, { | ||
@@ -198,6 +169,4 @@ lng: lng, | ||
(0, _utils.setPath)(this.queuedWrites, [lng, namespace], []); | ||
if (missings.length) { | ||
(0, _utils.setPath)(this.queuedWrites, ['locks', lng, namespace], true); | ||
var proceed = function proceed(_ref2) { | ||
@@ -209,3 +178,2 @@ var data = _ref2.data; | ||
}); | ||
var proceedWrite = function proceedWrite() { | ||
@@ -216,9 +184,6 @@ (0, _utils.setPath)(_this4.queuedWrites, ['locks', lng, namespace], false); | ||
}); | ||
_this4.debouncedWrite(); | ||
}; | ||
(0, _writeFile2.writeFile)(filename, data, _this4.options).then(proceedWrite).catch(proceedWrite); | ||
}; | ||
(0, _readFile.readFile)(filename, this.options).then(proceed).catch(function () { | ||
@@ -242,6 +207,4 @@ return proceed({ | ||
}]); | ||
return Backend; | ||
}(); | ||
Backend.type = 'backend'; | ||
@@ -248,0 +211,0 @@ var _default = Backend; |
"use strict"; | ||
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -10,17 +9,9 @@ value: true | ||
exports.readFileSync = readFileSync; | ||
var _json = _interopRequireDefault(require("./formats/json5.js")); | ||
var _yaml = _interopRequireDefault(require("./formats/yaml.js")); | ||
var fsMod = _interopRequireWildcard(require("./fs.js")); | ||
var pathMod = _interopRequireWildcard(require("./path.js")); | ||
var _extname = _interopRequireDefault(require("./extname.js")); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -32,11 +23,8 @@ | ||
var path = pathMod ? pathMod.default || pathMod : undefined; | ||
var readFileInNodeSync = function readFileInNodeSync(filename) { | ||
var data = fs.readFileSync(filename, 'utf8'); | ||
var stat; | ||
try { | ||
stat = fs.statSync(filename); | ||
} catch (e) {} | ||
return { | ||
@@ -47,3 +35,2 @@ data: data, | ||
}; | ||
var readFileInNode = function readFileInNode(filename) { | ||
@@ -65,3 +52,2 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var readFileInDenoSync = function readFileInDenoSync(filename) { | ||
@@ -72,7 +58,5 @@ var decoder = new TextDecoder('utf-8'); | ||
var stat; | ||
try { | ||
stat = Deno.statSync(filename); | ||
} catch (e) {} | ||
return { | ||
@@ -83,3 +67,2 @@ data: data, | ||
}; | ||
var readFileInDeno = function readFileInDeno(filename) { | ||
@@ -103,17 +86,12 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var replaceLast = function replaceLast(str, find, replace) { | ||
var index = str.lastIndexOf(find); | ||
if (index > -1) { | ||
return str.substring(0, index) + replace + str.substring(index + find.length); | ||
} | ||
return str.toString(); | ||
}; | ||
var parseData = function parseData(extension, data, options) { | ||
data = data.replace(/^\uFEFF/, ''); | ||
var result = {}; | ||
switch (extension) { | ||
@@ -129,10 +107,7 @@ case '.js': | ||
} | ||
result = eval(data); | ||
break; | ||
case '.json5': | ||
result = _json.default.parse(data); | ||
break; | ||
case '.yml': | ||
@@ -142,23 +117,16 @@ case '.yaml': | ||
break; | ||
default: | ||
result = options.parse(data); | ||
} | ||
return result; | ||
}; | ||
var resolvePath = function resolvePath(filename) { | ||
return !path.isAbsolute(filename) && typeof process !== 'undefined' && process.cwd && !fs.existsSync(filename) ? path.join(process.cwd(), filename) : filename; | ||
}; | ||
function readFileSync(filename, options) { | ||
var ext = (0, _extname.default)(filename); | ||
if (['.js', '.ts'].indexOf(ext) > -1 && typeof require !== 'undefined') { | ||
return require(resolvePath(filename)); | ||
} | ||
var data, stat; | ||
if (isDeno) { | ||
@@ -170,7 +138,5 @@ var ret = readFileInDenoSync(filename); | ||
var _ret = readFileInNodeSync(filename); | ||
data = _ret.data; | ||
stat = _ret.stat; | ||
} | ||
return { | ||
@@ -181,3 +147,2 @@ data: parseData(ext, data, options), | ||
} | ||
function readFile(filename) { | ||
@@ -188,3 +153,2 @@ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { | ||
var ext = (0, _extname.default)(filename); | ||
if (['.js', '.ts'].indexOf(ext) > -1 && typeof require !== 'undefined') { | ||
@@ -201,3 +165,2 @@ return new Promise(function (resolve, reject) { | ||
} | ||
var fn = isDeno ? readFileInDeno : readFileInNode; | ||
@@ -207,4 +170,3 @@ return new Promise(function (resolve, reject) { | ||
var data = _ref.data, | ||
stat = _ref.stat; | ||
stat = _ref.stat; | ||
try { | ||
@@ -211,0 +173,0 @@ var ret = parseData(ext, data, options); |
@@ -14,3 +14,2 @@ "use strict"; | ||
var slice = arr.slice; | ||
function defaults(obj) { | ||
@@ -26,3 +25,2 @@ each.call(slice.call(arguments, 1), function (source) { | ||
} | ||
function debounce(func, wait, immediate) { | ||
@@ -33,3 +31,2 @@ var timeout; | ||
var args = arguments; | ||
var later = function later() { | ||
@@ -39,3 +36,2 @@ timeout = null; | ||
}; | ||
var callNow = immediate && !timeout; | ||
@@ -47,3 +43,2 @@ clearTimeout(timeout); | ||
} | ||
function getLastOfPath(object, path, Empty) { | ||
@@ -53,5 +48,3 @@ function cleanKey(key) { | ||
} | ||
var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); | ||
while (stack.length > 1) { | ||
@@ -63,3 +56,2 @@ if (!object) return {}; | ||
} | ||
if (!object) return {}; | ||
@@ -71,16 +63,12 @@ return { | ||
} | ||
function setPath(object, path, newValue) { | ||
var _getLastOfPath = getLastOfPath(object, path, Object), | ||
obj = _getLastOfPath.obj, | ||
k = _getLastOfPath.k; | ||
obj = _getLastOfPath.obj, | ||
k = _getLastOfPath.k; | ||
obj[k] = newValue; | ||
} | ||
function pushPath(object, path, newValue, concat) { | ||
var _getLastOfPath2 = getLastOfPath(object, path, Object), | ||
obj = _getLastOfPath2.obj, | ||
k = _getLastOfPath2.k; | ||
obj = _getLastOfPath2.obj, | ||
k = _getLastOfPath2.k; | ||
obj[k] = obj[k] || []; | ||
@@ -90,10 +78,8 @@ if (concat) obj[k] = obj[k].concat(newValue); | ||
} | ||
function getPath(object, path) { | ||
var _getLastOfPath3 = getLastOfPath(object, path), | ||
obj = _getLastOfPath3.obj, | ||
k = _getLastOfPath3.k; | ||
obj = _getLastOfPath3.obj, | ||
k = _getLastOfPath3.k; | ||
if (!obj) return undefined; | ||
return obj[k]; | ||
} |
"use strict"; | ||
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -12,15 +11,8 @@ value: true | ||
exports.writeFileSync = writeFileSync; | ||
var _json = _interopRequireDefault(require("./formats/json5.js")); | ||
var _yaml = _interopRequireDefault(require("./formats/yaml.js")); | ||
var fsMod = _interopRequireWildcard(require("./fs.js")); | ||
var _extname = _interopRequireDefault(require("./extname.js")); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -38,6 +30,4 @@ | ||
var matchedSlash = true; | ||
for (var i = path.length - 1; i >= 1; --i) { | ||
code = path.charCodeAt(i); | ||
if (code === 47) { | ||
@@ -52,3 +42,2 @@ if (!matchedSlash) { | ||
} | ||
if (end === -1) return hasRoot ? '/' : '.'; | ||
@@ -58,3 +47,2 @@ if (hasRoot && end === 1) return '//'; | ||
} | ||
var writeFileInNodeSync = function writeFileInNodeSync(filename, payload) { | ||
@@ -66,6 +54,4 @@ try { | ||
} catch (err) {} | ||
return fs.writeFileSync(filename, payload, 'utf8'); | ||
}; | ||
var writeFileInNode = function writeFileInNode(filename, payload) { | ||
@@ -82,7 +68,5 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var removeFileInNodeSync = function removeFileInNodeSync(filename) { | ||
return fs.unlinkSync(filename); | ||
}; | ||
var removeFileInNode = function removeFileInNode(filename) { | ||
@@ -95,7 +79,5 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var writeFileInDenoSync = function writeFileInDenoSync(filename, payload) { | ||
var encoder = new TextEncoder(); | ||
var data = encoder.encode(payload); | ||
try { | ||
@@ -106,6 +88,4 @@ Deno.mkdirSync(dirname(filename), { | ||
} catch (err) {} | ||
Deno.writeFileSync(filename, data); | ||
}; | ||
var writeFileInDeno = function writeFileInDeno(filename, payload) { | ||
@@ -124,14 +104,10 @@ var encoder = new TextEncoder(); | ||
}; | ||
var removeFileInDenoSync = function removeFileInDenoSync(filename) { | ||
Deno.removeSync(filename); | ||
}; | ||
var removeFileInDeno = function removeFileInDeno(filename) { | ||
return Deno.remove(filename); | ||
}; | ||
var stringifyData = function stringifyData(extension, data, options) { | ||
var result = ''; | ||
switch (extension) { | ||
@@ -145,9 +121,6 @@ case '.js': | ||
} | ||
break; | ||
case '.json5': | ||
result = _json.default.stringify(data, null, options.ident); | ||
break; | ||
case '.yml': | ||
@@ -159,14 +132,10 @@ case '.yaml': | ||
break; | ||
default: | ||
result = options.stringify(data, null, options.ident); | ||
} | ||
return result; | ||
}; | ||
function writeFileSync(filename, payload, options) { | ||
var ext = (0, _extname.default)(filename); | ||
var data; | ||
try { | ||
@@ -178,3 +147,2 @@ data = stringifyData(ext, payload, options); | ||
} | ||
if (isDeno) { | ||
@@ -186,3 +154,2 @@ return writeFileInDenoSync(filename, data); | ||
} | ||
function writeFile(filename, payload) { | ||
@@ -195,3 +162,2 @@ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { | ||
var data; | ||
try { | ||
@@ -203,7 +169,5 @@ data = stringifyData(ext, payload, options); | ||
} | ||
var fn = isDeno ? writeFileInDeno : writeFileInNode; | ||
return fn(filename, data); | ||
} | ||
function removeFileSync(filename) { | ||
@@ -216,3 +180,2 @@ if (isDeno) { | ||
} | ||
function removeFile(filename) { | ||
@@ -219,0 +182,0 @@ var fn = isDeno ? removeFileInDeno : removeFileInNode; |
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | ||
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; | ||
@@ -43,3 +39,2 @@ var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; | ||
var root; | ||
var parse = function parse(text, reviver) { | ||
@@ -55,8 +50,7 @@ source = String(text); | ||
root = undefined; | ||
do { | ||
token = lex(); | ||
parseStates[parseState](); | ||
} while (token.type !== 'eof'); | ||
if (typeof reviver === 'function') { | ||
@@ -67,13 +61,9 @@ return internalize({ | ||
} | ||
return root; | ||
}; | ||
function internalize(holder, name, reviver) { | ||
var value = holder[name]; | ||
if (value != null && _typeof(value) === 'object') { | ||
for (var _key in value) { | ||
var replacement = internalize(value, _key, reviver); | ||
if (replacement === undefined) { | ||
@@ -86,14 +76,9 @@ delete value[_key]; | ||
} | ||
return reviver.call(holder, name, value); | ||
} | ||
var lexState; | ||
var buffer; | ||
var doubleQuote; | ||
var _sign; | ||
var c; | ||
function lex() { | ||
@@ -104,3 +89,2 @@ lexState = 'default'; | ||
_sign = 1; | ||
for (;;) { | ||
@@ -110,3 +94,2 @@ c = peek(); | ||
var _token = lexStates[lexState](); | ||
if (_token) { | ||
@@ -117,3 +100,2 @@ return _token; | ||
} | ||
function peek() { | ||
@@ -124,6 +106,4 @@ if (source[pos]) { | ||
} | ||
function read() { | ||
var c = peek(); | ||
if (c === '\n') { | ||
@@ -137,10 +117,7 @@ line++; | ||
} | ||
if (c) { | ||
pos += c.length; | ||
} | ||
return c; | ||
} | ||
var lexStates = { | ||
@@ -161,3 +138,2 @@ default: function _default() { | ||
return; | ||
case '/': | ||
@@ -167,3 +143,2 @@ read(); | ||
return; | ||
case undefined: | ||
@@ -173,3 +148,2 @@ read(); | ||
} | ||
if (util.isSpaceSeparator(c)) { | ||
@@ -188,3 +162,2 @@ read(); | ||
return; | ||
case '/': | ||
@@ -195,3 +168,2 @@ read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -205,7 +177,5 @@ }, | ||
return; | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
read(); | ||
@@ -218,3 +188,2 @@ }, | ||
return; | ||
case '/': | ||
@@ -224,7 +193,5 @@ read(); | ||
return; | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
read(); | ||
@@ -242,3 +209,2 @@ lexState = 'multiLineComment'; | ||
return; | ||
case undefined: | ||
@@ -248,3 +214,2 @@ read(); | ||
} | ||
read(); | ||
@@ -257,3 +222,2 @@ }, | ||
return newToken('punctuator', read()); | ||
case 'n': | ||
@@ -263,3 +227,2 @@ read(); | ||
return newToken('null', null); | ||
case 't': | ||
@@ -269,3 +232,2 @@ read(); | ||
return newToken('boolean', true); | ||
case 'f': | ||
@@ -275,3 +237,2 @@ read(); | ||
return newToken('boolean', false); | ||
case '-': | ||
@@ -282,6 +243,4 @@ case '+': | ||
} | ||
lexState = 'sign'; | ||
return; | ||
case '.': | ||
@@ -291,3 +250,2 @@ buffer = read(); | ||
return; | ||
case '0': | ||
@@ -297,3 +255,2 @@ buffer = read(); | ||
return; | ||
case '1': | ||
@@ -311,3 +268,2 @@ case '2': | ||
return; | ||
case 'I': | ||
@@ -317,3 +273,2 @@ read(); | ||
return newToken('numeric', Infinity); | ||
case 'N': | ||
@@ -323,3 +278,2 @@ read(); | ||
return newToken('numeric', NaN); | ||
case '"': | ||
@@ -332,3 +286,2 @@ case "'": | ||
} | ||
throw invalidChar(read()); | ||
@@ -340,6 +293,4 @@ }, | ||
} | ||
read(); | ||
var u = unicodeEscape(); | ||
switch (u) { | ||
@@ -349,3 +300,2 @@ case '$': | ||
break; | ||
default: | ||
@@ -355,6 +305,4 @@ if (!util.isIdStartChar(u)) { | ||
} | ||
break; | ||
} | ||
buffer += u; | ||
@@ -371,3 +319,2 @@ lexState = 'identifierName'; | ||
return; | ||
case '\\': | ||
@@ -378,3 +325,2 @@ read(); | ||
} | ||
if (util.isIdContinueChar(c)) { | ||
@@ -384,3 +330,2 @@ buffer += read(); | ||
} | ||
return newToken('identifier', buffer); | ||
@@ -392,6 +337,4 @@ }, | ||
} | ||
read(); | ||
var u = unicodeEscape(); | ||
switch (u) { | ||
@@ -403,3 +346,2 @@ case '$': | ||
break; | ||
default: | ||
@@ -409,6 +351,4 @@ if (!util.isIdContinueChar(u)) { | ||
} | ||
break; | ||
} | ||
buffer += u; | ||
@@ -423,3 +363,2 @@ lexState = 'identifierName'; | ||
return; | ||
case '0': | ||
@@ -429,3 +368,2 @@ buffer = read(); | ||
return; | ||
case '1': | ||
@@ -443,3 +381,2 @@ case '2': | ||
return; | ||
case 'I': | ||
@@ -449,3 +386,2 @@ read(); | ||
return newToken('numeric', _sign * Infinity); | ||
case 'N': | ||
@@ -456,3 +392,2 @@ read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -466,3 +401,2 @@ }, | ||
return; | ||
case 'e': | ||
@@ -473,3 +407,2 @@ case 'E': | ||
return; | ||
case 'x': | ||
@@ -481,3 +414,2 @@ case 'X': | ||
} | ||
return newToken('numeric', _sign * 0); | ||
@@ -491,3 +423,2 @@ }, | ||
return; | ||
case 'e': | ||
@@ -499,3 +430,2 @@ case 'E': | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -505,3 +435,2 @@ buffer += read(); | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -515,3 +444,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -527,3 +455,2 @@ }, | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -534,3 +461,2 @@ buffer += read(); | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -546,3 +472,2 @@ }, | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -552,3 +477,2 @@ buffer += read(); | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -564,3 +488,2 @@ }, | ||
} | ||
if (util.isDigit(c)) { | ||
@@ -571,3 +494,2 @@ buffer += read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -581,3 +503,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -590,3 +511,2 @@ }, | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -600,3 +520,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -609,3 +528,2 @@ }, | ||
} | ||
return newToken('numeric', _sign * Number(buffer)); | ||
@@ -619,3 +537,2 @@ }, | ||
return; | ||
case '"': | ||
@@ -626,6 +543,4 @@ if (doubleQuote) { | ||
} | ||
buffer += read(); | ||
return; | ||
case "'": | ||
@@ -636,10 +551,7 @@ if (!doubleQuote) { | ||
} | ||
buffer += read(); | ||
return; | ||
case '\n': | ||
case '\r': | ||
throw invalidChar(read()); | ||
case "\u2028": | ||
@@ -649,7 +561,5 @@ case "\u2029": | ||
break; | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
@@ -662,2 +572,3 @@ }, | ||
return newToken('punctuator', read()); | ||
} | ||
@@ -674,3 +585,2 @@ | ||
return; | ||
case '\\': | ||
@@ -680,6 +590,4 @@ read(); | ||
return; | ||
case '}': | ||
return newToken('punctuator', read()); | ||
case '"': | ||
@@ -691,3 +599,2 @@ case "'": | ||
} | ||
if (util.isIdStartChar(c)) { | ||
@@ -698,3 +605,2 @@ buffer += read(); | ||
} | ||
throw invalidChar(read()); | ||
@@ -706,3 +612,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -719,3 +624,2 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
@@ -727,3 +631,2 @@ }, | ||
} | ||
lexState = 'value'; | ||
@@ -737,10 +640,9 @@ }, | ||
} | ||
throw invalidChar(read()); | ||
}, | ||
end: function end() { | ||
throw invalidChar(read()); | ||
} | ||
}; | ||
function newToken(type, value) { | ||
@@ -754,7 +656,5 @@ return { | ||
} | ||
function literal(s) { | ||
var _iterator = _createForOfIteratorHelper(s), | ||
_step; | ||
_step; | ||
try { | ||
@@ -764,7 +664,5 @@ for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var p = peek(); | ||
if (p !== _c) { | ||
throw invalidChar(read()); | ||
} | ||
read(); | ||
@@ -778,6 +676,4 @@ } | ||
} | ||
function escape() { | ||
var c = peek(); | ||
switch (c) { | ||
@@ -787,40 +683,29 @@ case 'b': | ||
return '\b'; | ||
case 'f': | ||
read(); | ||
return '\f'; | ||
case 'n': | ||
read(); | ||
return '\n'; | ||
case 'r': | ||
read(); | ||
return '\r'; | ||
case 't': | ||
read(); | ||
return '\t'; | ||
case 'v': | ||
read(); | ||
return '\v'; | ||
case '0': | ||
read(); | ||
if (util.isDigit(peek())) { | ||
throw invalidChar(read()); | ||
} | ||
return '\0'; | ||
case 'x': | ||
read(); | ||
return hexEscape(); | ||
case 'u': | ||
read(); | ||
return unicodeEscape(); | ||
case '\n': | ||
@@ -831,12 +716,8 @@ case "\u2028": | ||
return ''; | ||
case '\r': | ||
read(); | ||
if (peek() === '\n') { | ||
read(); | ||
} | ||
return ''; | ||
case '1': | ||
@@ -852,46 +733,33 @@ case '2': | ||
throw invalidChar(read()); | ||
case undefined: | ||
throw invalidChar(read()); | ||
} | ||
return read(); | ||
} | ||
function hexEscape() { | ||
var buffer = ''; | ||
var c = peek(); | ||
if (!util.isHexDigit(c)) { | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
c = peek(); | ||
if (!util.isHexDigit(c)) { | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
return String.fromCodePoint(parseInt(buffer, 16)); | ||
} | ||
function unicodeEscape() { | ||
var buffer = ''; | ||
var count = 4; | ||
while (count-- > 0) { | ||
var _c2 = peek(); | ||
if (!util.isHexDigit(_c2)) { | ||
throw invalidChar(read()); | ||
} | ||
buffer += read(); | ||
} | ||
return String.fromCodePoint(parseInt(buffer, 16)); | ||
} | ||
var parseStates = { | ||
@@ -902,3 +770,2 @@ start: function start() { | ||
} | ||
push(); | ||
@@ -913,16 +780,16 @@ }, | ||
return; | ||
case 'punctuator': | ||
case 'punctuator': | ||
pop(); | ||
return; | ||
case 'eof': | ||
throw invalidEOF(); | ||
} | ||
}, | ||
afterPropertyName: function afterPropertyName() { | ||
if (token.type === 'eof') { | ||
throw invalidEOF(); | ||
} | ||
parseState = 'beforePropertyValue'; | ||
@@ -934,3 +801,2 @@ }, | ||
} | ||
push(); | ||
@@ -942,3 +808,2 @@ }, | ||
} | ||
if (token.type === 'punctuator' && token.value === ']') { | ||
@@ -948,10 +813,9 @@ pop(); | ||
} | ||
push(); | ||
}, | ||
afterPropertyValue: function afterPropertyValue() { | ||
if (token.type === 'eof') { | ||
throw invalidEOF(); | ||
} | ||
switch (token.value) { | ||
@@ -961,12 +825,12 @@ case ',': | ||
return; | ||
case '}': | ||
pop(); | ||
} | ||
}, | ||
afterArrayValue: function afterArrayValue() { | ||
if (token.type === 'eof') { | ||
throw invalidEOF(); | ||
} | ||
switch (token.value) { | ||
@@ -976,13 +840,12 @@ case ',': | ||
return; | ||
case ']': | ||
pop(); | ||
} | ||
}, | ||
end: function end() {} | ||
end: function end() { | ||
} | ||
}; | ||
function push() { | ||
var value; | ||
switch (token.type) { | ||
@@ -994,3 +857,2 @@ case 'punctuator': | ||
break; | ||
case '[': | ||
@@ -1000,5 +862,3 @@ value = []; | ||
} | ||
break; | ||
case 'null': | ||
@@ -1010,2 +870,3 @@ case 'boolean': | ||
break; | ||
} | ||
@@ -1017,3 +878,2 @@ | ||
var parent = stack[stack.length - 1]; | ||
if (Array.isArray(parent)) { | ||
@@ -1025,6 +885,4 @@ parent.push(value); | ||
} | ||
if (value !== null && _typeof(value) === 'object') { | ||
stack.push(value); | ||
if (Array.isArray(value)) { | ||
@@ -1037,3 +895,2 @@ parseState = 'beforeArrayValue'; | ||
var current = stack[stack.length - 1]; | ||
if (current == null) { | ||
@@ -1048,7 +905,5 @@ parseState = 'end'; | ||
} | ||
function pop() { | ||
stack.pop(); | ||
var current = stack[stack.length - 1]; | ||
if (current == null) { | ||
@@ -1067,6 +922,4 @@ parseState = 'end'; | ||
} | ||
return syntaxError("JSON5: invalid character '".concat(formatChar(c), "' at ").concat(line, ":").concat(column)); | ||
} | ||
function invalidEOF() { | ||
@@ -1080,7 +933,5 @@ return syntaxError("JSON5: invalid end of input at ".concat(line, ":").concat(column)); | ||
} | ||
function separatorChar(c) { | ||
console.warn("JSON5: '".concat(formatChar(c), "' in strings is not valid ECMAScript; consider escaping")); | ||
} | ||
function formatChar(c) { | ||
@@ -1101,7 +952,5 @@ var replacements = { | ||
}; | ||
if (replacements[c]) { | ||
return replacements[c]; | ||
} | ||
if (c < ' ') { | ||
@@ -1111,6 +960,4 @@ var hexString = c.charCodeAt(0).toString(16); | ||
} | ||
return c; | ||
} | ||
function syntaxError(message) { | ||
@@ -1122,3 +969,2 @@ var err = new SyntaxError(message); | ||
} | ||
var stringify = function stringify(value, replacer, space) { | ||
@@ -1131,3 +977,2 @@ var stack = []; | ||
var quote; | ||
if (replacer != null && _typeof(replacer) === 'object' && !Array.isArray(replacer)) { | ||
@@ -1138,3 +983,2 @@ space = replacer.space; | ||
} | ||
if (typeof replacer === 'function') { | ||
@@ -1144,6 +988,4 @@ replacerFunc = replacer; | ||
propertyList = []; | ||
var _iterator2 = _createForOfIteratorHelper(replacer), | ||
_step2; | ||
_step2; | ||
try { | ||
@@ -1153,3 +995,2 @@ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { | ||
var item = void 0; | ||
if (typeof v === 'string') { | ||
@@ -1160,3 +1001,2 @@ item = v; | ||
} | ||
if (item !== undefined && propertyList.indexOf(item) < 0) { | ||
@@ -1172,3 +1012,2 @@ propertyList.push(item); | ||
} | ||
if (space instanceof Number) { | ||
@@ -1179,3 +1018,2 @@ space = Number(space); | ||
} | ||
if (typeof space === 'number') { | ||
@@ -1189,10 +1027,7 @@ if (space > 0) { | ||
} | ||
return serializeProperty('', { | ||
'': value | ||
}); | ||
function serializeProperty(key, holder) { | ||
var value = holder[key]; | ||
if (value != null) { | ||
@@ -1205,7 +1040,5 @@ if (typeof value.toJSON5 === 'function') { | ||
} | ||
if (replacerFunc) { | ||
value = replacerFunc.call(holder, key, value); | ||
} | ||
if (value instanceof Number) { | ||
@@ -1218,29 +1051,21 @@ value = Number(value); | ||
} | ||
switch (value) { | ||
case null: | ||
return 'null'; | ||
case true: | ||
return 'true'; | ||
case false: | ||
return 'false'; | ||
} | ||
if (typeof value === 'string') { | ||
return quoteString(value, false); | ||
} | ||
if (typeof value === 'number') { | ||
return String(value); | ||
} | ||
if (_typeof(value) === 'object') { | ||
return Array.isArray(value) ? serializeArray(value) : serializeObject(value); | ||
} | ||
return undefined; | ||
} | ||
function quoteString(value) { | ||
@@ -1266,6 +1091,4 @@ var quotes = { | ||
var product = ''; | ||
for (var i = 0; i < value.length; i++) { | ||
var _c3 = value[i]; | ||
switch (_c3) { | ||
@@ -1277,3 +1100,2 @@ case "'": | ||
continue; | ||
case '\0': | ||
@@ -1284,5 +1106,3 @@ if (util.isDigit(value[i + 1])) { | ||
} | ||
} | ||
if (replacements[_c3]) { | ||
@@ -1292,13 +1112,9 @@ product += replacements[_c3]; | ||
} | ||
if (_c3 < ' ') { | ||
var hexString = _c3.charCodeAt(0).toString(16); | ||
product += '\\x' + ('00' + hexString).substring(hexString.length); | ||
continue; | ||
} | ||
product += _c3; | ||
} | ||
var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { | ||
@@ -1310,3 +1126,2 @@ return quotes[a] < quotes[b] ? a : b; | ||
} | ||
function serializeObject(value) { | ||
@@ -1316,3 +1131,2 @@ if (stack.indexOf(value) >= 0) { | ||
} | ||
stack.push(value); | ||
@@ -1323,6 +1137,4 @@ var stepback = indent; | ||
var partial = []; | ||
var _iterator3 = _createForOfIteratorHelper(keys), | ||
_step3; | ||
_step3; | ||
try { | ||
@@ -1332,10 +1144,7 @@ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { | ||
var propertyString = serializeProperty(_key2, value); | ||
if (propertyString !== undefined) { | ||
var member = serializeKey(_key2) + ':'; | ||
if (gap !== '') { | ||
member += ' '; | ||
} | ||
member += propertyString; | ||
@@ -1350,5 +1159,3 @@ partial.push(member); | ||
} | ||
var final; | ||
if (partial.length === 0) { | ||
@@ -1358,3 +1165,2 @@ final = '{}'; | ||
var properties; | ||
if (gap === '') { | ||
@@ -1369,3 +1175,2 @@ properties = partial.join(','); | ||
} | ||
stack.pop(); | ||
@@ -1375,3 +1180,2 @@ indent = stepback; | ||
} | ||
function serializeKey(key) { | ||
@@ -1381,9 +1185,6 @@ if (key.length === 0) { | ||
} | ||
var firstChar = String.fromCodePoint(key.codePointAt(0)); | ||
if (!util.isIdStartChar(firstChar)) { | ||
return quoteString(key, true); | ||
} | ||
for (var i = firstChar.length; i < key.length; i++) { | ||
@@ -1394,6 +1195,4 @@ if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { | ||
} | ||
return key; | ||
} | ||
function serializeArray(value) { | ||
@@ -1403,3 +1202,2 @@ if (stack.indexOf(value) >= 0) { | ||
} | ||
stack.push(value); | ||
@@ -1409,3 +1207,2 @@ var stepback = indent; | ||
var partial = []; | ||
for (var i = 0; i < value.length; i++) { | ||
@@ -1415,5 +1212,3 @@ var propertyString = serializeProperty(String(i), value); | ||
} | ||
var final; | ||
if (partial.length === 0) { | ||
@@ -1427,9 +1222,6 @@ final = '[]'; | ||
var separator = ',\n' + indent; | ||
var _properties = partial.join(separator); | ||
final = '[\n' + indent + _properties + ',\n' + stepback + ']'; | ||
} | ||
} | ||
stack.pop(); | ||
@@ -1440,3 +1232,2 @@ indent = stepback; | ||
}; | ||
var JSON5 = { | ||
@@ -1443,0 +1234,0 @@ parse: parse, |
if (typeof require !== 'undefined') { | ||
var f = require('fs'); | ||
if (f.default) f = f.default; | ||
@@ -5,0 +4,0 @@ exports.default = f; |
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } | ||
import { defaults, debounce, getPath, setPath, pushPath } from './utils.js'; | ||
import { readFile, readFileSync } from './readFile.js'; | ||
import { writeFile as _writeFile, removeFile as _removeFile } from './writeFile.js'; | ||
var getDefaults = function getDefaults() { | ||
@@ -20,3 +16,2 @@ return { | ||
}; | ||
var Backend = function () { | ||
@@ -26,5 +21,3 @@ function Backend(services) { | ||
var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
_classCallCheck(this, Backend); | ||
this.services = services; | ||
@@ -36,3 +29,2 @@ this.options = options; | ||
} | ||
_createClass(Backend, [{ | ||
@@ -53,9 +45,6 @@ key: "init", | ||
var _this = this; | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath(language, namespace); | ||
} | ||
var filename = this.services.interpolator.interpolate(loadPath, { | ||
@@ -65,9 +54,7 @@ lng: language, | ||
}); | ||
if (this.allOptions.initImmediate === false) { | ||
try { | ||
var _readFileSync = readFileSync(filename, this.options), | ||
data = _readFileSync.data, | ||
stat = _readFileSync.stat; | ||
data = _readFileSync.data, | ||
stat = _readFileSync.stat; | ||
if (this.options.expirationTime && stat && stat.mtime && stat.mtime.getTime() + this.options.expirationTime < Date.now()) { | ||
@@ -85,10 +72,7 @@ this.removeFile(language, namespace); | ||
} | ||
readFile(filename, this.options).then(function (_ref) { | ||
var data = _ref.data, | ||
stat = _ref.stat; | ||
stat = _ref.stat; | ||
if (_this.options.expirationTime && stat && stat.mtime && stat.mtime.getTime() + _this.options.expirationTime < Date.now()) { | ||
_this.removeFile(language, namespace); | ||
return callback(new Error('File expired!'), false); | ||
@@ -106,11 +90,8 @@ } | ||
var _this2 = this; | ||
if (!callback) callback = function callback() {}; | ||
if (typeof languages === 'string') languages = [languages]; | ||
var todo = languages.length; | ||
var done = function done() { | ||
if (! --todo) callback(); | ||
}; | ||
languages.forEach(function (lng) { | ||
@@ -120,15 +101,14 @@ _this2.queue.call(_this2, lng, namespace, key, fallbackValue, done); | ||
} | ||
}, { | ||
key: "save", | ||
value: function save(language, namespace, data, callback) { | ||
value: | ||
function save(language, namespace, data, callback) { | ||
var _this3 = this; | ||
if (!callback) callback = function callback() {}; | ||
var keys = Object.keys(data); | ||
var todo = keys.length; | ||
var done = function done() { | ||
if (! --todo) callback(); | ||
}; | ||
keys.forEach(function (key) { | ||
@@ -142,7 +122,5 @@ _this3.queue.call(_this3, language, namespace, key, data[key], done); | ||
var addPath = this.options.addPath; | ||
if (typeof this.options.addPath === 'function') { | ||
addPath = this.options.addPath(language, namespace); | ||
} | ||
var filename = this.services.interpolator.interpolate(addPath, { | ||
@@ -152,3 +130,2 @@ lng: language, | ||
}); | ||
_removeFile(filename, this.options).then(function () {}).catch(function () {}); | ||
@@ -161,3 +138,2 @@ } | ||
var namespaces = this.queuedWrites[lng]; | ||
if (lng !== 'locks') { | ||
@@ -174,11 +150,8 @@ for (var ns in namespaces) { | ||
var _this4 = this; | ||
var lock = getPath(this.queuedWrites, ['locks', lng, namespace]); | ||
if (lock) return; | ||
var addPath = this.options.addPath; | ||
if (typeof this.options.addPath === 'function') { | ||
addPath = this.options.addPath(lng, namespace); | ||
} | ||
var filename = this.services.interpolator.interpolate(addPath, { | ||
@@ -190,6 +163,4 @@ lng: lng, | ||
setPath(this.queuedWrites, [lng, namespace], []); | ||
if (missings.length) { | ||
setPath(this.queuedWrites, ['locks', lng, namespace], true); | ||
var proceed = function proceed(_ref2) { | ||
@@ -201,3 +172,2 @@ var data = _ref2.data; | ||
}); | ||
var proceedWrite = function proceedWrite() { | ||
@@ -208,9 +178,6 @@ setPath(_this4.queuedWrites, ['locks', lng, namespace], false); | ||
}); | ||
_this4.debouncedWrite(); | ||
}; | ||
_writeFile(filename, data, _this4.options).then(proceedWrite).catch(proceedWrite); | ||
}; | ||
readFile(filename, this.options).then(proceed).catch(function () { | ||
@@ -234,7 +201,5 @@ return proceed({ | ||
}]); | ||
return Backend; | ||
}(); | ||
Backend.type = 'backend'; | ||
export default Backend; |
if (typeof require !== 'undefined') { | ||
var path = require('path'); | ||
if (path.default) path = path.default; | ||
@@ -5,0 +4,0 @@ exports.default = path; |
@@ -10,11 +10,8 @@ import JSON5 from './formats/json5.js'; | ||
var path = pathMod ? pathMod.default || pathMod : undefined; | ||
var readFileInNodeSync = function readFileInNodeSync(filename) { | ||
var data = fs.readFileSync(filename, 'utf8'); | ||
var stat; | ||
try { | ||
stat = fs.statSync(filename); | ||
} catch (e) {} | ||
return { | ||
@@ -25,3 +22,2 @@ data: data, | ||
}; | ||
var readFileInNode = function readFileInNode(filename) { | ||
@@ -43,3 +39,2 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var readFileInDenoSync = function readFileInDenoSync(filename) { | ||
@@ -50,7 +45,5 @@ var decoder = new TextDecoder('utf-8'); | ||
var stat; | ||
try { | ||
stat = Deno.statSync(filename); | ||
} catch (e) {} | ||
return { | ||
@@ -61,3 +54,2 @@ data: data, | ||
}; | ||
var readFileInDeno = function readFileInDeno(filename) { | ||
@@ -81,17 +73,12 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var replaceLast = function replaceLast(str, find, replace) { | ||
var index = str.lastIndexOf(find); | ||
if (index > -1) { | ||
return str.substring(0, index) + replace + str.substring(index + find.length); | ||
} | ||
return str.toString(); | ||
}; | ||
var parseData = function parseData(extension, data, options) { | ||
data = data.replace(/^\uFEFF/, ''); | ||
var result = {}; | ||
switch (extension) { | ||
@@ -107,10 +94,7 @@ case '.js': | ||
} | ||
result = eval(data); | ||
break; | ||
case '.json5': | ||
result = JSON5.parse(data); | ||
break; | ||
case '.yml': | ||
@@ -120,23 +104,16 @@ case '.yaml': | ||
break; | ||
default: | ||
result = options.parse(data); | ||
} | ||
return result; | ||
}; | ||
var resolvePath = function resolvePath(filename) { | ||
return !path.isAbsolute(filename) && typeof process !== 'undefined' && process.cwd && !fs.existsSync(filename) ? path.join(process.cwd(), filename) : filename; | ||
}; | ||
export function readFileSync(filename, options) { | ||
var ext = extname(filename); | ||
if (['.js', '.ts'].indexOf(ext) > -1 && typeof require !== 'undefined') { | ||
return require(resolvePath(filename)); | ||
} | ||
var data, stat; | ||
if (isDeno) { | ||
@@ -148,7 +125,5 @@ var ret = readFileInDenoSync(filename); | ||
var _ret = readFileInNodeSync(filename); | ||
data = _ret.data; | ||
stat = _ret.stat; | ||
} | ||
return { | ||
@@ -164,3 +139,2 @@ data: parseData(ext, data, options), | ||
var ext = extname(filename); | ||
if (['.js', '.ts'].indexOf(ext) > -1 && typeof require !== 'undefined') { | ||
@@ -177,3 +151,2 @@ return new Promise(function (resolve, reject) { | ||
} | ||
var fn = isDeno ? readFileInDeno : readFileInNode; | ||
@@ -183,4 +156,3 @@ return new Promise(function (resolve, reject) { | ||
var data = _ref.data, | ||
stat = _ref.stat; | ||
stat = _ref.stat; | ||
try { | ||
@@ -187,0 +159,0 @@ var ret = parseData(ext, data, options); |
@@ -19,3 +19,2 @@ var arr = []; | ||
var args = arguments; | ||
var later = function later() { | ||
@@ -25,3 +24,2 @@ timeout = null; | ||
}; | ||
var callNow = immediate && !timeout; | ||
@@ -33,3 +31,2 @@ clearTimeout(timeout); | ||
} | ||
function getLastOfPath(object, path, Empty) { | ||
@@ -39,5 +36,3 @@ function cleanKey(key) { | ||
} | ||
var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); | ||
while (stack.length > 1) { | ||
@@ -49,3 +44,2 @@ if (!object) return {}; | ||
} | ||
if (!object) return {}; | ||
@@ -57,8 +51,6 @@ return { | ||
} | ||
export function setPath(object, path, newValue) { | ||
var _getLastOfPath = getLastOfPath(object, path, Object), | ||
obj = _getLastOfPath.obj, | ||
k = _getLastOfPath.k; | ||
obj = _getLastOfPath.obj, | ||
k = _getLastOfPath.k; | ||
obj[k] = newValue; | ||
@@ -68,5 +60,4 @@ } | ||
var _getLastOfPath2 = getLastOfPath(object, path, Object), | ||
obj = _getLastOfPath2.obj, | ||
k = _getLastOfPath2.k; | ||
obj = _getLastOfPath2.obj, | ||
k = _getLastOfPath2.k; | ||
obj[k] = obj[k] || []; | ||
@@ -78,7 +69,6 @@ if (concat) obj[k] = obj[k].concat(newValue); | ||
var _getLastOfPath3 = getLastOfPath(object, path), | ||
obj = _getLastOfPath3.obj, | ||
k = _getLastOfPath3.k; | ||
obj = _getLastOfPath3.obj, | ||
k = _getLastOfPath3.k; | ||
if (!obj) return undefined; | ||
return obj[k]; | ||
} |
@@ -15,6 +15,4 @@ import JSON5 from './formats/json5.js'; | ||
var matchedSlash = true; | ||
for (var i = path.length - 1; i >= 1; --i) { | ||
code = path.charCodeAt(i); | ||
if (code === 47) { | ||
@@ -29,3 +27,2 @@ if (!matchedSlash) { | ||
} | ||
if (end === -1) return hasRoot ? '/' : '.'; | ||
@@ -35,3 +32,2 @@ if (hasRoot && end === 1) return '//'; | ||
} | ||
var writeFileInNodeSync = function writeFileInNodeSync(filename, payload) { | ||
@@ -43,6 +39,4 @@ try { | ||
} catch (err) {} | ||
return fs.writeFileSync(filename, payload, 'utf8'); | ||
}; | ||
var writeFileInNode = function writeFileInNode(filename, payload) { | ||
@@ -59,7 +53,5 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var removeFileInNodeSync = function removeFileInNodeSync(filename) { | ||
return fs.unlinkSync(filename); | ||
}; | ||
var removeFileInNode = function removeFileInNode(filename) { | ||
@@ -72,7 +64,5 @@ return new Promise(function (resolve, reject) { | ||
}; | ||
var writeFileInDenoSync = function writeFileInDenoSync(filename, payload) { | ||
var encoder = new TextEncoder(); | ||
var data = encoder.encode(payload); | ||
try { | ||
@@ -83,6 +73,4 @@ Deno.mkdirSync(dirname(filename), { | ||
} catch (err) {} | ||
Deno.writeFileSync(filename, data); | ||
}; | ||
var writeFileInDeno = function writeFileInDeno(filename, payload) { | ||
@@ -101,14 +89,10 @@ var encoder = new TextEncoder(); | ||
}; | ||
var removeFileInDenoSync = function removeFileInDenoSync(filename) { | ||
Deno.removeSync(filename); | ||
}; | ||
var removeFileInDeno = function removeFileInDeno(filename) { | ||
return Deno.remove(filename); | ||
}; | ||
var stringifyData = function stringifyData(extension, data, options) { | ||
var result = ''; | ||
switch (extension) { | ||
@@ -122,9 +106,6 @@ case '.js': | ||
} | ||
break; | ||
case '.json5': | ||
result = JSON5.stringify(data, null, options.ident); | ||
break; | ||
case '.yml': | ||
@@ -136,14 +117,10 @@ case '.yaml': | ||
break; | ||
default: | ||
result = options.stringify(data, null, options.ident); | ||
} | ||
return result; | ||
}; | ||
export function writeFileSync(filename, payload, options) { | ||
var ext = extname(filename); | ||
var data; | ||
try { | ||
@@ -155,3 +132,2 @@ data = stringifyData(ext, payload, options); | ||
} | ||
if (isDeno) { | ||
@@ -170,3 +146,2 @@ return writeFileInDenoSync(filename, data); | ||
var data; | ||
try { | ||
@@ -178,3 +153,2 @@ data = stringifyData(ext, payload, options); | ||
} | ||
var fn = isDeno ? writeFileInDeno : writeFileInNode; | ||
@@ -181,0 +155,0 @@ return fn(filename, data); |
{ | ||
"name": "i18next-fs-backend", | ||
"version": "1.1.5", | ||
"version": "1.2.0", | ||
"private": false, | ||
@@ -10,2 +10,3 @@ "type": "module", | ||
".": { | ||
"types": "./index.d.ts", | ||
"require": "./cjs/index.js", | ||
@@ -15,5 +16,7 @@ "default": "./esm/index.js" | ||
"./cjs": { | ||
"types": "./index.d.ts", | ||
"default": "./cjs/index.js" | ||
}, | ||
"./esm": { | ||
"types": "./index.d.ts", | ||
"default": "./esm/index.js" | ||
@@ -23,20 +26,24 @@ } | ||
"module": "./esm/index.js", | ||
"types": "./index.d.ts", | ||
"devDependencies": { | ||
"@babel/cli": "7.18.10", | ||
"@babel/core": "7.18.10", | ||
"@babel/preset-env": "7.18.10", | ||
"@babel/cli": "7.19.3", | ||
"@babel/core": "7.19.6", | ||
"@babel/preset-env": "7.19.4", | ||
"babel-plugin-add-module-exports": "1.0.4", | ||
"eslint": "8.21.0", | ||
"dtslint": "^4.2.1", | ||
"eslint": "8.26.0", | ||
"eslint-config-standard": "17.0.0", | ||
"eslint-plugin-import": "2.26.0", | ||
"eslint-plugin-n": "15.2.4", | ||
"eslint-plugin-promise": "6.0.0", | ||
"eslint-plugin-n": "15.3.0", | ||
"eslint-plugin-promise": "6.1.1", | ||
"eslint-plugin-require-path-exists": "1.1.9", | ||
"eslint-plugin-standard": "5.0.0", | ||
"expect.js": "0.3.1", | ||
"i18next": "21.8.16", | ||
"i18next": "21.x", | ||
"js-yaml": "4.1.0", | ||
"json5": "2.2.1", | ||
"mocha": "10.0.0", | ||
"uglify-js": "3.16.3" | ||
"mocha": "10.1.0", | ||
"tslint": "^5.20.1", | ||
"typescript": "^4.8.4", | ||
"uglify-js": "3.17.4" | ||
}, | ||
@@ -67,3 +74,4 @@ "description": "i18next-fs-backend is a backend layer for i18next using in Node.js and for Deno to load translations from the filesystem.", | ||
"build": "npm run compile", | ||
"test": "npm run lint && npm run build && mocha test -R spec --exit --experimental-modules", | ||
"test": "npm run lint && npm run build && mocha test -R spec --exit --experimental-modules && npm run test:typescript", | ||
"test:typescript": "tslint --project tsconfig.json", | ||
"test:deno": "deno test test/deno/*.js --allow-read --allow-write --no-check", | ||
@@ -70,0 +78,0 @@ "preversion": "npm run test && npm run build && git push", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
36
13814
486439
20