@scalar/oas-utils 0.1.11 → 0.1.12

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @scalar/oas-utils
2
2
 
3
+ ## 0.1.12
4
+
5
+ ### Patch Changes
6
+
7
+ - 61b8ddc: fix: doesn’t render preview for mimetype variations like application/foobar+json
8
+ - 165b901: feat: dynamic values for generated examples
9
+
3
10
  ## 0.1.11
4
11
 
5
12
  ### Patch Changes
@@ -17,5 +17,9 @@ export declare const getExampleFromSchema: (schema: Record<string, any>, options
17
17
  * @default undefined
18
18
  */
19
19
  mode?: 'read' | 'write';
20
+ /**
21
+ * Dynamic values to add to the example.
22
+ */
23
+ variables?: Record<string, any>;
20
24
  }, level?: number) => any;
21
25
  //# sourceMappingURL=getExampleFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getExampleFromSchema.d.ts","sourceRoot":"","sources":["../src/getExampleFromSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,WACvB,OAAO,MAAM,EAAE,GAAG,CAAC,YACjB;IACR;;;QAGI;IACJ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB,UACM,MAAM,KACZ,GA+NF,CAAA"}
1
+ {"version":3,"file":"getExampleFromSchema.d.ts","sourceRoot":"","sources":["../src/getExampleFromSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,WACvB,OAAO,MAAM,EAAE,GAAG,CAAC,YACjB;IACR;;;QAGI;IACJ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC,UACM,MAAM,KACZ,GA8OF,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,16 +1,17 @@
1
1
  export { createHash } from './createHash';
2
+ export { defaultStateFactory, ssrState } from './ssrState';
2
3
  export { fetchSpecFromUrl } from './fetch-spec';
3
4
  export { getExampleFromSchema } from './getExampleFromSchema';
4
5
  export { getHarRequest } from './getHarRequest';
5
6
  export { getParametersFromOperation } from './getParametersFromOperation';
6
7
  export { getRequestBodyFromOperation } from './getRequestBodyFromOperation';
7
8
  export { getRequestFromOperation } from './getRequestFromOperation';
8
- export type { HttpStatusCode, HttpStatusCodes } from './httpStatusCodes';
9
9
  export { httpStatusCodes } from './httpStatusCodes';
10
- export { normalizeMimeTypeObject } from './normalizeMimeTypeObject';
11
10
  export { json2xml } from './json2xml';
12
- export { formatJsonOrYamlString, isJsonString, json, parseJsonOrYaml, transformToJson, yaml, } from './parse';
11
+ export { normalizeMimeTypeObject } from './normalizeMimeTypeObject';
13
12
  export { prettyPrintJson } from './prettyPrintJson';
14
- export { defaultStateFactory, ssrState } from './ssrState';
13
+ export * from './normalizeMimeType';
15
14
  export * from './types';
15
+ export type { HttpStatusCode, HttpStatusCodes } from './httpStatusCodes';
16
+ export { formatJsonOrYamlString, isJsonString, json, parseJsonOrYaml, transformToJson, yaml, } from './parse';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,IAAI,EACJ,eAAe,EACf,eAAe,EACf,IAAI,GACL,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1D,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,IAAI,EACJ,eAAe,EACf,eAAe,EACf,IAAI,GACL,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -15,6 +15,9 @@ const createHash = (input) => {
15
15
  return hash;
16
16
  };
17
17
 
18
+ const defaultStateFactory = () => ({});
19
+ const ssrState = typeof window !== "undefined" ? window.__SCALAR__ ?? defaultStateFactory() : defaultStateFactory();
20
+
18
21
  const yaml = {
19
22
  /** Parse and throw if the return value is not an object */
20
23
  parse: (val) => {
@@ -114,6 +117,15 @@ const getExampleFromSchema = (schema, options, level = 0) => {
114
117
  if (options?.mode === "read" && schema.writeOnly) {
115
118
  return void 0;
116
119
  }
120
+ if (schema["x-variable"]) {
121
+ const value = options?.variables?.[schema["x-variable"]];
122
+ if (value !== void 0) {
123
+ if (schema.type === "number" || schema.type === "integer") {
124
+ return parseInt(value, 10);
125
+ }
126
+ return value;
127
+ }
128
+ }
117
129
  if (Array.isArray(schema.examples) && schema.examples.length > 0) {
118
130
  return schema.examples[0];
119
131
  }
@@ -364,6 +376,10 @@ function json2xml(data, tab) {
364
376
  return tab ? xml.replace(/\t/g, tab) : xml.replace(/\t|\n/g, "");
365
377
  }
366
378
 
379
+ function normalizeMimeType(contentType) {
380
+ return contentType.replace(/;.*$/, "").replace(/\/.+\+/, "/").trim();
381
+ }
382
+
367
383
  function normalizeMimeTypeObject(content) {
368
384
  if (!content) {
369
385
  return content;
@@ -372,7 +388,7 @@ function normalizeMimeTypeObject(content) {
372
388
  ...content
373
389
  };
374
390
  Object.keys(newContent).forEach((key) => {
375
- const newKey = key.replace(/;.*$/, "").replace(/\/.+\+/, "/").trim();
391
+ const newKey = normalizeMimeType(key);
376
392
  newContent[newKey] = newContent[key];
377
393
  if (key !== newKey) {
378
394
  delete newContent[key];
@@ -823,7 +839,4 @@ const httpStatusCodes = {
823
839
  }
824
840
  };
825
841
 
826
- const defaultStateFactory = () => ({});
827
- const ssrState = typeof window !== "undefined" ? window.__SCALAR__ ?? defaultStateFactory() : defaultStateFactory();
828
-
829
- export { createHash, defaultStateFactory, fetchSpecFromUrl, formatJsonOrYamlString, getExampleFromSchema, getHarRequest, getParametersFromOperation, getRequestBodyFromOperation, getRequestFromOperation, httpStatusCodes, isJsonString, json, json2xml, normalizeMimeTypeObject, parseJsonOrYaml, prettyPrintJson, ssrState, transformToJson, yaml };
842
+ export { createHash, defaultStateFactory, fetchSpecFromUrl, formatJsonOrYamlString, getExampleFromSchema, getHarRequest, getParametersFromOperation, getRequestBodyFromOperation, getRequestFromOperation, httpStatusCodes, isJsonString, json, json2xml, normalizeMimeType, normalizeMimeTypeObject, parseJsonOrYaml, prettyPrintJson, ssrState, transformToJson, yaml };
@@ -0,0 +1,3 @@
1
+ import type { ContentType } from './types';
2
+ export declare function normalizeMimeType(contentType: string): ContentType;
3
+ //# sourceMappingURL=normalizeMimeType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeMimeType.d.ts","sourceRoot":"","sources":["../src/normalizeMimeType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,eAUpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeMimeTypeObject.d.ts","sourceRoot":"","sources":["../src/normalizeMimeTypeObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;;;;;;;;cA6BzE"}
1
+ {"version":3,"file":"normalizeMimeTypeObject.d.ts","sourceRoot":"","sources":["../src/normalizeMimeTypeObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;;;;;;;;cAuBzE"}
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "specification",
17
17
  "yaml"
18
18
  ],
19
- "version": "0.1.11",
19
+ "version": "0.1.12",
20
20
  "engines": {
21
21
  "node": ">=18"
22
22
  },