indexeddbshim 17.0.0 → 17.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -0
- package/badges/licenses-badge-dev.svg +1 -1
- package/badges/licenses-badge.svg +1 -1
- package/dist/CFG.d.ts +1 -0
- package/dist/CFG.d.ts.map +1 -1
- package/dist/DOMException.d.ts.map +1 -1
- package/dist/IDBCursor.d.ts +25 -18
- package/dist/IDBCursor.d.ts.map +1 -1
- package/dist/IDBFactory.d.ts +19 -19
- package/dist/IDBFactory.d.ts.map +1 -1
- package/dist/IDBIndex.d.ts.map +1 -1
- package/dist/IDBKeyRange.d.ts +5 -5
- package/dist/IDBKeyRange.d.ts.map +1 -1
- package/dist/IDBTransaction.d.ts +24 -3
- package/dist/IDBTransaction.d.ts.map +1 -1
- package/dist/Key.d.ts +41 -41
- package/dist/Key.d.ts.map +1 -1
- package/dist/indexeddbshim-Key.js +88 -69
- package/dist/indexeddbshim-Key.js.map +1 -1
- package/dist/indexeddbshim-Key.min.js +2 -2
- package/dist/indexeddbshim-Key.min.js.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +1682 -1056
- package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers.js +886 -663
- package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers.min.js +4 -4
- package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
- package/dist/indexeddbshim-node.cjs +1682 -1056
- package/dist/indexeddbshim-node.cjs.map +1 -1
- package/dist/indexeddbshim-noninvasive.js +886 -663
- package/dist/indexeddbshim-noninvasive.js.map +1 -1
- package/dist/indexeddbshim-noninvasive.min.js +4 -4
- package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
- package/dist/indexeddbshim.js +890 -660
- package/dist/indexeddbshim.js.map +1 -1
- package/dist/indexeddbshim.min.js +4 -4
- package/dist/indexeddbshim.min.js.map +1 -1
- package/dist/node-UnicodeIdentifiers.d.ts.map +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/nodeSQLiteDatabase.d.ts +65 -0
- package/dist/nodeSQLiteDatabase.d.ts.map +1 -0
- package/dist/nodeWebSQL.d.ts.map +1 -1
- package/dist/util.d.ts +5 -0
- package/dist/util.d.ts.map +1 -1
- package/package.json +22 -18
- package/src/CFG.js +3 -0
- package/src/DOMException.js +10 -10
- package/src/IDBCursor.js +152 -102
- package/src/IDBFactory.js +30 -26
- package/src/IDBIndex.js +1 -2
- package/src/IDBKeyRange.js +5 -5
- package/src/IDBTransaction.js +35 -5
- package/src/Key.js +63 -55
- package/src/node-UnicodeIdentifiers.js +5 -1
- package/src/node.js +5 -1
- package/src/nodeSQLiteDatabase.js +174 -0
- package/src/nodeWebSQL.js +1 -3
- package/src/util.js +62 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! indexeddbshim - v17.
|
|
1
|
+
/*! indexeddbshim - v17.2.0 - 8/18/2026 */
|
|
2
2
|
|
|
3
3
|
(function (factory) {
|
|
4
4
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
function _createClass(e, r, t) {
|
|
61
|
-
return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
|
|
61
|
+
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
|
|
62
62
|
writable: false
|
|
63
63
|
}), e;
|
|
64
64
|
}
|
|
@@ -342,12 +342,12 @@
|
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
|
|
345
|
-
var _templateObject, _templateObject2;
|
|
345
|
+
var _templateObject$1, _templateObject2$1;
|
|
346
346
|
// ID_Start (includes Other_ID_Start)
|
|
347
|
-
var UnicodeIDStart = String.raw(_templateObject || (_templateObject = _taggedTemplateLiteral(["(?:[$A-Z_a-z\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\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\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-\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\u2118-\u211D\u2124\u2126\u2128\u212A-\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\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\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\uDF30-\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\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\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]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\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]|\uD87E[\uDC00-\uDE1D])"], ["(?:[$A-Z_a-z\\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\\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\\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-\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\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\\uDF30-\\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\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\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]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\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]|\\uD87E[\\uDC00-\\uDE1D])"])));
|
|
347
|
+
var UnicodeIDStart = String.raw(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["(?:[$A-Z_a-z\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\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\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-\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\u2118-\u211D\u2124\u2126\u2128\u212A-\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\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\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\uDF30-\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\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\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]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\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]|\uD87E[\uDC00-\uDE1D])"], ["(?:[$A-Z_a-z\\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\\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\\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-\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\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\\uDF30-\\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\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\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]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\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]|\\uD87E[\\uDC00-\\uDE1D])"])));
|
|
348
348
|
|
|
349
349
|
// ID_Continue (includes Other_ID_Continue)
|
|
350
|
-
var UnicodeIDContinue = String.raw(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["(?:[$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\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\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\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-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\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\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\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]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF])"], ["(?:[$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\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\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\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-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\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\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\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]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF])"])));
|
|
350
|
+
var UnicodeIDContinue = String.raw(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["(?:[$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\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\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\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-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\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\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\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]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF])"], ["(?:[$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\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\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\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-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\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\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\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]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF])"])));
|
|
351
351
|
|
|
352
352
|
var UnicodeIdentifiers = /*#__PURE__*/Object.freeze({
|
|
353
353
|
__proto__: null,
|
|
@@ -1327,6 +1327,7 @@
|
|
|
1327
1327
|
* sqlBusyTimeout: number,
|
|
1328
1328
|
* sqlTrace: () => void,
|
|
1329
1329
|
* sqlProfile: () => void,
|
|
1330
|
+
* escapeNULForSQLiteStatements: boolean,
|
|
1330
1331
|
* createIndexes: boolean
|
|
1331
1332
|
* }} ConfigValues
|
|
1332
1333
|
*/
|
|
@@ -1481,8 +1482,8 @@
|
|
|
1481
1482
|
// Callback not used by default
|
|
1482
1483
|
'sqlProfile',
|
|
1483
1484
|
// Callback not used by default
|
|
1484
|
-
|
|
1485
|
-
'createIndexes'].forEach(function (prop) {
|
|
1485
|
+
// Defaults to true except in Node builds where we can preserve literal NUL with better-sqlite3
|
|
1486
|
+
'escapeNULForSQLiteStatements', 'createIndexes'].forEach(function (prop) {
|
|
1486
1487
|
/** @type {(val: any) => void} */
|
|
1487
1488
|
var validator;
|
|
1488
1489
|
if (Array.isArray(prop)) {
|
|
@@ -1563,7 +1564,8 @@
|
|
|
1563
1564
|
* @returns {string}
|
|
1564
1565
|
*/
|
|
1565
1566
|
function escapeSQLiteStatement(arg) {
|
|
1566
|
-
|
|
1567
|
+
var escaped = arg.replaceAll('^', '^^');
|
|
1568
|
+
return escapeUnmatchedSurrogates(CFG.escapeNULForSQLiteStatements === false ? escaped : escaped.replaceAll('\0', '^0'));
|
|
1567
1569
|
}
|
|
1568
1570
|
|
|
1569
1571
|
/**
|
|
@@ -1571,7 +1573,11 @@
|
|
|
1571
1573
|
* @returns {string}
|
|
1572
1574
|
*/
|
|
1573
1575
|
function unescapeSQLiteResponse(arg) {
|
|
1574
|
-
|
|
1576
|
+
var unescaped = unescapeUnmatchedSurrogates(arg);
|
|
1577
|
+
if (CFG.escapeNULForSQLiteStatements === false) {
|
|
1578
|
+
return unescaped.replaceAll('^^', '^');
|
|
1579
|
+
}
|
|
1580
|
+
return unescaped.replaceAll(/(\^+)0/g, function (_, esc) {
|
|
1575
1581
|
return esc.length % 2 ? esc.slice(1) + '\0' : _;
|
|
1576
1582
|
}).replaceAll('^^', '^');
|
|
1577
1583
|
}
|
|
@@ -1972,6 +1978,56 @@
|
|
|
1972
1978
|
return v === null || v === undefined;
|
|
1973
1979
|
}
|
|
1974
1980
|
|
|
1981
|
+
/**
|
|
1982
|
+
* Cursor/request continuation chains can call each other synchronously
|
|
1983
|
+
* (e.g. walking a large prefetched buffer, or advancing many interleaved
|
|
1984
|
+
* cursors in one transaction) which, for large enough record counts, can
|
|
1985
|
+
* exceed the JS engine's call stack ("Maximum call stack size exceeded").
|
|
1986
|
+
*
|
|
1987
|
+
* This can't be fixed by deferring continuations to a microtask/macrotask:
|
|
1988
|
+
* the transaction machinery synchronously checks (once the current call
|
|
1989
|
+
* stack unwinds) whether there are any pending requests left in order to
|
|
1990
|
+
* decide it's safe to commit; deferring a continuation opens a real gap in
|
|
1991
|
+
* which that check runs first and the transaction completes prematurely,
|
|
1992
|
+
* with the deferred continuation then acting on an already-finished
|
|
1993
|
+
* transaction (a hang, since it can never resolve).
|
|
1994
|
+
*
|
|
1995
|
+
* Instead, this implements a true trampoline: the first call starts a
|
|
1996
|
+
* synchronous work queue and drains it in a flat loop; any call made while
|
|
1997
|
+
* already draining (i.e. a continuation triggering another continuation)
|
|
1998
|
+
* is simply appended to that same queue and returns immediately instead of
|
|
1999
|
+
* recursing. This keeps everything synchronous (so no completion-check
|
|
2000
|
+
* race is introduced) while preventing the call stack from growing with
|
|
2001
|
+
* each successive continuation.
|
|
2002
|
+
*/
|
|
2003
|
+
var continuationState = {
|
|
2004
|
+
/** @type {Array<() => void>|null} */
|
|
2005
|
+
queue: null
|
|
2006
|
+
};
|
|
2007
|
+
|
|
2008
|
+
/**
|
|
2009
|
+
* @param {() => void} fn
|
|
2010
|
+
* @returns {void}
|
|
2011
|
+
*/
|
|
2012
|
+
function runContinuationSafely(fn) {
|
|
2013
|
+
if (continuationState.queue) {
|
|
2014
|
+
continuationState.queue.push(fn);
|
|
2015
|
+
return;
|
|
2016
|
+
}
|
|
2017
|
+
var queue = [fn];
|
|
2018
|
+
continuationState.queue = queue;
|
|
2019
|
+
try {
|
|
2020
|
+
while (queue.length) {
|
|
2021
|
+
var next = /** @type {() => void} */queue.shift();
|
|
2022
|
+
next();
|
|
2023
|
+
}
|
|
2024
|
+
} finally {
|
|
2025
|
+
// Ensure a thrown exception can't leave the queue permanently
|
|
2026
|
+
// stuck (which would silently swallow all future continuations).
|
|
2027
|
+
continuationState.queue = null;
|
|
2028
|
+
}
|
|
2029
|
+
}
|
|
2030
|
+
|
|
1975
2031
|
/**
|
|
1976
2032
|
* @typedef {Error} DebuggingError
|
|
1977
2033
|
*/
|
|
@@ -2442,11 +2498,11 @@
|
|
|
2442
2498
|
// eslint-disable-next-line @stylistic/operator-linebreak -- Need JSDoc
|
|
2443
2499
|
?
|
|
2444
2500
|
/**
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2501
|
+
* @param {string} name
|
|
2502
|
+
* @param {string} message
|
|
2503
|
+
* @param {ErrorLike} [error]
|
|
2504
|
+
* @returns {DOMException}
|
|
2505
|
+
*/
|
|
2450
2506
|
function (name, message, error) {
|
|
2451
2507
|
logError(name, message, error);
|
|
2452
2508
|
return createNativeDOMException(name, message);
|
|
@@ -2454,11 +2510,11 @@
|
|
|
2454
2510
|
// eslint-disable-next-line @stylistic/operator-linebreak -- Need JSDoc
|
|
2455
2511
|
:
|
|
2456
2512
|
/**
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2513
|
+
* @param {string} name
|
|
2514
|
+
* @param {string} message
|
|
2515
|
+
* @param {ErrorLike} [error]
|
|
2516
|
+
* @returns {Error}
|
|
2517
|
+
*/
|
|
2462
2518
|
function (name, message, error) {
|
|
2463
2519
|
logError(name, message, error);
|
|
2464
2520
|
return createNonNativeDOMException(name, message);
|
|
@@ -2653,16 +2709,15 @@
|
|
|
2653
2709
|
/* eslint-disable promise/prefer-await-to-callbacks -- Needed for API */
|
|
2654
2710
|
/* eslint-disable promise/catch-or-return, n/callback-return,
|
|
2655
2711
|
promise/always-return -- Not needed */
|
|
2656
|
-
/* eslint-disable unicorn/no-this-assignment -- Clarity */
|
|
2657
2712
|
// Since [immediate](https://github.com/calvinmetcalf/immediate) is
|
|
2658
2713
|
// not doing the trick for our WebSQL transactions (at least in Node),
|
|
2659
2714
|
// we are forced to make the promises run fully synchronously.
|
|
2660
2715
|
|
|
2661
|
-
|
|
2662
|
-
|
|
2716
|
+
/* eslint-disable jsdoc/reject-any-type -- Truly arbitrary */
|
|
2663
2717
|
/**
|
|
2664
2718
|
* @typedef {any} ArbitraryValue
|
|
2665
2719
|
*/
|
|
2720
|
+
/* eslint-enable jsdoc/reject-any-type -- Truly arbitrary */
|
|
2666
2721
|
|
|
2667
2722
|
/**
|
|
2668
2723
|
* @callback Resolve
|
|
@@ -2722,209 +2777,235 @@
|
|
|
2722
2777
|
REJECTED = 1;
|
|
2723
2778
|
|
|
2724
2779
|
/**
|
|
2725
|
-
*
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
* reject: (reason?: any) => void
|
|
2729
|
-
* ) => void} fn
|
|
2730
|
-
*/
|
|
2731
|
-
function SyncPromise(fn) {
|
|
2732
|
-
var that = this;
|
|
2733
|
-
// Value, this will be set to either a resolved value or rejected reason
|
|
2734
|
-
that.v = 0;
|
|
2735
|
-
// State of the promise
|
|
2736
|
-
that.s = PENDING;
|
|
2737
|
-
// Callbacks c[0] is fulfillment and c[1] contains rejection callbacks
|
|
2738
|
-
/** @type {Callbacks|null} */
|
|
2739
|
-
that.c = [[], []];
|
|
2780
|
+
*
|
|
2781
|
+
*/
|
|
2782
|
+
var SyncPromise = /*#__PURE__*/function () {
|
|
2740
2783
|
/**
|
|
2741
|
-
*
|
|
2742
|
-
*
|
|
2743
|
-
*
|
|
2744
|
-
*
|
|
2784
|
+
* @param {(
|
|
2785
|
+
* resolve: (value: ArbitraryValue | PromiseLike<ArbitraryValue>) => void,
|
|
2786
|
+
* reject: (reason?: ArbitraryValue) => void
|
|
2787
|
+
* ) => void} fn
|
|
2745
2788
|
*/
|
|
2746
|
-
function
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
}
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2789
|
+
function SyncPromise(fn) {
|
|
2790
|
+
var _this = this;
|
|
2791
|
+
_classCallCheck(this, SyncPromise);
|
|
2792
|
+
// Value, this will be set to either a resolved value or rejected reason
|
|
2793
|
+
_defineProperty(this, "v", 0);
|
|
2794
|
+
// State of the promise
|
|
2795
|
+
this.s = PENDING;
|
|
2796
|
+
// Callbacks c[0] is fulfillment and c[1] contains rejection callbacks
|
|
2797
|
+
/** @type {Callbacks|null} */
|
|
2798
|
+
this.c = [[], []];
|
|
2799
|
+
/**
|
|
2800
|
+
*
|
|
2801
|
+
* @param {ArbitraryValue} val
|
|
2802
|
+
* @param {0|1} state
|
|
2803
|
+
* @returns {void}
|
|
2804
|
+
*/
|
|
2805
|
+
var transist = function transist(val, state) {
|
|
2806
|
+
_this.v = val;
|
|
2807
|
+
_this.s = state;
|
|
2763
2808
|
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2809
|
+
// console.log('state', state);
|
|
2810
|
+
/** @type {Callbacks} */
|
|
2811
|
+
_this.c[state].forEach(function (func) {
|
|
2812
|
+
func(val);
|
|
2813
|
+
});
|
|
2814
|
+
// Release memory, but if no handlers have been added, as we
|
|
2815
|
+
// assume that we will resolve/reject (truly) synchronously
|
|
2816
|
+
// and thus we avoid flagging checks about whether we've
|
|
2817
|
+
// already resolved/rejected.
|
|
2818
|
+
if (/** @type {Callbacks} */_this.c[state].length) {
|
|
2819
|
+
_this.c = null;
|
|
2820
|
+
}
|
|
2821
|
+
};
|
|
2772
2822
|
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2823
|
+
/** @type {Resolve} */
|
|
2824
|
+
var _resolve = function resolve(val) {
|
|
2825
|
+
if (!_this.c) ; else if (isPromise(val)) {
|
|
2826
|
+
addReject(val.then(_resolve), _reject);
|
|
2827
|
+
} else {
|
|
2828
|
+
transist(val, FULFILLED);
|
|
2829
|
+
}
|
|
2830
|
+
};
|
|
2831
|
+
|
|
2832
|
+
/** @type {Reject} */
|
|
2833
|
+
var _reject = function reject(reason) {
|
|
2834
|
+
if (!_this.c) ; else if (isPromise(reason)) {
|
|
2835
|
+
addReject(reason.then(_reject), _reject);
|
|
2836
|
+
} else {
|
|
2837
|
+
transist(reason, REJECTED);
|
|
2838
|
+
}
|
|
2839
|
+
};
|
|
2840
|
+
try {
|
|
2841
|
+
fn(_resolve, _reject);
|
|
2842
|
+
} catch (err) {
|
|
2843
|
+
_reject(err);
|
|
2779
2844
|
}
|
|
2780
2845
|
}
|
|
2781
|
-
try {
|
|
2782
|
-
fn(resolve, reject);
|
|
2783
|
-
} catch (err) {
|
|
2784
|
-
reject(err);
|
|
2785
|
-
}
|
|
2786
|
-
}
|
|
2787
2846
|
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2847
|
+
/* eslint-disable unicorn/no-thenable -- Promise API */
|
|
2848
|
+
/**
|
|
2849
|
+
* @param {((value: ArbitraryValue) => ArbitraryValue)|null|undefined} [cb]
|
|
2850
|
+
* @param {(reason: ArbitraryValue) => PromiseLike<never>} [errBack]
|
|
2851
|
+
* @returns {SyncPromise}
|
|
2852
|
+
*/
|
|
2853
|
+
return _createClass(SyncPromise, [{
|
|
2854
|
+
key: "then",
|
|
2855
|
+
value: function then(cb, errBack) {
|
|
2856
|
+
var _this2 = this;
|
|
2857
|
+
/* eslint-enable unicorn/no-thenable -- Promise API */
|
|
2858
|
+
return new SyncPromise(/** @type {ResolveReject} */
|
|
2859
|
+
function (resolve, reject) {
|
|
2860
|
+
var rej = typeof errBack === 'function' ? errBack : reject;
|
|
2800
2861
|
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2862
|
+
/** @type {Settle} */
|
|
2863
|
+
var settle = function settle() {
|
|
2864
|
+
try {
|
|
2865
|
+
resolve(cb ? cb(_this2.v) : _this2.v);
|
|
2866
|
+
} catch (e) {
|
|
2867
|
+
rej(e);
|
|
2868
|
+
}
|
|
2869
|
+
};
|
|
2870
|
+
if (_this2.s === FULFILLED) {
|
|
2871
|
+
settle();
|
|
2872
|
+
} else if (_this2.s === REJECTED) {
|
|
2873
|
+
rej(_this2.v);
|
|
2874
|
+
} else {
|
|
2875
|
+
/** @type {Callbacks} */_this2.c[FULFILLED].push(settle);
|
|
2876
|
+
/** @type {Callbacks} */
|
|
2877
|
+
_this2.c[REJECTED].push(rej);
|
|
2878
|
+
}
|
|
2879
|
+
});
|
|
2817
2880
|
}
|
|
2818
|
-
});
|
|
2819
|
-
};
|
|
2820
2881
|
|
|
2821
|
-
/**
|
|
2822
|
-
* @param {(reason: any) => PromiseLike<never>|null|undefined} cb
|
|
2823
|
-
* @returns {SyncPromise}
|
|
2824
|
-
*/
|
|
2825
|
-
SyncPromise.prototype.catch = function (cb) {
|
|
2826
|
-
var that = this;
|
|
2827
|
-
return new SyncPromise(/** @type {ResolveReject} */
|
|
2828
|
-
function (resolve, reject) {
|
|
2829
2882
|
/**
|
|
2830
|
-
* @
|
|
2883
|
+
* @param {(reason: ArbitraryValue) => PromiseLike<never>|null|undefined} cb
|
|
2884
|
+
* @returns {SyncPromise}
|
|
2831
2885
|
*/
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2886
|
+
}, {
|
|
2887
|
+
key: "catch",
|
|
2888
|
+
value: function _catch(cb) {
|
|
2889
|
+
var _this3 = this;
|
|
2890
|
+
return new SyncPromise(/** @type {ResolveReject} */
|
|
2891
|
+
function (resolve, reject) {
|
|
2892
|
+
/**
|
|
2893
|
+
* @returns {void}
|
|
2894
|
+
*/
|
|
2895
|
+
var settle = function settle() {
|
|
2896
|
+
try {
|
|
2897
|
+
resolve(cb(_this3.v));
|
|
2898
|
+
} catch (e) {
|
|
2899
|
+
reject(e);
|
|
2900
|
+
}
|
|
2901
|
+
};
|
|
2902
|
+
if (_this3.s === REJECTED) {
|
|
2903
|
+
settle();
|
|
2904
|
+
} else if (_this3.s === FULFILLED) {
|
|
2905
|
+
resolve(_this3.v);
|
|
2906
|
+
} else {
|
|
2907
|
+
/** @type {Callbacks} */_this3.c[REJECTED].push(settle);
|
|
2908
|
+
/** @type {Callbacks} */
|
|
2909
|
+
_this3.c[FULFILLED].push(resolve);
|
|
2910
|
+
}
|
|
2911
|
+
});
|
|
2847
2912
|
}
|
|
2848
|
-
}
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2913
|
+
}], [{
|
|
2914
|
+
key: "all",
|
|
2915
|
+
value:
|
|
2916
|
+
/**
|
|
2917
|
+
* @param {unknown[]|[]} promises
|
|
2918
|
+
* @returns {SyncPromise}
|
|
2919
|
+
*/
|
|
2920
|
+
function all(promises) {
|
|
2921
|
+
return new SyncPromise(/** @type {ResolveReject} */
|
|
2922
|
+
function (resolve, reject) {
|
|
2923
|
+
var l = promises.length;
|
|
2924
|
+
/** @type {ArbitraryValue[]} */
|
|
2925
|
+
var newPromises = [];
|
|
2926
|
+
if (!l) {
|
|
2927
|
+
resolve(newPromises);
|
|
2928
|
+
return;
|
|
2929
|
+
}
|
|
2930
|
+
promises.forEach(function (p, i) {
|
|
2931
|
+
if (isPromise(/** @type {PromiseLike<ArbitraryValue>} */p)) {
|
|
2932
|
+
addReject(/** @type {PromiseLike<ArbitraryValue>} */p.then(/** @type {OnFulfilled} */
|
|
2933
|
+
function (res) {
|
|
2934
|
+
newPromises[i] = res;
|
|
2935
|
+
--l;
|
|
2936
|
+
if (!l) {
|
|
2937
|
+
resolve(newPromises);
|
|
2938
|
+
}
|
|
2939
|
+
}), reject);
|
|
2940
|
+
} else {
|
|
2941
|
+
newPromises[i] = p;
|
|
2942
|
+
--l;
|
|
2943
|
+
if (!l) {
|
|
2944
|
+
resolve(promises);
|
|
2945
|
+
}
|
|
2946
|
+
}
|
|
2947
|
+
});
|
|
2948
|
+
});
|
|
2864
2949
|
}
|
|
2865
|
-
promises.forEach(function (p, i) {
|
|
2866
|
-
if (isPromise(/** @type {PromiseLike<any>} */p)) {
|
|
2867
|
-
addReject(/** @type {PromiseLike<any>} */p.then(/** @type {OnFulfilled} */
|
|
2868
|
-
function (res) {
|
|
2869
|
-
newPromises[i] = res;
|
|
2870
|
-
--l || resolve(newPromises);
|
|
2871
|
-
}), reject);
|
|
2872
|
-
} else {
|
|
2873
|
-
newPromises[i] = p;
|
|
2874
|
-
--l || resolve(promises);
|
|
2875
|
-
}
|
|
2876
|
-
});
|
|
2877
|
-
});
|
|
2878
|
-
};
|
|
2879
2950
|
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2951
|
+
/**
|
|
2952
|
+
* @param {unknown[]|[]} promises
|
|
2953
|
+
* @returns {SyncPromise}
|
|
2954
|
+
*/
|
|
2955
|
+
}, {
|
|
2956
|
+
key: "race",
|
|
2957
|
+
value: function race(promises) {
|
|
2958
|
+
var resolved = false;
|
|
2959
|
+
return new SyncPromise(/** @type {ResolveReject} */
|
|
2960
|
+
function (resolve, reject) {
|
|
2961
|
+
// eslint-disable-next-line @stylistic/max-len -- Long
|
|
2962
|
+
// eslint-disable-next-line unicorn/no-unused-array-method-return -- Shortcuts
|
|
2963
|
+
promises.some(function (p) {
|
|
2964
|
+
if (isPromise(/** @type {PromiseLike<ArbitraryValue>} */p)) {
|
|
2965
|
+
addReject(/** @type {PromiseLike<ArbitraryValue>} */p.then(/** @type {OnFulfilled} */
|
|
2966
|
+
function (res) {
|
|
2967
|
+
if (resolved) {
|
|
2968
|
+
return;
|
|
2969
|
+
}
|
|
2970
|
+
resolve(res);
|
|
2971
|
+
resolved = true;
|
|
2972
|
+
}), reject);
|
|
2973
|
+
return false;
|
|
2894
2974
|
}
|
|
2895
|
-
resolve(
|
|
2975
|
+
resolve(p);
|
|
2896
2976
|
resolved = true;
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
}
|
|
2900
|
-
|
|
2901
|
-
resolved = true;
|
|
2902
|
-
return true;
|
|
2903
|
-
});
|
|
2904
|
-
});
|
|
2905
|
-
};
|
|
2977
|
+
return true;
|
|
2978
|
+
});
|
|
2979
|
+
});
|
|
2980
|
+
}
|
|
2906
2981
|
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2982
|
+
/**
|
|
2983
|
+
* @param {ArbitraryValue} val
|
|
2984
|
+
* @returns {SyncPromise}
|
|
2985
|
+
*/
|
|
2986
|
+
}, {
|
|
2987
|
+
key: "resolve",
|
|
2988
|
+
value: function resolve(val) {
|
|
2989
|
+
return new SyncPromise(/** @type {ResolveReject} */
|
|
2990
|
+
function (resolve) {
|
|
2991
|
+
resolve(val);
|
|
2992
|
+
});
|
|
2993
|
+
}
|
|
2917
2994
|
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2995
|
+
/**
|
|
2996
|
+
* @param {ArbitraryValue} val
|
|
2997
|
+
* @returns {SyncPromise}
|
|
2998
|
+
*/
|
|
2999
|
+
}, {
|
|
3000
|
+
key: "reject",
|
|
3001
|
+
value: function reject(val) {
|
|
3002
|
+
return new SyncPromise(/** @type {ResolveReject} */
|
|
3003
|
+
function (resolve, reject) {
|
|
3004
|
+
reject(val);
|
|
3005
|
+
});
|
|
3006
|
+
}
|
|
3007
|
+
}]);
|
|
3008
|
+
}();
|
|
2928
3009
|
|
|
2929
3010
|
/**
|
|
2930
3011
|
* Compares two keys.
|
|
@@ -2961,6 +3042,8 @@
|
|
|
2961
3042
|
return result;
|
|
2962
3043
|
}
|
|
2963
3044
|
|
|
3045
|
+
var _templateObject, _templateObject2;
|
|
3046
|
+
|
|
2964
3047
|
/**
|
|
2965
3048
|
* @typedef {NodeJS.TypedArray|DataView} ArrayBufferView
|
|
2966
3049
|
*/
|
|
@@ -2990,14 +3073,14 @@
|
|
|
2990
3073
|
*/
|
|
2991
3074
|
|
|
2992
3075
|
/**
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3076
|
+
* @typedef {object} KeyValueObject
|
|
3077
|
+
* @property {KeyType|"NaN"|"null"|"undefined"|"boolean"|"object"|"symbol"|
|
|
3078
|
+
* "function"|"bigint"} type If not `KeyType`, indicates invalid value
|
|
3079
|
+
* @property {Value} [value]
|
|
3080
|
+
* @property {boolean} [invalid]
|
|
3081
|
+
* @property {string} [message]
|
|
3082
|
+
* @todo Specify acceptable `value` more precisely
|
|
3083
|
+
*/
|
|
3001
3084
|
|
|
3002
3085
|
/**
|
|
3003
3086
|
* @typedef {number|string|Date|ArrayBuffer} ValueTypePrimitive
|
|
@@ -3236,14 +3319,22 @@
|
|
|
3236
3319
|
_iterator.f();
|
|
3237
3320
|
}
|
|
3238
3321
|
encoded.push(keyTypeToEncodedChar.invalid + '-'); // append an extra item, so empty arrays sort correctly
|
|
3239
|
-
|
|
3322
|
+
var encodedKey = JSON.stringify(encoded);
|
|
3323
|
+
if (CFG.escapeNULForSQLiteStatements === false) {
|
|
3324
|
+
encodedKey = encodedKey.replaceAll(String.raw(_templateObject || (_templateObject = _taggedTemplateLiteral(["\0"], ["\\u0000"]))), '\0');
|
|
3325
|
+
}
|
|
3326
|
+
return keyTypeToEncodedChar.array + '-' + encodedKey;
|
|
3240
3327
|
},
|
|
3241
3328
|
/**
|
|
3242
3329
|
* @param {string} key
|
|
3243
3330
|
* @returns {ValueTypeArray}
|
|
3244
3331
|
*/
|
|
3245
3332
|
decode: function decode(key) {
|
|
3246
|
-
var
|
|
3333
|
+
var decodedKey = key.slice(2);
|
|
3334
|
+
if (CFG.escapeNULForSQLiteStatements === false) {
|
|
3335
|
+
decodedKey = decodedKey.replaceAll('\0', String.raw(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\0"], ["\\u0000"]))));
|
|
3336
|
+
}
|
|
3337
|
+
var decoded = JSON.parse(decodedKey);
|
|
3247
3338
|
decoded.pop(); // remove the extra item
|
|
3248
3339
|
for (var i = 0; i < decoded.length; i++) {
|
|
3249
3340
|
var item = decoded[i];
|
|
@@ -3429,10 +3520,10 @@
|
|
|
3429
3520
|
}
|
|
3430
3521
|
|
|
3431
3522
|
/**
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3523
|
+
* Currently not in use.
|
|
3524
|
+
* @param {Value} input
|
|
3525
|
+
* @returns {KeyValueObject}
|
|
3526
|
+
*/
|
|
3436
3527
|
function convertValueToMultiEntryKey(input) {
|
|
3437
3528
|
return convertValueToKeyValueDecoded(input, null, true, true);
|
|
3438
3529
|
}
|
|
@@ -3467,17 +3558,17 @@
|
|
|
3467
3558
|
}
|
|
3468
3559
|
|
|
3469
3560
|
/**
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3561
|
+
* Shortcut utility to avoid returning full keys from `convertValueToKey`
|
|
3562
|
+
* and subsequent need to process in calling code unless `fullKeys` is
|
|
3563
|
+
* set; may throw.
|
|
3564
|
+
* @param {Value} input
|
|
3565
|
+
* @param {Value[]|null} [seen]
|
|
3566
|
+
* @param {boolean} [multiEntry]
|
|
3567
|
+
* @param {boolean} [fullKeys]
|
|
3568
|
+
* @throws {TypeError} See `getCopyBytesHeldByBufferSource`
|
|
3569
|
+
* @todo Document other allowable `input`
|
|
3570
|
+
* @returns {KeyValueObject}
|
|
3571
|
+
*/
|
|
3481
3572
|
function convertValueToKeyValueDecoded(input, seen, multiEntry, fullKeys) {
|
|
3482
3573
|
seen || (seen = []);
|
|
3483
3574
|
if (seen.includes(input)) {
|
|
@@ -3633,12 +3724,12 @@
|
|
|
3633
3724
|
}
|
|
3634
3725
|
|
|
3635
3726
|
/**
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3727
|
+
* An internal utility.
|
|
3728
|
+
* @param {Value} input
|
|
3729
|
+
* @param {Value[]|null|undefined} [seen]
|
|
3730
|
+
* @throws {DOMException} `DataError`
|
|
3731
|
+
* @returns {KeyValueObject}
|
|
3732
|
+
*/
|
|
3642
3733
|
function convertValueToKeyRethrowingAndIfInvalid(input, seen) {
|
|
3643
3734
|
var key = convertValueToKey(input, seen);
|
|
3644
3735
|
if (key.invalid) {
|
|
@@ -3659,26 +3750,26 @@
|
|
|
3659
3750
|
return extractKeyValueDecodedFromValueUsingKeyPath(value, keyPath, multiEntry, true);
|
|
3660
3751
|
}
|
|
3661
3752
|
/**
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3753
|
+
* Not currently in use.
|
|
3754
|
+
* @param {Value} value
|
|
3755
|
+
* @param {KeyPath} keyPath
|
|
3756
|
+
* @param {boolean} multiEntry
|
|
3757
|
+
* @returns {KeyPathEvaluateValue}
|
|
3758
|
+
*/
|
|
3668
3759
|
function evaluateKeyPathOnValue(value, keyPath, multiEntry) {
|
|
3669
3760
|
return evaluateKeyPathOnValueToDecodedValue(value, keyPath);
|
|
3670
3761
|
}
|
|
3671
3762
|
|
|
3672
3763
|
/**
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3764
|
+
* May throw, return `{failure: true}` (e.g., non-object on keyPath resolution)
|
|
3765
|
+
* or `{invalid: true}` (e.g., `NaN`).
|
|
3766
|
+
* @param {Value} value
|
|
3767
|
+
* @param {KeyPath} keyPath
|
|
3768
|
+
* @param {boolean} [multiEntry]
|
|
3769
|
+
* @param {boolean} [fullKeys]
|
|
3770
|
+
* @returns {KeyValueObject|KeyPathEvaluateValue}
|
|
3771
|
+
* @todo Document other possible return?
|
|
3772
|
+
*/
|
|
3682
3773
|
function extractKeyValueDecodedFromValueUsingKeyPath(value, keyPath, multiEntry, fullKeys) {
|
|
3683
3774
|
var r = evaluateKeyPathOnValueToDecodedValue(value, keyPath);
|
|
3684
3775
|
if (r.failure) {
|
|
@@ -3908,11 +3999,11 @@
|
|
|
3908
3999
|
}
|
|
3909
4000
|
|
|
3910
4001
|
/**
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
4002
|
+
* Not currently in use but keeping for spec parity.
|
|
4003
|
+
* @param {Key} key
|
|
4004
|
+
* @throws {Error} Upon a "bad key"
|
|
4005
|
+
* @returns {ValueType}
|
|
4006
|
+
*/
|
|
3916
4007
|
function convertKeyToValue(key) {
|
|
3917
4008
|
var type = key.type,
|
|
3918
4009
|
value = key.value;
|
|
@@ -4004,10 +4095,10 @@
|
|
|
4004
4095
|
*/
|
|
4005
4096
|
|
|
4006
4097
|
/**
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4098
|
+
* @callback SQLFailureCallback
|
|
4099
|
+
* @param {DOMException|Error} exception
|
|
4100
|
+
* @returns {void}
|
|
4101
|
+
*/
|
|
4011
4102
|
|
|
4012
4103
|
/**
|
|
4013
4104
|
*
|
|
@@ -4176,11 +4267,11 @@
|
|
|
4176
4267
|
|
|
4177
4268
|
/**
|
|
4178
4269
|
* @typedef {globalThis.IDBKeyRange & {
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4270
|
+
* __lowerCached: string|null|false,
|
|
4271
|
+
* __upperCached: string|null|false,
|
|
4272
|
+
* __lowerOpen: boolean,
|
|
4273
|
+
* }} IDBKeyRangeFull
|
|
4274
|
+
*/
|
|
4184
4275
|
|
|
4185
4276
|
/**
|
|
4186
4277
|
* The IndexedDB KeyRange object.
|
|
@@ -4707,6 +4798,7 @@
|
|
|
4707
4798
|
* },
|
|
4708
4799
|
* __requestsFinished: boolean,
|
|
4709
4800
|
* __transFinishedCb: (err: boolean, cb: ((bool?: boolean) => void)) => void,
|
|
4801
|
+
* __callTransFinishedCb: (err: boolean, cb: ((bool?: boolean) => void)) => void,
|
|
4710
4802
|
* __transactionEndCallback: () => void,
|
|
4711
4803
|
* __transactionFinished: boolean,
|
|
4712
4804
|
* __completed: boolean,
|
|
@@ -4816,6 +4908,35 @@
|
|
|
4816
4908
|
IDBTransaction.prototype.__transFinishedCb = function (err, cb) {
|
|
4817
4909
|
cb(Boolean(err));
|
|
4818
4910
|
};
|
|
4911
|
+
|
|
4912
|
+
/**
|
|
4913
|
+
* In Node, the real (SQL-commit-capable) `__transFinishedCb` is only
|
|
4914
|
+
* installed once the underlying WebSQL driver's own SQL-queue-idle check
|
|
4915
|
+
* has fired at least once for this transaction (asynchronously, via the
|
|
4916
|
+
* `nonstandardTransCb` passed to `db.transaction`/`.readTransaction`).
|
|
4917
|
+
* Since our own request processing can now finish synchronously (e.g., a
|
|
4918
|
+
* trivial upgrade using a synchronous SQL driver), it is possible to reach
|
|
4919
|
+
* transaction completion here before that has happened, in which case
|
|
4920
|
+
* `__transFinishedCb` is still the non-committing default above. Calling
|
|
4921
|
+
* that default directly would silently skip the actual SQL commit and
|
|
4922
|
+
* leave the underlying WebSQL transaction "running" forever, hanging any
|
|
4923
|
+
* later transaction on that same database connection. So, if the real
|
|
4924
|
+
* callback isn't installed yet, defer and retry until it is.
|
|
4925
|
+
* @this {IDBTransactionFull}
|
|
4926
|
+
* @param {boolean} err
|
|
4927
|
+
* @param {(bool?: boolean) => void} cb
|
|
4928
|
+
* @returns {void}
|
|
4929
|
+
*/
|
|
4930
|
+
IDBTransaction.prototype.__callTransFinishedCb = function (err, cb) {
|
|
4931
|
+
var me = this;
|
|
4932
|
+
if (me.__transFinishedCb === IDBTransaction.prototype.__transFinishedCb) {
|
|
4933
|
+
setTimeout(function () {
|
|
4934
|
+
me.__callTransFinishedCb(err, cb);
|
|
4935
|
+
}, 0);
|
|
4936
|
+
return;
|
|
4937
|
+
}
|
|
4938
|
+
me.__transFinishedCb(err, cb);
|
|
4939
|
+
};
|
|
4819
4940
|
/**
|
|
4820
4941
|
* @this {IDBTransactionFull}
|
|
4821
4942
|
* @returns {void}
|
|
@@ -4875,7 +4996,7 @@
|
|
|
4875
4996
|
me.__abortTransaction(createDOMException('AbortError', 'A request was aborted (in user handler after success).'));
|
|
4876
4997
|
return;
|
|
4877
4998
|
}
|
|
4878
|
-
executeNextRequest
|
|
4999
|
+
runContinuationSafely(executeNextRequest);
|
|
4879
5000
|
}
|
|
4880
5001
|
|
|
4881
5002
|
/**
|
|
@@ -4950,7 +5071,9 @@
|
|
|
4950
5071
|
try {
|
|
4951
5072
|
q = me.__requests[i];
|
|
4952
5073
|
if (!q.req) {
|
|
4953
|
-
q.op(tx, q.args,
|
|
5074
|
+
q.op(tx, q.args, function () {
|
|
5075
|
+
return runContinuationSafely(executeNextRequest);
|
|
5076
|
+
}, error);
|
|
4954
5077
|
return;
|
|
4955
5078
|
}
|
|
4956
5079
|
if (q.req.__done) {
|
|
@@ -5416,10 +5539,10 @@
|
|
|
5416
5539
|
};
|
|
5417
5540
|
|
|
5418
5541
|
/**
|
|
5419
|
-
|
|
5542
|
+
* Used by our `EventTarget.prototype` library to implement bubbling/capturing.
|
|
5420
5543
|
* @this {IDBTransactionFull}
|
|
5421
|
-
|
|
5422
|
-
|
|
5544
|
+
* @returns {import('./IDBDatabase.js').IDBDatabaseFull}
|
|
5545
|
+
*/
|
|
5423
5546
|
IDBTransaction.prototype.__getParent = function () {
|
|
5424
5547
|
return this.db;
|
|
5425
5548
|
};
|
|
@@ -5455,7 +5578,7 @@
|
|
|
5455
5578
|
}).then(r, n);
|
|
5456
5579
|
});
|
|
5457
5580
|
}, TypesonPromise.prototype.catch = function (e) {
|
|
5458
|
-
return this.then(
|
|
5581
|
+
return this.then(void 0, e);
|
|
5459
5582
|
}, TypesonPromise.resolve = function (e) {
|
|
5460
5583
|
return new TypesonPromise(function (t) {
|
|
5461
5584
|
t(e);
|
|
@@ -5515,26 +5638,31 @@
|
|
|
5515
5638
|
function unescapeKeyPathComponent(e) {
|
|
5516
5639
|
return e.replaceAll("~1", ".").replaceAll("~0", "~").replace(/^''$/, "").replaceAll("''''", "''");
|
|
5517
5640
|
}
|
|
5518
|
-
function getByKeyPath(
|
|
5519
|
-
if ("" ===
|
|
5520
|
-
if (null ===
|
|
5521
|
-
var
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5641
|
+
function getByKeyPath(t, r, n) {
|
|
5642
|
+
if ("" === r) return t;
|
|
5643
|
+
if (null === t || "object" != _typeof$1(t)) throw new TypeError("Unexpected non-object type");
|
|
5644
|
+
var o = r.indexOf("."),
|
|
5645
|
+
s = unescapeKeyPathComponent(-1 === o ? r : r.slice(0, o));
|
|
5646
|
+
if (e(t, s)) {
|
|
5647
|
+
if (-1 !== o) {
|
|
5648
|
+
var _e = t[s];
|
|
5649
|
+
return void 0 === _e ? void 0 : getByKeyPath(_e, r.slice(o + 1));
|
|
5650
|
+
}
|
|
5651
|
+
return t[s];
|
|
5525
5652
|
}
|
|
5526
|
-
return e[unescapeKeyPathComponent(t)];
|
|
5527
5653
|
}
|
|
5528
|
-
function setAtKeyPath(
|
|
5529
|
-
if ("" ===
|
|
5530
|
-
var
|
|
5531
|
-
|
|
5654
|
+
function setAtKeyPath(t, r, n, o) {
|
|
5655
|
+
if ("" === r) return n;
|
|
5656
|
+
var s = t,
|
|
5657
|
+
a = r;
|
|
5532
5658
|
for (;;) {
|
|
5533
|
-
if (!
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
if (
|
|
5537
|
-
|
|
5659
|
+
if (!s || "object" != _typeof$1(s)) throw new TypeError("Unexpected non-object type");
|
|
5660
|
+
var _r = a.indexOf("."),
|
|
5661
|
+
_i = unescapeKeyPathComponent(-1 === _r ? a : a.slice(0, _r));
|
|
5662
|
+
if ("__proto__" === _i) throw new TypeError("Invalid property");
|
|
5663
|
+
if (-1 === _r) return s[_i] = n, t;
|
|
5664
|
+
if (!e(s, _i)) throw new TypeError("Invalid property");
|
|
5665
|
+
s = s[_i], a = a.slice(_r + 1);
|
|
5538
5666
|
}
|
|
5539
5667
|
}
|
|
5540
5668
|
function getJSONType(e) {
|
|
@@ -5544,11 +5672,19 @@
|
|
|
5544
5672
|
* @file Typeson - JSON with types.
|
|
5545
5673
|
* @license The MIT License (MIT)
|
|
5546
5674
|
* @copyright (c) 2016-2018 David Fahlander, Brett Zamir
|
|
5547
|
-
|
|
5675
|
+
*/
|
|
5548
5676
|
var r = Object.keys,
|
|
5549
5677
|
n = Object.hasOwn,
|
|
5550
5678
|
o = Array.isArray,
|
|
5551
5679
|
s = ["type", "replaced", "iterateIn", "iterateUnsetNumeric", "addLength"];
|
|
5680
|
+
function setOwnEnumerable(e, t, r) {
|
|
5681
|
+
Object.defineProperty(e, t, {
|
|
5682
|
+
configurable: true,
|
|
5683
|
+
enumerable: true,
|
|
5684
|
+
value: r,
|
|
5685
|
+
writable: true
|
|
5686
|
+
});
|
|
5687
|
+
}
|
|
5552
5688
|
function nestedPathsFirst(e, t) {
|
|
5553
5689
|
var _e$keypath$match, _t$keypath$match;
|
|
5554
5690
|
if ("" === e.keypath) return -1;
|
|
@@ -5619,13 +5755,17 @@
|
|
|
5619
5755
|
key: "specialTypeNames",
|
|
5620
5756
|
value: function specialTypeNames(e, t) {
|
|
5621
5757
|
var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
5622
|
-
return
|
|
5758
|
+
return this.encapsulate(e, t, _objectSpread2(_objectSpread2({}, r), {}, {
|
|
5759
|
+
returnTypeNames: true
|
|
5760
|
+
}));
|
|
5623
5761
|
}
|
|
5624
5762
|
}, {
|
|
5625
5763
|
key: "rootTypeName",
|
|
5626
5764
|
value: function rootTypeName(e, t) {
|
|
5627
5765
|
var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
5628
|
-
return
|
|
5766
|
+
return this.encapsulate(e, t, _objectSpread2(_objectSpread2({}, r), {}, {
|
|
5767
|
+
iterateNone: true
|
|
5768
|
+
}));
|
|
5629
5769
|
}
|
|
5630
5770
|
}, {
|
|
5631
5771
|
key: "encapsulate",
|
|
@@ -5636,11 +5776,12 @@
|
|
|
5636
5776
|
}, this.options), a),
|
|
5637
5777
|
c = i.sync,
|
|
5638
5778
|
y = {},
|
|
5639
|
-
l = [],
|
|
5640
5779
|
u = [],
|
|
5780
|
+
l = [],
|
|
5641
5781
|
p = [],
|
|
5642
5782
|
f = !("cyclic" in i) || i.cyclic,
|
|
5643
5783
|
d = i.encapsulateObserver,
|
|
5784
|
+
m = i.encapsulateError,
|
|
5644
5785
|
finish = function finish(e) {
|
|
5645
5786
|
var t = Object.values(y);
|
|
5646
5787
|
if (i.iterateNone) return t.length ? t[0] : getJSONType(e);
|
|
@@ -5673,22 +5814,29 @@
|
|
|
5673
5814
|
_context2.n = 2;
|
|
5674
5815
|
return Promise.all(r.map(/*#__PURE__*/function () {
|
|
5675
5816
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(r) {
|
|
5676
|
-
var n, _t$splice, _t$splice2, o, _o, s, a, i, c, y,
|
|
5817
|
+
var n, _t$splice, _t$splice2, o, _o, s, a, i, c, y, u, l, p, _t, _t2, _t3, _t4;
|
|
5677
5818
|
return _regenerator().w(function (_context) {
|
|
5678
5819
|
while (1) switch (_context.n) {
|
|
5679
5820
|
case 0:
|
|
5680
|
-
n = [], _t$splice = t.splice(0, 1), _t$splice2 = _slicedToArray(_t$splice, 1), o = _t$splice2[0], _o = _slicedToArray(o, 7), s = _o[0], a = _o[2], i = _o[3], c = _o[4], y = _o[5],
|
|
5821
|
+
n = [], _t$splice = t.splice(0, 1), _t$splice2 = _slicedToArray(_t$splice, 1), o = _t$splice2[0], _o = _slicedToArray(o, 7), s = _o[0], a = _o[2], i = _o[3], c = _o[4], y = _o[5], u = _o[6], l = _encapsulate2(s, r, a, i, n, true, u), p = hasConstructorOf(l, TypesonPromise);
|
|
5681
5822
|
if (!(s && p)) {
|
|
5682
5823
|
_context.n = 2;
|
|
5683
5824
|
break;
|
|
5684
5825
|
}
|
|
5826
|
+
_t2 = setOwnEnumerable;
|
|
5827
|
+
_t3 = c;
|
|
5828
|
+
_t4 = y;
|
|
5685
5829
|
_context.n = 1;
|
|
5686
|
-
return
|
|
5830
|
+
return l.p;
|
|
5687
5831
|
case 1:
|
|
5688
|
-
_t2
|
|
5689
|
-
|
|
5832
|
+
_t2(_t3, _t4, _context.v);
|
|
5833
|
+
_t = _checkPromises(e, n);
|
|
5834
|
+
_context.n = 3;
|
|
5835
|
+
break;
|
|
5690
5836
|
case 2:
|
|
5691
|
-
|
|
5837
|
+
_t = (s ? setOwnEnumerable(c, y, l) : e = p ? l.p : l, _checkPromises(e, n));
|
|
5838
|
+
case 3:
|
|
5839
|
+
return _context.a(2, _t);
|
|
5692
5840
|
}
|
|
5693
5841
|
}, _callee);
|
|
5694
5842
|
}));
|
|
@@ -5717,61 +5865,88 @@
|
|
|
5717
5865
|
});
|
|
5718
5866
|
},
|
|
5719
5867
|
_encapsulate2 = function _encapsulate(e, t, s, a, c, p, f) {
|
|
5720
|
-
var
|
|
5721
|
-
|
|
5722
|
-
var
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
|
|
5727
|
-
|
|
5728
|
-
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
|
|
5732
|
-
|
|
5733
|
-
|
|
5734
|
-
|
|
5735
|
-
|
|
5736
|
-
|
|
5737
|
-
|
|
5738
|
-
|
|
5739
|
-
|
|
5740
|
-
|
|
5868
|
+
var h,
|
|
5869
|
+
g = {};
|
|
5870
|
+
var b = d ? function (r) {
|
|
5871
|
+
var _ref2;
|
|
5872
|
+
var n = (_ref2 = f !== null && f !== void 0 ? f : a.type) !== null && _ref2 !== void 0 ? _ref2 : getJSONType(t);
|
|
5873
|
+
d(Object.assign(r !== null && r !== void 0 ? r : g, {
|
|
5874
|
+
keypath: e,
|
|
5875
|
+
value: t,
|
|
5876
|
+
cyclic: s,
|
|
5877
|
+
stateObj: a,
|
|
5878
|
+
promisesData: c,
|
|
5879
|
+
resolvingTypesonPromise: p,
|
|
5880
|
+
awaitingTypesonPromise: hasConstructorOf(t, TypesonPromise)
|
|
5881
|
+
}, {
|
|
5882
|
+
type: n
|
|
5883
|
+
}));
|
|
5884
|
+
} : null,
|
|
5885
|
+
getEncapsulatedValue = function getEncapsulatedValue(e, t, r) {
|
|
5886
|
+
try {
|
|
5887
|
+
return {
|
|
5888
|
+
value: _encapsulate2(e, t[r], Boolean(s), a, c, p)
|
|
5889
|
+
};
|
|
5890
|
+
} catch (n) {
|
|
5891
|
+
var _ref3;
|
|
5892
|
+
if (!m) throw n;
|
|
5893
|
+
var _o2 = (_ref3 = f !== null && f !== void 0 ? f : a.type) !== null && _ref3 !== void 0 ? _ref3 : getJSONType(t),
|
|
5894
|
+
_s = m({
|
|
5895
|
+
keypath: e,
|
|
5896
|
+
error: n,
|
|
5897
|
+
parent: t,
|
|
5898
|
+
key: r,
|
|
5899
|
+
stateObj: a,
|
|
5900
|
+
type: _o2
|
|
5901
|
+
});
|
|
5902
|
+
if (!_s) throw n;
|
|
5903
|
+
if ("substitute" in _s) return {
|
|
5904
|
+
value: _s.substitute,
|
|
5905
|
+
substitute: true
|
|
5906
|
+
};
|
|
5907
|
+
if (_s.ignore) return;
|
|
5908
|
+
throw n;
|
|
5909
|
+
}
|
|
5910
|
+
};
|
|
5911
|
+
if (["string", "boolean", "number", "undefined"].includes(_typeof$1(t))) return void 0 === t || t === 1 / 0 || 0 === t || t === -1 / 0 || Number.isNaN(t) ? (h = a.replaced ? t : replace(e, t, a, c, false, p, b), h !== t && (g = {
|
|
5912
|
+
replaced: h
|
|
5913
|
+
})) : h = t, b && b(), h;
|
|
5914
|
+
if (null === t) return b && b(), t;
|
|
5741
5915
|
if (s && t && "object" == _typeof$1(t) && !a.iterateIn && !a.iterateUnsetNumeric) {
|
|
5742
|
-
var
|
|
5743
|
-
if (-1 !==
|
|
5744
|
-
cyclicKeypath:
|
|
5745
|
-
}), "#" +
|
|
5746
|
-
true === s && (
|
|
5916
|
+
var _r2 = u.indexOf(t);
|
|
5917
|
+
if (-1 !== _r2) return y[e] = "#", b && b({
|
|
5918
|
+
cyclicKeypath: l[_r2]
|
|
5919
|
+
}), "#" + l[_r2];
|
|
5920
|
+
true === s && (u.push(t), l.push(e));
|
|
5747
5921
|
}
|
|
5748
|
-
var
|
|
5749
|
-
|
|
5750
|
-
|
|
5751
|
-
var
|
|
5752
|
-
if (
|
|
5753
|
-
replaced:
|
|
5754
|
-
}) : "" === e && hasConstructorOf(t, TypesonPromise) ? (c.push([e, t, s, a, void 0, void 0, a.type]),
|
|
5755
|
-
clone:
|
|
5756
|
-
}) : !
|
|
5757
|
-
clone:
|
|
5758
|
-
}),
|
|
5759
|
-
if (!
|
|
5922
|
+
var v = isPlainObject(t),
|
|
5923
|
+
O = o(t),
|
|
5924
|
+
w = (v || O) && (!_this2.plainObjectReplacers.length || a.replaced) || a.iterateIn ? t : replace(e, t, a, c, v || O, null, b);
|
|
5925
|
+
var T;
|
|
5926
|
+
if (w !== t ? (h = w, g = {
|
|
5927
|
+
replaced: w
|
|
5928
|
+
}) : "" === e && hasConstructorOf(t, TypesonPromise) ? (c.push([e, t, s, a, void 0, void 0, a.type]), h = t) : O && "object" !== a.iterateIn || "array" === a.iterateIn ? (T = new Array(t.length), g = {
|
|
5929
|
+
clone: T
|
|
5930
|
+
}) : !v && ("object" != _typeof$1(t) || "toJSON" in t || hasConstructorOf(t, TypesonPromise) || hasConstructorOf(t, Promise) || hasConstructorOf(t, ArrayBuffer)) && "object" !== a.iterateIn ? h = t : (T = {}, a.addLength && (T.length = t.length), g = {
|
|
5931
|
+
clone: T
|
|
5932
|
+
}), b && b(), i.iterateNone) return T !== null && T !== void 0 ? T : h;
|
|
5933
|
+
if (!T) return h;
|
|
5760
5934
|
if (a.iterateIn) {
|
|
5761
|
-
var _loop = function _loop(
|
|
5935
|
+
var _loop = function _loop(_r3) {
|
|
5762
5936
|
var o = {
|
|
5763
|
-
ownKeys: n(t,
|
|
5937
|
+
ownKeys: n(t, _r3)
|
|
5764
5938
|
};
|
|
5765
5939
|
_adaptBuiltinStateObjectProperties(a, o, function () {
|
|
5766
|
-
var n = e + (e ? "." : "") + escapeKeyPathComponent(
|
|
5767
|
-
o =
|
|
5768
|
-
|
|
5940
|
+
var n = e + (e ? "." : "") + escapeKeyPathComponent(_r3),
|
|
5941
|
+
o = getEncapsulatedValue(n, t, _r3),
|
|
5942
|
+
i = o && o.value;
|
|
5943
|
+
hasConstructorOf(i, TypesonPromise) ? c.push([n, i, Boolean(s), a, T, _r3, a.type]) : o && (void 0 !== i || "substitute" in o) && setOwnEnumerable(T, _r3, i);
|
|
5769
5944
|
});
|
|
5770
5945
|
};
|
|
5771
|
-
for (var
|
|
5772
|
-
_loop(
|
|
5946
|
+
for (var _r3 in t) {
|
|
5947
|
+
_loop(_r3);
|
|
5773
5948
|
}
|
|
5774
|
-
|
|
5949
|
+
b && b({
|
|
5775
5950
|
endIterateIn: true,
|
|
5776
5951
|
end: true
|
|
5777
5952
|
});
|
|
@@ -5780,70 +5955,71 @@
|
|
|
5780
5955
|
_adaptBuiltinStateObjectProperties(a, {
|
|
5781
5956
|
ownKeys: true
|
|
5782
5957
|
}, function () {
|
|
5783
|
-
var e =
|
|
5784
|
-
|
|
5958
|
+
var e = getEncapsulatedValue(n, t, r),
|
|
5959
|
+
o = e && e.value;
|
|
5960
|
+
hasConstructorOf(o, TypesonPromise) ? c.push([n, o, Boolean(s), a, T, r, a.type]) : e && (void 0 !== o || "substitute" in e) && setOwnEnumerable(T, r, o);
|
|
5785
5961
|
});
|
|
5786
|
-
}),
|
|
5962
|
+
}), b && b({
|
|
5787
5963
|
endIterateOwn: true,
|
|
5788
5964
|
end: true
|
|
5789
5965
|
});
|
|
5790
5966
|
if (a.iterateUnsetNumeric) {
|
|
5791
|
-
var
|
|
5792
|
-
var _loop2 = function _loop2(
|
|
5793
|
-
if (
|
|
5794
|
-
var r = "".concat(e).concat(e ? "." : "").concat(String(
|
|
5967
|
+
var _r4 = t.length;
|
|
5968
|
+
var _loop2 = function _loop2(_n) {
|
|
5969
|
+
if (_n in t) return 1; // continue
|
|
5970
|
+
var r = "".concat(e).concat(e ? "." : "").concat(String(_n));
|
|
5795
5971
|
_adaptBuiltinStateObjectProperties(a, {
|
|
5796
5972
|
ownKeys: false
|
|
5797
5973
|
}, function () {
|
|
5798
5974
|
var e = _encapsulate2(r, void 0, Boolean(s), a, c, p);
|
|
5799
|
-
hasConstructorOf(e, TypesonPromise) ? c.push([r, e, Boolean(s), a,
|
|
5975
|
+
hasConstructorOf(e, TypesonPromise) ? c.push([r, e, Boolean(s), a, T, _n, a.type]) : void 0 !== e && setOwnEnumerable(T, _n, e);
|
|
5800
5976
|
});
|
|
5801
5977
|
};
|
|
5802
|
-
for (var
|
|
5803
|
-
if (_loop2(
|
|
5978
|
+
for (var _n = 0; _n < _r4; _n++) {
|
|
5979
|
+
if (_loop2(_n)) continue;
|
|
5804
5980
|
}
|
|
5805
|
-
|
|
5981
|
+
b && b({
|
|
5806
5982
|
endIterateUnsetNumeric: true,
|
|
5807
5983
|
end: true
|
|
5808
5984
|
});
|
|
5809
5985
|
}
|
|
5810
|
-
return
|
|
5986
|
+
return T;
|
|
5811
5987
|
},
|
|
5812
5988
|
replace = function replace(e, t, r, n, o, s, a) {
|
|
5813
5989
|
var i = o ? _this2.plainObjectReplacers : _this2.nonplainObjectReplacers;
|
|
5814
|
-
var
|
|
5815
|
-
for (;
|
|
5816
|
-
var
|
|
5817
|
-
if (
|
|
5818
|
-
var
|
|
5819
|
-
if (Object.hasOwn(_this2.revivers,
|
|
5820
|
-
var
|
|
5821
|
-
y[e] =
|
|
5990
|
+
var u = i.length;
|
|
5991
|
+
for (; u--;) {
|
|
5992
|
+
var _o3 = i[u];
|
|
5993
|
+
if (_o3.test(t, r)) {
|
|
5994
|
+
var _i2 = _o3.type;
|
|
5995
|
+
if (Object.hasOwn(_this2.revivers, _i2)) {
|
|
5996
|
+
var _t5 = y[e];
|
|
5997
|
+
y[e] = _t5 ? [_i2].concat(_t5) : _i2;
|
|
5822
5998
|
}
|
|
5823
5999
|
if (Object.assign(r, {
|
|
5824
|
-
type:
|
|
6000
|
+
type: _i2,
|
|
5825
6001
|
replaced: true
|
|
5826
|
-
}), (c || !
|
|
6002
|
+
}), (c || !_o3.replaceAsync) && !_o3.replace) return a && a({
|
|
5827
6003
|
typeDetected: true
|
|
5828
|
-
}), _encapsulate2(e, t, f && "readonly", r, n, s,
|
|
5829
|
-
var
|
|
6004
|
+
}), _encapsulate2(e, t, f && "readonly", r, n, s, _i2);
|
|
6005
|
+
var _u = void 0;
|
|
5830
6006
|
if (a && a({
|
|
5831
6007
|
replacing: true
|
|
5832
|
-
}), c || !
|
|
5833
|
-
if (void 0 ===
|
|
5834
|
-
|
|
5835
|
-
} else
|
|
5836
|
-
return _encapsulate2(e,
|
|
6008
|
+
}), c || !_o3.replaceAsync) {
|
|
6009
|
+
if (void 0 === _o3.replace) throw new TypeError("Missing replacer");
|
|
6010
|
+
_u = _o3.replace(t, r);
|
|
6011
|
+
} else _u = _o3.replaceAsync(t, r);
|
|
6012
|
+
return _encapsulate2(e, _u, f && "readonly", r, n, s, _i2);
|
|
5837
6013
|
}
|
|
5838
6014
|
}
|
|
5839
6015
|
return t;
|
|
5840
6016
|
},
|
|
5841
|
-
|
|
6017
|
+
h = _encapsulate2("", e, f, t !== null && t !== void 0 ? t : {}, p);
|
|
5842
6018
|
if (p.length) return c && i.throwOnBadSyncType ? function () {
|
|
5843
6019
|
throw new TypeError("Sync method requested but async result obtained");
|
|
5844
|
-
}() : Promise.resolve(_checkPromises(
|
|
6020
|
+
}() : Promise.resolve(_checkPromises(h, p)).then(finish);
|
|
5845
6021
|
if (!c && i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
|
|
5846
|
-
return c && i.stringification ? [finish(
|
|
6022
|
+
return c && i.stringification ? [finish(h)] : c ? finish(h) : Promise.resolve(finish(h));
|
|
5847
6023
|
}
|
|
5848
6024
|
}, {
|
|
5849
6025
|
key: "encapsulateSync",
|
|
@@ -5882,18 +6058,18 @@
|
|
|
5882
6058
|
if (!i || "object" != _typeof$1(i) || Array.isArray(i)) return finishRevival(e);
|
|
5883
6059
|
var c = [],
|
|
5884
6060
|
y = Object.create(null),
|
|
5885
|
-
|
|
5886
|
-
var
|
|
5887
|
-
i.$ && isPlainObject(i.$) && (e = e.$, i = i.$,
|
|
6061
|
+
u = {};
|
|
6062
|
+
var l = true;
|
|
6063
|
+
i.$ && isPlainObject(i.$) && (e = e.$, i = i.$, l = false);
|
|
5888
6064
|
var executeReviver = function executeReviver(e, t) {
|
|
5889
6065
|
var _this3$revivers$e;
|
|
5890
|
-
var
|
|
5891
|
-
|
|
5892
|
-
r =
|
|
6066
|
+
var _ref4 = (_this3$revivers$e = _this3.revivers[e]) !== null && _this3$revivers$e !== void 0 ? _this3$revivers$e : [],
|
|
6067
|
+
_ref5 = _slicedToArray(_ref4, 1),
|
|
6068
|
+
r = _ref5[0];
|
|
5893
6069
|
if (!r) throw new Error("Unregistered type: " + e);
|
|
5894
6070
|
if (a && !("revive" in r)) return t;
|
|
5895
|
-
if (!a && r.reviveAsync) return r.reviveAsync(t,
|
|
5896
|
-
if (r.revive) return r.revive(t,
|
|
6071
|
+
if (!a && r.reviveAsync) return r.reviveAsync(t, u);
|
|
6072
|
+
if (r.revive) return r.revive(t, u);
|
|
5897
6073
|
throw new Error("Missing reviver");
|
|
5898
6074
|
},
|
|
5899
6075
|
p = [];
|
|
@@ -5903,23 +6079,23 @@
|
|
|
5903
6079
|
var f = function () {
|
|
5904
6080
|
if (!i) throw new Error("Found bad `types`");
|
|
5905
6081
|
var t = [];
|
|
5906
|
-
if (Object.entries(i).forEach(function (
|
|
5907
|
-
var
|
|
5908
|
-
e =
|
|
5909
|
-
r =
|
|
6082
|
+
if (Object.entries(i).forEach(function (_ref6) {
|
|
6083
|
+
var _ref7 = _slicedToArray(_ref6, 2),
|
|
6084
|
+
e = _ref7[0],
|
|
6085
|
+
r = _ref7[1];
|
|
5910
6086
|
"#" !== r && [].concat(r).forEach(function (r) {
|
|
5911
6087
|
var _this3$revivers$r;
|
|
5912
|
-
var
|
|
5913
|
-
|
|
5914
|
-
n =
|
|
6088
|
+
var _ref8 = (_this3$revivers$r = _this3.revivers[r]) !== null && _this3$revivers$r !== void 0 ? _this3$revivers$r : [null, {}],
|
|
6089
|
+
_ref9 = _slicedToArray(_ref8, 2),
|
|
6090
|
+
n = _ref9[1].plain;
|
|
5915
6091
|
n && (t.push({
|
|
5916
6092
|
keypath: e,
|
|
5917
6093
|
type: r
|
|
5918
6094
|
}), delete i[e]);
|
|
5919
6095
|
});
|
|
5920
|
-
}), t.length) return t.sort(nestedPathsFirst), t.reduce(function reducer(t,
|
|
5921
|
-
var r =
|
|
5922
|
-
n =
|
|
6096
|
+
}), t.length) return t.sort(nestedPathsFirst), t.reduce(function reducer(t, _ref0) {
|
|
6097
|
+
var r = _ref0.keypath,
|
|
6098
|
+
n = _ref0.type;
|
|
5923
6099
|
if (isThenable(t)) return t.then(function (e) {
|
|
5924
6100
|
return reducer(e, {
|
|
5925
6101
|
keypath: r,
|
|
@@ -5938,39 +6114,39 @@
|
|
|
5938
6114
|
var d;
|
|
5939
6115
|
return hasConstructorOf(f, TypesonPromise) ? d = f.then(function () {
|
|
5940
6116
|
return e;
|
|
5941
|
-
}) : (d = function _revive(e, t, s,
|
|
5942
|
-
if (
|
|
6117
|
+
}) : (d = function _revive(e, t, s, u, f) {
|
|
6118
|
+
if (l && "$types" === e) return;
|
|
5943
6119
|
var d = p.length,
|
|
5944
|
-
m = i[e],
|
|
6120
|
+
m = n(i, e) ? i[e] : void 0,
|
|
5945
6121
|
h = o(t);
|
|
5946
6122
|
if (h || isPlainObject(t)) {
|
|
5947
|
-
var
|
|
6123
|
+
var _o4 = h ? new Array(t.length) : {};
|
|
5948
6124
|
for (r(t).forEach(function (r) {
|
|
5949
|
-
var n = _revive(e + (e ? "." : "") + escapeKeyPathComponent(r), t[r], s !== null && s !== void 0 ? s :
|
|
6125
|
+
var n = _revive(e + (e ? "." : "") + escapeKeyPathComponent(r), t[r], s !== null && s !== void 0 ? s : _o4, _o4, r),
|
|
5950
6126
|
set = function set(e) {
|
|
5951
|
-
return hasConstructorOf(e, Undefined) ?
|
|
6127
|
+
return hasConstructorOf(e, Undefined) ? setOwnEnumerable(_o4, r, void 0) : void 0 !== e && setOwnEnumerable(_o4, r, e), e;
|
|
5952
6128
|
};
|
|
5953
6129
|
hasConstructorOf(n, TypesonPromise) ? p.push(n.then(function (e) {
|
|
5954
6130
|
return set(e);
|
|
5955
6131
|
})) : set(n);
|
|
5956
|
-
}), t =
|
|
6132
|
+
}), t = _o4; c.length;) {
|
|
5957
6133
|
var _c$ = _slicedToArray(c[0], 4),
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
_a =
|
|
5964
|
-
if (!
|
|
5965
|
-
|
|
6134
|
+
_e2 = _c$[0],
|
|
6135
|
+
_t6 = _c$[1],
|
|
6136
|
+
_r5 = _c$[2],
|
|
6137
|
+
_o5 = _c$[3],
|
|
6138
|
+
_s2 = n(y, _t6),
|
|
6139
|
+
_a = _s2 ? y[_t6] : getByKeyPath(_e2, _t6);
|
|
6140
|
+
if (!_s2 && void 0 === _a) break;
|
|
6141
|
+
setOwnEnumerable(_r5, _o5, _a), c.shift();
|
|
5966
6142
|
}
|
|
5967
6143
|
}
|
|
5968
6144
|
if (!m) return y[e] = t, t;
|
|
5969
6145
|
if ("#" === m) {
|
|
5970
|
-
var
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
return
|
|
6146
|
+
var _e3 = t.slice(1),
|
|
6147
|
+
_r6 = n(y, _e3),
|
|
6148
|
+
_o6 = _r6 ? y[_e3] : getByKeyPath(s, _e3);
|
|
6149
|
+
return _r6 || void 0 !== _o6 || c.push([s, _e3, u, f]), _o6;
|
|
5974
6150
|
}
|
|
5975
6151
|
var applyType = function applyType(t) {
|
|
5976
6152
|
var r = [].concat(m).reduce(function reducer(e, t) {
|
|
@@ -5989,9 +6165,9 @@
|
|
|
5989
6165
|
}) : applyType(t);
|
|
5990
6166
|
}("", e, null), p.length && (d = TypesonPromise.resolve(d).then(function (e) {
|
|
5991
6167
|
return TypesonPromise.all([e].concat(p));
|
|
5992
|
-
}).then(function (
|
|
5993
|
-
var
|
|
5994
|
-
e =
|
|
6168
|
+
}).then(function (_ref1) {
|
|
6169
|
+
var _ref10 = _slicedToArray(_ref1, 1),
|
|
6170
|
+
e = _ref10[0];
|
|
5995
6171
|
return e;
|
|
5996
6172
|
}))), isThenable(d) ? a && s.throwOnBadSyncType ? function () {
|
|
5997
6173
|
throw new TypeError("Sync method requested but async result obtained");
|
|
@@ -6026,49 +6202,50 @@
|
|
|
6026
6202
|
o(e) ? e.forEach(function (e) {
|
|
6027
6203
|
_reg(e);
|
|
6028
6204
|
}) : r(e).forEach(function (t) {
|
|
6029
|
-
var
|
|
6205
|
+
var _r9;
|
|
6030
6206
|
if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
|
|
6031
6207
|
if (a.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
|
|
6032
6208
|
var r = e[t];
|
|
6033
|
-
|
|
6034
|
-
|
|
6209
|
+
if ([_this4.plainObjectReplacers, _this4.nonplainObjectReplacers].forEach(function (e) {
|
|
6210
|
+
var r = e.findIndex(function (e) {
|
|
6035
6211
|
return e.type === t;
|
|
6036
6212
|
});
|
|
6037
|
-
|
|
6038
|
-
|
|
6213
|
+
-1 !== r && e.splice(r, 1);
|
|
6214
|
+
}), delete _this4.revivers[t], delete _this4.types[t], "function" == typeof r) {
|
|
6215
|
+
var _e4 = r;
|
|
6039
6216
|
r = {
|
|
6040
6217
|
test: function test(t) {
|
|
6041
|
-
return t && t.constructor ===
|
|
6218
|
+
return t && t.constructor === _e4;
|
|
6042
6219
|
},
|
|
6043
6220
|
replace: function replace(e) {
|
|
6044
6221
|
return _objectSpread2({}, e);
|
|
6045
6222
|
},
|
|
6046
6223
|
revive: function revive(t) {
|
|
6047
|
-
return Object.assign(Object.create(
|
|
6224
|
+
return Object.assign(Object.create(_e4.prototype), t);
|
|
6048
6225
|
}
|
|
6049
6226
|
};
|
|
6050
6227
|
} else if (o(r)) {
|
|
6051
|
-
var
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6228
|
+
var _r7 = r,
|
|
6229
|
+
_r8 = _slicedToArray(_r7, 3),
|
|
6230
|
+
_e5 = _r8[0],
|
|
6231
|
+
_t7 = _r8[1],
|
|
6232
|
+
_n2 = _r8[2];
|
|
6056
6233
|
r = {
|
|
6057
|
-
test:
|
|
6058
|
-
replace:
|
|
6059
|
-
revive:
|
|
6234
|
+
test: _e5,
|
|
6235
|
+
replace: _t7,
|
|
6236
|
+
revive: _n2
|
|
6060
6237
|
};
|
|
6061
6238
|
}
|
|
6062
|
-
if (!((
|
|
6063
|
-
var
|
|
6239
|
+
if (!((_r9 = r) !== null && _r9 !== void 0 && _r9.test)) return;
|
|
6240
|
+
var s = {
|
|
6064
6241
|
type: t,
|
|
6065
6242
|
test: r.test.bind(r)
|
|
6066
6243
|
};
|
|
6067
|
-
r.replace && (
|
|
6068
|
-
var
|
|
6069
|
-
if (r.testPlainObjects ? _this4.plainObjectReplacers.splice(
|
|
6070
|
-
var
|
|
6071
|
-
r.revive && (
|
|
6244
|
+
r.replace && (s.replace = r.replace.bind(r)), r.replaceAsync && (s.replaceAsync = r.replaceAsync.bind(r));
|
|
6245
|
+
var i = "number" == typeof n.fallback ? n.fallback : n.fallback ? 0 : 1 / 0;
|
|
6246
|
+
if (r.testPlainObjects ? _this4.plainObjectReplacers.splice(i, 0, s) : _this4.nonplainObjectReplacers.splice(i, 0, s), r.revive || r.reviveAsync) {
|
|
6247
|
+
var _e6 = {};
|
|
6248
|
+
r.revive && (_e6.revive = r.revive.bind(r)), r.reviveAsync && (_e6.reviveAsync = r.reviveAsync.bind(r)), _this4.revivers[t] = [_e6, {
|
|
6072
6249
|
plain: r.testPlainObjects
|
|
6073
6250
|
}];
|
|
6074
6251
|
}
|
|
@@ -6087,12 +6264,12 @@
|
|
|
6087
6264
|
Undefined.__typeson__type__ = "TypesonUndefined";
|
|
6088
6265
|
var a = ["null", "boolean", "number", "string", "array", "object"];
|
|
6089
6266
|
for (var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = new Uint8Array(256), y = 0; y < 64; y++) c[i.codePointAt(y)] = y;
|
|
6090
|
-
var
|
|
6267
|
+
var u = function encode(e, t, r) {
|
|
6091
6268
|
null == r && (r = e.byteLength);
|
|
6092
6269
|
for (var n = new Uint8Array(e, 0, r), o = n.length, s = "", a = 0; a < o; a += 3) s += i[n[a] >> 2], s += i[(3 & n[a]) << 4 | n[a + 1] >> 4], s += i[(15 & n[a + 1]) << 2 | n[a + 2] >> 6], s += i[63 & n[a + 2]];
|
|
6093
6270
|
return o % 3 == 2 ? s = s.slice(0, -1) + "=" : o % 3 == 1 && (s = s.slice(0, -2) + "=="), s;
|
|
6094
6271
|
},
|
|
6095
|
-
|
|
6272
|
+
l = function decode(e, t) {
|
|
6096
6273
|
var r = e.length;
|
|
6097
6274
|
if (r % 4) throw new Error("Bad base64 length: not divisible by four");
|
|
6098
6275
|
var n,
|
|
@@ -6102,8 +6279,8 @@
|
|
|
6102
6279
|
i = .75 * e.length,
|
|
6103
6280
|
y = 0;
|
|
6104
6281
|
"=" === e[e.length - 1] && (i--, "=" === e[e.length - 2] && i--);
|
|
6105
|
-
for (var
|
|
6106
|
-
return
|
|
6282
|
+
for (var u = new ArrayBuffer(i, t), l = new Uint8Array(u), p = 0; p < r; p += 4) n = c[e.codePointAt(p)], o = c[e.codePointAt(p + 1)], s = c[e.codePointAt(p + 2)], a = c[e.codePointAt(p + 3)], l[y++] = n << 2 | o >> 4, l[y++] = (15 & o) << 4 | s >> 2, l[y++] = (3 & s) << 6 | 63 & a;
|
|
6283
|
+
return u;
|
|
6107
6284
|
};
|
|
6108
6285
|
var p = {
|
|
6109
6286
|
arraybuffer: {
|
|
@@ -6116,14 +6293,14 @@
|
|
|
6116
6293
|
return -1 !== r ? {
|
|
6117
6294
|
index: r
|
|
6118
6295
|
} : (t.buffers.push(e), {
|
|
6119
|
-
s:
|
|
6296
|
+
s: u(e),
|
|
6120
6297
|
maxByteLength: e.maxByteLength,
|
|
6121
6298
|
resizable: e.resizable
|
|
6122
6299
|
});
|
|
6123
6300
|
},
|
|
6124
6301
|
revive: function revive(e, t) {
|
|
6125
6302
|
if (t.buffers || (t.buffers = []), Object.hasOwn(e, "index")) return t.buffers[e.index];
|
|
6126
|
-
var r =
|
|
6303
|
+
var r = l(e.s, e.resizable ? {
|
|
6127
6304
|
maxByteLength: e.maxByteLength
|
|
6128
6305
|
} : void 0);
|
|
6129
6306
|
return t.buffers.push(r), r;
|
|
@@ -6159,7 +6336,7 @@
|
|
|
6159
6336
|
}
|
|
6160
6337
|
function string2arraybuffer(e) {
|
|
6161
6338
|
var t = new Uint8Array(e.length);
|
|
6162
|
-
for (var
|
|
6339
|
+
for (var _r0 = 0; _r0 < e.length; _r0++) t[_r0] = e.charCodeAt(_r0);
|
|
6163
6340
|
return t.buffer;
|
|
6164
6341
|
}
|
|
6165
6342
|
var m = {
|
|
@@ -6204,8 +6381,8 @@
|
|
|
6204
6381
|
},
|
|
6205
6382
|
replaceAsync: function replaceAsync(e) {
|
|
6206
6383
|
return new TypesonPromise(/*#__PURE__*/function () {
|
|
6207
|
-
var
|
|
6208
|
-
var n,
|
|
6384
|
+
var _ref11 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(t, r) {
|
|
6385
|
+
var n, _t8;
|
|
6209
6386
|
return _regenerator().w(function (_context3) {
|
|
6210
6387
|
while (1) switch (_context3.p = _context3.n) {
|
|
6211
6388
|
case 0:
|
|
@@ -6218,8 +6395,8 @@
|
|
|
6218
6395
|
break;
|
|
6219
6396
|
case 2:
|
|
6220
6397
|
_context3.p = 2;
|
|
6221
|
-
|
|
6222
|
-
return _context3.a(2, void r(
|
|
6398
|
+
_t8 = _context3.v;
|
|
6399
|
+
return _context3.a(2, void r(_t8));
|
|
6223
6400
|
case 3:
|
|
6224
6401
|
t({
|
|
6225
6402
|
jwk: n,
|
|
@@ -6232,7 +6409,7 @@
|
|
|
6232
6409
|
}, _callee3, null, [[0, 2]]);
|
|
6233
6410
|
}));
|
|
6234
6411
|
return function (_x4, _x5) {
|
|
6235
|
-
return
|
|
6412
|
+
return _ref11.apply(this, arguments);
|
|
6236
6413
|
};
|
|
6237
6414
|
}());
|
|
6238
6415
|
},
|
|
@@ -6249,10 +6426,10 @@
|
|
|
6249
6426
|
test: function test(e) {
|
|
6250
6427
|
return "DataView" === toStringTag(e);
|
|
6251
6428
|
},
|
|
6252
|
-
replace: function replace(
|
|
6253
|
-
var e =
|
|
6254
|
-
t =
|
|
6255
|
-
r =
|
|
6429
|
+
replace: function replace(_ref12, n) {
|
|
6430
|
+
var e = _ref12.buffer,
|
|
6431
|
+
t = _ref12.byteOffset,
|
|
6432
|
+
r = _ref12.byteLength;
|
|
6256
6433
|
n.buffers || (n.buffers = []);
|
|
6257
6434
|
var o = n.buffers.indexOf(e);
|
|
6258
6435
|
return -1 !== o ? {
|
|
@@ -6260,7 +6437,7 @@
|
|
|
6260
6437
|
byteOffset: t,
|
|
6261
6438
|
byteLength: r
|
|
6262
6439
|
} : (n.buffers.push(e), {
|
|
6263
|
-
encoded:
|
|
6440
|
+
encoded: u(e),
|
|
6264
6441
|
maxByteLength: e.maxByteLength,
|
|
6265
6442
|
resizable: e.resizable,
|
|
6266
6443
|
byteOffset: t,
|
|
@@ -6276,7 +6453,7 @@
|
|
|
6276
6453
|
a = e.maxByteLength,
|
|
6277
6454
|
i = e.resizable;
|
|
6278
6455
|
var c;
|
|
6279
|
-
return "index" in e ? c = t.buffers[s] : (c =
|
|
6456
|
+
return "index" in e ? c = t.buffers[s] : (c = l(o, i ? {
|
|
6280
6457
|
maxByteLength: a
|
|
6281
6458
|
} : a), t.buffers.push(c)), new DataView(c, r, n);
|
|
6282
6459
|
}
|
|
@@ -6307,9 +6484,9 @@
|
|
|
6307
6484
|
message: e.message
|
|
6308
6485
|
};
|
|
6309
6486
|
},
|
|
6310
|
-
revive: function revive(
|
|
6311
|
-
var e =
|
|
6312
|
-
t =
|
|
6487
|
+
revive: function revive(_ref13) {
|
|
6488
|
+
var e = _ref13.message,
|
|
6489
|
+
t = _ref13.name;
|
|
6313
6490
|
return new DOMException(e, t);
|
|
6314
6491
|
}
|
|
6315
6492
|
}
|
|
@@ -6367,11 +6544,11 @@
|
|
|
6367
6544
|
w: e.w
|
|
6368
6545
|
};
|
|
6369
6546
|
},
|
|
6370
|
-
revive: function revive(
|
|
6371
|
-
var t =
|
|
6372
|
-
r =
|
|
6373
|
-
n =
|
|
6374
|
-
o =
|
|
6547
|
+
revive: function revive(_ref14) {
|
|
6548
|
+
var t = _ref14.x,
|
|
6549
|
+
r = _ref14.y,
|
|
6550
|
+
n = _ref14.z,
|
|
6551
|
+
o = _ref14.w;
|
|
6375
6552
|
return new e(t, r, n, o);
|
|
6376
6553
|
}
|
|
6377
6554
|
};
|
|
@@ -6390,11 +6567,11 @@
|
|
|
6390
6567
|
p4: e.p4
|
|
6391
6568
|
};
|
|
6392
6569
|
},
|
|
6393
|
-
revive: function revive(
|
|
6394
|
-
var e =
|
|
6395
|
-
t =
|
|
6396
|
-
r =
|
|
6397
|
-
n =
|
|
6570
|
+
revive: function revive(_ref15) {
|
|
6571
|
+
var e = _ref15.p1,
|
|
6572
|
+
t = _ref15.p2,
|
|
6573
|
+
r = _ref15.p3,
|
|
6574
|
+
n = _ref15.p4;
|
|
6398
6575
|
return new DOMQuad(e, t, r, n);
|
|
6399
6576
|
}
|
|
6400
6577
|
}
|
|
@@ -6413,11 +6590,11 @@
|
|
|
6413
6590
|
height: e.height
|
|
6414
6591
|
};
|
|
6415
6592
|
},
|
|
6416
|
-
revive: function revive(
|
|
6417
|
-
var t =
|
|
6418
|
-
r =
|
|
6419
|
-
n =
|
|
6420
|
-
o =
|
|
6593
|
+
revive: function revive(_ref16) {
|
|
6594
|
+
var t = _ref16.x,
|
|
6595
|
+
r = _ref16.y,
|
|
6596
|
+
n = _ref16.width,
|
|
6597
|
+
o = _ref16.height;
|
|
6421
6598
|
return new e(t, r, n, o);
|
|
6422
6599
|
}
|
|
6423
6600
|
};
|
|
@@ -6428,14 +6605,14 @@
|
|
|
6428
6605
|
test: function test(e) {
|
|
6429
6606
|
return "Error" === toStringTag(e);
|
|
6430
6607
|
},
|
|
6431
|
-
replace: function replace(
|
|
6432
|
-
var e =
|
|
6433
|
-
t =
|
|
6434
|
-
r =
|
|
6435
|
-
n =
|
|
6436
|
-
o =
|
|
6437
|
-
s =
|
|
6438
|
-
a =
|
|
6608
|
+
replace: function replace(_ref17) {
|
|
6609
|
+
var e = _ref17.name,
|
|
6610
|
+
t = _ref17.message,
|
|
6611
|
+
r = _ref17.cause,
|
|
6612
|
+
n = _ref17.stack,
|
|
6613
|
+
o = _ref17.fileName,
|
|
6614
|
+
s = _ref17.lineNumber,
|
|
6615
|
+
a = _ref17.columnNumber;
|
|
6439
6616
|
return {
|
|
6440
6617
|
name: e,
|
|
6441
6618
|
message: t,
|
|
@@ -6458,15 +6635,15 @@
|
|
|
6458
6635
|
test: function test(t) {
|
|
6459
6636
|
return hasConstructorOf(t, e);
|
|
6460
6637
|
},
|
|
6461
|
-
replace: function replace(
|
|
6462
|
-
var e =
|
|
6463
|
-
t =
|
|
6464
|
-
r =
|
|
6465
|
-
n =
|
|
6466
|
-
o =
|
|
6467
|
-
s =
|
|
6468
|
-
a =
|
|
6469
|
-
i =
|
|
6638
|
+
replace: function replace(_ref18) {
|
|
6639
|
+
var e = _ref18.name,
|
|
6640
|
+
t = _ref18.message,
|
|
6641
|
+
r = _ref18.cause,
|
|
6642
|
+
n = _ref18.stack,
|
|
6643
|
+
o = _ref18.fileName,
|
|
6644
|
+
s = _ref18.lineNumber,
|
|
6645
|
+
a = _ref18.columnNumber,
|
|
6646
|
+
i = _ref18.errors;
|
|
6470
6647
|
return {
|
|
6471
6648
|
name: e,
|
|
6472
6649
|
message: t,
|
|
@@ -6487,7 +6664,7 @@
|
|
|
6487
6664
|
[TypeError, RangeError, SyntaxError, ReferenceError, EvalError, URIError].forEach(function (e) {
|
|
6488
6665
|
return create$2(e);
|
|
6489
6666
|
}), "undefined" != typeof AggregateError && create$2(AggregateError), "function" == typeof InternalError && create$2(InternalError);
|
|
6490
|
-
var
|
|
6667
|
+
var E = {
|
|
6491
6668
|
file: {
|
|
6492
6669
|
test: function test(e) {
|
|
6493
6670
|
return "File" === toStringTag(e);
|
|
@@ -6502,11 +6679,11 @@
|
|
|
6502
6679
|
lastModified: e.lastModified
|
|
6503
6680
|
};
|
|
6504
6681
|
},
|
|
6505
|
-
revive: function revive(
|
|
6506
|
-
var e =
|
|
6507
|
-
t =
|
|
6508
|
-
r =
|
|
6509
|
-
n =
|
|
6682
|
+
revive: function revive(_ref19) {
|
|
6683
|
+
var e = _ref19.name,
|
|
6684
|
+
t = _ref19.type,
|
|
6685
|
+
r = _ref19.stringContents,
|
|
6686
|
+
n = _ref19.lastModified;
|
|
6510
6687
|
return new File([string2arraybuffer(r)], e, {
|
|
6511
6688
|
type: t,
|
|
6512
6689
|
lastModified: n
|
|
@@ -6529,15 +6706,15 @@
|
|
|
6529
6706
|
}
|
|
6530
6707
|
}
|
|
6531
6708
|
},
|
|
6532
|
-
|
|
6533
|
-
file:
|
|
6709
|
+
N = {
|
|
6710
|
+
file: E.file,
|
|
6534
6711
|
filelist: {
|
|
6535
6712
|
test: function test(e) {
|
|
6536
6713
|
return "FileList" === toStringTag(e);
|
|
6537
6714
|
},
|
|
6538
6715
|
replace: function replace(e) {
|
|
6539
6716
|
var t = [];
|
|
6540
|
-
for (var
|
|
6717
|
+
for (var _r1 = 0; _r1 < e.length; _r1++) t[_r1] = e.item(_r1);
|
|
6541
6718
|
return t;
|
|
6542
6719
|
},
|
|
6543
6720
|
revive: function revive(e) {
|
|
@@ -6562,7 +6739,7 @@
|
|
|
6562
6739
|
}
|
|
6563
6740
|
}
|
|
6564
6741
|
},
|
|
6565
|
-
|
|
6742
|
+
_ = {
|
|
6566
6743
|
imagebitmap: {
|
|
6567
6744
|
test: function test(e) {
|
|
6568
6745
|
return "ImageBitmap" === toStringTag(e) || e && e.dataset && "ImageBitmap" === e.dataset.toStringTag;
|
|
@@ -6590,36 +6767,36 @@
|
|
|
6590
6767
|
return n.addEventListener("load", function () {
|
|
6591
6768
|
r.drawImage(n, 0, 0);
|
|
6592
6769
|
}), n.src = e.dataURL, new TypesonPromise(/*#__PURE__*/function () {
|
|
6593
|
-
var
|
|
6594
|
-
var
|
|
6770
|
+
var _ref20 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(e, r) {
|
|
6771
|
+
var _t9, _t0;
|
|
6595
6772
|
return _regenerator().w(function (_context4) {
|
|
6596
6773
|
while (1) switch (_context4.p = _context4.n) {
|
|
6597
6774
|
case 0:
|
|
6598
6775
|
_context4.p = 0;
|
|
6599
|
-
|
|
6776
|
+
_t9 = e;
|
|
6600
6777
|
_context4.n = 1;
|
|
6601
6778
|
return createImageBitmap(t);
|
|
6602
6779
|
case 1:
|
|
6603
|
-
|
|
6780
|
+
_t9(_context4.v);
|
|
6604
6781
|
_context4.n = 3;
|
|
6605
6782
|
break;
|
|
6606
6783
|
case 2:
|
|
6607
6784
|
_context4.p = 2;
|
|
6608
|
-
|
|
6609
|
-
r(
|
|
6785
|
+
_t0 = _context4.v;
|
|
6786
|
+
r(_t0);
|
|
6610
6787
|
case 3:
|
|
6611
6788
|
return _context4.a(2);
|
|
6612
6789
|
}
|
|
6613
6790
|
}, _callee4, null, [[0, 2]]);
|
|
6614
6791
|
}));
|
|
6615
6792
|
return function (_x6, _x7) {
|
|
6616
|
-
return
|
|
6793
|
+
return _ref20.apply(this, arguments);
|
|
6617
6794
|
};
|
|
6618
6795
|
}());
|
|
6619
6796
|
}
|
|
6620
6797
|
}
|
|
6621
6798
|
},
|
|
6622
|
-
|
|
6799
|
+
B = {
|
|
6623
6800
|
imagedata: {
|
|
6624
6801
|
test: function test(e) {
|
|
6625
6802
|
return "ImageData" === toStringTag(e);
|
|
@@ -6636,7 +6813,7 @@
|
|
|
6636
6813
|
}
|
|
6637
6814
|
}
|
|
6638
6815
|
},
|
|
6639
|
-
|
|
6816
|
+
I = {
|
|
6640
6817
|
infinity: {
|
|
6641
6818
|
test: function test(e) {
|
|
6642
6819
|
return e === 1 / 0;
|
|
@@ -6701,7 +6878,7 @@
|
|
|
6701
6878
|
}
|
|
6702
6879
|
}
|
|
6703
6880
|
},
|
|
6704
|
-
|
|
6881
|
+
R = {
|
|
6705
6882
|
StringObject: {
|
|
6706
6883
|
test: function test(e) {
|
|
6707
6884
|
return "String" === toStringTag(e) && "object" == _typeof$1(e);
|
|
@@ -6732,7 +6909,7 @@
|
|
|
6732
6909
|
}
|
|
6733
6910
|
}
|
|
6734
6911
|
},
|
|
6735
|
-
|
|
6912
|
+
K = {
|
|
6736
6913
|
regexp: {
|
|
6737
6914
|
test: function test(e) {
|
|
6738
6915
|
return "RegExp" === toStringTag(e);
|
|
@@ -6743,14 +6920,14 @@
|
|
|
6743
6920
|
flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "") + (e.unicodeSets ? "v" : "") + (e.hasIndices ? "d" : "") + (e.dotAll ? "s" : "")
|
|
6744
6921
|
};
|
|
6745
6922
|
},
|
|
6746
|
-
revive: function revive(
|
|
6747
|
-
var e =
|
|
6748
|
-
t =
|
|
6923
|
+
revive: function revive(_ref22) {
|
|
6924
|
+
var e = _ref22.source,
|
|
6925
|
+
t = _ref22.flags;
|
|
6749
6926
|
return new RegExp(e, t);
|
|
6750
6927
|
}
|
|
6751
6928
|
}
|
|
6752
6929
|
},
|
|
6753
|
-
|
|
6930
|
+
z = {
|
|
6754
6931
|
set: {
|
|
6755
6932
|
test: function test(e) {
|
|
6756
6933
|
return "Set" === toStringTag(e);
|
|
@@ -6788,10 +6965,10 @@
|
|
|
6788
6965
|
test: function test(e) {
|
|
6789
6966
|
return toStringTag(e) === t;
|
|
6790
6967
|
},
|
|
6791
|
-
replace: function replace(
|
|
6792
|
-
var e =
|
|
6793
|
-
t =
|
|
6794
|
-
r =
|
|
6968
|
+
replace: function replace(_ref23, n) {
|
|
6969
|
+
var e = _ref23.buffer,
|
|
6970
|
+
t = _ref23.byteOffset,
|
|
6971
|
+
r = _ref23.length;
|
|
6795
6972
|
n.buffers || (n.buffers = []);
|
|
6796
6973
|
var o = n.buffers.indexOf(e);
|
|
6797
6974
|
return -1 !== o ? {
|
|
@@ -6801,7 +6978,7 @@
|
|
|
6801
6978
|
} : (n.buffers.push(e), {
|
|
6802
6979
|
maxByteLength: e.maxByteLength,
|
|
6803
6980
|
resizable: e.resizable,
|
|
6804
|
-
encoded:
|
|
6981
|
+
encoded: u(e),
|
|
6805
6982
|
byteOffset: t,
|
|
6806
6983
|
length: r
|
|
6807
6984
|
});
|
|
@@ -6815,7 +6992,7 @@
|
|
|
6815
6992
|
i = t.maxByteLength,
|
|
6816
6993
|
c = t.resizable;
|
|
6817
6994
|
var y;
|
|
6818
|
-
return "index" in t ? y = r.buffers[a] : (y =
|
|
6995
|
+
return "index" in t ? y = r.buffers[a] : (y = l(s, c ? {
|
|
6819
6996
|
maxByteLength: i
|
|
6820
6997
|
} : void 0), r.buffers.push(y)), new e(y, n, o);
|
|
6821
6998
|
}
|
|
@@ -6862,10 +7039,10 @@
|
|
|
6862
7039
|
revive: function revive(e) {
|
|
6863
7040
|
if (Array.isArray(e)) return e;
|
|
6864
7041
|
var t = [];
|
|
6865
|
-
return Object.entries(e).forEach(function (
|
|
6866
|
-
var
|
|
6867
|
-
e =
|
|
6868
|
-
r =
|
|
7042
|
+
return Object.entries(e).forEach(function (_ref24) {
|
|
7043
|
+
var _ref25 = _slicedToArray(_ref24, 2),
|
|
7044
|
+
e = _ref25[0],
|
|
7045
|
+
r = _ref25[1];
|
|
6869
7046
|
t[e] = r;
|
|
6870
7047
|
}), t;
|
|
6871
7048
|
}
|
|
@@ -6881,8 +7058,8 @@
|
|
|
6881
7058
|
revive: function revive() {}
|
|
6882
7059
|
}
|
|
6883
7060
|
}],
|
|
6884
|
-
X = [M,
|
|
6885
|
-
re = [G, Q, H,
|
|
7061
|
+
X = [M, I, L, D],
|
|
7062
|
+
re = [G, Q, H, R, X, O, K, B, _, E, N, m, x, j].concat("function" == typeof Map ? U : [], "function" == typeof Set ? z : [], "function" == typeof ArrayBuffer ? p : [], "function" == typeof Uint8Array ? W : [], "function" == typeof DataView ? v : [], "undefined" != typeof crypto ? b : [], "undefined" != typeof BigInt ? [d, f] : [], "undefined" != typeof DOMException ? w : [], "undefined" != typeof DOMRect ? S : [], "undefined" != typeof DOMPoint ? A : [], "undefined" != typeof DOMQuad ? P : [], "undefined" != typeof DOMMatrix ? T : []),
|
|
6886
7063
|
ne = re.concat({
|
|
6887
7064
|
checkDataCloneException: {
|
|
6888
7065
|
test: function test(e) {
|
|
@@ -7646,7 +7823,7 @@
|
|
|
7646
7823
|
reject(err);
|
|
7647
7824
|
});
|
|
7648
7825
|
}));
|
|
7649
|
-
SyncPromise.all(indexCreations).then(finish
|
|
7826
|
+
SyncPromise.all(indexCreations).then(finish).catch(/** @type {(reason: any) => PromiseLike<never>} */
|
|
7650
7827
|
error).catch(function (err) {
|
|
7651
7828
|
console.log('Index rename error');
|
|
7652
7829
|
throw err;
|
|
@@ -9839,7 +10016,7 @@
|
|
|
9839
10016
|
* __connections: {
|
|
9840
10017
|
* [key: string]: import('./IDBDatabase.js').IDBDatabaseFull[]
|
|
9841
10018
|
* }
|
|
9842
|
-
|
|
10019
|
+
* }} IDBFactoryFull
|
|
9843
10020
|
*/
|
|
9844
10021
|
|
|
9845
10022
|
var IDBFactoryAlias = IDBFactory;
|
|
@@ -10030,7 +10207,7 @@
|
|
|
10030
10207
|
/** @type {import('./IDBDatabase.js').IDBDatabaseFull} */
|
|
10031
10208
|
req.__result.__versionTransaction = null;
|
|
10032
10209
|
sysdbFinishedCb(systx, false, function () {
|
|
10033
|
-
req.transaction.
|
|
10210
|
+
req.transaction.__callTransFinishedCb(false, function () {
|
|
10034
10211
|
ev.complete();
|
|
10035
10212
|
req.__transaction = null;
|
|
10036
10213
|
});
|
|
@@ -10141,6 +10318,13 @@
|
|
|
10141
10318
|
function openDB(oldVersion) {
|
|
10142
10319
|
/** @type {DatabaseFull} */
|
|
10143
10320
|
var db;
|
|
10321
|
+
if (version === undefined) {
|
|
10322
|
+
// Resolve before use as a cache key below, or a `open(name)` call
|
|
10323
|
+
// (no explicit version) would cache/look up under `undefined`
|
|
10324
|
+
// instead of the actual version, causing a second, separate
|
|
10325
|
+
// connection to be opened for the same database on reopen.
|
|
10326
|
+
version = oldVersion || 1;
|
|
10327
|
+
}
|
|
10144
10328
|
if ((useMemoryDatabase || useDatabaseCache) && Object.hasOwn(websqlDBCache, name) && Object.hasOwn(websqlDBCache[name], version)) {
|
|
10145
10329
|
db = websqlDBCache[name][version];
|
|
10146
10330
|
} else {
|
|
@@ -10152,9 +10336,6 @@
|
|
|
10152
10336
|
websqlDBCache[name][version] = db;
|
|
10153
10337
|
}
|
|
10154
10338
|
}
|
|
10155
|
-
if (version === undefined) {
|
|
10156
|
-
version = oldVersion || 1;
|
|
10157
|
-
}
|
|
10158
10339
|
if (oldVersion > version) {
|
|
10159
10340
|
var err = createDOMException('VersionError', 'An attempt was made to open a database using a lower version than the existing version.', version);
|
|
10160
10341
|
if (useDatabaseCache) {
|
|
@@ -10322,7 +10503,6 @@
|
|
|
10322
10503
|
version = _data$rows$item.version;
|
|
10323
10504
|
var openConnections = me.__connections[name] || [];
|
|
10324
10505
|
triggerAnyVersionChangeAndBlockedEvents(openConnections, req, version, null).then(function () {
|
|
10325
|
-
// eslint-disable-line promise/catch-or-return -- Sync promise
|
|
10326
10506
|
// Since we need two databases which can't be in a single transaction, we
|
|
10327
10507
|
// do this deleting from `dbVersions` first since the `__sys__` deleting
|
|
10328
10508
|
// only impacts file memory whereas this one is critical for avoiding it
|
|
@@ -10351,7 +10531,7 @@
|
|
|
10351
10531
|
});
|
|
10352
10532
|
return undefined;
|
|
10353
10533
|
// @ts-expect-error It's ok
|
|
10354
|
-
}
|
|
10534
|
+
}).catch(dbError);
|
|
10355
10535
|
return undefined;
|
|
10356
10536
|
}, dbError);
|
|
10357
10537
|
});
|
|
@@ -10382,14 +10562,14 @@
|
|
|
10382
10562
|
};
|
|
10383
10563
|
|
|
10384
10564
|
/**
|
|
10385
|
-
|
|
10386
|
-
|
|
10387
|
-
|
|
10388
|
-
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10565
|
+
* May return outdated information if a database has since been deleted.
|
|
10566
|
+
* @see https://github.com/w3c/IndexedDB/pull/240/files
|
|
10567
|
+
* @this {IDBFactoryFull}
|
|
10568
|
+
* @returns {Promise<{
|
|
10569
|
+
* name: string,
|
|
10570
|
+
* version: Integer
|
|
10571
|
+
* }[]>}
|
|
10572
|
+
*/
|
|
10393
10573
|
IDBFactory.prototype.databases = function () {
|
|
10394
10574
|
var me = this;
|
|
10395
10575
|
var calledDbCreateError = false;
|
|
@@ -10437,17 +10617,17 @@
|
|
|
10437
10617
|
};
|
|
10438
10618
|
|
|
10439
10619
|
/**
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
|
|
10443
|
-
|
|
10444
|
-
|
|
10445
|
-
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
10620
|
+
* @todo forceClose: Test
|
|
10621
|
+
* This is provided to facilitate unit-testing of the
|
|
10622
|
+
* closing of a database connection with a forced flag:
|
|
10623
|
+
* <https://w3c.github.io/IndexedDB/#steps-for-closing-a-database-connection>
|
|
10624
|
+
* @param {string} dbName
|
|
10625
|
+
* @param {Integer} connIdx
|
|
10626
|
+
* @param {string} msg
|
|
10627
|
+
* @throws {TypeError}
|
|
10628
|
+
* @this {IDBFactoryFull}
|
|
10629
|
+
* @returns {void}
|
|
10630
|
+
*/
|
|
10451
10631
|
IDBFactory.prototype.__forceClose = function (dbName, connIdx, msg) {
|
|
10452
10632
|
var me = this;
|
|
10453
10633
|
/**
|
|
@@ -10533,6 +10713,9 @@
|
|
|
10533
10713
|
* __unique: boolean,
|
|
10534
10714
|
* __sqlDirection: "DESC"|"ASC",
|
|
10535
10715
|
* __matchedKeys: {[key: string]: true},
|
|
10716
|
+
* __continuationKey: import('./Key.js').Key|undefined,
|
|
10717
|
+
* __continuationPrimaryKey: import('./Key.js').Key|undefined,
|
|
10718
|
+
* __multiEntryExhausted: boolean,
|
|
10536
10719
|
* __invalidateCache: () => void
|
|
10537
10720
|
* }} IDBCursorFull
|
|
10538
10721
|
*/
|
|
@@ -10606,6 +10789,9 @@
|
|
|
10606
10789
|
this.__valueDecoder = this.__keyOnly ? Key : Sca;
|
|
10607
10790
|
this.__count = count;
|
|
10608
10791
|
this.__prefetchedIndex = -1;
|
|
10792
|
+
this.__continuationKey = undefined;
|
|
10793
|
+
this.__continuationPrimaryKey = undefined;
|
|
10794
|
+
this.__multiEntryExhausted = false;
|
|
10609
10795
|
this.__multiEntryIndex = this.__indexSource ? 'multiEntry' in source && source.multiEntry : false;
|
|
10610
10796
|
this.__unique = this.direction.includes('unique');
|
|
10611
10797
|
this.__sqlDirection = ['prev', 'prevunique'].includes(this.direction) ? 'DESC' : 'ASC';
|
|
@@ -10769,73 +10955,97 @@
|
|
|
10769
10955
|
* @param {SQLTransaction} tx
|
|
10770
10956
|
* @param {KeySuccess} success
|
|
10771
10957
|
* @param {FindError} error
|
|
10772
|
-
* @param {Integer
|
|
10958
|
+
* @param {Integer} [recordsToLoad]
|
|
10773
10959
|
* @this {IDBCursorFull}
|
|
10774
10960
|
* @returns {void}
|
|
10775
10961
|
*/
|
|
10776
|
-
IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error
|
|
10962
|
+
IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error) {
|
|
10963
|
+
var recordsToLoad = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
|
|
10777
10964
|
var me = this;
|
|
10778
|
-
if (me.
|
|
10965
|
+
if (me.__multiEntryExhausted) {
|
|
10779
10966
|
if (CFG.DEBUG) {
|
|
10780
|
-
console.log('Reached end of multiEntry cursor');
|
|
10967
|
+
console.log('[multiEntry] Reached end of multiEntry cursor (already exhausted)');
|
|
10781
10968
|
}
|
|
10782
10969
|
success(undefined, undefined, undefined);
|
|
10783
10970
|
return;
|
|
10784
10971
|
}
|
|
10785
10972
|
var quotedKeyColumnName = sqlQuote(me.__keyColumnName);
|
|
10786
|
-
var
|
|
10787
|
-
/** @type {string[]} */
|
|
10788
|
-
var sqlValues = [];
|
|
10789
|
-
sql.push('WHERE', quotedKeyColumnName, 'NOT NULL');
|
|
10790
|
-
if (me.__range && me.__range.lower !== undefined && Array.isArray(me.__range.upper)) {
|
|
10791
|
-
if (me.__range.upper.indexOf(me.__range.lower) === 0) {
|
|
10792
|
-
sql.push('AND', quotedKeyColumnName, "LIKE ? ESCAPE '^'");
|
|
10793
|
-
sqlValues.push('%' + sqlLIKEEscape(/** @type {string} */me.__range.__lowerCached.slice(0, -1)) + '%');
|
|
10794
|
-
}
|
|
10795
|
-
}
|
|
10973
|
+
var quotedKey = sqlQuote('key');
|
|
10796
10974
|
|
|
10797
10975
|
// Determine the ORDER BY direction based on the cursor.
|
|
10798
10976
|
var direction = me.__sqlDirection;
|
|
10799
10977
|
var op = direction === 'ASC' ? '>' : '<';
|
|
10800
|
-
var quotedKey = sqlQuote('key');
|
|
10801
|
-
if (primaryKey !== undefined) {
|
|
10802
|
-
sql.push('AND', quotedKey, op + '= ?');
|
|
10803
|
-
// Key.convertValueToKey(primaryKey); // Already checked by `continuePrimaryKey`
|
|
10804
|
-
sqlValues.push(/** @type {string} */_encode(primaryKey));
|
|
10805
|
-
}
|
|
10806
|
-
if (key !== undefined) {
|
|
10807
|
-
sql.push('AND', quotedKeyColumnName, op + '= ?');
|
|
10808
|
-
// Key.convertValueToKey(key); // Already checked by `continue` or `continuePrimaryKey`
|
|
10809
|
-
sqlValues.push(/** @type {string} */_encode(key));
|
|
10810
|
-
} else if (me.__key !== undefined) {
|
|
10811
|
-
sql.push('AND', quotedKeyColumnName, op + ' ?');
|
|
10812
|
-
// Key.convertValueToKey(me.__key); // Already checked when entered
|
|
10813
|
-
sqlValues.push(/** @type {string} */_encode(me.__key));
|
|
10814
|
-
}
|
|
10815
|
-
if (!me.__count) {
|
|
10816
|
-
// 1. Sort by key
|
|
10817
|
-
sql.push('ORDER BY', quotedKeyColumnName, direction);
|
|
10818
10978
|
|
|
10819
|
-
|
|
10820
|
-
|
|
10821
|
-
|
|
10822
|
-
|
|
10979
|
+
/**
|
|
10980
|
+
* Runs (and, if a batch of underlying rows produces no matching
|
|
10981
|
+
* multi-entry values, repeatedly re-runs) the query for the next batch
|
|
10982
|
+
* of underlying rows, advancing `me.__continuationKey`/
|
|
10983
|
+
* `me.__continuationPrimaryKey` (tracking the last *physical* row
|
|
10984
|
+
* scanned) each time, until either some matches are found or the
|
|
10985
|
+
* underlying table is exhausted.
|
|
10986
|
+
* @returns {void}
|
|
10987
|
+
*/
|
|
10988
|
+
function runQuery() {
|
|
10989
|
+
var sql = ['SELECT * FROM', escapeStoreNameForSQL(me.__store.__currentName)];
|
|
10990
|
+
/** @type {string[]} */
|
|
10991
|
+
var sqlValues = [];
|
|
10992
|
+
sql.push('WHERE', quotedKeyColumnName, 'NOT NULL');
|
|
10993
|
+
if (me.__range && me.__range.lower !== undefined && Array.isArray(me.__range.upper)) {
|
|
10994
|
+
if (me.__range.upper.indexOf(me.__range.lower) === 0) {
|
|
10995
|
+
sql.push('AND', quotedKeyColumnName, "LIKE ? ESCAPE '^'");
|
|
10996
|
+
sqlValues.push('%' + sqlLIKEEscape(/** @type {string} */me.__range.__lowerCached.slice(0, -1)) + '%');
|
|
10997
|
+
}
|
|
10998
|
+
}
|
|
10999
|
+
if (primaryKey !== undefined) {
|
|
11000
|
+
sql.push('AND', quotedKey, op + '= ?');
|
|
11001
|
+
// Key.convertValueToKey(primaryKey); // Already checked by `continuePrimaryKey`
|
|
11002
|
+
sqlValues.push(/** @type {string} */_encode(primaryKey));
|
|
10823
11003
|
}
|
|
10824
|
-
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
|
-
|
|
10828
|
-
|
|
10829
|
-
|
|
11004
|
+
if (key !== undefined) {
|
|
11005
|
+
sql.push('AND', quotedKeyColumnName, op + '= ?');
|
|
11006
|
+
// Key.convertValueToKey(key); // Already checked by `continue` or `continuePrimaryKey`
|
|
11007
|
+
sqlValues.push(/** @type {string} */_encode(key));
|
|
11008
|
+
} else if (me.__continuationKey !== undefined) {
|
|
11009
|
+
// Resume from the last underlying (physical) row we scanned, not
|
|
11010
|
+
// from the last *matching* multi-entry value (which lives in a
|
|
11011
|
+
// different key-space than the raw index column and cannot be
|
|
11012
|
+
// reliably compared against it, e.g. for array index keys).
|
|
11013
|
+
sql.push('AND (', quotedKeyColumnName, op, '?', 'OR (', quotedKeyColumnName, '= ?', 'AND', quotedKey, op, '?))');
|
|
11014
|
+
var encodedContinuationKey = /** @type {string} */
|
|
11015
|
+
_encode(me.__continuationKey, true);
|
|
11016
|
+
sqlValues.push(encodedContinuationKey, encodedContinuationKey, /** @type {string} */_encode(me.__continuationPrimaryKey));
|
|
11017
|
+
}
|
|
11018
|
+
if (!me.__count) {
|
|
11019
|
+
// 1. Sort by key
|
|
11020
|
+
sql.push('ORDER BY', quotedKeyColumnName, direction);
|
|
11021
|
+
|
|
11022
|
+
// 2. Sort by primaryKey (if defined and not unique)
|
|
11023
|
+
if (!me.__unique && me.__keyColumnName !== 'key') {
|
|
11024
|
+
// Avoid adding 'key' twice
|
|
11025
|
+
sql.push(',', sqlQuote('key'), direction);
|
|
11026
|
+
}
|
|
11027
|
+
|
|
11028
|
+
// 3. Sort by position (if defined)
|
|
11029
|
+
|
|
11030
|
+
if (!me.__unique && me.__indexSource) {
|
|
11031
|
+
// 4. Sort by object store position (if defined and not unique)
|
|
11032
|
+
sql.push(',', sqlQuote(me.__valueColumnName), direction);
|
|
11033
|
+
}
|
|
11034
|
+
sql.push('LIMIT', String(recordsToLoad));
|
|
11035
|
+
}
|
|
11036
|
+
var sqlStr = sql.join(' ');
|
|
11037
|
+
if (CFG.DEBUG) {
|
|
11038
|
+
console.log('[multiEntry] query', sqlStr, sqlValues);
|
|
10830
11039
|
}
|
|
10831
|
-
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
10835
|
-
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
|
|
11040
|
+
tx.executeSql(sqlStr, sqlValues, function (tx, data) {
|
|
11041
|
+
if (data.rows.length === 0) {
|
|
11042
|
+
me.__multiEntryExhausted = true;
|
|
11043
|
+
if (CFG.DEBUG) {
|
|
11044
|
+
console.log('[multiEntry] Reached end of multiEntry cursor (no more rows)');
|
|
11045
|
+
}
|
|
11046
|
+
success(undefined, undefined, undefined);
|
|
11047
|
+
return;
|
|
11048
|
+
}
|
|
10839
11049
|
if (me.__count) {
|
|
10840
11050
|
// Avoid caching and other processing below
|
|
10841
11051
|
var ct = 0;
|
|
@@ -10848,6 +11058,16 @@
|
|
|
10848
11058
|
success(undefined, ct, undefined);
|
|
10849
11059
|
return;
|
|
10850
11060
|
}
|
|
11061
|
+
|
|
11062
|
+
// Track how far we've physically scanned, regardless of whether
|
|
11063
|
+
// this batch produced any matches, so the next batch (if any)
|
|
11064
|
+
// resumes after this one instead of re-scanning or stopping early.
|
|
11065
|
+
var lastRawRow = data.rows.item(data.rows.length - 1);
|
|
11066
|
+
me.__continuationKey = _decode(lastRawRow[me.__keyColumnName], true);
|
|
11067
|
+
me.__continuationPrimaryKey = _decode(lastRawRow.key);
|
|
11068
|
+
if (data.rows.length < recordsToLoad) {
|
|
11069
|
+
me.__multiEntryExhausted = true;
|
|
11070
|
+
}
|
|
10851
11071
|
var rows = [];
|
|
10852
11072
|
for (var _i = 0; _i < data.rows.length; _i++) {
|
|
10853
11073
|
var _rowItem = data.rows.item(_i);
|
|
@@ -10874,6 +11094,20 @@
|
|
|
10874
11094
|
_iterator.f();
|
|
10875
11095
|
}
|
|
10876
11096
|
}
|
|
11097
|
+
if (rows.length === 0) {
|
|
11098
|
+
if (me.__multiEntryExhausted) {
|
|
11099
|
+
if (CFG.DEBUG) {
|
|
11100
|
+
console.log('[multiEntry] Reached end of multiEntry cursor (last batch had no matches)');
|
|
11101
|
+
}
|
|
11102
|
+
success(undefined, undefined, undefined);
|
|
11103
|
+
return;
|
|
11104
|
+
}
|
|
11105
|
+
if (CFG.DEBUG) {
|
|
11106
|
+
console.log('[multiEntry] batch had no matches; fetching next batch');
|
|
11107
|
+
}
|
|
11108
|
+
runQuery();
|
|
11109
|
+
return;
|
|
11110
|
+
}
|
|
10877
11111
|
var reverse = me.direction.indexOf('prev') === 0;
|
|
10878
11112
|
rows.sort(function (a, b) {
|
|
10879
11113
|
if (a.matchingKey.replaceAll(leftBracketRegex, 'z') < b.matchingKey.replaceAll(leftBracketRegex, 'z')) {
|
|
@@ -10890,47 +11124,31 @@
|
|
|
10890
11124
|
}
|
|
10891
11125
|
return 0;
|
|
10892
11126
|
});
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10896
|
-
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
|
|
10902
|
-
|
|
10903
|
-
return this.data[index];
|
|
10904
|
-
}
|
|
10905
|
-
};
|
|
10906
|
-
if (CFG.DEBUG) {
|
|
10907
|
-
console.log('Preloaded ' + me.__prefetchedData.length + ' records for multiEntry cursor');
|
|
10908
|
-
}
|
|
10909
|
-
me.__decode(rows[0], success);
|
|
10910
|
-
} else if (rows.length === 1) {
|
|
10911
|
-
if (CFG.DEBUG) {
|
|
10912
|
-
console.log('Reached end of multiEntry cursor');
|
|
10913
|
-
}
|
|
10914
|
-
me.__decode(rows[0], success);
|
|
10915
|
-
} else {
|
|
10916
|
-
if (CFG.DEBUG) {
|
|
10917
|
-
console.log('Reached end of multiEntry cursor');
|
|
11127
|
+
me.__prefetchedIndex = 0;
|
|
11128
|
+
me.__prefetchedData = {
|
|
11129
|
+
data: rows,
|
|
11130
|
+
length: rows.length,
|
|
11131
|
+
/**
|
|
11132
|
+
* @param {Integer} index
|
|
11133
|
+
* @returns {RowItemNonNull}
|
|
11134
|
+
*/
|
|
11135
|
+
item: function item(index) {
|
|
11136
|
+
return this.data[index];
|
|
10918
11137
|
}
|
|
10919
|
-
|
|
11138
|
+
};
|
|
11139
|
+
if (CFG.DEBUG) {
|
|
11140
|
+
console.log('[multiEntry] Preloaded ' + me.__prefetchedData.length + ' records for multiEntry cursor');
|
|
10920
11141
|
}
|
|
10921
|
-
|
|
11142
|
+
me.__decode(rows[0], success);
|
|
11143
|
+
}, function (tx, err) {
|
|
10922
11144
|
if (CFG.DEBUG) {
|
|
10923
|
-
console.log('
|
|
11145
|
+
console.log('[multiEntry] Could not execute Cursor.continue', sqlStr, sqlValues);
|
|
10924
11146
|
}
|
|
10925
|
-
|
|
10926
|
-
|
|
10927
|
-
|
|
10928
|
-
|
|
10929
|
-
|
|
10930
|
-
}
|
|
10931
|
-
error(err);
|
|
10932
|
-
return false;
|
|
10933
|
-
});
|
|
11147
|
+
error(err);
|
|
11148
|
+
return false;
|
|
11149
|
+
});
|
|
11150
|
+
}
|
|
11151
|
+
runQuery();
|
|
10934
11152
|
};
|
|
10935
11153
|
|
|
10936
11154
|
/**
|
|
@@ -10942,19 +11160,19 @@
|
|
|
10942
11160
|
*/
|
|
10943
11161
|
|
|
10944
11162
|
/**
|
|
10945
|
-
|
|
10946
|
-
|
|
10947
|
-
|
|
10948
|
-
|
|
10949
|
-
|
|
11163
|
+
* @callback SuccessArg
|
|
11164
|
+
* @param {StructuredCloneValue} value
|
|
11165
|
+
* @param {import('./IDBRequest.js').IDBRequestFull} req
|
|
11166
|
+
* @returns {void}
|
|
11167
|
+
*/
|
|
10950
11168
|
|
|
10951
11169
|
/**
|
|
10952
|
-
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
10957
|
-
|
|
11170
|
+
* @callback SuccessCallback
|
|
11171
|
+
* @param {IndexedDBKey} key
|
|
11172
|
+
* @param {StructuredCloneValue} value
|
|
11173
|
+
* @param {IndexedDBKey} primaryKey
|
|
11174
|
+
* @returns {void}
|
|
11175
|
+
*/
|
|
10958
11176
|
|
|
10959
11177
|
/**
|
|
10960
11178
|
* Creates an "onsuccess" callback.
|
|
@@ -10982,11 +11200,11 @@
|
|
|
10982
11200
|
|
|
10983
11201
|
/**
|
|
10984
11202
|
* @typedef {{
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
10989
|
-
|
|
11203
|
+
* matchingKey: string,
|
|
11204
|
+
* key: string,
|
|
11205
|
+
* [k: string]: string
|
|
11206
|
+
* }} RowItemNonNull
|
|
11207
|
+
*/
|
|
10990
11208
|
|
|
10991
11209
|
/**
|
|
10992
11210
|
*
|
|
@@ -11039,6 +11257,7 @@
|
|
|
11039
11257
|
IDBCursor.prototype.__invalidateCache = function () {
|
|
11040
11258
|
// @ts-expect-error Why is this not being found?
|
|
11041
11259
|
this.__prefetchedData = null;
|
|
11260
|
+
this.__multiEntryExhausted = false;
|
|
11042
11261
|
};
|
|
11043
11262
|
|
|
11044
11263
|
/**
|
|
@@ -11094,8 +11313,8 @@
|
|
|
11094
11313
|
me.__advanceCount--;
|
|
11095
11314
|
me.__key = k;
|
|
11096
11315
|
me.__continue(undefined, true);
|
|
11097
|
-
|
|
11098
|
-
|
|
11316
|
+
// We don't call success yet but do need to advance the transaction queue
|
|
11317
|
+
runContinuationSafely(/** @type {() => void} */executeNextRequest);
|
|
11099
11318
|
return;
|
|
11100
11319
|
}
|
|
11101
11320
|
me.__advanceCount = undefined;
|
|
@@ -11117,11 +11336,15 @@
|
|
|
11117
11336
|
return;
|
|
11118
11337
|
}
|
|
11119
11338
|
// @ts-expect-error Todo: Our bug to fix
|
|
11120
|
-
|
|
11339
|
+
runContinuationSafely(function () {
|
|
11340
|
+
return cursorContinue(tx, args, success, error);
|
|
11341
|
+
});
|
|
11121
11342
|
}
|
|
11122
11343
|
if (me.__unique && !me.__multiEntryIndex && encKey === _encode(me.key, me.__multiEntryIndex)) {
|
|
11123
11344
|
// @ts-expect-error Todo: Our bug to fix
|
|
11124
|
-
|
|
11345
|
+
runContinuationSafely(function () {
|
|
11346
|
+
return cursorContinue(tx, args, success, error);
|
|
11347
|
+
});
|
|
11125
11348
|
return;
|
|
11126
11349
|
}
|
|
11127
11350
|
checkKey();
|