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.
Files changed (77) hide show
  1. package/AggregationCursor/package.json +6 -0
  2. package/DocumentAggregationCursor/package.json +6 -0
  3. package/ListCollectionsCursor/package.json +6 -0
  4. package/README.md +2 -2
  5. package/dist/cjs/AggregationCursor.js +34 -0
  6. package/dist/cjs/AggregationCursor.js.map +1 -0
  7. package/dist/cjs/Collection.js +22 -2
  8. package/dist/cjs/Collection.js.map +1 -1
  9. package/dist/cjs/Db.js +7 -1
  10. package/dist/cjs/Db.js.map +1 -1
  11. package/dist/cjs/DocumentAggregationCursor.js +27 -0
  12. package/dist/cjs/DocumentAggregationCursor.js.map +1 -0
  13. package/dist/cjs/DocumentCollection.js +15 -1
  14. package/dist/cjs/DocumentCollection.js.map +1 -1
  15. package/dist/cjs/DocumentFindCursor.js +4 -0
  16. package/dist/cjs/DocumentFindCursor.js.map +1 -1
  17. package/dist/cjs/FindCursor.js +7 -1
  18. package/dist/cjs/FindCursor.js.map +1 -1
  19. package/dist/cjs/ListCollectionsCursor.js +27 -0
  20. package/dist/cjs/ListCollectionsCursor.js.map +1 -0
  21. package/dist/cjs/index.js +7 -1
  22. package/dist/cjs/internal/filter.js +6 -0
  23. package/dist/cjs/internal/filter.js.map +1 -0
  24. package/dist/cjs/internal/version.js +1 -1
  25. package/dist/dts/AggregationCursor.d.ts +18 -0
  26. package/dist/dts/AggregationCursor.d.ts.map +1 -0
  27. package/dist/dts/Collection.d.ts +41 -14
  28. package/dist/dts/Collection.d.ts.map +1 -1
  29. package/dist/dts/Db.d.ts +28 -3
  30. package/dist/dts/Db.d.ts.map +1 -1
  31. package/dist/dts/DocumentAggregationCursor.d.ts +15 -0
  32. package/dist/dts/DocumentAggregationCursor.d.ts.map +1 -0
  33. package/dist/dts/DocumentCollection.d.ts +31 -5
  34. package/dist/dts/DocumentCollection.d.ts.map +1 -1
  35. package/dist/dts/DocumentFindCursor.d.ts +1 -4
  36. package/dist/dts/DocumentFindCursor.d.ts.map +1 -1
  37. package/dist/dts/FindCursor.d.ts +15 -18
  38. package/dist/dts/FindCursor.d.ts.map +1 -1
  39. package/dist/dts/ListCollectionsCursor.d.ts +20 -0
  40. package/dist/dts/ListCollectionsCursor.d.ts.map +1 -0
  41. package/dist/dts/index.d.ts +12 -0
  42. package/dist/dts/index.d.ts.map +1 -1
  43. package/dist/dts/internal/filter.d.ts +8 -0
  44. package/dist/dts/internal/filter.d.ts.map +1 -0
  45. package/dist/esm/AggregationCursor.js +22 -0
  46. package/dist/esm/AggregationCursor.js.map +1 -0
  47. package/dist/esm/Collection.js +20 -1
  48. package/dist/esm/Collection.js.map +1 -1
  49. package/dist/esm/Db.js +6 -0
  50. package/dist/esm/Db.js.map +1 -1
  51. package/dist/esm/DocumentAggregationCursor.js +15 -0
  52. package/dist/esm/DocumentAggregationCursor.js.map +1 -0
  53. package/dist/esm/DocumentCollection.js +13 -0
  54. package/dist/esm/DocumentCollection.js.map +1 -1
  55. package/dist/esm/DocumentFindCursor.js +3 -0
  56. package/dist/esm/DocumentFindCursor.js.map +1 -1
  57. package/dist/esm/FindCursor.js +6 -1
  58. package/dist/esm/FindCursor.js.map +1 -1
  59. package/dist/esm/ListCollectionsCursor.js +15 -0
  60. package/dist/esm/ListCollectionsCursor.js.map +1 -0
  61. package/dist/esm/index.js +12 -0
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/internal/filter.js +2 -0
  64. package/dist/esm/internal/filter.js.map +1 -0
  65. package/dist/esm/internal/version.js +1 -1
  66. package/package.json +26 -3
  67. package/src/AggregationCursor.ts +37 -0
  68. package/src/Collection.ts +224 -22
  69. package/src/Db.ts +47 -3
  70. package/src/DocumentAggregationCursor.ts +30 -0
  71. package/src/DocumentCollection.ts +194 -2
  72. package/src/DocumentFindCursor.ts +1 -1
  73. package/src/FindCursor.ts +22 -21
  74. package/src/ListCollectionsCursor.ts +45 -0
  75. package/src/index.ts +15 -0
  76. package/src/internal/filter.ts +9 -0
  77. 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":"AAIA,OAAO,KAAKA,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AACpC,OAAO,KAAKC,CAAC,MAAM,eAAe;AAYlC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,OAAM,MAAOC,kBAAmB,sBAAQP,IAAI,CAACQ,WAAW,CAAC,oBAAoB,CAE3E;AAGF,OAAO,MAAMC,IAAI,gBAMbP,CAAC,CAACQ,IAAI,CACPC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,CAACE,UAA8B,EAAEC,OAAqB,KACpD,IAAIT,kBAAkB,CAACA,kBAAkB,CACvC;EACEU,MAAM,EAAEF,UAAU,CAACA,UAAU,CAACJ,IAAI,CAAC,EAAE,EAAEK,OAAO;CAC/C,CACF,CACJ;AAED,OAAO,MAAME,OAAO,gBAYhBd,CAAC,CAACQ,IAAI,CACPC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,CACEE,UAA8B,EAC9BI,MAAwB,EACxBH,OAAqB,KAErBZ,CAAC,CAACgB,IAAI,CACJjB,MAAM,CAACkB,OAAO,CAAC,MAAMN,UAAU,CAACA,UAAU,CAACG,OAAO,CAACC,MAAM,EAAEH,OAAO,CAAC,CAAC,EACpEb,MAAM,CAACmB,GAAG,CAAEC,KAAK,IAAKlB,CAAC,CAACmB,YAAY,CAACD,KAAK,CAAC,CAAC,EAC5CpB,MAAM,CAACsB,cAAc,CAACjB,UAAU,CAACkB,aAAa,CAAqB,eAAe,CAAC,CAAC,CACrF,CACJ;AAED,OAAO,MAAMC,SAAS,gBAYlBvB,CAAC,CAACQ,IAAI,CAAEC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAClDE,UAA8B,EAC9Ba,GAAuC,EACvCZ,OAA0B,KAE1BZ,CAAC,CAACgB,IAAI,CACJjB,MAAM,CAACkB,OAAO,CAAC,MAAMN,UAAU,CAACA,UAAU,CAACY,SAAS,CAACC,GAAG,EAAEZ,OAAO,CAAC,CAAC,EACnEb,MAAM,CAACsB,cAAc,CAACjB,UAAU,CAACkB,aAAa,CAAkB,iBAAiB,CAAC,CAAC,CACpF,CAAC;AAEJ,OAAO,MAAMG,UAAU,gBAYnBzB,CAAC,CAACQ,IAAI,CAAEC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAClDE,UAA8B,EAC9Be,IAA+C,EAC/Cd,OAA0B,KAE1BZ,CAAC,CAACgB,IAAI,CACJjB,MAAM,CAACkB,OAAO,CAAC,MAAMN,UAAU,CAACA,UAAU,CAACc,UAAU,CAACC,IAAI,EAAEd,OAAO,CAAC,CAAC,EACrEb,MAAM,CAACsB,cAAc,CAACjB,UAAU,CAACkB,aAAa,CAAmB,kBAAkB,CAAC,CAAC,CACtF,CAAC;AAEJ,OAAO,MAAMK,KAAK,gBAQd3B,CAAC,CAACQ,IAAI,CAAEC,IAAI,IAAKC,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAClDE,UAA8B,EAC9BiB,MAA8B,KACK,IAAI1B,UAAU,CAACA,UAAU,CAAU;EAAES,UAAU,EAAEA,UAAU,CAACA,UAAU;EAAEiB;AAAM,CAAE,CAAC,CAAC;AAEvH,MAAMlB,oBAAoB,GAAImB,CAAU,IAAKA,CAAC,YAAYxB,kBAAkB","ignoreList":[]}
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,3 +1,6 @@
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";
@@ -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":"AAIA,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;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":[]}
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":[]}
@@ -1,7 +1,10 @@
1
- import * as Schema from "@effect/schema/Schema";
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":["Schema","Data","Effect","F","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":[]}
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
  */
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","names":[],"sources":["../../../src/internal/filter.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "0.0.2";
1
+ let moduleVersion = "0.0.3";
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.0.2",
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
- "@effect/schema": "^0.73.4",
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
+ }