Add data field in serialization errors (#1100)
* Add data field in serialization errors * Add test for data field in serialization errors Co-authored-by: Tomas Della Vedova <delvedor@users.noreply.github.com>
This commit is contained in:
@ -15,7 +15,7 @@ class Serializer {
|
|||||||
try {
|
try {
|
||||||
var json = JSON.stringify(object)
|
var json = JSON.stringify(object)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
throw new SerializationError(err.message)
|
throw new SerializationError(err.message, object)
|
||||||
}
|
}
|
||||||
return json
|
return json
|
||||||
}
|
}
|
||||||
@ -25,7 +25,7 @@ class Serializer {
|
|||||||
try {
|
try {
|
||||||
var object = sjson.parse(json)
|
var object = sjson.parse(json)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
throw new DeserializationError(err.message)
|
throw new DeserializationError(err.message, json)
|
||||||
}
|
}
|
||||||
return object
|
return object
|
||||||
}
|
}
|
||||||
|
|||||||
6
lib/errors.d.ts
vendored
6
lib/errors.d.ts
vendored
@ -33,13 +33,15 @@ export declare class NoLivingConnectionsError extends ElasticsearchClientError {
|
|||||||
export declare class SerializationError extends ElasticsearchClientError {
|
export declare class SerializationError extends ElasticsearchClientError {
|
||||||
name: string;
|
name: string;
|
||||||
message: string;
|
message: string;
|
||||||
constructor(message: string);
|
data: object;
|
||||||
|
constructor(message: string, data: object);
|
||||||
}
|
}
|
||||||
|
|
||||||
export declare class DeserializationError extends ElasticsearchClientError {
|
export declare class DeserializationError extends ElasticsearchClientError {
|
||||||
name: string;
|
name: string;
|
||||||
message: string;
|
message: string;
|
||||||
constructor(message: string);
|
data: string;
|
||||||
|
constructor(message: string, data: string);
|
||||||
}
|
}
|
||||||
|
|
||||||
export declare class ConfigurationError extends ElasticsearchClientError {
|
export declare class ConfigurationError extends ElasticsearchClientError {
|
||||||
|
|||||||
@ -42,20 +42,22 @@ class NoLivingConnectionsError extends ElasticsearchClientError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class SerializationError extends ElasticsearchClientError {
|
class SerializationError extends ElasticsearchClientError {
|
||||||
constructor (message) {
|
constructor (message, data) {
|
||||||
super(message)
|
super(message, data)
|
||||||
Error.captureStackTrace(this, SerializationError)
|
Error.captureStackTrace(this, SerializationError)
|
||||||
this.name = 'SerializationError'
|
this.name = 'SerializationError'
|
||||||
this.message = message || 'Serialization Error'
|
this.message = message || 'Serialization Error'
|
||||||
|
this.data = data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DeserializationError extends ElasticsearchClientError {
|
class DeserializationError extends ElasticsearchClientError {
|
||||||
constructor (message) {
|
constructor (message, data) {
|
||||||
super(message)
|
super(message, data)
|
||||||
Error.captureStackTrace(this, DeserializationError)
|
Error.captureStackTrace(this, DeserializationError)
|
||||||
this.name = 'DeserializationError'
|
this.name = 'DeserializationError'
|
||||||
this.message = message || 'Deserialization Error'
|
this.message = message || 'Deserialization Error'
|
||||||
|
this.data = data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,6 +44,7 @@ test('SerializationError', t => {
|
|||||||
t.true(err instanceof Error)
|
t.true(err instanceof Error)
|
||||||
t.true(err instanceof errors.ElasticsearchClientError)
|
t.true(err instanceof errors.ElasticsearchClientError)
|
||||||
t.false(err.hasOwnProperty('meta'))
|
t.false(err.hasOwnProperty('meta'))
|
||||||
|
t.true(err.hasOwnProperty('data'))
|
||||||
t.end()
|
t.end()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ test('DeserializationError', t => {
|
|||||||
t.true(err instanceof Error)
|
t.true(err instanceof Error)
|
||||||
t.true(err instanceof errors.ElasticsearchClientError)
|
t.true(err instanceof errors.ElasticsearchClientError)
|
||||||
t.false(err.hasOwnProperty('meta'))
|
t.false(err.hasOwnProperty('meta'))
|
||||||
|
t.true(err.hasOwnProperty('data'))
|
||||||
t.end()
|
t.end()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user