UNPKG

@jargon/platform-sdk-core

Version:

Core components of the Jargon Platform SDK for node.js

49 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.locateCrossReferences = exports.parseCrossReference = void 0; function parseCrossReference(cr) { if (cr.startsWith('[') && cr.endsWith(']')) { cr = cr.substr(1, cr.length - 2); } const parts = cr.split(':'); if (parts.length === 1) { throw new Error('Cross-reference missing type specifier'); } const t = parts[0]; if (t === 'string') { if (parts.length === 2) { return { type: 'String', resource: parts[1] }; } else if (parts.length === 3) { return { type: 'StringVariant', resource: parts[1], variant: parts[2] }; } throw new Error('Invalid format for a string cross-reference'); } else if (t === 'response') { if (parts.length === 4) { return { type: 'ResponseComponent', resource: parts[1], variant: parts[2], component: parts[3] }; } throw new Error('Invalid format for a response cross-reference'); } throw new Error(`Unsupported cross-reference type '${t}'`); } exports.parseCrossReference = parseCrossReference; const crossRefRegex = /(\[.*?\])/g; function locateCrossReferences(msg) { const ms = msg.match(crossRefRegex); return ms || []; } exports.locateCrossReferences = locateCrossReferences; //# sourceMappingURL=references.js.map