SafeJsonParse.js 416 B

12345678910111213141516171819
  1. import Settings from '@overleaf/settings'
  2. import Errors from './Errors.js'
  3. const { DataTooLargeToParseError } = Errors
  4. export default {
  5. parse(data, callback) {
  6. if (data.length > Settings.maxUpdateSize) {
  7. return callback(new DataTooLargeToParseError(data))
  8. }
  9. let parsed
  10. try {
  11. parsed = JSON.parse(data)
  12. } catch (e) {
  13. return callback(e)
  14. }
  15. callback(null, parsed)
  16. },
  17. }