From 43aefbef7820b4c9f0fe88c2b6156cbae2c6b1da Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Sun, 16 Jul 2017 21:04:00 -0500 Subject: [PATCH] indexCreate overloads plus version bump and syntax fix in the README --- README.md | 2 +- src/RethinkDb.Driver.FSharp/Functions.fs | 9 +++++++++ .../RethinkDb.Driver.FSharp.fsproj | 5 +++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f0a8ac0..733b79c 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ let post = fetchPost "the-post-id" conn |> Async.RunSynchronously ```fsharp // Function names cannot be polymorphic the way object-oriented methods can, so filter's three overloads become -filter r.HashMap("age", 30) +filter (r.HashMap ("age", 30)) // and filterFunc (fun row -> row.["age"].Eq(30)) // and diff --git a/src/RethinkDb.Driver.FSharp/Functions.fs b/src/RethinkDb.Driver.FSharp/Functions.fs index 0685b3b..c48fd45 100644 --- a/src/RethinkDb.Driver.FSharp/Functions.fs +++ b/src/RethinkDb.Driver.FSharp/Functions.fs @@ -65,6 +65,15 @@ let indexCreate indexName conn (table : Ast.Table) = table.IndexCreate indexName |> asyncReqlResult conn +/// Create an index on the given table using a function +let indexCreateFunc indexName (f : Ast.ReqlExpr -> obj) conn (table : Ast.Table) = + table.IndexCreate (indexName, Ast.ReqlFunction1 f) + |> asyncReqlResult conn + +let indexCreateJS indexName jsString conn (table : Ast.Table) = + table.IndexCreate (indexName, Ast.Javascript (jsString :> obj)) + |> asyncReqlResult conn + /// Get a document by its primary key let get documentId (table : Ast.Table) = table.Get documentId diff --git a/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj b/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj index 9551936..425c1c4 100644 --- a/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj +++ b/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj @@ -12,7 +12,7 @@ See LICENSE RethinkDB document F# 0.7.0 - alpha-0001 + alpha-0002 @@ -21,8 +21,9 @@ - + +