effect-mongodb 0.3.3 → 0.4.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-write-operation.d.ts","sourceRoot":"","sources":["../../../src/internal/bulk-write-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EACV,qBAAqB,IAAI,0BAA0B,EACnD,eAAe,IAAI,oBAAoB,EACvC,cAAc,IAAI,mBAAmB,EACrC,QAAQ,EAER,eAAe,IAAI,oBAAoB,EACvC,eAAe,IAAI,oBAAoB,EACvC,cAAc,IAAI,mBAAmB,EACtC,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;IACxC,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAA;KACZ,CAAA;CACF,CAAA;AACD,KAAK,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,IAAI;IAC7D,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG;QAC1E,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QACjB,WAAW,EAAE,CAAC,CAAA;KACf,CAAA;CACF,CAAA;AACD,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;IAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AACxF,KAAK,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI;IAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAC3F,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;IAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AACxF,KAAK,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI;IAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAE3F,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,IACpE,cAAc,CAAC,CAAC,CAAC,GACjB,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,cAAc,CAAC,CAAC,CAAC,GACjB,eAAe,CAAC,CAAC,CAAC,GAClB,cAAc,CAAC,CAAC,CAAC,GACjB,eAAe,CAAC,CAAC,CAAC,CAAA;AAEtB,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAAE,CAAC,UACxE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aACnB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,oGA8BrC,CAAA"}
@@ -9,6 +9,7 @@ import { pipeArguments } from "effect/Pipeable";
9
9
  import * as Schema from "effect/Schema";
10
10
  import * as AggregationCursor from "./AggregationCursor.js";
11
11
  import * as FindCursor from "./FindCursor.js";
12
+ import { encodeBulkWriteOperation } from "./internal/bulk-write-operation.js";
12
13
  import { mongoErrorOrDie } from "./internal/mongo-error.js";
13
14
  import * as SchemaExt from "./internal/schema.js";
14
15
  import * as MongoError from "./MongoError.js";
@@ -47,6 +48,17 @@ export const findOneAndReplace = /*#__PURE__*/F.dual(args => isCollection(args[0
47
48
  }
48
49
  return yield* SchemaExt.decodeNullableDocument(collection.schema, value);
49
50
  })), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOneAndReplace")))));
51
+ export const findOneAndUpdate = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, update, options) => F.pipe(Effect.promise(() => collection.collection.findOneAndUpdate(filter, Array.isArray(update) ? [...update] : update, options ?? {})), Effect.flatMap(value => Effect.gen(function* () {
52
+ if (options?.includeResultMetadata && !!value) {
53
+ const result = value;
54
+ const maybeValue = yield* SchemaExt.decodeNullableDocument(collection.schema, result.value);
55
+ return {
56
+ ...result,
57
+ value: maybeValue
58
+ };
59
+ }
60
+ return yield* SchemaExt.decodeNullableDocument(collection.schema, value);
61
+ })), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOneAndUpdate")))));
50
62
  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({
51
63
  collection: newCollection,
52
64
  schema: collection.schema
@@ -62,6 +74,7 @@ export const aggregate = /*#__PURE__*/F.dual(args => isCollection(args[0]), (col
62
74
  }));
63
75
  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")))));
64
76
  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")))));
77
+ export const bulkWrite = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, operations, options) => F.pipe(operations, Effect.forEach(op => encodeBulkWriteOperation(collection.schema, op)), Effect.flatMap(operations => Effect.promise(() => collection.collection.bulkWrite(operations, options))), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "bulkWrite")))));
65
78
  const isCollection = x => x instanceof CollectionImpl;
66
79
  const errorSource = (collection, functionName) => new MongoError.CollectionErrorSource({
67
80
  module: CollectionImpl.name,
@@ -1 +1 @@
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","updateOne","update","isArray","updateMany","replaceOne","replacement","findOneAndReplace","includeResultMetadata","result","maybeValue","rename","newName","map","newCollection","drop","createIndexes","indexSpecs","createIndex","indexSpec","dropIndex","indexName","dropIndexes","aggregate","pipeline","AggregationCursorImpl","estimatedDocumentCount","countDocuments","x","functionName","CollectionErrorSource","module","name","db","dbName","collectionName"],"sources":["../../src/Collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Collection.js","names":["Array","Data","Effect","F","pipeArguments","Schema","AggregationCursor","FindCursor","encodeBulkWriteOperation","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","updateOne","update","isArray","updateMany","replaceOne","replacement","findOneAndReplace","includeResultMetadata","result","maybeValue","findOneAndUpdate","rename","newName","map","newCollection","drop","createIndexes","indexSpecs","createIndex","indexSpec","dropIndex","indexName","dropIndexes","aggregate","pipeline","AggregationCursorImpl","estimatedDocumentCount","countDocuments","bulkWrite","operations","op","x","functionName","CollectionErrorSource","module","name","db","dbName","collectionName"],"sources":["../../src/Collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,16 @@ export const findOneAndReplace = /*#__PURE__*/F.dual(args => isDocumentCollectio
39
39
  }
40
40
  return O.fromNullable(value);
41
41
  }), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOneAndReplace")))));
