fern-api 0.19.28 → 0.19.29
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/bundle.cjs +861 -113
- package/package.json +1 -1
package/bundle.cjs
CHANGED
|
@@ -823712,27 +823712,38 @@ async function convertGenerator({ absolutePathToGeneratorsConfiguration, generat
|
|
|
823712
823712
|
absolutePathToLocalOutput: ((_a4 = generator.output) == null ? void 0 : _a4.location) === "local-file-system" ? resolve(dirname(absolutePathToGeneratorsConfiguration), generator.output.path) : void 0,
|
|
823713
823713
|
language: getLanguageFromGeneratorName(generator.name),
|
|
823714
823714
|
irVersionOverride: generator["ir-version"] ?? void 0,
|
|
823715
|
-
publishMetadata:
|
|
823715
|
+
publishMetadata: getPublishMetadata({ generatorInvocation: generator })
|
|
823716
823716
|
};
|
|
823717
823717
|
}
|
|
823718
|
-
function
|
|
823719
|
-
|
|
823720
|
-
|
|
823721
|
-
|
|
823722
|
-
|
|
823723
|
-
|
|
823724
|
-
|
|
823718
|
+
function getPublishMetadata({ generatorInvocation }) {
|
|
823719
|
+
const publishMetadata = generatorInvocation["publish-metadata"];
|
|
823720
|
+
if (publishMetadata != null) {
|
|
823721
|
+
return {
|
|
823722
|
+
packageDescription: publishMetadata["package-description"],
|
|
823723
|
+
publisherEmail: publishMetadata.email,
|
|
823724
|
+
publisherName: publishMetadata.author,
|
|
823725
|
+
referenceUrl: publishMetadata["reference-url"]
|
|
823726
|
+
};
|
|
823727
|
+
} else if (generatorInvocation.metadata != null) {
|
|
823728
|
+
return {
|
|
823729
|
+
packageDescription: generatorInvocation.metadata["package-description"],
|
|
823730
|
+
publisherEmail: generatorInvocation.metadata.email,
|
|
823731
|
+
publisherName: generatorInvocation.metadata.author,
|
|
823732
|
+
referenceUrl: generatorInvocation.metadata["reference-url"]
|
|
823733
|
+
};
|
|
823734
|
+
}
|
|
823735
|
+
return void 0;
|
|
823725
823736
|
}
|
|
823726
823737
|
async function convertOutputMode({ absolutePathToGeneratorsConfiguration, generator }) {
|
|
823727
|
-
var _a4;
|
|
823728
823738
|
if (generator.github != null) {
|
|
823729
823739
|
const indexOfFirstSlash = generator.github.repository.indexOf("/");
|
|
823730
823740
|
const owner = generator.github.repository.slice(0, indexOfFirstSlash);
|
|
823731
823741
|
const repo = generator.github.repository.slice(indexOfFirstSlash + 1);
|
|
823732
823742
|
const publishInfo = generator.output != null ? getGithubPublishInfo(generator.output) : void 0;
|
|
823733
|
-
const
|
|
823743
|
+
const licenseSchema = getGithubLicenseSchema(generator);
|
|
823744
|
+
const license = licenseSchema != null ? await getGithubLicense({
|
|
823734
823745
|
absolutePathToGeneratorsConfiguration,
|
|
823735
|
-
githubLicense:
|
|
823746
|
+
githubLicense: licenseSchema
|
|
823736
823747
|
}) : void 0;
|
|
823737
823748
|
const mode = generator.github.mode ?? "release";
|
|
823738
823749
|
switch (mode) {
|
|
@@ -823776,9 +823787,8 @@ async function convertOutputMode({ absolutePathToGeneratorsConfiguration, genera
|
|
|
823776
823787
|
token: generator.output.token ?? ""
|
|
823777
823788
|
}));
|
|
823778
823789
|
case "maven": {
|
|
823779
|
-
const hasSignature = generator.output.signature != null;
|
|
823780
823790
|
return import_fiddle_sdk.FernFiddle.OutputMode.publishV2(import_fiddle_sdk.FernFiddle.remoteGen.PublishOutputModeV2.mavenOverride({
|
|
823781
|
-
registryUrl: generator.output
|
|
823791
|
+
registryUrl: getMavenRegistryUrl(generator.output),
|
|
823782
823792
|
username: generator.output.username ?? "",
|
|
823783
823793
|
password: generator.output.password ?? "",
|
|
823784
823794
|
coordinate: generator.output.coordinate,
|
|
@@ -823845,7 +823855,7 @@ function getGithubPublishInfo(output) {
|
|
|
823845
823855
|
});
|
|
823846
823856
|
case "maven":
|
|
823847
823857
|
return import_fiddle_sdk.FernFiddle.GithubPublishInfo.maven({
|
|
823848
|
-
registryUrl: output
|
|
823858
|
+
registryUrl: getMavenRegistryUrl(output),
|
|
823849
823859
|
coordinate: output.coordinate,
|
|
823850
823860
|
credentials: output.username != null && output.password != null ? {
|
|
823851
823861
|
username: output.username,
|
|
@@ -823903,6 +823913,21 @@ function getLanguageFromGeneratorName(generatorName) {
|
|
|
823903
823913
|
}
|
|
823904
823914
|
return void 0;
|
|
823905
823915
|
}
|
|
823916
|
+
function getMavenRegistryUrl(maven) {
|
|
823917
|
+
if (maven.url != null) {
|
|
823918
|
+
return maven.url;
|
|
823919
|
+
}
|
|
823920
|
+
return maven.signature != null ? "https://oss.sonatype.org/service/local/staging/deploy/maven2/" : "https://s01.oss.sonatype.org/content/repositories/releases/";
|
|
823921
|
+
}
|
|
823922
|
+
function getGithubLicenseSchema(generator) {
|
|
823923
|
+
var _a4, _b3, _c3;
|
|
823924
|
+
if (((_a4 = generator["publish-metadata"]) == null ? void 0 : _a4.license) != null) {
|
|
823925
|
+
return generator["publish-metadata"].license;
|
|
823926
|
+
} else if (((_b3 = generator.metadata) == null ? void 0 : _b3.license) != null) {
|
|
823927
|
+
return generator.metadata.license;
|
|
823928
|
+
}
|
|
823929
|
+
return (_c3 = generator.github) == null ? void 0 : _c3.license;
|
|
823930
|
+
}
|
|
823906
823931
|
|
|
823907
823932
|
// pnp:/home/circleci/project/packages/cli/configuration/lib/generators-yml/loadGeneratorsConfiguration.js
|
|
823908
823933
|
async function loadRawGeneratorsConfiguration({ absolutePathToWorkspace, context }) {
|
|
@@ -827127,7 +827152,7 @@ var AccessTokenPosthogManager = class {
|
|
|
827127
827152
|
properties: {
|
|
827128
827153
|
...event,
|
|
827129
827154
|
...event.properties,
|
|
827130
|
-
version: "0.19.
|
|
827155
|
+
version: "0.19.29",
|
|
827131
827156
|
usingAccessToken: true
|
|
827132
827157
|
}
|
|
827133
827158
|
});
|
|
@@ -827189,7 +827214,7 @@ var UserPosthogManager = class {
|
|
|
827189
827214
|
distinctId: this.userId ?? await this.getPersistedDistinctId(),
|
|
827190
827215
|
event: "CLI",
|
|
827191
827216
|
properties: {
|
|
827192
|
-
version: "0.19.
|
|
827217
|
+
version: "0.19.29",
|
|
827193
827218
|
...event,
|
|
827194
827219
|
...event.properties
|
|
827195
827220
|
}
|
|
@@ -838178,6 +838203,7 @@ __export(schemas_exports3, {
|
|
|
838178
838203
|
BasicAuthSchemeSchema: () => BasicAuthSchemeSchema,
|
|
838179
838204
|
BearerAuthSchemeSchema: () => BearerAuthSchemeSchema,
|
|
838180
838205
|
CasingOverridesSchema: () => CasingOverridesSchema,
|
|
838206
|
+
CursorPaginationSchema: () => CursorPaginationSchema,
|
|
838181
838207
|
DeclarationSchema: () => DeclarationSchema,
|
|
838182
838208
|
DeclarationWithoutDocsSchema: () => DeclarationWithoutDocsSchema,
|
|
838183
838209
|
DefinitionFileSchema: () => DefinitionFileSchema,
|
|
@@ -838212,6 +838238,7 @@ __export(schemas_exports3, {
|
|
|
838212
838238
|
MultipleBaseUrlsEnvironmentSchema: () => MultipleBaseUrlsEnvironmentSchema,
|
|
838213
838239
|
ObjectPropertySchema: () => ObjectPropertySchema,
|
|
838214
838240
|
ObjectSchema: () => ObjectSchema,
|
|
838241
|
+
OffsetPaginationSchema: () => OffsetPaginationSchema,
|
|
838215
838242
|
PackageMarkerFileSchema: () => PackageMarkerFileSchema,
|
|
838216
838243
|
PaginationSchema: () => PaginationSchema,
|
|
838217
838244
|
PropertyErrorDiscriminationSchema: () => PropertyErrorDiscriminationSchema,
|
|
@@ -838341,6 +838368,13 @@ var CasingOverridesSchema = z.object({
|
|
|
838341
838368
|
"screaming-snake": z.optional(z.string())
|
|
838342
838369
|
});
|
|
838343
838370
|
|
|
838371
|
+
// pnp:/home/circleci/project/packages/cli/yaml/yaml-schema/lib/schemas/CursorPaginationSchema.js
|
|
838372
|
+
var CursorPaginationSchema = z.object({
|
|
838373
|
+
cursor: z.string().describe("The path to the request property for the cursor."),
|
|
838374
|
+
next_cursor: z.string().describe("The path to the response property for the next cursor."),
|
|
838375
|
+
results: z.string().describe("The path to the response property for the page elements.")
|
|
838376
|
+
});
|
|
838377
|
+
|
|
838344
838378
|
// pnp:/home/circleci/project/packages/cli/yaml/yaml-schema/lib/schemas/ObjectExtendsSchema.js
|
|
838345
838379
|
var ObjectExtendsSchema = z.union([z.string(), z.array(z.string())]);
|
|
838346
838380
|
|
|
@@ -838584,19 +838618,10 @@ var HttpResponseStreamSchema = WithDocsSchema.extend({
|
|
|
838584
838618
|
terminator: z.optional(z.string())
|
|
838585
838619
|
});
|
|
838586
838620
|
|
|
838587
|
-
// pnp:/home/circleci/project/packages/cli/yaml/yaml-schema/lib/schemas/CursorPaginationSchema.js
|
|
838588
|
-
var CursorPaginationSchema = z.object({
|
|
838589
|
-
type: z.literal("cursor").describe("Configures cursor auto-pagination."),
|
|
838590
|
-
page: z.string().describe("The request property name that represents the page cursor."),
|
|
838591
|
-
next: z.string().describe("The response property name that represents the next page cursor to retrieve."),
|
|
838592
|
-
results: z.string().describe("The response property name that represents the page elements.")
|
|
838593
|
-
});
|
|
838594
|
-
|
|
838595
838621
|
// pnp:/home/circleci/project/packages/cli/yaml/yaml-schema/lib/schemas/OffsetPaginationSchema.js
|
|
838596
838622
|
var OffsetPaginationSchema = z.object({
|
|
838597
|
-
|
|
838598
|
-
|
|
838599
|
-
results: z.string().describe("The response property name that represents the page elements.")
|
|
838623
|
+
offset: z.string().describe("The path to the request property for the page offset."),
|
|
838624
|
+
results: z.string().describe("The path to the response property for the page elements.")
|
|
838600
838625
|
});
|
|
838601
838626
|
|
|
838602
838627
|
// pnp:/home/circleci/project/packages/cli/yaml/yaml-schema/lib/schemas/PaginationSchema.js
|
|
@@ -851222,10 +851247,10 @@ var CliContext = class {
|
|
|
851222
851247
|
return "fern-api";
|
|
851223
851248
|
}
|
|
851224
851249
|
getPackageVersion() {
|
|
851225
|
-
if ("0.19.
|
|
851250
|
+
if ("0.19.29" == null) {
|
|
851226
851251
|
this.logger.error("CLI_VERSION is not defined");
|
|
851227
851252
|
}
|
|
851228
|
-
return "0.19.
|
|
851253
|
+
return "0.19.29";
|
|
851229
851254
|
}
|
|
851230
851255
|
getCliName() {
|
|
851231
851256
|
if ("fern" == null) {
|
|
@@ -854656,6 +854681,29 @@ function convertSingleUnionType({ rawValueType, rawSingleUnionType, fileContaini
|
|
|
854656
854681
|
}
|
|
854657
854682
|
}
|
|
854658
854683
|
|
|
854684
|
+
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertQueryParameter.js
|
|
854685
|
+
async function convertQueryParameter({ file, queryParameterKey, queryParameter }) {
|
|
854686
|
+
const { name: name2 } = getQueryParameterName({ queryParameterKey, queryParameter });
|
|
854687
|
+
const valueType = file.parseTypeReference(queryParameter);
|
|
854688
|
+
return {
|
|
854689
|
+
...await convertDeclaration(queryParameter),
|
|
854690
|
+
name: file.casingsGenerator.generateNameAndWireValue({
|
|
854691
|
+
wireValue: queryParameterKey,
|
|
854692
|
+
name: name2
|
|
854693
|
+
}),
|
|
854694
|
+
valueType,
|
|
854695
|
+
allowMultiple: typeof queryParameter !== "string" && queryParameter["allow-multiple"] != null ? queryParameter["allow-multiple"] : false
|
|
854696
|
+
};
|
|
854697
|
+
}
|
|
854698
|
+
function getQueryParameterName({ queryParameterKey, queryParameter }) {
|
|
854699
|
+
if (typeof queryParameter !== "string") {
|
|
854700
|
+
if (queryParameter.name != null) {
|
|
854701
|
+
return { name: queryParameter.name, wasExplicitlySet: true };
|
|
854702
|
+
}
|
|
854703
|
+
}
|
|
854704
|
+
return { name: queryParameterKey, wasExplicitlySet: false };
|
|
854705
|
+
}
|
|
854706
|
+
|
|
854659
854707
|
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertExampleEndpointCall.js
|
|
854660
854708
|
function convertExampleEndpointCall2({ service, endpoint, example, typeResolver, errorResolver, exampleResolver, variableResolver, file, workspace }) {
|
|
854661
854709
|
var _a4;
|
|
@@ -854999,6 +855047,76 @@ function buildUrl({ service, endpoint, example, pathParams }) {
|
|
|
854999
855047
|
return url;
|
|
855000
855048
|
}
|
|
855001
855049
|
|
|
855050
|
+
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/getObjectPropertyFromResolvedType.js
|
|
855051
|
+
async function getObjectPropertyFromResolvedType({ typeResolver, file, resolvedType, property: property5 }) {
|
|
855052
|
+
switch (resolvedType._type) {
|
|
855053
|
+
case "container":
|
|
855054
|
+
if (resolvedType.container._type === "optional") {
|
|
855055
|
+
return await getObjectPropertyFromResolvedType({
|
|
855056
|
+
typeResolver,
|
|
855057
|
+
file,
|
|
855058
|
+
resolvedType: resolvedType.container.itemType,
|
|
855059
|
+
property: property5
|
|
855060
|
+
});
|
|
855061
|
+
}
|
|
855062
|
+
break;
|
|
855063
|
+
case "named":
|
|
855064
|
+
if (isRawObjectDefinition(resolvedType.declaration)) {
|
|
855065
|
+
return await getObjectPropertyFromObjectSchema({
|
|
855066
|
+
typeResolver,
|
|
855067
|
+
file: resolvedType.file,
|
|
855068
|
+
objectSchema: resolvedType.declaration,
|
|
855069
|
+
property: property5
|
|
855070
|
+
});
|
|
855071
|
+
}
|
|
855072
|
+
break;
|
|
855073
|
+
case "primitive":
|
|
855074
|
+
case "unknown":
|
|
855075
|
+
break;
|
|
855076
|
+
default:
|
|
855077
|
+
assertNever(resolvedType);
|
|
855078
|
+
}
|
|
855079
|
+
throw new Error("Internal error; response must be an object in order to return a property as a response");
|
|
855080
|
+
}
|
|
855081
|
+
async function getObjectPropertyFromObjectSchema({ typeResolver, file, objectSchema, property: property5 }) {
|
|
855082
|
+
const properties = await getAllPropertiesForRawObjectSchema(objectSchema, file, typeResolver);
|
|
855083
|
+
const objectProperty = properties[property5];
|
|
855084
|
+
if (objectProperty == null) {
|
|
855085
|
+
throw new Error(`Response does not have a property named ${property5}.`);
|
|
855086
|
+
}
|
|
855087
|
+
return objectProperty;
|
|
855088
|
+
}
|
|
855089
|
+
async function getAllPropertiesForRawObjectSchema(objectSchema, file, typeResolver) {
|
|
855090
|
+
let extendedTypes = [];
|
|
855091
|
+
if (typeof objectSchema.extends === "string") {
|
|
855092
|
+
extendedTypes = [objectSchema.extends];
|
|
855093
|
+
} else if (Array.isArray(objectSchema.extends)) {
|
|
855094
|
+
extendedTypes = objectSchema.extends;
|
|
855095
|
+
}
|
|
855096
|
+
const properties = {};
|
|
855097
|
+
for (const extendedType of extendedTypes) {
|
|
855098
|
+
const extendedProperties = await getAllPropertiesForExtendedType(extendedType, file, typeResolver);
|
|
855099
|
+
Object.entries(extendedProperties).map(([propertyKey, objectProperty]) => {
|
|
855100
|
+
properties[propertyKey] = objectProperty;
|
|
855101
|
+
});
|
|
855102
|
+
}
|
|
855103
|
+
const objectProperties = await getObjectPropertiesFromRawObjectSchema(objectSchema, file);
|
|
855104
|
+
objectProperties.forEach((objectProperty) => {
|
|
855105
|
+
properties[objectProperty.name.name.originalName] = objectProperty;
|
|
855106
|
+
});
|
|
855107
|
+
return properties;
|
|
855108
|
+
}
|
|
855109
|
+
async function getAllPropertiesForExtendedType(extendedType, file, typeResolver) {
|
|
855110
|
+
const resolvedType = typeResolver.resolveNamedTypeOrThrow({
|
|
855111
|
+
referenceToNamedType: extendedType,
|
|
855112
|
+
file
|
|
855113
|
+
});
|
|
855114
|
+
if (resolvedType._type === "named" && isRawObjectDefinition(resolvedType.declaration)) {
|
|
855115
|
+
return await getAllPropertiesForRawObjectSchema(resolvedType.declaration, file, typeResolver);
|
|
855116
|
+
}
|
|
855117
|
+
throw new Error(`Extended type ${extendedType} must be another named type`);
|
|
855118
|
+
}
|
|
855119
|
+
|
|
855002
855120
|
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertHttpResponse.js
|
|
855003
855121
|
async function convertHttpResponse({ endpoint, file, typeResolver }) {
|
|
855004
855122
|
const { response, ["response-stream"]: responseStream } = endpoint;
|
|
@@ -855045,7 +855163,12 @@ async function convertJsonResponse(response, docs, file, typeResolver) {
|
|
|
855045
855163
|
return HttpResponse.json(JsonResponse.nestedPropertyAsResponse({
|
|
855046
855164
|
docs,
|
|
855047
855165
|
responseBodyType,
|
|
855048
|
-
responseProperty: await getObjectPropertyFromResolvedType(
|
|
855166
|
+
responseProperty: await getObjectPropertyFromResolvedType({
|
|
855167
|
+
typeResolver,
|
|
855168
|
+
file,
|
|
855169
|
+
resolvedType,
|
|
855170
|
+
property: responseProperty
|
|
855171
|
+
})
|
|
855049
855172
|
}));
|
|
855050
855173
|
}
|
|
855051
855174
|
return HttpResponse.json(JsonResponse.response({
|
|
@@ -855053,35 +855176,88 @@ async function convertJsonResponse(response, docs, file, typeResolver) {
|
|
|
855053
855176
|
responseBodyType
|
|
855054
855177
|
}));
|
|
855055
855178
|
}
|
|
855056
|
-
|
|
855057
|
-
|
|
855058
|
-
|
|
855059
|
-
|
|
855060
|
-
|
|
855061
|
-
|
|
855062
|
-
|
|
855063
|
-
|
|
855064
|
-
|
|
855065
|
-
return await getObjectPropertyFromObjectSchema(resolvedType.declaration, property5, resolvedType.file, typeResolver);
|
|
855066
|
-
}
|
|
855067
|
-
break;
|
|
855068
|
-
case "primitive":
|
|
855069
|
-
case "unknown":
|
|
855070
|
-
break;
|
|
855071
|
-
default:
|
|
855072
|
-
assertNever(resolvedType);
|
|
855179
|
+
|
|
855180
|
+
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertPaginationUtils.js
|
|
855181
|
+
function getPaginationPropertyComponents(endpointPagination) {
|
|
855182
|
+
if (isRawOffsetPaginationSchema(endpointPagination)) {
|
|
855183
|
+
return {
|
|
855184
|
+
type: "offset",
|
|
855185
|
+
offset: getRequestProperty(endpointPagination.offset),
|
|
855186
|
+
results: getResponsePropertyComponents(endpointPagination.results)
|
|
855187
|
+
};
|
|
855073
855188
|
}
|
|
855074
|
-
|
|
855189
|
+
return {
|
|
855190
|
+
type: "cursor",
|
|
855191
|
+
cursor: getRequestProperty(endpointPagination.cursor),
|
|
855192
|
+
next_cursor: getResponsePropertyComponents(endpointPagination.next_cursor),
|
|
855193
|
+
results: getResponsePropertyComponents(endpointPagination.results)
|
|
855194
|
+
};
|
|
855075
855195
|
}
|
|
855076
|
-
async function
|
|
855077
|
-
|
|
855078
|
-
|
|
855079
|
-
|
|
855196
|
+
async function getNestedObjectPropertyFromResolvedType({ typeResolver, file, resolvedType, propertyComponents }) {
|
|
855197
|
+
if (propertyComponents.length === 0) {
|
|
855198
|
+
return void 0;
|
|
855199
|
+
}
|
|
855200
|
+
if (propertyComponents.length === 1) {
|
|
855201
|
+
return await getObjectPropertyFromResolvedType({
|
|
855202
|
+
typeResolver,
|
|
855203
|
+
file,
|
|
855204
|
+
resolvedType,
|
|
855205
|
+
property: propertyComponents[0] ?? ""
|
|
855206
|
+
});
|
|
855207
|
+
}
|
|
855208
|
+
const objectSchema = maybeObjectSchema(resolvedType);
|
|
855209
|
+
if (objectSchema == null) {
|
|
855210
|
+
return void 0;
|
|
855211
|
+
}
|
|
855212
|
+
const propertyType = await getPropertyTypeFromObjectSchema({
|
|
855213
|
+
typeResolver,
|
|
855214
|
+
file,
|
|
855215
|
+
objectSchema,
|
|
855216
|
+
property: propertyComponents[0] ?? ""
|
|
855217
|
+
});
|
|
855218
|
+
const resolvedTypeProperty = typeResolver.resolveTypeOrThrow({
|
|
855219
|
+
type: propertyType,
|
|
855220
|
+
file
|
|
855221
|
+
});
|
|
855222
|
+
return getNestedObjectPropertyFromResolvedType({
|
|
855223
|
+
typeResolver,
|
|
855224
|
+
file: maybeFileFromResolvedType(resolvedTypeProperty) ?? file,
|
|
855225
|
+
resolvedType: resolvedTypeProperty,
|
|
855226
|
+
propertyComponents: propertyComponents.slice(1)
|
|
855227
|
+
});
|
|
855228
|
+
}
|
|
855229
|
+
function resolveResponseType({ endpoint, typeResolver, file }) {
|
|
855230
|
+
var _a4;
|
|
855231
|
+
return typeResolver.resolveTypeOrThrow({
|
|
855232
|
+
type: (typeof endpoint.response !== "string" ? (_a4 = endpoint.response) == null ? void 0 : _a4.type : endpoint.response) ?? "",
|
|
855233
|
+
file
|
|
855234
|
+
});
|
|
855235
|
+
}
|
|
855236
|
+
function maybeFileFromResolvedType(resolvedType) {
|
|
855237
|
+
if (resolvedType == null) {
|
|
855238
|
+
return void 0;
|
|
855239
|
+
}
|
|
855240
|
+
if (resolvedType._type === "named") {
|
|
855241
|
+
return resolvedType.file;
|
|
855242
|
+
}
|
|
855243
|
+
if (resolvedType._type === "container" && resolvedType.container._type === "optional") {
|
|
855244
|
+
return maybeFileFromResolvedType(resolvedType.container.itemType);
|
|
855245
|
+
}
|
|
855246
|
+
return void 0;
|
|
855247
|
+
}
|
|
855248
|
+
async function getPropertyTypeFromObjectSchema({ typeResolver, file, objectSchema, property: property5 }) {
|
|
855249
|
+
const properties = await getAllPropertiesForRawObjectSchema2({
|
|
855250
|
+
typeResolver,
|
|
855251
|
+
file,
|
|
855252
|
+
objectSchema
|
|
855253
|
+
});
|
|
855254
|
+
const propertyType = properties[property5];
|
|
855255
|
+
if (propertyType == null) {
|
|
855080
855256
|
throw new Error(`Response does not have a property named ${property5}.`);
|
|
855081
855257
|
}
|
|
855082
|
-
return
|
|
855258
|
+
return propertyType;
|
|
855083
855259
|
}
|
|
855084
|
-
async function
|
|
855260
|
+
async function getAllPropertiesForRawObjectSchema2({ typeResolver, file, objectSchema }) {
|
|
855085
855261
|
let extendedTypes = [];
|
|
855086
855262
|
if (typeof objectSchema.extends === "string") {
|
|
855087
855263
|
extendedTypes = [objectSchema.extends];
|
|
@@ -855090,29 +855266,165 @@ async function getAllPropertiesForRawObjectSchema(objectSchema, file, typeResolv
|
|
|
855090
855266
|
}
|
|
855091
855267
|
const properties = {};
|
|
855092
855268
|
for (const extendedType of extendedTypes) {
|
|
855093
|
-
const extendedProperties = await
|
|
855094
|
-
|
|
855095
|
-
|
|
855269
|
+
const extendedProperties = await getAllPropertiesForExtendedType2({
|
|
855270
|
+
typeResolver,
|
|
855271
|
+
file,
|
|
855272
|
+
extendedType
|
|
855273
|
+
});
|
|
855274
|
+
Object.entries(extendedProperties).map(([propertyKey, propertyType]) => {
|
|
855275
|
+
properties[propertyKey] = propertyType;
|
|
855276
|
+
});
|
|
855277
|
+
}
|
|
855278
|
+
if (objectSchema.properties != null) {
|
|
855279
|
+
Object.entries(objectSchema.properties).map(([propertyKey, propertyType]) => {
|
|
855280
|
+
properties[propertyKey] = typeof propertyType === "string" ? propertyType : propertyType.type;
|
|
855096
855281
|
});
|
|
855097
855282
|
}
|
|
855098
|
-
const objectProperties = await getObjectPropertiesFromRawObjectSchema(objectSchema, file);
|
|
855099
|
-
objectProperties.forEach((objectProperty) => {
|
|
855100
|
-
properties[objectProperty.name.name.originalName] = objectProperty;
|
|
855101
|
-
});
|
|
855102
855283
|
return properties;
|
|
855103
855284
|
}
|
|
855104
|
-
async function
|
|
855285
|
+
async function getAllPropertiesForExtendedType2({ typeResolver, file, extendedType }) {
|
|
855105
855286
|
const resolvedType = typeResolver.resolveNamedTypeOrThrow({
|
|
855106
855287
|
referenceToNamedType: extendedType,
|
|
855107
855288
|
file
|
|
855108
855289
|
});
|
|
855109
|
-
if (resolvedType._type === "named" &&
|
|
855110
|
-
return await
|
|
855290
|
+
if (resolvedType._type === "named" && isRawObjectDefinition(resolvedType.declaration)) {
|
|
855291
|
+
return await getAllPropertiesForRawObjectSchema2({
|
|
855292
|
+
typeResolver,
|
|
855293
|
+
file: maybeFileFromResolvedType(resolvedType) ?? file,
|
|
855294
|
+
objectSchema: resolvedType.declaration
|
|
855295
|
+
});
|
|
855111
855296
|
}
|
|
855112
|
-
throw new Error(`Extended type ${extendedType} must be another named type
|
|
855297
|
+
throw new Error(`Extended type ${extendedType} must be another named type.`);
|
|
855113
855298
|
}
|
|
855114
|
-
function
|
|
855115
|
-
|
|
855299
|
+
function maybeObjectSchema(resolvedType) {
|
|
855300
|
+
if (resolvedType == null) {
|
|
855301
|
+
return void 0;
|
|
855302
|
+
}
|
|
855303
|
+
if (resolvedType._type === "named" && isRawObjectDefinition(resolvedType.declaration)) {
|
|
855304
|
+
return resolvedType.declaration;
|
|
855305
|
+
}
|
|
855306
|
+
if (resolvedType._type === "container" && resolvedType.container._type === "optional") {
|
|
855307
|
+
return maybeObjectSchema(resolvedType.container.itemType);
|
|
855308
|
+
}
|
|
855309
|
+
return void 0;
|
|
855310
|
+
}
|
|
855311
|
+
function getRequestProperty(value) {
|
|
855312
|
+
return value.substring("$request.".length);
|
|
855313
|
+
}
|
|
855314
|
+
function getResponsePropertyComponents(value) {
|
|
855315
|
+
const trimmed = value.substring("$response.".length);
|
|
855316
|
+
return (trimmed == null ? void 0 : trimmed.split(".")) ?? [];
|
|
855317
|
+
}
|
|
855318
|
+
function isRawOffsetPaginationSchema(rawPaginationSchema) {
|
|
855319
|
+
return rawPaginationSchema.offset != null && rawPaginationSchema.results != null;
|
|
855320
|
+
}
|
|
855321
|
+
|
|
855322
|
+
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertCursorPagination.js
|
|
855323
|
+
async function convertCursorPagination({ typeResolver, file, endpointSchema, paginationPropertyComponents }) {
|
|
855324
|
+
var _a4, _b3, _c3;
|
|
855325
|
+
const queryParameterSchema = typeof endpointSchema.request !== "string" && ((_a4 = endpointSchema.request) == null ? void 0 : _a4["query-parameters"]) != null ? (_c3 = (_b3 = endpointSchema == null ? void 0 : endpointSchema.request) == null ? void 0 : _b3["query-parameters"]) == null ? void 0 : _c3[paginationPropertyComponents.cursor] : void 0;
|
|
855326
|
+
if (queryParameterSchema == null) {
|
|
855327
|
+
return void 0;
|
|
855328
|
+
}
|
|
855329
|
+
const resolvedResponseType = resolveResponseType({
|
|
855330
|
+
typeResolver,
|
|
855331
|
+
file,
|
|
855332
|
+
endpoint: endpointSchema
|
|
855333
|
+
});
|
|
855334
|
+
const nextCursorObjectProperty = await getNestedObjectPropertyFromResolvedType({
|
|
855335
|
+
typeResolver,
|
|
855336
|
+
file: maybeFileFromResolvedType(resolvedResponseType) ?? file,
|
|
855337
|
+
resolvedType: resolvedResponseType,
|
|
855338
|
+
propertyComponents: paginationPropertyComponents.next_cursor
|
|
855339
|
+
});
|
|
855340
|
+
if (nextCursorObjectProperty == null) {
|
|
855341
|
+
return void 0;
|
|
855342
|
+
}
|
|
855343
|
+
const resultsObjectProperty = await getNestedObjectPropertyFromResolvedType({
|
|
855344
|
+
typeResolver,
|
|
855345
|
+
file: maybeFileFromResolvedType(resolvedResponseType) ?? file,
|
|
855346
|
+
resolvedType: resolvedResponseType,
|
|
855347
|
+
propertyComponents: paginationPropertyComponents.results
|
|
855348
|
+
});
|
|
855349
|
+
if (resultsObjectProperty == null) {
|
|
855350
|
+
return void 0;
|
|
855351
|
+
}
|
|
855352
|
+
return Pagination.cursor({
|
|
855353
|
+
page: await convertQueryParameter({
|
|
855354
|
+
file,
|
|
855355
|
+
queryParameterKey: paginationPropertyComponents.cursor,
|
|
855356
|
+
queryParameter: queryParameterSchema
|
|
855357
|
+
}),
|
|
855358
|
+
next: {
|
|
855359
|
+
propertyPath: paginationPropertyComponents.next_cursor.map((property5) => file.casingsGenerator.generateName(property5)),
|
|
855360
|
+
property: nextCursorObjectProperty
|
|
855361
|
+
},
|
|
855362
|
+
results: {
|
|
855363
|
+
propertyPath: paginationPropertyComponents.results.map((property5) => file.casingsGenerator.generateName(property5)),
|
|
855364
|
+
property: resultsObjectProperty
|
|
855365
|
+
}
|
|
855366
|
+
});
|
|
855367
|
+
}
|
|
855368
|
+
|
|
855369
|
+
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertOffsetPagination.js
|
|
855370
|
+
async function convertOffsetPagination({ typeResolver, file, endpointSchema, paginationPropertyComponents }) {
|
|
855371
|
+
var _a4, _b3, _c3;
|
|
855372
|
+
const queryParameterSchema = typeof endpointSchema.request !== "string" && ((_a4 = endpointSchema.request) == null ? void 0 : _a4["query-parameters"]) != null ? (_c3 = (_b3 = endpointSchema == null ? void 0 : endpointSchema.request) == null ? void 0 : _b3["query-parameters"]) == null ? void 0 : _c3[paginationPropertyComponents.offset] : void 0;
|
|
855373
|
+
if (queryParameterSchema == null) {
|
|
855374
|
+
return void 0;
|
|
855375
|
+
}
|
|
855376
|
+
const resolvedResponseType = resolveResponseType({
|
|
855377
|
+
typeResolver,
|
|
855378
|
+
file,
|
|
855379
|
+
endpoint: endpointSchema
|
|
855380
|
+
});
|
|
855381
|
+
const resultsObjectProperty = await getNestedObjectPropertyFromResolvedType({
|
|
855382
|
+
typeResolver,
|
|
855383
|
+
file: maybeFileFromResolvedType(resolvedResponseType) ?? file,
|
|
855384
|
+
resolvedType: resolvedResponseType,
|
|
855385
|
+
propertyComponents: paginationPropertyComponents.results
|
|
855386
|
+
});
|
|
855387
|
+
if (resultsObjectProperty == null) {
|
|
855388
|
+
return void 0;
|
|
855389
|
+
}
|
|
855390
|
+
return Pagination.offset({
|
|
855391
|
+
page: await convertQueryParameter({
|
|
855392
|
+
file,
|
|
855393
|
+
queryParameterKey: paginationPropertyComponents.offset,
|
|
855394
|
+
queryParameter: queryParameterSchema
|
|
855395
|
+
}),
|
|
855396
|
+
results: {
|
|
855397
|
+
propertyPath: paginationPropertyComponents.results.map((property5) => file.casingsGenerator.generateName(property5)),
|
|
855398
|
+
property: resultsObjectProperty
|
|
855399
|
+
}
|
|
855400
|
+
});
|
|
855401
|
+
}
|
|
855402
|
+
|
|
855403
|
+
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertPagination.js
|
|
855404
|
+
async function convertPagination({ typeResolver, file, endpointSchema }) {
|
|
855405
|
+
const endpointPagination = typeof endpointSchema.pagination === "boolean" ? file.rootApiFile.pagination : endpointSchema.pagination;
|
|
855406
|
+
if (!endpointPagination) {
|
|
855407
|
+
return void 0;
|
|
855408
|
+
}
|
|
855409
|
+
const paginationPropertyComponents = getPaginationPropertyComponents(endpointPagination);
|
|
855410
|
+
switch (paginationPropertyComponents.type) {
|
|
855411
|
+
case "cursor":
|
|
855412
|
+
return await convertCursorPagination({
|
|
855413
|
+
typeResolver,
|
|
855414
|
+
file,
|
|
855415
|
+
endpointSchema,
|
|
855416
|
+
paginationPropertyComponents
|
|
855417
|
+
});
|
|
855418
|
+
case "offset":
|
|
855419
|
+
return convertOffsetPagination({
|
|
855420
|
+
typeResolver,
|
|
855421
|
+
file,
|
|
855422
|
+
endpointSchema,
|
|
855423
|
+
paginationPropertyComponents
|
|
855424
|
+
});
|
|
855425
|
+
default:
|
|
855426
|
+
assertNever(paginationPropertyComponents);
|
|
855427
|
+
}
|
|
855116
855428
|
}
|
|
855117
855429
|
|
|
855118
855430
|
// pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/converters/services/convertResponseErrors.js
|
|
@@ -855139,7 +855451,7 @@ async function convertHttpService({ rootPathParameters, serviceDefinition, file,
|
|
|
855139
855451
|
variableResolver
|
|
855140
855452
|
});
|
|
855141
855453
|
const serviceName = { fernFilepath: file.fernFilepath };
|
|
855142
|
-
|
|
855454
|
+
const service = {
|
|
855143
855455
|
availability: convertAvailability(serviceDefinition.availability),
|
|
855144
855456
|
name: serviceName,
|
|
855145
855457
|
displayName: serviceDefinition["display-name"] ?? void 0,
|
|
@@ -855168,17 +855480,11 @@ async function convertHttpService({ rootPathParameters, serviceDefinition, file,
|
|
|
855168
855480
|
pathParameters: endpointPathParameters,
|
|
855169
855481
|
allPathParameters: [...rootPathParameters, ...servicePathParameters, ...endpointPathParameters],
|
|
855170
855482
|
queryParameters: typeof endpoint.request !== "string" && ((_a4 = endpoint.request) == null ? void 0 : _a4["query-parameters"]) != null ? await Promise.all(Object.entries(endpoint.request["query-parameters"]).map(async ([queryParameterKey, queryParameter]) => {
|
|
855171
|
-
|
|
855172
|
-
|
|
855173
|
-
|
|
855174
|
-
|
|
855175
|
-
|
|
855176
|
-
wireValue: queryParameterKey,
|
|
855177
|
-
name: name2
|
|
855178
|
-
}),
|
|
855179
|
-
valueType,
|
|
855180
|
-
allowMultiple: typeof queryParameter !== "string" && queryParameter["allow-multiple"] != null ? queryParameter["allow-multiple"] : false
|
|
855181
|
-
};
|
|
855483
|
+
return await convertQueryParameter({
|
|
855484
|
+
file,
|
|
855485
|
+
queryParameterKey,
|
|
855486
|
+
queryParameter
|
|
855487
|
+
});
|
|
855182
855488
|
})) : [],
|
|
855183
855489
|
headers: typeof endpoint.request !== "string" && ((_b3 = endpoint.request) == null ? void 0 : _b3.headers) != null ? await Promise.all(Object.entries(endpoint.request.headers).map(([headerKey, header]) => convertHttpHeader({ headerKey, header, file }))) : [],
|
|
855184
855490
|
requestBody: convertHttpRequestBody({ request: endpoint.request, file }),
|
|
@@ -855201,12 +855507,17 @@ async function convertHttpService({ rootPathParameters, serviceDefinition, file,
|
|
|
855201
855507
|
file,
|
|
855202
855508
|
workspace
|
|
855203
855509
|
})) : [],
|
|
855204
|
-
pagination:
|
|
855510
|
+
pagination: await convertPagination({
|
|
855511
|
+
typeResolver,
|
|
855512
|
+
file,
|
|
855513
|
+
endpointSchema: endpoint
|
|
855514
|
+
})
|
|
855205
855515
|
};
|
|
855206
855516
|
httpEndpoint.id = IdGenerator.generateEndpointId(serviceName, httpEndpoint);
|
|
855207
855517
|
return httpEndpoint;
|
|
855208
855518
|
}))
|
|
855209
855519
|
};
|
|
855520
|
+
return service;
|
|
855210
855521
|
}
|
|
855211
855522
|
async function convertPathParameters2({ pathParameters, location: location2, file, variableResolver }) {
|
|
855212
855523
|
if (pathParameters == null) {
|
|
@@ -855267,14 +855578,6 @@ function resolvePathParameter({ parameter, variableResolver, file }) {
|
|
|
855267
855578
|
};
|
|
855268
855579
|
}
|
|
855269
855580
|
}
|
|
855270
|
-
function getQueryParameterName({ queryParameterKey, queryParameter }) {
|
|
855271
|
-
if (typeof queryParameter !== "string") {
|
|
855272
|
-
if (queryParameter.name != null) {
|
|
855273
|
-
return { name: queryParameter.name, wasExplicitlySet: true };
|
|
855274
|
-
}
|
|
855275
|
-
}
|
|
855276
|
-
return { name: queryParameterKey, wasExplicitlySet: false };
|
|
855277
|
-
}
|
|
855278
855581
|
function convertHttpMethod2(method2) {
|
|
855279
855582
|
switch (method2) {
|
|
855280
855583
|
case "GET":
|
|
@@ -859596,7 +859899,7 @@ function resolvedTypeHasProperty(resolvedType, property5, file, typeResolver) {
|
|
|
859596
859899
|
}
|
|
859597
859900
|
return resolvedTypeHasProperty(resolvedType.container.itemType, property5, file, typeResolver);
|
|
859598
859901
|
case "named":
|
|
859599
|
-
if (!
|
|
859902
|
+
if (!isRawObjectDefinition2(resolvedType.declaration)) {
|
|
859600
859903
|
return Result.IsNotObject;
|
|
859601
859904
|
}
|
|
859602
859905
|
if (rawObjectSchemaHasProperty(resolvedType.declaration, property5, file, typeResolver)) {
|
|
@@ -859611,10 +859914,10 @@ function resolvedTypeHasProperty(resolvedType, property5, file, typeResolver) {
|
|
|
859611
859914
|
}
|
|
859612
859915
|
}
|
|
859613
859916
|
function rawObjectSchemaHasProperty(objectSchema, property5, file, typeResolver) {
|
|
859614
|
-
const properties =
|
|
859917
|
+
const properties = getAllPropertiesForRawObjectSchema3(objectSchema, file, typeResolver);
|
|
859615
859918
|
return properties.has(property5);
|
|
859616
859919
|
}
|
|
859617
|
-
function
|
|
859920
|
+
function getAllPropertiesForRawObjectSchema3(objectSchema, file, typeResolver) {
|
|
859618
859921
|
let extendedTypes = [];
|
|
859619
859922
|
if (typeof objectSchema.extends === "string") {
|
|
859620
859923
|
extendedTypes = [objectSchema.extends];
|
|
@@ -859623,7 +859926,7 @@ function getAllPropertiesForRawObjectSchema2(objectSchema, file, typeResolver) {
|
|
|
859623
859926
|
}
|
|
859624
859927
|
const properties = /* @__PURE__ */ new Set();
|
|
859625
859928
|
for (const extendedType of extendedTypes) {
|
|
859626
|
-
for (const extendedProperty of
|
|
859929
|
+
for (const extendedProperty of getAllPropertiesForExtendedType3(extendedType, file, typeResolver)) {
|
|
859627
859930
|
properties.add(extendedProperty);
|
|
859628
859931
|
}
|
|
859629
859932
|
}
|
|
@@ -859632,17 +859935,17 @@ function getAllPropertiesForRawObjectSchema2(objectSchema, file, typeResolver) {
|
|
|
859632
859935
|
}
|
|
859633
859936
|
return properties;
|
|
859634
859937
|
}
|
|
859635
|
-
function
|
|
859938
|
+
function getAllPropertiesForExtendedType3(extendedType, file, typeResolver) {
|
|
859636
859939
|
const resolvedType = typeResolver.resolveNamedTypeOrThrow({
|
|
859637
859940
|
referenceToNamedType: extendedType,
|
|
859638
859941
|
file
|
|
859639
859942
|
});
|
|
859640
|
-
if (resolvedType._type === "named" &&
|
|
859641
|
-
return
|
|
859943
|
+
if (resolvedType._type === "named" && isRawObjectDefinition2(resolvedType.declaration)) {
|
|
859944
|
+
return getAllPropertiesForRawObjectSchema3(resolvedType.declaration, file, typeResolver);
|
|
859642
859945
|
}
|
|
859643
859946
|
return /* @__PURE__ */ new Set();
|
|
859644
859947
|
}
|
|
859645
|
-
function
|
|
859948
|
+
function isRawObjectDefinition2(namedDeclaration) {
|
|
859646
859949
|
return namedDeclaration.extends != null || namedDeclaration.properties != null;
|
|
859647
859950
|
}
|
|
859648
859951
|
|
|
@@ -860582,6 +860885,422 @@ var ValidNavigationRule = {
|
|
|
860582
860885
|
}
|
|
860583
860886
|
};
|
|
860584
860887
|
|
|
860888
|
+
// pnp:/home/circleci/project/packages/cli/yaml/validator/lib/rules/valid-pagination/validateUtils.js
|
|
860889
|
+
var REQUEST_PREFIX2 = "$request.";
|
|
860890
|
+
var RESPONSE_PREFIX = "$response.";
|
|
860891
|
+
function validateResultsProperty({ endpointId, typeResolver, file, resolvedResponseType, resultsProperty }) {
|
|
860892
|
+
return validateResponseProperty({
|
|
860893
|
+
endpointId,
|
|
860894
|
+
typeResolver,
|
|
860895
|
+
file,
|
|
860896
|
+
resolvedResponseType,
|
|
860897
|
+
responseProperty: resultsProperty,
|
|
860898
|
+
propertyValidator: {
|
|
860899
|
+
propertyID: "results",
|
|
860900
|
+
validate: isValidResultsProperty
|
|
860901
|
+
}
|
|
860902
|
+
});
|
|
860903
|
+
}
|
|
860904
|
+
function validateQueryParameterProperty({ endpointId, endpoint, typeResolver, file, queryParameterProperty, propertyValidator }) {
|
|
860905
|
+
var _a4;
|
|
860906
|
+
const violations = [];
|
|
860907
|
+
const queryPropertyComponents = getRequestPropertyComponents(queryParameterProperty);
|
|
860908
|
+
if (queryPropertyComponents == null) {
|
|
860909
|
+
violations.push({
|
|
860910
|
+
severity: "error",
|
|
860911
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} must define a dot-delimited '${propertyValidator.propertyID}' property starting with $request (e.g. $request.${propertyValidator.propertyID}).`
|
|
860912
|
+
});
|
|
860913
|
+
return violations;
|
|
860914
|
+
}
|
|
860915
|
+
const queryPropertyName = queryPropertyComponents == null ? void 0 : queryPropertyComponents[0];
|
|
860916
|
+
if (queryPropertyName == null || queryPropertyComponents.length !== 1) {
|
|
860917
|
+
violations.push({
|
|
860918
|
+
severity: "error",
|
|
860919
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} is only compatible with '${propertyValidator.propertyID}' properties that are defined as query parameters (e.g. $request.${propertyValidator.propertyID}).`
|
|
860920
|
+
});
|
|
860921
|
+
return violations;
|
|
860922
|
+
}
|
|
860923
|
+
const queryParameters = typeof endpoint.request !== "string" ? (_a4 = endpoint.request) == null ? void 0 : _a4["query-parameters"] : null;
|
|
860924
|
+
if (queryParameters == null) {
|
|
860925
|
+
violations.push({
|
|
860926
|
+
severity: "error",
|
|
860927
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} specifies '${propertyValidator.propertyID}' ${queryParameterProperty}, but that query parameter does not exist.`
|
|
860928
|
+
});
|
|
860929
|
+
return violations;
|
|
860930
|
+
}
|
|
860931
|
+
const queryParameter = queryParameters[queryPropertyName];
|
|
860932
|
+
if (queryParameter == null) {
|
|
860933
|
+
violations.push({
|
|
860934
|
+
severity: "error",
|
|
860935
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} specifies '${propertyValidator.propertyID}' ${queryParameterProperty}, but that query parameter does not exist.`
|
|
860936
|
+
});
|
|
860937
|
+
return violations;
|
|
860938
|
+
}
|
|
860939
|
+
const queryParameterType = typeof queryParameter !== "string" ? queryParameter.type : queryParameter;
|
|
860940
|
+
const resolvedQueryParameterType = typeResolver.resolveType({
|
|
860941
|
+
type: queryParameterType,
|
|
860942
|
+
file
|
|
860943
|
+
});
|
|
860944
|
+
if (!propertyValidator.validate({
|
|
860945
|
+
typeResolver,
|
|
860946
|
+
file: maybeFileFromResolvedType2(resolvedQueryParameterType) ?? file,
|
|
860947
|
+
resolvedType: resolvedQueryParameterType,
|
|
860948
|
+
propertyComponents: queryPropertyComponents.slice(1)
|
|
860949
|
+
})) {
|
|
860950
|
+
violations.push({
|
|
860951
|
+
severity: "error",
|
|
860952
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} specifies '${propertyValidator.propertyID}' ${queryParameterProperty}, which is not a valid '${propertyValidator.propertyID}' type.`
|
|
860953
|
+
});
|
|
860954
|
+
}
|
|
860955
|
+
return violations;
|
|
860956
|
+
}
|
|
860957
|
+
function validateResponseProperty({ endpointId, typeResolver, file, resolvedResponseType, responseProperty, propertyValidator }) {
|
|
860958
|
+
const violations = [];
|
|
860959
|
+
const responsePropertyComponents = getResponsePropertyComponents2(responseProperty);
|
|
860960
|
+
if (responsePropertyComponents == null) {
|
|
860961
|
+
violations.push({
|
|
860962
|
+
severity: "error",
|
|
860963
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} must define a dot-delimited '${propertyValidator.propertyID}' property starting with $response (e.g. $response.${propertyValidator.propertyID}).`
|
|
860964
|
+
});
|
|
860965
|
+
}
|
|
860966
|
+
if (responsePropertyComponents != null && !propertyValidator.validate({
|
|
860967
|
+
typeResolver,
|
|
860968
|
+
file,
|
|
860969
|
+
resolvedType: resolvedResponseType,
|
|
860970
|
+
propertyComponents: responsePropertyComponents
|
|
860971
|
+
})) {
|
|
860972
|
+
violations.push({
|
|
860973
|
+
severity: "error",
|
|
860974
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} specifies '${propertyValidator.propertyID}' ${responseProperty}, which is not a valid '${propertyValidator.propertyID}' type.`
|
|
860975
|
+
});
|
|
860976
|
+
}
|
|
860977
|
+
return violations;
|
|
860978
|
+
}
|
|
860979
|
+
function resolvedTypeHasProperty2({ typeResolver, file, resolvedType, propertyComponents, validate: validate3 }) {
|
|
860980
|
+
if (propertyComponents.length === 0) {
|
|
860981
|
+
return validate3(resolvedType);
|
|
860982
|
+
}
|
|
860983
|
+
const objectSchema = maybeObjectSchema2(resolvedType);
|
|
860984
|
+
if (objectSchema == null) {
|
|
860985
|
+
return false;
|
|
860986
|
+
}
|
|
860987
|
+
const property5 = getPropertyTypeFromObjectSchema2({
|
|
860988
|
+
typeResolver,
|
|
860989
|
+
file,
|
|
860990
|
+
objectSchema,
|
|
860991
|
+
property: propertyComponents[0] ?? ""
|
|
860992
|
+
});
|
|
860993
|
+
if (property5 == null) {
|
|
860994
|
+
return false;
|
|
860995
|
+
}
|
|
860996
|
+
const resolvedTypeProperty = typeResolver.resolveType({
|
|
860997
|
+
type: property5,
|
|
860998
|
+
file
|
|
860999
|
+
});
|
|
861000
|
+
return resolvedTypeHasProperty2({
|
|
861001
|
+
typeResolver,
|
|
861002
|
+
file: maybeFileFromResolvedType2(resolvedTypeProperty) ?? file,
|
|
861003
|
+
resolvedType: resolvedTypeProperty,
|
|
861004
|
+
propertyComponents: propertyComponents.slice(1),
|
|
861005
|
+
validate: validate3
|
|
861006
|
+
});
|
|
861007
|
+
}
|
|
861008
|
+
function resolveResponseType2({ endpoint, typeResolver, file }) {
|
|
861009
|
+
var _a4;
|
|
861010
|
+
const responseType = typeof endpoint.response !== "string" ? (_a4 = endpoint.response) == null ? void 0 : _a4.type : endpoint.response;
|
|
861011
|
+
if (responseType == null) {
|
|
861012
|
+
return void 0;
|
|
861013
|
+
}
|
|
861014
|
+
return typeResolver.resolveType({
|
|
861015
|
+
type: responseType,
|
|
861016
|
+
file
|
|
861017
|
+
});
|
|
861018
|
+
}
|
|
861019
|
+
function maybePrimitiveType(resolvedType) {
|
|
861020
|
+
if ((resolvedType == null ? void 0 : resolvedType._type) === "primitive") {
|
|
861021
|
+
return resolvedType.primitive;
|
|
861022
|
+
}
|
|
861023
|
+
if ((resolvedType == null ? void 0 : resolvedType._type) === "container" && resolvedType.container._type === "optional") {
|
|
861024
|
+
return maybePrimitiveType(resolvedType.container.itemType);
|
|
861025
|
+
}
|
|
861026
|
+
return void 0;
|
|
861027
|
+
}
|
|
861028
|
+
function maybeFileFromResolvedType2(resolvedType) {
|
|
861029
|
+
if (resolvedType == null) {
|
|
861030
|
+
return void 0;
|
|
861031
|
+
}
|
|
861032
|
+
if (resolvedType._type === "named") {
|
|
861033
|
+
return resolvedType.file;
|
|
861034
|
+
}
|
|
861035
|
+
if (resolvedType._type === "container" && resolvedType.container._type === "optional") {
|
|
861036
|
+
return maybeFileFromResolvedType2(resolvedType.container.itemType);
|
|
861037
|
+
}
|
|
861038
|
+
return void 0;
|
|
861039
|
+
}
|
|
861040
|
+
function getPropertyTypeFromObjectSchema2({ typeResolver, file, objectSchema, property: property5 }) {
|
|
861041
|
+
const properties = getAllPropertiesForRawObjectSchema4({
|
|
861042
|
+
typeResolver,
|
|
861043
|
+
file,
|
|
861044
|
+
objectSchema
|
|
861045
|
+
});
|
|
861046
|
+
return properties[property5];
|
|
861047
|
+
}
|
|
861048
|
+
function getAllPropertiesForRawObjectSchema4({ typeResolver, file, objectSchema }) {
|
|
861049
|
+
let extendedTypes = [];
|
|
861050
|
+
if (typeof objectSchema.extends === "string") {
|
|
861051
|
+
extendedTypes = [objectSchema.extends];
|
|
861052
|
+
} else if (Array.isArray(objectSchema.extends)) {
|
|
861053
|
+
extendedTypes = objectSchema.extends;
|
|
861054
|
+
}
|
|
861055
|
+
const properties = {};
|
|
861056
|
+
for (const extendedType of extendedTypes) {
|
|
861057
|
+
const extendedProperties = getAllPropertiesForExtendedType4({
|
|
861058
|
+
typeResolver,
|
|
861059
|
+
file,
|
|
861060
|
+
extendedType
|
|
861061
|
+
});
|
|
861062
|
+
Object.entries(extendedProperties).map(([propertyKey, propertyType]) => {
|
|
861063
|
+
properties[propertyKey] = propertyType;
|
|
861064
|
+
});
|
|
861065
|
+
}
|
|
861066
|
+
if (objectSchema.properties != null) {
|
|
861067
|
+
Object.entries(objectSchema.properties).map(([propertyKey, propertyType]) => {
|
|
861068
|
+
properties[propertyKey] = typeof propertyType === "string" ? propertyType : propertyType.type;
|
|
861069
|
+
});
|
|
861070
|
+
}
|
|
861071
|
+
return properties;
|
|
861072
|
+
}
|
|
861073
|
+
function getAllPropertiesForExtendedType4({ typeResolver, file, extendedType }) {
|
|
861074
|
+
const resolvedType = typeResolver.resolveNamedTypeOrThrow({
|
|
861075
|
+
referenceToNamedType: extendedType,
|
|
861076
|
+
file
|
|
861077
|
+
});
|
|
861078
|
+
if (resolvedType._type === "named" && isRawObjectDefinition(resolvedType.declaration)) {
|
|
861079
|
+
return getAllPropertiesForRawObjectSchema4({
|
|
861080
|
+
typeResolver,
|
|
861081
|
+
file: maybeFileFromResolvedType2(resolvedType) ?? file,
|
|
861082
|
+
objectSchema: resolvedType.declaration
|
|
861083
|
+
});
|
|
861084
|
+
}
|
|
861085
|
+
return {};
|
|
861086
|
+
}
|
|
861087
|
+
function isValidResultsProperty({ typeResolver, file, resolvedType, propertyComponents }) {
|
|
861088
|
+
return resolvedTypeHasProperty2({
|
|
861089
|
+
typeResolver,
|
|
861090
|
+
file,
|
|
861091
|
+
resolvedType,
|
|
861092
|
+
propertyComponents,
|
|
861093
|
+
validate: isValidResultsType
|
|
861094
|
+
});
|
|
861095
|
+
}
|
|
861096
|
+
function isValidResultsType(resolvedType) {
|
|
861097
|
+
return true;
|
|
861098
|
+
}
|
|
861099
|
+
function maybeObjectSchema2(resolvedType) {
|
|
861100
|
+
if (resolvedType == null) {
|
|
861101
|
+
return void 0;
|
|
861102
|
+
}
|
|
861103
|
+
if (resolvedType._type === "named" && isRawObjectDefinition(resolvedType.declaration)) {
|
|
861104
|
+
return resolvedType.declaration;
|
|
861105
|
+
}
|
|
861106
|
+
if (resolvedType._type === "container" && resolvedType.container._type === "optional") {
|
|
861107
|
+
return maybeObjectSchema2(resolvedType.container.itemType);
|
|
861108
|
+
}
|
|
861109
|
+
return void 0;
|
|
861110
|
+
}
|
|
861111
|
+
function getRequestPropertyComponents(value) {
|
|
861112
|
+
const trimmed = trimPrefix(value, REQUEST_PREFIX2);
|
|
861113
|
+
return trimmed == null ? void 0 : trimmed.split(".");
|
|
861114
|
+
}
|
|
861115
|
+
function getResponsePropertyComponents2(value) {
|
|
861116
|
+
const trimmed = trimPrefix(value, RESPONSE_PREFIX);
|
|
861117
|
+
return trimmed == null ? void 0 : trimmed.split(".");
|
|
861118
|
+
}
|
|
861119
|
+
function trimPrefix(value, prefix) {
|
|
861120
|
+
if (value.startsWith(prefix)) {
|
|
861121
|
+
return value.substring(prefix.length);
|
|
861122
|
+
}
|
|
861123
|
+
return null;
|
|
861124
|
+
}
|
|
861125
|
+
|
|
861126
|
+
// pnp:/home/circleci/project/packages/cli/yaml/validator/lib/rules/valid-pagination/validateCursorPagination.js
|
|
861127
|
+
function validateCursorPagination({ endpointId, endpoint, typeResolver, file, cursorPagination }) {
|
|
861128
|
+
const violations = [];
|
|
861129
|
+
violations.push(...validateCursorProperty({
|
|
861130
|
+
endpointId,
|
|
861131
|
+
endpoint,
|
|
861132
|
+
typeResolver,
|
|
861133
|
+
file,
|
|
861134
|
+
cursorPagination
|
|
861135
|
+
}));
|
|
861136
|
+
const resolvedResponseType = resolveResponseType2({ endpoint, typeResolver, file });
|
|
861137
|
+
if (resolvedResponseType == null) {
|
|
861138
|
+
violations.push({
|
|
861139
|
+
severity: "error",
|
|
861140
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} must define a response type.`
|
|
861141
|
+
});
|
|
861142
|
+
return violations;
|
|
861143
|
+
}
|
|
861144
|
+
violations.push(...validateNextCursorProperty({
|
|
861145
|
+
endpointId,
|
|
861146
|
+
typeResolver,
|
|
861147
|
+
file: maybeFileFromResolvedType2(resolvedResponseType) ?? file,
|
|
861148
|
+
resolvedResponseType,
|
|
861149
|
+
nextProperty: cursorPagination.next_cursor
|
|
861150
|
+
}));
|
|
861151
|
+
violations.push(...validateResultsProperty({
|
|
861152
|
+
endpointId,
|
|
861153
|
+
typeResolver,
|
|
861154
|
+
file: maybeFileFromResolvedType2(resolvedResponseType) ?? file,
|
|
861155
|
+
resolvedResponseType,
|
|
861156
|
+
resultsProperty: cursorPagination.results
|
|
861157
|
+
}));
|
|
861158
|
+
return violations;
|
|
861159
|
+
}
|
|
861160
|
+
function validateCursorProperty({ endpointId, endpoint, typeResolver, file, cursorPagination }) {
|
|
861161
|
+
return validateQueryParameterProperty({
|
|
861162
|
+
endpointId,
|
|
861163
|
+
endpoint,
|
|
861164
|
+
typeResolver,
|
|
861165
|
+
file,
|
|
861166
|
+
queryParameterProperty: cursorPagination.cursor,
|
|
861167
|
+
propertyValidator: {
|
|
861168
|
+
propertyID: "cursor",
|
|
861169
|
+
validate: isValidCursorProperty
|
|
861170
|
+
}
|
|
861171
|
+
});
|
|
861172
|
+
}
|
|
861173
|
+
function validateNextCursorProperty({ endpointId, typeResolver, file, resolvedResponseType, nextProperty }) {
|
|
861174
|
+
return validateResponseProperty({
|
|
861175
|
+
endpointId,
|
|
861176
|
+
typeResolver,
|
|
861177
|
+
file,
|
|
861178
|
+
resolvedResponseType,
|
|
861179
|
+
responseProperty: nextProperty,
|
|
861180
|
+
propertyValidator: {
|
|
861181
|
+
propertyID: "next_cursor",
|
|
861182
|
+
validate: isValidCursorProperty
|
|
861183
|
+
}
|
|
861184
|
+
});
|
|
861185
|
+
}
|
|
861186
|
+
function isValidCursorProperty({ typeResolver, file, resolvedType, propertyComponents }) {
|
|
861187
|
+
return resolvedTypeHasProperty2({
|
|
861188
|
+
typeResolver,
|
|
861189
|
+
file,
|
|
861190
|
+
resolvedType,
|
|
861191
|
+
propertyComponents,
|
|
861192
|
+
validate: isValidCursorType
|
|
861193
|
+
});
|
|
861194
|
+
}
|
|
861195
|
+
function isValidCursorType(resolvedType) {
|
|
861196
|
+
const primitiveType = maybePrimitiveType(resolvedType);
|
|
861197
|
+
if (primitiveType == null) {
|
|
861198
|
+
return false;
|
|
861199
|
+
}
|
|
861200
|
+
return primitiveType !== "BOOLEAN";
|
|
861201
|
+
}
|
|
861202
|
+
|
|
861203
|
+
// pnp:/home/circleci/project/packages/cli/yaml/validator/lib/rules/valid-pagination/validateOffsetPagination.js
|
|
861204
|
+
function validateOffsetPagination({ endpointId, endpoint, typeResolver, file, offsetPagination }) {
|
|
861205
|
+
const violations = [];
|
|
861206
|
+
violations.push(...validateOffsetProperty({
|
|
861207
|
+
endpointId,
|
|
861208
|
+
endpoint,
|
|
861209
|
+
typeResolver,
|
|
861210
|
+
file,
|
|
861211
|
+
offsetPagination
|
|
861212
|
+
}));
|
|
861213
|
+
const resolvedResponseType = resolveResponseType2({ endpoint, typeResolver, file });
|
|
861214
|
+
if (resolvedResponseType == null) {
|
|
861215
|
+
violations.push({
|
|
861216
|
+
severity: "error",
|
|
861217
|
+
message: `Pagination configuration for endpoint ${source_default.bold(endpointId)} must define a response type.`
|
|
861218
|
+
});
|
|
861219
|
+
return violations;
|
|
861220
|
+
}
|
|
861221
|
+
violations.push(...validateResultsProperty({
|
|
861222
|
+
endpointId,
|
|
861223
|
+
typeResolver,
|
|
861224
|
+
file: maybeFileFromResolvedType2(resolvedResponseType) ?? file,
|
|
861225
|
+
resolvedResponseType,
|
|
861226
|
+
resultsProperty: offsetPagination.results
|
|
861227
|
+
}));
|
|
861228
|
+
return violations;
|
|
861229
|
+
}
|
|
861230
|
+
function validateOffsetProperty({ endpointId, endpoint, typeResolver, file, offsetPagination }) {
|
|
861231
|
+
return validateQueryParameterProperty({
|
|
861232
|
+
endpointId,
|
|
861233
|
+
endpoint,
|
|
861234
|
+
typeResolver,
|
|
861235
|
+
file,
|
|
861236
|
+
queryParameterProperty: offsetPagination.offset,
|
|
861237
|
+
propertyValidator: {
|
|
861238
|
+
propertyID: "offset",
|
|
861239
|
+
validate: isValidOffsetProperty
|
|
861240
|
+
}
|
|
861241
|
+
});
|
|
861242
|
+
}
|
|
861243
|
+
function isValidOffsetProperty({ typeResolver, file, resolvedType, propertyComponents }) {
|
|
861244
|
+
return resolvedTypeHasProperty2({
|
|
861245
|
+
typeResolver,
|
|
861246
|
+
file,
|
|
861247
|
+
resolvedType,
|
|
861248
|
+
propertyComponents,
|
|
861249
|
+
validate: isValidOffsetType
|
|
861250
|
+
});
|
|
861251
|
+
}
|
|
861252
|
+
function isValidOffsetType(resolvedType) {
|
|
861253
|
+
const primitiveType = maybePrimitiveType(resolvedType);
|
|
861254
|
+
if (primitiveType == null) {
|
|
861255
|
+
return false;
|
|
861256
|
+
}
|
|
861257
|
+
return primitiveType === "INTEGER" || primitiveType === "LONG" || primitiveType === "DOUBLE";
|
|
861258
|
+
}
|
|
861259
|
+
|
|
861260
|
+
// pnp:/home/circleci/project/packages/cli/yaml/validator/lib/rules/valid-pagination/valid-pagination.js
|
|
861261
|
+
var ValidPaginationRule = {
|
|
861262
|
+
name: "valid-pagination",
|
|
861263
|
+
create: ({ workspace }) => {
|
|
861264
|
+
const typeResolver = new TypeResolverImpl(workspace);
|
|
861265
|
+
const defaultPagination = workspace.definition.rootApiFile.contents.pagination;
|
|
861266
|
+
return {
|
|
861267
|
+
definitionFile: {
|
|
861268
|
+
httpEndpoint: ({ endpointId, endpoint }, { relativeFilepath, contents: definitionFile }) => {
|
|
861269
|
+
const endpointPagination = typeof endpoint.pagination === "boolean" ? defaultPagination : endpoint.pagination;
|
|
861270
|
+
if (!endpointPagination) {
|
|
861271
|
+
return [];
|
|
861272
|
+
}
|
|
861273
|
+
const file = constructFernFileContext({
|
|
861274
|
+
relativeFilepath,
|
|
861275
|
+
definitionFile,
|
|
861276
|
+
casingsGenerator: CASINGS_GENERATOR2,
|
|
861277
|
+
rootApiFile: workspace.definition.rootApiFile.contents
|
|
861278
|
+
});
|
|
861279
|
+
if (isRawCursorPaginationSchema(endpointPagination)) {
|
|
861280
|
+
return validateCursorPagination({
|
|
861281
|
+
endpointId,
|
|
861282
|
+
endpoint,
|
|
861283
|
+
typeResolver,
|
|
861284
|
+
file,
|
|
861285
|
+
cursorPagination: endpointPagination
|
|
861286
|
+
});
|
|
861287
|
+
}
|
|
861288
|
+
return validateOffsetPagination({
|
|
861289
|
+
endpointId,
|
|
861290
|
+
endpoint,
|
|
861291
|
+
typeResolver,
|
|
861292
|
+
file,
|
|
861293
|
+
offsetPagination: endpointPagination
|
|
861294
|
+
});
|
|
861295
|
+
}
|
|
861296
|
+
}
|
|
861297
|
+
};
|
|
861298
|
+
}
|
|
861299
|
+
};
|
|
861300
|
+
function isRawCursorPaginationSchema(rawPaginationSchema) {
|
|
861301
|
+
return rawPaginationSchema.cursor != null && rawPaginationSchema.next_cursor != null && rawPaginationSchema.results != null;
|
|
861302
|
+
}
|
|
861303
|
+
|
|
860585
861304
|
// pnp:/home/circleci/project/packages/cli/yaml/validator/lib/rules/valid-service-urls/valid-service-url.js
|
|
860586
861305
|
var ValidServiceUrlsRule = {
|
|
860587
861306
|
name: "valid-service-urls",
|
|
@@ -860707,7 +861426,8 @@ function getAllRules() {
|
|
|
860707
861426
|
NoUndefinedVariableReferenceRule,
|
|
860708
861427
|
OnlyObjectExtensionsRule,
|
|
860709
861428
|
NoMaybeStreamingRule,
|
|
860710
|
-
NoResponsePropertyRule
|
|
861429
|
+
NoResponsePropertyRule,
|
|
861430
|
+
ValidPaginationRule
|
|
860711
861431
|
];
|
|
860712
861432
|
}
|
|
860713
861433
|
function getAllEnabledRules() {
|
|
@@ -861549,13 +862269,13 @@ function convertEndpoint2(endpoint) {
|
|
|
861549
862269
|
requestBody: endpoint.requestBody != null ? convertRequestBody2(endpoint.requestBody) : void 0,
|
|
861550
862270
|
response: endpoint.response != null ? convertHttpResponse2(endpoint.response) : void 0,
|
|
861551
862271
|
headers: endpoint.headers.map((header) => convertHttpHeader2(header)),
|
|
861552
|
-
queryParameters: endpoint.queryParameters.map((queryParameter) =>
|
|
862272
|
+
queryParameters: endpoint.queryParameters.map((queryParameter) => convertQueryParameter2(queryParameter)),
|
|
861553
862273
|
examples: endpoint.examples,
|
|
861554
862274
|
streamingResponse: endpoint.streamingResponse != null ? convertStreamingResponse(endpoint.streamingResponse) : void 0,
|
|
861555
862275
|
sdkResponse: endpoint.sdkResponse != null ? convertSdkResponse(endpoint.sdkResponse) : void 0
|
|
861556
862276
|
};
|
|
861557
862277
|
}
|
|
861558
|
-
function
|
|
862278
|
+
function convertQueryParameter2(queryParameter) {
|
|
861559
862279
|
return {
|
|
861560
862280
|
availability: queryParameter.availability,
|
|
861561
862281
|
docs: queryParameter.docs,
|
|
@@ -861874,13 +862594,13 @@ function convertEndpoint3(endpoint) {
|
|
|
861874
862594
|
requestBody: endpoint.requestBody != null ? convertRequestBody3(endpoint.requestBody) : void 0,
|
|
861875
862595
|
response: endpoint.response != null ? convertHttpResponse3(endpoint.response) : void 0,
|
|
861876
862596
|
headers: endpoint.headers.map((header) => convertHttpHeader3(header)),
|
|
861877
|
-
queryParameters: endpoint.queryParameters.map((queryParameter) =>
|
|
862597
|
+
queryParameters: endpoint.queryParameters.map((queryParameter) => convertQueryParameter3(queryParameter)),
|
|
861878
862598
|
examples: endpoint.examples,
|
|
861879
862599
|
streamingResponse: endpoint.streamingResponse != null ? convertStreamingResponse2(endpoint.streamingResponse) : void 0,
|
|
861880
862600
|
sdkResponse: endpoint.sdkResponse != null ? convertSdkResponse2(endpoint.sdkResponse) : void 0
|
|
861881
862601
|
};
|
|
861882
862602
|
}
|
|
861883
|
-
function
|
|
862603
|
+
function convertQueryParameter3(queryParameter) {
|
|
861884
862604
|
return {
|
|
861885
862605
|
availability: queryParameter.availability,
|
|
861886
862606
|
docs: queryParameter.docs,
|
|
@@ -862732,7 +863452,7 @@ function convertEndpoint8(endpoint) {
|
|
|
862732
863452
|
headers: endpoint.headers.map((header) => convertHeader3(header)),
|
|
862733
863453
|
pathParameters: endpoint.pathParameters.map((pathParameter) => convertPathParameter5(pathParameter)),
|
|
862734
863454
|
allPathParameters: endpoint.allPathParameters.map((pathParameter) => convertPathParameter5(pathParameter)),
|
|
862735
|
-
queryParameters: endpoint.queryParameters.map((queryParameter) =>
|
|
863455
|
+
queryParameters: endpoint.queryParameters.map((queryParameter) => convertQueryParameter4(queryParameter)),
|
|
862736
863456
|
requestBody: convertedRequestBody,
|
|
862737
863457
|
sdkRequest: endpoint.sdkRequest != null ? {
|
|
862738
863458
|
requestParameterName: endpoint.sdkRequest.requestParameterName,
|
|
@@ -862985,7 +863705,7 @@ function convertPathParameter5(pathParameter) {
|
|
|
862985
863705
|
valueType: convertTypeReference4(pathParameter.valueType)
|
|
862986
863706
|
};
|
|
862987
863707
|
}
|
|
862988
|
-
function
|
|
863708
|
+
function convertQueryParameter4(queryParameter) {
|
|
862989
863709
|
return {
|
|
862990
863710
|
...queryParameter,
|
|
862991
863711
|
valueType: convertTypeReference4(queryParameter.valueType)
|
|
@@ -863374,7 +864094,7 @@ function convertEndpoint9(val) {
|
|
|
863374
864094
|
return {
|
|
863375
864095
|
...val,
|
|
863376
864096
|
headers: val.headers.map((header) => convertHeader4(header)),
|
|
863377
|
-
queryParameters: val.queryParameters.map((query) =>
|
|
864097
|
+
queryParameters: val.queryParameters.map((query) => convertQueryParameter5(query)),
|
|
863378
864098
|
availability: val.availability == null ? {
|
|
863379
864099
|
status: IrVersions_exports.V25.AvailabilityStatus.GeneralAvailability,
|
|
863380
864100
|
message: void 0
|
|
@@ -863390,7 +864110,7 @@ function convertHeader4(val) {
|
|
|
863390
864110
|
} : val.availability
|
|
863391
864111
|
};
|
|
863392
864112
|
}
|
|
863393
|
-
function
|
|
864113
|
+
function convertQueryParameter5(val) {
|
|
863394
864114
|
return {
|
|
863395
864115
|
...val,
|
|
863396
864116
|
availability: val.availability == null ? {
|
|
@@ -863793,10 +864513,10 @@ function convertPathParameter6(val) {
|
|
|
863793
864513
|
}
|
|
863794
864514
|
function convertQueryParameters(val) {
|
|
863795
864515
|
return val.map((pathParameter) => {
|
|
863796
|
-
return
|
|
864516
|
+
return convertQueryParameter6(pathParameter);
|
|
863797
864517
|
});
|
|
863798
864518
|
}
|
|
863799
|
-
function
|
|
864519
|
+
function convertQueryParameter6(val) {
|
|
863800
864520
|
return {
|
|
863801
864521
|
...val,
|
|
863802
864522
|
valueType: maybeConvertBooleanLiteralForTypeReference(val.valueType)
|
|
@@ -865364,9 +866084,37 @@ var V35_TO_V34_MIGRATION = {
|
|
|
865364
866084
|
unrecognizedObjectKeys: "strip",
|
|
865365
866085
|
skipValidation: true
|
|
865366
866086
|
}),
|
|
865367
|
-
migrateBackwards: (V352
|
|
866087
|
+
migrateBackwards: (V352) => {
|
|
865368
866088
|
return {
|
|
865369
|
-
...V352
|
|
866089
|
+
...V352,
|
|
866090
|
+
services: Object.fromEntries(Object.entries(V352.services).map(([id, service]) => [
|
|
866091
|
+
id,
|
|
866092
|
+
{
|
|
866093
|
+
...service,
|
|
866094
|
+
endpoints: service.endpoints.map((endpoint) => ({
|
|
866095
|
+
docs: endpoint.docs,
|
|
866096
|
+
availability: endpoint.availability,
|
|
866097
|
+
id: endpoint.id,
|
|
866098
|
+
name: endpoint.name,
|
|
866099
|
+
displayName: endpoint.displayName,
|
|
866100
|
+
method: endpoint.method,
|
|
866101
|
+
headers: endpoint.headers,
|
|
866102
|
+
baseUrl: endpoint.baseUrl,
|
|
866103
|
+
path: endpoint.path,
|
|
866104
|
+
fullPath: endpoint.fullPath,
|
|
866105
|
+
pathParameters: endpoint.pathParameters,
|
|
866106
|
+
allPathParameters: endpoint.allPathParameters,
|
|
866107
|
+
queryParameters: endpoint.queryParameters,
|
|
866108
|
+
requestBody: endpoint.requestBody,
|
|
866109
|
+
sdkRequest: endpoint.sdkRequest,
|
|
866110
|
+
response: endpoint.response,
|
|
866111
|
+
errors: endpoint.errors,
|
|
866112
|
+
auth: endpoint.auth,
|
|
866113
|
+
idempotent: endpoint.idempotent,
|
|
866114
|
+
examples: endpoint.examples
|
|
866115
|
+
}))
|
|
866116
|
+
}
|
|
866117
|
+
]))
|
|
865370
866118
|
};
|
|
865371
866119
|
}
|
|
865372
866120
|
};
|
|
@@ -865940,7 +866688,7 @@ function convertEndpoint11({ endpoint, errorResolver }) {
|
|
|
865940
866688
|
headers: endpoint.headers.map((header) => convertHeader5(header)),
|
|
865941
866689
|
path: endpoint.path,
|
|
865942
866690
|
pathParameters: endpoint.pathParameters.map((pathParameter) => convertPathParameter7(pathParameter)),
|
|
865943
|
-
queryParameters: endpoint.queryParameters.map((queryParameter) =>
|
|
866691
|
+
queryParameters: endpoint.queryParameters.map((queryParameter) => convertQueryParameter7(queryParameter)),
|
|
865944
866692
|
requestBody: endpoint.requestBody != null ? convertRequestBody5(endpoint.requestBody) : void 0,
|
|
865945
866693
|
sdkRequest: endpoint.sdkRequest != null ? convertSdkRequest4(endpoint.sdkRequest) : void 0,
|
|
865946
866694
|
response: convertResponse5(endpoint.response),
|
|
@@ -865959,7 +866707,7 @@ function convertPathParameter7(pathParameter) {
|
|
|
865959
866707
|
valueType: convertTypeReference5(pathParameter.valueType)
|
|
865960
866708
|
};
|
|
865961
866709
|
}
|
|
865962
|
-
function
|
|
866710
|
+
function convertQueryParameter7(queryParameter) {
|
|
865963
866711
|
return {
|
|
865964
866712
|
docs: queryParameter.docs,
|
|
865965
866713
|
availability: queryParameter.availability,
|
|
@@ -866862,7 +867610,7 @@ function convertEndpoint12(endpoint) {
|
|
|
866862
867610
|
requestBody: endpoint.requestBody != null ? convertRequestBody6(endpoint.requestBody) : void 0,
|
|
866863
867611
|
response: convertHttpResponse6(endpoint.response),
|
|
866864
867612
|
headers: endpoint.headers.map((header) => convertHeader6(header)),
|
|
866865
|
-
queryParameters: endpoint.queryParameters.map((queryParameter) =>
|
|
867613
|
+
queryParameters: endpoint.queryParameters.map((queryParameter) => convertQueryParameter8(queryParameter)),
|
|
866866
867614
|
examples: endpoint.examples.map((example) => convertExampleEndpointCall9(example))
|
|
866867
867615
|
};
|
|
866868
867616
|
}
|
|
@@ -866872,7 +867620,7 @@ function convertResponseError2(error) {
|
|
|
866872
867620
|
error: convertDeclaredErrorName2(error.error)
|
|
866873
867621
|
};
|
|
866874
867622
|
}
|
|
866875
|
-
function
|
|
867623
|
+
function convertQueryParameter8(queryParameter) {
|
|
866876
867624
|
return {
|
|
866877
867625
|
availability: queryParameter.availability,
|
|
866878
867626
|
docs: queryParameter.docs,
|