effect-mongodb 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AggregationCursor/package.json +6 -0
- package/DocumentAggregationCursor/package.json +6 -0
- package/ListCollectionsCursor/package.json +6 -0
- package/README.md +2 -2
- package/dist/cjs/AggregationCursor.js +34 -0
- package/dist/cjs/AggregationCursor.js.map +1 -0
- package/dist/cjs/Collection.js +22 -2
- package/dist/cjs/Collection.js.map +1 -1
- package/dist/cjs/Db.js +7 -1
- package/dist/cjs/Db.js.map +1 -1
- package/dist/cjs/DocumentAggregationCursor.js +27 -0
- package/dist/cjs/DocumentAggregationCursor.js.map +1 -0
- package/dist/cjs/DocumentCollection.js +15 -1
- package/dist/cjs/DocumentCollection.js.map +1 -1
- package/dist/cjs/DocumentFindCursor.js +4 -0
- package/dist/cjs/DocumentFindCursor.js.map +1 -1
- package/dist/cjs/FindCursor.js +7 -1
- package/dist/cjs/FindCursor.js.map +1 -1
- package/dist/cjs/ListCollectionsCursor.js +27 -0
- package/dist/cjs/ListCollectionsCursor.js.map +1 -0
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/internal/filter.js +6 -0
- package/dist/cjs/internal/filter.js.map +1 -0
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/AggregationCursor.d.ts +18 -0
- package/dist/dts/AggregationCursor.d.ts.map +1 -0
- package/dist/dts/Collection.d.ts +41 -14
- package/dist/dts/Collection.d.ts.map +1 -1
- package/dist/dts/Db.d.ts +28 -3
- package/dist/dts/Db.d.ts.map +1 -1
- package/dist/dts/DocumentAggregationCursor.d.ts +15 -0
- package/dist/dts/DocumentAggregationCursor.d.ts.map +1 -0
- package/dist/dts/DocumentCollection.d.ts +31 -5
- package/dist/dts/DocumentCollection.d.ts.map +1 -1
- package/dist/dts/DocumentFindCursor.d.ts +1 -4
- package/dist/dts/DocumentFindCursor.d.ts.map +1 -1
- package/dist/dts/FindCursor.d.ts +15 -18
- package/dist/dts/FindCursor.d.ts.map +1 -1
- package/dist/dts/ListCollectionsCursor.d.ts +20 -0
- package/dist/dts/ListCollectionsCursor.d.ts.map +1 -0
- package/dist/dts/index.d.ts +12 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/filter.d.ts +8 -0
- package/dist/dts/internal/filter.d.ts.map +1 -0
- package/dist/esm/AggregationCursor.js +22 -0
- package/dist/esm/AggregationCursor.js.map +1 -0
- package/dist/esm/Collection.js +20 -1
- package/dist/esm/Collection.js.map +1 -1
- package/dist/esm/Db.js +6 -0
- package/dist/esm/Db.js.map +1 -1
- package/dist/esm/DocumentAggregationCursor.js +15 -0
- package/dist/esm/DocumentAggregationCursor.js.map +1 -0
- package/dist/esm/DocumentCollection.js +13 -0
- package/dist/esm/DocumentCollection.js.map +1 -1
- package/dist/esm/DocumentFindCursor.js +3 -0
- package/dist/esm/DocumentFindCursor.js.map +1 -1
- package/dist/esm/FindCursor.js +6 -1
- package/dist/esm/FindCursor.js.map +1 -1
- package/dist/esm/ListCollectionsCursor.js +15 -0
- package/dist/esm/ListCollectionsCursor.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/filter.js +2 -0
- package/dist/esm/internal/filter.js.map +1 -0
- package/dist/esm/internal/version.js +1 -1
- package/package.json +26 -3
- package/src/AggregationCursor.ts +37 -0
- package/src/Collection.ts +224 -22
- package/src/Db.ts +47 -3
- package/src/DocumentAggregationCursor.ts +30 -0
- package/src/DocumentCollection.ts +194 -2
- package/src/DocumentFindCursor.ts +1 -1
- package/src/FindCursor.ts +22 -21
- package/src/ListCollectionsCursor.ts +45 -0
- package/src/index.ts +15 -0
- package/src/internal/filter.ts +9 -0
- package/src/internal/version.ts +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import * as Data from "effect/Data";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as F from "effect/Function";
|
|
7
|
+
import * as Stream from "effect/Stream";
|
|
8
|
+
import * as MongoError from "./MongoError.js";
|
|
9
|
+
export class DocumentAggregationCursor extends /*#__PURE__*/Data.TaggedClass("DocumentAggregationCursor") {}
|
|
10
|
+
export const toArray = cursor => F.pipe(Effect.tryPromise({
|
|
11
|
+
try: () => cursor.cursor.toArray(),
|
|
12
|
+
catch: F.identity
|
|
13
|
+
}), Effect.catchAll(MongoError.mongoErrorDie(`${cursor._tag}.toArray error`)));
|
|
14
|
+
export const toStream = cursor => F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(MongoError.mongoErrorStream(`${cursor._tag}.toStream error`)));
|
|
15
|
+
//# sourceMappingURL=DocumentAggregationCursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentAggregationCursor.js","names":["Data","Effect","F","Stream","MongoError","DocumentAggregationCursor","TaggedClass","toArray","cursor","pipe","tryPromise","try","catch","identity","catchAll","mongoErrorDie","_tag","toStream","fromAsyncIterable","mongoErrorStream"],"sources":["../../src/DocumentAggregationCursor.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AACpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,OAAM,MAAOC,yBACX,sBAAQL,IAAI,CAACM,WAAW,CAAC,2BAA2B,CAA+C;AAIrG,OAAO,MAAMC,OAAO,GAClBC,MAAiC,IAEjCN,CAAC,CAACO,IAAI,CACJR,MAAM,CAACS,UAAU,CAAC;EAAEC,GAAG,EAAEA,CAAA,KAAMH,MAAM,CAACA,MAAM,CAACD,OAAO,EAAE;EAAEK,KAAK,EAAEV,CAAC,CAACW;AAAQ,CAAE,CAAC,EAC5EZ,MAAM,CAACa,QAAQ,CAACV,UAAU,CAACW,aAAa,CAA0B,GAAGP,MAAM,CAACQ,IAAI,gBAAgB,CAAC,CAAC,CACnG;AAEH,OAAO,MAAMC,QAAQ,GACnBT,MAAiC,IAEjCN,CAAC,CAACO,IAAI,CACJN,MAAM,CAACe,iBAAiB,CAACV,MAAM,CAACA,MAAM,EAAEN,CAAC,CAACW,QAAQ,CAAC,EACnDV,MAAM,CAACW,QAAQ,CAACV,UAAU,CAACe,gBAAgB,CAAW,GAAGX,MAAM,CAACQ,IAAI,iBAAiB,CAAC,CAAC,CACxF","ignoreList":[]}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
1
4
|
import * as Data from "effect/Data";
|
|
2
5
|
import * as Effect from "effect/Effect";
|
|
3
6
|
import * as F from "effect/Function";
|
|
4
7
|
import * as O from "effect/Option";
|
|
5
8
|
import * as Collection from "./Collection.js";
|
|
9
|
+
import * as DocumentAggregationCursor from "./DocumentAggregationCursor.js";
|
|
6
10
|
import * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
7
11
|
import * as MongoError from "./MongoError.js";
|
|
8
12
|
export class DocumentCollection extends /*#__PURE__*/Data.TaggedClass("DocumentCollection") {}
|
|
@@ -12,6 +16,15 @@ export const find = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (
|
|
|
12
16
|
export const findOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.findOne(filter, options)), Effect.map(value => O.fromNullable(value)), Effect.catchAllDefect(MongoError.mongoErrorDie("findOne error"))));
|
|
13
17
|
export const insertOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, doc, options) => F.pipe(Effect.promise(() => collection.collection.insertOne(doc, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("insertOne error"))));
|
|
14
18
|
export const insertMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, docs, options) => F.pipe(Effect.promise(() => collection.collection.insertMany(docs, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("insertMany error"))));
|
|
19
|
+
export const deleteOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.deleteOne(filter, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("deleteOne error"))));
|
|
20
|
+
export const deleteMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.deleteMany(filter, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("deleteMany error"))));
|
|
21
|
+
export const updateMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, update, options) => F.pipe(Effect.promise(() => collection.collection.updateMany(filter, update, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("updateMany error"))));
|
|
22
|
+
export const replaceOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, replacement, options) => F.pipe(Effect.promise(() => collection.collection.replaceOne(filter, replacement, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("replaceOne error"))));
|
|
23
|
+
export const rename = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, newName, options) => F.pipe(Effect.promise(() => collection.collection.rename(newName, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("rename error"))));
|
|
24
|
+
export const createIndexes = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, indexSpecs, options) => F.pipe(Effect.promise(() => collection.collection.createIndexes(indexSpecs, options)), Effect.catchAllDefect(MongoError.mongoErrorDie("createIndexes error"))));
|
|
25
|
+
export const aggregate = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, pipeline, options) => new DocumentAggregationCursor.DocumentAggregationCursor({
|
|
26
|
+
cursor: collection.collection.aggregate(pipeline, options)
|
|
27
|
+
}));
|
|
15
28
|
export const typed = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, schema) => new Collection.Collection({
|
|
16
29
|
collection: collection.collection,
|
|
17
30
|
schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentCollection.js","names":["Data","Effect","F","O","Collection","DocumentFindCursor","MongoError","DocumentCollection","TaggedClass","find","dual","args","isDocumentCollection","collection","options","cursor","findOne","filter","pipe","promise","map","value","fromNullable","catchAllDefect","mongoErrorDie","insertOne","doc","insertMany","docs","typed","schema","x"],"sources":["../../src/DocumentCollection.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocumentCollection.js","names":["Data","Effect","F","O","Collection","DocumentAggregationCursor","DocumentFindCursor","MongoError","DocumentCollection","TaggedClass","find","dual","args","isDocumentCollection","collection","options","cursor","findOne","filter","pipe","promise","map","value","fromNullable","catchAllDefect","mongoErrorDie","insertOne","doc","insertMany","docs","deleteOne","deleteMany","updateMany","update","replaceOne","replacement","rename","newName","createIndexes","indexSpecs","aggregate","pipeline","typed","schema","x"],"sources":["../../src/DocumentCollection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentFindCursor.js","names":["Data","Effect","F","Stream","FindCursor","MongoError","DocumentFindCursor","TaggedClass","filter","dual","args","isDocumentFindCursor","cursor","project","value","sort","direction","limit","toArray","pipe","tryPromise","try","catch","identity","catchAll","mongoErrorDie","toStream","fromAsyncIterable","mongoErrorStream","typed","schema","x"],"sources":["../../src/DocumentFindCursor.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocumentFindCursor.js","names":["Data","Effect","F","Stream","FindCursor","MongoError","DocumentFindCursor","TaggedClass","filter","dual","args","isDocumentFindCursor","cursor","project","value","sort","direction","limit","toArray","pipe","tryPromise","try","catch","identity","catchAll","mongoErrorDie","toStream","fromAsyncIterable","mongoErrorStream","typed","schema","x"],"sources":["../../src/DocumentFindCursor.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AAEpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,OAAM,MAAOC,kBAAmB,sBAAQN,IAAI,CAACO,WAAW,CAAC,oBAAoB,CAE3E;AAGF,OAAO,MAAMC,MAAM,gBAKfN,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,CAACE,MAA0B,EAAEJ,MAAgB,KAC3C,IAAIF,kBAAkB,CAAC;EAAEM,MAAM,EAAEA,MAAM,CAACA,MAAM,CAACJ,MAAM,CAACA,MAAM;AAAC,CAAE,CAAC,CACnE;AAED,OAAO,MAAMK,OAAO,gBAKhBX,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,CAACE,MAA0B,EAAEE,KAAe,KAC1C,IAAIR,kBAAkB,CAAC;EAAEM,MAAM,EAAEA,MAAM,CAACA,MAAM,CAACC,OAAO,CAACC,KAAK;AAAC,CAAE,CAAC,CACnE;AAED,OAAO,MAAMC,IAAI,gBAMbb,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,CAACE,MAA0B,EAAEG,IAAmB,EAAEC,SAAyB,KACzE,IAAIV,kBAAkB,CAAC;EAAEM,MAAM,EAAEA,MAAM,CAACA,MAAM,CAACG,IAAI,CAACA,IAAI,EAAEC,SAAS;AAAC,CAAE,CAAC,CAC1E;AAED,OAAO,MAAMC,KAAK,gBAKdf,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,CAACE,MAA0B,EAAEE,KAAa,KACxC,IAAIR,kBAAkB,CAAC;EAAEM,MAAM,EAAEA,MAAM,CAACA,MAAM,CAACK,KAAK,CAACH,KAAK;AAAC,CAAE,CAAC,CACjE;AAED,OAAO,MAAMI,OAAO,GAAIN,MAA0B,IAChDV,CAAC,CAACiB,IAAI,CACJlB,MAAM,CAACmB,UAAU,CAAC;EAAEC,GAAG,EAAEA,CAAA,KAAMT,MAAM,CAACA,MAAM,CAACM,OAAO,EAAE;EAAEI,KAAK,EAAEpB,CAAC,CAACqB;AAAQ,CAAE,CAAC,EAC5EtB,MAAM,CAACuB,QAAQ,CAACnB,UAAU,CAACoB,aAAa,CAA0B,eAAe,CAAC,CAAC,CACpF;AAEH,OAAO,MAAMC,QAAQ,GACnBd,MAA0B,IAE1BV,CAAC,CAACiB,IAAI,CACJhB,MAAM,CAACwB,iBAAiB,CAACf,MAAM,CAACA,MAAM,EAAEV,CAAC,CAACqB,QAAQ,CAAC,EACnDpB,MAAM,CAACqB,QAAQ,CAACnB,UAAU,CAACuB,gBAAgB,CAAW,oCAAoC,CAAC,CAAC,CAC7F;AAEH,OAAO,MAAMC,KAAK,gBAQd3B,CAAC,CAACO,IAAI,CAAEC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAClDE,MAA0B,EAC1BkB,MAA8B,KACK,IAAI1B,UAAU,CAACA,UAAU,CAAU;EAAEQ,MAAM,EAAEA,MAAM,CAACA,MAAM;EAAEkB;AAAM,CAAE,CAAC,CAAC;AAE3G,MAAMnB,oBAAoB,GAAIoB,CAAU,IAAKA,CAAC,YAAYzB,kBAAkB","ignoreList":[]}
|
package/dist/esm/FindCursor.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
2
4
|
import * as Data from "effect/Data";
|
|
3
5
|
import * as Effect from "effect/Effect";
|
|
4
6
|
import * as F from "effect/Function";
|
|
7
|
+
import * as Schema from "effect/Schema";
|
|
5
8
|
import * as Stream from "effect/Stream";
|
|
6
9
|
import * as Tuple from "effect/Tuple";
|
|
7
10
|
import * as MongoError from "./MongoError.js";
|
|
@@ -22,6 +25,7 @@ export const limit = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor,
|
|
|
22
25
|
cursor: cursor.cursor.limit(value),
|
|
23
26
|
schema: cursor.schema
|
|
24
27
|
}));
|
|
28
|
+
// TODO: add explicit return type for public API
|
|
25
29
|
export const toArray = cursor => {
|
|
26
30
|
const decode = Schema.decodeUnknown(cursor.schema);
|
|
27
31
|
return Effect.tryPromise({
|
|
@@ -29,6 +33,7 @@ export const toArray = cursor => {
|
|
|
29
33
|
catch: F.identity
|
|
30
34
|
}).pipe(Effect.catchAll(MongoError.mongoErrorDie("Unable to get array from mongodb cursor")), Effect.flatMap(Effect.forEach(x => decode(x))));
|
|
31
35
|
};
|
|
36
|
+
// TODO: add explicit return type for public API
|
|
32
37
|
export const toArrayEither = cursor => {
|
|
33
38
|
const decode = Schema.decodeUnknown(cursor.schema);
|
|
34
39
|
return Effect.tryPromise({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindCursor.js","names":["
|
|
1
|
+
{"version":3,"file":"FindCursor.js","names":["Data","Effect","F","Schema","Stream","Tuple","MongoError","FindCursor","TaggedClass","filter","dual","args","isFindCursor","cursor","schema","project","newSchema","value","sort","direction","limit","toArray","decode","decodeUnknown","tryPromise","try","catch","identity","pipe","catchAll","mongoErrorDie","flatMap","forEach","x","toArrayEither","mapError","error","make","either","toStream","fromAsyncIterable","mongoErrorStream","mapEffect","toStreamEither"],"sources":["../../src/FindCursor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import * as Data from "effect/Data";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as F from "effect/Function";
|
|
7
|
+
import * as Stream from "effect/Stream";
|
|
8
|
+
import * as MongoError from "./MongoError.js";
|
|
9
|
+
export class ListCollectionsCursor extends /*#__PURE__*/Data.TaggedClass("ListCollectionsCursor") {}
|
|
10
|
+
export const toArray = cursor => F.pipe(Effect.tryPromise({
|
|
11
|
+
try: () => cursor.cursor.toArray(),
|
|
12
|
+
catch: F.identity
|
|
13
|
+
}), Effect.catchAll(MongoError.mongoErrorDie(`${cursor._tag}.toArray error`)));
|
|
14
|
+
export const toStream = cursor => F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(MongoError.mongoErrorStream(`${cursor._tag}.toStream error`)));
|
|
15
|
+
//# sourceMappingURL=ListCollectionsCursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListCollectionsCursor.js","names":["Data","Effect","F","Stream","MongoError","ListCollectionsCursor","TaggedClass","toArray","cursor","pipe","tryPromise","try","catch","identity","catchAll","mongoErrorDie","_tag","toStream","fromAsyncIterable","mongoErrorStream"],"sources":["../../src/ListCollectionsCursor.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AACpC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAKvC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAO7C,OAAM,MAAOC,qBAEX,sBAAQL,IAAI,CAACM,WAAW,CAAC,uBAAuB,CAEhD;AAQF,OAAO,MAAMC,OAAO,GAClBC,MAAgC,IAEhCN,CAAC,CAACO,IAAI,CACJR,MAAM,CAACS,UAAU,CAAC;EAAEC,GAAG,EAAEA,CAAA,KAAMH,MAAM,CAACA,MAAM,CAACD,OAAO,EAAE;EAAEK,KAAK,EAAEV,CAAC,CAACW;AAAQ,CAAE,CAAC,EAC5EZ,MAAM,CAACa,QAAQ,CAACV,UAAU,CAACW,aAAa,CAAmB,GAAGP,MAAM,CAACQ,IAAI,gBAAgB,CAAC,CAAC,CAC5F;AAEH,OAAO,MAAMC,QAAQ,GACnBT,MAAgC,IAEhCN,CAAC,CAACO,IAAI,CACJN,MAAM,CAACe,iBAAiB,CAACV,MAAM,CAACA,MAAM,EAAEN,CAAC,CAACW,QAAQ,CAAC,EACnDV,MAAM,CAACW,QAAQ,CAACV,UAAU,CAACe,gBAAgB,CAAI,GAAGX,MAAM,CAACQ,IAAI,iBAAiB,CAAC,CAAC,CACjF","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
export * as AggregationCursor from "./AggregationCursor.js";
|
|
1
5
|
/**
|
|
2
6
|
* @since 0.0.1
|
|
3
7
|
*/
|
|
@@ -6,6 +10,10 @@ export * as Collection from "./Collection.js";
|
|
|
6
10
|
* @since 0.0.1
|
|
7
11
|
*/
|
|
8
12
|
export * as Db from "./Db.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 0.0.1
|
|
15
|
+
*/
|
|
16
|
+
export * as DocumentAggregationCursor from "./DocumentAggregationCursor.js";
|
|
9
17
|
/**
|
|
10
18
|
* @since 0.0.1
|
|
11
19
|
*/
|
|
@@ -18,6 +26,10 @@ export * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
|
18
26
|
* @since 0.0.1
|
|
19
27
|
*/
|
|
20
28
|
export * as FindCursor from "./FindCursor.js";
|
|
29
|
+
/**
|
|
30
|
+
* @since 0.0.1
|
|
31
|
+
*/
|
|
32
|
+
export * as ListCollectionsCursor from "./ListCollectionsCursor.js";
|
|
21
33
|
/**
|
|
22
34
|
* @since 0.0.1
|
|
23
35
|
*/
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Collection","Db","DocumentCollection","DocumentFindCursor","FindCursor","MongoClient","MongoError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,EAAE,MAAM,SAAS;AAE7B;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["AggregationCursor","Collection","Db","DocumentAggregationCursor","DocumentCollection","DocumentFindCursor","FindCursor","ListCollectionsCursor","MongoClient","MongoError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,EAAE,MAAM,SAAS;AAE7B;;;AAGA,OAAO,KAAKC,yBAAyB,MAAM,gCAAgC;AAE3E;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","names":[],"sources":["../../../src/internal/filter.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-mongodb",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "A MongoDB toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
"author": "doubleloop.io",
|
|
13
13
|
"homepage": "https://github.com/doubleloop-io/effect-mongodb",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"
|
|
16
|
-
"effect": "^3.8.3",
|
|
15
|
+
"effect": "^3.10.14",
|
|
17
16
|
"mongodb": "^6.8.0"
|
|
18
17
|
},
|
|
19
18
|
"publishConfig": {
|
|
@@ -29,6 +28,11 @@
|
|
|
29
28
|
"import": "./dist/esm/index.js",
|
|
30
29
|
"default": "./dist/cjs/index.js"
|
|
31
30
|
},
|
|
31
|
+
"./AggregationCursor": {
|
|
32
|
+
"types": "./dist/dts/AggregationCursor.d.ts",
|
|
33
|
+
"import": "./dist/esm/AggregationCursor.js",
|
|
34
|
+
"default": "./dist/cjs/AggregationCursor.js"
|
|
35
|
+
},
|
|
32
36
|
"./Collection": {
|
|
33
37
|
"types": "./dist/dts/Collection.d.ts",
|
|
34
38
|
"import": "./dist/esm/Collection.js",
|
|
@@ -39,6 +43,11 @@
|
|
|
39
43
|
"import": "./dist/esm/Db.js",
|
|
40
44
|
"default": "./dist/cjs/Db.js"
|
|
41
45
|
},
|
|
46
|
+
"./DocumentAggregationCursor": {
|
|
47
|
+
"types": "./dist/dts/DocumentAggregationCursor.d.ts",
|
|
48
|
+
"import": "./dist/esm/DocumentAggregationCursor.js",
|
|
49
|
+
"default": "./dist/cjs/DocumentAggregationCursor.js"
|
|
50
|
+
},
|
|
42
51
|
"./DocumentCollection": {
|
|
43
52
|
"types": "./dist/dts/DocumentCollection.d.ts",
|
|
44
53
|
"import": "./dist/esm/DocumentCollection.js",
|
|
@@ -54,6 +63,11 @@
|
|
|
54
63
|
"import": "./dist/esm/FindCursor.js",
|
|
55
64
|
"default": "./dist/cjs/FindCursor.js"
|
|
56
65
|
},
|
|
66
|
+
"./ListCollectionsCursor": {
|
|
67
|
+
"types": "./dist/dts/ListCollectionsCursor.d.ts",
|
|
68
|
+
"import": "./dist/esm/ListCollectionsCursor.js",
|
|
69
|
+
"default": "./dist/cjs/ListCollectionsCursor.js"
|
|
70
|
+
},
|
|
57
71
|
"./MongoClient": {
|
|
58
72
|
"types": "./dist/dts/MongoClient.d.ts",
|
|
59
73
|
"import": "./dist/esm/MongoClient.js",
|
|
@@ -67,12 +81,18 @@
|
|
|
67
81
|
},
|
|
68
82
|
"typesVersions": {
|
|
69
83
|
"*": {
|
|
84
|
+
"AggregationCursor": [
|
|
85
|
+
"./dist/dts/AggregationCursor.d.ts"
|
|
86
|
+
],
|
|
70
87
|
"Collection": [
|
|
71
88
|
"./dist/dts/Collection.d.ts"
|
|
72
89
|
],
|
|
73
90
|
"Db": [
|
|
74
91
|
"./dist/dts/Db.d.ts"
|
|
75
92
|
],
|
|
93
|
+
"DocumentAggregationCursor": [
|
|
94
|
+
"./dist/dts/DocumentAggregationCursor.d.ts"
|
|
95
|
+
],
|
|
76
96
|
"DocumentCollection": [
|
|
77
97
|
"./dist/dts/DocumentCollection.d.ts"
|
|
78
98
|
],
|
|
@@ -82,6 +102,9 @@
|
|
|
82
102
|
"FindCursor": [
|
|
83
103
|
"./dist/dts/FindCursor.d.ts"
|
|
84
104
|
],
|
|
105
|
+
"ListCollectionsCursor": [
|
|
106
|
+
"./dist/dts/ListCollectionsCursor.d.ts"
|
|
107
|
+
],
|
|
85
108
|
"MongoClient": [
|
|
86
109
|
"./dist/dts/MongoClient.d.ts"
|
|
87
110
|
],
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import * as Data from "effect/Data"
|
|
5
|
+
import * as Effect from "effect/Effect"
|
|
6
|
+
import * as F from "effect/Function"
|
|
7
|
+
import type * as ParseResult from "effect/ParseResult"
|
|
8
|
+
import * as Schema from "effect/Schema"
|
|
9
|
+
import * as Stream from "effect/Stream"
|
|
10
|
+
import type { AggregationCursor as MongoAggregationCursor } from "mongodb"
|
|
11
|
+
import * as MongoError from "./MongoError.js"
|
|
12
|
+
|
|
13
|
+
export class AggregationCursor<A, I = A, R = never> extends Data.TaggedClass("AggregationCursor")<
|
|
14
|
+
{ cursor: MongoAggregationCursor<unknown>; schema: Schema.Schema<A, I, R> }
|
|
15
|
+
> {
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const toArray = <A, I, R>(
|
|
19
|
+
cursor: AggregationCursor<A, I, R>
|
|
20
|
+
): Effect.Effect<ReadonlyArray<A>, MongoError.MongoError | ParseResult.ParseError, R> => {
|
|
21
|
+
const decode = Schema.decodeUnknown(cursor.schema)
|
|
22
|
+
return Effect.tryPromise({ try: () => cursor.cursor.toArray(), catch: F.identity }).pipe(
|
|
23
|
+
Effect.catchAll(MongoError.mongoErrorDie<ReadonlyArray<A>>("Unable to get array from mongodb aggregate cursor")),
|
|
24
|
+
Effect.flatMap(Effect.forEach((x) => decode(x)))
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const toStream = <A, I, R>(
|
|
29
|
+
cursor: AggregationCursor<A, I, R>
|
|
30
|
+
): Stream.Stream<A, MongoError.MongoError | ParseResult.ParseError, R> => {
|
|
31
|
+
const decode = Schema.decodeUnknown(cursor.schema)
|
|
32
|
+
return F.pipe(
|
|
33
|
+
Stream.fromAsyncIterable(cursor.cursor, F.identity),
|
|
34
|
+
Stream.catchAll(MongoError.mongoErrorStream<A>("Unable to get stream from mongodb aggregate cursor")),
|
|
35
|
+
Stream.mapEffect((x) => decode(x))
|
|
36
|
+
)
|
|
37
|
+
}
|