SafeJsonParse.js 402 B

1234567891011121314151617
  1. const Settings = require('settings-sharelatex')
  2. const { DataTooLargeToParseError } = require('./Errors')
  3. module.exports = {
  4. parse(data, callback) {
  5. if (data.length > Settings.maxUpdateSize) {
  6. return callback(new DataTooLargeToParseError(data))
  7. }
  8. let parsed
  9. try {
  10. parsed = JSON.parse(data)
  11. } catch (e) {
  12. return callback(e)
  13. }
  14. callback(null, parsed)
  15. }
  16. }