OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / bare-structured-clone / lib / errors.js

39 lines · javascript ref:
module.exports = class DataCloneError extends Error {
  constructor(msg, code, fn = DataCloneError) {
    super(`${code}: ${msg}`)
    this.code = code

    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, fn)
    }
  }

  get name() {
    return 'DataCloneError'
  }

  static INVALID_VERSION(msg) {
    return new DataCloneError(msg, 'INVALID_VERSION', DataCloneError.INVALID_VERSION)
  }

  static UNSERIALIZABLE_TYPE(msg) {
    return new DataCloneError(msg, 'UNSERIALIZABLE_TYPE', DataCloneError.UNSERIALIZABLE_TYPE)
  }

  static UNTRANSFERABLE_TYPE(msg) {
    return new DataCloneError(msg, 'UNTRANSFERABLE_TYPE', DataCloneError.UNTRANSFERABLE_TYPE)
  }

  static ALREADY_TRANSFERRED(msg) {
    return new DataCloneError(msg, 'ALREADY_TRANSFERRED', DataCloneError.ALREADY_TRANSFERRED)
  }

  static INVALID_REFERENCE(msg) {
    return new DataCloneError(msg, 'INVALID_REFERENCE', DataCloneError.INVALID_REFERENCE)
  }

  static INVALID_INTERFACE(msg) {
    return new DataCloneError(msg, 'INVALID_INTERFACE', DataCloneError.INVALID_INTERFACE)
  }
}