@hey-api/openapi-ts 0.65.0 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -6733,18 +6733,6 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6733
6733
  * @default true
6734
6734
  */
6735
6735
  exportFromIndex?: boolean;
6736
- /**
6737
- * @deprecated
6738
- *
6739
- * **This feature works only with the legacy parser**
6740
- *
6741
- * Filter endpoints to be included in the generated SDK. The provided
6742
- * string should be a regular expression where matched results will be
6743
- * included in the output. The input pattern this string will be tested
6744
- * against is `{method} {path}`. For example, you can match
6745
- * `POST /api/v1/foo` with `^POST /api/v1/foo$`.
6746
- */
6747
- filter?: string;
6748
6736
  /**
6749
6737
  * Include only service classes with names matching regular expression
6750
6738
  *
@@ -6768,14 +6756,6 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6768
6756
  * @default 'sdk'
6769
6757
  */
6770
6758
  output?: string;
6771
- /**
6772
- * @deprecated
6773
- *
6774
- * Define shape of returned value from service calls
6775
- *
6776
- * @default 'body'
6777
- */
6778
- response?: 'body' | 'response';
6779
6759
  /**
6780
6760
  * Customize the generated service class names. The name variable is
6781
6761
  * obtained from your OpenAPI specification tags.
@@ -6811,6 +6791,30 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6811
6791
  * @default false
6812
6792
  */
6813
6793
  validator?: PluginValidatorNames | boolean;
6794
+
6795
+ // DEPRECATED OPTIONS BELOW
6796
+
6797
+ /**
6798
+ * @deprecated
6799
+ *
6800
+ * **This feature works only with the legacy parser**
6801
+ *
6802
+ * Filter endpoints to be included in the generated SDK. The provided
6803
+ * string should be a regular expression where matched results will be
6804
+ * included in the output. The input pattern this string will be tested
6805
+ * against is `{method} {path}`. For example, you can match
6806
+ * `POST /api/v1/foo` with `^POST /api/v1/foo$`.
6807
+ */
6808
+ // eslint-disable-next-line typescript-sort-keys/interface
6809
+ filter?: string;
6810
+ /**
6811
+ * @deprecated
6812
+ *
6813
+ * Define shape of returned value from service calls
6814
+ *
6815
+ * @default 'body'
6816
+ */
6817
+ response?: 'body' | 'response';
6814
6818
  }
6815
6819
 
6816
6820
  interface Config$9 extends Plugin.Name<'@hey-api/transformers'> {
@@ -6879,6 +6883,37 @@ interface Config$8 extends Plugin.Name<'@hey-api/typescript'> {
6879
6883
  * @default 'PascalCase'
6880
6884
  */
6881
6885
  identifierCase?: Exclude<StringCase, 'SCREAMING_SNAKE_CASE'>;
6886
+ /**
6887
+ * Name of the generated file.
6888
+ *
6889
+ * @default 'types'
6890
+ */
6891
+ output?: string;
6892
+ /**
6893
+ * Choose how to handle types containing read-only or write-only fields?
6894
+ * This option exists for backward compatibility with outputs created before
6895
+ * this feature existed.
6896
+ *
6897
+ * @default 'split'
6898
+ */
6899
+ readOnlyWriteOnlyBehavior?: 'off' | 'split';
6900
+ /**
6901
+ * Customize the name of types used in responses or containing read-only
6902
+ * fields.
6903
+ *
6904
+ * @default '{{name}}Readable'
6905
+ */
6906
+ readableNameBuilder?: string;
6907
+ /**
6908
+ * Customize the name of types used in payloads or containing write-only
6909
+ * fields.
6910
+ *
6911
+ * @default '{{name}}Writable'
6912
+ */
6913
+ writableNameBuilder?: string;
6914
+
6915
+ // DEPRECATED OPTIONS BELOW
6916
+
6882
6917
  /**
6883
6918
  * @deprecated
6884
6919
  *
@@ -6886,13 +6921,8 @@ interface Config$8 extends Plugin.Name<'@hey-api/typescript'> {
6886
6921
  *
6887
6922
  * Include only types matching regular expression.
6888
6923
  */
6924
+ // eslint-disable-next-line typescript-sort-keys/interface
6889
6925
  include?: string;
6890
- /**
6891
- * Name of the generated file.
6892
- *
6893
- * @default 'types'
6894
- */
6895
- output?: string;
6896
6926
  /**
6897
6927
  * @deprecated
6898
6928
  *
@@ -7400,6 +7430,9 @@ interface UserConfig {
7400
7430
  */
7401
7431
  timeout?: number;
7402
7432
  };
7433
+
7434
+ // DEPRECATED OPTIONS BELOW
7435
+
7403
7436
  /**
7404
7437
  * @deprecated
7405
7438
  *
@@ -7825,9 +7858,16 @@ interface IRSchemaObject
7825
7858
  > {
7826
7859
  /**
7827
7860
  * If the schema is intended to be used as an object property, it can be
7828
- * marked as read-only or write-only.
7861
+ * marked as read-only or write-only. This value controls whether the schema
7862
+ * receives the "readonly" TypeScript keyword.
7829
7863
  */
7830
7864
  accessScope?: 'read' | 'write';
7865
+ /**
7866
+ * Similar to `accessScope`, but tells us whether the schema as a whole
7867
+ * contains any read-only or write-only fields. This value controls whether
7868
+ * we split the schema into individual schemas for payloads and responses.
7869
+ */
7870
+ accessScopes?: ReadonlyArray<'read' | 'write'>;
7831
7871
  /**
7832
7872
  * If type is `object`, `additionalProperties` can be used to either define
7833
7873
  * a schema for properties not included in `properties` or disallow such
package/dist/index.d.ts CHANGED
@@ -6733,18 +6733,6 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6733
6733
  * @default true
6734
6734
  */
6735
6735
  exportFromIndex?: boolean;
6736
- /**
6737
- * @deprecated
6738
- *
6739
- * **This feature works only with the legacy parser**
6740
- *
6741
- * Filter endpoints to be included in the generated SDK. The provided
6742
- * string should be a regular expression where matched results will be
6743
- * included in the output. The input pattern this string will be tested
6744
- * against is `{method} {path}`. For example, you can match
6745
- * `POST /api/v1/foo` with `^POST /api/v1/foo$`.
6746
- */
6747
- filter?: string;
6748
6736
  /**
6749
6737
  * Include only service classes with names matching regular expression
6750
6738
  *
@@ -6768,14 +6756,6 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6768
6756
  * @default 'sdk'
6769
6757
  */
6770
6758
  output?: string;
6771
- /**
6772
- * @deprecated
6773
- *
6774
- * Define shape of returned value from service calls
6775
- *
6776
- * @default 'body'
6777
- */
6778
- response?: 'body' | 'response';
6779
6759
  /**
6780
6760
  * Customize the generated service class names. The name variable is
6781
6761
  * obtained from your OpenAPI specification tags.
@@ -6811,6 +6791,30 @@ interface Config$a extends Plugin.Name<'@hey-api/sdk'> {
6811
6791
  * @default false
6812
6792
  */
6813
6793
  validator?: PluginValidatorNames | boolean;
6794
+
6795
+ // DEPRECATED OPTIONS BELOW
6796
+
6797
+ /**
6798
+ * @deprecated
6799
+ *
6800
+ * **This feature works only with the legacy parser**
6801
+ *
6802
+ * Filter endpoints to be included in the generated SDK. The provided
6803
+ * string should be a regular expression where matched results will be
6804
+ * included in the output. The input pattern this string will be tested
6805
+ * against is `{method} {path}`. For example, you can match
6806
+ * `POST /api/v1/foo` with `^POST /api/v1/foo$`.
6807
+ */
6808
+ // eslint-disable-next-line typescript-sort-keys/interface
6809
+ filter?: string;
6810
+ /**
6811
+ * @deprecated
6812
+ *
6813
+ * Define shape of returned value from service calls
6814
+ *
6815
+ * @default 'body'
6816
+ */
6817
+ response?: 'body' | 'response';
6814
6818
  }
