diff --git a/.bsb.lock b/.bsb.lock new file mode 100644 index 0000000..819bfc7 --- /dev/null +++ b/.bsb.lock @@ -0,0 +1 @@ +90357 \ No newline at end of file diff --git a/Readme.md b/Readme.md index d3337f4..a9ef5c4 100644 --- a/Readme.md +++ b/Readme.md @@ -16,7 +16,7 @@ # What is it? -Hermes (the name is subject to change) is a Bucklescript library enabling http-requests over XMLHttpRequests. +Warp is a Bucklescript library enabling http-requests over XHR. # What state is it in? @@ -71,20 +71,20 @@ Please do not use it in production yet. # How do I install it? ``` -yarn add @space-labs/hermes +yarn add @space-labs/warp ``` or ``` -npm install @space-labs/hermes --save +npm install @space-labs/warp --save ``` -Then add `@space-labs/hermes` as a dependency to `bsconfig.json`: +Then add `@space-labs/warp` as a dependency to `bsconfig.json`: ```diff "bs-dependencies": [ -+ "@space-labs/hermes" ++ "@space-labs/warp" ] ``` @@ -93,38 +93,38 @@ Then add `@space-labs/hermes` as a dependency to `bsconfig.json`: ### Methods ```reason -Hermes.Method.options("https://domain.com/"); -Hermes.Method.get("https://domain.com/"); -Hermes.Method.head("https://domain.com/"); -Hermes.Method.post("https://domain.com/"); -Hermes.Method.put("https://domain.com/"); -Hermes.Method.delete("https://domain.com/"); -Hermes.Method.trace("https://domain.com/"); -Hermes.Method.connect("https://domain.com/"); +Warp.Method.options("https://domain.com/"); +Warp.Method.get("https://domain.com/"); +Warp.Method.head("https://domain.com/"); +Warp.Method.post("https://domain.com/"); +Warp.Method.put("https://domain.com/"); +Warp.Method.delete("https://domain.com/"); +Warp.Method.trace("https://domain.com/"); +Warp.Method.connect("https://domain.com/"); ``` ### Query Strings ```reason -client->Hermes.QueryString.set([("key", "value"), ("key2", "value2")]); -client->Hermes.QueryString.add("key", "value"); -client->Hermes.QueryString.remove("key"); +client->Warp.QueryString.set([("key", "value"), ("key2", "value2")]); +client->Warp.QueryString.add("key", "value"); +client->Warp.QueryString.remove("key"); ``` ### Form Data ```reason - client->Hermes.FormData.set([("key", "value"), ("key2", "value2")]); - client->Hermes.FormData.add("key", "value"); - client->Hermes.FormData.remove("key"); + client->Warp.FormData.set([("key", "value"), ("key2", "value2")]); + client->Warp.FormData.add("key", "value"); + client->Warp.FormData.remove("key"); ``` ### Headers ```reason -client->Hermes.Header.set([("key", "value"), ("key2", "value2")]); -client->Hermes.Header.add("key", "value"); -client->Hermes.Header.remove("key"); +client->Warp.Header.set([("key", "value"), ("key2", "value2")]); +client->Warp.Header.add("key", "value"); +client->Warp.Header.remove("key"); ``` ### Handling Responses @@ -132,7 +132,7 @@ client->Hermes.Header.remove("key"); The datatype of the response is based on the currently set `ResponseType` (`option(string)` by default). ```reason -client->Hermes.onLoad(response => { +client->Warp.onLoad(response => { switch (response) { | Ok(Some(data)) => Js.Console.log(data) | Ok(None) => Js.Console.info("Response was empty") @@ -154,31 +154,31 @@ If you want to change the `ResponseType`, you have to do it **before** the `onLo | ArrayBuffer | option(Js.Typed_array.ArrayBuffer.t) | ```reason -client->Hermes.ResponseType.setText; // default -client->Hermes.ResponseType.setJson; -client->Hermes.ResponseType.setDocument; -client->Hermes.ResponseType.setArrayBuffer; +client->Warp.ResponseType.setText; // default +client->Warp.ResponseType.setJson; +client->Warp.ResponseType.setDocument; +client->Warp.ResponseType.setArrayBuffer; ``` ### Sending a Request ```reason -client->Hermes.send; +client->Warp.send; ``` ### Cancelling Requests -`Hermes.send` returns a function, with which you may cancel the current request. It has a signature of +`Warp.send` returns a function, with which you may cancel the current request. It has a signature of `option(unit => unit)`, so you don't have to do anything when using it inside `React.useEffect`. ```reason /* React */ React.useEffect(() => { - Hermes.Method.get("https://domain.com/")->Hermes.send + Warp.Method.get("https://domain.com/")->Warp.send }); /* Plain Reason */ - let maybeCancel = Hermes.Method.get("https://domain.com/")->Hermes.send; + let maybeCancel = Warp.Method.get("https://domain.com/")->Warp.send; switch(maybeCancel) { | Some(cancel) => cancel(); | None => (); @@ -188,23 +188,23 @@ client->Hermes.send; ### Complete Example ```reason -Hermes.Method.get("http://localhost:8081/") -->Hermes.ResponseType.setJson -->Hermes.QueryString.set([ +Warp.Method.get("http://localhost:8081/") +->Warp.ResponseType.setJson +->Warp.QueryString.set([ ("firstname", "Max"), ("lastname", "Mustermann"), ("username", "max"), ("email", "max@mustermann.de"), ]) -->Hermes.Header.add("authorization", "Bearer 123") -->Hermes.onLoad(response => { +->Warp.Header.add("authorization", "Bearer 123") +->Warp.onLoad(response => { switch (response) { | Ok(Some(data)) => Js.Console.log(data) | Ok(None) => Js.Console.info("No Response!") | Error(message) => Js.Console.error(message) } }) -->Hermes.send; +->Warp.send; ``` ## Credits diff --git a/bsconfig.json b/bsconfig.json index 3897702..a5b0dab 100644 --- a/bsconfig.json +++ b/bsconfig.json @@ -1,5 +1,5 @@ { - "name": "@space-labs/hermes", + "name": "@space-labs/warp", "version": "0.0.1", "reason": { "react-jsx": 3 }, "bsc-flags": ["-bs-super-errors"], diff --git a/package.json b/package.json index 9fba382..b9c9853 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "@space-labs/hermes", - "description": "Hermes is a Bucklescript library enabling http-requests over XMLHttpRequests", + "name": "@space-labs/warp", + "description": "Warp is a Bucklescript library enabling http-requests over XHR", "version": "0.0.1", "scripts": { "prepare": "npm run build", diff --git a/src/Hermes/Hermes_Client.rei b/src/Hermes/Hermes_Client.rei deleted file mode 100644 index 953c7a9..0000000 --- a/src/Hermes/Hermes_Client.rei +++ /dev/null @@ -1,3 +0,0 @@ -let make: - (~url: string, ~method: Hermes_Types_Method.t) => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); \ No newline at end of file diff --git a/src/Hermes/Hermes_FormData.rei b/src/Hermes/Hermes_FormData.rei deleted file mode 100644 index 670dd72..0000000 --- a/src/Hermes/Hermes_FormData.rei +++ /dev/null @@ -1,8 +0,0 @@ -let add: - (Hermes_Types_Client.t('a), string, string) => Hermes_Types_Client.t('a); - -let set: - (Hermes_Types_Client.t('a), list((string, string))) => - Hermes_Types_Client.t('a); - -let remove: (Hermes_Types_Client.t('a), string) => Hermes_Types_Client.t('a); \ No newline at end of file diff --git a/src/Hermes/Hermes_Header.rei b/src/Hermes/Hermes_Header.rei deleted file mode 100644 index 670dd72..0000000 --- a/src/Hermes/Hermes_Header.rei +++ /dev/null @@ -1,8 +0,0 @@ -let add: - (Hermes_Types_Client.t('a), string, string) => Hermes_Types_Client.t('a); - -let set: - (Hermes_Types_Client.t('a), list((string, string))) => - Hermes_Types_Client.t('a); - -let remove: (Hermes_Types_Client.t('a), string) => Hermes_Types_Client.t('a); \ No newline at end of file diff --git a/src/Hermes/Hermes_Method.re b/src/Hermes/Hermes_Method.re deleted file mode 100644 index 2a7ba77..0000000 --- a/src/Hermes/Hermes_Method.re +++ /dev/null @@ -1,33 +0,0 @@ -open Hermes_Types_Method; - -let options = (url: string) => { - Hermes_Client.make(~url, ~method=OPTIONS); -}; - -let get = (url: string) => { - Hermes_Client.make(~url, ~method=GET); -}; - -let head = (url: string) => { - Hermes_Client.make(~url, ~method=HEAD); -}; - -let post = (url: string) => { - Hermes_Client.make(~url, ~method=POST); -}; - -let put = (url: string) => { - Hermes_Client.make(~url, ~method=PUT); -}; - -let delete = (url: string) => { - Hermes_Client.make(~url, ~method=DELETE); -}; - -let trace = (url: string) => { - Hermes_Client.make(~url, ~method=TRACE); -}; - -let connect = (url: string) => { - Hermes_Client.make(~url, ~method=CONNECT); -}; \ No newline at end of file diff --git a/src/Hermes/Hermes_Method.rei b/src/Hermes/Hermes_Method.rei deleted file mode 100644 index 73eab04..0000000 --- a/src/Hermes/Hermes_Method.rei +++ /dev/null @@ -1,31 +0,0 @@ -let options: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let get: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let head: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let post: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let put: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let delete: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let trace: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let connect: - string => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); \ No newline at end of file diff --git a/src/Hermes/Hermes_QueryString.rei b/src/Hermes/Hermes_QueryString.rei deleted file mode 100644 index 670dd72..0000000 --- a/src/Hermes/Hermes_QueryString.rei +++ /dev/null @@ -1,8 +0,0 @@ -let add: - (Hermes_Types_Client.t('a), string, string) => Hermes_Types_Client.t('a); - -let set: - (Hermes_Types_Client.t('a), list((string, string))) => - Hermes_Types_Client.t('a); - -let remove: (Hermes_Types_Client.t('a), string) => Hermes_Types_Client.t('a); \ No newline at end of file diff --git a/src/Hermes/Hermes_ResponseType.rei b/src/Hermes/Hermes_ResponseType.rei deleted file mode 100644 index 2d8e6c6..0000000 --- a/src/Hermes/Hermes_ResponseType.rei +++ /dev/null @@ -1,21 +0,0 @@ -let setText: - Hermes_Types_Client.t('a) => - Hermes_Types_Client.t(Hermes_Types_ResponseType.payload(option(string))); - -let setDocument: - Hermes_Types_Client.t('a) => - Hermes_Types_Client.t( - Hermes_Types_ResponseType.payload(option(Dom.document)), - ); - -let setJson: - Hermes_Types_Client.t('a) => - Hermes_Types_Client.t( - Hermes_Types_ResponseType.payload(option(Js.Json.t)), - ); - -let setArrayBuffer: - Hermes_Types_Client.t('a) => - Hermes_Types_Client.t( - Hermes_Types_ResponseType.payload(option(Js.Typed_array.ArrayBuffer.t)), - ); \ No newline at end of file diff --git a/src/Hermes/Hermes_Types.re b/src/Hermes/Hermes_Types.re deleted file mode 100644 index cca82b8..0000000 --- a/src/Hermes/Hermes_Types.re +++ /dev/null @@ -1,3 +0,0 @@ -module Client = Hermes_Types_Client; -module Method = Hermes_Types_Method; -module ResponseType = Hermes_Types_ResponseType; \ No newline at end of file diff --git a/src/Hermes/Hermes_Types.rei b/src/Hermes/Hermes_Types.rei deleted file mode 100644 index cca82b8..0000000 --- a/src/Hermes/Hermes_Types.rei +++ /dev/null @@ -1,3 +0,0 @@ -module Client = Hermes_Types_Client; -module Method = Hermes_Types_Method; -module ResponseType = Hermes_Types_ResponseType; \ No newline at end of file diff --git a/src/Hermes.re b/src/Warp.re similarity index 69% rename from src/Hermes.re rename to src/Warp.re index d4cd19b..f1768bb 100644 --- a/src/Hermes.re +++ b/src/Warp.re @@ -1,10 +1,10 @@ -module Client = Hermes_Client; -module Header = Hermes_Header; -module Method = Hermes_Method; -module QueryString = Hermes_QueryString; -module FormData = Hermes_FormData; -module ResponseType = Hermes_ResponseType; -module Types = Hermes_Types; +module Client = Warp_Client; +module Header = Warp_Header; +module Method = Warp_Method; +module QueryString = Warp_QueryString; +module FormData = Warp_FormData; +module ResponseType = Warp_ResponseType; +module Types = Warp_Types; let onLoad: type a. @@ -27,9 +27,8 @@ let onLoad: Some( data => { switch (data) { - | Hermes_Types_ResponseType.Ok(data) => - callback(Ok(eval(data))) - | Hermes_Types_ResponseType.Error(message) => + | Warp_Types_ResponseType.Ok(data) => callback(Ok(eval(data))) + | Warp_Types_ResponseType.Error(message) => callback(Error(message)) } }, @@ -41,7 +40,7 @@ let send: type a. Types.Client.t(Types.ResponseType.payload(a)) => option(unit => unit) = client => { - let xhr = Hermes_XHR.make(); + let xhr = Warp_XHR.make(); let queryString = Belt.List.map(client.queryString, ((key, value)) => { @@ -62,7 +61,7 @@ let send: client.url ++ "?" ++ queryString; }; - xhr->Hermes_XHR.open_( + xhr->Warp_XHR.open_( ~url, ~method= switch (client.method) { @@ -79,27 +78,23 @@ let send: ); Belt.List.forEach(client.headers, ((key, value)) => { - xhr->Hermes_XHR.setRequestHeader(key, value) + xhr->Warp_XHR.setRequestHeader(key, value) }); switch (client.onLoad) { | Some(onLoad) => - xhr->Hermes_XHR.addEventListener( + xhr->Warp_XHR.addEventListener( `error( - _ => { - onLoad(Types.ResponseType.Error(xhr->Hermes_XHR.statusText)) - }, + _ => {onLoad(Types.ResponseType.Error(xhr->Warp_XHR.statusText))}, ), ); - xhr->Hermes_XHR.addEventListener( + xhr->Warp_XHR.addEventListener( `timeout( - _ => { - onLoad(Types.ResponseType.Error(xhr->Hermes_XHR.statusText)) - }, + _ => {onLoad(Types.ResponseType.Error(xhr->Warp_XHR.statusText))}, ), ); - xhr->Hermes_XHR.addEventListener( + xhr->Warp_XHR.addEventListener( `load( _ => { switch (client.responseType) { @@ -107,7 +102,7 @@ let send: onLoad( Types.ResponseType.Ok( Types.ResponseType.TextResponse( - xhr->Hermes_XHR.responseText->Js.Nullable.toOption, + xhr->Warp_XHR.responseText->Js.Nullable.toOption, ), ), ) @@ -115,7 +110,7 @@ let send: onLoad( Types.ResponseType.Ok( Types.ResponseType.JSONResponse( - xhr->Hermes_XHR.responseJson->Js.Nullable.toOption, + xhr->Warp_XHR.responseJson->Js.Nullable.toOption, ), ), ) @@ -123,7 +118,7 @@ let send: onLoad( Types.ResponseType.Ok( Types.ResponseType.DocumentResponse( - xhr->Hermes_XHR.responseDocument->Js.Nullable.toOption, + xhr->Warp_XHR.responseDocument->Js.Nullable.toOption, ), ), ) @@ -131,7 +126,7 @@ let send: onLoad( Types.ResponseType.Ok( Types.ResponseType.ArrayBufferResponse( - xhr->Hermes_XHR.responseArrayBuffer->Js.Nullable.toOption, + xhr->Warp_XHR.responseArrayBuffer->Js.Nullable.toOption, ), ), ) @@ -143,14 +138,14 @@ let send: }; if (Js.List.isEmpty(client.formData)) { - xhr->Hermes_XHR.send; + xhr->Warp_XHR.send; } else { - xhr->Hermes_XHR.setRequestHeader( + xhr->Warp_XHR.setRequestHeader( "Content-type", "application/x-www-form-urlencoded", ); - xhr->Hermes_XHR.sendString(formData); + xhr->Warp_XHR.sendString(formData); }; - Some(() => {Hermes_XHR.abort(xhr)}); + Some(() => {Warp_XHR.abort(xhr)}); }; \ No newline at end of file diff --git a/src/Hermes.rei b/src/Warp.rei similarity index 50% rename from src/Hermes.rei rename to src/Warp.rei index 2ed3ffe..603dd4f 100644 --- a/src/Hermes.rei +++ b/src/Warp.rei @@ -1,10 +1,10 @@ -module Client = Hermes_Client; -module Header = Hermes_Header; -module Method = Hermes_Method; -module QueryString = Hermes_QueryString; -module FormData = Hermes_FormData; -module ResponseType = Hermes_ResponseType; -module Types = Hermes_Types; +module Client = Warp_Client; +module Header = Warp_Header; +module Method = Warp_Method; +module QueryString = Warp_QueryString; +module FormData = Warp_FormData; +module ResponseType = Warp_ResponseType; +module Types = Warp_Types; let onLoad: ( diff --git a/src/Hermes/Types/Hermes_Types_Client.re b/src/Warp/Types/Warp_Types_Client.re similarity index 63% rename from src/Hermes/Types/Hermes_Types_Client.re rename to src/Warp/Types/Warp_Types_Client.re index 823d62a..dc99126 100644 --- a/src/Hermes/Types/Hermes_Types_Client.re +++ b/src/Warp/Types/Warp_Types_Client.re @@ -1,9 +1,9 @@ type t('a) = { url: string, - method: Hermes_Types_Method.t, + method: Warp_Types_Method.t, queryString: list((string, string)), formData: list((string, string)), headers: list((string, string)), responseType: 'a, - onLoad: option(Hermes_Types_ResponseType.t('a) => unit), + onLoad: option(Warp_Types_ResponseType.t('a) => unit), }; \ No newline at end of file diff --git a/src/Hermes/Types/Hermes_Types_Method.re b/src/Warp/Types/Warp_Types_Method.re similarity index 100% rename from src/Hermes/Types/Hermes_Types_Method.re rename to src/Warp/Types/Warp_Types_Method.re diff --git a/src/Hermes/Types/Hermes_Types_ResponseType.re b/src/Warp/Types/Warp_Types_ResponseType.re similarity index 100% rename from src/Hermes/Types/Hermes_Types_ResponseType.re rename to src/Warp/Types/Warp_Types_ResponseType.re diff --git a/src/Hermes/Hermes_Client.re b/src/Warp/Warp_Client.re similarity index 60% rename from src/Hermes/Hermes_Client.re rename to src/Warp/Warp_Client.re index ba9d657..ba9fde7 100644 --- a/src/Hermes/Hermes_Client.re +++ b/src/Warp/Warp_Client.re @@ -1,11 +1,11 @@ -open Hermes_Types_Client; +open Warp_Types_Client; let make = (~url, ~method) => { { url, method, queryString: [], - responseType: Hermes_Types_ResponseType.TextResponse(None), + responseType: Warp_Types_ResponseType.TextResponse(None), onLoad: None, formData: [], headers: [], diff --git a/src/Warp/Warp_Client.rei b/src/Warp/Warp_Client.rei new file mode 100644 index 0000000..5e6358e --- /dev/null +++ b/src/Warp/Warp_Client.rei @@ -0,0 +1,3 @@ +let make: + (~url: string, ~method: Warp_Types_Method.t) => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); \ No newline at end of file diff --git a/src/Hermes/Hermes_FormData.re b/src/Warp/Warp_FormData.re similarity index 93% rename from src/Hermes/Hermes_FormData.re rename to src/Warp/Warp_FormData.re index ef28da9..ec1fdec 100644 --- a/src/Hermes/Hermes_FormData.re +++ b/src/Warp/Warp_FormData.re @@ -1,4 +1,4 @@ -open Hermes_Types_Client; +open Warp_Types_Client; let add = (client, key, value) => { {...client, formData: [(key, value), ...client.formData]}; diff --git a/src/Warp/Warp_FormData.rei b/src/Warp/Warp_FormData.rei new file mode 100644 index 0000000..3b64bcc --- /dev/null +++ b/src/Warp/Warp_FormData.rei @@ -0,0 +1,8 @@ +let add: + (Warp_Types_Client.t('a), string, string) => Warp_Types_Client.t('a); + +let set: + (Warp_Types_Client.t('a), list((string, string))) => + Warp_Types_Client.t('a); + +let remove: (Warp_Types_Client.t('a), string) => Warp_Types_Client.t('a); \ No newline at end of file diff --git a/src/Hermes/Hermes_Header.re b/src/Warp/Warp_Header.re similarity index 93% rename from src/Hermes/Hermes_Header.re rename to src/Warp/Warp_Header.re index 9fa6331..3311b88 100644 --- a/src/Hermes/Hermes_Header.re +++ b/src/Warp/Warp_Header.re @@ -1,4 +1,4 @@ -open Hermes_Types_Client; +open Warp_Types_Client; let add = (client, key, value) => { {...client, headers: [(key, value), ...client.headers]}; diff --git a/src/Warp/Warp_Header.rei b/src/Warp/Warp_Header.rei new file mode 100644 index 0000000..3b64bcc --- /dev/null +++ b/src/Warp/Warp_Header.rei @@ -0,0 +1,8 @@ +let add: + (Warp_Types_Client.t('a), string, string) => Warp_Types_Client.t('a); + +let set: + (Warp_Types_Client.t('a), list((string, string))) => + Warp_Types_Client.t('a); + +let remove: (Warp_Types_Client.t('a), string) => Warp_Types_Client.t('a); \ No newline at end of file diff --git a/src/Warp/Warp_Method.re b/src/Warp/Warp_Method.re new file mode 100644 index 0000000..da9ba29 --- /dev/null +++ b/src/Warp/Warp_Method.re @@ -0,0 +1,33 @@ +open Warp_Types_Method; + +let options = (url: string) => { + Warp_Client.make(~url, ~method=OPTIONS); +}; + +let get = (url: string) => { + Warp_Client.make(~url, ~method=GET); +}; + +let head = (url: string) => { + Warp_Client.make(~url, ~method=HEAD); +}; + +let post = (url: string) => { + Warp_Client.make(~url, ~method=POST); +}; + +let put = (url: string) => { + Warp_Client.make(~url, ~method=PUT); +}; + +let delete = (url: string) => { + Warp_Client.make(~url, ~method=DELETE); +}; + +let trace = (url: string) => { + Warp_Client.make(~url, ~method=TRACE); +}; + +let connect = (url: string) => { + Warp_Client.make(~url, ~method=CONNECT); +}; \ No newline at end of file diff --git a/src/Warp/Warp_Method.rei b/src/Warp/Warp_Method.rei new file mode 100644 index 0000000..a1dee24 --- /dev/null +++ b/src/Warp/Warp_Method.rei @@ -0,0 +1,31 @@ +let options: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let get: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let head: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let post: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let put: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let delete: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let trace: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let connect: + string => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); \ No newline at end of file diff --git a/src/Hermes/Hermes_QueryString.re b/src/Warp/Warp_QueryString.re similarity index 94% rename from src/Hermes/Hermes_QueryString.re rename to src/Warp/Warp_QueryString.re index e4f1e87..404838e 100644 --- a/src/Hermes/Hermes_QueryString.re +++ b/src/Warp/Warp_QueryString.re @@ -1,4 +1,4 @@ -open Hermes_Types_Client; +open Warp_Types_Client; let add = (client, key, value) => { {...client, queryString: [(key, value), ...client.queryString]}; diff --git a/src/Warp/Warp_QueryString.rei b/src/Warp/Warp_QueryString.rei new file mode 100644 index 0000000..3b64bcc --- /dev/null +++ b/src/Warp/Warp_QueryString.rei @@ -0,0 +1,8 @@ +let add: + (Warp_Types_Client.t('a), string, string) => Warp_Types_Client.t('a); + +let set: + (Warp_Types_Client.t('a), list((string, string))) => + Warp_Types_Client.t('a); + +let remove: (Warp_Types_Client.t('a), string) => Warp_Types_Client.t('a); \ No newline at end of file diff --git a/src/Hermes/Hermes_ResponseType.re b/src/Warp/Warp_ResponseType.re similarity index 50% rename from src/Hermes/Hermes_ResponseType.re rename to src/Warp/Warp_ResponseType.re index b543a08..d571f39 100644 --- a/src/Hermes/Hermes_ResponseType.re +++ b/src/Warp/Warp_ResponseType.re @@ -1,9 +1,9 @@ -open Hermes_Types_Client; +open Warp_Types_Client; let setText = client => { { ...client, - responseType: Hermes_Types_ResponseType.TextResponse(None), + responseType: Warp_Types_ResponseType.TextResponse(None), onLoad: None, }; }; @@ -11,7 +11,7 @@ let setText = client => { let setDocument = client => { { ...client, - responseType: Hermes_Types_ResponseType.DocumentResponse(None), + responseType: Warp_Types_ResponseType.DocumentResponse(None), onLoad: None, }; }; @@ -19,7 +19,7 @@ let setDocument = client => { let setJson = client => { { ...client, - responseType: Hermes_Types_ResponseType.JSONResponse(None), + responseType: Warp_Types_ResponseType.JSONResponse(None), onLoad: None, }; }; @@ -27,7 +27,7 @@ let setJson = client => { let setArrayBuffer = client => { { ...client, - responseType: Hermes_Types_ResponseType.ArrayBufferResponse(None), + responseType: Warp_Types_ResponseType.ArrayBufferResponse(None), onLoad: None, }; }; \ No newline at end of file diff --git a/src/Warp/Warp_ResponseType.rei b/src/Warp/Warp_ResponseType.rei new file mode 100644 index 0000000..cdee06a --- /dev/null +++ b/src/Warp/Warp_ResponseType.rei @@ -0,0 +1,17 @@ +let setText: + Warp_Types_Client.t('a) => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(string))); + +let setDocument: + Warp_Types_Client.t('a) => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(Dom.document))); + +let setJson: + Warp_Types_Client.t('a) => + Warp_Types_Client.t(Warp_Types_ResponseType.payload(option(Js.Json.t))); + +let setArrayBuffer: + Warp_Types_Client.t('a) => + Warp_Types_Client.t( + Warp_Types_ResponseType.payload(option(Js.Typed_array.ArrayBuffer.t)), + ); \ No newline at end of file diff --git a/src/Warp/Warp_Types.re b/src/Warp/Warp_Types.re new file mode 100644 index 0000000..e38b2d0 --- /dev/null +++ b/src/Warp/Warp_Types.re @@ -0,0 +1,3 @@ +module Client = Warp_Types_Client; +module Method = Warp_Types_Method; +module ResponseType = Warp_Types_ResponseType; \ No newline at end of file diff --git a/src/Warp/Warp_Types.rei b/src/Warp/Warp_Types.rei new file mode 100644 index 0000000..e38b2d0 --- /dev/null +++ b/src/Warp/Warp_Types.rei @@ -0,0 +1,3 @@ +module Client = Warp_Types_Client; +module Method = Warp_Types_Method; +module ResponseType = Warp_Types_ResponseType; \ No newline at end of file diff --git a/src/Hermes/Hermes_XHR.re b/src/Warp/Warp_XHR.re similarity index 100% rename from src/Hermes/Hermes_XHR.re rename to src/Warp/Warp_XHR.re