UNPKG

@multiplayer-app/session-recorder-common

Version:
50 lines 1.43 kB
import * as _toJsonSchema from 'to-json-schema'; // @ts-ignore var toJsonSchema = (_toJsonSchema === null || _toJsonSchema === void 0 ? void 0 : _toJsonSchema.default) || _toJsonSchema; var defaultSchemifyOptions = { strings: { preProcessFnc: function (value, defaultFnc) { if ((value === null || value === void 0 ? void 0 : value.length) >= 30) { return defaultFnc('some_string'); } return defaultFnc(value); }, }, arrays: { mode: 'first', }, }; export default (function (payload, stringify, options) { if (stringify === void 0) { stringify = true; } if (options === void 0) { options = defaultSchemifyOptions; } if (!payload) { return ''; } var payloadJson; if (typeof payload === 'string') { try { payloadJson = JSON.parse(payload); } catch (_a) { return payload; } } else if (typeof payload === 'object') { payloadJson = payload; } else { return payload; } try { var schema = toJsonSchema(payloadJson, options); if (stringify) { return JSON.stringify(schema); } return schema; } catch (err) { // error can happen when array has items like ['test', 'asd', '1'], type for '1' is null return ''; } }); //# sourceMappingURL=schemify.js.map