UNPKG

mem100x

Version:

⚡ The FASTEST MCP memory server ever built - 66k+ entities/sec with intelligent context detection

78 lines 2.41 kB
"use strict"; /** * Optimized JSON utilities * Uses native JSON with additional validation and error handling */ Object.defineProperty(exports, "__esModule", { value: true }); exports.stringifyObservations = stringifyObservations; exports.parseObservations = parseObservations; exports.stringifyToolResponse = stringifyToolResponse; exports.stringifyGeneric = stringifyGeneric; exports.parseJSON = parseJSON; exports.stringifyEntityResult = stringifyEntityResult; exports.parseEntityResult = parseEntityResult; // Optimized stringify for observation arrays with validation function stringifyObservations(observations) { return JSON.stringify(observations); } // Optimized parse for observations with validation function parseObservations(json) { try { if (!json || json === null || json === undefined) { return []; } const parsed = JSON.parse(json); if (!Array.isArray(parsed)) { return []; } // Ensure all items are strings return parsed.map(item => String(item)); } catch { return []; } } // Optimized stringifier for tool responses function stringifyToolResponse(obj) { return JSON.stringify(obj); } // Generic stringify with pretty print support function stringifyGeneric(obj, pretty = false) { return pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj); } // Parse with error handling function parseJSON(json) { try { return JSON.parse(json); } catch (error) { throw new Error(`Invalid JSON: ${error instanceof Error ? error.message : 'Unknown error'}`); } } // Stringify EntityResult function stringifyEntityResult(entity) { return JSON.stringify(entity); } // Parse EntityResult with validation function parseEntityResult(json) { try { const parsed = JSON.parse(json); if (parsed?.type !== 'entity' || !parsed.name || !parsed.entityType) { return null; } // Ensure observations is an array if (!parsed.observations || !Array.isArray(parsed.observations)) { parsed.observations = []; } return { type: 'entity', name: parsed.name, entityType: parsed.entityType, observations: parsed.observations.map((o) => String(o)) }; } catch { return null; } } //# sourceMappingURL=fast-json.js.map