Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Breaking changes:
New features:

Bugfixes:
- `URLSearchParams.getName` does not exist, renamed to the correct name `get`

Other improvements:

Expand Down
2 changes: 1 addition & 1 deletion src/Node/URL/URLSearchParams.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const fromStringImpl = (str) => new url.URLSearchParams(str);
export const fromObjectImpl = (obj) => new url.URLSearchParams(obj);
export const appendParamImpl = (name, value, params) => params.append(name, value);
export const deleteImpl = (name, params) => params.delete(name);
export const getNameImpl = (name, params) => params.getName(name);
export const getImpl = (name, params) => params.get(name);
export const getAllImpl = (name, params) => params.getAll(name);
export const hasImpl = (name, params) => params.has(name);
export const setImpl = (name, value, params) => params.set(name, value);
Expand Down
8 changes: 4 additions & 4 deletions src/Node/URL/URLSearchParams.purs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module Node.URL.URLSearchParams
, fromObject
, appendParam
, delete
, getName
, get
, getAll
, has
, set
Expand Down Expand Up @@ -57,10 +57,10 @@ delete name params = runEffectFn2 deleteImpl name params

foreign import deleteImpl :: EffectFn2 (String) (URLSearchParams) (Unit)

getName :: String -> URLSearchParams -> Effect (Maybe String)
getName name params = map toMaybe $ runEffectFn2 getNameImpl name params
get :: String -> URLSearchParams -> Effect (Maybe String)
get name params = map toMaybe $ runEffectFn2 getImpl name params

foreign import getNameImpl :: EffectFn2 (String) (URLSearchParams) (Nullable String)
foreign import getImpl :: EffectFn2 (String) (URLSearchParams) (Nullable String)

getAll :: String -> URLSearchParams -> Effect (Array String)
getAll name params = runEffectFn2 getAllImpl name params
Expand Down
25 changes: 17 additions & 8 deletions test/Main.purs
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@ module Test.Main where

import Prelude

import Effect (Effect)
import Node.URL as URL
import Node.URL.URLSearchParams as URL.Search
import Foreign (unsafeReadTagged)
import Data.Bifunctor (lmap)
import Control.Monad.Except (runExcept)
import Control.Monad.Error.Class (liftEither)
import Effect.Exception (error)
import Control.Monad.Except (runExcept)
import Data.Bifunctor (lmap)
import Data.Map as Map
import Data.Maybe (Maybe(..))
import Data.Traversable (for)
import Data.Tuple (Tuple(..))
import Data.Map as Map
import Effect (Effect)
import Effect.Exception (error)
import Foreign (unsafeReadTagged)
import Node.URL as URL
import Node.URL.URLSearchParams as URL.Search
import Test.Assert (assertEqual)

main ∷ Effect Unit
Expand Down Expand Up @@ -54,3 +55,11 @@ main = do
, Tuple "v" [ "a", "b" ]
]
}

v <- URL.Search.get "v" search

assertEqual
{ actual: v
, expected: Just "a"
}

Loading