node-yuma123
Version:
Node.js bindings for the Yuma123 library
341 lines (330 loc) • 11 kB
JavaScript
/**
* Dictionary of Yuma123 error codes
* Maps numeric error codes to their names
*/
const ERROR_CODES = {
// Success
0: "NO_ERR",
1: "ERR_END_OF_FILE",
// Internal errors (2-14)
2: "ERR_INTERNAL_PTR",
3: "ERR_INTERNAL_MEM",
4: "ERR_INTERNAL_VAL",
5: "ERR_INTERNAL_BUFF",
6: "ERR_INTERNAL_QDEL",
7: "ERR_INTERNAL_INIT_SEQ",
8: "ERR_QNODE_NOT_HDR",
9: "ERR_QNODE_NOT_DATA",
10: "ERR_BAD_QLINK",
11: "ERR_Q_ALREADY",
12: "ERR_TOO_MANY_ENTRIES",
13: "ERR_XML2_FAILED",
14: "ERR_LAST_INT_ERR",
// System errors (100-124)
100: "ERR_FIL_OPEN",
101: "ERR_FIL_READ",
102: "ERR_FIL_CLOSE",
103: "ERR_FIL_WRITE",
104: "ERR_FIL_CHDIR",
105: "ERR_FIL_STAT",
106: "ERR_BUFF_OVFL",
107: "ERR_FIL_DELETE",
108: "ERR_FIL_SETPOS",
109: "ERR_DB_CONNECT_FAILED",
110: "ERR_DB_ENTRY_EXISTS",
111: "ERR_DB_NOT_FOUND",
112: "ERR_DB_QUERY_FAILED",
113: "ERR_DB_DELETE_FAILED",
114: "ERR_DB_WRONG_CKSUM",
115: "ERR_DB_WRONG_TAGTYPE",
116: "ERR_DB_READ_FAILED",
117: "ERR_DB_WRITE_FAILED",
118: "ERR_DB_INIT_FAILED",
119: "ERR_TR_BEEP_INIT",
120: "ERR_TR_BEEP_NC_INIT",
121: "ERR_XML_READER_INTERNAL",
122: "ERR_OPEN_DIR_FAILED",
123: "ERR_READ_DIR_FAILED",
124: "ERR_LAST_SYS_ERR",
// User errors (200-385)
200: "ERR_NO_CFGFILE",
201: "ERR_NO_SRCFILE",
202: "ERR_PARSPOST_RD_INPUT",
203: "ERR_FIL_BAD_DRIVE",
204: "ERR_FIL_BAD_PATH",
205: "ERR_FIL_BAD_FILENAME",
206: "ERR_DUP_VALPAIR",
207: "ERR_PAGE_NOT_HANDLED",
208: "ERR_PAGE_ACCESS_DENIED",
209: "ERR_MISSING_FORM_PARAMS",
210: "ERR_FORM_STATE",
211: "ERR_DUP_NS",
212: "ERR_XML_READER_START_FAILED",
213: "ERR_XML_READER_READ",
214: "ERR_XML_READER_NODETYP",
215: "ERR_XML_READER_NULLNAME",
216: "ERR_XML_READER_NULLVAL",
217: "ERR_XML_READER_WRONGNAME",
218: "ERR_XML_READER_WRONGVAL",
219: "ERR_XML_READER_WRONGEL",
220: "ERR_XML_READER_EXTRANODES",
221: "ERR_XML_READER_EOF",
222: "ERR_NCX_WRONG_LEN",
223: "ERR_NCX_ENTRY_EXISTS",
224: "ERR_NCX_DUP_ENTRY",
225: "ERR_NCX_NOT_FOUND",
226: "ERR_NCX_MISSING_FILE",
227: "ERR_NCX_UNKNOWN_PARM",
228: "ERR_NCX_INVALID_NAME",
229: "ERR_NCX_UNKNOWN_NS",
230: "ERR_NCX_WRONG_NS",
231: "ERR_NCX_WRONG_TYPE",
232: "ERR_NCX_WRONG_VAL",
233: "ERR_NCX_MISSING_PARM",
234: "ERR_NCX_EXTRA_PARM",
235: "ERR_NCX_EMPTY_VAL",
236: "ERR_NCX_MOD_NOT_FOUND",
237: "ERR_NCX_LEN_EXCEEDED",
238: "ERR_NCX_INVALID_TOKEN",
239: "ERR_NCX_UNENDED_QSTRING",
240: "ERR_NCX_READ_FAILED",
241: "ERR_NCX_INVALID_NUM",
242: "ERR_NCX_INVALID_HEXNUM",
243: "ERR_NCX_INVALID_REALNUM",
244: "ERR_NCX_EOF",
245: "ERR_NCX_WRONG_TKTYPE",
246: "ERR_NCX_WRONG_TKVAL",
247: "ERR_NCX_BUFF_SHORT",
248: "ERR_NCX_INVALID_RANGE",
249: "ERR_NCX_OVERLAP_RANGE",
250: "ERR_NCX_DEF_NOT_FOUND",
251: "ERR_NCX_DEFSEG_NOT_FOUND",
252: "ERR_NCX_TYPE_NOT_INDEX",
253: "ERR_NCX_INDEX_TYPE_NOT_FOUND",
254: "ERR_NCX_TYPE_NOT_MDATA",
255: "ERR_NCX_MDATA_NOT_ALLOWED",
256: "ERR_NCX_TOP_NOT_FOUND",
257: "ERR_NCX_IN_USE",
258: "ERR_NCX_INVALID_VALUE",
259: "ERR_NCX_TOO_BIG",
260: "ERR_NCX_MISSING_ATTRIBUTE",
261: "ERR_NCX_BAD_ATTRIBUTE",
262: "ERR_NCX_UNKNOWN_ATTRIBUTE",
263: "ERR_NCX_MISSING_ELEMENT",
264: "ERR_NCX_BAD_ELEMENT",
265: "ERR_NCX_UNKNOWN_ELEMENT",
266: "ERR_NCX_UNKNOWN_NAMESPACE",
267: "ERR_NCX_ACCESS_DENIED",
268: "ERR_NCX_LOCK_DENIED",
269: "ERR_NCX_RESOURCE_DENIED",
270: "ERR_NCX_ROLLBACK_FAILED",
271: "ERR_NCX_DATA_EXISTS",
272: "ERR_NCX_DATA_MISSING",
273: "ERR_NCX_OPERATION_NOT_SUPPORTED",
274: "ERR_NCX_OPERATION_FAILED",
275: "ERR_NCX_PARTIAL_OPERATION",
276: "ERR_NCX_WRONG_NAMESPACE",
277: "ERR_NCX_WRONG_NODEDEPTH",
278: "ERR_NCX_WRONG_OWNER",
279: "ERR_NCX_WRONG_ELEMENT",
280: "ERR_NCX_WRONG_ORDER",
281: "ERR_NCX_EXTRA_NODE",
282: "ERR_NCX_WRONG_NODETYP",
283: "ERR_NCX_WRONG_NODETYP_SIM",
284: "ERR_NCX_WRONG_NODETYP_CPX",
285: "ERR_NCX_WRONG_DATATYP",
286: "ERR_NCX_WRONG_DATAVAL",
287: "ERR_NCX_NUMLEN_TOOBIG",
288: "ERR_NCX_NOT_IN_RANGE",
289: "ERR_NCX_WRONG_NUMTYP",
290: "ERR_NCX_EXTRA_ENUMCH",
291: "ERR_NCX_VAL_NOTINSET",
292: "ERR_NCX_EXTRA_LISTSTR",
293: "ERR_NCX_UNKNOWN_OBJECT",
294: "ERR_NCX_EXTRA_PARMINST",
295: "ERR_NCX_EXTRA_CHOICE",
296: "ERR_NCX_MISSING_CHOICE",
297: "ERR_NCX_CFG_STATE",
298: "ERR_NCX_UNKNOWN_APP",
299: "ERR_NCX_UNKNOWN_TYPE",
300: "ERR_NCX_NO_ACCESS_ACL",
301: "ERR_NCX_NO_ACCESS_LOCK",
302: "ERR_NCX_NO_ACCESS_STATE",
303: "ERR_NCX_NO_ACCESS_MAX",
304: "ERR_NCX_WRONG_INDEX_TYPE",
305: "ERR_NCX_WRONG_INSTANCE_TYPE",
306: "ERR_NCX_MISSING_INDEX",
307: "ERR_NCX_CFG_NOT_FOUND",
308: "ERR_NCX_EXTRA_ATTR",
309: "ERR_NCX_MISSING_ATTR",
310: "ERR_NCX_MISSING_VAL_INST",
311: "ERR_NCX_EXTRA_VAL_INST",
312: "ERR_NCX_NOT_WRITABLE",
313: "ERR_NCX_INVALID_PATTERN",
314: "ERR_NCX_WRONG_VERSION",
315: "ERR_NCX_CONNECT_FAILED",
316: "ERR_NCX_UNKNOWN_HOST",
317: "ERR_NCX_SESSION_FAILED",
318: "ERR_NCX_AUTH_FAILED",
319: "ERR_NCX_UNENDED_COMMENT",
320: "ERR_NCX_INVALID_CONCAT",
321: "ERR_NCX_IMP_NOT_FOUND",
322: "ERR_NCX_MISSING_TYPE",
323: "ERR_NCX_RESTRICT_NOT_ALLOWED",
324: "ERR_NCX_REFINE_NOT_ALLOWED",
325: "ERR_NCX_DEF_LOOP",
326: "ERR_NCX_DEFCHOICE_NOT_OPTIONAL",
327: "ERR_NCX_IMPORT_LOOP",
328: "ERR_NCX_INCLUDE_LOOP",
329: "ERR_NCX_EXP_MODULE",
330: "ERR_NCX_EXP_SUBMODULE",
331: "ERR_NCX_PREFIX_NOT_FOUND",
332: "ERR_NCX_IMPORT_ERRORS",
333: "ERR_NCX_PATTERN_FAILED",
334: "ERR_NCX_INVALID_TYPE_CHANGE",
335: "ERR_NCX_MANDATORY_NOT_ALLOWED",
336: "ERR_NCX_UNIQUE_TEST_FAILED",
337: "ERR_NCX_MAX_ELEMS_VIOLATION",
338: "ERR_NCX_MIN_ELEMS_VIOLATION",
339: "ERR_NCX_MUST_TEST_FAILED",
340: "ERR_NCX_DATA_REST_VIOLATION",
341: "ERR_NCX_INSERT_MISSING_INSTANCE",
342: "ERR_NCX_NOT_CONFIG",
343: "ERR_NCX_INVALID_CONDITIONAL",
344: "ERR_NCX_USING_OBSOLETE",
345: "ERR_NCX_INVALID_AUGTARGET",
346: "ERR_NCX_DUP_REFINE_STMT",
347: "ERR_NCX_INVALID_DEV_STMT",
348: "ERR_NCX_INVALID_XPATH_EXPR",
349: "ERR_NCX_INVALID_INSTANCEID",
350: "ERR_NCX_MISSING_INSTANCE",
351: "ERR_NCX_UNEXPECTED_INSERT_ATTRS",
352: "ERR_NCX_INVALID_UNIQUE_NODE",
353: "ERR_NCX_INVALID_DUP_IMPORT",
354: "ERR_NCX_INVALID_DUP_INCLUDE",
355: "ERR_NCX_AMBIGUOUS_CMD",
356: "ERR_NCX_UNKNOWN_MODULE",
357: "ERR_NCX_UNKNOWN_VERSION",
358: "ERR_NCX_VALUE_NOT_SUPPORTED",
359: "ERR_NCX_LEAFREF_LOOP",
360: "ERR_NCX_VAR_NOT_FOUND",
361: "ERR_NCX_VAR_READ_ONLY",
362: "ERR_NCX_DEC64_BASEOVFL",
363: "ERR_NCX_DEC64_FRACOVFL",
364: "ERR_NCX_RPC_WHEN_FAILED",
365: "ERR_NCX_NO_MATCHES",
366: "ERR_NCX_MISSING_REFTARGET",
367: "ERR_NCX_CANDIDATE_DIRTY",
368: "ERR_NCX_TIMEOUT",
369: "ERR_NCX_GET_SCHEMA_DUPLICATES",
370: "ERR_NCX_XPATH_NOT_NODESET",
371: "ERR_NCX_XPATH_NODESET_EMPTY",
372: "ERR_NCX_IN_USE_LOCKED",
373: "ERR_NCX_IN_USE_COMMIT",
374: "ERR_NCX_SUBMOD_NOT_LOADED",
375: "ERR_NCX_ACCESS_READ_ONLY",
376: "ERR_NCX_CONFIG_NOT_TARGET",
377: "ERR_NCX_MISSING_RBRACE",
378: "ERR_NCX_INVALID_FRAMING",
379: "ERR_NCX_PROTO11_NOT_ENABLED",
380: "ERR_NCX_CC_NOT_ACTIVE",
381: "ERR_NCX_MULTIPLE_MATCHES",
382: "ERR_NCX_NO_DEFAULT",
383: "ERR_NCX_MISSING_KEY",
384: "ERR_NCX_TOP_LEVEL_MANDATORY_FAILED",
385: "ERR_LAST_USR_ERR",
// Warning errors (400-452)
400: "ERR_MAKFILE_DUP_SRC",
401: "ERR_INC_NOT_FOUND",
402: "ERR_CMDLINE_VAL",
403: "ERR_CMDLINE_OPT",
404: "ERR_CMDLINE_OPT_UNKNOWN",
405: "ERR_CMDLINE_SYNTAX",
406: "ERR_CMDLINE_VAL_REQUIRED",
407: "ERR_FORM_INPUT",
408: "ERR_FORM_UNKNOWN",
409: "ERR_NCX_NO_INSTANCE",
410: "ERR_NCX_SESSION_CLOSED",
411: "ERR_NCX_DUP_IMPORT",
412: "ERR_NCX_PREFIX_DUP_IMPORT",
413: "ERR_NCX_TYPDEF_NOT_USED",
414: "ERR_NCX_GRPDEF_NOT_USED",
415: "ERR_NCX_IMPORT_NOT_USED",
416: "ERR_NCX_DUP_UNIQUE_COMP",
417: "ERR_NCX_STMT_IGNORED",
418: "ERR_NCX_DUP_INCLUDE",
419: "ERR_NCX_INCLUDE_NOT_USED",
420: "ERR_NCX_DATE_PAST",
421: "ERR_NCX_DATE_FUTURE",
422: "ERR_NCX_ENUM_VAL_ORDER",
423: "ERR_NCX_BIT_POS_ORDER",
424: "ERR_NCX_INVALID_STATUS",
425: "ERR_NCX_DUP_AUGNODE",
426: "ERR_NCX_DUP_IF_FEATURE",
427: "ERR_NCX_USING_DEPRECATED",
428: "ERR_NCX_MAX_KEY_CHECK",
429: "ERR_NCX_EMPTY_XPATH_RESULT",
430: "ERR_NCX_NO_XPATH_ANCESTOR",
431: "ERR_NCX_NO_XPATH_PARENT",
432: "ERR_NCX_NO_XPATH_CHILD",
433: "ERR_NCX_NO_XPATH_DESCENDANT",
434: "ERR_NCX_NO_XPATH_NODES",
435: "ERR_NCX_BAD_REV_ORDER",
436: "ERR_NCX_DUP_PREFIX",
437: "ERR_NCX_IDLEN_EXCEEDED",
438: "ERR_NCX_LINELEN_EXCEEDED",
439: "ERR_NCX_RCV_UNKNOWN_CAP",
440: "ERR_NCX_RCV_INVALID_MODCAP",
441: "ERR_NCX_USING_ANYXML",
442: "ERR_NCX_USING_BADDATA",
443: "ERR_NCX_USING_STRING",
444: "ERR_NCX_USING_RESERVED_NAME",
445: "ERR_NCX_CONF_PARM_EXISTS",
446: "ERR_NCX_NO_REVISION",
447: "ERR_NCX_DEPENDENCY_ERRORS",
448: "ERR_NCX_TOP_LEVEL_MANDATORY",
449: "ERR_NCX_FILE_MOD_MISMATCH",
450: "ERR_NCX_UNIQUE_CONDITIONAL_MISMATCH",
451: "ERR_NCX_DUP_DATE_IN_REV_HISTORY",
452: "ERR_LAST_WARN",
// Info status codes (900-906)
900: "ERR_PARS_SECDONE",
901: "ERR_NCX_SKIPPED",
902: "ERR_NCX_CANCELED",
903: "ERR_NCX_LOOP_ENDED",
904: "ERR_NCX_FOUND_INLINE",
905: "ERR_NCX_FOUND_URL",
906: "ERR_LAST_INFO",
};
const ERROR_TYPES = {
ERR_TYP_NONE: 0,
ERR_TYP_INTERNAL: 1,
ERR_TYP_SYSTEM: 2,
ERR_TYP_USER: 3,
ERR_TYP_WARN: 4,
ERR_TYP_INFO: 5,
};
function getErrorMessage(statusCode) {
const errorName = ERROR_CODES[statusCode];
if (!errorName) {
return `Unknown error code: ${statusCode}`;
}
let errorType = "Unknown";
if (statusCode === 0) {
return "Success";
} else if (statusCode === 1) {
return "End of file reached";
} else if (statusCode >= 2 && statusCode <= 14) {
errorType = "Internal Error";
} else if (statusCode >= 100 && statusCode <= 124) {
errorType = "System Error";
} else if (statusCode >= 200 && statusCode <= 385) {
errorType = "User Error";
} else if (statusCode >= 400 && statusCode <= 452) {
errorType = "Warning";
} else if (statusCode >= 900 && statusCode <= 906) {
errorType = "Info";
}
return `${errorType}: ${errorName} (${statusCode})`;
}
export { ERROR_CODES, ERROR_TYPES, getErrorMessage };