42
+ export const findOneAndUpdate = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, filter, update, options) => F.pipe(Effect.promise(() => collection.collection.findOneAndUpdate(filter, Array.isArray(update) ? [...update] : update, options ?? {})), Effect.map(value => {
43
+ if (options?.includeResultMetadata && !!value) {
44
+ const result = value;
45
+ return {
46
+ ...result,
47
+ value: O.fromNullable(result.value)
48
+ };
49
+ }
50
+ return O.fromNullable(value);
51
+ }), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "findOneAndUpdate")))));
42
52
  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({
43
53
  collection
44
54
  })), Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "rename")))));
@@ -56,6 +66,7 @@ export const typed = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]),
56
66
  collection: collection.collection,
57
67
  schema
58
68
  }));
69
+ export const bulkWrite = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, operations, options) => Effect.tryPromise(() => collection.collection.bulkWrite(operations, options)).pipe(Effect.catchAll(mongoErrorOrDie(errorSource(collection, "bulkWrite")))));
59
70
  const isDocumentCollection = x => x instanceof DocumentCollectionImpl;
60
71
  const errorSource = (collection, functionName) => new MongoError.CollectionErrorSource({
61
72
  module: DocumentCollectionImpl.name,
@@ -1 +1 @@
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","updateOne","update","isArray","updateMany","replaceOne","replacement","findOneAndReplace","includeResultMetadata","result","rename","newName","drop","createIndexes","indexSpecs","createIndex","indexSpec","dropIndex","indexName","dropIndexes","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":[]}
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","updateOne","update","isArray","updateMany","replaceOne","replacement","findOneAndReplace","includeResultMetadata","result","findOneAndUpdate","rename","newName","drop","createIndexes","indexSpecs","createIndex","indexSpec","dropIndex","indexName","dropIndexes","aggregate","pipeline","DocumentAggregationCursorImpl","undefined","estimatedDocumentCount","countDocuments","typed","schema","CollectionImpl","bulkWrite","operations","tryPromise","catchAll","x","functionName","CollectionErrorSource","module","name","db","dbName","collectionName"],"sources":["../../src/DocumentCollection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,10 +11,10 @@ import * as MongoError from "./MongoError.js";
11
11
  export class MongoClient extends /*#__PURE__*/Data.TaggedClass("MongoClient") {}
12
12
  export const connect = (url, options) => Effect.promise(() => MongoClient_.connect(url, options)).pipe(Effect.map(client => new MongoClient({
13
13
  client
14
- })), Effect.catchAllDefect(mongoErrorOrDie(errorSource([new URL(url).host], "connect"))));
14
+ })), Effect.catchAllDefect(mongoErrorOrDie(errorSource(hostsFromUrl(url), "connect"))));
15
15
  export const close = /*#__PURE__*/F.dual(args => isMongoClient(args[0]), ({
16
16
  client
17
- }, force) => Effect.promise(() => client.close(force)).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(client.options.hosts.map(x => x.host ?? "NO_HOST"), "close")))));
17
+ }, force) => Effect.promise(() => client.close(force)).pipe(Effect.catchAllDefect(mongoErrorOrDie(errorSource(client.options.hosts.map(x => x.host ?? UNKNOWN_HOST), "close")))));
18
18
  export const connectScoped = (url, options) => Effect.acquireRelease(connect(url, options), client => close(client, options?.forceClose).pipe(Effect.orDie));
