mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 21:52:19 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
21
web/node_modules/@webassemblyjs/utf8/LICENSE
generated
vendored
Normal file
21
web/node_modules/@webassemblyjs/utf8/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 Sven Sauleau <sven@sauleau.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
95
web/node_modules/@webassemblyjs/utf8/esm/decoder.js
generated
vendored
Normal file
95
web/node_modules/@webassemblyjs/utf8/esm/decoder.js
generated
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
function con(b) {
|
||||
if ((b & 0xc0) === 0x80) {
|
||||
return b & 0x3f;
|
||||
} else {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
||||
}
|
||||
|
||||
function code(min, n) {
|
||||
if (n < min || 0xd800 <= n && n < 0xe000 || n >= 0x10000) {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
} else {
|
||||
return n;
|
||||
}
|
||||
}
|
||||
|
||||
export function decode(bytes) {
|
||||
return _decode(bytes).map(function (x) {
|
||||
return String.fromCharCode(x);
|
||||
}).join("");
|
||||
}
|
||||
|
||||
function _decode(bytes) {
|
||||
if (bytes.length === 0) {
|
||||
return [];
|
||||
}
|
||||
/**
|
||||
* 1 byte
|
||||
*/
|
||||
|
||||
|
||||
{
|
||||
var _bytes = _toArray(bytes),
|
||||
b1 = _bytes[0],
|
||||
bs = _bytes.slice(1);
|
||||
|
||||
if (b1 < 0x80) {
|
||||
return [code(0x0, b1)].concat(_toConsumableArray(_decode(bs)));
|
||||
}
|
||||
|
||||
if (b1 < 0xc0) {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 2 bytes
|
||||
*/
|
||||
|
||||
{
|
||||
var _bytes2 = _toArray(bytes),
|
||||
_b = _bytes2[0],
|
||||
b2 = _bytes2[1],
|
||||
_bs = _bytes2.slice(2);
|
||||
|
||||
if (_b < 0xe0) {
|
||||
return [code(0x80, ((_b & 0x1f) << 6) + con(b2))].concat(_toConsumableArray(_decode(_bs)));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 3 bytes
|
||||
*/
|
||||
|
||||
{
|
||||
var _bytes3 = _toArray(bytes),
|
||||
_b2 = _bytes3[0],
|
||||
_b3 = _bytes3[1],
|
||||
b3 = _bytes3[2],
|
||||
_bs2 = _bytes3.slice(3);
|
||||
|
||||
if (_b2 < 0xf0) {
|
||||
return [code(0x800, ((_b2 & 0x0f) << 12) + (con(_b3) << 6) + con(b3))].concat(_toConsumableArray(_decode(_bs2)));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 4 bytes
|
||||
*/
|
||||
|
||||
{
|
||||
var _bytes4 = _toArray(bytes),
|
||||
_b4 = _bytes4[0],
|
||||
_b5 = _bytes4[1],
|
||||
_b6 = _bytes4[2],
|
||||
b4 = _bytes4[3],
|
||||
_bs3 = _bytes4.slice(4);
|
||||
|
||||
if (_b4 < 0xf8) {
|
||||
return [code(0x10000, (((_b4 & 0x07) << 18) + con(_b5) << 12) + (con(_b6) << 6) + con(b4))].concat(_toConsumableArray(_decode(_bs3)));
|
||||
}
|
||||
}
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
46
web/node_modules/@webassemblyjs/utf8/esm/encoder.js
generated
vendored
Normal file
46
web/node_modules/@webassemblyjs/utf8/esm/encoder.js
generated
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
function con(n) {
|
||||
return 0x80 | n & 0x3f;
|
||||
}
|
||||
|
||||
export function encode(str) {
|
||||
var arr = str.split("").map(function (x) {
|
||||
return x.charCodeAt(0);
|
||||
});
|
||||
return _encode(arr);
|
||||
}
|
||||
|
||||
function _encode(arr) {
|
||||
if (arr.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var _arr = _toArray(arr),
|
||||
n = _arr[0],
|
||||
ns = _arr.slice(1);
|
||||
|
||||
if (n < 0) {
|
||||
throw new Error("utf8");
|
||||
}
|
||||
|
||||
if (n < 0x80) {
|
||||
return [n].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
if (n < 0x800) {
|
||||
return [0xc0 | n >>> 6, con(n)].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
if (n < 0x10000) {
|
||||
return [0xe0 | n >>> 12, con(n >>> 6), con(n)].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
if (n < 0x110000) {
|
||||
return [0xf0 | n >>> 18, con(n >>> 12), con(n >>> 6), con(n)].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
throw new Error("utf8");
|
||||
}
|
2
web/node_modules/@webassemblyjs/utf8/esm/index.js
generated
vendored
Normal file
2
web/node_modules/@webassemblyjs/utf8/esm/index.js
generated
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
export { decode } from "./decoder";
|
||||
export { encode } from "./encoder";
|
102
web/node_modules/@webassemblyjs/utf8/lib/decoder.js
generated
vendored
Normal file
102
web/node_modules/@webassemblyjs/utf8/lib/decoder.js
generated
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.decode = decode;
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
function con(b) {
|
||||
if ((b & 0xc0) === 0x80) {
|
||||
return b & 0x3f;
|
||||
} else {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
||||
}
|
||||
|
||||
function code(min, n) {
|
||||
if (n < min || 0xd800 <= n && n < 0xe000 || n >= 0x10000) {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
} else {
|
||||
return n;
|
||||
}
|
||||
}
|
||||
|
||||
function decode(bytes) {
|
||||
return _decode(bytes).map(function (x) {
|
||||
return String.fromCharCode(x);
|
||||
}).join("");
|
||||
}
|
||||
|
||||
function _decode(bytes) {
|
||||
if (bytes.length === 0) {
|
||||
return [];
|
||||
}
|
||||
/**
|
||||
* 1 byte
|
||||
*/
|
||||
|
||||
|
||||
{
|
||||
var _bytes = _toArray(bytes),
|
||||
b1 = _bytes[0],
|
||||
bs = _bytes.slice(1);
|
||||
|
||||
if (b1 < 0x80) {
|
||||
return [code(0x0, b1)].concat(_toConsumableArray(_decode(bs)));
|
||||
}
|
||||
|
||||
if (b1 < 0xc0) {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 2 bytes
|
||||
*/
|
||||
|
||||
{
|
||||
var _bytes2 = _toArray(bytes),
|
||||
_b = _bytes2[0],
|
||||
b2 = _bytes2[1],
|
||||
_bs = _bytes2.slice(2);
|
||||
|
||||
if (_b < 0xe0) {
|
||||
return [code(0x80, ((_b & 0x1f) << 6) + con(b2))].concat(_toConsumableArray(_decode(_bs)));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 3 bytes
|
||||
*/
|
||||
|
||||
{
|
||||
var _bytes3 = _toArray(bytes),
|
||||
_b2 = _bytes3[0],
|
||||
_b3 = _bytes3[1],
|
||||
b3 = _bytes3[2],
|
||||
_bs2 = _bytes3.slice(3);
|
||||
|
||||
if (_b2 < 0xf0) {
|
||||
return [code(0x800, ((_b2 & 0x0f) << 12) + (con(_b3) << 6) + con(b3))].concat(_toConsumableArray(_decode(_bs2)));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 4 bytes
|
||||
*/
|
||||
|
||||
{
|
||||
var _bytes4 = _toArray(bytes),
|
||||
_b4 = _bytes4[0],
|
||||
_b5 = _bytes4[1],
|
||||
_b6 = _bytes4[2],
|
||||
b4 = _bytes4[3],
|
||||
_bs3 = _bytes4.slice(4);
|
||||
|
||||
if (_b4 < 0xf8) {
|
||||
return [code(0x10000, (((_b4 & 0x07) << 18) + con(_b5) << 12) + (con(_b6) << 6) + con(b4))].concat(_toConsumableArray(_decode(_bs3)));
|
||||
}
|
||||
}
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
53
web/node_modules/@webassemblyjs/utf8/lib/encoder.js
generated
vendored
Normal file
53
web/node_modules/@webassemblyjs/utf8/lib/encoder.js
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.encode = encode;
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
function con(n) {
|
||||
return 0x80 | n & 0x3f;
|
||||
}
|
||||
|
||||
function encode(str) {
|
||||
var arr = str.split("").map(function (x) {
|
||||
return x.charCodeAt(0);
|
||||
});
|
||||
return _encode(arr);
|
||||
}
|
||||
|
||||
function _encode(arr) {
|
||||
if (arr.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var _arr = _toArray(arr),
|
||||
n = _arr[0],
|
||||
ns = _arr.slice(1);
|
||||
|
||||
if (n < 0) {
|
||||
throw new Error("utf8");
|
||||
}
|
||||
|
||||
if (n < 0x80) {
|
||||
return [n].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
if (n < 0x800) {
|
||||
return [0xc0 | n >>> 6, con(n)].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
if (n < 0x10000) {
|
||||
return [0xe0 | n >>> 12, con(n >>> 6), con(n)].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
if (n < 0x110000) {
|
||||
return [0xf0 | n >>> 18, con(n >>> 12), con(n >>> 6), con(n)].concat(_toConsumableArray(_encode(ns)));
|
||||
}
|
||||
|
||||
throw new Error("utf8");
|
||||
}
|
21
web/node_modules/@webassemblyjs/utf8/lib/index.js
generated
vendored
Normal file
21
web/node_modules/@webassemblyjs/utf8/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "decode", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _decoder.decode;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "encode", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _encoder.encode;
|
||||
}
|
||||
});
|
||||
|
||||
var _decoder = require("./decoder");
|
||||
|
||||
var _encoder = require("./encoder");
|
20
web/node_modules/@webassemblyjs/utf8/package.json
generated
vendored
Normal file
20
web/node_modules/@webassemblyjs/utf8/package.json
generated
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "@webassemblyjs/utf8",
|
||||
"version": "1.9.0",
|
||||
"description": "UTF8 encoder/decoder for WASM",
|
||||
"main": "lib/index.js",
|
||||
"module": "esm/index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/xtuc/webassemblyjs.git"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"author": "Sven Sauleau",
|
||||
"license": "MIT",
|
||||
"gitHead": "0440b420888c1f7701eb9762ec657775506b87d8"
|
||||
}
|
86
web/node_modules/@webassemblyjs/utf8/src/decoder.js
generated
vendored
Normal file
86
web/node_modules/@webassemblyjs/utf8/src/decoder.js
generated
vendored
Normal file
|
@ -0,0 +1,86 @@
|
|||
function con(b) {
|
||||
if ((b & 0xc0) === 0x80) {
|
||||
return b & 0x3f;
|
||||
} else {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
||||
}
|
||||
|
||||
function code(min, n) {
|
||||
if (n < min || (0xd800 <= n && n < 0xe000) || n >= 0x10000) {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
} else {
|
||||
return n;
|
||||
}
|
||||
}
|
||||
|
||||
export function decode(bytes) {
|
||||
return _decode(bytes)
|
||||
.map(x => String.fromCharCode(x))
|
||||
.join("");
|
||||
}
|
||||
|
||||
function _decode(bytes) {
|
||||
if (bytes.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* 1 byte
|
||||
*/
|
||||
{
|
||||
const [b1, ...bs] = bytes;
|
||||
|
||||
if (b1 < 0x80) {
|
||||
return [code(0x0, b1), ..._decode(bs)];
|
||||
}
|
||||
|
||||
if (b1 < 0xc0) {
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 2 bytes
|
||||
*/
|
||||
{
|
||||
const [b1, b2, ...bs] = bytes;
|
||||
|
||||
if (b1 < 0xe0) {
|
||||
return [code(0x80, ((b1 & 0x1f) << 6) + con(b2)), ..._decode(bs)];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 3 bytes
|
||||
*/
|
||||
{
|
||||
const [b1, b2, b3, ...bs] = bytes;
|
||||
|
||||
if (b1 < 0xf0) {
|
||||
return [
|
||||
code(0x800, ((b1 & 0x0f) << 12) + (con(b2) << 6) + con(b3)),
|
||||
..._decode(bs)
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 4 bytes
|
||||
*/
|
||||
{
|
||||
const [b1, b2, b3, b4, ...bs] = bytes;
|
||||
|
||||
if (b1 < 0xf8) {
|
||||
return [
|
||||
code(
|
||||
0x10000,
|
||||
((((b1 & 0x07) << 18) + con(b2)) << 12) + (con(b3) << 6) + con(b4)
|
||||
),
|
||||
..._decode(bs)
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error("invalid UTF-8 encoding");
|
||||
}
|
44
web/node_modules/@webassemblyjs/utf8/src/encoder.js
generated
vendored
Normal file
44
web/node_modules/@webassemblyjs/utf8/src/encoder.js
generated
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
function con(n) {
|
||||
return 0x80 | (n & 0x3f);
|
||||
}
|
||||
|
||||
export function encode(str) {
|
||||
const arr = str.split("").map(x => x.charCodeAt(0));
|
||||
return _encode(arr);
|
||||
}
|
||||
|
||||
function _encode(arr) {
|
||||
if (arr.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const [n, ...ns] = arr;
|
||||
|
||||
if (n < 0) {
|
||||
throw new Error("utf8");
|
||||
}
|
||||
|
||||
if (n < 0x80) {
|
||||
return [n, ..._encode(ns)];
|
||||
}
|
||||
|
||||
if (n < 0x800) {
|
||||
return [0xc0 | (n >>> 6), con(n), ..._encode(ns)];
|
||||
}
|
||||
|
||||
if (n < 0x10000) {
|
||||
return [0xe0 | (n >>> 12), con(n >>> 6), con(n), ..._encode(ns)];
|
||||
}
|
||||
|
||||
if (n < 0x110000) {
|
||||
return [
|
||||
0xf0 | (n >>> 18),
|
||||
con(n >>> 12),
|
||||
con(n >>> 6),
|
||||
con(n),
|
||||
..._encode(ns)
|
||||
];
|
||||
}
|
||||
|
||||
throw new Error("utf8");
|
||||
}
|
4
web/node_modules/@webassemblyjs/utf8/src/index.js
generated
vendored
Normal file
4
web/node_modules/@webassemblyjs/utf8/src/index.js
generated
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// @flow
|
||||
|
||||
export { decode } from "./decoder";
|
||||
export { encode } from "./encoder";
|
13
web/node_modules/@webassemblyjs/utf8/test/index.js
generated
vendored
Normal file
13
web/node_modules/@webassemblyjs/utf8/test/index.js
generated
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
const { assert } = require("chai");
|
||||
|
||||
const { decode, encode } = require("../lib");
|
||||
|
||||
describe("UTF8", () => {
|
||||
it("should f-1(f(x)) = x", () => {
|
||||
assert.equal(decode(encode("foo")), "foo");
|
||||
assert.equal(decode(encode("éé")), "éé");
|
||||
|
||||
// TODO(sven): utf8 encoder fails here
|
||||
// assert.equal(decode(encode("🤣见見")), "🤣见見");
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue