Initial commit: ERP system with advance verification fixes
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
export declare function parseJson(s: string, pos: number): unknown;
|
||||
export declare namespace parseJson {
|
||||
var message: string | undefined;
|
||||
var position: number;
|
||||
var code: import("../compile/codegen/code")._Code;
|
||||
}
|
||||
export declare function parseJsonNumber(s: string, pos: number, maxDigits?: number): number | undefined;
|
||||
export declare namespace parseJsonNumber {
|
||||
var message: string | undefined;
|
||||
var position: number;
|
||||
var code: import("../compile/codegen/code")._Code;
|
||||
}
|
||||
export declare function parseJsonString(s: string, pos: number): string | undefined;
|
||||
export declare namespace parseJsonString {
|
||||
var message: string | undefined;
|
||||
var position: number;
|
||||
var code: import("../compile/codegen/code")._Code;
|
||||
}
|
||||
+183
@@ -0,0 +1,183 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parseJsonString = exports.parseJsonNumber = exports.parseJson = void 0;
|
||||
const codegen_1 = require("../compile/codegen");
|
||||
const rxParseJson = /position\s(\d+)$/;
|
||||
function parseJson(s, pos) {
|
||||
let endPos;
|
||||
parseJson.message = undefined;
|
||||
let matches;
|
||||
if (pos)
|
||||
s = s.slice(pos);
|
||||
try {
|
||||
parseJson.position = pos + s.length;
|
||||
return JSON.parse(s);
|
||||
}
|
||||
catch (e) {
|
||||
matches = rxParseJson.exec(e.message);
|
||||
if (!matches) {
|
||||
parseJson.message = "unexpected end";
|
||||
return undefined;
|
||||
}
|
||||
endPos = +matches[1];
|
||||
const c = s[endPos];
|
||||
s = s.slice(0, endPos);
|
||||
parseJson.position = pos + endPos;
|
||||
try {
|
||||
return JSON.parse(s);
|
||||
}
|
||||
catch (e1) {
|
||||
parseJson.message = `unexpected token ${c}`;
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.parseJson = parseJson;
|
||||
parseJson.message = undefined;
|
||||
parseJson.position = 0;
|
||||
parseJson.code = codegen_1._ `require("ajv/dist/runtime/parseJson").parseJson`;
|
||||
function parseJsonNumber(s, pos, maxDigits) {
|
||||
let numStr = "";
|
||||
let c;
|
||||
parseJsonNumber.message = undefined;
|
||||
if (s[pos] === "-") {
|
||||
numStr += "-";
|
||||
pos++;
|
||||
}
|
||||
if (s[pos] === "0") {
|
||||
numStr += "0";
|
||||
pos++;
|
||||
}
|
||||
else {
|
||||
if (!parseDigits(maxDigits)) {
|
||||
errorMessage();
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
if (maxDigits) {
|
||||
parseJsonNumber.position = pos;
|
||||
return +numStr;
|
||||
}
|
||||
if (s[pos] === ".") {
|
||||
numStr += ".";
|
||||
pos++;
|
||||
if (!parseDigits()) {
|
||||
errorMessage();
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
if (((c = s[pos]), c === "e" || c === "E")) {
|
||||
numStr += "e";
|
||||
pos++;
|
||||
if (((c = s[pos]), c === "+" || c === "-")) {
|
||||
numStr += c;
|
||||
pos++;
|
||||
}
|
||||
if (!parseDigits()) {
|
||||
errorMessage();
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
parseJsonNumber.position = pos;
|
||||
return +numStr;
|
||||
function parseDigits(maxLen) {
|
||||
let digit = false;
|
||||
while (((c = s[pos]), c >= "0" && c <= "9" && (maxLen === undefined || maxLen-- > 0))) {
|
||||
digit = true;
|
||||
numStr += c;
|
||||
pos++;
|
||||
}
|
||||
return digit;
|
||||
}
|
||||
function errorMessage() {
|
||||
parseJsonNumber.position = pos;
|
||||
parseJsonNumber.message = pos < s.length ? `unexpected token ${s[pos]}` : "unexpected end";
|
||||
}
|
||||
}
|
||||
exports.parseJsonNumber = parseJsonNumber;
|
||||
parseJsonNumber.message = undefined;
|
||||
parseJsonNumber.position = 0;
|
||||
parseJsonNumber.code = codegen_1._ `require("ajv/dist/runtime/parseJson").parseJsonNumber`;
|
||||
const escapedChars = {
|
||||
b: "\b",
|
||||
f: "\f",
|
||||
n: "\n",
|
||||
r: "\r",
|
||||
t: "\t",
|
||||
'"': '"',
|
||||
"/": "/",
|
||||
"\\": "\\",
|
||||
};
|
||||
const CODE_A = "a".charCodeAt(0);
|
||||
const CODE_0 = "0".charCodeAt(0);
|
||||
function parseJsonString(s, pos) {
|
||||
let str = "";
|
||||
let c;
|
||||
parseJsonString.message = undefined;
|
||||
// eslint-disable-next-line no-constant-condition, @typescript-eslint/no-unnecessary-condition
|
||||
while (true) {
|
||||
c = s[pos++];
|
||||
if (c === '"')
|
||||
break;
|
||||
if (c === "\\") {
|
||||
c = s[pos];
|
||||
if (c in escapedChars) {
|
||||
str += escapedChars[c];
|
||||
pos++;
|
||||
}
|
||||
else if (c === "u") {
|
||||
pos++;
|
||||
let count = 4;
|
||||
let code = 0;
|
||||
while (count--) {
|
||||
code <<= 4;
|
||||
c = s[pos].toLowerCase();
|
||||
if (c >= "a" && c <= "f") {
|
||||
code += c.charCodeAt(0) - CODE_A + 10;
|
||||
}
|
||||
else if (c >= "0" && c <= "9") {
|
||||
code += c.charCodeAt(0) - CODE_0;
|
||||
}
|
||||
else if (c === undefined) {
|
||||
errorMessage("unexpected end");
|
||||
return undefined;
|
||||
}
|
||||
else {
|
||||
errorMessage(`unexpected token ${c}`);
|
||||
return undefined;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
str += String.fromCharCode(code);
|
||||
}
|
||||
else {
|
||||
errorMessage(`unexpected token ${c}`);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
else if (c === undefined) {
|
||||
errorMessage("unexpected end");
|
||||
return undefined;
|
||||
}
|
||||
else {
|
||||
if (c.charCodeAt(0) >= 0x20) {
|
||||
str += c;
|
||||
}
|
||||
else {
|
||||
errorMessage(`unexpected token ${c}`);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
parseJsonString.position = pos;
|
||||
return str;
|
||||
function errorMessage(msg) {
|
||||
parseJsonString.position = pos;
|
||||
parseJsonString.message = msg;
|
||||
}
|
||||
}
|
||||
exports.parseJsonString = parseJsonString;
|
||||
parseJsonString.message = undefined;
|
||||
parseJsonString.position = 0;
|
||||
parseJsonString.code = codegen_1._ `require("ajv/dist/runtime/parseJson").parseJsonString`;
|
||||
//# sourceMappingURL=parseJson.js.map
|
||||
+1
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
export default function quote(s: string): string;
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
// eslint-disable-next-line no-control-regex, no-misleading-character-class
|
||||
const rxEscapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
|
||||
const escaped = {
|
||||
"\b": "\\b",
|
||||
"\t": "\\t",
|
||||
"\n": "\\n",
|
||||
"\f": "\\f",
|
||||
"\r": "\\r",
|
||||
'"': '\\"',
|
||||
"\\": "\\\\",
|
||||
};
|
||||
function quote(s) {
|
||||
rxEscapable.lastIndex = 0;
|
||||
return ('"' +
|
||||
(rxEscapable.test(s)
|
||||
? s.replace(rxEscapable, (a) => {
|
||||
const c = escaped[a];
|
||||
return typeof c === "string"
|
||||
? c
|
||||
: "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
|
||||
})
|
||||
: s) +
|
||||
'"');
|
||||
}
|
||||
exports.default = quote;
|
||||
//# sourceMappingURL=quote.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../lib/runtime/quote.ts"],"names":[],"mappings":";;AAAA,2EAA2E;AAC3E,MAAM,WAAW,GAAG,iIAAiI,CAAA;AAErJ,MAAM,OAAO,GAA6B;IACxC,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACb,CAAA;AAED,SAAwB,KAAK,CAAC,CAAS;IACrC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAA;IACzB,OAAO,CACL,GAAG;QACH,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBACpB,OAAO,OAAO,CAAC,KAAK,QAAQ;oBAC1B,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/D,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;QACN,GAAG,CACJ,CAAA;AACH,CAAC;AAdD,wBAcC"}
|
||||
Reference in New Issue
Block a user