Browse Source

Refs #2061, 2063: export mungedb-aggregate internals.

Exporting these will allow clients to extend it at will.
Charles Ezell 12 years ago
parent
commit
c2b592cbe4
4 changed files with 59 additions and 2 deletions
  1. 9 0
      lib/Aggregator.js
  2. 14 0
      lib/pipeline/documentSources/index.js
  3. 35 0
      lib/pipeline/expressions/index.js
  4. 1 2
      package.json

+ 9 - 0
lib/Aggregator.js

@@ -22,5 +22,14 @@ var Aggregator = module.exports = (function(){
 		return result.result;
 	};
 
+	var accumulators = require("./pipeline/accumulators"),
+		documentSources = require("./pipeline/documentSources"),
+		expressions = require("./pipeline/expressions");
+
+	//Expose these so that mungedb-aggregate can be extended.
+	klass.accumulators = accumulators;
+	klass.documentSources = documentSources;
+	klass.expressions = expressions;
+
 	return klass;
 })();

+ 14 - 0
lib/pipeline/documentSources/index.js

@@ -0,0 +1,14 @@
+"use strict";
+module.exports = {
+	CursorDocumentSource: require("./CursorDocumentSource.js"),
+	DocumentSource: require("./DocumentSource.js"),
+	FilterBaseDocumentSource: require("./FilterBaseDocumentSource.js"),
+	GroupDocumentSource: require("./GroupDocumentSource.js"),
+	LimitDocumentSource: require("./LimitDocumentSource.js"),
+	MatchDocumentSource: require("./MatchDocumentSource.js"),
+	ProjectDocumentSource: require("./ProjectDocumentSource.js"),
+	SkipDocumentSource: require("./SkipDocumentSource.js"),
+	SortDocumentSource: require("./SortDocumentSource.js"),
+	SplitDocumentSource: require("./SplitDocumentSource.js"),
+	UnwindDocumentSource: require("./UnwindDocumentSource.js")
+};

+ 35 - 0
lib/pipeline/expressions/index.js

@@ -0,0 +1,35 @@
+"use strict";
+module.exports = {
+	AddExpression: require("./AddExpression.js"),
+	AndExpression: require("./AndExpression.js"),
+	CoerceToBoolExpression: require("./CoerceToBoolExpression.js"),
+	CompareExpression: require("./CompareExpression.js"),
+	CondExpression: require("./CondExpression.js"),
+	ConstantExpression: require("./ConstantExpression.js"),
+	DayOfMonthExpression: require("./DayOfMonthExpression.js"),
+	DayOfWeekExpression: require("./DayOfWeekExpression.js"),
+	DayOfYearExpression: require("./DayOfYearExpression.js"),
+	DivideExpression: require("./DivideExpression.js"),
+	Expression: require("./Expression.js"),
+	FieldPathExpression: require("./FieldPathExpression.js"),
+	FieldRangeExpression: require("./FieldRangeExpression.js"),
+	HourExpression: require("./HourExpression.js"),
+	IfNullExpression: require("./IfNullExpression.js"),
+	IndexOfExpression: require("./IndexOfExpression.js"),
+	MinuteExpression: require("./MinuteExpression.js"),
+	ModExpression: require("./ModExpression.js"),
+	MonthExpression: require("./MonthExpression.js"),
+	MultiplyExpression: require("./MultiplyExpression.js"),
+	NaryExpression: require("./NaryExpression.js"),
+	NotExpression: require("./NotExpression.js"),
+	ObjectExpression: require("./ObjectExpression.js"),
+	OrExpression: require("./OrExpression.js"),
+	SecondExpression: require("./SecondExpression.js"),
+	StrcasecmpExpression: require("./StrcasecmpExpression.js"),
+	SubstrExpression: require("./SubstrExpression.js"),
+	SubtractExpression: require("./SubtractExpression.js"),
+	ToLowerExpression: require("./ToLowerExpression.js"),
+	ToUpperExpression: require("./ToUpperExpression.js"),
+	WeekExpression: require("./WeekExpression.js"),
+	YearExpression: require("./YearExpression.js")
+};

+ 1 - 2
package.json

@@ -15,8 +15,7 @@
     "test": "npm_scripts/test/test.sh"
   },
   "repository": {
-    "type": "svn",
-    "url": "http://svn.rcg.local/svn/devrd/eagle6/"
+    "url": "git+https://source.rd.rcg.local/git/private/mungedb-aggregate.git"
   },
   "keywords": [
     "manipulation",