Comparing version 0.10.3-webgl2.2 to 0.11.0
{ | ||
"name": "2gl", | ||
"version": "0.10.3-webgl2.2", | ||
"version": "0.11.0", | ||
"description": "WebGL library for 2GIS projects", | ||
@@ -33,3 +33,3 @@ "repository": { | ||
"eslint": "^4.5.0", | ||
"jsdoc": "git://github.com/jsdoc3/jsdoc.git", | ||
"jsdoc": "^3.6.0", | ||
"minami": "git://github.com/Trufi/minami.git", | ||
@@ -60,4 +60,4 @@ "mocha": "^3.5.0", | ||
"test:dev": "npm run build:shaders && ./node_modules/.bin/_mocha --require=test/babelRegister.js -w test/*.spec.js test/**/*.spec.js", | ||
"pub": "npm run build && npm run build:es5 && npm publish --tag beta && git clean -d -f" | ||
"pub": "npm run build && npm run build:es5 && npm publish && git clean -d -f" | ||
} | ||
} |
@@ -85,4 +85,15 @@ /** | ||
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { | ||
console.log(`Error compiling shader, here is code: \n${this._code}`); | ||
throw new Error(gl.getShaderInfoLog(shader)); | ||
const infoLog = gl.getShaderInfoLog(shader); | ||
const codeLines = (this._code || '').split('\n'); | ||
throw new Error(infoLog.replace(/^ERROR:\s*(\d+):(\d+):\s*(.*?)\n/, | ||
// It's useful to inject erroneous line of code | ||
// in the error message to concise what happened | ||
function (wholeMatch, col, row, message) { | ||
const line = codeLines[Number(row) - 1]; | ||
if (line) { | ||
return `ERROR ${col}:${row}: ${message}\nErroneous line: <<${line}>>\n`; | ||
} else { | ||
return wholeMatch; | ||
} | ||
})); | ||
} | ||
@@ -96,2 +107,2 @@ } | ||
export default Shader; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9TaGFkZXIuanMiXSwibmFtZXMiOlsiU2hhZGVyIiwiY29uc3RydWN0b3IiLCJ0eXBlIiwiY29kZSIsImRlZmluaXRpb25zIiwiVmVydGV4IiwiRnJhZ21lbnQiLCJyZXN1bHQiLCJtYXAiLCJkZWYiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImxpbmVzIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlyc3RMaW5lIiwibGluZSIsImluZGV4T2YiLCJ1bnNoaWZ0IiwicHVzaCIsIl9jb2RlIiwiam9pbiIsImdldCIsImdsIiwiX3NoYWRlciIsIl9jb21waWxlIiwicmVtb3ZlIiwiZGVsZXRlU2hhZGVyIiwiZ2xUeXBlIiwiVkVSVEVYX1NIQURFUiIsIkZSQUdNRU5UX1NIQURFUiIsInNoYWRlciIsImNyZWF0ZVNoYWRlciIsImlzQ29udGV4dExvc3QiLCJFcnJvciIsInNoYWRlclNvdXJjZSIsImNvbXBpbGVTaGFkZXIiLCJnZXRTaGFkZXJQYXJhbWV0ZXIiLCJDT01QSUxFX1NUQVRVUyIsImNvbnNvbGUiLCJsb2ciLCJnZXRTaGFkZXJJbmZvTG9nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0FBU0EsTUFBTUEsTUFBTixDQUFhO0FBQ1RDLGdCQUFZQyxJQUFaLEVBQWtCQyxJQUFsQixFQUF3QkMsY0FBYyxFQUF0QyxFQUEwQztBQUN0Qzs7OztBQUlBLGFBQUtGLElBQUwsR0FBWUEsU0FBUyxRQUFULEdBQW9CRixPQUFPSyxNQUEzQixHQUFvQ0wsT0FBT00sUUFBdkQ7O0FBRUEsY0FBTUMsU0FDRkgsWUFDS0ksR0FETCxDQUNVQyxHQUFELElBQVM7QUFDVixnQkFBSUEsSUFBSUMsS0FBSixLQUFjQyxTQUFsQixFQUE2QjtBQUN6Qix1QkFBTyxhQUFhRixJQUFJUCxJQUFqQixHQUF3QixHQUF4QixHQUE4Qk8sSUFBSUMsS0FBekM7QUFDSCxhQUZELE1BRU87QUFDSCx1QkFBTyxhQUFhRCxJQUFJUCxJQUF4QjtBQUNIO0FBQ0osU0FQTCxDQURKOztBQVVBLGNBQU1VLFFBQVFDLE1BQU1DLE9BQU4sQ0FBY1gsSUFBZCxJQUFzQkEsSUFBdEIsR0FBNkIsQ0FBQ0EsUUFBUSxFQUFULENBQTNDO0FBQ0EsWUFBSVksWUFBWSxJQUFoQjtBQUNBLGFBQUssSUFBSUMsSUFBVCxJQUFpQkosS0FBakIsRUFBd0I7QUFDcEI7QUFDQTtBQUNBLGdCQUFJRyxhQUFhQyxLQUFLQyxPQUFMLENBQWEsVUFBYixNQUE2QixDQUFDLENBQS9DLEVBQWtEO0FBQzlDVix1QkFBT1csT0FBUCxDQUFlRixJQUFmO0FBQ0gsYUFGRCxNQUVPO0FBQ0hULHVCQUFPWSxJQUFQLENBQVlILElBQVo7QUFDSDtBQUNERCx3QkFBWSxLQUFaO0FBQ0g7O0FBRUQ7Ozs7O0FBS0EsYUFBS0ssS0FBTCxHQUFhYixPQUFPYyxJQUFQLENBQVksSUFBWixDQUFiO0FBQ0g7O0FBRUQ7Ozs7QUFJQUMsUUFBSUMsRUFBSixFQUFRO0FBQ0osWUFBSSxDQUFDLEtBQUtDLE9BQVYsRUFBbUI7QUFDZixpQkFBS0MsUUFBTCxDQUFjRixFQUFkO0FBQ0g7QUFDRCxlQUFPLEtBQUtDLE9BQVo7QUFDSDs7QUFFRDs7OztBQUlBRSxXQUFPSCxFQUFQLEVBQVc7QUFDUCxZQUFJLEtBQUtDLE9BQVQsRUFBa0I7QUFDZEQsZUFBR0ksWUFBSCxDQUFnQixLQUFLSCxPQUFyQjtBQUNIO0FBQ0o7O0FBRUQ7Ozs7O0FBS0FDLGFBQVNGLEVBQVQsRUFBYTtBQUNULGNBQU1LLFNBQVMsS0FBSzFCLElBQUwsS0FBY0YsT0FBT0ssTUFBckIsR0FBOEJrQixHQUFHTSxhQUFqQyxHQUFpRE4sR0FBR08sZUFBbkU7QUFDQSxjQUFNQyxTQUFVLEtBQUtQLE9BQUwsR0FBZUQsR0FBR1MsWUFBSCxDQUFnQkosTUFBaEIsQ0FBL0I7O0FBRUEsWUFBSSxDQUFDRyxNQUFELElBQVdSLEdBQUdVLGFBQUgsRUFBZixFQUFtQztBQUMvQixrQkFBTSxJQUFJQyxLQUFKLENBQ0Qsa0RBQWlELENBQUNILE1BQU8sc0JBQXFCUixHQUFHVSxhQUFILEVBQW1CLEVBRGhHLENBQU47QUFHSDs7QUFFRFYsV0FBR1ksWUFBSCxDQUFnQkosTUFBaEIsRUFBd0IsS0FBS1gsS0FBN0I7QUFDQUcsV0FBR2EsYUFBSCxDQUFpQkwsTUFBakI7O0FBRUEsWUFBSSxDQUFDUixHQUFHYyxrQkFBSCxDQUFzQk4sTUFBdEIsRUFBOEJSLEdBQUdlLGNBQWpDLENBQUwsRUFBdUQ7QUFDbkRDLG9CQUFRQyxHQUFSLENBQWEsMkNBQTBDLEtBQUtwQixLQUFNLEVBQWxFO0FBQ0Esa0JBQU0sSUFBSWMsS0FBSixDQUFVWCxHQUFHa0IsZ0JBQUgsQ0FBb0JWLE1BQXBCLENBQVYsQ0FBTjtBQUNIO0FBQ0o7QUFsRlE7O0FBcUZiL0IsT0FBT0ssTUFBUCxHQUFnQixDQUFoQjtBQUNBTCxPQUFPTSxRQUFQLEdBQWtCLENBQWxCOztBQUVBLGVBQWVOLE1BQWYiLCJmaWxlIjoiU2hhZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQqNC10LnQtNC10YAg0LrQvtC80L/QuNC70LjRgNGD0LXRgiDQutC+0LQg0Lgg0YXRgNCw0L3QuNGCINC10LPQviDQsiDQstC40LTQtdC+0LrQsNGA0YLQtS5cbiAqINCe0LTQuNC9INGI0LXQudC00LXRgCDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L0g0LTQu9GPINC90LXRgdC60L7Qu9GM0LrQuNGFINC/0YDQvtCz0YDQsNC80LwuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGUg0KLQuNC/INGI0LXQudC00LXRgNCwOiDQuNC70LggdmVydGV4LCDQuNC70LggZnJhZ21lbnRcbiAqIEBwYXJhbSB7U3RyaW5nIHwgU3RyaW5nW119IGNvZGUg0JrQvtC0INGI0LXQudC00LXRgNCwINC90LDQv9C40YHQsNC90L3Ri9C5INC90LAg0Y/Qt9GL0LrQtSBHTFNMLlxuICog0JzQvtC20L3QviDQv9C10YDQtdC00LDRgtGMINC90LXRgdC60L7Qu9GM0LrQviDRgdGC0YDQvtC6INCyINCy0LjQtNC1INC80LDRgdGB0LjQstCwLCDRgtC+0LPQtNCwINC/0LXRgNC10LQg0LrQvtC80L/QuNC70Y/RhtC40LXQuSDRgdGC0YDQvtC60Lgg0YHQu9C+0LbQsNGC0YHRjy5cbiAqIEBwYXJhbSB7T2JqZWN0W119IFtkZWZpbml0aW9ucz1bXV1cbiAqL1xuY2xhc3MgU2hhZGVyIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCBjb2RlLCBkZWZpbml0aW9ucyA9IFtdKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiDQotC40L8g0YjQtdC50LTQtdGA0LBcbiAgICAgICAgICogQHR5cGUge1NoYWRlci5WZXJ0ZXggfCBTaGFkZXIuRnJhZ21lbnR9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlID09PSAndmVydGV4JyA/IFNoYWRlci5WZXJ0ZXggOiBTaGFkZXIuRnJhZ21lbnQ7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gXG4gICAgICAgICAgICBkZWZpbml0aW9uc1xuICAgICAgICAgICAgICAgIC5tYXAoKGRlZikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnI2RlZmluZSAnICsgZGVmLnR5cGUgKyAnICcgKyBkZWYudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyNkZWZpbmUgJyArIGRlZi50eXBlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbGluZXMgPSBBcnJheS5pc0FycmF5KGNvZGUpID8gY29kZSA6IFtjb2RlIHx8ICcnXTtcbiAgICAgICAgbGV0IGZpcnN0TGluZSA9IHRydWU7XG4gICAgICAgIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICAgIC8vINCV0YHQu9C4INCyINGI0LXQudC00LXRgNCw0YUg0YPQutCw0LfQsNC90LAg0LLQtdGA0YHQuNGPLCDRgtC+INC10LUg0L3Rg9C20L3QviDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+XG4gICAgICAgICAgICAvLyDQv9C+0LzQtdGB0YLQuNGC0Ywg0L/QtdGA0LLQvtC5INGB0YLRgNC+0LrQvtC5XG4gICAgICAgICAgICBpZiAoZmlyc3RMaW5lICYmIGxpbmUuaW5kZXhPZignI3ZlcnNpb24nKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQudW5zaGlmdChsaW5lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobGluZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0TGluZSA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCa0L7QtCDRiNC10LnQtNC10YDQsFxuICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfVxuICAgICAgICAgKiBAaWdub3JlXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9jb2RlID0gcmVzdWx0LmpvaW4oJ1xcbicpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIgd2ViZ2wg0YjQtdC50LTQtdGAINC00LvRjyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRgSDQv9GA0L7Qs9GA0LDQvNC80L7QuS5cbiAgICAgKiDQldGB0LvQuCDRiNC10LnQtNC10YAg0LjRgdC/0L7Qu9GM0LfRg9GO0LXRgtGB0Y8g0L/QtdGA0LLRi9C5INGA0LDQtywg0YLQviDQutC+0LzQv9C40LvQuNGA0YPQtdGCINC10LPQvi5cbiAgICAgKi9cbiAgICBnZXQoZ2wpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zaGFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBpbGUoZ2wpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9zaGFkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0YjQtdC50LTQtdGAINC40Lcg0LLQuNC00LXQvtC60LDRgNGC0YtcbiAgICAgKiBAcGFyYW0gIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsINCa0L7QvdGC0LXQutGB0YIgV2ViR2xcbiAgICAgKi9cbiAgICByZW1vdmUoZ2wpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NoYWRlcikge1xuICAgICAgICAgICAgZ2wuZGVsZXRlU2hhZGVyKHRoaXMuX3NoYWRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0LzQv9C40LvQuNGA0YPQtdGCINC00LDQvdC90YvQuSDRiNC10LnQtNC10YBcbiAgICAgKiBAcGFyYW0gIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsINCa0L7QvdGC0LXQutGB0YIgV2ViR0xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX2NvbXBpbGUoZ2wpIHtcbiAgICAgICAgY29uc3QgZ2xUeXBlID0gdGhpcy50eXBlID09PSBTaGFkZXIuVmVydGV4ID8gZ2wuVkVSVEVYX1NIQURFUiA6IGdsLkZSQUdNRU5UX1NIQURFUjtcbiAgICAgICAgY29uc3Qgc2hhZGVyID0gKHRoaXMuX3NoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbFR5cGUpKTtcblxuICAgICAgICBpZiAoIXNoYWRlciB8fCBnbC5pc0NvbnRleHRMb3N0KCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgWzJnbF0gRmFpbGVkIHRvIGNyZWF0ZSBzaGFkZXIuIFNoYWRlciBpcyBudWxsOiAkeyFzaGFkZXJ9LiBDb250ZXh0IGlzIGxvc3Q6ICR7Z2wuaXNDb250ZXh0TG9zdCgpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgdGhpcy5fY29kZSk7XG4gICAgICAgIGdsLmNvbXBpbGVTaGFkZXIoc2hhZGVyKTsgICAgXG5cbiAgICAgICAgaWYgKCFnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5DT01QSUxFX1NUQVRVUykpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBFcnJvciBjb21waWxpbmcgc2hhZGVyLCBoZXJlIGlzIGNvZGU6IFxcbiR7dGhpcy5fY29kZX1gKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihnbC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRlcikpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5TaGFkZXIuVmVydGV4ID0gMTtcblNoYWRlci5GcmFnbWVudCA9IDI7XG5cbmV4cG9ydCBkZWZhdWx0IFNoYWRlcjtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9TaGFkZXIuanMiXSwibmFtZXMiOlsiU2hhZGVyIiwiY29uc3RydWN0b3IiLCJ0eXBlIiwiY29kZSIsImRlZmluaXRpb25zIiwiVmVydGV4IiwiRnJhZ21lbnQiLCJyZXN1bHQiLCJtYXAiLCJkZWYiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImxpbmVzIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlyc3RMaW5lIiwibGluZSIsImluZGV4T2YiLCJ1bnNoaWZ0IiwicHVzaCIsIl9jb2RlIiwiam9pbiIsImdldCIsImdsIiwiX3NoYWRlciIsIl9jb21waWxlIiwicmVtb3ZlIiwiZGVsZXRlU2hhZGVyIiwiZ2xUeXBlIiwiVkVSVEVYX1NIQURFUiIsIkZSQUdNRU5UX1NIQURFUiIsInNoYWRlciIsImNyZWF0ZVNoYWRlciIsImlzQ29udGV4dExvc3QiLCJFcnJvciIsInNoYWRlclNvdXJjZSIsImNvbXBpbGVTaGFkZXIiLCJnZXRTaGFkZXJQYXJhbWV0ZXIiLCJDT01QSUxFX1NUQVRVUyIsImluZm9Mb2ciLCJnZXRTaGFkZXJJbmZvTG9nIiwiY29kZUxpbmVzIiwic3BsaXQiLCJyZXBsYWNlIiwid2hvbGVNYXRjaCIsImNvbCIsInJvdyIsIm1lc3NhZ2UiLCJOdW1iZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7QUFTQSxNQUFNQSxNQUFOLENBQWE7QUFDVEMsZ0JBQVlDLElBQVosRUFBa0JDLElBQWxCLEVBQXdCQyxjQUFjLEVBQXRDLEVBQTBDO0FBQ3RDOzs7O0FBSUEsYUFBS0YsSUFBTCxHQUFZQSxTQUFTLFFBQVQsR0FBb0JGLE9BQU9LLE1BQTNCLEdBQW9DTCxPQUFPTSxRQUF2RDs7QUFFQSxjQUFNQyxTQUNGSCxZQUNLSSxHQURMLENBQ1VDLEdBQUQsSUFBUztBQUNWLGdCQUFJQSxJQUFJQyxLQUFKLEtBQWNDLFNBQWxCLEVBQTZCO0FBQ3pCLHVCQUFPLGFBQWFGLElBQUlQLElBQWpCLEdBQXdCLEdBQXhCLEdBQThCTyxJQUFJQyxLQUF6QztBQUNILGFBRkQsTUFFTztBQUNILHVCQUFPLGFBQWFELElBQUlQLElBQXhCO0FBQ0g7QUFDSixTQVBMLENBREo7O0FBVUEsY0FBTVUsUUFBUUMsTUFBTUMsT0FBTixDQUFjWCxJQUFkLElBQXNCQSxJQUF0QixHQUE2QixDQUFDQSxRQUFRLEVBQVQsQ0FBM0M7QUFDQSxZQUFJWSxZQUFZLElBQWhCO0FBQ0EsYUFBSyxJQUFJQyxJQUFULElBQWlCSixLQUFqQixFQUF3QjtBQUNwQjtBQUNBO0FBQ0EsZ0JBQUlHLGFBQWFDLEtBQUtDLE9BQUwsQ0FBYSxVQUFiLE1BQTZCLENBQUMsQ0FBL0MsRUFBa0Q7QUFDOUNWLHVCQUFPVyxPQUFQLENBQWVGLElBQWY7QUFDSCxhQUZELE1BRU87QUFDSFQsdUJBQU9ZLElBQVAsQ0FBWUgsSUFBWjtBQUNIO0FBQ0RELHdCQUFZLEtBQVo7QUFDSDs7QUFFRDs7Ozs7QUFLQSxhQUFLSyxLQUFMLEdBQWFiLE9BQU9jLElBQVAsQ0FBWSxJQUFaLENBQWI7QUFDSDs7QUFFRDs7OztBQUlBQyxRQUFJQyxFQUFKLEVBQVE7QUFDSixZQUFJLENBQUMsS0FBS0MsT0FBVixFQUFtQjtBQUNmLGlCQUFLQyxRQUFMLENBQWNGLEVBQWQ7QUFDSDtBQUNELGVBQU8sS0FBS0MsT0FBWjtBQUNIOztBQUVEOzs7O0FBSUFFLFdBQU9ILEVBQVAsRUFBVztBQUNQLFlBQUksS0FBS0MsT0FBVCxFQUFrQjtBQUNkRCxlQUFHSSxZQUFILENBQWdCLEtBQUtILE9BQXJCO0FBQ0g7QUFDSjs7QUFFRDs7Ozs7QUFLQUMsYUFBU0YsRUFBVCxFQUFhO0FBQ1QsY0FBTUssU0FBUyxLQUFLMUIsSUFBTCxLQUFjRixPQUFPSyxNQUFyQixHQUE4QmtCLEdBQUdNLGFBQWpDLEdBQWlETixHQUFHTyxlQUFuRTtBQUNBLGNBQU1DLFNBQVUsS0FBS1AsT0FBTCxHQUFlRCxHQUFHUyxZQUFILENBQWdCSixNQUFoQixDQUEvQjs7QUFFQSxZQUFJLENBQUNHLE1BQUQsSUFBV1IsR0FBR1UsYUFBSCxFQUFmLEVBQW1DO0FBQy9CLGtCQUFNLElBQUlDLEtBQUosQ0FDRCxrREFBaUQsQ0FBQ0gsTUFBTyxzQkFBcUJSLEdBQUdVLGFBQUgsRUFBbUIsRUFEaEcsQ0FBTjtBQUdIOztBQUVEVixXQUFHWSxZQUFILENBQWdCSixNQUFoQixFQUF3QixLQUFLWCxLQUE3QjtBQUNBRyxXQUFHYSxhQUFILENBQWlCTCxNQUFqQjs7QUFFQSxZQUFJLENBQUNSLEdBQUdjLGtCQUFILENBQXNCTixNQUF0QixFQUE4QlIsR0FBR2UsY0FBakMsQ0FBTCxFQUF1RDtBQUNuRCxrQkFBTUMsVUFBVWhCLEdBQUdpQixnQkFBSCxDQUFvQlQsTUFBcEIsQ0FBaEI7QUFDQSxrQkFBTVUsWUFBWSxDQUFDLEtBQUtyQixLQUFMLElBQWMsRUFBZixFQUFtQnNCLEtBQW5CLENBQXlCLElBQXpCLENBQWxCO0FBQ0Esa0JBQU0sSUFBSVIsS0FBSixDQUFVSyxRQUFRSSxPQUFSLENBQWdCLGtDQUFoQjtBQUNaO0FBQ0E7QUFDQSxzQkFBVUMsVUFBVixFQUFzQkMsR0FBdEIsRUFBMkJDLEdBQTNCLEVBQWdDQyxPQUFoQyxFQUF5QztBQUNyQyxzQkFBTS9CLE9BQU95QixVQUFVTyxPQUFPRixHQUFQLElBQWMsQ0FBeEIsQ0FBYjtBQUNBLG9CQUFJOUIsSUFBSixFQUFVO0FBQ04sMkJBQVEsU0FBUTZCLEdBQUksSUFBR0MsR0FBSSxLQUFJQyxPQUFRLHVCQUFzQi9CLElBQUssTUFBbEU7QUFDSCxpQkFGRCxNQUVPO0FBQ0gsMkJBQU80QixVQUFQO0FBQ0g7QUFDSixhQVZXLENBQVYsQ0FBTjtBQVdIO0FBQ0o7QUE3RlE7O0FBZ0diNUMsT0FBT0ssTUFBUCxHQUFnQixDQUFoQjtBQUNBTCxPQUFPTSxRQUFQLEdBQWtCLENBQWxCOztBQUVBLGVBQWVOLE1BQWYiLCJmaWxlIjoiU2hhZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQqNC10LnQtNC10YAg0LrQvtC80L/QuNC70LjRgNGD0LXRgiDQutC+0LQg0Lgg0YXRgNCw0L3QuNGCINC10LPQviDQsiDQstC40LTQtdC+0LrQsNGA0YLQtS5cbiAqINCe0LTQuNC9INGI0LXQudC00LXRgCDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L0g0LTQu9GPINC90LXRgdC60L7Qu9GM0LrQuNGFINC/0YDQvtCz0YDQsNC80LwuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGUg0KLQuNC/INGI0LXQudC00LXRgNCwOiDQuNC70LggdmVydGV4LCDQuNC70LggZnJhZ21lbnRcbiAqIEBwYXJhbSB7U3RyaW5nIHwgU3RyaW5nW119IGNvZGUg0JrQvtC0INGI0LXQudC00LXRgNCwINC90LDQv9C40YHQsNC90L3Ri9C5INC90LAg0Y/Qt9GL0LrQtSBHTFNMLlxuICog0JzQvtC20L3QviDQv9C10YDQtdC00LDRgtGMINC90LXRgdC60L7Qu9GM0LrQviDRgdGC0YDQvtC6INCyINCy0LjQtNC1INC80LDRgdGB0LjQstCwLCDRgtC+0LPQtNCwINC/0LXRgNC10LQg0LrQvtC80L/QuNC70Y/RhtC40LXQuSDRgdGC0YDQvtC60Lgg0YHQu9C+0LbQsNGC0YHRjy5cbiAqIEBwYXJhbSB7T2JqZWN0W119IFtkZWZpbml0aW9ucz1bXV1cbiAqL1xuY2xhc3MgU2hhZGVyIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCBjb2RlLCBkZWZpbml0aW9ucyA9IFtdKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiDQotC40L8g0YjQtdC50LTQtdGA0LBcbiAgICAgICAgICogQHR5cGUge1NoYWRlci5WZXJ0ZXggfCBTaGFkZXIuRnJhZ21lbnR9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlID09PSAndmVydGV4JyA/IFNoYWRlci5WZXJ0ZXggOiBTaGFkZXIuRnJhZ21lbnQ7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gXG4gICAgICAgICAgICBkZWZpbml0aW9uc1xuICAgICAgICAgICAgICAgIC5tYXAoKGRlZikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnI2RlZmluZSAnICsgZGVmLnR5cGUgKyAnICcgKyBkZWYudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyNkZWZpbmUgJyArIGRlZi50eXBlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbGluZXMgPSBBcnJheS5pc0FycmF5KGNvZGUpID8gY29kZSA6IFtjb2RlIHx8ICcnXTtcbiAgICAgICAgbGV0IGZpcnN0TGluZSA9IHRydWU7XG4gICAgICAgIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICAgIC8vINCV0YHQu9C4INCyINGI0LXQudC00LXRgNCw0YUg0YPQutCw0LfQsNC90LAg0LLQtdGA0YHQuNGPLCDRgtC+INC10LUg0L3Rg9C20L3QviDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+XG4gICAgICAgICAgICAvLyDQv9C+0LzQtdGB0YLQuNGC0Ywg0L/QtdGA0LLQvtC5INGB0YLRgNC+0LrQvtC5XG4gICAgICAgICAgICBpZiAoZmlyc3RMaW5lICYmIGxpbmUuaW5kZXhPZignI3ZlcnNpb24nKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQudW5zaGlmdChsaW5lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobGluZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0TGluZSA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCa0L7QtCDRiNC10LnQtNC10YDQsFxuICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfVxuICAgICAgICAgKiBAaWdub3JlXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9jb2RlID0gcmVzdWx0LmpvaW4oJ1xcbicpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIgd2ViZ2wg0YjQtdC50LTQtdGAINC00LvRjyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRgSDQv9GA0L7Qs9GA0LDQvNC80L7QuS5cbiAgICAgKiDQldGB0LvQuCDRiNC10LnQtNC10YAg0LjRgdC/0L7Qu9GM0LfRg9GO0LXRgtGB0Y8g0L/QtdGA0LLRi9C5INGA0LDQtywg0YLQviDQutC+0LzQv9C40LvQuNGA0YPQtdGCINC10LPQvi5cbiAgICAgKi9cbiAgICBnZXQoZ2wpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zaGFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBpbGUoZ2wpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9zaGFkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0YjQtdC50LTQtdGAINC40Lcg0LLQuNC00LXQvtC60LDRgNGC0YtcbiAgICAgKiBAcGFyYW0gIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsINCa0L7QvdGC0LXQutGB0YIgV2ViR2xcbiAgICAgKi9cbiAgICByZW1vdmUoZ2wpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NoYWRlcikge1xuICAgICAgICAgICAgZ2wuZGVsZXRlU2hhZGVyKHRoaXMuX3NoYWRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0LzQv9C40LvQuNGA0YPQtdGCINC00LDQvdC90YvQuSDRiNC10LnQtNC10YBcbiAgICAgKiBAcGFyYW0gIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsINCa0L7QvdGC0LXQutGB0YIgV2ViR0xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX2NvbXBpbGUoZ2wpIHtcbiAgICAgICAgY29uc3QgZ2xUeXBlID0gdGhpcy50eXBlID09PSBTaGFkZXIuVmVydGV4ID8gZ2wuVkVSVEVYX1NIQURFUiA6IGdsLkZSQUdNRU5UX1NIQURFUjtcbiAgICAgICAgY29uc3Qgc2hhZGVyID0gKHRoaXMuX3NoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbFR5cGUpKTtcblxuICAgICAgICBpZiAoIXNoYWRlciB8fCBnbC5pc0NvbnRleHRMb3N0KCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgWzJnbF0gRmFpbGVkIHRvIGNyZWF0ZSBzaGFkZXIuIFNoYWRlciBpcyBudWxsOiAkeyFzaGFkZXJ9LiBDb250ZXh0IGlzIGxvc3Q6ICR7Z2wuaXNDb250ZXh0TG9zdCgpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgdGhpcy5fY29kZSk7XG4gICAgICAgIGdsLmNvbXBpbGVTaGFkZXIoc2hhZGVyKTsgICAgXG5cbiAgICAgICAgaWYgKCFnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5DT01QSUxFX1NUQVRVUykpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZm9Mb2cgPSBnbC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRlcik7XG4gICAgICAgICAgICBjb25zdCBjb2RlTGluZXMgPSAodGhpcy5fY29kZSB8fCAnJykuc3BsaXQoJ1xcbicpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGluZm9Mb2cucmVwbGFjZSgvXkVSUk9SOlxccyooXFxkKyk6KFxcZCspOlxccyooLio/KVxcbi8sIFxuICAgICAgICAgICAgICAgIC8vIEl0J3MgdXNlZnVsIHRvIGluamVjdCBlcnJvbmVvdXMgbGluZSBvZiBjb2RlXG4gICAgICAgICAgICAgICAgLy8gaW4gdGhlIGVycm9yIG1lc3NhZ2UgdG8gY29uY2lzZSB3aGF0IGhhcHBlbmVkXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gKHdob2xlTWF0Y2gsIGNvbCwgcm93LCBtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBjb2RlTGluZXNbTnVtYmVyKHJvdykgLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgRVJST1IgJHtjb2x9OiR7cm93fTogJHttZXNzYWdlfVxcbkVycm9uZW91cyBsaW5lOiA8PCR7bGluZX0+PlxcbmA7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2hvbGVNYXRjaDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuU2hhZGVyLlZlcnRleCA9IDE7XG5TaGFkZXIuRnJhZ21lbnQgPSAyO1xuXG5leHBvcnQgZGVmYXVsdCBTaGFkZXI7XG4iXX0= |
@@ -89,4 +89,15 @@ /** | ||
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { | ||
console.log(`Error compiling shader, here is code: \n${this._code}`); | ||
throw new Error(gl.getShaderInfoLog(shader)); | ||
const infoLog = gl.getShaderInfoLog(shader); | ||
const codeLines = (this._code || '').split('\n'); | ||
throw new Error(infoLog.replace(/^ERROR:\s*(\d+):(\d+):\s*(.*?)\n/, | ||
// It's useful to inject erroneous line of code | ||
// in the error message to concise what happened | ||
function (wholeMatch, col, row, message) { | ||
const line = codeLines[Number(row) - 1]; | ||
if (line) { | ||
return `ERROR ${col}:${row}: ${message}\nErroneous line: <<${line}>>\n`; | ||
} else { | ||
return wholeMatch; | ||
} | ||
})); | ||
} | ||
@@ -93,0 +104,0 @@ } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1771639
8167