effect-mongodb 0.0.2
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/Collection/package.json +6 -0
- package/Db/package.json +6 -0
- package/DocumentCollection/package.json +6 -0
- package/DocumentFindCursor/package.json +6 -0
- package/FindCursor/package.json +6 -0
- package/LICENSE +21 -0
- package/MongoClient/package.json +6 -0
- package/MongoError/package.json +6 -0
- package/README.md +28 -0
- package/dist/cjs/Collection.js +33 -0
- package/dist/cjs/Collection.js.map +1 -0
- package/dist/cjs/Db.js +36 -0
- package/dist/cjs/Db.js.map +1 -0
- package/dist/cjs/DocumentCollection.js +29 -0
- package/dist/cjs/DocumentCollection.js.map +1 -0
- package/dist/cjs/DocumentFindCursor.js +41 -0
- package/dist/cjs/DocumentFindCursor.js.map +1 -0
- package/dist/cjs/FindCursor.js +65 -0
- package/dist/cjs/FindCursor.js.map +1 -0
- package/dist/cjs/MongoClient.js +20 -0
- package/dist/cjs/MongoClient.js.map +1 -0
- package/dist/cjs/MongoError.js +33 -0
- package/dist/cjs/MongoError.js.map +1 -0
- package/dist/cjs/index.js +23 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/version.js +14 -0
- package/dist/cjs/internal/version.js.map +1 -0
- package/dist/dts/Collection.d.ts +37 -0
- package/dist/dts/Collection.d.ts.map +1 -0
- package/dist/dts/Db.d.ts +30 -0
- package/dist/dts/Db.d.ts.map +1 -0
- package/dist/dts/DocumentCollection.d.ts +39 -0
- package/dist/dts/DocumentCollection.d.ts.map +1 -0
- package/dist/dts/DocumentFindCursor.d.ts +40 -0
- package/dist/dts/DocumentFindCursor.d.ts.map +1 -0
- package/dist/dts/FindCursor.d.ts +40 -0
- package/dist/dts/FindCursor.d.ts.map +1 -0
- package/dist/dts/MongoClient.d.ts +21 -0
- package/dist/dts/MongoClient.d.ts.map +1 -0
- package/dist/dts/MongoError.d.ts +21 -0
- package/dist/dts/MongoError.d.ts.map +1 -0
- package/dist/dts/index.d.ts +29 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/version.d.ts +3 -0
- package/dist/dts/internal/version.d.ts.map +1 -0
- package/dist/esm/Collection.js +24 -0
- package/dist/esm/Collection.js.map +1 -0
- package/dist/esm/Db.js +25 -0
- package/dist/esm/Db.js.map +1 -0
- package/dist/esm/DocumentCollection.js +20 -0
- package/dist/esm/DocumentCollection.js.map +1 -0
- package/dist/esm/DocumentFindCursor.js +30 -0
- package/dist/esm/DocumentFindCursor.js.map +1 -0
- package/dist/esm/FindCursor.js +52 -0
- package/dist/esm/FindCursor.js.map +1 -0
- package/dist/esm/MongoClient.js +10 -0
- package/dist/esm/MongoClient.js.map +1 -0
- package/dist/esm/MongoError.js +23 -0
- package/dist/esm/MongoError.js.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/version.js +6 -0
- package/dist/esm/internal/version.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +93 -0
- package/src/Collection.ts +130 -0
- package/src/Db.ts +79 -0
- package/src/DocumentCollection.ts +128 -0
- package/src/DocumentFindCursor.ts +90 -0
- package/src/FindCursor.ts +138 -0
- package/src/MongoClient.ts +35 -0
- package/src/MongoError.ts +40 -0
- package/src/index.ts +34 -0
- package/src/internal/version.ts +7 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import type * as Schema from "@effect/schema/Schema";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as O from "effect/Option";
|
|
7
|
+
import type { BulkWriteOptions, Collection as MongoCollection, Document, Filter, FindOptions, InsertOneOptions, InsertOneResult, OptionalUnlessRequiredId } from "mongodb";
|
|
8
|
+
import * as Collection from "./Collection.js";
|
|
9
|
+
import * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
10
|
+
import * as MongoError from "./MongoError.js";
|
|
11
|
+
declare const DocumentCollection_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
12
|
+
readonly _tag: "DocumentCollection";
|
|
13
|
+
};
|
|
14
|
+
export declare class DocumentCollection extends DocumentCollection_base<{
|
|
15
|
+
collection: MongoCollection;
|
|
16
|
+
}> {
|
|
17
|
+
}
|
|
18
|
+
export declare const find: {
|
|
19
|
+
(options?: FindOptions): (collection: DocumentCollection) => DocumentFindCursor.DocumentFindCursor;
|
|
20
|
+
(collection: DocumentCollection, options?: FindOptions): DocumentFindCursor.DocumentFindCursor;
|
|
21
|
+
};
|
|
22
|
+
export declare const findOne: {
|
|
23
|
+
(filter: Filter<Document>, options?: FindOptions): (collection: DocumentCollection) => Effect.Effect<O.Option<Document>, MongoError.MongoError>;
|
|
24
|
+
(collection: DocumentCollection, filter: Filter<Document>, options?: FindOptions): Effect.Effect<O.Option<Document>, MongoError.MongoError>;
|
|
25
|
+
};
|
|
26
|
+
export declare const insertOne: {
|
|
27
|
+
(doc: OptionalUnlessRequiredId<Document>, options?: InsertOneOptions): (collection: DocumentCollection) => Effect.Effect<InsertOneResult, MongoError.MongoError>;
|
|
28
|
+
(collection: DocumentCollection, doc: OptionalUnlessRequiredId<Document>, options?: InsertOneOptions): Effect.Effect<InsertOneResult, MongoError.MongoError>;
|
|
29
|
+
};
|
|
30
|
+
export declare const insertMany: {
|
|
31
|
+
(docs: Array<OptionalUnlessRequiredId<Document>>, options?: BulkWriteOptions): (collection: DocumentCollection) => Effect.Effect<InsertOneResult, MongoError.MongoError>;
|
|
32
|
+
(collection: DocumentCollection, docs: Array<OptionalUnlessRequiredId<Document>>, options?: BulkWriteOptions): Effect.Effect<InsertOneResult, MongoError.MongoError>;
|
|
33
|
+
};
|
|
34
|
+
export declare const typed: {
|
|
35
|
+
<A extends Document, I extends Document = A, R = never>(schema: Schema.Schema<A, I, R>): (collection: DocumentCollection) => Collection.Collection<A, I, R>;
|
|
36
|
+
<A extends Document, I extends Document = A, R = never>(collection: DocumentCollection, schema: Schema.Schema<A, I, R>): Collection.Collection<A, I, R>;
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=DocumentCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentCollection.d.ts","sourceRoot":"","sources":["../../src/DocumentCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import type * as Schema from "@effect/schema/Schema";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Stream from "effect/Stream";
|
|
7
|
+
import type { Document, FindCursor as MongoFindCursor, Sort, SortDirection } from "mongodb";
|
|
8
|
+
import * as FindCursor from "./FindCursor.js";
|
|
9
|
+
import * as MongoError from "./MongoError.js";
|
|
10
|
+
declare const DocumentFindCursor_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
11
|
+
readonly _tag: "DocumentFindCursor";
|
|
12
|
+
};
|
|
13
|
+
export declare class DocumentFindCursor extends DocumentFindCursor_base<{
|
|
14
|
+
cursor: MongoFindCursor<Document>;
|
|
15
|
+
}> {
|
|
16
|
+
}
|
|
17
|
+
export declare const filter: {
|
|
18
|
+
(filter: Document): (cursor: DocumentFindCursor) => DocumentFindCursor;
|
|
19
|
+
(cursor: DocumentFindCursor, filter: Document): DocumentFindCursor;
|
|
20
|
+
};
|
|
21
|
+
export declare const project: {
|
|
22
|
+
(value: Document): (cursor: DocumentFindCursor) => DocumentFindCursor;
|
|
23
|
+
(cursor: DocumentFindCursor, value: Document): DocumentFindCursor;
|
|
24
|
+
};
|
|
25
|
+
export declare const sort: {
|
|
26
|
+
(sort: Sort | string, direction?: SortDirection): (cursor: DocumentFindCursor) => DocumentFindCursor;
|
|
27
|
+
(cursor: DocumentFindCursor, sort: Sort | string, direction?: SortDirection): DocumentFindCursor;
|
|
28
|
+
};
|
|
29
|
+
export declare const limit: {
|
|
30
|
+
(value: number): (cursor: DocumentFindCursor) => DocumentFindCursor;
|
|
31
|
+
(cursor: DocumentFindCursor, value: number): DocumentFindCursor;
|
|
32
|
+
};
|
|
33
|
+
export declare const toArray: (cursor: DocumentFindCursor) => Effect.Effect<ReadonlyArray<Document>, MongoError.MongoError>;
|
|
34
|
+
export declare const toStream: (cursor: DocumentFindCursor) => Stream.Stream<Document, MongoError.MongoError>;
|
|
35
|
+
export declare const typed: {
|
|
36
|
+
<A, I = A, R = never>(schema: Schema.Schema<A, I, R>): (cursor: DocumentFindCursor) => FindCursor.FindCursor<A, I, R>;
|
|
37
|
+
<A, I = A, R = never>(cursor: DocumentFindCursor, schema: Schema.Schema<A, I, R>): FindCursor.FindCursor<A, I, R>;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=DocumentFindCursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentFindCursor.d.ts","sourceRoot":"","sources":["../../src/DocumentFindCursor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAEpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,IAAI,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3F,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;;;;AAE7C,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;CAClC,CAAC;CACD;AAED,eAAO,MAAM,MAAM,EAAE;IACnB,CACE,MAAM,EAAE,QAAQ,GACf,CAAC,MAAM,EAAE,kBAAkB,KAAK,kBAAkB,CAAA;IACrD,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,GAAG,kBAAkB,CAAA;CAKnE,CAAA;AAED,eAAO,MAAM,OAAO,EAAE;IACpB,CACE,KAAK,EAAE,QAAQ,GACd,CAAC,MAAM,EAAE,kBAAkB,KAAK,kBAAkB,CAAA;IACrD,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,GAAG,kBAAkB,CAAA;CAKlE,CAAA;AAED,eAAO,MAAM,IAAI,EAAE;IACjB,CACE,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,SAAS,CAAC,EAAE,aAAa,GACxB,CAAC,MAAM,EAAE,kBAAkB,KAAK,kBAAkB,CAAA;IACrD,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,kBAAkB,CAAA;CAKjG,CAAA;AAED,eAAO,MAAM,KAAK,EAAE;IAClB,CACE,KAAK,EAAE,MAAM,GACZ,CAAC,MAAM,EAAE,kBAAkB,KAAK,kBAAkB,CAAA;IACrD,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAKhE,CAAA;AAED,eAAO,MAAM,OAAO,WAAY,kBAAkB,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAI9G,CAAA;AAEH,eAAO,MAAM,QAAQ,WACX,kBAAkB,KACzB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAI7C,CAAA;AAEH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,MAAM,EAAE,kBAAkB,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAClB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAIwE,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import type * as ParseResult from "@effect/schema/ParseResult";
|
|
5
|
+
import * as Schema from "@effect/schema/Schema";
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Stream from "effect/Stream";
|
|
8
|
+
import type { Document, FindCursor as FindCursor_, Sort, SortDirection } from "mongodb";
|
|
9
|
+
import * as MongoError from "./MongoError.js";
|
|
10
|
+
import type * as E from "effect/Either";
|
|
11
|
+
declare const FindCursor_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").Equals<A_1, {}> extends true ? void : { readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }) => Readonly<A_1> & {
|
|
12
|
+
readonly _tag: "FindCursor";
|
|
13
|
+
};
|
|
14
|
+
export declare class FindCursor<A, I = A, R = never> extends FindCursor_base<{
|
|
15
|
+
cursor: FindCursor_<unknown>;
|
|
16
|
+
schema: Schema.Schema<A, I, R>;
|
|
17
|
+
}> {
|
|
18
|
+
}
|
|
19
|
+
export declare const filter: {
|
|
20
|
+
<T extends Document = Document>(filter: T): <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => FindCursor<A, I, R>;
|
|
21
|
+
<A, I = A, R = never, T extends Document = Document>(cursor: FindCursor<A, I, R>, filter: T): FindCursor<A, I, R>;
|
|
22
|
+
};
|
|
23
|
+
export declare const project: {
|
|
24
|
+
<B, BI = B, BR = never, T extends Document = Document>(newSchema: Schema.Schema<B, BI, BR>, value: T): <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => FindCursor<B, BI, BR>;
|
|
25
|
+
<A, B, I = A, R = never, BI = B, BR = never, T extends Document = Document>(cursor: FindCursor<A, I, R>, newSchema: Schema.Schema<B, BI, BR>, value: T): FindCursor<B, BI, BR>;
|
|
26
|
+
};
|
|
27
|
+
export declare const sort: {
|
|
28
|
+
(sort: Sort | string, direction?: SortDirection): <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => FindCursor<A, I, R>;
|
|
29
|
+
<A, I = A, R = never>(cursor: FindCursor<A, I, R>, sort: Sort | string, direction?: SortDirection): FindCursor<A, I, R>;
|
|
30
|
+
};
|
|
31
|
+
export declare const limit: {
|
|
32
|
+
(value: number): <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => FindCursor<A, I, R>;
|
|
33
|
+
<A, I = A, R = never>(cursor: FindCursor<A, I, R>, value: number): FindCursor<A, I, R>;
|
|
34
|
+
};
|
|
35
|
+
export declare const toArray: <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => Effect.Effect<A[], MongoError.MongoError | ParseResult.ParseError, R>;
|
|
36
|
+
export declare const toArrayEither: <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => Effect.Effect<E.Either<A, [unknown, ParseResult.ParseError]>[], MongoError.MongoError, R>;
|
|
37
|
+
export declare const toStream: <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => Stream.Stream<A, MongoError.MongoError | ParseResult.ParseError, R>;
|
|
38
|
+
export declare const toStreamEither: <A, I = A, R = never>(cursor: FindCursor<A, I, R>) => Stream.Stream<E.Either<A, [document: unknown, error: ParseResult.ParseError]>, MongoError.MongoError, R>;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=FindCursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FindCursor.d.ts","sourceRoot":"","sources":["../../src/FindCursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
import type * as Brand from "effect/Brand";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import type { Db, DbOptions, MongoClientOptions } from "mongodb";
|
|
7
|
+
import { MongoClient as MongoClient_ } from "mongodb";
|
|
8
|
+
import * as MongoError from "./MongoError.js";
|
|
9
|
+
import * as Context from "effect/Context";
|
|
10
|
+
export type MongoClient = MongoClient_;
|
|
11
|
+
export declare const connect: (url: string, options?: MongoClientOptions) => Effect.Effect<MongoClient_, MongoError.MongoError, never>;
|
|
12
|
+
export declare const db: {
|
|
13
|
+
(dbName?: string, options?: DbOptions): (client: MongoClient) => Db;
|
|
14
|
+
(client: MongoClient, dbName?: string, options?: DbOptions): Db;
|
|
15
|
+
};
|
|
16
|
+
export type MongoClientService<K extends string> = {
|
|
17
|
+
client: Effect.Effect<MongoClient, MongoError.MongoError>;
|
|
18
|
+
} & Brand.Brand<K>;
|
|
19
|
+
export declare const Tag: <K extends string>(key: K) => Context.Tag<MongoClientService<K>, MongoClientService<K>>;
|
|
20
|
+
export type TagType<K extends string> = ReturnType<typeof Tag<K>>;
|
|
21
|
+
//# sourceMappingURL=MongoClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MongoClient.d.ts","sourceRoot":"","sources":["../../src/MongoClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,YAAY,CAAA;AAEtC,eAAO,MAAM,OAAO,QAAS,MAAM,YAAY,kBAAkB,8DAG9D,CAAA;AAEH,eAAO,MAAM,EAAE,EAAE;IACf,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,EAAE,CAAA;IACnE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAA;CAIhE,CAAA;AAID,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;CAC1D,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAElB,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,8DAAmD,CAAA;AAC/F,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Stream from "effect/Stream";
|
|
3
|
+
import { MongoError as MongoError_ } from "mongodb";
|
|
4
|
+
declare const MongoError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
5
|
+
readonly _tag: "MongoError";
|
|
6
|
+
} & Readonly<A>;
|
|
7
|
+
export declare class MongoError extends MongoError_base<{
|
|
8
|
+
message: string;
|
|
9
|
+
innerError: MongoError_;
|
|
10
|
+
}> {
|
|
11
|
+
}
|
|
12
|
+
export declare const mongoErrorDie: {
|
|
13
|
+
<A>(message: string): (error: unknown) => Effect.Effect<A, MongoError>;
|
|
14
|
+
<A>(error: unknown, message: string): Effect.Effect<A, MongoError>;
|
|
15
|
+
};
|
|
16
|
+
export declare const mongoErrorStream: {
|
|
17
|
+
<A>(message: string): (error: unknown) => Stream.Stream<A, MongoError>;
|
|
18
|
+
<A>(error: unknown, message: string): Stream.Stream<A, MongoError>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=MongoError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MongoError.d.ts","sourceRoot":"","sources":["../../src/MongoError.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,SAAS,CAAA;;;;AAEnD,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,WAAW,CAAA;CACxB,CAAC;CAAG;AAEL,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACtE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;CAYhE,CAAA;AAEJ,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACtE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;CAMhE,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
export * as Collection from "./Collection.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
*/
|
|
8
|
+
export * as Db from "./Db.js";
|
|
9
|
+
/**
|
|
10
|
+
* @since 0.0.1
|
|
11
|
+
*/
|
|
12
|
+
export * as DocumentCollection from "./DocumentCollection.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 0.0.1
|
|
15
|
+
*/
|
|
16
|
+
export * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
17
|
+
/**
|
|
18
|
+
* @since 0.0.1
|
|
19
|
+
*/
|
|
20
|
+
export * as FindCursor from "./FindCursor.js";
|
|
21
|
+
/**
|
|
22
|
+
* @since 0.0.1
|
|
23
|
+
*/
|
|
24
|
+
export * as MongoClient from "./MongoClient.js";
|
|
25
|
+
/**
|
|
26
|
+
* @since 0.0.1
|
|
27
|
+
*/
|
|
28
|
+
export * as MongoError from "./MongoError.js";
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/internal/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,cAAsB,CAAA;AAEpD,eAAO,MAAM,iBAAiB,YAAa,MAAM,SAEhD,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as Schema from "@effect/schema/Schema";
|
|
2
|
+
import * as Data from "effect/Data";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as F from "effect/Function";
|
|
5
|
+
import * as O from "effect/Option";
|
|
6
|
+
import * as FindCursor from "./FindCursor.js";
|
|
7
|
+
import * as MongoError from "./MongoError.js";
|
|
8
|
+
export class Collection extends /*#__PURE__*/Data.TaggedClass("Collection") {}
|
|
9
|
+
export const find = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, options) => new FindCursor.FindCursor({
|
|
10
|
+
cursor: collection.collection.find({}, options),
|
|
11
|
+
schema: collection.schema
|
|
12
|
+
}));
|
|
13
|
+
export const findOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, filter, options) => Effect.gen(function* (_) {
|
|
14
|
+
const value = yield* _(Effect.promise(() => collection.collection.findOne(filter, options)));
|
|
15
|
+
if (value !== null) return O.some(yield* _(Schema.decodeUnknown(collection.schema)(value)));
|
|
16
|
+
return O.none();
|
|
17
|
+
}).pipe(Effect.catchAllDefect(MongoError.mongoErrorDie("findOne error"))));
|
|
18
|
+
export const insertOne = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, doc, options) => F.pipe(Schema.encode(collection.schema)(doc), Effect.flatMap(doc => Effect.promise(() => collection.collection.insertOne(doc, options))), Effect.catchAllDefect(MongoError.mongoErrorDie("insertOne error"))));
|
|
19
|
+
export const insertMany = /*#__PURE__*/F.dual(args => isCollection(args[0]), (collection, docs, options) => {
|
|
20
|
+
const encode = Schema.encode(collection.schema);
|
|
21
|
+
return F.pipe(docs, Effect.forEach(doc => encode(doc)), Effect.flatMap(docs => Effect.promise(() => collection.collection.insertMany(docs, options))), Effect.catchAllDefect(MongoError.mongoErrorDie("insertMany error")));
|
|
22
|
+
});
|
|
23
|
+
const isCollection = x => x instanceof Collection;
|
|
24
|
+
//# sourceMappingURL=Collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.js","names":["Schema","Data","Effect","F","O","FindCursor","MongoError","Collection","TaggedClass","find","dual","args","isCollection","collection","options","cursor","schema","findOne","filter","gen","_","value","promise","some","decodeUnknown","none","pipe","catchAllDefect","mongoErrorDie","insertOne","doc","encode","flatMap","insertMany","docs","forEach","x"],"sources":["../../src/Collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Db.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as F from "effect/Function";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import { Db } from "mongodb";
|
|
6
|
+
import * as DocumentCollection from "./DocumentCollection.js";
|
|
7
|
+
import * as MongoClient from "./MongoClient.js";
|
|
8
|
+
export const documentCollection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name) => new DocumentCollection.DocumentCollection({
|
|
9
|
+
collection: db.collection(name)
|
|
10
|
+
}));
|
|
11
|
+
export const collection = /*#__PURE__*/F.dual(args => isDb(args[0]), (db, name, schema) => DocumentCollection.typed(documentCollection(db, name), schema));
|
|
12
|
+
const isDb = x => x instanceof Db;
|
|
13
|
+
export const Tag = key => Context.GenericTag(key);
|
|
14
|
+
export const fromEffect = (dbTag, clientTag, dbName) => Layer.effect(dbTag, Effect.gen(function* (_) {
|
|
15
|
+
const {
|
|
16
|
+
client
|
|
17
|
+
} = yield* _(clientTag);
|
|
18
|
+
const dbName_ = yield* _(dbName);
|
|
19
|
+
const db = yield* _(client, Effect.map(client => MongoClient.db(client, dbName_)), Effect.cached);
|
|
20
|
+
return dbTag.of({
|
|
21
|
+
db
|
|
22
|
+
}); // TODO fix cast using branded ctor
|
|
23
|
+
}));
|
|
24
|
+
export const fromConst = (dbTag, clientTag, dbName) => fromEffect(dbTag, clientTag, Effect.succeed(dbName));
|
|
25
|
+
//# sourceMappingURL=Db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Db.js","names":["Context","Effect","F","Layer","Db","DocumentCollection","MongoClient","documentCollection","dual","args","isDb","db","name","collection","schema","typed","x","Tag","key","GenericTag","fromEffect","dbTag","clientTag","dbName","effect","gen","_","client","dbName_","map","cached","of","fromConst","succeed"],"sources":["../../src/Db.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AACpC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,EAAE,QAAQ,SAAS;AAE5B,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAG/C,OAAO,MAAMC,kBAAkB,gBAG3BL,CAAC,CAACM,IAAI,CACPC,IAAI,IAAKC,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,CAACE,EAAM,EAAEC,IAAY,KACnB,IAAIP,kBAAkB,CAACA,kBAAkB,CAAC;EACxCQ,UAAU,EAAEF,EAAE,CAACE,UAAU,CAACD,IAAI;CAC/B,CAAC,CACL;AAED,OAAO,MAAMC,UAAU,gBAUnBX,CAAC,CAACM,IAAI,CACPC,IAAI,IAAKC,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,CACEE,EAAM,EACNC,IAAY,EACZE,MAA8B,KACKT,kBAAkB,CAACU,KAAK,CAACR,kBAAkB,CAACI,EAAE,EAAEC,IAAI,CAAC,EAAEE,MAAM,CAAC,CACpG;AAED,MAAMJ,IAAI,GAAIM,CAAU,IAAKA,CAAC,YAAYZ,EAAE;AAM5C,OAAO,MAAMa,GAAG,GAAsBC,GAAM,IAAKlB,OAAO,CAACmB,UAAU,CAAeD,GAAG,CAAC;AAGtF,OAAO,MAAME,UAAU,GAAGA,CACxBC,KAAmB,EACnBC,SAA4C,EAC5CC,MAAmC,KAEnCpB,KAAK,CAACqB,MAAM,CACVH,KAAK,EACLpB,MAAM,CAACwB,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAM;IAAEC;EAAM,CAAE,GAAG,OAAOD,CAAC,CAACJ,SAAS,CAAC;EACtC,MAAMM,OAAO,GAAG,OAAOF,CAAC,CAACH,MAAM,CAAC;EAChC,MAAMZ,EAAE,GAAG,OAAOe,CAAC,CACjBC,MAAM,EACN1B,MAAM,CAAC4B,GAAG,CAAEF,MAAM,IAAKrB,WAAW,CAACK,EAAE,CAACgB,MAAM,EAAEC,OAAO,CAAC,CAAC,EACvD3B,MAAM,CAAC6B,MAAM,CACd;EACD,OAAOT,KAAK,CAACU,EAAE,CAAC;IAAEpB;EAAE,CAAoB,CAAC,EAAC;AAC5C,CAAC,CAAC,CACH;AAEH,OAAO,MAAMqB,SAAS,GAAGA,CACvBX,KAAmB,EACnBC,SAA4C,EAC5CC,MAAc,KACXH,UAAU,CAACC,KAAK,EAAEC,SAAS,EAAErB,MAAM,CAACgC,OAAO,CAACV,MAAM,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as Data from "effect/Data";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as F from "effect/Function";
|
|
4
|
+
import * as O from "effect/Option";
|
|
5
|
+
import * as Collection from "./Collection.js";
|
|
6
|
+
import * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
7
|
+
import * as MongoError from "./MongoError.js";
|
|
8
|
+
export class DocumentCollection extends /*#__PURE__*/Data.TaggedClass("DocumentCollection") {}
|
|
9
|
+
export const find = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, options) => new DocumentFindCursor.DocumentFindCursor({
|
|
10
|
+
cursor: collection.collection.find({}, options)
|
|
11
|
+
}));
|
|
12
|
+
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
|
+
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
|
+
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"))));
|
|
15
|
+
export const typed = /*#__PURE__*/F.dual(args => isDocumentCollection(args[0]), (collection, schema) => new Collection.Collection({
|
|
16
|
+
collection: collection.collection,
|
|
17
|
+
schema
|
|
18
|
+
}));
|
|
19
|
+
const isDocumentCollection = x => x instanceof DocumentCollection;
|
|
20
|
+
//# sourceMappingURL=DocumentCollection.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as Data from "effect/Data";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as F from "effect/Function";
|
|
4
|
+
import * as Stream from "effect/Stream";
|
|
5
|
+
import * as FindCursor from "./FindCursor.js";
|
|
6
|
+
import * as MongoError from "./MongoError.js";
|
|
7
|
+
export class DocumentFindCursor extends /*#__PURE__*/Data.TaggedClass("DocumentFindCursor") {}
|
|
8
|
+
export const filter = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, filter) => new DocumentFindCursor({
|
|
9
|
+
cursor: cursor.cursor.filter(filter)
|
|
10
|
+
}));
|
|
11
|
+
export const project = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, value) => new DocumentFindCursor({
|
|
12
|
+
cursor: cursor.cursor.project(value)
|
|
13
|
+
}));
|
|
14
|
+
export const sort = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, sort, direction) => new DocumentFindCursor({
|
|
15
|
+
cursor: cursor.cursor.sort(sort, direction)
|
|
16
|
+
}));
|
|
17
|
+
export const limit = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, value) => new DocumentFindCursor({
|
|
18
|
+
cursor: cursor.cursor.limit(value)
|
|
19
|
+
}));
|
|
20
|
+
export const toArray = cursor => F.pipe(Effect.tryPromise({
|
|
21
|
+
try: () => cursor.cursor.toArray(),
|
|
22
|
+
catch: F.identity
|
|
23
|
+
}), Effect.catchAll(MongoError.mongoErrorDie("toArray error")));
|
|
24
|
+
export const toStream = cursor => F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(MongoError.mongoErrorStream("Unable to read from mongodb cursor")));
|
|
25
|
+
export const typed = /*#__PURE__*/F.dual(args => isDocumentFindCursor(args[0]), (cursor, schema) => new FindCursor.FindCursor({
|
|
26
|
+
cursor: cursor.cursor,
|
|
27
|
+
schema
|
|
28
|
+
}));
|
|
29
|
+
const isDocumentFindCursor = x => x instanceof DocumentFindCursor;
|
|
30
|
+
//# sourceMappingURL=DocumentFindCursor.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as Schema from "@effect/schema/Schema";
|
|
2
|
+
import * as Data from "effect/Data";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as F from "effect/Function";
|
|
5
|
+
import * as Stream from "effect/Stream";
|
|
6
|
+
import * as Tuple from "effect/Tuple";
|
|
7
|
+
import * as MongoError from "./MongoError.js";
|
|
8
|
+
export class FindCursor extends /*#__PURE__*/Data.TaggedClass("FindCursor") {}
|
|
9
|
+
export const filter = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, filter) => new FindCursor({
|
|
10
|
+
cursor: cursor.cursor.filter(filter),
|
|
11
|
+
schema: cursor.schema
|
|
12
|
+
}));
|
|
13
|
+
export const project = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, newSchema, value) => new FindCursor({
|
|
14
|
+
cursor: cursor.cursor.project(value),
|
|
15
|
+
schema: newSchema
|
|
16
|
+
}));
|
|
17
|
+
export const sort = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, sort, direction) => new FindCursor({
|
|
18
|
+
cursor: cursor.cursor.sort(sort, direction),
|
|
19
|
+
schema: cursor.schema
|
|
20
|
+
}));
|
|
21
|
+
export const limit = /*#__PURE__*/F.dual(args => isFindCursor(args[0]), (cursor, value) => new FindCursor({
|
|
22
|
+
cursor: cursor.cursor.limit(value),
|
|
23
|
+
schema: cursor.schema
|
|
24
|
+
}));
|
|
25
|
+
export const toArray = cursor => {
|
|
26
|
+
const decode = Schema.decodeUnknown(cursor.schema);
|
|
27
|
+
return Effect.tryPromise({
|
|
28
|
+
try: () => cursor.cursor.toArray(),
|
|
29
|
+
catch: F.identity
|
|
30
|
+
}).pipe(Effect.catchAll(MongoError.mongoErrorDie("Unable to get array from mongodb cursor")), Effect.flatMap(Effect.forEach(x => decode(x))));
|
|
31
|
+
};
|
|
32
|
+
export const toArrayEither = cursor => {
|
|
33
|
+
const decode = Schema.decodeUnknown(cursor.schema);
|
|
34
|
+
return Effect.tryPromise({
|
|
35
|
+
try: () => cursor.cursor.toArray(),
|
|
36
|
+
catch: F.identity
|
|
37
|
+
}).pipe(Effect.catchAll(MongoError.mongoErrorDie("Unable to get array from mongodb cursor")), Effect.flatMap(Effect.forEach(x => F.pipe(
|
|
38
|
+
// keep new line
|
|
39
|
+
decode(x), Effect.mapError(error => Tuple.make(x, error)), Effect.either))));
|
|
40
|
+
};
|
|
41
|
+
export const toStream = cursor => {
|
|
42
|
+
const decode = Schema.decodeUnknown(cursor.schema);
|
|
43
|
+
return F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(MongoError.mongoErrorStream("Unable to get stream from mongodb cursor")), Stream.mapEffect(x => decode(x)));
|
|
44
|
+
};
|
|
45
|
+
export const toStreamEither = cursor => {
|
|
46
|
+
const decode = Schema.decodeUnknown(cursor.schema);
|
|
47
|
+
return F.pipe(Stream.fromAsyncIterable(cursor.cursor, F.identity), Stream.catchAll(MongoError.mongoErrorStream("Unable to get stream either from mongodb cursor")), Stream.mapEffect(x => F.pipe(
|
|
48
|
+
// keep new line
|
|
49
|
+
decode(x), Effect.mapError(error => Tuple.make(x, error)), Effect.either)));
|
|
50
|
+
};
|
|
51
|
+
const isFindCursor = x => x instanceof FindCursor;
|
|
52
|
+
//# sourceMappingURL=FindCursor.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as F from "effect/Function";
|
|
3
|
+
import { MongoClient as MongoClient_ } from "mongodb";
|
|
4
|
+
import * as MongoError from "./MongoError.js";
|
|
5
|
+
import * as Context from "effect/Context";
|
|
6
|
+
export const connect = (url, options) => Effect.promise(() => MongoClient_.connect(url, options)).pipe(Effect.catchAll(MongoError.mongoErrorDie("connect error")));
|
|
7
|
+
export const db = /*#__PURE__*/F.dual(args => isMongoClient(args[0]), (client, dbName, options) => client.db(dbName, options));
|
|
8
|
+
const isMongoClient = x => x instanceof MongoClient_;
|
|
9
|
+
export const Tag = key => Context.GenericTag(key);
|
|
10
|
+
//# sourceMappingURL=MongoClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MongoClient.js","names":["Effect","F","MongoClient","MongoClient_","MongoError","Context","connect","url","options","promise","pipe","catchAll","mongoErrorDie","db","dual","args","isMongoClient","client","dbName","x","Tag","key","GenericTag"],"sources":["../../src/MongoClient.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AAEpC,SAASC,WAAW,IAAIC,YAAY,QAAQ,SAAS;AACrD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAIzC,OAAO,MAAMC,OAAO,GAAGA,CAACC,GAAW,EAAEC,OAA4B,KAC/DR,MAAM,CAACS,OAAO,CAAC,MAAMN,YAAY,CAACG,OAAO,CAACC,GAAG,EAAEC,OAAO,CAAC,CAAC,CAACE,IAAI,CAC3DV,MAAM,CAACW,QAAQ,CAACP,UAAU,CAACQ,aAAa,CAAe,eAAe,CAAC,CAAC,CACzE;AAEH,OAAO,MAAMC,EAAE,gBAGXZ,CAAC,CAACa,IAAI,CACPC,IAAI,IAAKC,aAAa,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAChC,CAACE,MAAmB,EAAEC,MAAe,EAAEV,OAAmB,KAAKS,MAAM,CAACJ,EAAE,CAACK,MAAM,EAAEV,OAAO,CAAC,CAC1F;AAED,MAAMQ,aAAa,GAAIG,CAAU,IAAKA,CAAC,YAAYhB,YAAY;AAM/D,OAAO,MAAMiB,GAAG,GAAsBC,GAAM,IAAKhB,OAAO,CAACiB,UAAU,CAAwBD,GAAG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
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 Match from "effect/Match";
|
|
8
|
+
import * as Stream from "effect/Stream";
|
|
9
|
+
import { MongoError as MongoError_ } from "mongodb";
|
|
10
|
+
export class MongoError extends /*#__PURE__*/Data.TaggedError("MongoError") {}
|
|
11
|
+
export const mongoErrorDie = /*#__PURE__*/F.dual(2, (error, message) => F.pipe(Match.value(error), Match.when(Match.instanceOf(MongoError_), innerError => Effect.fail(new MongoError({
|
|
12
|
+
message,
|
|
13
|
+
innerError
|
|
14
|
+
}))), Match.orElse(cause => Effect.die(new Error(message, {
|
|
15
|
+
cause
|
|
16
|
+
})))));
|
|
17
|
+
export const mongoErrorStream = /*#__PURE__*/F.dual(2, (error, message) => F.pipe(Match.value(error), Match.when(Match.instanceOf(MongoError_), innerError => Stream.fail(new MongoError({
|
|
18
|
+
message,
|
|
19
|
+
innerError
|
|
20
|
+
}))), Match.orElse(cause => Stream.die(new Error(message, {
|
|
21
|
+
cause
|
|
22
|
+
})))));
|
|
23
|
+
//# sourceMappingURL=MongoError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MongoError.js","names":["Data","Effect","F","Match","Stream","MongoError","MongoError_","TaggedError","mongoErrorDie","dual","error","message","pipe","value","when","instanceOf","innerError","fail","orElse","cause","die","Error","mongoErrorStream"],"sources":["../../src/MongoError.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,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,UAAU,IAAIC,WAAW,QAAQ,SAAS;AAEnD,OAAM,MAAOD,UAAW,sBAAQL,IAAI,CAACO,WAAW,CAAC,YAAY,CAG3D;AAEF,OAAO,MAAMC,aAAa,gBAGtBN,CAAC,CAACO,IAAI,CAAC,CAAC,EAAE,CAAIC,KAAc,EAAEC,OAAe,KAC/CT,CAAC,CAACU,IAAI,CACJT,KAAK,CAACU,KAAK,CAACH,KAAK,CAAC,EAClBP,KAAK,CAACW,IAAI,CAACX,KAAK,CAACY,UAAU,CAACT,WAAW,CAAC,EAAGU,UAAU,IAAKf,MAAM,CAACgB,IAAI,CAAC,IAAIZ,UAAU,CAAC;EAAEM,OAAO;EAAEK;AAAU,CAAE,CAAC,CAAC,CAAC,EAC/Gb,KAAK,CAACe,MAAM,CAAEC,KAAK,IACjBlB,MAAM,CAACmB,GAAG,CACR,IAAIC,KAAK,CAACV,OAAO,EAAE;EACjBQ;CACD,CAAC,CACH,CACF,CACF,CAAC;AAEJ,OAAO,MAAMG,gBAAgB,gBAGzBpB,CAAC,CAACO,IAAI,CAAC,CAAC,EAAE,CAAIC,KAAc,EAAEC,OAAe,KAC/CT,CAAC,CAACU,IAAI,CACJT,KAAK,CAACU,KAAK,CAACH,KAAK,CAAC,EAClBP,KAAK,CAACW,IAAI,CAACX,KAAK,CAACY,UAAU,CAACT,WAAW,CAAC,EAAGU,UAAU,IAAKZ,MAAM,CAACa,IAAI,CAAC,IAAIZ,UAAU,CAAC;EAAEM,OAAO;EAAEK;AAAU,CAAE,CAAC,CAAC,CAAC,EAC/Gb,KAAK,CAACe,MAAM,CAAEC,KAAK,IAAKf,MAAM,CAACgB,GAAG,CAAC,IAAIC,KAAK,CAACV,OAAO,EAAE;EAAEQ;AAAK,CAAE,CAAC,CAAC,CAAC,CACnE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.0.1
|
|
3
|
+
*/
|
|
4
|
+
export * as Collection from "./Collection.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
*/
|
|
8
|
+
export * as Db from "./Db.js";
|
|
9
|
+
/**
|
|
10
|
+
* @since 0.0.1
|
|
11
|
+
*/
|
|
12
|
+
export * as DocumentCollection from "./DocumentCollection.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 0.0.1
|
|
15
|
+
*/
|
|
16
|
+
export * as DocumentFindCursor from "./DocumentFindCursor.js";
|
|
17
|
+
/**
|
|
18
|
+
* @since 0.0.1
|
|
19
|
+
*/
|
|
20
|
+
export * as FindCursor from "./FindCursor.js";
|
|
21
|
+
/**
|
|
22
|
+
* @since 0.0.1
|
|
23
|
+
*/
|
|
24
|
+
export * as MongoClient from "./MongoClient.js";
|
|
25
|
+
/**
|
|
26
|
+
* @since 0.0.1
|
|
27
|
+
*/
|
|
28
|
+
export * as MongoError from "./MongoError.js";
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","names":["moduleVersion","getCurrentVersion","setCurrentVersion","version"],"sources":["../../../src/internal/version.ts"],"sourcesContent":[null],"mappings":"AAAA,IAAIA,aAAa,GAAG,OAAO;AAE3B,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAMD,aAAa;AAEpD,OAAO,MAAME,iBAAiB,GAAIC,OAAe,IAAI;EACnDH,aAAa,GAAGG,OAAO;AACzB,CAAC","ignoreList":[]}
|