6815
6819
 
6816
6820
  interface Config$9 extends Plugin.Name<'@hey-api/transformers'> {
@@ -6879,6 +6883,37 @@ interface Config$8 extends Plugin.Name<'@hey-api/typescript'> {
6879
6883
  * @default 'PascalCase'
6880
6884
  */
6881
6885
  identifierCase?: Exclude<StringCase, 'SCREAMING_SNAKE_CASE'>;
6886
+ /**
6887
+ * Name of the generated file.
6888
+ *
6889
+ * @default 'types'
6890
+ */
6891
+ output?: string;
6892
+ /**
6893
+ * Choose how to handle types containing read-only or write-only fields?
6894
+ * This option exists for backward compatibility with outputs created before
6895
+ * this feature existed.
6896
+ *
6897
+ * @default 'split'
6898
+ */
6899
+ readOnlyWriteOnlyBehavior?: 'off' | 'split';
6900
+ /**
6901
+ * Customize the name of types used in responses or containing read-only
6902
+ * fields.
6903
+ *
6904
+ * @default '{{name}}Readable'
6905
+ */
6906
+ readableNameBuilder?: string;
6907
+ /**
6908
+ * Customize the name of types used in payloads or containing write-only
6909
+ * fields.
6910
+ *
6911
+ * @default '{{name}}Writable'
6912
+ */
6913
+ writableNameBuilder?: string;
6914
+
6915
+ // DEPRECATED OPTIONS BELOW
6916
+
6882
6917
  /**
6883
6918
  * @deprecated
6884
6919
  *
@@ -6886,13 +6921,8 @@ interface Config$8 extends Plugin.Name<'@hey-api/typescript'> {
6886
6921
  *
6887
6922
  * Include only types matching regular expression.
6888
6923
  */
6924
+ // eslint-disable-next-line typescript-sort-keys/interface
6889
6925
  include?: string;
6890
- /**
6891
- * Name of the generated file.
6892
- *
6893
- * @default 'types'
6894
- */
6895
- output?: string;
6896
6926
  /**
6897
6927
  * @deprecated
6898
6928
  *
@@ -7400,6 +7430,9 @@ interface UserConfig {
7400
7430
  */
7401
7431
  timeout?: number;
7402
7432
  };
7433
+
7434
+ // DEPRECATED OPTIONS BELOW
7435
+
7403
7436
  /**
7404
7437
  * @deprecated
7405
7438
  *
@@ -7825,9 +7858,16 @@ interface IRSchemaObject
7825
7858
  > {
7826
7859
  /**
7827
7860
  * If the schema is intended to be used as an object property, it can be
7828
- * marked as read-only or write-only.
7861
+ * marked as read-only or write-only. This value controls whether the schema
7862
+ * receives the "readonly" TypeScript keyword.
7829
7863
  */
7830
7864
  accessScope?: 'read' | 'write';
7865
+ /**
7866
+ * Similar to `accessScope`, but tells us whether the schema as a whole
7867
+ * contains any read-only or write-only fields. This value controls whether
7868
+ * we split the schema into individual schemas for payloads and responses.
7869
+ */
7870
+ accessScopes?: ReadonlyArray<'read' | 'write'>;
7831
7871
  /**
7832
7872
  * If type is `object`, `additionalProperties` can be used to either define
7833
7873
  * a schema for properties not included in `properties` or disallow such