19
19
  export const db = /*#__PURE__*/F.dual(args => isMongoClient(args[0]), ({
20
20
  client
@@ -27,4 +27,14 @@ const errorSource = (hosts, functionName) => new MongoError.ClientErrorSource({
27
27
  functionName,
28
28
  hosts
29
29
  });
30
+ const SCHEME = /mongodb(?:\+srv)?:\/\//;
31
+ const CREDENTIALS = /(?:[^/?]*@)?/;
32
+ const HOSTS = /([^/?]+)/;
33
+ // https://www.mongodb.com/docs/manual/reference/connection-string-formats/
34
+ const MONGO_CONNECTION_STRING = /*#__PURE__*/new RegExp(`^${SCHEME.source}${CREDENTIALS.source}${HOSTS.source}`, "i");
35
+ const hostsFromUrl = url => {
36
+ const match = url.match(MONGO_CONNECTION_STRING);
37
+ return match ? match[1].split(",") : [UNKNOWN_HOST];
38
+ };
39
+ const UNKNOWN_HOST = "NO_HOST";
30
40
  //# sourceMappingURL=MongoClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoClient.js","names":["Data","Effect","F","MongoClient","MongoClient_","Db","mongoErrorOrDie","MongoError","TaggedClass","connect","url","options","promise","pipe","map","client","catchAllDefect","errorSource","URL","host","close","dual","args","isMongoClient","force","hosts","x","connectScoped","acquireRelease","forceClose","orDie","db","dbName","functionName","ClientErrorSource","module"],"sources":["../../src/MongoClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AAGpC,SAASC,WAAW,IAAIC,YAAY,QAAQ,SAAS;AACrD,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,OAAM,MAAOJ,WAAY,sBAAQH,IAAI,CAACQ,WAAW,CAAC,aAAa,CAA2B;AAE1F,OAAO,MAAMC,OAAO,GAAGA,CACrBC,GAAW,EACXC,OAA4B,KAE5BV,MAAM,CAACW,OAAO,CAAC,MAAMR,YAAY,CAACK,OAAO,CAACC,GAAG,EAAEC,OAAO,CAAC,CAAC,CAACE,IAAI,CAC3DZ,MAAM,CAACa,GAAG,CAAEC,MAAM,IAAK,IAAIZ,WAAW,CAAC;EAAEY;AAAM,CAAE,CAAC,CAAC,EACnDd,MAAM,CAACe,cAAc,CAACV,eAAe,CAACW,WAAW,CAAC,CAAC,IAAIC,GAAG,CAACR,GAAG,CAAC,CAACS,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CACpF;AAEH,OAAO,MAAMC,KAAK,gBAGdlB,CAAC,CAACmB,IAAI,CACPC,IAAI,IAAKC,aAAa,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAChC,CAAC;EAAEP;AAAM,CAAe,EAAES,KAAe,KACvCvB,MAAM,CAACW,OAAO,CAAC,MAAMG,MAAM,CAACK,KAAK,CAACI,KAAK,CAAC,CAAC,CAACX,IAAI,CAC5CZ,MAAM,CAACe,cAAc,CAACV,eAAe,CAACW,WAAW,CAACF,MAAM,CAACJ,OAAO,CAACc,KAAK,CAACX,GAAG,CAAEY,CAAC,IAAKA,CAAC,CAACP,IAAI,IAAI,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACnH,CACJ;AAID,OAAO,MAAMQ,aAAa,GAAGA,CAC3BjB,GAAW,EACXC,OAAkC,KAElCV,MAAM,CAAC2B,cAAc,CACnBnB,OAAO,CAACC,GAAG,EAAEC,OAAO,CAAC,EACpBI,MAAM,IAAKK,KAAK,CAACL,MAAM,EAAEJ,OAAO,EAAEkB,UAAU,CAAC,CAAChB,IAAI,CAACZ,MAAM,CAAC6B,KAAK,CAAC,CAClE;AAEH,OAAO,MAAMC,EAAE,gBAGX7B,CAAC,CAACmB,IAAI,CACPC,IAAI,IAAKC,aAAa,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAChC,CAAC;EAAEP;AAAM,CAAe,EAAEiB,MAAe,EAAErB,OAAmB,KAC5D,IAAIN,EAAE,CAACA,EAAE,CAAC;EAAE0B,EAAE,EAAEhB,MAAM,CAACgB,EAAE,CAACC,MAAM,EAAErB,OAAO;AAAC,CAAE,CAAC,CAChD;AAED,MAAMY,aAAa,GAAIG,CAAU,IAAKA,CAAC,YAAYvB,WAAW;AAE9D,MAAMc,WAAW,GAAGA,CAACQ,KAAoB,EAAEQ,YAAoB,KAC7D,IAAI1B,UAAU,CAAC2B,iBAAiB,CAAC;EAAEC,MAAM,EAAE,aAAa;EAAEF,YAAY;EAAER;AAAK,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"MongoClient.js","names":["Data","Effect","F","MongoClient","MongoClient_","Db","mongoErrorOrDie","MongoError","TaggedClass","connect","url","options","promise","pipe","map","client","catchAllDefect","errorSource","hostsFromUrl","close","dual","args","isMongoClient","force","hosts","x","host","UNKNOWN_HOST","connectScoped","acquireRelease","forceClose","orDie","db","dbName","functionName","ClientErrorSource","module","SCHEME","CREDENTIALS","HOSTS","MONGO_CONNECTION_STRING","RegExp","source","match","split"],"sources":["../../src/MongoClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as F from "effect/Function";
3
+ import * as Match from "effect/Match";
4
+ import * as Schema from "effect/Schema";
5
+ export const encodeBulkWriteOperation = (schema, operation) => F.pipe(Match.value(operation), Match.when(op => "insertOne" in op, op => encodeInsertOne(schema, op)), Match.when(op => "replaceOne" in op, op => encodeReplaceOne(schema, op)), Match.when(op => "updateOne" in op, op => Effect.succeed(op)), Match.when(op => "updateMany" in op, op => Effect.succeed(op)), Match.when(op => "deleteOne" in op, op => Effect.succeed(op)), Match.when(op => "deleteMany" in op, op => Effect.succeed(op)), Match.exhaustive, Effect.map(x => x));
6
+ const encodeInsertOne = (schema, operation) => F.pipe(operation.insertOne.document, Schema.encode(schema), Effect.map(document => ({
7
+ insertOne: {
8
+ document
9
+ }
10
+ })));
11
+ const encodeReplaceOne = (schema, operation) => F.pipe(operation.replaceOne.replacement, Schema.encode(schema), Effect.map(replacement => ({
12
+ replaceOne: {
13
+ ...operation.replaceOne,
14
+ replacement
15
+ }
16
+ })));
17
+ //# sourceMappingURL=bulk-write-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-write-operation.js","names":["Effect","F","Match","Schema","encodeBulkWriteOperation","schema","operation","pipe","value","when","op","encodeInsertOne","encodeReplaceOne","succeed","exhaustive","map","x","insertOne","document","encode","replaceOne","replacement"],"sources":["../../../src/internal/bulk-write-operation.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AACpC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAqCvC,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,MAA8B,EAC9BC,SAAsC,KAEtCL,CAAC,CAACM,IAAI,CACJL,KAAK,CAACM,KAAK,CAACF,SAAS,CAAC,EACtBJ,KAAK,CAACO,IAAI,CACPC,EAAE,IAA8B,WAAW,IAAIA,EAAE,EACjDA,EAAE,IAAKC,eAAe,CAACN,MAAM,EAAEK,EAAE,CAAC,CACpC,EACDR,KAAK,CAACO,IAAI,CACPC,EAAE,IAAkC,YAAY,IAAIA,EAAE,EACtDA,EAAE,IAAKE,gBAAgB,CAACP,MAAM,EAAEK,EAAE,CAAC,CACrC,EACDR,KAAK,CAACO,IAAI,CACPC,EAAE,IAA8B,WAAW,IAAIA,EAAE,EACjDA,EAAE,IAAKV,MAAM,CAACa,OAAO,CAACH,EAAE,CAAC,CAC3B,EACDR,KAAK,CAACO,IAAI,CACPC,EAAE,IAA+B,YAAY,IAAIA,EAAE,EACnDA,EAAE,IAAKV,MAAM,CAACa,OAAO,CAACH,EAAE,CAAC,CAC3B,EACDR,KAAK,CAACO,IAAI,CACPC,EAAE,IAA8B,WAAW,IAAIA,EAAE,EACjDA,EAAE,IAAKV,MAAM,CAACa,OAAO,CAACH,EAAE,CAAC,CAC3B,EACDR,KAAK,CAACO,IAAI,CACPC,EAAE,IAA+B,YAAY,IAAIA,EAAE,EACnDA,EAAE,IAAKV,MAAM,CAACa,OAAO,CAACH,EAAE,CAAC,CAC3B,EACDR,KAAK,CAACY,UAAU,EAChBd,MAAM,CAACe,GAAG,CAAEC,CAAC,IAAKA,CAAyC,CAAC,CAC7D;AAEH,MAAML,eAAe,GAAGA,CACtBN,MAA8B,EAC9BC,SAA4B,KAE5BL,CAAC,CAACM,IAAI,CACJD,SAAS,CAACW,SAAS,CAACC,QAAQ,EAC5Bf,MAAM,CAACgB,MAAM,CAACd,MAAM,CAAC,EACrBL,MAAM,CAACe,GAAG,CAAEG,QAAQ,KAAM;EAAED,SAAS,EAAE;IAAEC;EAAQ;AAA4B,CAAE,CAAC,CAAC,CAClF;AAEH,MAAMN,gBAAgB,GAAGA,CACvBP,MAA8B,EAC9BC,SAAgC,KAEhCL,CAAC,CAACM,IAAI,CACJD,SAAS,CAACc,UAAU,CAACC,WAAW,EAChClB,MAAM,CAACgB,MAAM,CAACd,MAAM,CAAC,EACrBL,MAAM,CAACe,GAAG,CAAEM,WAAW,KAAM;EAC3BD,UAAU,EAAE;IAAE,GAAGd,SAAS,CAACc,UAAU;IAAEC;EAAW;CACnD,CAAC,CAAC,CACJ","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "0.3.3";
1
+ let moduleVersion = "0.4.1";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-mongodb",
3
- "version": "0.3.3",
3
+ "version": "0.4.1",
4
4
  "description": "A MongoDB toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Collection.ts CHANGED
@@ -13,6 +13,7 @@ import * as Schema from "effect/Schema"
13
13
  import type {
14
14
  AggregateOptions,
15
15
  BulkWriteOptions,
16
+ BulkWriteResult,
16
17
  Collection as MongoCollection,
17
18
  CountDocumentsOptions,
18
19
  CreateIndexesOptions,
@@ -23,6 +24,7 @@ import type {
23
24
  DropIndexesOptions,
24
25
  EstimatedDocumentCountOptions,
25
26
  FindOneAndReplaceOptions,
27
+ FindOneAndUpdateOptions,
26
28
  FindOptions as MongoFindOptions,
27
29
  IndexDescription,
28
30
  IndexSpecification,
@@ -38,6 +40,8 @@ import type {
38
40
  } from "mongodb"
39
41
  import * as AggregationCursor from "./AggregationCursor.js"
40
42
  import * as FindCursor from "./FindCursor.js"
43
+ import type { AnyBulkWriteOperation as AnyBulkWriteOperation_ } from "./internal/bulk-write-operation.js"
44
+ import { encodeBulkWriteOperation } from "./internal/bulk-write-operation.js"
41
45
  import type { Filter as Filter_ } from "./internal/filter.js"
42
46
  import type { ModifyResult } from "./internal/modify-result.js"
43
47
  import { mongoErrorOrDie } from "./internal/mongo-error.js"
@@ -70,6 +74,7 @@ export class CollectionImpl<A extends Document, I extends Document = A, R = neve
70
74
 
71
75
  export type FindOptions = Omit<MongoFindOptions, "projection">
72
76
  export type Filter<TSchema> = Filter_<TSchema>
77
+ export type AnyBulkWriteOperation<A extends Document, I extends Document> = AnyBulkWriteOperation_<A, I>
73
78
 
74
79
  export const find: {
75
80
  <I extends Document>(
@@ -372,6 +377,90 @@ export const findOneAndReplace: {
372
377
  )
373
378
  )
374
379
 
380
+ export const findOneAndUpdate: {
381
+ <I extends Document>(
382
+ filter: Filter<I>,
383
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
384
+ options: FindOneAndUpdateOptions & { includeResultMetadata: true }
385
+ ): <A extends Document, I2 extends I, R>(
386
+ collection: Collection<A, I2, R>
387
+ ) => Effect.Effect<ModifyResult<A>, MongoError.MongoError | ParseResult.ParseError, R>
388
+ <I extends Document>(
389
+ filter: Filter<I>,
390
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
391
+ options: FindOneAndUpdateOptions & { includeResultMetadata: false }
392
+ ): <A extends Document, I2 extends I, R>(
393
+ collection: Collection<A, I2, R>
394
+ ) => Effect.Effect<O.Option<A>, MongoError.MongoError | ParseResult.ParseError, R>
395
+ <I extends Document>(
396
+ filter: Filter<I>,
397
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
398
+ options: FindOneAndUpdateOptions
399
+ ): <A extends Document, I2 extends I, R>(
400
+ collection: Collection<A, I2, R>
401
+ ) => Effect.Effect<O.Option<A>, MongoError.MongoError | ParseResult.ParseError, R>
402
+ <I extends Document>(filter: Filter<I>, update: UpdateFilter<I> | ReadonlyArray<Document>): <
403
+ A extends Document,
404
+ I2 extends I,
405
+ R
406
+ >(
407
+ collection: Collection<A, I2, R>
408
+ ) => Effect.Effect<O.Option<A>, MongoError.MongoError | ParseResult.ParseError, R>
409
+ <A extends Document, I extends Document, R>(
410
+ collection: Collection<A, I, R>,
411
+ filter: Filter<I>,
412
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
413
+ options: FindOneAndUpdateOptions & { includeResultMetadata: true }
414
+ ): Effect.Effect<ModifyResult<A>, MongoError.MongoError | ParseResult.ParseError, R>
415
+ <A extends Document, I extends Document, R>(
416
+ collection: Collection<A, I, R>,
417
+ filter: Filter<I>,
418
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
419
+ options: FindOneAndUpdateOptions & { includeResultMetadata: false }
420
+ ): Effect.Effect<O.Option<A>, MongoError.MongoError | ParseResult.ParseError, R>
421
+ <A extends Document, I extends Document, R>(
422
+ collection: Collection<A, I, R>,
423
+ filter: Filter<I>,
424
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
425
+ options: FindOneAndUpdateOptions
426
+ ): Effect.Effect<O.Option<A>, MongoError.MongoError | ParseResult.ParseError, R>
427
+ <A extends Document, I extends Document, R>(
428
+ collection: Collection<A, I, R>,
429
+ filter: Filter<I>,
430
+ update: UpdateFilter<I> | ReadonlyArray<Document>
431
+ ): Effect.Effect<O.Option<A>, MongoError.MongoError | ParseResult.ParseError, R>
432
+ } = F.dual(
433
+ (args) => isCollection(args[0]),
434
+ <A extends Document, I extends Document, R>(
435
+ collection: Collection<A, I, R>,
436
+ filter: Filter<I>,
437
+ update: UpdateFilter<I> | ReadonlyArray<Document>,
438
+ options?: FindOneAndUpdateOptions
439
+ ): Effect.Effect<O.Option<A> | ModifyResult<A>, MongoError.MongoError | ParseResult.ParseError, R> =>
440
+ F.pipe(
441
+ Effect.promise(() =>
442
+ collection.collection.findOneAndUpdate(
443
+ filter,
444
+ Array.isArray(update) ? [...update] : update as UpdateFilter<Document>,
445
+ options ?? {}
446
+ )
447
+ ),
448
+ Effect.flatMap((value) =>
449
+ Effect.gen(function*() {
450
+ if (options?.includeResultMetadata && !!value) {
451
+ const result = value as unknown as MongoModifyResult<I>
452
+ const maybeValue = yield* SchemaExt.decodeNullableDocument(collection.schema, result.value)
453
+ return { ...result, value: maybeValue }
454
+ }
455
+ return yield* SchemaExt.decodeNullableDocument(collection.schema, value)
456
+ })
457
+ ),
458
+ Effect.catchAllDefect(
459
+ mongoErrorOrDie(errorSource(collection, "findOneAndUpdate"))
460
+ )
461
+ )
462
+ )
463
+
375
464
  export const rename: {
376
465
  (newName: string, options?: RenameOptions): <A extends Document, I extends Document, R>(
377
466
  collection: Collection<A, I, R>
@@ -576,6 +665,33 @@ export const countDocuments: {
576
665
  )
577
666
  )
578
667
 
668
+ export const bulkWrite: {
669
+ <A extends Document, I extends Document>(
670
+ operations: ReadonlyArray<AnyBulkWriteOperation<A, I>>,
671
+ options?: BulkWriteOptions
672
+ ): <R>(
673
+ collection: Collection<A, I, R>
674
+ ) => Effect.Effect<BulkWriteResult, MongoError.MongoError | ParseResult.ParseError, R>
675
+ <A extends Document, I extends Document, R>(
676
+ collection: Collection<A, I, R>,
677
+ operations: ReadonlyArray<AnyBulkWriteOperation<A, I>>,
678
+ options?: BulkWriteOptions
679
+ ): Effect.Effect<BulkWriteResult, MongoError.MongoError | ParseResult.ParseError, R>
680
+ } = F.dual(
681
+ (args) => isCollection(args[0]),
682
+ <A extends Document, I extends Document, R>(
683
+ collection: Collection<A, I, R>,
684
+ operations: ReadonlyArray<AnyBulkWriteOperation<A, I>>,
685
+ options?: BulkWriteOptions
686
+ ): Effect.Effect<BulkWriteResult, MongoError.MongoError | ParseResult.ParseError, R> =>
687
+ F.pipe(
688
+ operations,
689
+ Effect.forEach((op) => encodeBulkWriteOperation(collection.schema, op)),
690
+ Effect.flatMap((operations) => Effect.promise(() => collection.collection.bulkWrite(operations, options))),
691
+ Effect.catchAllDefect(mongoErrorOrDie(errorSource(collection, "bulkWrite")))
692
+ )
693
+ )
694
+
579
695
  const isCollection = (x: unknown) => x instanceof CollectionImpl
580
696
 
581
697
  const errorSource = <A extends Document, I extends Document = A, R = never>(
@@ -11,7 +11,9 @@ import { pipeArguments } from "effect/Pipeable"
11
11
  import type * as Schema from "effect/Schema"
12
12
  import type {
13
13
  AggregateOptions,
14
+ AnyBulkWriteOperation,
14
15
  BulkWriteOptions,
16
+ BulkWriteResult,
15
17
  Collection as MongoCollection,
16
18
  CountDocumentsOptions,
17
19
  CreateIndexesOptions,
@@ -23,6 +25,7 @@ import type {
23
25
  EstimatedDocumentCountOptions,
24
26
  Filter,
25
27
  FindOneAndReplaceOptions,
28
+ FindOneAndUpdateOptions,
26
29
  FindOptions,
27
30
  IndexDescription,
28
31
  IndexSpecification,
@@ -353,6 +356,83 @@ export const findOneAndReplace: {
353
356
  )
354
357
  )
355
358
 
359
+ export const findOneAndUpdate: {
360
+ (
361
+ filter: Filter<Document>,
362
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
363
+ options: FindOneAndUpdateOptions & { includeResultMetadata: true }
364
+ ): (
365
+ collection: DocumentCollection
366
+ ) => Effect.Effect<ModifyResult<Document>, MongoError.MongoError>
367
+ (
368
+ filter: Filter<Document>,
369
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
370
+ options: FindOneAndUpdateOptions & { includeResultMetadata: false }
371
+ ): (
372
+ collection: DocumentCollection
373
+ ) => Effect.Effect<O.Option<Document>, MongoError.MongoError>
374
+ (
375
+ filter: Filter<Document>,
376
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
377
+ options: FindOneAndUpdateOptions
378
+ ): (
379
+ collection: DocumentCollection
380
+ ) => Effect.Effect<O.Option<Document>, MongoError.MongoError>
381
+ (filter: Filter<Document>, update: UpdateFilter<Document> | ReadonlyArray<Document>): (
382
+ collection: DocumentCollection
383
+ ) => Effect.Effect<O.Option<Document>, MongoError.MongoError>
384
+ (
385
+ collection: DocumentCollection,
386
+ filter: Filter<Document>,
387
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
388
+ options: FindOneAndUpdateOptions & { includeResultMetadata: true }
389
+ ): Effect.Effect<ModifyResult<Document>, MongoError.MongoError>
390
+ (
391
+ collection: DocumentCollection,
392
+ filter: Filter<Document>,
393
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
394
+ options: FindOneAndUpdateOptions & { includeResultMetadata: false }
395
+ ): Effect.Effect<O.Option<Document>, MongoError.MongoError>
396
+ (
397
+ collection: DocumentCollection,
398
+ filter: Filter<Document>,
399
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
400
+ options: FindOneAndUpdateOptions
401
+ ): Effect.Effect<O.Option<Document>, MongoError.MongoError>
402
+ (
403
+ collection: DocumentCollection,
404
+ filter: Filter<Document>,
405
+ update: UpdateFilter<Document> | ReadonlyArray<Document>
406
+ ): Effect.Effect<O.Option<Document>, MongoError.MongoError>
407
+ } = F.dual(
408
+ (args) => isDocumentCollection(args[0]),
409
+ (
410
+ collection: DocumentCollection,
411
+ filter: Filter<Document>,
412
+ update: UpdateFilter<Document> | ReadonlyArray<Document>,
413
+ options?: FindOneAndUpdateOptions
414
+ ): Effect.Effect<O.Option<Document> | ModifyResult<Document>, MongoError.MongoError> =>
415
+ F.pipe(
416
+ Effect.promise(() =>
417
+ collection.collection.findOneAndUpdate(
418
+ filter,
419
+ Array.isArray(update) ? [...update] : update,
420
+ options ?? {}
421
+ )
422
+ ),
423
+ Effect.map((value) => {
424
+ if (options?.includeResultMetadata && !!value) {
425
+ const result = value as unknown as MongoModifyResult<Document>
426
+ return { ...result, value: O.fromNullable(result.value) }
427
+ }
428
+ return O.fromNullable(value)
429
+ }),
430
+ Effect.catchAllDefect(
431
+ mongoErrorOrDie(errorSource(collection, "findOneAndUpdate"))
432
+ )
433
+ )
434
+ )
435
+
356
436
  export const rename: {
357
437
  (newName: string, options?: RenameOptions): (
358
438
  collection: DocumentCollection
@@ -556,6 +636,28 @@ export const typed: {
556
636
  ): Collection.Collection<A, I, R> =>
557
637
  new Collection.CollectionImpl<A, I, R>({ collection: collection.collection, schema }))
558
638
 
639
+ export const bulkWrite: {
640
+ (
641
+ operations: ReadonlyArray<AnyBulkWriteOperation<Document>>,
642
+ options?: BulkWriteOptions
643
+ ): (collection: DocumentCollection) => Effect.Effect<BulkWriteResult, MongoError.MongoError>
644
+ (
645
+ collection: DocumentCollection,
646
+ operations: ReadonlyArray<AnyBulkWriteOperation<Document>>,
647
+ options?: BulkWriteOptions
648
+ ): Effect.Effect<BulkWriteResult, MongoError.MongoError>
649
+ } = F.dual(
650
+ (args) => isDocumentCollection(args[0]),
651
+ (
652
+ collection: DocumentCollection,
653
+ operations: ReadonlyArray<AnyBulkWriteOperation<Document>>,
654
+ options?: BulkWriteOptions
655
+ ): Effect.Effect<BulkWriteResult, MongoError.MongoError> =>
656
+ Effect.tryPromise(() => collection.collection.bulkWrite(operations, options)).pipe(
657
+ Effect.catchAll(mongoErrorOrDie(errorSource(collection, "bulkWrite")))
658
+ )
659
+ )
660
+
559
661
  const isDocumentCollection = (x: unknown) => x instanceof DocumentCollectionImpl
560
662
 
561
663
  const errorSource = (
@@ -19,7 +19,7 @@ export const connect = (
19
19
  ): Effect.Effect<MongoClient, MongoError.MongoError> =>
20
20
  Effect.promise(() => MongoClient_.connect(url, options)).pipe(
21
21
  Effect.map((client) => new MongoClient({ client })),
22
- Effect.catchAllDefect(mongoErrorOrDie(errorSource([new URL(url).host], "connect")))
22
+ Effect.catchAllDefect(mongoErrorOrDie(errorSource(hostsFromUrl(url), "connect")))
23
23
  )
24
24
 
25
25
  export const close: {
@@ -29,7 +29,9 @@ export const close: {
29
29
  (args) => isMongoClient(args[0]),
30
30
  ({ client }: MongoClient, force?: boolean): Effect.Effect<void, MongoError.MongoError> =>
31
31
  Effect.promise(() => client.close(force)).pipe(
32
- Effect.catchAllDefect(mongoErrorOrDie(errorSource(client.options.hosts.map((x) => x.host ?? "NO_HOST"), "close")))
32
+ Effect.catchAllDefect(
33
+ mongoErrorOrDie(errorSource(client.options.hosts.map((x) => x.host ?? UNKNOWN_HOST), "close"))
34
+ )
33
35
  )
34
36
  )
35
37
 
@@ -57,3 +59,16 @@ const isMongoClient = (x: unknown) => x instanceof MongoClient
57
59
 
58
60
  const errorSource = (hosts: Array<string>, functionName: string) =>
59
61
  new MongoError.ClientErrorSource({ module: "MongoClient", functionName, hosts })
62
+
63
+ const SCHEME = /mongodb(?:\+srv)?:\/\//
64
+ const CREDENTIALS = /(?:[^/?]*@)?/
65
+ const HOSTS = /([^/?]+)/
66
+ // https://www.mongodb.com/docs/manual/reference/connection-string-formats/
67
+ const MONGO_CONNECTION_STRING = new RegExp(`^${SCHEME.source}${CREDENTIALS.source}${HOSTS.source}`, "i")
68
+
69
+ const hostsFromUrl = (url: string) => {
70
+ const match = url.match(MONGO_CONNECTION_STRING)
71
+ return match ? match[1].split(",") : [UNKNOWN_HOST]
72
+ }
73
+
74
+ const UNKNOWN_HOST = "NO_HOST"