diff options
author | Juan Carlos <juancarlospaco@gmail.com> | 2022-11-28 17:15:44 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-28 15:15:44 -0500 |
commit | dd57410afe0eec3140b26493844cc76c586dfcfd (patch) | |
tree | eabffddcb7aa2f311d702bea08c2a2920f3881fc | |
parent | 8a68ed65d00d456198c8724b8e579a929233419b (diff) | |
download | Nim-dd57410afe0eec3140b26493844cc76c586dfcfd.tar.gz |
Improve jsformdata (#20929)
* jsformdata now accepts Blob data type similar to JS * jsformdata now accepts Blob data type similar to JS
-rw-r--r-- | changelog.md | 2 | ||||
-rw-r--r-- | lib/std/jsformdata.nim | 16 |
2 files changed, 12 insertions, 6 deletions
diff --git a/changelog.md b/changelog.md index 1c49b2e55..fbf7e46ad 100644 --- a/changelog.md +++ b/changelog.md @@ -133,6 +133,8 @@ - `std/net.IpAddress` dollar `$` improved, uses a fixed capacity for the `string` result based from the `IpAddressFamily`. - `std/jsfetch.newFetchOptions` now has default values for all parameters +- `std/jsformdata` now accepts `Blob` data type. + [//]: # "Additions:" - Added ISO 8601 week date utilities in `times`: diff --git a/lib/std/jsformdata.nim b/lib/std/jsformdata.nim index 120f8742d..61dcc39a3 100644 --- a/lib/std/jsformdata.nim +++ b/lib/std/jsformdata.nim @@ -2,17 +2,21 @@ when not defined(js): {.fatal: "Module jsformdata is designed to be used with the JavaScript backend.".} +from std/dom import Blob + type FormData* = ref object of JsRoot ## FormData API. func newFormData*(): FormData {.importjs: "new FormData()".} -func add*(self: FormData; name: cstring; value: SomeNumber | bool | cstring) {.importjs: "#.append(#, #)".} +func add*(self: FormData; name: cstring; value: SomeNumber | bool | cstring | Blob) {.importjs: "#.append(#, #)".} ## https://developer.mozilla.org/en-US/docs/Web/API/FormData/append - ## Duplicate keys are allowed and order is preserved. + ## + ## .. hint:: Duplicate keys are allowed and order is preserved. -func add*(self: FormData; name: cstring; value: SomeNumber | bool | cstring, filename: cstring) {.importjs: "#.append(#, #, #)".} +func add*(self: FormData; name: cstring; value: SomeNumber | bool | cstring | Blob; filename: cstring) {.importjs: "#.append(#, #, #)".} ## https://developer.mozilla.org/en-US/docs/Web/API/FormData/append - ## Duplicate keys are allowed and order is preserved. + ## + ## .. hint:: Duplicate keys are allowed and order is preserved. func delete*(self: FormData; name: cstring) {.importjs: "#.$1(#)".} ## https://developer.mozilla.org/en-US/docs/Web/API/FormData/delete @@ -34,10 +38,10 @@ func values*(self: FormData): seq[cstring] {.importjs: "Array.from(#.$1())".} func pairs*(self: FormData): seq[tuple[key, val: cstring]] {.importjs: "Array.from(#.entries())".} ## https://developer.mozilla.org/en-US/docs/Web/API/FormData/entries -func put*(self: FormData; name, value, filename: cstring) {.importjs: "#.set(#, #, #)".} +func put*(self: FormData; name: cstring; value: SomeNumber | bool | cstring | Blob; filename: cstring) {.importjs: "#.set(#, #, #)".} ## https://developer.mozilla.org/en-US/docs/Web/API/FormData/set -func `[]=`*(self: FormData; name, value: cstring) {.importjs: "#.set(#, #)".} +func `[]=`*(self: FormData; name: cstring; value: SomeNumber | bool | cstring | Blob) {.importjs: "#.set(#, #)".} ## https://developer.mozilla.org/en-US/docs/Web/API/FormData/set func `[]`*(self: FormData; name: cstring): cstring {.importjs: "#.get(#)".} |