UNPKG

jsoniq

Version:

JSONiq implementation for JavaScript

67 lines (65 loc) 8.17 kB
"use strict"; class Exception extends Error { constructor(name, message) { super(message); this.name = name; this.message = message; this.name = name; this.message = message; this.stack = (new Error("[" + name + "] " + message)).stack; } toString() { return "[" + this.name + "] " + this.message; } } exports.Exception = Exception; class DynamicError extends Exception { constructor(code, message) { super(code, message); } } exports.DynamicError = DynamicError; class StaticError extends Exception { constructor(code, message) { super(code, message); } } exports.StaticError = StaticError; class JNUP0005 extends DynamicError { constructor() { super("JNUP0005", "It is a dynamic error if a pending update list contains two inserting update primitives on the same object and pair name."); } } exports.JNUP0005 = JNUP0005; class JNUP0006 extends DynamicError { constructor(key) { super("JNUP0006", "\"" + key + "\" pair to insert already exists in object"); } } exports.JNUP0006 = JNUP0006; class JNUP0007 extends DynamicError { constructor() { super("JNUP0007", "It is a type error if, in an updating expression, an array selector cannot be cast to xs:integer or if an object selector cannot be cast to xs:string"); } } exports.JNUP0007 = JNUP0007; class JNUP0008 extends DynamicError { constructor() { super("JNUP0008", "It is a dynamic error if the target of a JSON delete or JSON replace expression is not an array or an object"); } } exports.JNUP0008 = JNUP0008; class JNUP0009 extends DynamicError { constructor() { super("JNUP0009", "It is a dynamic error if a pending update list contains two JSON replacing update primitives on the same object or array, and with the same selector."); } } exports.JNUP0009 = JNUP0009; //It is a dynamic error if it is attempted to create a replace, delete or rename update primitive with a selector that cannot be resolved against the target array or object. class JNUP0016 extends DynamicError { constructor(key) { super("JNUP0016", "\"" + key + "\" : selector cannot be resolved against supplied object"); } } exports.JNUP0016 = JNUP0016; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9lcnJvcnMudHMiXSwibmFtZXMiOlsiRXhjZXB0aW9uIiwiRXhjZXB0aW9uLmNvbnN0cnVjdG9yIiwiRXhjZXB0aW9uLnRvU3RyaW5nIiwiRHluYW1pY0Vycm9yIiwiRHluYW1pY0Vycm9yLmNvbnN0cnVjdG9yIiwiU3RhdGljRXJyb3IiLCJTdGF0aWNFcnJvci5jb25zdHJ1Y3RvciIsIkpOVVAwMDA1IiwiSk5VUDAwMDUuY29uc3RydWN0b3IiLCJKTlVQMDAwNiIsIkpOVVAwMDA2LmNvbnN0cnVjdG9yIiwiSk5VUDAwMDciLCJKTlVQMDAwNy5jb25zdHJ1Y3RvciIsIkpOVVAwMDA4IiwiSk5VUDAwMDguY29uc3RydWN0b3IiLCJKTlVQMDAwOSIsIkpOVVAwMDA5LmNvbnN0cnVjdG9yIiwiSk5VUDAwMTYiLCJKTlVQMDAxNi5jb25zdHJ1Y3RvciJdLCJtYXBwaW5ncyI6IjtBQVFBLHdCQUErQixLQUFLO0lBRWhDQSxZQUFtQkEsSUFBV0EsRUFBU0EsT0FBY0E7UUFDakRDLE1BQU1BLE9BQU9BLENBQUNBLENBQUNBO1FBREFBLFNBQUlBLEdBQUpBLElBQUlBLENBQU9BO1FBQVNBLFlBQU9BLEdBQVBBLE9BQU9BLENBQU9BO1FBRWpEQSxJQUFJQSxDQUFDQSxJQUFJQSxHQUFHQSxJQUFJQSxDQUFDQTtRQUNqQkEsSUFBSUEsQ0FBQ0EsT0FBT0EsR0FBR0EsT0FBT0EsQ0FBQ0E7UUFDdkJBLElBQUlBLENBQUNBLEtBQUtBLEdBQUdBLENBQU1BLElBQUlBLEtBQUtBLENBQUNBLEdBQUdBLEdBQUdBLElBQUlBLEdBQUdBLElBQUlBLEdBQUdBLE9BQU9BLENBQUNBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBO0lBQ3JFQSxDQUFDQTtJQUVERCxRQUFRQTtRQUNKRSxNQUFNQSxDQUFDQSxHQUFHQSxHQUFHQSxJQUFJQSxDQUFDQSxJQUFJQSxHQUFHQSxJQUFJQSxHQUFHQSxJQUFJQSxDQUFDQSxPQUFPQSxDQUFDQTtJQUNqREEsQ0FBQ0E7QUFDTEYsQ0FBQ0E7QUFaWSxpQkFBUyxZQVlyQixDQUFBO0FBRUQsMkJBQWtDLFNBQVM7SUFDdkNHLFlBQVlBLElBQVdBLEVBQUVBLE9BQWNBO1FBQ25DQyxNQUFNQSxJQUFJQSxFQUFFQSxPQUFPQSxDQUFDQSxDQUFDQTtJQUN6QkEsQ0FBQ0E7QUFDTEQsQ0FBQ0E7QUFKWSxvQkFBWSxlQUl4QixDQUFBO0FBRUQsMEJBQWlDLFNBQVM7SUFDdENFLFlBQVlBLElBQVdBLEVBQUVBLE9BQWNBO1FBQ25DQyxNQUFNQSxJQUFJQSxFQUFFQSxPQUFPQSxDQUFDQSxDQUFDQTtJQUN6QkEsQ0FBQ0E7QUFDTEQsQ0FBQ0E7QUFKWSxtQkFBVyxjQUl2QixDQUFBO0FBRUQsdUJBQThCLFlBQVk7SUFDdENFO1FBQ0lDLE1BQU1BLFVBQVVBLEVBQUVBLDJIQUEySEEsQ0FBQ0EsQ0FBQ0E7SUFDbkpBLENBQUNBO0FBQ0xELENBQUNBO0FBSlksZ0JBQVEsV0FJcEIsQ0FBQTtBQUVELHVCQUE4QixZQUFZO0lBQ3RDRSxZQUFZQSxHQUFHQTtRQUNYQyxNQUFNQSxVQUFVQSxFQUFFQSxJQUFJQSxHQUFHQSxHQUFHQSxHQUFHQSw0Q0FBNENBLENBQUNBLENBQUNBO0lBQ2pGQSxDQUFDQTtBQUNMRCxDQUFDQTtBQUpZLGdCQUFRLFdBSXBCLENBQUE7QUFFRCx1QkFBOEIsWUFBWTtJQUN0Q0U7UUFDSUMsTUFBTUEsVUFBVUEsRUFBRUEsdUpBQXVKQSxDQUFDQSxDQUFDQTtJQUMvS0EsQ0FBQ0E7QUFDTEQsQ0FBQ0E7QUFKWSxnQkFBUSxXQUlwQixDQUFBO0FBRUQsdUJBQThCLFlBQVk7SUFDdENFO1FBQ0lDLE1BQU1BLFVBQVVBLEVBQUVBLDhHQUE4R0EsQ0FBQ0EsQ0FBQ0E7SUFDdElBLENBQUNBO0FBQ0xELENBQUNBO0FBSlksZ0JBQVEsV0FJcEIsQ0FBQTtBQUVELHVCQUE4QixZQUFZO0lBQ3RDRTtRQUNJQyxNQUFNQSxVQUFVQSxFQUFFQSx1SkFBdUpBLENBQUNBLENBQUNBO0lBQy9LQSxDQUFDQTtBQUNMRCxDQUFDQTtBQUpZLGdCQUFRLFdBSXBCLENBQUE7QUFFRCw2S0FBNks7QUFDN0ssdUJBQThCLFlBQVk7SUFDdENFLFlBQVlBLEdBQVVBO1FBQ2xCQyxNQUFNQSxVQUFVQSxFQUFFQSxJQUFJQSxHQUFHQSxHQUFHQSxHQUFHQSwwREFBMERBLENBQUNBLENBQUNBO0lBQy9GQSxDQUFDQTtBQUNMRCxDQUFDQTtBQUpZLGdCQUFRLFdBSXBCLENBQUEiLCJmaWxlIjoibGliL2Vycm9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNsYXNzIEVycm9yIHtcbiAgICBwdWJsaWMgbmFtZTpzdHJpbmc7XG4gICAgcHVibGljIG1lc3NhZ2U6c3RyaW5nO1xuICAgIHB1YmxpYyBzdGFjazpzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlPzpzdHJpbmcpO1xufVxuXG5leHBvcnQgY2xhc3MgRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIG5hbWU6c3RyaW5nLCBwdWJsaWMgbWVzc2FnZTpzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMuc3RhY2sgPSAoPGFueT5uZXcgRXJyb3IoXCJbXCIgKyBuYW1lICsgXCJdIFwiICsgbWVzc2FnZSkpLnN0YWNrO1xuICAgIH1cblxuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gXCJbXCIgKyB0aGlzLm5hbWUgKyBcIl0gXCIgKyB0aGlzLm1lc3NhZ2U7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY0Vycm9yIGV4dGVuZHMgRXhjZXB0aW9uIHtcbiAgICBjb25zdHJ1Y3Rvcihjb2RlOnN0cmluZywgbWVzc2FnZTpzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoY29kZSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RhdGljRXJyb3IgZXh0ZW5kcyBFeGNlcHRpb24ge1xuICAgIGNvbnN0cnVjdG9yKGNvZGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZykge1xuICAgICAgICBzdXBlcihjb2RlLCBtZXNzYWdlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBKTlVQMDAwNSBleHRlbmRzIER5bmFtaWNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFwiSk5VUDAwMDVcIiwgXCJJdCBpcyBhIGR5bmFtaWMgZXJyb3IgaWYgYSBwZW5kaW5nIHVwZGF0ZSBsaXN0IGNvbnRhaW5zIHR3byBpbnNlcnRpbmcgdXBkYXRlIHByaW1pdGl2ZXMgb24gdGhlIHNhbWUgb2JqZWN0IGFuZCBwYWlyIG5hbWUuXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEpOVVAwMDA2IGV4dGVuZHMgRHluYW1pY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihrZXkpIHtcbiAgICAgICAgc3VwZXIoXCJKTlVQMDAwNlwiLCBcIlxcXCJcIiArIGtleSArIFwiXFxcIiBwYWlyIHRvIGluc2VydCBhbHJlYWR5IGV4aXN0cyBpbiBvYmplY3RcIik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgSk5VUDAwMDcgZXh0ZW5kcyBEeW5hbWljRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihcIkpOVVAwMDA3XCIsIFwiSXQgaXMgYSB0eXBlIGVycm9yIGlmLCBpbiBhbiB1cGRhdGluZyBleHByZXNzaW9uLCBhbiBhcnJheSBzZWxlY3RvciBjYW5ub3QgYmUgY2FzdCB0byB4czppbnRlZ2VyIG9yIGlmIGFuIG9iamVjdCBzZWxlY3RvciBjYW5ub3QgYmUgY2FzdCB0byB4czpzdHJpbmdcIik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgSk5VUDAwMDggZXh0ZW5kcyBEeW5hbWljRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihcIkpOVVAwMDA4XCIsIFwiSXQgaXMgYSBkeW5hbWljIGVycm9yIGlmIHRoZSB0YXJnZXQgb2YgYSBKU09OIGRlbGV0ZSBvciBKU09OIHJlcGxhY2UgZXhwcmVzc2lvbiBpcyBub3QgYW4gYXJyYXkgb3IgYW4gb2JqZWN0XCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEpOVVAwMDA5IGV4dGVuZHMgRHluYW1pY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoXCJKTlVQMDAwOVwiLCBcIkl0IGlzIGEgZHluYW1pYyBlcnJvciBpZiBhIHBlbmRpbmcgdXBkYXRlIGxpc3QgY29udGFpbnMgdHdvIEpTT04gcmVwbGFjaW5nIHVwZGF0ZSBwcmltaXRpdmVzIG9uIHRoZSBzYW1lIG9iamVjdCBvciBhcnJheSwgYW5kIHdpdGggdGhlIHNhbWUgc2VsZWN0b3IuXCIpO1xuICAgIH1cbn1cblxuLy9JdCBpcyBhIGR5bmFtaWMgZXJyb3IgaWYgaXQgaXMgYXR0ZW1wdGVkIHRvIGNyZWF0ZSBhIHJlcGxhY2UsIGRlbGV0ZSBvciByZW5hbWUgdXBkYXRlIHByaW1pdGl2ZSB3aXRoIGEgc2VsZWN0b3IgdGhhdCBjYW5ub3QgYmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgdGFyZ2V0IGFycmF5IG9yIG9iamVjdC5cbmV4cG9ydCBjbGFzcyBKTlVQMDAxNiBleHRlbmRzIER5bmFtaWNFcnJvciB7XG4gICAgY29uc3RydWN0b3Ioa2V5OnN0cmluZykge1xuICAgICAgICBzdXBlcihcIkpOVVAwMDE2XCIsIFwiXFxcIlwiICsga2V5ICsgXCJcXFwiIDogc2VsZWN0b3IgY2Fubm90IGJlIHJlc29sdmVkIGFnYWluc3Qgc3VwcGxpZWQgb2JqZWN0XCIpO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==