@robinpath/formdata 0.1.0 → 0.1.1

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 CHANGED
@@ -1,91 +1,92 @@
1
- # @robinpath/form
2
-
3
- > Multipart form data builder, file uploads, URL encoding/decoding, and form submission
4
-
5
- ![Category](https://img.shields.io/badge/category-Web-blue) ![Functions](https://img.shields.io/badge/functions-8-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)
6
-
7
- ## Why use this module?
8
-
9
- The `form` module lets you:
10
-
11
- - Create a FormData object from key-value pairs
12
- - Add a text field to a FormData
13
- - Add a file to a FormData
14
- - Submit a FormData to a URL
15
- - URL-encode an object as application/x-www-form-urlencoded
16
-
17
- All functions are callable directly from RobinPath scripts with a simple, consistent API.
18
-
19
- ## Installation
20
-
21
- ```bash
22
- npm install @robinpath/form
23
- ```
24
-
25
- ## Quick Start
26
-
27
- No credentials needed — start using it right away:
28
-
29
- ```robinpath
30
- form.addField $form "name" "Alice"
31
- ```
32
-
33
- ## Available Functions
34
-
35
- | Function | Description |
36
- |----------|-------------|
37
- | `form.create` | Create a FormData object from key-value pairs |
38
- | `form.addField` | Add a text field to a FormData |
39
- | `form.addFile` | Add a file to a FormData |
40
- | `form.submit` | Submit a FormData to a URL |
41
- | `form.encode` | URL-encode an object as application/x-www-form-urlencoded |
42
- | `form.decode` | Decode a URL-encoded form body |
43
- | `form.uploadFile` | Upload a file to a URL as multipart form |
44
- | `form.parseMultipart` | Parse a multipart form body |
45
-
46
- ## Examples
47
-
48
- ### Add a text field to a FormData
49
-
50
- ```robinpath
51
- form.addField $form "name" "Alice"
52
- ```
53
-
54
- ### Add a file to a FormData
55
-
56
- ```robinpath
57
- form.addFile $form "avatar" "./photo.jpg"
58
- ```
59
-
60
- ### Submit a FormData to a URL
61
-
62
- ```robinpath
63
- form.submit "https://api.example.com/upload" $form
64
- ```
65
-
66
- ## Integration with RobinPath
67
-
68
- ```typescript
69
- import { RobinPath } from "@wiredwp/robinpath";
70
- import Module from "@robinpath/form";
71
-
72
- const rp = new RobinPath();
73
- rp.registerModule(Module.name, Module.functions);
74
- rp.registerModuleMeta(Module.name, Module.functionMetadata);
75
-
76
- const result = await rp.executeScript(`
77
- form.addField $form "name" "Alice"
78
- `);
79
- ```
80
-
81
- ## Full API Reference
82
-
83
- See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
84
-
85
- ## Related Modules
86
-
87
- - [`@robinpath/json`](../json) — JSON module for complementary functionality
88
-
89
- ## License
90
-
91
- MIT
1
+ # @robinpath/formdata
2
+
3
+ > Multipart form data builder, file uploads, URL encoding/decoding, and form submission
4
+
5
+ ![Category](https://img.shields.io/badge/category-Web-blue) ![Functions](https://img.shields.io/badge/functions-8-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)
6
+
7
+ ## Why use this module?
8
+
9
+ The `formdata` module lets you:
10
+
11
+ - Create a FormData object from key-value pairs
12
+ - Add a text field to a FormData
13
+ - Add a file to a FormData
14
+ - Submit a FormData to a URL
15
+ - URL-encode an object as application/x-www-form-urlencoded
16
+
17
+ All functions are callable directly from RobinPath scripts with a simple, consistent API.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ npm install @robinpath/formdata
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ No credentials needed — start using it right away:
28
+
29
+ ```robinpath
30
+ formdata.addField $form "name" "Alice"
31
+ ```
32
+
33
+ ## Available Functions
34
+
35
+ | Function | Description |
36
+ |----------|-------------|
37
+ | `formdata.create` | Create a FormData object from key-value pairs |
38
+ | `formdata.addField` | Add a text field to a FormData |
39
+ | `formdata.addFile` | Add a file to a FormData |
40
+ | `formdata.submit` | Submit a FormData to a URL |
41
+ | `formdata.encode` | URL-encode an object as application/x-www-form-urlencoded |
42
+ | `formdata.decode` | Decode a URL-encoded form body |
43
+ | `formdata.uploadFile` | Upload a file to a URL as multipart form |
44
+ | `formdata.parseMultipart` | Parse a multipart form body |
45
+
46
+ ## Examples
47
+
48
+ ### Add a text field to a FormData
49
+
50
+ ```robinpath
51
+ formdata.addField $form "name" "Alice"
52
+ ```
53
+
54
+ ### Add a file to a FormData
55
+
56
+ ```robinpath
57
+ formdata.addFile $form "avatar" "./photo.jpg"
58
+ ```
59
+
60
+ ### Submit a FormData to a URL
61
+
62
+ ```robinpath
63
+ formdata.submit "https://api.example.com/upload" $form
64
+ ```
65
+
66
+ ## Integration with RobinPath
67
+
68
+ ```typescript
69
+ import { RobinPath } from "@wiredwp/robinpath";
70
+ import Module from "@robinpath/formdata";
71
+
72
+ const rp = new RobinPath();
73
+ rp.registerModule(Module.name, Module.functions);
74
+ rp.registerModuleMeta(Module.name, Module.functionMetadata);
75
+
76
+ const result = await rp.executeScript(`
77
+ formdata.addField $form "name" "Alice"
78
+ `);
79
+ ```
80
+
81
+ ## Full API Reference
82
+
83
+ See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
84
+
85
+ ## Related Modules
86
+
87
+ - [`@robinpath/form`](../form) — Declarative form builder for defining form fields inline
88
+ - [`@robinpath/json`](../json) — JSON module for complementary functionality
89
+
90
+ ## License
91
+
92
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robinpath/formdata",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Multipart form data builder and file upload handling",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -22,10 +22,10 @@
22
22
  "test": "node --import tsx --test tests/*.test.ts"
23
23
  },
24
24
  "peerDependencies": {
25
- "@wiredwp/robinpath": ">=0.20.0"
25
+ "@robinpath/core": ">=0.20.0"
26
26
  },
27
27
  "devDependencies": {
28
- "@wiredwp/robinpath": "^0.30.1",
28
+ "@robinpath/core": "^0.30.1",
29
29
  "tsx": "^4.19.0",
30
30
  "typescript": "^5.6.0"
31
31
  },
@@ -1,113 +0,0 @@
1
- import type { BuiltinHandler } from "@wiredwp/robinpath";
2
- export declare const FormdataFunctions: Record<string, BuiltinHandler>;
3
- export declare const FormdataFunctionMetadata: {
4
- create: {
5
- description: string;
6
- parameters: {
7
- name: string;
8
- dataType: string;
9
- description: string;
10
- formInputType: string;
11
- required: boolean;
12
- }[];
13
- returnType: string;
14
- returnDescription: string;
15
- example: string;
16
- };
17
- addField: {
18
- description: string;
19
- parameters: {
20
- name: string;
21
- dataType: string;
22
- description: string;
23
- formInputType: string;
24
- required: boolean;
25
- }[];
26
- returnType: string;
27
- returnDescription: string;
28
- example: string;
29
- };
30
- addFile: {
31
- description: string;
32
- parameters: {
33
- name: string;
34
- dataType: string;
35
- description: string;
36
- formInputType: string;
37
- required: boolean;
38
- }[];
39
- returnType: string;
40
- returnDescription: string;
41
- example: string;
42
- };
43
- submit: {
44
- description: string;
45
- parameters: {
46
- name: string;
47
- dataType: string;
48
- description: string;
49
- formInputType: string;
50
- required: boolean;
51
- }[];
52
- returnType: string;
53
- returnDescription: string;
54
- example: string;
55
- };
56
- encode: {
57
- description: string;
58
- parameters: {
59
- name: string;
60
- dataType: string;
61
- description: string;
62
- formInputType: string;
63
- required: boolean;
64
- }[];
65
- returnType: string;
66
- returnDescription: string;
67
- example: string;
68
- };
69
- decode: {
70
- description: string;
71
- parameters: {
72
- name: string;
73
- dataType: string;
74
- description: string;
75
- formInputType: string;
76
- required: boolean;
77
- }[];
78
- returnType: string;
79
- returnDescription: string;
80
- example: string;
81
- };
82
- uploadFile: {
83
- description: string;
84
- parameters: {
85
- name: string;
86
- dataType: string;
87
- description: string;
88
- formInputType: string;
89
- required: boolean;
90
- }[];
91
- returnType: string;
92
- returnDescription: string;
93
- example: string;
94
- };
95
- parseMultipart: {
96
- description: string;
97
- parameters: {
98
- name: string;
99
- dataType: string;
100
- description: string;
101
- formInputType: string;
102
- required: boolean;
103
- }[];
104
- returnType: string;
105
- returnDescription: string;
106
- example: string;
107
- };
108
- };
109
- export declare const FormdataModuleMetadata: {
110
- description: string;
111
- methods: string[];
112
- };
113
- //# sourceMappingURL=formdata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formdata.d.ts","sourceRoot":"","sources":["../src/formdata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,oBAAoB,CAAC;AA+IlG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAqF,CAAC;AAEnJ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC"}
package/dist/formdata.js DELETED
@@ -1,144 +0,0 @@
1
- import { readFileSync, statSync } from "node:fs";
2
- import { basename } from "node:path";
3
- const create = (args) => {
4
- const data = (typeof args[0] === "object" && args[0] !== null ? args[0] : {});
5
- const form = new FormData();
6
- for (const [key, value] of Object.entries(data)) {
7
- form.append(key, String(value));
8
- }
9
- return form;
10
- };
11
- const addField = (args) => {
12
- const form = args[0];
13
- const name = String(args[1] ?? "");
14
- const value = String(args[2] ?? "");
15
- if (!(form instanceof FormData))
16
- throw new Error("First argument must be a FormData object");
17
- form.append(name, value);
18
- return form;
19
- };
20
- const addFile = (args) => {
21
- const form = args[0];
22
- const fieldName = String(args[1] ?? "file");
23
- const filePath = String(args[2] ?? "");
24
- const fileName = String(args[3] ?? basename(filePath));
25
- if (!(form instanceof FormData))
26
- throw new Error("First argument must be a FormData object");
27
- const content = readFileSync(filePath);
28
- const blob = new Blob([content]);
29
- form.append(fieldName, blob, fileName);
30
- return form;
31
- };
32
- const submit = async (args) => {
33
- const url = String(args[0] ?? "");
34
- const form = args[1];
35
- const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
36
- if (!url)
37
- throw new Error("URL is required");
38
- const headers = {};
39
- if (typeof opts.headers === "object" && opts.headers !== null) {
40
- for (const [k, v] of Object.entries(opts.headers))
41
- headers[k] = String(v);
42
- }
43
- const method = String(opts.method ?? "POST").toUpperCase();
44
- const body = form instanceof FormData ? form : (() => {
45
- const f = new FormData();
46
- if (typeof form === "object" && form !== null) {
47
- for (const [k, v] of Object.entries(form))
48
- f.append(k, String(v));
49
- }
50
- return f;
51
- })();
52
- const response = await fetch(url, { method, headers, body });
53
- const contentType = response.headers.get("content-type") ?? "";
54
- const responseBody = contentType.includes("json") ? await response.json() : await response.text();
55
- return { status: response.status, ok: response.ok, body: responseBody };
56
- };
57
- const encode = (args) => {
58
- const data = (typeof args[0] === "object" && args[0] !== null ? args[0] : {});
59
- const params = new URLSearchParams();
60
- for (const [key, value] of Object.entries(data)) {
61
- if (Array.isArray(value)) {
62
- for (const v of value)
63
- params.append(key, String(v));
64
- }
65
- else {
66
- params.append(key, String(value ?? ""));
67
- }
68
- }
69
- return params.toString();
70
- };
71
- const decode = (args) => {
72
- const body = String(args[0] ?? "");
73
- const params = new URLSearchParams(body);
74
- const result = {};
75
- for (const key of params.keys()) {
76
- const values = params.getAll(key);
77
- result[key] = values.length === 1 ? values[0] : values;
78
- }
79
- return result;
80
- };
81
- const uploadFile = async (args) => {
82
- const url = String(args[0] ?? "");
83
- const filePath = String(args[1] ?? "");
84
- const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
85
- const fieldName = String(opts.fieldName ?? "file");
86
- const fileName = String(opts.fileName ?? basename(filePath));
87
- const headers = {};
88
- if (typeof opts.headers === "object" && opts.headers !== null) {
89
- for (const [k, v] of Object.entries(opts.headers))
90
- headers[k] = String(v);
91
- }
92
- const content = readFileSync(filePath);
93
- const form = new FormData();
94
- form.append(fieldName, new Blob([content]), fileName);
95
- // Add extra fields
96
- if (typeof opts.fields === "object" && opts.fields !== null) {
97
- for (const [k, v] of Object.entries(opts.fields))
98
- form.append(k, String(v));
99
- }
100
- const response = await fetch(url, { method: "POST", headers, body: form });
101
- const contentType = response.headers.get("content-type") ?? "";
102
- const responseBody = contentType.includes("json") ? await response.json() : await response.text();
103
- return { status: response.status, ok: response.ok, body: responseBody, fileName, size: statSync(filePath).size };
104
- };
105
- const parseMultipart = (args) => {
106
- const body = String(args[0] ?? "");
107
- const boundary = String(args[1] ?? "");
108
- if (!boundary)
109
- throw new Error("Boundary is required");
110
- const parts = [];
111
- const segments = body.split(`--${boundary}`);
112
- for (const segment of segments) {
113
- if (segment.trim() === "" || segment.trim() === "--")
114
- continue;
115
- const headerEnd = segment.indexOf("\r\n\r\n");
116
- if (headerEnd === -1)
117
- continue;
118
- const headerStr = segment.substring(0, headerEnd);
119
- const value = segment.substring(headerEnd + 4).replace(/\r\n$/, "");
120
- const nameMatch = headerStr.match(/name="([^"]+)"/);
121
- const fileMatch = headerStr.match(/filename="([^"]+)"/);
122
- const ctMatch = headerStr.match(/Content-Type:\s*(.+)/i);
123
- if (nameMatch) {
124
- parts.push({ name: nameMatch[1], filename: fileMatch?.[1], contentType: ctMatch?.[1]?.trim(), value });
125
- }
126
- }
127
- return parts;
128
- };
129
- export const FormdataFunctions = { create, addField, addFile, submit, encode, decode, uploadFile, parseMultipart };
130
- export const FormdataFunctionMetadata = {
131
- create: { description: "Create a FormData object from key-value pairs", parameters: [{ name: "data", dataType: "object", description: "Key-value pairs", formInputType: "text", required: false }], returnType: "object", returnDescription: "FormData object", example: 'formdata.create {"name": "Alice", "email": "alice@example.com"}' },
132
- addField: { description: "Add a text field to a FormData", parameters: [{ name: "form", dataType: "object", description: "FormData", formInputType: "text", required: true }, { name: "name", dataType: "string", description: "Field name", formInputType: "text", required: true }, { name: "value", dataType: "string", description: "Field value", formInputType: "text", required: true }], returnType: "object", returnDescription: "Updated FormData", example: 'formdata.addField $form "name" "Alice"' },
133
- addFile: { description: "Add a file to a FormData", parameters: [{ name: "form", dataType: "object", description: "FormData", formInputType: "text", required: true }, { name: "fieldName", dataType: "string", description: "Form field name", formInputType: "text", required: true }, { name: "filePath", dataType: "string", description: "File path", formInputType: "text", required: true }, { name: "fileName", dataType: "string", description: "Override filename", formInputType: "text", required: false }], returnType: "object", returnDescription: "Updated FormData", example: 'formdata.addFile $form "avatar" "./photo.jpg"' },
134
- submit: { description: "Submit a FormData to a URL", parameters: [{ name: "url", dataType: "string", description: "Target URL", formInputType: "text", required: true }, { name: "form", dataType: "object", description: "FormData or key-value object", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{method, headers}", formInputType: "text", required: false }], returnType: "object", returnDescription: "{status, ok, body}", example: 'formdata.submit "https://api.example.com/upload" $form' },
135
- encode: { description: "URL-encode an object as application/x-www-form-urlencoded", parameters: [{ name: "data", dataType: "object", description: "Key-value pairs", formInputType: "text", required: true }], returnType: "string", returnDescription: "URL-encoded string", example: 'formdata.encode {"name": "Alice", "age": "30"}' },
136
- decode: { description: "Decode a URL-encoded form body", parameters: [{ name: "body", dataType: "string", description: "URL-encoded string", formInputType: "text", required: true }], returnType: "object", returnDescription: "Decoded key-value pairs", example: 'formdata.decode "name=Alice&age=30"' },
137
- uploadFile: { description: "Upload a file to a URL as multipart form", parameters: [{ name: "url", dataType: "string", description: "Upload URL", formInputType: "text", required: true }, { name: "filePath", dataType: "string", description: "Local file path", formInputType: "text", required: true }, { name: "options", dataType: "object", description: "{fieldName, fileName, headers, fields}", formInputType: "text", required: false }], returnType: "object", returnDescription: "{status, ok, body, fileName, size}", example: 'formdata.uploadFile "https://api.example.com/upload" "./report.pdf"' },
138
- parseMultipart: { description: "Parse a multipart form body", parameters: [{ name: "body", dataType: "string", description: "Raw multipart body", formInputType: "text", required: true }, { name: "boundary", dataType: "string", description: "Multipart boundary string", formInputType: "text", required: true }], returnType: "array", returnDescription: "Array of {name, filename, contentType, value}", example: 'formdata.parseMultipart $rawBody $boundary' },
139
- };
140
- export const FormdataModuleMetadata = {
141
- description: "Multipart form data builder, file uploads, URL encoding/decoding, and form submission",
142
- methods: ["create", "addField", "addFile", "submit", "encode", "decode", "uploadFile", "parseMultipart"],
143
- };
144
- //# sourceMappingURL=formdata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formdata.js","sourceRoot":"","sources":["../src/formdata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,GAAmB,CAAC,IAAI,EAAE,EAAE;IACtC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IACzG,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAmB,CAAC,IAAI,EAAE,EAAE;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAa,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,GAAmB,CAAC,IAAI,EAAE,EAAE;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAa,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAE7F,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,MAAM,GAAmB,KAAK,EAAE,IAAI,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAa,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IAEzG,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE7C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAkC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACnD,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC;gBAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAElG,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,MAAM,GAAmB,CAAC,IAAI,EAAE,EAAE;IACtC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IACzG,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,MAAM,GAAmB,CAAC,IAAI,EAAE,EAAE;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAsC,EAAE,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAmB,KAAK,EAAE,IAAI,EAAE,EAAE;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;IAEzG,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAkC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEtD,mBAAmB;IACnB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAiC,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAElG,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AACnH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEvD,MAAM,KAAK,GAA+E,EAAE,CAAC;IAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,SAAS;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEzD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAmC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAEnJ,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,EAAE,WAAW,EAAE,+CAA+C,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,iEAAiE,EAAE;IAC5U,QAAQ,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,EAAE,wCAAwC,EAAE;IACjf,OAAO,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,EAAE,+CAA+C,EAAE;IAChnB,MAAM,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,EAAE,wDAAwD,EAAE;IACzhB,MAAM,EAAE,EAAE,WAAW,EAAE,2DAA2D,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,EAAE,gDAAgD,EAAE;IACzU,MAAM,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,OAAO,EAAE,qCAAqC,EAAE;IAC3S,UAAU,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,oCAAoC,EAAE,OAAO,EAAE,qEAAqE,EAAE;IACplB,cAAc,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,+CAA+C,EAAE,OAAO,EAAE,4CAA4C,EAAE;CACxc,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,uFAAuF;IACpG,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC;CACzG,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { ModuleAdapter } from "@wiredwp/robinpath";
2
- declare const FormdataModule: ModuleAdapter;
3
- export default FormdataModule;
4
- export { FormdataModule };
5
- export { FormdataFunctions, FormdataFunctionMetadata, FormdataModuleMetadata } from "./formdata.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,QAAA,MAAM,cAAc,EAAE,aAAmL,CAAC;AAC1M,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- import { FormdataFunctions, FormdataFunctionMetadata, FormdataModuleMetadata } from "./formdata.js";
2
- const FormdataModule = { name: "formdata", functions: FormdataFunctions, functionMetadata: FormdataFunctionMetadata, moduleMetadata: FormdataModuleMetadata, global: false };
3
- export default FormdataModule;
4
- export { FormdataModule };
5
- export { FormdataFunctions, FormdataFunctionMetadata, FormdataModuleMetadata } from "./formdata.js";
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACpG,MAAM,cAAc,GAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,wBAA+B,EAAE,cAAc,EAAE,sBAA6B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC1M,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}