extra-request 10.2.1 → 11.0.0
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/README.md +4 -1
- package/lib/transformers/csv.d.ts +2 -1
- package/lib/transformers/csv.js +8 -9
- package/lib/transformers/csv.js.map +1 -1
- package/package.json +1 -1
- package/src/transformers/csv.ts +15 -11
package/README.md
CHANGED
|
@@ -100,7 +100,10 @@ function json<T extends JSONValue | JSONSerializable<any>>(
|
|
|
100
100
|
|
|
101
101
|
#### csv
|
|
102
102
|
```ts
|
|
103
|
-
function csv<
|
|
103
|
+
function csv<Field extends string>(
|
|
104
|
+
header: NonEmptyArray<Field>
|
|
105
|
+
, data: Array<Record<Field, number | string>>
|
|
106
|
+
): IRequestOptionsTransformer
|
|
104
107
|
```
|
|
105
108
|
|
|
106
109
|
#### signal
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { IRequestOptionsTransformer } from "../types.js";
|
|
2
|
-
|
|
2
|
+
import { NonEmptyArray } from '@blackglory/prelude';
|
|
3
|
+
export declare function csv<Field extends string>(header: NonEmptyArray<Field>, data: Array<Record<Field, number | string>>): IRequestOptionsTransformer;
|
package/lib/transformers/csv.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { Headers } from 'extra-fetch';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
const { unparse } = papaparse;
|
|
5
|
-
export function csv(payload) {
|
|
6
|
-
assert(payload.length > 0, 'payload must be a non-empty array');
|
|
2
|
+
import { unparse } from 'papaparse';
|
|
3
|
+
export function csv(header, data) {
|
|
7
4
|
return (options) => {
|
|
8
5
|
const headers = new Headers(options.headers);
|
|
9
6
|
headers.set('Content-Type', 'text/csv');
|
|
10
7
|
return {
|
|
11
8
|
...options,
|
|
12
9
|
headers,
|
|
13
|
-
payload: stringify(
|
|
10
|
+
payload: stringify(header, data)
|
|
14
11
|
};
|
|
15
12
|
};
|
|
16
13
|
}
|
|
17
|
-
function stringify(data) {
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
function stringify(header, data) {
|
|
15
|
+
return unparse({
|
|
16
|
+
fields: header,
|
|
17
|
+
data: data
|
|
18
|
+
});
|
|
20
19
|
}
|
|
21
20
|
//# sourceMappingURL=csv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/transformers/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/transformers/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,MAAM,UAAU,GAAG,CACjB,MAA4B,EAC5B,IAA2C;IAE3C,OAAO,CAAC,OAAwB,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QAEvC,OAAO;YACL,GAAG,OAAO;YACV,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;SACjC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAChB,MAA4B,EAC5B,IAA2C;IAE3C,OAAO,OAAO,CAAC;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
CHANGED
package/src/transformers/csv.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Headers } from 'extra-fetch'
|
|
2
2
|
import { IRequestOptions, IRequestOptionsTransformer } from '@src/types.js'
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const { unparse } = papaparse
|
|
7
|
-
|
|
8
|
-
export function csv<T extends object>(payload: T[]): IRequestOptionsTransformer {
|
|
9
|
-
assert(payload.length > 0, 'payload must be a non-empty array')
|
|
3
|
+
import { unparse } from 'papaparse'
|
|
4
|
+
import { NonEmptyArray } from '@blackglory/prelude'
|
|
10
5
|
|
|
6
|
+
export function csv<Field extends string>(
|
|
7
|
+
header: NonEmptyArray<Field>
|
|
8
|
+
, data: Array<Record<Field, number | string>>
|
|
9
|
+
): IRequestOptionsTransformer {
|
|
11
10
|
return (options: IRequestOptions) => {
|
|
12
11
|
const headers = new Headers(options.headers)
|
|
13
12
|
headers.set('Content-Type', 'text/csv')
|
|
@@ -15,12 +14,17 @@ export function csv<T extends object>(payload: T[]): IRequestOptionsTransformer
|
|
|
15
14
|
return {
|
|
16
15
|
...options
|
|
17
16
|
, headers
|
|
18
|
-
, payload: stringify(
|
|
17
|
+
, payload: stringify(header, data)
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
function stringify<
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
function stringify<Field extends string>(
|
|
23
|
+
header: NonEmptyArray<Field>
|
|
24
|
+
, data: Array<Record<Field, number | string>>
|
|
25
|
+
): string {
|
|
26
|
+
return unparse({
|
|
27
|
+
fields: header
|
|
28
|
+
, data: data
|
|
29
|
+
})
|
|
26
30
|
}
|