@lovrozagar/oat 0.3.0 → 0.5.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 +71 -22
- package/dist/cli.js +7 -2
- package/dist/config/define-config.d.ts +41 -1
- package/dist/config/define-config.d.ts.map +1 -1
- package/dist/config/define-config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/reference/defects.d.ts +14 -0
- package/dist/reference/defects.d.ts.map +1 -1
- package/dist/reference/defects.js +14 -0
- package/dist/reference/defects.js.map +1 -1
- package/dist/reference/http.d.ts.map +1 -1
- package/dist/reference/http.js +4 -1
- package/dist/reference/http.js.map +1 -1
- package/dist/report/matrix.d.ts.map +1 -1
- package/dist/report/matrix.js +2 -0
- package/dist/report/matrix.js.map +1 -1
- package/dist/report/render.d.ts.map +1 -1
- package/dist/report/render.js +28 -5
- package/dist/report/render.js.map +1 -1
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +30 -3
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/body.d.ts +33 -0
- package/dist/runtime/body.d.ts.map +1 -0
- package/dist/runtime/body.js +218 -0
- package/dist/runtime/body.js.map +1 -0
- package/dist/runtime/checks.d.ts +3 -0
- package/dist/runtime/checks.d.ts.map +1 -1
- package/dist/runtime/checks.js +329 -18
- package/dist/runtime/checks.js.map +1 -1
- package/dist/runtime/client.d.ts +20 -1
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +207 -8
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/dummy.d.ts +23 -0
- package/dist/runtime/dummy.d.ts.map +1 -0
- package/dist/runtime/dummy.js +214 -0
- package/dist/runtime/dummy.js.map +1 -0
- package/dist/runtime/fixture.d.ts.map +1 -1
- package/dist/runtime/fixture.js +4 -3
- package/dist/runtime/fixture.js.map +1 -1
- package/dist/runtime/payloads.d.ts +20 -0
- package/dist/runtime/payloads.d.ts.map +1 -0
- package/dist/runtime/payloads.js +250 -0
- package/dist/runtime/payloads.js.map +1 -0
- package/dist/runtime/progress.d.ts +4 -0
- package/dist/runtime/progress.d.ts.map +1 -1
- package/dist/runtime/progress.js +23 -0
- package/dist/runtime/progress.js.map +1 -1
- package/dist/runtime/run.d.ts +4 -1
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +15 -1
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/upload.d.ts +21 -0
- package/dist/runtime/upload.d.ts.map +1 -0
- package/dist/runtime/upload.js +247 -0
- package/dist/runtime/upload.js.map +1 -0
- package/dist/runtime/world.d.ts +2 -0
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +16 -11
- package/dist/runtime/world.js.map +1 -1
- package/dist/spec/collection.d.ts +13 -0
- package/dist/spec/collection.d.ts.map +1 -1
- package/dist/spec/collection.js +36 -6
- package/dist/spec/collection.js.map +1 -1
- package/dist/spec/graph.js +2 -2
- package/dist/spec/graph.js.map +1 -1
- package/dist/spec/load.d.ts +2 -0
- package/dist/spec/load.d.ts.map +1 -1
- package/dist/spec/load.js +12 -0
- package/dist/spec/load.js.map +1 -1
- package/dist/spec/types.d.ts +3 -0
- package/dist/spec/types.d.ts.map +1 -1
- package/dist/spec/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turns a generated field map into the body the document asked for.
|
|
3
|
+
*
|
|
4
|
+
* JSON stays a plain object. urlencoded becomes URLSearchParams. Multipart becomes
|
|
5
|
+
* FormData — file parts are resolved (hook → pool → dummy), never JSON.stringified.
|
|
6
|
+
*/
|
|
7
|
+
import { requestContent } from "../spec/collection.js";
|
|
8
|
+
import { isFieldOverride, isUploadFile, resolveUploadFile, resolveUploadOverride, } from "./upload.js";
|
|
9
|
+
export function requestContentOf(op, model) {
|
|
10
|
+
const raw = model.rawOperations.get(op.operationId);
|
|
11
|
+
return raw === undefined ? null : requestContent(raw);
|
|
12
|
+
}
|
|
13
|
+
export async function encodeForOperation(op, model, fields, uploads, variant = "baseline", index = 0) {
|
|
14
|
+
const content = requestContentOf(op, model);
|
|
15
|
+
if (content === null)
|
|
16
|
+
return { body: fields, contentType: undefined };
|
|
17
|
+
const options = {
|
|
18
|
+
fields,
|
|
19
|
+
index,
|
|
20
|
+
mediaType: content.mediaType,
|
|
21
|
+
operationId: op.operationId,
|
|
22
|
+
schema: content.schema,
|
|
23
|
+
uploads,
|
|
24
|
+
variant,
|
|
25
|
+
};
|
|
26
|
+
if (content.encoding !== undefined)
|
|
27
|
+
options.encoding = content.encoding;
|
|
28
|
+
return encodeRequest(options);
|
|
29
|
+
}
|
|
30
|
+
export async function encodeRequest(options) {
|
|
31
|
+
const media = options.mediaType.toLowerCase();
|
|
32
|
+
if (media.startsWith("multipart/")) {
|
|
33
|
+
return { body: await encodeMultipart(options), contentType: null };
|
|
34
|
+
}
|
|
35
|
+
if (media.includes("x-www-form-urlencoded")) {
|
|
36
|
+
return { body: encodeUrlencoded(options.fields), contentType: "application/x-www-form-urlencoded" };
|
|
37
|
+
}
|
|
38
|
+
return { body: options.fields, contentType: undefined };
|
|
39
|
+
}
|
|
40
|
+
async function encodeMultipart(options) {
|
|
41
|
+
const form = new FormData();
|
|
42
|
+
const properties = propertiesOf(options.schema);
|
|
43
|
+
const required = requiredOf(options.schema);
|
|
44
|
+
const names = filePartNames(properties, required, options);
|
|
45
|
+
const hookHits = new Map();
|
|
46
|
+
for (const name of names) {
|
|
47
|
+
const schema = properties[name] ?? additionalSchema(options.schema) ?? {};
|
|
48
|
+
const resolved = await resolveUploadOverride(uploadRequest(name, schema, options), options.uploads);
|
|
49
|
+
hookHits.set(name, resolved);
|
|
50
|
+
if (isFieldOverride(resolved)) {
|
|
51
|
+
appendFields(form, resolved.fields);
|
|
52
|
+
return form;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const sent = new Set();
|
|
56
|
+
for (const [name, schema] of Object.entries(properties)) {
|
|
57
|
+
sent.add(name);
|
|
58
|
+
if (isFilePart(schema, options.encoding?.[name])) {
|
|
59
|
+
const hit = hookHits.get(name);
|
|
60
|
+
const file = isUploadFile(hit)
|
|
61
|
+
? hit
|
|
62
|
+
: await fileForPart(name, schema, { ...options, uploads: { ...options.uploads, resolveUpload: undefined } });
|
|
63
|
+
appendFile(form, name, file);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const value = options.fields[name];
|
|
67
|
+
if (value === undefined || value === null)
|
|
68
|
+
continue;
|
|
69
|
+
appendScalar(form, name, value);
|
|
70
|
+
}
|
|
71
|
+
await appendAdditionalFile(form, options, sent, required);
|
|
72
|
+
return form;
|
|
73
|
+
}
|
|
74
|
+
function encodeUrlencoded(fields) {
|
|
75
|
+
const params = new URLSearchParams();
|
|
76
|
+
for (const [name, value] of Object.entries(fields)) {
|
|
77
|
+
if (value === undefined || value === null)
|
|
78
|
+
continue;
|
|
79
|
+
if (typeof value === "object")
|
|
80
|
+
continue;
|
|
81
|
+
params.set(name, String(value));
|
|
82
|
+
}
|
|
83
|
+
return params;
|
|
84
|
+
}
|
|
85
|
+
function filePartNames(properties, required, options) {
|
|
86
|
+
const fromProps = Object.entries(properties)
|
|
87
|
+
.filter(([name, schema]) => isFilePart(schema, options.encoding?.[name]))
|
|
88
|
+
.map(([name]) => name);
|
|
89
|
+
if (fromProps.length > 0)
|
|
90
|
+
return fromProps;
|
|
91
|
+
if (isFilePart(additionalSchema(options.schema) ?? {}, undefined)) {
|
|
92
|
+
const extra = required.find((name) => properties[name] === undefined);
|
|
93
|
+
if (extra !== undefined)
|
|
94
|
+
return [extra];
|
|
95
|
+
}
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
async function appendAdditionalFile(form, options, sent, required) {
|
|
99
|
+
const additional = additionalSchema(options.schema);
|
|
100
|
+
if (!isFilePart(additional ?? {}, undefined))
|
|
101
|
+
return;
|
|
102
|
+
const already = [...form.keys()].some((name) => {
|
|
103
|
+
const value = form.get(name);
|
|
104
|
+
return typeof File !== "undefined" && value instanceof File;
|
|
105
|
+
});
|
|
106
|
+
if (already)
|
|
107
|
+
return;
|
|
108
|
+
const name = required.find((item) => !sent.has(item)) ??
|
|
109
|
+
required.find((item) => isFilePart(propertiesOf(options.schema)[item] ?? {}, options.encoding?.[item]));
|
|
110
|
+
if (name === undefined)
|
|
111
|
+
return;
|
|
112
|
+
appendFile(form, name, await fileForPart(name, additional ?? {}, options));
|
|
113
|
+
}
|
|
114
|
+
async function fileForPart(name, schema, options) {
|
|
115
|
+
const request = uploadRequest(name, schema, options);
|
|
116
|
+
const file = await resolveUploadFile(request, options.uploads);
|
|
117
|
+
return file;
|
|
118
|
+
}
|
|
119
|
+
function uploadRequest(name, schema, options) {
|
|
120
|
+
const contentMediaType = contentMediaTypeOf(schema, options.encoding?.[name]);
|
|
121
|
+
const request = {
|
|
122
|
+
field: name,
|
|
123
|
+
index: options.index,
|
|
124
|
+
mediaType: options.mediaType,
|
|
125
|
+
operationId: options.operationId,
|
|
126
|
+
variant: options.variant,
|
|
127
|
+
};
|
|
128
|
+
if (contentMediaType !== undefined)
|
|
129
|
+
request.contentMediaType = contentMediaType;
|
|
130
|
+
const filename = typeof schema.filename === "string" ? schema.filename : undefined;
|
|
131
|
+
if (filename !== undefined)
|
|
132
|
+
request.filename = filename;
|
|
133
|
+
return request;
|
|
134
|
+
}
|
|
135
|
+
function appendFields(form, fields) {
|
|
136
|
+
for (const [name, value] of Object.entries(fields)) {
|
|
137
|
+
if (typeof value === "string")
|
|
138
|
+
form.append(name, value);
|
|
139
|
+
else
|
|
140
|
+
appendFile(form, name, value);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function appendFile(form, name, file) {
|
|
144
|
+
const blob = new File([file.bytes], file.filename, { type: file.mediaType });
|
|
145
|
+
form.append(name, blob, file.filename);
|
|
146
|
+
}
|
|
147
|
+
function appendScalar(form, name, value) {
|
|
148
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
149
|
+
form.append(name, String(value));
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
form.append(name, JSON.stringify(value));
|
|
153
|
+
}
|
|
154
|
+
export function isFilePart(schema, encoding) {
|
|
155
|
+
if (schema === null || typeof schema !== "object")
|
|
156
|
+
return false;
|
|
157
|
+
const record = schema;
|
|
158
|
+
if (isBinarySchema(record))
|
|
159
|
+
return true;
|
|
160
|
+
const encoded = encoding?.contentType;
|
|
161
|
+
if (typeof encoded === "string" && encoded !== "" && !isJsonMedia(encoded))
|
|
162
|
+
return true;
|
|
163
|
+
const union = record.oneOf ?? record.anyOf;
|
|
164
|
+
if (Array.isArray(union))
|
|
165
|
+
return union.some((branch) => isFilePart(branch, encoding));
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
function isBinarySchema(schema) {
|
|
169
|
+
const format = typeof schema.format === "string" ? schema.format.toLowerCase() : "";
|
|
170
|
+
if (format === "binary" || format === "byte")
|
|
171
|
+
return true;
|
|
172
|
+
const encoding = typeof schema.contentEncoding === "string" ? schema.contentEncoding.toLowerCase() : "";
|
|
173
|
+
if (encoding === "binary" || encoding === "base64")
|
|
174
|
+
return true;
|
|
175
|
+
const media = typeof schema.contentMediaType === "string" ? schema.contentMediaType : "";
|
|
176
|
+
if (media !== "" && !isJsonMedia(media))
|
|
177
|
+
return true;
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
function isJsonMedia(mediaType) {
|
|
181
|
+
const bare = mediaType.split(";")[0]?.trim().toLowerCase() ?? "";
|
|
182
|
+
return bare.includes("json");
|
|
183
|
+
}
|
|
184
|
+
function contentMediaTypeOf(schema, encoding) {
|
|
185
|
+
if (typeof encoding?.contentType === "string" && encoding.contentType !== "") {
|
|
186
|
+
return encoding.contentType.split(",")[0]?.trim();
|
|
187
|
+
}
|
|
188
|
+
if (typeof schema.contentMediaType === "string" && schema.contentMediaType !== "") {
|
|
189
|
+
return schema.contentMediaType;
|
|
190
|
+
}
|
|
191
|
+
const format = typeof schema.format === "string" ? schema.format.toLowerCase() : "";
|
|
192
|
+
if (format === "binary" || format === "byte")
|
|
193
|
+
return "application/octet-stream";
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
function propertiesOf(schema) {
|
|
197
|
+
const properties = schema.properties;
|
|
198
|
+
if (properties === null || typeof properties !== "object" || Array.isArray(properties))
|
|
199
|
+
return {};
|
|
200
|
+
const out = {};
|
|
201
|
+
for (const [name, raw] of Object.entries(properties)) {
|
|
202
|
+
if (raw !== null && typeof raw === "object" && !Array.isArray(raw))
|
|
203
|
+
out[name] = raw;
|
|
204
|
+
}
|
|
205
|
+
return out;
|
|
206
|
+
}
|
|
207
|
+
function requiredOf(schema) {
|
|
208
|
+
return Array.isArray(schema.required)
|
|
209
|
+
? schema.required.filter((item) => typeof item === "string")
|
|
210
|
+
: [];
|
|
211
|
+
}
|
|
212
|
+
function additionalSchema(schema) {
|
|
213
|
+
const additional = schema.additionalProperties;
|
|
214
|
+
if (additional === null || typeof additional !== "object" || Array.isArray(additional))
|
|
215
|
+
return undefined;
|
|
216
|
+
return additional;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/runtime/body.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/checks.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import type { QueryCapability } from "../spec/extensions.ts";
|
|
|
10
10
|
import type { OperationModel, SpecModel } from "../spec/graph.ts";
|
|
11
11
|
import type { Client } from "./client.ts";
|
|
12
12
|
import type { FindingCollector } from "./finding.ts";
|
|
13
|
+
import type { UploadContext } from "./upload.ts";
|
|
13
14
|
import type { SchemaValidator } from "./validate.ts";
|
|
14
15
|
import { type Record_ } from "./world.ts";
|
|
15
16
|
/** A resolved principal as checks see it — identity, lattice position, and how to speak as it. */
|
|
@@ -53,6 +54,8 @@ export interface CheckContext {
|
|
|
53
54
|
altScope: Record<string, string> | undefined;
|
|
54
55
|
validator: SchemaValidator | undefined;
|
|
55
56
|
seed: number;
|
|
57
|
+
/** File pool / dummy resolution for multipart parts. */
|
|
58
|
+
uploads: UploadContext;
|
|
56
59
|
/** Operations on this entity declared async via `x-async`. */
|
|
57
60
|
asyncOps: OperationModel[];
|
|
58
61
|
/** Operations on this entity that declare `x-effects`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../src/runtime/checks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../src/runtime/checks.ts"],"names":[],"mappings":"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"}
|