Build plugins

This commit is contained in:
Gregory Schier
2025-03-08 08:06:18 -08:00
parent cdce2ac53a
commit 12233cb6f6
7 changed files with 550 additions and 154 deletions

View File

@@ -49782,7 +49782,11 @@ var require_property_base = __commonJS({
* @returns {*|undefined}
*/
parent() {
return this && this.__parent && (this.__parent.__parent || this.__parent) || void 0;
let parent = this.__parent;
if (parent && parent._postman_propertyIsList) {
parent = parent.__parent || parent;
}
return parent || void 0;
},
/**
* Accepts an object and sets it as the parent of the current property.
@@ -77141,7 +77145,7 @@ var require_dynamic_variables = __commonJS({
description: "A random avatar image",
generator: () => {
return faker.random.arrayElement([
// eslint-disable-next-line max-len
// eslint-disable-next-line @stylistic/js/max-len
`https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/${faker.datatype.number(1249)}.jpg`,
`https://avatars.githubusercontent.com/u/${faker.datatype.number(1e8)}`
]);
@@ -77494,7 +77498,7 @@ var require_superstring = __commonJS({
* @readOnly
* @type {RegExp}
*/
REGEX_EXTRACT_VARS: /\{\{([^{}]*?)}}/g,
REGEX_EXTRACT_VARS: /{{([^{}]*?)}}/g,
/**
* Defines the number of times the variable substitution mechanism will repeat until all tokens are resolved
*
@@ -77589,7 +77593,7 @@ var require_property = __commonJS({
} else if (typeof value === "object") {
seen.add(value);
for (const key in value) {
if (Object.hasOwnProperty.call(value, key)) {
if (Object.hasOwn(value, key)) {
_findSubstitutions(value[key], seen, result);
}
}
@@ -77894,7 +77898,7 @@ var require_property_list = __commonJS({
before > -1 ? this.members.splice(before, 0, item) : this.members.push(item);
if ((index = item[this._postman_listIndexKey]) && (index = String(index))) {
this._postman_listIndexCaseInsensitive && (index = index.toLowerCase());
if (this._postman_listAllowsMultipleValues && Object.hasOwnProperty.call(this.reference, index)) {
if (this._postman_listAllowsMultipleValues && Object.hasOwn(this.reference, index)) {
!_2.isArray(this.reference[index]) && (this.reference[index] = [this.reference[index]]);
this.reference[index].push(item);
} else {
@@ -78458,7 +78462,7 @@ var require_parser = __commonJS({
var ReplacementTracker = require_replacement_tracker();
var REGEX_ALL_BACKSLASHES = /\\/g;
var REGEX_LEADING_SLASHES = /^\/+/;
var REGEX_ALL_VARIABLES = /{{[^{}]*[.:/?#@&\]][^{}]*}}/g;
var REGEX_ALL_VARIABLES = /{{[^{}]*}}/g;
var HASH_SEPARATOR = "#";
var PATH_SEPARATOR = "/";
var PORT_SEPARATOR = ":";
@@ -78613,6 +78617,7 @@ var require_query_param = __commonJS({
"../../node_modules/postman-collection/lib/collection/query-param.js"(exports2, module2) {
var _2 = require_util2().lodash;
var Property = require_property().Property;
var Substitutor = require_superstring().Substitutor;
var PropertyList = require_property_list().PropertyList;
var E = "";
var AMPERSAND = "&";
@@ -78623,7 +78628,7 @@ var require_query_param = __commonJS({
var REGEX_HASH = /#/g;
var REGEX_EQUALS = /=/g;
var REGEX_AMPERSAND = /&/g;
var REGEX_EXTRACT_VARS = /{{[^{}]*[&#=][^{}]*}}/g;
var REGEX_EXTRACT_VARS = Substitutor.REGEX_EXTRACT_VARS;
var QueryParam;
var encodeReservedChars = function(str, encodeEquals) {
if (!str) {
@@ -92126,7 +92131,7 @@ var require_db3 = __commonJS({
type: "embed",
format: "pdf"
},
"application/ecmascript": {
"text/javascript": {
type: "text",
format: "script"
},
@@ -92134,6 +92139,66 @@ var require_db3 = __commonJS({
type: "text",
format: "script"
},
"application/ecmascript": {
type: "text",
format: "script"
},
"application/x-ecmascript": {
type: "text",
format: "script"
},
"application/x-javascript": {
type: "text",
format: "script"
},
"text/ecmascript": {
type: "text",
format: "script"
},
"text/javascript1.0": {
type: "text",
format: "script"
},
"text/javascript1.1": {
type: "text",
format: "script"
},
"text/javascript1.2": {
type: "text",
format: "script"
},
"text/javascript1.3": {
type: "text",
format: "script"
},
"text/javascript1.4": {
type: "text",
format: "script"
},
"text/javascript1.5": {
type: "text",
format: "script"
},
"text/jscript": {
type: "text",
format: "script"
},
"text/livescript": {
type: "text",
format: "script"
},
"text/x-ecmascript": {
type: "text",
format: "script"
},
"text/x-javascript": {
type: "text",
format: "script"
},
"text/css": {
type: "text",
format: "stylesheet"
},
"application/json": {
type: "text",
format: "json"
@@ -94086,7 +94151,7 @@ var require_content_info = __commonJS({
* egHeader: inline; filename="test Response.json"
* Reference: https://github.com/jshttp/content-disposition
*/
// eslint-disable-next-line max-len
// eslint-disable-next-line @stylistic/js/max-len
fileNameRegex: /;[ \t]*(?:filename)[ \t]*=[ \t]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[ \t]*/,
/**
* RegExp for extracting filename* from content-disposition header
@@ -94119,7 +94184,7 @@ var require_content_info = __commonJS({
* egHeader: attachment;filename*=utf-8''%E4%BD%A0%E5%A5%BD.txt
* Reference: https://github.com/jshttp/content-disposition
*/
// eslint-disable-next-line max-len, security/detect-unsafe-regex
// eslint-disable-next-line @stylistic/js/max-len, security/detect-unsafe-regex
encodedFileNameRegex: /;[ \t]*(?:filename\*)[ \t]*=[ \t]*([A-Za-z0-9!#$%&+\-^_`{}~]+)'.*'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)[ \t]*/,
/**
* RegExp to match quoted-pair in RFC 2616
@@ -95313,6 +95378,7 @@ var require_re = __commonJS({
var re = exports2.re = [];
var safeRe = exports2.safeRe = [];
var src = exports2.src = [];
var safeSrc = exports2.safeSrc = [];
var t = exports2.t = {};
var R = 0;
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
@@ -95333,6 +95399,7 @@ var require_re = __commonJS({
debug(name, index, value);
t[name] = index;
src[index] = value;
safeSrc[index] = safe;
re[index] = new RegExp(value, isGlobal ? "g" : void 0);
safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
};
@@ -95429,7 +95496,7 @@ var require_semver = __commonJS({
"../../node_modules/semver/classes/semver.js"(exports2, module2) {
var debug = require_debug();
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
var { safeRe: re, t } = require_re();
var { safeRe: re, safeSrc: src, t } = require_re();
var parseOptions = require_parse_options();
var { compareIdentifiers } = require_identifiers();
var SemVer = class _SemVer {
@@ -95569,6 +95636,18 @@ var require_semver = __commonJS({
// preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way.
inc(release, identifier, identifierBase) {
if (release.startsWith("pre")) {
if (!identifier && identifierBase === false) {
throw new Error("invalid increment argument: identifier is empty");
}
if (identifier) {
const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`);
const match = `-${identifier}`.match(r);
if (!match || match[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`);
}
}
}
switch (release) {
case "premajor":
this.prerelease.length = 0;
@@ -95594,6 +95673,12 @@ var require_semver = __commonJS({
}
this.inc("pre", identifier, identifierBase);
break;
case "release":
if (this.prerelease.length === 0) {
throw new Error(`version ${this.raw} is not a prerelease`);
}
this.prerelease.length = 0;
break;
case "major":
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
this.major++;
@@ -95617,9 +95702,6 @@ var require_semver = __commonJS({
break;
case "pre": {
const base = Number(identifierBase) ? 1 : 0;
if (!identifier && identifierBase === false) {
throw new Error("invalid increment argument: identifier is empty");
}
if (this.prerelease.length === 0) {
this.prerelease = [base];
} else {
@@ -95754,13 +95836,12 @@ var require_diff = __commonJS({
if (!lowVersion.patch && !lowVersion.minor) {
return "major";
}
if (highVersion.patch) {
if (lowVersion.compareMain(highVersion) === 0) {
if (lowVersion.minor && !lowVersion.patch) {
return "minor";
}
return "patch";
}
if (highVersion.minor) {
return "minor";
}
return "major";
}
const prefix = highHasPre ? "pre" : "";
if (v12.major !== v2.major) {
@@ -136895,8 +136976,6 @@ var require_utils3 = __commonJS({
originalRequest.url.query = [];
originalRequest.header = _2.get(response, "originalRequest.headers", []);
originalRequest.body = requestItem.request.body;
response.code = response.code.replace(/X|x/g, "0");
response.code = response.code === "default" ? 500 : _2.toSafeInteger(response.code);
let sdkResponse = new Response({
name: response.name,
code: response.code,
@@ -137692,7 +137771,7 @@ var require_schemaUtils2 = __commonJS({
}
exampleKey = Object.keys(exampleObj)[0];
example = exampleObj[exampleKey];
if (example.$ref) {
if (example && example.$ref) {
example = resolveExampleData(context, example);
}
if (_2.get(example, "value")) {
@@ -137881,6 +137960,65 @@ var require_schemaUtils2 = __commonJS({
}
return schema2;
};
var processSchema = (resolvedSchema) => {
if (resolvedSchema.type === "object" && resolvedSchema.properties) {
const schemaDetails = {
type: resolvedSchema.type,
properties: {},
required: []
}, requiredProperties = new Set(resolvedSchema.required || []);
for (let [propName, propValue] of Object.entries(resolvedSchema.properties)) {
if (!propValue.type) {
continue;
}
const propertyDetails = {
type: propValue.type,
deprecated: propValue.deprecated,
enum: propValue.enum || void 0,
minLength: propValue.minLength,
maxLength: propValue.maxLength,
minimum: propValue.minimum,
maximum: propValue.maximum,
pattern: propValue.pattern,
example: propValue.example,
description: propValue.description,
format: propValue.format
};
if (requiredProperties.has(propName)) {
schemaDetails.required.push(propName);
}
if (propValue.properties) {
let processedProperties = processSchema(propValue);
propertyDetails.properties = processedProperties.properties;
if (processedProperties.required) {
propertyDetails.required = processedProperties.required;
}
} else if (propValue.type === "array" && propValue.items) {
propertyDetails.items = processSchema(propValue.items);
}
schemaDetails.properties[propName] = propertyDetails;
}
if (schemaDetails.required && schemaDetails.required.length === 0) {
schemaDetails.required = void 0;
}
return schemaDetails;
} else if (resolvedSchema.type === "array" && resolvedSchema.items) {
const arrayDetails = {
type: resolvedSchema.type,
items: processSchema(resolvedSchema.items)
};
if (resolvedSchema.minItems !== void 0) {
arrayDetails.minItems = resolvedSchema.minItems;
}
if (resolvedSchema.maxItems !== void 0) {
arrayDetails.maxItems = resolvedSchema.maxItems;
}
return arrayDetails;
}
return {
type: resolvedSchema.type
};
};
var resolveSchema = (context, schema2, { stack = 0, resolveFor = CONVERSION, seenRef = {}, isResponseSchema = false } = {}) => {
resetReadWritePropCache(context);
let resolvedSchema = _resolveSchema(context, schema2, stack, resolveFor, seenRef);
@@ -138227,12 +138365,16 @@ var require_schemaUtils2 = __commonJS({
return pmExamples;
};
var resolveBodyData = (context, requestBodySchema, bodyType, isExampleBody = false, responseCode = null, requestBodyExamples = {}) => {
let { parametersResolution, indentCharacter } = context.computedOptions, headerFamily = getHeaderFamily(bodyType), bodyData = "", shouldGenerateFromExample = parametersResolution === "example", isBodyTypeXML = bodyType === APP_XML || bodyType === TEXT_XML || headerFamily === HEADER_TYPE.XML, bodyKey = isExampleBody ? "response" : "request", responseExamples, example, examples;
let { parametersResolution, indentCharacter } = context.computedOptions, headerFamily = getHeaderFamily(bodyType), bodyData = "", shouldGenerateFromExample = parametersResolution === "example", isBodyTypeXML = bodyType === APP_XML || bodyType === TEXT_XML || headerFamily === HEADER_TYPE.XML, bodyKey = isExampleBody ? "response" : "request", responseExamples, example, examples, resolvedSchemaTypes = [];
if (_2.isEmpty(requestBodySchema)) {
return [{ [bodyKey]: bodyData }];
}
if (requestBodySchema.$ref) {
requestBodySchema = resolveSchema(context, requestBodySchema, { isResponseSchema: isExampleBody });
requestBodySchema = resolveSchema(
context,
requestBodySchema,
{ isResponseSchema: isExampleBody }
);
}
if (requestBodySchema.example !== void 0) {
const shouldResolveValueKey = _2.has(requestBodySchema.example, "value") && _2.keys(requestBodySchema.example).length <= 1;
@@ -138243,7 +138385,11 @@ var require_schemaUtils2 = __commonJS({
}
examples = requestBodySchema.examples || _2.get(requestBodySchema, "schema.examples");
requestBodySchema = requestBodySchema.schema || requestBodySchema;
requestBodySchema = resolveSchema(context, requestBodySchema, { isResponseSchema: isExampleBody });
requestBodySchema = resolveSchema(
context,
requestBodySchema,
{ isResponseSchema: isExampleBody }
);
if (example === void 0 && _2.get(requestBodySchema, "example") !== void 0) {
example = requestBodySchema.example;
}
@@ -138257,7 +138403,11 @@ var require_schemaUtils2 = __commonJS({
} else if (requestBodySchema) {
requestBodySchema = requestBodySchema.schema || requestBodySchema;
if (requestBodySchema.$ref) {
requestBodySchema = resolveSchema(context, requestBodySchema, { isResponseSchema: isExampleBody });
requestBodySchema = resolveSchema(
context,
requestBodySchema,
{ isResponseSchema: isExampleBody }
);
}
if (isBodyTypeXML) {
bodyData = xmlFaker(null, requestBodySchema, indentCharacter, parametersResolution);
@@ -138285,6 +138435,10 @@ var require_schemaUtils2 = __commonJS({
}
}
}
if (context.enableTypeFetching && requestBodySchema.type !== void 0) {
const requestBodySchemaTypes = processSchema(requestBodySchema);
resolvedSchemaTypes.push(requestBodySchemaTypes);
}
if (isExampleBody && shouldGenerateFromExample && (_2.size(examples) > 1 || _2.size(requestBodyExamples) > 1)) {
responseExamples = [{
key: "_default",
@@ -138305,22 +138459,37 @@ var require_schemaUtils2 = __commonJS({
if (_2.isEmpty(matchedRequestBodyExamples)) {
matchedRequestBodyExamples = requestBodyExamples;
}
return generateExamples(context, responseExamples, matchedRequestBodyExamples, requestBodySchema, isBodyTypeXML);
const generatedBody = generateExamples(
context,
responseExamples,
matchedRequestBodyExamples,
requestBodySchema,
isBodyTypeXML
);
return {
generatedBody,
resolvedSchemaType: resolvedSchemaTypes[0]
};
}
return [{ [bodyKey]: bodyData }];
return {
generatedBody: [{ [bodyKey]: bodyData }],
resolvedSchemaType: resolvedSchemaTypes[0]
};
};
var resolveUrlEncodedRequestBodyForPostmanRequest = (context, requestBodyContent) => {
let bodyData = "", urlEncodedParams = [], requestBodyData = {
mode: "urlencoded",
urlencoded: urlEncodedParams
}, resolvedBody;
}, resolvedBody, resolvedBodyResult, resolvedSchemaTypeObject;
if (_2.isEmpty(requestBodyContent)) {
return requestBodyData;
}
if (_2.has(requestBodyContent, "schema.$ref")) {
requestBodyContent.schema = resolveSchema(context, requestBodyContent.schema);
}
resolvedBody = resolveBodyData(context, requestBodyContent.schema)[0];
resolvedBodyResult = resolveBodyData(context, requestBodyContent.schema);
resolvedBody = resolvedBodyResult && Array.isArray(resolvedBodyResult.generatedBody) && resolvedBodyResult.generatedBody[0];
resolvedSchemaTypeObject = resolvedBodyResult && resolvedBodyResult.resolvedSchemaType;
resolvedBody && (bodyData = resolvedBody.request);
const encoding = requestBodyContent.encoding || {};
_2.forOwn(bodyData, (value, key) => {
@@ -138342,18 +138511,21 @@ var require_schemaUtils2 = __commonJS({
headers: [{
key: "Content-Type",
value: URLENCODED
}]
}],
resolvedSchemaTypeObject
};
};
var resolveFormDataRequestBodyForPostmanRequest = (context, requestBodyContent) => {
let bodyData = "", formDataParams = [], encoding = {}, requestBodyData = {
mode: "formdata",
formdata: formDataParams
}, resolvedBody;
}, resolvedBody, resolvedBodyResult, resolvedSchemaTypeObject;
if (_2.isEmpty(requestBodyContent)) {
return requestBodyData;
}
resolvedBody = resolveBodyData(context, requestBodyContent.schema)[0];
resolvedBodyResult = resolveBodyData(context, requestBodyContent.schema);
resolvedBody = resolvedBodyResult && Array.isArray(resolvedBodyResult.generatedBody) && resolvedBodyResult.generatedBody[0];
resolvedSchemaTypeObject = resolvedBodyResult && resolvedBodyResult.resolvedSchemaType;
resolvedBody && (bodyData = resolvedBody.request);
encoding = _2.get(requestBodyContent, "encoding", {});
_2.forOwn(bodyData, (value, key) => {
@@ -138389,7 +138561,8 @@ var require_schemaUtils2 = __commonJS({
headers: [{
key: "Content-Type",
value: FORM_DATA
}]
}],
resolvedSchemaTypeObject
};
};
var getRawBodyType = (content) => {
@@ -138425,14 +138598,16 @@ var require_schemaUtils2 = __commonJS({
return bodyType;
};
var resolveRawModeRequestBodyForPostmanRequest = (context, requestContent) => {
let bodyType = getRawBodyType(requestContent), bodyData, headerFamily, dataToBeReturned = {}, { concreteUtils } = context, resolvedBody;
let bodyType = getRawBodyType(requestContent), bodyData, headerFamily, dataToBeReturned = {}, { concreteUtils } = context, resolvedBody, resolvedBodyResult, resolvedSchemaTypeObject;
headerFamily = getHeaderFamily(bodyType);
if (concreteUtils.isBinaryContentType(bodyType, requestContent)) {
dataToBeReturned = {
mode: "file"
};
} else {
resolvedBody = resolveBodyData(context, requestContent[bodyType], bodyType)[0];
resolvedBodyResult = resolveBodyData(context, requestContent[bodyType], bodyType);
resolvedBody = resolvedBodyResult && Array.isArray(resolvedBodyResult.generatedBody) && resolvedBodyResult.generatedBody[0];
resolvedSchemaTypeObject = resolvedBodyResult && resolvedBodyResult.resolvedSchemaType;
resolvedBody && (bodyData = resolvedBody.request);
if (bodyType === TEXT_XML || bodyType === APP_XML || headerFamily === HEADER_TYPE.XML) {
bodyData = getXmlVersionContent(bodyData);
@@ -138456,7 +138631,8 @@ var require_schemaUtils2 = __commonJS({
headers: [{
key: "Content-Type",
value: bodyType
}]
}],
resolvedSchemaTypeObject
};
};
var resolveRequestBodyForPostmanRequest = (context, operationItem) => {
@@ -138536,8 +138712,25 @@ var require_schemaUtils2 = __commonJS({
});
return reqParam;
};
var createProperties = (param) => {
const { schema: schema2 } = param;
return {
type: schema2.type,
format: schema2.format,
default: schema2.default,
required: param.required || false,
deprecated: param.deprecated || false,
enum: schema2.enum || void 0,
minLength: schema2.minLength,
maxLength: schema2.maxLength,
minimum: schema2.minimum,
maximum: schema2.maximum,
pattern: schema2.pattern,
example: schema2.example
};
};
var resolveQueryParamsForPostmanRequest = (context, operationItem, method) => {
const params = resolvePathItemParams(context, operationItem[method].parameters, operationItem.parameters), pmParams = [], { includeDeprecated } = context.computedOptions;
const params = resolvePathItemParams(context, operationItem[method].parameters, operationItem.parameters), pmParams = [], queryParamTypes = [], { includeDeprecated } = context.computedOptions;
_2.forEach(params, (param) => {
if (!_2.isObject(param)) {
return;
@@ -138545,20 +138738,28 @@ var require_schemaUtils2 = __commonJS({
if (_2.has(param, "$ref")) {
param = resolveSchema(context, param);
}
if (_2.has(param.schema, "$ref")) {
param.schema = resolveSchema(context, param.schema);
}
if (param.in !== QUERYPARAM || !includeDeprecated && param.deprecated) {
return;
}
let paramValue = resolveValueOfParameter(context, param);
let queryParamTypeInfo = {}, properties = {}, paramValue = resolveValueOfParameter(context, param);
if (param && param.name && param.schema && param.schema.type) {
properties = createProperties(param);
queryParamTypeInfo = { keyName: param.name, properties };
queryParamTypes.push(queryParamTypeInfo);
}
if (typeof paramValue === "number" || typeof paramValue === "boolean") {
paramValue = paramValue.toString();
}
const deserialisedParams = serialiseParamsBasedOnStyle(context, param, paramValue);
pmParams.push(...deserialisedParams);
});
return pmParams;
return { queryParamTypes, queryParams: pmParams };
};
var resolvePathParamsForPostmanRequest = (context, operationItem, method) => {
const params = resolvePathItemParams(context, operationItem[method].parameters, operationItem.parameters), pmParams = [];
const params = resolvePathItemParams(context, operationItem[method].parameters, operationItem.parameters), pmParams = [], pathParamTypes = [];
_2.forEach(params, (param) => {
if (!_2.isObject(param)) {
return;
@@ -138566,17 +138767,25 @@ var require_schemaUtils2 = __commonJS({
if (_2.has(param, "$ref")) {
param = resolveSchema(context, param);
}
if (_2.has(param.schema, "$ref")) {
param.schema = resolveSchema(context, param.schema);
}
if (param.in !== PATHPARAM) {
return;
}
let paramValue = resolveValueOfParameter(context, param);
let pathParamTypeInfo = {}, properties = {}, paramValue = resolveValueOfParameter(context, param);
if (param && param.name && param.schema && param.schema.type) {
properties = createProperties(param);
pathParamTypeInfo = { keyName: param.name, properties };
pathParamTypes.push(pathParamTypeInfo);
}
if (typeof paramValue === "number" || typeof paramValue === "boolean") {
paramValue = paramValue.toString();
}
const deserialisedParams = serialiseParamsBasedOnStyle(context, param, paramValue);
pmParams.push(...deserialisedParams);
});
return pmParams;
return { pathParamTypes, pathParams: pmParams };
};
var resolveNameForPostmanReqeust = (context, operationItem, requestUrl) => {
let reqName, { requestNameSource } = context.computedOptions;
@@ -138598,7 +138807,7 @@ var require_schemaUtils2 = __commonJS({
return reqName;
};
var resolveHeadersForPostmanRequest = (context, operationItem, method) => {
const params = resolvePathItemParams(context, operationItem[method].parameters, operationItem.parameters), pmParams = [], { keepImplicitHeaders, includeDeprecated } = context.computedOptions;
const params = resolvePathItemParams(context, operationItem[method].parameters, operationItem.parameters), pmParams = [], headerTypes = [], { keepImplicitHeaders, includeDeprecated } = context.computedOptions;
_2.forEach(params, (param) => {
if (!_2.isObject(param)) {
return;
@@ -138606,25 +138815,33 @@ var require_schemaUtils2 = __commonJS({
if (_2.has(param, "$ref")) {
param = resolveSchema(context, param);
}
if (_2.has(param.schema, "$ref")) {
param.schema = resolveSchema(context, param.schema);
}
if (param.in !== HEADER || !includeDeprecated && param.deprecated) {
return;
}
if (!keepImplicitHeaders && _2.includes(IMPLICIT_HEADERS, _2.toLower(_2.get(param, "name")))) {
return;
}
let paramValue = resolveValueOfParameter(context, param);
let headerTypeInfo = {}, properties = {}, paramValue = resolveValueOfParameter(context, param);
if (param && param.name && param.schema && param.schema.type) {
properties = createProperties(param);
headerTypeInfo = { keyName: param.name, properties };
headerTypes.push(headerTypeInfo);
}
if (typeof paramValue === "number" || typeof paramValue === "boolean") {
paramValue = paramValue.toString();
}
const deserialisedParams = serialiseParamsBasedOnStyle(context, param, paramValue);
pmParams.push(...deserialisedParams);
});
return pmParams;
return { headerTypes, headers: pmParams };
};
var resolveResponseBody = (context, responseBody = {}, requestBodyExamples = {}, code = null) => {
let responseContent, bodyType, allBodyData, headerFamily, acceptHeader, emptyResponse = [{
body: void 0
}];
}], resolvedResponseBodyResult, resolvedResponseBodyTypes;
if (_2.isEmpty(responseBody)) {
return emptyResponse;
}
@@ -138637,7 +138854,16 @@ var require_schemaUtils2 = __commonJS({
}
bodyType = getRawBodyType(responseContent);
headerFamily = getHeaderFamily(bodyType);
allBodyData = resolveBodyData(context, responseContent[bodyType], bodyType, true, code, requestBodyExamples);
resolvedResponseBodyResult = resolveBodyData(
context,
responseContent[bodyType],
bodyType,
true,
code,
requestBodyExamples
);
allBodyData = resolvedResponseBodyResult.generatedBody;
resolvedResponseBodyTypes = resolvedResponseBodyResult.resolvedSchemaType;
return _2.map(allBodyData, (bodyData) => {
let requestBodyData = bodyData.request, responseBodyData = bodyData.response, exampleName = bodyData.name;
if (bodyType === TEXT_XML || bodyType === APP_XML || headerFamily === HEADER_TYPE.XML) {
@@ -138663,12 +138889,13 @@ var require_schemaUtils2 = __commonJS({
}],
name: exampleName,
bodyType,
acceptHeader
acceptHeader,
resolvedResponseBodyTypes
};
});
};
var resolveResponseHeaders = (context, responseHeaders) => {
const headers = [], { includeDeprecated } = context.computedOptions;
const headers = [], { includeDeprecated } = context.computedOptions, headerTypes = [];
if (_2.has(responseHeaders, "$ref")) {
responseHeaders = resolveSchema(context, responseHeaders, { isResponseSchema: true });
}
@@ -138679,14 +138906,33 @@ var require_schemaUtils2 = __commonJS({
if (!includeDeprecated && value.deprecated) {
return;
}
let headerValue = resolveValueOfParameter(context, value, { isResponseSchema: true });
let headerValue = resolveValueOfParameter(context, value, { isResponseSchema: true }), headerTypeInfo = {}, properties = {};
if (typeof headerValue === "number" || typeof headerValue === "boolean") {
headerValue = headerValue.toString();
}
const headerData = Object.assign({}, value, { name: headerName }), serialisedHeader = serialiseParamsBasedOnStyle(context, headerData, headerValue, { isResponseSchema: true });
headers.push(...serialisedHeader);
if (headerData && headerData.name && headerData.schema && headerData.schema.type) {
const { schema: schema2 } = headerData;
properties = {
type: schema2.type,
format: schema2.format,
default: schema2.default,
required: schema2.required || false,
deprecated: schema2.deprecated || false,
enum: schema2.enum || void 0,
minLength: schema2.minLength,
maxLength: schema2.maxLength,
minimum: schema2.minimum,
maximum: schema2.maximum,
pattern: schema2.pattern,
example: schema2.example
};
headerTypeInfo = { keyName: headerData.name, properties };
headerTypes.push(headerTypeInfo);
}
});
return headers;
return { resolvedHeaderTypes: headerTypes, headers };
};
var getPreviewLangugaForResponseBody = (bodyType) => {
const headerFamily = getHeaderFamily(bodyType);
@@ -138753,7 +138999,7 @@ var require_schemaUtils2 = __commonJS({
return responseAuthHelper;
};
var resolveResponseForPostmanRequest = (context, operationItem, request) => {
let responses = [], requestBodyExamples = [], requestAcceptHeader, requestBody = operationItem.requestBody, requestContent, rawBodyType, headerFamily, isBodyTypeXML;
let responses = [], requestBodyExamples = [], requestAcceptHeader, requestBody = operationItem.requestBody, requestContent, rawBodyType, headerFamily, isBodyTypeXML, resolvedExamplesObject = {}, responseTypes = {};
if (typeof requestBody === "object") {
if (requestBody.$ref) {
requestBody = resolveSchema(context, requestBody, { isResponseSchema: true });
@@ -138789,7 +139035,15 @@ var require_schemaUtils2 = __commonJS({
}
}
_2.forOwn(operationItem.responses, (responseObj, code) => {
let responseSchema = _2.has(responseObj, "$ref") ? resolveSchema(context, responseObj, { isResponseSchema: true }) : responseObj, { includeAuthInfoInExample } = context.computedOptions, auth = request.auth, resolvedExamples = resolveResponseBody(context, responseSchema, requestBodyExamples, code) || {}, headers = resolveResponseHeaders(context, responseSchema.headers);
let responseSchema = _2.has(responseObj, "$ref") ? resolveSchema(context, responseObj, { isResponseSchema: true }) : responseObj, { includeAuthInfoInExample } = context.computedOptions, auth = request.auth, resolvedExamples = resolveResponseBody(context, responseSchema, requestBodyExamples, code) || {}, { resolvedHeaderTypes, headers } = resolveResponseHeaders(context, responseSchema.headers), responseBodyHeaderObj;
resolvedExamplesObject = resolvedExamples[0] && resolvedExamples[0].resolvedResponseBodyTypes;
responseBodyHeaderObj = {
body: JSON.stringify(resolvedExamplesObject, null, 2),
headers: JSON.stringify(resolvedHeaderTypes, null, 2)
};
code = code.replace(/X|x/g, "0");
code = code === "default" ? 500 : _2.toSafeInteger(code);
Object.assign(responseTypes, { [code]: responseBodyHeaderObj });
_2.forOwn(resolvedExamples, (resolvedExample = {}) => {
let { body, contentHeader = [], bodyType, acceptHeader, name } = resolvedExample, resolvedRequestBody = _2.get(resolvedExample, "request.body"), originalRequest, response, responseAuthHelper, requestBodyObj = {}, reqHeaders = _2.clone(request.headers) || [], reqQueryParams = _2.clone(_2.get(request, "params.queryParams", []));
_2.isArray(acceptHeader) && reqHeaders.push(...acceptHeader);
@@ -138829,13 +139083,17 @@ var require_schemaUtils2 = __commonJS({
responses.push(response);
});
});
return { responses, acceptHeader: requestAcceptHeader };
return {
responses,
acceptHeader: requestAcceptHeader,
responseTypes
};
};
module2.exports = {
resolvePostmanRequest: function(context, operationItem, path, method) {
context.schemaCache = context.schemaCache || {};
context.schemaFakerCache = context.schemaFakerCache || {};
let url = resolveUrlForPostmanRequest(path), baseUrlData = resolveBaseUrlForPostmanRequest(operationItem[method]), requestName = resolveNameForPostmanReqeust(context, operationItem[method], url), queryParams = resolveQueryParamsForPostmanRequest(context, operationItem, method), headers = resolveHeadersForPostmanRequest(context, operationItem, method), pathParams = resolvePathParamsForPostmanRequest(context, operationItem, method), { pathVariables, collectionVariables } = filterCollectionAndPathVariables(url, pathParams), requestBody = resolveRequestBodyForPostmanRequest(context, operationItem[method]), request, securitySchema = _2.get(operationItem, [method, "security"]), authHelper = generateAuthForCollectionFromOpenAPI(context.openapi, securitySchema), { alwaysInheritAuthentication } = context.computedOptions;
let url = resolveUrlForPostmanRequest(path), baseUrlData = resolveBaseUrlForPostmanRequest(operationItem[method]), requestName = resolveNameForPostmanReqeust(context, operationItem[method], url), { queryParamTypes, queryParams } = resolveQueryParamsForPostmanRequest(context, operationItem, method), { headerTypes, headers } = resolveHeadersForPostmanRequest(context, operationItem, method), { pathParamTypes, pathParams } = resolvePathParamsForPostmanRequest(context, operationItem, method), { pathVariables, collectionVariables } = filterCollectionAndPathVariables(url, pathParams), requestBody = resolveRequestBodyForPostmanRequest(context, operationItem[method]), requestBodyTypes = requestBody && requestBody.resolvedSchemaTypeObject, request, securitySchema = _2.get(operationItem, [method, "security"]), authHelper = generateAuthForCollectionFromOpenAPI(context.openapi, securitySchema), { alwaysInheritAuthentication } = context.computedOptions, requestIdentifier, requestTypesObject = {};
headers.push(..._2.get(requestBody, "headers", []));
pathVariables.push(...baseUrlData.pathVariables);
collectionVariables.push(...baseUrlData.collectionVariables);
@@ -138853,7 +139111,21 @@ var require_schemaUtils2 = __commonJS({
body: _2.get(requestBody, "body"),
auth: alwaysInheritAuthentication ? void 0 : authHelper
};
const { responses, acceptHeader } = resolveResponseForPostmanRequest(context, operationItem[method], request);
const requestTypes = {
body: JSON.stringify(requestBodyTypes, null, 2),
headers: JSON.stringify(headerTypes, null, 2),
pathParam: JSON.stringify(pathParamTypes, null, 2),
queryParam: JSON.stringify(queryParamTypes, null, 2)
}, {
responses,
acceptHeader,
responseTypes
} = resolveResponseForPostmanRequest(context, operationItem[method], request);
requestIdentifier = method + path;
Object.assign(
requestTypesObject,
{ [requestIdentifier]: { request: requestTypes, response: responseTypes } }
);
if (!_2.isEmpty(acceptHeader)) {
request.headers = _2.concat(request.headers, acceptHeader);
}
@@ -138864,7 +139136,8 @@ var require_schemaUtils2 = __commonJS({
responses
})
},
collectionVariables
collectionVariables,
requestTypesObject
};
},
resolveResponseForPostmanRequest,
@@ -141220,7 +141493,7 @@ var require_libV2 = __commonJS({
convertV2: function(context, cb) {
let collectionTree = generateSkeletonTreeFromOpenAPI(context.openapi, context.computedOptions);
let preOrderTraversal = GraphLib.alg.preorder(collectionTree, "root:collection");
let collection = {};
let collection = {}, extractedTypesObject = {};
_2.forEach(preOrderTraversal, function(nodeIdentified) {
let node = collectionTree.node(nodeIdentified);
switch (node.type) {
@@ -141254,15 +141527,16 @@ var require_libV2 = __commonJS({
break;
}
case "request": {
let request = {}, collectionVariables = [], requestObject = {};
let request = {}, collectionVariables = [], requestObject = {}, requestTypesObject = {};
try {
({ request, collectionVariables } = resolvePostmanRequest(
({ request, collectionVariables, requestTypesObject } = resolvePostmanRequest(
context,
context.openapi.paths[node.meta.path],
node.meta.path,
node.meta.method
));
requestObject = generateRequestItemObject(request);
extractedTypesObject = Object.assign({}, extractedTypesObject, requestTypesObject);
} catch (error) {
console.error(error);
break;
@@ -141337,6 +141611,17 @@ var require_libV2 = __commonJS({
if (!_2.isEmpty(collection.variable)) {
collection.variable = _2.uniqBy(collection.variable, "key");
}
if (context.enableTypeFetching) {
return cb(null, {
result: true,
output: [{
type: "collection",
data: collection
}],
analytics: this.analytics || {},
extractedTypes: extractedTypesObject || {}
});
}
return cb(null, {
result: true,
output: [{
@@ -145118,7 +145403,7 @@ var require_schemapack = __commonJS({
var concreteUtils;
var pathBrowserify = require_path_browserify();
var SchemaPack = class {
constructor(input, options = {}, moduleVersion = MODULE_VERSION.V1) {
constructor(input, options = {}, moduleVersion = MODULE_VERSION.V1, enableTypeFetching = false) {
if (input.type === schemaUtils.MULTI_FILE_API_TYPE_ALLOWED_VALUE && input.data && input.data[0] && input.data[0].path) {
input = schemaUtils.mapDetectRootFilesInputToFolderInput(input);
}
@@ -145136,6 +145421,7 @@ var require_schemapack = __commonJS({
actualStack: 0,
numberOfRequests: 0
};
this.enableTypeFetching = enableTypeFetching;
this.computedOptions = utils.mergeOptions(
// predefined options
_2.keyBy(this.definedOptions, "id"),
@@ -145814,6 +146100,14 @@ var require_openapi_to_postmanv2 = __commonJS({
}
return cb(new UserError(_2.get(schema2, "validationResult.reason", DEFAULT_INVALID_ERROR)));
},
convertV2WithTypes: function(input, options, cb) {
const enableTypeFetching = true;
var schema2 = new SchemaPack(input, options, MODULE_VERSION.V2, enableTypeFetching);
if (schema2.validated) {
return schema2.convertV2(cb);
}
return cb(new UserError(_2.get(schema2, "validationResult.reason", DEFAULT_INVALID_ERROR)));
},
validate: function(input) {
var schema2 = new SchemaPack(input);
return schema2.validationResult;

View File

@@ -7,7 +7,7 @@
"dev": "yaakcli dev ./src/index.js"
},
"dependencies": {
"openapi-to-postmanv2": "^4.23.1",
"openapi-to-postmanv2": "^5.0.0",
"yaml": "^2.4.2"
},
"devDependencies": {