use angulars.toJson in the angular version of the client

This commit is contained in:
Spencer Alger
2014-10-28 15:43:47 -07:00
parent 1f76feae4d
commit 788e028aa1

View File

@ -6,6 +6,8 @@
*/ */
var AngularConnector = require('./lib/connectors/angular'); var AngularConnector = require('./lib/connectors/angular');
var Client = require('./lib/client'); var Client = require('./lib/client');
var _ = require('./lib/utils');
var JsonSerializer = require('./lib/serializers/json');
process.angular_build = true; process.angular_build = true;
@ -20,9 +22,25 @@ angular.module('elasticsearch', [])
config.defer = function () { config.defer = function () {
return $q.defer(); return $q.defer();
}; };
config.serializer = AngularSerializer;
return new Client(config); return new Client(config);
}; };
_.inherits(AngularSerializer, JsonSerializer);
function AngularSerializer() {}
// mimic the JsonSerializer's encode method, but use angular's toJson instead
AngularSerializer.prototype.encode = function (val) {
switch (typeof val) {
case 'string':
return val;
case 'object':
if (val) return angular.toJson(val);
/* falls through */
default:
return;
}
};
factory.errors = require('./lib/errors'); factory.errors = require('./lib/errors');
factory.ConnectionPool = require('./lib/connection_pool'); factory.ConnectionPool = require('./lib/connection_pool');
factory.Transport = require('./lib/transport'); factory.Transport = require('./lib/transport');