New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

zod-openapi

Package Overview
Dependencies
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zod-openapi - npm Package Compare versions

Comparing version 2.10.0 to 2.11.0

68

lib-commonjs/index.js

@@ -37,5 +37,16 @@ "use strict";

// src/openapi.ts
var openApiVersions = [
"3.0.0",
"3.0.1",
"3.0.2",
"3.0.3",
"3.1.0"
];
var satisfiesVersion = (test, against) => openApiVersions.indexOf(test) >= openApiVersions.indexOf(against);
var isReferenceObject = (schemaOrRef) => Boolean("$ref" in schemaOrRef && schemaOrRef.$ref);
// src/create/schema/metadata.ts
var enhanceWithMetadata = (schemaObject, metadata) => {
if ("$ref" in schemaObject) {
if (isReferenceObject(schemaObject)) {
if (Object.values(metadata).every((val) => val === void 0)) {

@@ -193,12 +204,2 @@ return schemaObject;

// src/openapi.ts
var openApiVersions = [
"3.0.0",
"3.0.1",
"3.0.2",
"3.0.3",
"3.1.0"
];
var satisfiesVersion = (test, against) => openApiVersions.indexOf(test) >= openApiVersions.indexOf(against);
// src/create/schema/parsers/nativeEnum.ts

@@ -253,30 +254,37 @@ var createNativeEnumSchema = (zodEnum, state) => {

]);
if ("$ref" in schemaObject || schemaObject.allOf) {
if (satisfiesVersion(state.components.openapi, "3.1.0")) {
if (isReferenceObject(schemaObject) || schemaObject.allOf) {
return {
oneOf: mapNullOf([schemaObject], state.components.openapi)
};
}
if (schemaObject.oneOf) {
const { oneOf, ...schema3 } = schemaObject;
return {
oneOf: mapNullOf(oneOf, state.components.openapi),
...schema3
};
}
if (schemaObject.anyOf) {
const { anyOf, ...schema3 } = schemaObject;
return {
anyOf: mapNullOf(anyOf, state.components.openapi),
...schema3
};
}
const { type: type2, ...schema2 } = schemaObject;
return {
oneOf: mapNullOf([schemaObject], state.components.openapi)
};
}
if (schemaObject.oneOf) {
const { oneOf, ...schema2 } = schemaObject;
return {
oneOf: mapNullOf(oneOf, state.components.openapi),
type: mapNullType(type2),
...schema2
};
}
if (schemaObject.anyOf) {
const { anyOf, ...schema2 } = schemaObject;
if (isReferenceObject(schemaObject)) {
return {
anyOf: mapNullOf(anyOf, state.components.openapi),
...schema2
allOf: [schemaObject],
nullable: true
};
}
const { type, ...schema } = schemaObject;
if (satisfiesVersion(state.components.openapi, "3.1.0")) {
return {
type: mapNullType(type),
...schema
};
}
return {
type,
...type && { type },
nullable: true,

@@ -283,0 +291,0 @@ ...schema,

@@ -13,5 +13,16 @@ var __defProp = Object.defineProperty;

// src/openapi.ts
var openApiVersions = [
"3.0.0",
"3.0.1",
"3.0.2",
"3.0.3",
"3.1.0"
];
var satisfiesVersion = (test, against) => openApiVersions.indexOf(test) >= openApiVersions.indexOf(against);
var isReferenceObject = (schemaOrRef) => Boolean("$ref" in schemaOrRef && schemaOrRef.$ref);
// src/create/schema/metadata.ts
var enhanceWithMetadata = (schemaObject, metadata) => {
if ("$ref" in schemaObject) {
if (isReferenceObject(schemaObject)) {
if (Object.values(metadata).every((val) => val === void 0)) {

@@ -169,12 +180,2 @@ return schemaObject;

// src/openapi.ts
var openApiVersions = [
"3.0.0",
"3.0.1",
"3.0.2",
"3.0.3",
"3.1.0"
];
var satisfiesVersion = (test, against) => openApiVersions.indexOf(test) >= openApiVersions.indexOf(against);
// src/create/schema/parsers/nativeEnum.ts

@@ -229,30 +230,37 @@ var createNativeEnumSchema = (zodEnum, state) => {

]);
if ("$ref" in schemaObject || schemaObject.allOf) {
if (satisfiesVersion(state.components.openapi, "3.1.0")) {
if (isReferenceObject(schemaObject) || schemaObject.allOf) {
return {
oneOf: mapNullOf([schemaObject], state.components.openapi)
};
}
if (schemaObject.oneOf) {
const { oneOf, ...schema3 } = schemaObject;
return {
oneOf: mapNullOf(oneOf, state.components.openapi),
...schema3
};
}
if (schemaObject.anyOf) {
const { anyOf, ...schema3 } = schemaObject;
return {
anyOf: mapNullOf(anyOf, state.components.openapi),
...schema3
};
}
const { type: type2, ...schema2 } = schemaObject;
return {
oneOf: mapNullOf([schemaObject], state.components.openapi)
};
}
if (schemaObject.oneOf) {
const { oneOf, ...schema2 } = schemaObject;
return {
oneOf: mapNullOf(oneOf, state.components.openapi),
type: mapNullType(type2),
...schema2
};
}
if (schemaObject.anyOf) {
const { anyOf, ...schema2 } = schemaObject;
if (isReferenceObject(schemaObject)) {
return {
anyOf: mapNullOf(anyOf, state.components.openapi),
...schema2
allOf: [schemaObject],
nullable: true
};
}
const { type, ...schema } = schemaObject;
if (satisfiesVersion(state.components.openapi, "3.1.0")) {
return {
type: mapNullType(type),
...schema
};
}
return {
type,
...type && { type },
nullable: true,

@@ -259,0 +267,0 @@ ...schema,

import type { ZodNullable, ZodTypeAny } from 'zod';
import type { oas31 } from '../../../openapi3-ts/dist';
import { type SchemaState } from '../../schema';
export declare const createNullableSchema: <T extends ZodTypeAny>(zodNullable: ZodNullable<T>, state: SchemaState) => oas31.SchemaObject;
export declare const createNullableSchema: <T extends ZodTypeAny>(zodNullable: ZodNullable<T>, state: SchemaState) => oas31.SchemaObject | oas31.ReferenceObject;

@@ -0,3 +1,5 @@

import type { oas31 } from './openapi3-ts/dist';
export declare const openApiVersions: readonly ["3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.1.0"];
export type OpenApiVersion = (typeof openApiVersions)[number];
export declare const satisfiesVersion: (test: OpenApiVersion, against: OpenApiVersion) => boolean;
export declare const isReferenceObject: (schemaOrRef: oas31.SchemaObject | oas31.ReferenceObject) => schemaOrRef is oas31.ReferenceObject;
{
"name": "zod-openapi",
"version": "2.10.0",
"version": "2.11.0",
"description": "Convert Zod Schemas to OpenAPI v3.x documentation",

@@ -5,0 +5,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc