fern-api 0.31.23 → 0.31.25-rc0

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.
Files changed (2) hide show
  1. package/bundle.cjs +67 -47
  2. package/package.json +1 -1
package/bundle.cjs CHANGED
@@ -49893,7 +49893,7 @@ var require_extract = __commonJS({
49893
49893
  return size2 && 512 - size2;
49894
49894
  };
49895
49895
  var emptyStream = function(self2, offset2) {
49896
- var s2 = new Source(self2, offset2);
49896
+ var s2 = new Source2(self2, offset2);
49897
49897
  s2.end();
49898
49898
  return s2;
49899
49899
  };
@@ -49907,13 +49907,13 @@ var require_extract = __commonJS({
49907
49907
  header.pax = pax;
49908
49908
  return header;
49909
49909
  };
49910
- var Source = function(self2, offset2) {
49910
+ var Source2 = function(self2, offset2) {
49911
49911
  this._parent = self2;
49912
49912
  this.offset = offset2;
49913
49913
  PassThrough2.call(this, { autoDestroy: false });
49914
49914
  };
49915
- util2.inherits(Source, PassThrough2);
49916
- Source.prototype.destroy = function(err) {
49915
+ util2.inherits(Source2, PassThrough2);
49916
+ Source2.prototype.destroy = function(err) {
49917
49917
  this._parent.destroy(err);
49918
49918
  };
49919
49919
  var Extract = function(opts) {
@@ -50041,7 +50041,7 @@ var require_extract = __commonJS({
50041
50041
  self2.emit("entry", header, emptyStream(self2, offset2), onunlock);
50042
50042
  return;
50043
50043
  }
50044
- self2._stream = new Source(self2, offset2);
50044
+ self2._stream = new Source2(self2, offset2);
50045
50045
  self2.emit("entry", header, self2._stream, onunlock);
50046
50046
  self2._parse(header.size, onstreamend);
50047
50047
  oncontinue();
@@ -405155,7 +405155,7 @@ var require_resolve3 = __commonJS({
405155
405155
  var ref_utils_1 = require_ref_utils();
405156
405156
  var types_1 = require_types22();
405157
405157
  var utils_1 = require_utils15();
405158
- var Source = class {
405158
+ var Source2 = class {
405159
405159
  constructor(absoluteRef, body, mimeType) {
405160
405160
  this.absoluteRef = absoluteRef;
405161
405161
  this.body = body;
@@ -405179,7 +405179,7 @@ var require_resolve3 = __commonJS({
405179
405179
  return this._lines;
405180
405180
  }
405181
405181
  };
405182
- exports2.Source = Source;
405182
+ exports2.Source = Source2;
405183
405183
  var ResolveError = class extends Error {
405184
405184
  constructor(originalError) {
405185
405185
  super(originalError.message);
@@ -405206,7 +405206,7 @@ var require_resolve3 = __commonJS({
405206
405206
  }
405207
405207
  exports2.makeRefId = makeRefId;
405208
405208
  function makeDocumentFromString(sourceString, absoluteRef) {
405209
- const source = new Source(absoluteRef, sourceString);
405209
+ const source = new Source2(absoluteRef, sourceString);
405210
405210
  try {
405211
405211
  return {
405212
405212
  source,
@@ -405239,13 +405239,13 @@ var require_resolve3 = __commonJS({
405239
405239
  try {
405240
405240
  if ((0, ref_utils_1.isAbsoluteUrl)(absoluteRef)) {
405241
405241
  const { body, mimeType } = yield (0, utils_1.readFileFromUrl)(absoluteRef, this.config.http);
405242
- return new Source(absoluteRef, body, mimeType);
405242
+ return new Source2(absoluteRef, body, mimeType);
405243
405243
  } else {
405244
405244
  if (fs10.lstatSync(absoluteRef).isDirectory()) {
405245
405245
  throw new Error(`Expected a file but received a folder at ${absoluteRef}`);
405246
405246
  }
405247
405247
  const content5 = yield fs10.promises.readFile(absoluteRef, "utf-8");
405248
- return new Source(absoluteRef, content5.replace(/\r\n/g, "\n"));
405248
+ return new Source2(absoluteRef, content5.replace(/\r\n/g, "\n"));
405249
405249
  }
405250
405250
  } catch (error) {
405251
405251
  error.message = error.message.replace(", lstat", "");
@@ -451844,7 +451844,7 @@ var require_extract3 = __commonJS({
451844
451844
  return size2 && 512 - size2;
451845
451845
  };
451846
451846
  var emptyStream = function(self2, offset2) {
451847
- var s2 = new Source(self2, offset2);
451847
+ var s2 = new Source2(self2, offset2);
451848
451848
  s2.end();
451849
451849
  return s2;
451850
451850
  };
@@ -451858,13 +451858,13 @@ var require_extract3 = __commonJS({
451858
451858
  header.pax = pax;
451859
451859
  return header;
451860
451860
  };
451861
- var Source = function(self2, offset2) {
451861
+ var Source2 = function(self2, offset2) {
451862
451862
  this._parent = self2;
451863
451863
  this.offset = offset2;
451864
451864
  PassThrough2.call(this);
451865
451865
  };
451866
- util2.inherits(Source, PassThrough2);
451867
- Source.prototype.destroy = function(err) {
451866
+ util2.inherits(Source2, PassThrough2);
451867
+ Source2.prototype.destroy = function(err) {
451868
451868
  this._parent.destroy(err);
451869
451869
  };
451870
451870
  var Extract = function(opts) {
@@ -451992,7 +451992,7 @@ var require_extract3 = __commonJS({
451992
451992
  self2.emit("entry", header, emptyStream(self2, offset2), onunlock);
451993
451993
  return;
451994
451994
  }
451995
- self2._stream = new Source(self2, offset2);
451995
+ self2._stream = new Source2(self2, offset2);
451996
451996
  self2.emit("entry", header, self2._stream, onunlock);
451997
451997
  self2._parse(header.size, onstreamend);
451998
451998
  oncontinue();
@@ -1122319,7 +1122319,7 @@ var AccessTokenPosthogManager = class {
1122319
1122319
  properties: {
1122320
1122320
  ...event,
1122321
1122321
  ...event.properties,
1122322
- version: "0.31.23",
1122322
+ version: "0.31.25-rc0",
1122323
1122323
  usingAccessToken: true
1122324
1122324
  }
1122325
1122325
  });
@@ -1122381,7 +1122381,7 @@ var UserPosthogManager = class {
1122381
1122381
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
1122382
1122382
  event: "CLI",
1122383
1122383
  properties: {
1122384
- version: "0.31.23",
1122384
+ version: "0.31.25-rc0",
1122385
1122385
  ...event,
1122386
1122386
  ...event.properties
1122387
1122387
  }
@@ -1137523,7 +1137523,8 @@ var FernOpenAPIExtension = {
1137523
1137523
  FERN_GLOBAL_HEADERS: "x-fern-global-headers",
1137524
1137524
  FERN_IDEMPOTENCY_HEADERS: "x-fern-idempotency-headers",
1137525
1137525
  IDEMPOTENT: "x-fern-idempotent",
1137526
- FERN_PROPERTY_NAME: "x-fern-property-name"
1137526
+ FERN_PROPERTY_NAME: "x-fern-property-name",
1137527
+ IS_UNDISCRIMINATED: "x-fern-undiscriminated"
1137527
1137528
  };
1137528
1137529
 
1137529
1137530
  // pnp:/home/runner/work/fern/fern/packages/cli/openapi-parser/lib/openapi/v3/extensions/getFernEnum.js
@@ -1139390,29 +1139391,30 @@ function convertSchemaObject(schema2, wrapAsNullable, context, breadcrumbs, prop
1139390
1139391
  }
1139391
1139392
  }
1139392
1139393
  if (schema2.oneOf != null && schema2.oneOf.length > 0) {
1139394
+ const isUndiscriminated = getExtension(schema2, FernOpenAPIExtension.IS_UNDISCRIMINATED);
1139393
1139395
  if (schema2.discriminator != null && schema2.discriminator.mapping != null && Object.keys(schema2.discriminator.mapping).length > 0) {
1139394
- if (!context.options.discriminatedUnionV2) {
1139395
- return convertDiscriminatedOneOf({
1139396
+ if (context.options.discriminatedUnionV2 || isUndiscriminated) {
1139397
+ return convertUndiscriminatedOneOfWithDiscriminant({
1139396
1139398
  nameOverride,
1139397
1139399
  generatedName,
1139398
- breadcrumbs,
1139399
1139400
  description,
1139400
- discriminator: schema2.discriminator,
1139401
- properties: schema2.properties ?? {},
1139402
- required: schema2.required,
1139403
1139401
  wrapAsNullable,
1139404
1139402
  context,
1139405
- groupName
1139403
+ groupName,
1139404
+ discriminator: schema2.discriminator
1139406
1139405
  });
1139407
1139406
  } else {
1139408
- return convertUndiscriminatedOneOfWithDiscriminant({
1139407
+ return convertDiscriminatedOneOf({
1139409
1139408
  nameOverride,
1139410
1139409
  generatedName,
1139410
+ breadcrumbs,
1139411
1139411
  description,
1139412
+ discriminator: schema2.discriminator,
1139413
+ properties: schema2.properties ?? {},
1139414
+ required: schema2.required,
1139412
1139415
  wrapAsNullable,
1139413
1139416
  context,
1139414
- groupName,
1139415
- discriminator: schema2.discriminator
1139417
+ groupName
1139416
1139418
  });
1139417
1139419
  }
1139418
1139420
  } else if (schema2.oneOf.length === 1 && schema2.oneOf[0] != null) {
@@ -1139443,7 +1139445,7 @@ function convertSchemaObject(schema2, wrapAsNullable, context, breadcrumbs, prop
1139443
1139445
  });
1139444
1139446
  }
1139445
1139447
  const maybeDiscriminant = getDiscriminant({ schemas: schema2.oneOf, context });
1139446
- if (maybeDiscriminant != null && !context.options.discriminatedUnionV2) {
1139448
+ if (maybeDiscriminant != null && !context.options.discriminatedUnionV2 && !isUndiscriminated) {
1139447
1139449
  return convertDiscriminatedOneOfWithVariants({
1139448
1139450
  nameOverride,
1139449
1139451
  generatedName,
@@ -1141691,22 +1141693,9 @@ var FERN_TYPE_EXTENSIONS = {
1141691
1141693
  }
1141692
1141694
  };
1141693
1141695
  async function loadOpenAPI({ absolutePathToOpenAPI, absolutePathToOpenAPIOverrides, context }) {
1141694
- const result2 = await (0, import_openapi_core.bundle)({
1141695
- config: new import_openapi_core.Config({
1141696
- apis: {},
1141697
- styleguide: {
1141698
- plugins: [FERN_TYPE_EXTENSIONS],
1141699
- rules: {
1141700
- spec: "warn"
1141701
- }
1141702
- }
1141703
- }, void 0),
1141704
- ref: absolutePathToOpenAPI,
1141705
- dereference: false,
1141706
- removeUnusedComponents: false,
1141707
- keepUrlRefs: true
1141696
+ const parsed = await parseOpenAPI({
1141697
+ absolutePathToOpenAPI
1141708
1141698
  });
1141709
- const parsed = await import_swagger_parser.default.parse(result2.bundle.parsed);
1141710
1141699
  let overridesFilepath = void 0;
1141711
1141700
  if (absolutePathToOpenAPIOverrides != null) {
1141712
1141701
  overridesFilepath = absolutePathToOpenAPIOverrides;
@@ -1141717,14 +1141706,45 @@ async function loadOpenAPI({ absolutePathToOpenAPI, absolutePathToOpenAPIOverrid
1141717
1141706
  );
1141718
1141707
  }
1141719
1141708
  if (overridesFilepath != null) {
1141720
- return await mergeWithOverrides({
1141709
+ const merged = await mergeWithOverrides({
1141721
1141710
  absoluteFilepathToOverrides: overridesFilepath,
1141722
1141711
  context,
1141723
1141712
  data: parsed
1141724
1141713
  });
1141714
+ return await parseOpenAPI({
1141715
+ absolutePathToOpenAPI,
1141716
+ parsed: merged
1141717
+ });
1141725
1141718
  }
1141726
1141719
  return parsed;
1141727
1141720
  }
1141721
+ async function parseOpenAPI({ absolutePathToOpenAPI, parsed }) {
1141722
+ const options2 = {
1141723
+ config: new import_openapi_core.Config({
1141724
+ apis: {},
1141725
+ styleguide: {
1141726
+ plugins: [FERN_TYPE_EXTENSIONS],
1141727
+ rules: {
1141728
+ spec: "warn"
1141729
+ }
1141730
+ }
1141731
+ }, void 0),
1141732
+ dereference: false,
1141733
+ removeUnusedComponents: false,
1141734
+ keepUrlRefs: true
1141735
+ };
1141736
+ const result2 = parsed != null ? await (0, import_openapi_core.bundle)({
1141737
+ ...options2,
1141738
+ doc: {
1141739
+ source: new import_openapi_core.Source(absolutePathToOpenAPI, "<openapi>"),
1141740
+ parsed
1141741
+ }
1141742
+ }) : await (0, import_openapi_core.bundle)({
1141743
+ ...options2,
1141744
+ ref: absolutePathToOpenAPI
1141745
+ });
1141746
+ return await import_swagger_parser.default.parse(result2.bundle.parsed);
1141747
+ }
1141728
1141748
 
1141729
1141749
  // pnp:/home/runner/work/fern/fern/packages/cli/openapi-parser/lib/openapi/v2/generateIr.js
1141730
1141750
  var import_swagger2openapi = __toESM(require_swagger2openapi());
@@ -1149979,10 +1149999,10 @@ var CliContext = class {
1149979
1149999
  return "fern-api";
1149980
1150000
  }
1149981
1150001
  getPackageVersion() {
1149982
- if ("0.31.23" == null) {
1150002
+ if ("0.31.25-rc0" == null) {
1149983
1150003
  this.logger.error("CLI_VERSION is not defined");
1149984
1150004
  }
1149985
- return "0.31.23";
1150005
+ return "0.31.25-rc0";
1149986
1150006
  }
1149987
1150007
  getCliName() {
1149988
1150008
  if ("fern" == null) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fern-api",
3
- "version": "0.31.23",
3
+ "version": "0.31.25-rc0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/fern-api/fern.git",