UNPKG

1.05 kBJavaScriptView Raw
1/**
2 * Wrapper for the elasticsearch.js client, which will register the client constructor
3 * as a factory within angular that can be easily injected with Angular's awesome DI.
4 *
5 * It will also instruct the client to use Angular's $http service for it's ajax requests
6 */
7var AngularConnector = require('./lib/connectors/angular');
8var Client = require('./lib/client');
9
10process.angular_build = true;
11
12/* global angular */
13angular.module('elasticsearch', []).factory('esFactory', [
14 '$injector',
15 '$q',
16 function($injector, $q) {
17 var factory = function(config) {
18 config = config || {};
19 config.connectionClass = AngularConnector;
20 config.$injector = $injector;
21 config.defer = function() {
22 return $q.defer();
23 };
24 config.serializer = config.serializer || 'angular';
25 return new Client(config);
26 };
27
28 factory.errors = require('./lib/errors');
29 factory.ConnectionPool = require('./lib/connection_pool');
30 factory.Transport = require('./lib/transport');
31
32 return factory;
33 },
34]);