effect-mongodb 0.1.2 → 0.1.4
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/README.md +25 -19
- package/dist/cjs/AggregationCursor.js +18 -8
- package/dist/cjs/AggregationCursor.js.map +1 -1
- package/dist/cjs/Collection.js +40 -29
- package/dist/cjs/Collection.js.map +1 -1
- package/dist/cjs/Db.js +9 -3
- package/dist/cjs/Db.js.map +1 -1
- package/dist/cjs/DocumentAggregationCursor.js +18 -8
- package/dist/cjs/DocumentAggregationCursor.js.map +1 -1
- package/dist/cjs/DocumentCollection.js +36 -24
- package/dist/cjs/DocumentCollection.js.map +1 -1
- package/dist/cjs/DocumentFindCursor.js +24 -14
- package/dist/cjs/DocumentFindCursor.js.map +1 -1
- package/dist/cjs/FindCursor.js +25 -18
- package/dist/cjs/FindCursor.js.map +1 -1
- package/dist/cjs/ListCollectionsCursor.js +18 -8
- package/dist/cjs/ListCollectionsCursor.js.map +1 -1
- package/dist/cjs/MongoClient.js +8 -2
- package/dist/cjs/MongoClient.js.map +1 -1
- package/dist/cjs/MongoError.js +7 -18
- package/dist/cjs/MongoError.js.map +1 -1
- package/dist/cjs/internal/mongo-error.js +27 -0
- package/dist/cjs/internal/mongo-error.js.map +1 -0
- package/dist/cjs/internal/schema.js +2 -2
- package/dist/cjs/internal/schema.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/AggregationCursor.d.ts +5 -5
- package/dist/dts/AggregationCursor.d.ts.map +1 -1
- package/dist/dts/Collection.d.ts +17 -18
- package/dist/dts/Collection.d.ts.map +1 -1
- package/dist/dts/Db.d.ts.map +1 -1
- package/dist/dts/DocumentAggregationCursor.d.ts +5 -5
- package/dist/dts/DocumentAggregationCursor.d.ts.map +1 -1
- package/dist/dts/DocumentCollection.d.ts +7 -7
- package/dist/dts/DocumentCollection.d.ts.map +1 -1
- package/dist/dts/DocumentFindCursor.d.ts +5 -5
- package/dist/dts/DocumentFindCursor.d.ts.map +1 -1
- package/dist/dts/FindCursor.d.ts +5 -5
- package/dist/dts/FindCursor.d.ts.map +1 -1
- package/dist/dts/ListCollectionsCursor.d.ts +5 -5
- package/dist/dts/ListCollectionsCursor.d.ts.map +1 -1
- package/dist/dts/MongoClient.d.ts.map +1 -1
- package/dist/dts/MongoError.d.ts +32 -12
- package/dist/dts/MongoError.d.ts.map +1 -1
- package/dist/dts/internal/mongo-error.d.ts +5 -0
- package/dist/dts/internal/mongo-error.d.ts.map +1 -0
- package/dist/esm/AggregationCursor.js +16 -6
- package/dist/esm/AggregationCursor.js.map +1 -1
- package/dist/esm/Collection.js +38 -27
- package/dist/esm/Collection.js.map +1 -1
- package/dist/esm/Db.js +9 -3
- package/dist/esm/Db.js.map +1 -1
- package/dist/esm/DocumentAggregationCursor.js +16 -6
- package/dist/esm/DocumentAggregationCursor.js.map +1 -1
- package/dist/esm/DocumentCollection.js +34 -22
- package/dist/esm/DocumentCollection.js.map +1 -1
- package/dist/esm/DocumentFindCursor.js +22 -12
- package/dist/esm/DocumentFindCursor.js.map +1 -1
- package/dist/esm/FindCursor.js +23 -16
- package/dist/esm/FindCursor.js.map +1 -1
- package/dist/esm/ListCollectionsCursor.js +16 -6
- package/dist/esm/ListCollectionsCursor.js.map +1 -1
- package/dist/esm/MongoClient.js +8 -2
- package/dist/esm/MongoClient.js.map +1 -1
- package/dist/esm/MongoError.js +3 -17
- package/dist/esm/MongoError.js.map +1 -1
- package/dist/esm/internal/mongo-error.js +18 -0
- package/dist/esm/internal/mongo-error.js.map +1 -0
- package/dist/esm/internal/schema.js +2 -2
- package/dist/esm/internal/schema.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/AggregationCursor.ts +31 -6
- package/src/Collection.ts +80 -50
- package/src/Db.ts +7 -3
- package/src/DocumentAggregationCursor.ts +27 -5
- package/src/DocumentCollection.ts +52 -27
- package/src/DocumentFindCursor.ts +34 -11
- package/src/FindCursor.ts +36 -13
- package/src/ListCollectionsCursor.ts +31 -7
- package/src/MongoClient.ts +6 -2
- package/src/MongoError.ts +24 -32
- package/src/internal/mongo-error.ts +34 -0
- package/src/internal/schema.ts +2 -2
- package/src/internal/version.ts +1 -1
package/dist/esm/Collection.js
CHANGED
|
@@ -5,55 +5,66 @@ import * as Array from "effect/Array";
|
|
|
5
5
|
import * as Data from "effect/Data";
|
|
6
6
|
import * as Effect from "effect/Effect";
|
|
7
7
|
import * as F from "effect/Function";
|
|
8
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
8
9
|
import * as Schema from "effect/Schema";
|
|
9
10
|
import * as AggregationCursor from "./AggregationCursor.js";
|
|
10
11
|
import * as FindCursor from "./FindCursor.js";
|
|
12
|
+
import { mongoErrorOrDie } from "./internal/mongo-error.js";
|
|
11
13
|
import * as SchemaExt from "./internal/schema.js";
|
|
12
14
|
import * as MongoError from "./MongoError.js";
|
|
13
|
-
|
|
15
|
+
/** @internal */
|
|
16
|
+
export class CollectionImpl extends /*#__PURE__*/Data.TaggedClass("Collection") {
|
|
14
17
|
encode = /*#__PURE__*/Schema.encode(this.schema);
|
|
18
|
+
pipe() {
|
|
19
|
+
return pipeArguments(this, arguments);
|
|
20
|
+
}
|
|
15
21
|
}
|
|
16
|
-
export const find = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => new FindCursor.
|
|
22
|
+
export const find = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => new FindCursor.FindCursorImpl({
|
|
17
23
|
cursor: collection.collection.find(filter ?? {}, options),
|
|
18
24
|
schema: collection.schema
|
|
19
25
|
}));
|
|
20
|
-
export const findOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.gen(function* (
|
|
21
|
-
const value = yield*
|
|
22
|
-
return yield*
|
|
23
|
-
}).pipe(Effect.catchAllDefect(
|
|
24
|
-
export const insertOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, doc, options) => F.pipe(collection.encode(doc), Effect.flatMap(doc => Effect.promise(() => collection.collection.insertOne(doc, options))), Effect.catchAllDefect(
|
|
26
|
+
export const findOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.gen(function* () {
|
|
27
|
+
const value = yield* Effect.promise(() => collection.collection.findOne(filter, options));
|
|
28
|
+
return yield* SchemaExt.decodeNullableDocument(collection.schema, value);
|
|
29
|
+
}).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOne")))));
|
|
30
|
+
export const insertOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, doc, options) => F.pipe(collection.encode(doc), Effect.flatMap(doc => Effect.promise(() => collection.collection.insertOne(doc, options))), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "insertOne")))));
|
|
25
31
|
export const insertMany = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, docs, options) => {
|
|
26
|
-
return F.pipe(docs, Effect.forEach(doc => collection.encode(doc)), Effect.flatMap(docs => Effect.promise(() => collection.collection.insertMany(docs, options))), Effect.catchAllDefect(
|
|
32
|
+
return F.pipe(docs, Effect.forEach(doc => collection.encode(doc)), Effect.flatMap(docs => Effect.promise(() => collection.collection.insertMany(docs, options))), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "insertMany"))));
|
|
27
33
|
});
|
|
28
|
-
export const deleteOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.promise(() => collection.collection.deleteOne(filter, options)).pipe(Effect.catchAllDefect(
|
|
29
|
-
export const deleteMany = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.promise(() => collection.collection.deleteMany(filter, options)).pipe(Effect.catchAllDefect(
|
|
30
|
-
export const updateMany = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, update, options) => Effect.promise(() => collection.collection.updateMany(filter, Array.isArray(update) ? [...update] : update, options)).pipe(Effect.catchAllDefect(
|
|
31
|
-
export const replaceOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, replacement, options) => F.pipe(collection.encode(replacement), Effect.flatMap(replacement => Effect.promise(() => collection.collection.replaceOne(filter, replacement, options))), Effect.catchAllDefect(
|
|
32
|
-
export const findOneAndReplace = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, replacement, options) => F.pipe(collection.encode(replacement), Effect.flatMap(replacement => Effect.promise(() => collection.collection.findOneAndReplace(filter, replacement, options ?? {}))), Effect.flatMap(value => Effect.gen(function* (
|
|
34
|
+
export const deleteOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.promise(() => collection.collection.deleteOne(filter, options)).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "deleteOne")))));
|
|
35
|
+
export const deleteMany = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.promise(() => collection.collection.deleteMany(filter, options)).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "deleteMany")))));
|
|
36
|
+
export const updateMany = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, update, options) => Effect.promise(() => collection.collection.updateMany(filter, Array.isArray(update) ? [...update] : update, options)).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "updateMany")))));
|
|
37
|
+
export const replaceOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, replacement, options) => F.pipe(collection.encode(replacement), Effect.flatMap(replacement => Effect.promise(() => collection.collection.replaceOne(filter, replacement, options))), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "replaceOne")))));
|
|
38
|
+
export const findOneAndReplace = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, replacement, options) => F.pipe(collection.encode(replacement), Effect.flatMap(replacement => Effect.promise(() => collection.collection.findOneAndReplace(filter, replacement, options ?? {}))), Effect.flatMap(value => Effect.gen(function* () {
|
|
33
39
|
if (options?.includeResultMetadata && !!value) {
|
|
34
40
|
const result = value;
|
|
35
|
-
const maybeValue = yield*
|
|
41
|
+
const maybeValue = yield* SchemaExt.decodeNullableDocument(collection.schema, result.value);
|
|
36
42
|
return {
|
|
37
43
|
...result,
|
|
38
44
|
value: maybeValue
|
|
39
45
|
};
|
|
40
46
|
}
|
|
41
|
-
return yield*
|
|
42
|
-
})), Effect.catchAllDefect(
|
|
43
|
-
export const rename = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, newName, options) => F.pipe(Effect.promise(() => collection.collection.rename(newName, options)), Effect.map(newCollection => new
|
|
47
|
+
return yield* SchemaExt.decodeNullableDocument(collection.schema, value);
|
|
48
|
+
})), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOneAndReplace")))));
|
|
49
|
+
export const rename = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, newName, options) => F.pipe(Effect.promise(() => collection.collection.rename(newName, options)), Effect.map(newCollection => new CollectionImpl({
|
|
44
50
|
collection: newCollection,
|
|
45
51
|
schema: collection.schema
|
|
46
|
-
})), Effect.catchAllDefect(
|
|
47
|
-
export const drop = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.drop(options)), Effect.catchAllDefect(
|
|
48
|
-
export const createIndexes = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, indexSpecs, options) => F.pipe(Effect.promise(() => collection.collection.createIndexes([...indexSpecs], options)), Effect.catchAllDefect(
|
|
49
|
-
export const createIndex = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, indexSpec, options) => F.pipe(Effect.promise(() => collection.collection.createIndex(indexSpec, options)), Effect.catchAllDefect(
|
|
50
|
-
|
|
51
|
-
export const
|
|
52
|
-
export const aggregate = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, pipeline, schema, options) => new AggregationCursor.AggregationCursor({
|
|
52
|
+
})), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "rename")))));
|
|
53
|
+
export const drop = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.drop(options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "drop")))));
|
|
54
|
+
export const createIndexes = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, indexSpecs, options) => F.pipe(Effect.promise(() => collection.collection.createIndexes([...indexSpecs], options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "createIndexes")))));
|
|
55
|
+
export const createIndex = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, indexSpec, options) => F.pipe(Effect.promise(() => collection.collection.createIndex(indexSpec, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "createIndex")))));
|
|
56
|
+
export const dropIndex = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, indexName, options) => F.pipe(Effect.promise(() => collection.collection.dropIndex(indexName, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "dropIndex")))));
|
|
57
|
+
export const aggregate = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, schema, pipeline, options) => new AggregationCursor.AggregationCursorImpl({
|
|
53
58
|
cursor: collection.collection.aggregate([...pipeline], options),
|
|
54
59
|
schema
|
|
55
60
|
}));
|
|
56
|
-
export const estimatedDocumentCount = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.estimatedDocumentCount(options)), Effect.catchAllDefect(
|
|
57
|
-
export const countDocuments = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.countDocuments(filter, options)), Effect.catchAllDefect(
|
|
58
|
-
const isCollection = x => x instanceof
|
|
61
|
+
export const estimatedDocumentCount = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.estimatedDocumentCount(options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "estimatedDocumentCount")))));
|
|
62
|
+
export const countDocuments = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.countDocuments(filter, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "countDocuments")))));
|
|
63
|
+
const isCollection = x => x instanceof CollectionImpl;
|
|
64
|
+
const errorSource = (collection, functionName) => new MongoError.CollectionErrorSource({
|
|
65
|
+
module: CollectionImpl.name,
|
|
66
|
+
functionName,
|
|
67
|
+
db: collection.collection.dbName,
|
|
68
|
+
collection: collection.collection.collectionName
|
|
69
|
+
});
|
|
59
70
|
//# sourceMappingURL=Collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.js","names":["Array","Data","Effect","F","Schema","AggregationCursor","FindCursor","SchemaExt","MongoError","
|
|
1
|
+
{"version":3,"file":"Collection.js","names":["Array","Data","Effect","F","pipeArguments","Schema","AggregationCursor","FindCursor","mongoErrorOrDie","SchemaExt","MongoError","CollectionImpl","TaggedClass","encode","schema","pipe","arguments","find","dual","args","isCollection","collection","filter","options","FindCursorImpl","cursor","findOne","gen","value","promise","decodeNullableDocument","catchAllDefect","errorSource","insertOne","doc","flatMap","insertMany","docs","forEach","deleteOne","deleteMany","updateMany","update","isArray","replaceOne","replacement","findOneAndReplace","includeResultMetadata","result","maybeValue","rename","newName","map","newCollection","drop","createIndexes","indexSpecs","createIndex","indexSpec","dropIndex","indexName","aggregate","pipeline","AggregationCursorImpl","estimatedDocumentCount","countDocuments","x","functionName","CollectionErrorSource","module","name","db","dbName","collectionName"],"sources":["../../src/Collection.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AAIpC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AA2BvC,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAC3D,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAG7C,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AACjD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAe7C;AACA,OAAM,MAAOC,cACX,sBAAQV,IAAI,CAACW,WAAW,CAAC,YAAY,CAA4B;EAGxDC,MAAM,gBAAGR,MAAM,CAACQ,MAAM,CAAC,IAAI,CAACC,MAAM,CAAC;EAC5CC,IAAIA,CAAA;IACF,OAAOX,aAAa,CAAC,IAAI,EAAEY,SAAS,CAAC;EACvC;;AAKF,OAAO,MAAMC,IAAI,gBAUbd,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAkB,EAClBC,OAAqB,KAErB,IAAIhB,UAAU,CAACiB,cAAc,CAAU;EACrCC,MAAM,EAAEJ,UAAU,CAACA,UAAU,CAACJ,IAAI,CAACK,MAAM,IAAI,EAAE,EAAEC,OAAO,CAAC;EACzDT,MAAM,EAAEO,UAAU,CAACP;CACpB,CAAC,CACL;AAED,OAAO,MAAMY,OAAO,gBAShBvB,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAiB,EACjBC,OAAqB,KAErBrB,MAAM,CAACyB,GAAG,CAAC,aAAS;EAClB,MAAMC,KAAK,GAAG,OAAO1B,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACK,OAAO,CAACJ,MAAM,EAAEC,OAAO,CAAC,CAAC;EACzF,OAAO,OAAOd,SAAS,CAACqB,sBAAsB,CAACT,UAAU,CAACP,MAAM,EAAEc,KAAK,CAAC;AAC1E,CAAC,CAAC,CAACb,IAAI,CACLb,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAC3E,CACJ;AAED,OAAO,MAAMY,SAAS,gBASlB9B,CAAC,CAACe,IAAI,CAAEC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAC1CE,UAA+B,EAC/Ba,GAAM,EACNX,OAA0B,KAE1BpB,CAAC,CAACY,IAAI,CACJM,UAAU,CAACR,MAAM,CAACqB,GAAG,CAAC,EACtBhC,MAAM,CAACiC,OAAO,CAAED,GAAG,IAAKhC,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACY,SAAS,CAACC,GAAG,EAAEX,OAAO,CAAC,CAAC,CAAC,EAC5FrB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAC7E,CAAC;AAEJ,OAAO,MAAMe,UAAU,gBASnBjC,CAAC,CAACe,IAAI,CAAEC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAC1CE,UAA+B,EAC/BgB,IAAsB,EACtBd,OAA0B,KAC+D;EACzF,OAAOpB,CAAC,CAACY,IAAI,CACXsB,IAAI,EACJnC,MAAM,CAACoC,OAAO,CAAEJ,GAAG,IAAKb,UAAU,CAACR,MAAM,CAACqB,GAAG,CAAC,CAAC,EAC/ChC,MAAM,CAACiC,OAAO,CAAEE,IAAI,IAAKnC,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACe,UAAU,CAACC,IAAI,EAAEd,OAAO,CAAC,CAAC,CAAC,EAC/FrB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAC9E;AACH,CAAC,CAAC;AAEF,OAAO,MAAMkB,SAAS,gBASlBpC,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAiB,EACjBC,OAAuB,KAEvBrB,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACkB,SAAS,CAACjB,MAAM,EAAEC,OAAO,CAAC,CAAC,CAACR,IAAI,CACzEb,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAC7E,CACJ;AAED,OAAO,MAAMmB,UAAU,gBASnBrC,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAiB,EACjBC,OAAuB,KAEvBrB,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACmB,UAAU,CAAClB,MAAM,EAAEC,OAAO,CAAC,CAAC,CAACR,IAAI,CAC1Eb,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAC9E,CACJ;AAED,OAAO,MAAMoB,UAAU,gBAcnBtC,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAiB,EACjBoB,MAAiD,EACjDnB,OAAuB,KAEvBrB,MAAM,CAAC2B,OAAO,CAAC,MACbR,UAAU,CAACA,UAAU,CAACoB,UAAU,CAC9BnB,MAAM,EACNtB,KAAK,CAAC2C,OAAO,CAACD,MAAM,CAAC,GAAG,CAAC,GAAGA,MAAM,CAAC,GAAGA,MAAgC,EACtEnB,OAAO,CACR,CACF,CAACR,IAAI,CAACb,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CACxF;AAED,OAAO,MAAMuB,UAAU,gBAcnBzC,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAiB,EACjBuB,WAAc,EACdtB,OAAwB,KAMxBpB,CAAC,CAACY,IAAI,CACJM,UAAU,CAACR,MAAM,CAACgC,WAAW,CAAC,EAC9B3C,MAAM,CAACiC,OAAO,CAAEU,WAAW,IACzB3C,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACuB,UAAU,CAACtB,MAAM,EAAEuB,WAAW,EAAEtB,OAAO,CAAC,CAAC,CACrF,EACDrB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAC9E,CACJ;AAED,OAAO,MAAMyB,iBAAiB,gBA4C1B3C,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAiB,EACjBuB,WAAc,EACdtB,OAAkC,KAElCpB,CAAC,CAACY,IAAI,CACJM,UAAU,CAACR,MAAM,CAACgC,WAAW,CAAC,EAC9B3C,MAAM,CAACiC,OAAO,CAAEU,WAAW,IACzB3C,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACyB,iBAAiB,CAACxB,MAAM,EAAEuB,WAAW,EAAEtB,OAAO,IAAI,EAAE,CAAC,CAAC,CAClG,EACDrB,MAAM,CAACiC,OAAO,CAAEP,KAAK,IACnB1B,MAAM,CAACyB,GAAG,CAAC,aAAS;EAClB,IAAIJ,OAAO,EAAEwB,qBAAqB,IAAI,CAAC,CAACnB,KAAK,EAAE;IAC7C,MAAMoB,MAAM,GAAGpB,KAAwC;IACvD,MAAMqB,UAAU,GAAG,OAAOxC,SAAS,CAACqB,sBAAsB,CAACT,UAAU,CAACP,MAAM,EAAEkC,MAAM,CAACpB,KAAK,CAAC;IAC3F,OAAO;MAAE,GAAGoB,MAAM;MAAEpB,KAAK,EAAEqB;IAAU,CAAE;EACzC;EACA,OAAO,OAAOxC,SAAS,CAACqB,sBAAsB,CAACT,UAAU,CAACP,MAAM,EAAEc,KAAK,CAAC;AAC1E,CAAC,CAAC,CACH,EACD1B,MAAM,CAAC6B,cAAc,CACnBvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAC9D,CACF,CACJ;AAED,OAAO,MAAM6B,MAAM,gBASf/C,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/B8B,OAAe,EACf5B,OAAuB,KAEvBpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAAC6B,MAAM,CAACC,OAAO,EAAE5B,OAAO,CAAC,CAAC,EACpErB,MAAM,CAACkD,GAAG,CAAEC,aAAa,IACvB,IAAI1C,cAAc,CAAU;EAAEU,UAAU,EAAEgC,aAAa;EAAEvC,MAAM,EAAEO,UAAU,CAACP;AAAM,CAAE,CAAC,CACtF,EACDZ,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAC1E,CACJ;AAED,OAAO,MAAMiC,IAAI,gBAQbnD,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BE,OAA+B,KAE/BpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACiC,IAAI,CAAC/B,OAAO,CAAC,CAAC,EACzDrB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CACxE,CACJ;AAED,OAAO,MAAMkC,aAAa,gBAYtBpD,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BmC,UAA2C,EAC3CjC,OAA8B,KAE9BpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACkC,aAAa,CAAC,CAAC,GAAGC,UAAU,CAAC,EAAEjC,OAAO,CAAC,CAAC,EACnFrB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CACjF,CACJ;AAED,OAAO,MAAMoC,WAAW,gBASpBtD,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BqC,SAA6B,EAC7BnC,OAA8B,KAE9BpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACoC,WAAW,CAACC,SAAS,EAAEnC,OAAO,CAAC,CAAC,EAC3ErB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAC/E,CACJ;AAED,OAAO,MAAMsC,SAAS,gBASlBxD,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BuC,SAAiB,EACjBrC,OAA4B,KAE5BpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAACsC,SAAS,CAACC,SAAS,EAAErC,OAAO,CAAC,CAAC,EACzErB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAC7E,CACJ;AAED,OAAO,MAAMwC,SAAS,gBAclB1D,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BP,MAAgC,EAChCgD,QAAiC,EACjCvC,OAA0B,KAE1B,IAAIjB,iBAAiB,CAACyD,qBAAqB,CAAY;EACrDtC,MAAM,EAAEJ,UAAU,CAACA,UAAU,CAACwC,SAAS,CAAC,CAAC,GAAGC,QAAQ,CAAC,EAAEvC,OAAO,CAAC;EAC/DT;CACD,CAAC,CACL;AAED,OAAO,MAAMkD,sBAAsB,gBAQ/B7D,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BE,OAAuC,KAEvCpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAAC2C,sBAAsB,CAACzC,OAAO,CAAC,CAAC,EAC3ErB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAC1F,CACJ;AAED,OAAO,MAAM4C,cAAc,gBASvB9D,CAAC,CAACe,IAAI,CACPC,IAAI,IAAKC,YAAY,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CACEE,UAA+B,EAC/BC,MAAkB,EAClBC,OAA+B,KAE/BpB,CAAC,CAACY,IAAI,CACJb,MAAM,CAAC2B,OAAO,CAAC,MAAMR,UAAU,CAACA,UAAU,CAAC4C,cAAc,CAAC3C,MAAM,EAAEC,OAAO,CAAC,CAAC,EAC3ErB,MAAM,CAAC6B,cAAc,CAACvB,eAAe,CAACwB,WAAW,CAACX,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAClF,CACJ;AAED,MAAMD,YAAY,GAAI8C,CAAU,IAAKA,CAAC,YAAYvD,cAAc;AAEhE,MAAMqB,WAAW,GAAGA,CAClBX,UAA+B,EAC/B8C,YAAoB,KAEpB,IAAIzD,UAAU,CAAC0D,qBAAqB,CAAC;EACnCC,MAAM,EAAE1D,cAAc,CAAC2D,IAAI;EAC3BH,YAAY;EACZI,EAAE,EAAElD,UAAU,CAACA,UAAU,CAACmD,MAAM;EAChCnD,UAAU,EAAEA,UAAU,CAACA,UAAU,CAACoD;CACnC,CAAC","ignoreList":[]}
|
package/dist/esm/Db.js
CHANGED
|
@@ -5,15 +5,21 @@ import * as Effect from "effect/Effect";
|
|
|
5
5
|
import * as F from "effect/Function";
|
|
6
6
|
import { Db } from "mongodb";
|
|
7
7
|
import * as DocumentCollection from "./DocumentCollection.js";
|
|
8
|
+
import { mongoErrorOrDie } from "./internal/mongo-error.js";
|
|
8
9
|
import * as ListCollectionsCursor from "./ListCollectionsCursor.js";
|
|
9
10
|
import * as MongoError from "./MongoError.js";
|
|
10
|
-
export const documentCollection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name) => new DocumentCollection.
|
|
11
|
+
export const documentCollection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name) => new DocumentCollection.DocumentCollectionImpl({
|
|
11
12
|
collection: db.collection(name)
|
|
12
13
|
}));
|
|
13
14
|
export const collection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name, schema) => DocumentCollection.typed(documentCollection(db, name), schema));
|
|
14
|
-
export const listCollections = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, filter, options) => new ListCollectionsCursor.
|
|
15
|
+
export const listCollections = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, filter, options) => new ListCollectionsCursor.ListCollectionsCursorImpl({
|
|
15
16
|
cursor: db.listCollections(filter, options)
|
|
16
17
|
}));
|
|
17
|
-
export const dropCollection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name, options) => F.pipe(Effect.promise(() => db.dropCollection(name, options)), Effect.catchAllDefect(
|
|
18
|
+
export const dropCollection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name, options) => F.pipe(Effect.promise(() => db.dropCollection(name, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(db, "dropCollection")))));
|
|
18
19
|
const isDb = x => x instanceof Db;
|
|
20
|
+
const errorSource = (db, functionName) => new MongoError.DbErrorSource({
|
|
21
|
+
module: "Db",
|
|
22
|
+
functionName,
|
|
23
|
+
db: db.databaseName
|
|
24
|
+
});
|
|
19
25
|
//# sourceMappingURL=Db.js.map
|
package/dist/esm/Db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.js","names":["Effect","F","Db","DocumentCollection","ListCollectionsCursor","MongoError","documentCollection","dual","args","isDb","db","name","collection","schema","typed","listCollections","filter","options","cursor","dropCollection","pipe","promise","catchAllDefect","
|
|
1
|
+
{"version":3,"file":"Db.js","names":["Effect","F","Db","DocumentCollection","mongoErrorOrDie","ListCollectionsCursor","MongoError","documentCollection","dual","args","isDb","db","name","DocumentCollectionImpl","collection","schema","typed","listCollections","filter","options","ListCollectionsCursorImpl","cursor","dropCollection","pipe","promise","catchAllDefect","errorSource","x","functionName","DbErrorSource","module","databaseName"],"sources":["../../src/Db.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AAGpC,SAASC,EAAE,QAAQ,SAAS;AAE5B,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AACnE,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,OAAO,MAAMC,kBAAkB,gBAG3BN,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,CAACE,EAAM,EAAEC,IAAY,KACnB,IAAIT,kBAAkB,CAACU,sBAAsB,CAAC;EAC5CC,UAAU,EAAEH,EAAE,CAACG,UAAU,CAACF,IAAI;CAC/B,CAAC,CACL;AAED,OAAO,MAAME,UAAU,gBAUnBb,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,CACEE,EAAM,EACNC,IAAY,EACZG,MAA8B,KACKZ,kBAAkB,CAACa,KAAK,CAACT,kBAAkB,CAACI,EAAE,EAAEC,IAAI,CAAC,EAAEG,MAAM,CAAC,CACpG;AAED,OAAO,MAAME,eAAe,gBAsBxBhB,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,CAACE,EAAM,EAAEO,MAAiB,EAAEC,OAAgC,KAC1D,IAAId,qBAAqB,CAACe,yBAAyB,CAAC;EAAEC,MAAM,EAAEV,EAAE,CAACM,eAAe,CAACC,MAAM,EAAEC,OAAO;AAAC,CAAE,CAAC,CACvG;AAED,OAAO,MAAMG,cAAc,gBAKvBrB,CAAC,CAACO,IAAI,CACPC,IAAI,IAAKC,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,CAACE,EAAM,EAAEC,IAAY,EAAEO,OAA+B,KACpDlB,CAAC,CAACsB,IAAI,CACJvB,MAAM,CAACwB,OAAO,CAAC,MAAMb,EAAE,CAACW,cAAc,CAACV,IAAI,EAAEO,OAAO,CAAC,CAAC,EACtDnB,MAAM,CAACyB,cAAc,CAACrB,eAAe,CAACsB,WAAW,CAACf,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAC1E,CACJ;AAED,MAAMD,IAAI,GAAIiB,CAAU,IAAKA,CAAC,YAAYzB,EAAE;AAE5C,MAAMwB,WAAW,GAAGA,CAACf,EAAM,EAAEiB,YAAoB,KAC/C,IAAItB,UAAU,CAACuB,aAAa,CAAC;EAAEC,MAAM,EAAE,IAAI;EAAEF,YAAY;EAAEjB,EAAE,EAAEA,EAAE,CAACoB;AAAY,CAAE,CAAC","ignoreList":[]}
|
|
@@ -4,12 +4,22 @@
|
|
|
4
4
|
import * as Data from "effect/Data";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import * as F from "effect/Function";
|
|
7
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
7
8
|
import * as Stream from "effect/Stream";
|
|
9
|
+
import { mongoErrorOrDie } from "./internal/mongo-error.js";
|
|
8
10
|
import * as MongoError from "./MongoError.js";
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
11
|
+
/** @internal */
|
|
12
|
+
export class DocumentAggregationCursorImpl extends /*#__PURE__*/Data.TaggedClass("DocumentAggregationCursor") {
|
|
13
|
+
pipe() {
|
|
14
|
+
return pipeArguments(this, arguments);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const toArray = cursor => F.pipe(Effect.promise(() => cursor.cursor.toArray()), Effect.catchAllDefect(mongoErrorOrDie(errorSource(cursor, "toArray"))));
|
|
18
|
+
export const toStream = cursor => F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(mongoErrorOrDie(errorSource(cursor, "toStream"))));
|
|
19
|
+
const errorSource = (cursor, functionName) => new MongoError.CollectionErrorSource({
|
|
20
|
+
module: DocumentAggregationCursorImpl.name,
|
|
21
|
+
functionName,
|
|
22
|
+
db: cursor.cursor.namespace.db,
|
|
23
|
+
collection: cursor.cursor.namespace.collection ?? "NO_COLLECTION_NAME"
|
|
24
|
+
});
|
|
15
25
|
//# sourceMappingURL=DocumentAggregationCursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentAggregationCursor.js","names":["Data","Effect","F","Stream","MongoError","
|
|
1
|
+
{"version":3,"file":"DocumentAggregationCursor.js","names":["Data","Effect","F","pipeArguments","Stream","mongoErrorOrDie","MongoError","DocumentAggregationCursorImpl","TaggedClass","pipe","arguments","toArray","cursor","promise","catchAllDefect","errorSource","toStream","fromAsyncIterable","identity","catchAll","functionName","CollectionErrorSource","module","name","db","namespace","collection"],"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;AAEpC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAQ7C;AACA,OAAM,MAAOC,6BACX,sBAAQP,IAAI,CAACQ,WAAW,CAAC,2BAA2B,CAAkC;EAGtFC,IAAIA,CAAA;IACF,OAAON,aAAa,CAAC,IAAI,EAAEO,SAAS,CAAC;EACvC;;AAGF,OAAO,MAAMC,OAAO,GAClBC,MAAiC,IAEjCV,CAAC,CAACO,IAAI,CACJR,MAAM,CAACY,OAAO,CAAC,MAAMD,MAAM,CAACA,MAAM,CAACD,OAAO,EAAE,CAAC,EAC7CV,MAAM,CAACa,cAAc,CAACT,eAAe,CAACU,WAAW,CAACH,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CACvE;AAEH,OAAO,MAAMI,QAAQ,GACnBJ,MAAiC,IAEjCV,CAAC,CAACO,IAAI,CACJL,MAAM,CAACa,iBAAiB,CAACL,MAAM,CAACA,MAAM,EAAEV,CAAC,CAACgB,QAAQ,CAAC,EACnDd,MAAM,CAACe,QAAQ,CAACd,eAAe,CAACU,WAAW,CAACH,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAClE;AAEH,MAAMG,WAAW,GAAGA,CAACH,MAAiC,EAAEQ,YAAoB,KAC1E,IAAId,UAAU,CAACe,qBAAqB,CAAC;EACnCC,MAAM,EAAEf,6BAA6B,CAACgB,IAAI;EAC1CH,YAAY;EACZI,EAAE,EAAEZ,MAAM,CAACA,MAAM,CAACa,SAAS,CAACD,EAAE;EAC9BE,UAAU,EAAEd,MAAM,CAACA,MAAM,CAACa,SAAS,CAACC,UAAU,IAAI;CACnD,CAAC","ignoreList":[]}
|
|
@@ -6,21 +6,28 @@ import * as Data from "effect/Data";
|
|
|
6
6
|
import * as Effect from "effect/Effect";
|
|
7
7
|
import * as F from "effect/Function";
|
|
8
8
|
import * as O from "effect/Option";
|
|
9
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
9
10
|
import * as Collection from "./Collection.js";
|
|
10
11
|
import * as DocumentAggregationCursor from "./DocumentAggregationCursor.js";
|
|
11
12
|
import * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
13
|
+
import { mongoErrorOrDie } from "./internal/mongo-error.js";
|
|
12
14
|
import * as MongoError from "./MongoError.js";
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
+
/** @internal */
|
|
16
|
+
export class DocumentCollectionImpl extends /*#__PURE__*/Data.TaggedClass("DocumentCollection") {
|
|
17
|
+
pipe() {
|
|
18
|
+
return pipeArguments(this, arguments);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export const find = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => new DocumentFindCursor.DocumentFindCursorImpl({
|
|
15
22
|
cursor: collection.collection.find(filter ?? {}, options)
|
|
16
23
|
}));
|
|
17
|
-
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(
|
|
18
|
-
export const insertOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, doc, options) => F.pipe(Effect.promise(() => collection.collection.insertOne(doc, options)), Effect.catchAllDefect(
|
|
19
|
-
export const insertMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, docs, options) => F.pipe(Effect.promise(() => collection.collection.insertMany(docs, options)), Effect.catchAllDefect(
|
|
20
|
-
export const deleteOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.deleteOne(filter, options)), Effect.catchAllDefect(
|
|
21
|
-
export const deleteMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.deleteMany(filter, options)), Effect.catchAllDefect(
|
|
22
|
-
export const updateMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, update, options) => F.pipe(Effect.promise(() => collection.collection.updateMany(filter, Array.isArray(update) ? [...update] : update, options)), Effect.catchAllDefect(
|
|
23
|
-
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(
|
|
24
|
+
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(mongoErrorOrDie(errorSource(collection, "findOne")))));
|
|
25
|
+
export const insertOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, doc, options) => F.pipe(Effect.promise(() => collection.collection.insertOne(doc, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "insertOne")))));
|
|
26
|
+
export const insertMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, docs, options) => F.pipe(Effect.promise(() => collection.collection.insertMany(docs, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "insertMany")))));
|
|
27
|
+
export const deleteOne = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.deleteOne(filter, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "deleteOne")))));
|
|
28
|
+
export const deleteMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.deleteMany(filter, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "deleteMany")))));
|
|
29
|
+
export const updateMany = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, update, options) => F.pipe(Effect.promise(() => collection.collection.updateMany(filter, Array.isArray(update) ? [...update] : update, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "updateMany")))));
|
|
30
|
+
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(mongoErrorOrDie(errorSource(collection, "replaceOne")))));
|
|
24
31
|
export const findOneAndReplace = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, replacement, options) => F.pipe(Effect.promise(() => collection.collection.findOneAndReplace(filter, replacement, options ?? {})), Effect.map(value => {
|
|
25
32
|
if (options?.includeResultMetadata && !!value) {
|
|
26
33
|
const result = value;
|
|
@@ -30,23 +37,28 @@ export const findOneAndReplace = /*#__PURE__*/F.dual(args => isDocumentCollectio
|
|
|
30
37
|
};
|
|
31
38
|
}
|
|
32
39
|
return O.fromNullable(value);
|
|
33
|
-
}), Effect.catchAllDefect(
|
|
34
|
-
export const rename = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, newName, options) => F.pipe(Effect.promise(() => collection.collection.rename(newName, options)), Effect.map(collection => new
|
|
40
|
+
}), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOneAndReplace")))));
|
|
41
|
+
export const rename = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, newName, options) => F.pipe(Effect.promise(() => collection.collection.rename(newName, options)), Effect.map(collection => new DocumentCollectionImpl({
|
|
35
42
|
collection
|
|
36
|
-
})), Effect.catchAllDefect(
|
|
37
|
-
export const drop = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.drop(options)), Effect.catchAllDefect(
|
|
38
|
-
export const createIndexes = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, indexSpecs, options) => F.pipe(Effect.promise(() => collection.collection.createIndexes([...indexSpecs], options)), Effect.catchAllDefect(
|
|
39
|
-
export const createIndex = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, indexSpec, options) => F.pipe(Effect.promise(() => collection.collection.createIndex(indexSpec, options)), Effect.catchAllDefect(
|
|
40
|
-
|
|
41
|
-
export const
|
|
42
|
-
export const aggregate = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, pipeline, options) => new DocumentAggregationCursor.DocumentAggregationCursor({
|
|
43
|
+
})), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "rename")))));
|
|
44
|
+
export const drop = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.drop(options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "drop")))));
|
|
45
|
+
export const createIndexes = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, indexSpecs, options) => F.pipe(Effect.promise(() => collection.collection.createIndexes([...indexSpecs], options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "createIndexes")))));
|
|
46
|
+
export const createIndex = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, indexSpec, options) => F.pipe(Effect.promise(() => collection.collection.createIndex(indexSpec, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "createIndex")))));
|
|
47
|
+
export const dropIndex = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, indexName, options) => F.pipe(Effect.promise(() => collection.collection.dropIndex(indexName, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "dropIndex")))));
|
|
48
|
+
export const aggregate = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, pipeline, options) => new DocumentAggregationCursor.DocumentAggregationCursorImpl({
|
|
43
49
|
cursor: collection.collection.aggregate(pipeline ? [...pipeline] : undefined, options)
|
|
44
50
|
}));
|
|
45
|
-
export const estimatedDocumentCount = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.estimatedDocumentCount(options)), Effect.catchAllDefect(
|
|
46
|
-
export const countDocuments = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.countDocuments(filter, options)), Effect.catchAllDefect(
|
|
47
|
-
export const typed = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, schema) => new Collection.
|
|
51
|
+
export const estimatedDocumentCount = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, options) => F.pipe(Effect.promise(() => collection.collection.estimatedDocumentCount(options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "estimatedDocumentCount")))));
|
|
52
|
+
export const countDocuments = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, options) => F.pipe(Effect.promise(() => collection.collection.countDocuments(filter, options)), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "countDocuments")))));
|
|
53
|
+
export const typed = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, schema) => new Collection.CollectionImpl({
|
|
48
54
|
collection: collection.collection,
|
|
49
55
|
schema
|
|
50
56
|
}));
|
|
51
|
-
const isDocumentCollection = x => x instanceof
|
|
57
|
+
const isDocumentCollection = x => x instanceof DocumentCollectionImpl;
|
|
58
|
+
const errorSource = (collection, functionName) => new MongoError.CollectionErrorSource({
|
|
59
|
+
module: DocumentCollectionImpl.name,
|
|
60
|
+
functionName,
|
|
61
|
+
db: collection.collection.dbName,
|
|
62
|
+
collection: collection.collection.collectionName
|
|
63
|
+
});
|
|
52
64
|
//# sourceMappingURL=DocumentCollection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentCollection.js","names":["Array","Data","Effect","F","O","Collection","DocumentAggregationCursor","DocumentFindCursor","MongoError","
|
|
1
|
+
{"version":3,"file":"DocumentCollection.js","names":["Array","Data","Effect","F","O","pipeArguments","Collection","DocumentAggregationCursor","DocumentFindCursor","mongoErrorOrDie","MongoError","DocumentCollectionImpl","TaggedClass","pipe","arguments","find","dual","args","isDocumentCollection","collection","filter","options","DocumentFindCursorImpl","cursor","findOne","promise","map","value","fromNullable","catchAllDefect","errorSource","insertOne","doc","insertMany","docs","deleteOne","deleteMany","updateMany","update","isArray","replaceOne","replacement","findOneAndReplace","includeResultMetadata","result","rename","newName","drop","createIndexes","indexSpecs","createIndex","indexSpec","dropIndex","indexName","aggregate","pipeline","DocumentAggregationCursorImpl","undefined","estimatedDocumentCount","countDocuments","typed","schema","CollectionImpl","x","functionName","CollectionErrorSource","module","name","db","dbName","collectionName"],"sources":["../../src/DocumentCollection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -4,30 +4,40 @@
|
|
|
4
4
|
import * as Data from "effect/Data";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import * as F from "effect/Function";
|
|
7
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
7
8
|
import * as Stream from "effect/Stream";
|
|
8
9
|
import * as FindCursor from "./FindCursor.js";
|
|
10
|
+
import { mongoErrorOrDie } from "./internal/mongo-error.js";
|
|
9
11
|
import * as MongoError from "./MongoError.js";
|
|
10
|
-
|
|
11
|
-
export
|
|
12
|
+
/** @internal */
|
|
13
|
+
export class DocumentFindCursorImpl extends /*#__PURE__*/Data.TaggedClass("DocumentFindCursor") {
|
|
14
|
+
pipe() {
|
|
15
|
+
return pipeArguments(this, arguments);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const filter = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, filter) => new DocumentFindCursorImpl({
|
|
12
19
|
cursor: cursor.cursor.filter(filter)
|
|
13
20
|
}));
|
|
14
|
-
export const project = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, value) => new
|
|
21
|
+
export const project = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, value) => new DocumentFindCursorImpl({
|
|
15
22
|
cursor: cursor.cursor.project(value)
|
|
16
23
|
}));
|
|
17
|
-
export const sort = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, sort, direction) => new
|
|
24
|
+
export const sort = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, sort, direction) => new DocumentFindCursorImpl({
|
|
18
25
|
cursor: cursor.cursor.sort(sort, direction)
|
|
19
26
|
}));
|
|
20
|
-
export const limit = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, value) => new
|
|
27
|
+
export const limit = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, value) => new DocumentFindCursorImpl({
|
|
21
28
|
cursor: cursor.cursor.limit(value)
|
|
22
29
|
}));
|
|
23
|
-
export const toArray = cursor => F.pipe(Effect.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}), Effect.catchAll(MongoError.mongoErrorDie("toArray error")));
|
|
27
|
-
export const toStream = cursor => F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(MongoError.mongoErrorStream("Unable to read from mongodb cursor")));
|
|
28
|
-
export const typed = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, schema) => new FindCursor.FindCursor({
|
|
30
|
+
export const toArray = cursor => F.pipe(Effect.promise(() => cursor.cursor.toArray()), Effect.catchAllDefect(mongoErrorOrDie(errorSource(cursor, "toArray"))));
|
|
31
|
+
export const toStream = cursor => F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(mongoErrorOrDie(errorSource(cursor, "toStream"))));
|
|
32
|
+
export const typed = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, schema) => new FindCursor.FindCursorImpl({
|
|
29
33
|
cursor: cursor.cursor,
|
|
30
34
|
schema
|
|
31
35
|
}));
|
|
32
|
-
const isDocumentFindCursor = x => x instanceof
|
|
36
|
+
const isDocumentFindCursor = x => x instanceof DocumentFindCursorImpl;
|
|
37
|
+
const errorSource = (cursor, functionName) => new MongoError.CollectionErrorSource({
|
|
38
|
+
module: DocumentFindCursorImpl.name,
|
|
39
|
+
functionName,
|
|
40
|
+
db: cursor.cursor.namespace.db,
|
|
41
|
+
collection: cursor.cursor.namespace.collection ?? "NO_COLLECTION_NAME"
|
|
42
|
+
});
|
|
33
43
|
//# sourceMappingURL=DocumentFindCursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentFindCursor.js","names":["Data","Effect","F","Stream","FindCursor","MongoError","
|
|
1
|
+
{"version":3,"file":"DocumentFindCursor.js","names":["Data","Effect","F","pipeArguments","Stream","FindCursor","mongoErrorOrDie","MongoError","DocumentFindCursorImpl","TaggedClass","pipe","arguments","filter","dual","args","isDocumentFindCursor","cursor","project","value","sort","direction","limit","toArray","promise","catchAllDefect","errorSource","toStream","fromAsyncIterable","identity","catchAll","typed","schema","FindCursorImpl","x","functionName","CollectionErrorSource","module","name","db","namespace","collection"],"sources":["../../src/DocumentFindCursor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/FindCursor.js
CHANGED
|
@@ -4,50 +4,57 @@
|
|
|
4
4
|
import * as Data from "effect/Data";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import * as F from "effect/Function";
|
|
7
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
7
8
|
import * as Schema from "effect/Schema";
|
|
8
9
|
import * as Stream from "effect/Stream";
|
|
9
10
|
import * as Tuple from "effect/Tuple";
|
|
11
|
+
import { mongoErrorOrDie } from "./internal/mongo-error.js";
|
|
10
12
|
import * as MongoError from "./MongoError.js";
|
|
11
|
-
|
|
12
|
-
export
|
|
13
|
+
/** @internal */
|
|
14
|
+
export class FindCursorImpl extends /*#__PURE__*/Data.TaggedClass("FindCursor") {
|
|
15
|
+
pipe() {
|
|
16
|
+
return pipeArguments(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export const filter = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, filter) => new FindCursorImpl({
|
|
13
20
|
cursor: cursor.cursor.filter(filter),
|
|
14
21
|
schema: cursor.schema
|
|
15
22
|
}));
|
|
16
|
-
export const project = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, newSchema, value) => new
|
|
23
|
+
export const project = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, newSchema, value) => new FindCursorImpl({
|
|
17
24
|
cursor: cursor.cursor.project(value),
|
|
18
25
|
schema: newSchema
|
|
19
26
|
}));
|
|
20
|
-
export const sort = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, sort, direction) => new
|
|
27
|
+
export const sort = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, sort, direction) => new FindCursorImpl({
|
|
21
28
|
cursor: cursor.cursor.sort(sort, direction),
|
|
22
29
|
schema: cursor.schema
|
|
23
30
|
}));
|
|
24
|
-
export const limit = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, value) => new
|
|
31
|
+
export const limit = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, value) => new FindCursorImpl({
|
|
25
32
|
cursor: cursor.cursor.limit(value),
|
|
26
33
|
schema: cursor.schema
|
|
27
34
|
}));
|
|
28
35
|
export const toArray = cursor => {
|
|
29
36
|
const decode = Schema.decodeUnknown(cursor.schema);
|
|
30
|
-
return Effect.
|
|
31
|
-
try: () => cursor.cursor.toArray(),
|
|
32
|
-
catch: F.identity
|
|
33
|
-
}).pipe(Effect.catchAll(MongoError.mongoErrorDie("Unable to get array from mongodb cursor")), Effect.flatMap(Effect.forEach(x => decode(x))));
|
|
37
|
+
return Effect.promise(() => cursor.cursor.toArray()).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(cursor, "toArray"))), Effect.flatMap(Effect.forEach(x => decode(x))));
|
|
34
38
|
};
|
|
35
39
|
export const toArrayEither = cursor => {
|
|
36
40
|
const decode = Schema.decodeUnknown(cursor.schema);
|
|
37
|
-
return Effect.
|
|
38
|
-
try: () => cursor.cursor.toArray(),
|
|
39
|
-
catch: F.identity
|
|
40
|
-
}).pipe(Effect.catchAll(MongoError.mongoErrorDie("Unable to get array from mongodb cursor")), Effect.flatMap(Effect.forEach(x => F.pipe(decode(x), Effect.mapError(error => Tuple.make(x, error)), Effect.either))));
|
|
41
|
+
return Effect.promise(() => cursor.cursor.toArray()).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(cursor, "toArrayEither"))), Effect.flatMap(Effect.forEach(x => F.pipe(decode(x), Effect.mapError(error => Tuple.make(x, error)), Effect.either))));
|
|
41
42
|
};
|
|
42
43
|
export const toStream = cursor => {
|
|
43
44
|
const decode = Schema.decodeUnknown(cursor.schema);
|
|
44
|
-
return F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(
|
|
45
|
+
return F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(mongoErrorOrDie(errorSource(cursor, "toStream"))), Stream.mapEffect(x => decode(x)));
|
|
45
46
|
};
|
|
46
47
|
export const toStreamEither = cursor => {
|
|
47
48
|
const decode = Schema.decodeUnknown(cursor.schema);
|
|
48
|
-
return F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(
|
|
49
|
+
return F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(mongoErrorOrDie(errorSource(cursor, "toStreamEither"))), Stream.mapEffect(x => F.pipe(
|
|
49
50
|
// keep new line
|
|
50
51
|
decode(x), Effect.mapError(error => Tuple.make(x, error)), Effect.either)));
|
|
51
52
|
};
|
|
52
|
-
const isFindCursor = x => x instanceof
|
|
53
|
+
const isFindCursor = x => x instanceof FindCursorImpl;
|
|
54
|
+
const errorSource = (cursor, functionName) => new MongoError.CollectionErrorSource({
|
|
55
|
+
module: FindCursorImpl.name,
|
|
56
|
+
functionName,
|
|
57
|
+
db: cursor.cursor.namespace.db,
|
|
58
|
+
collection: cursor.cursor.namespace.collection ?? "NO_COLLECTION_NAME"
|
|
59
|
+
});
|
|
53
60
|
//# sourceMappingURL=FindCursor.js.map
|