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

api-typescript-generator

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

api-typescript-generator - npm Package Compare versions

Comparing version 2.4.8 to 2.4.9

8

lib/schema-to-typescript/common/operation-methods.js

@@ -433,3 +433,9 @@ "use strict";

}
const operationMethod = (0, types_1.classMethod)('method', (0, types_1.identifier)(operationName), argument.properties.length > 0 ? [argument] : [], (0, types_1.blockStatement)([
const operationMethod = (0, types_1.classMethod)('method', (0, types_1.identifier)(operationName), argument.properties.length > 0
? [
(0, type_utils_1.isAssignableToEmptyObject)(argument.typeAnnotation.typeAnnotation)
? (0, types_1.assignmentPattern)(argument, (0, types_1.objectExpression)([]))
: argument
]
: [], (0, types_1.blockStatement)([
(0, types_1.returnStatement)(operationReturn.wrapResultExpression((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.thisExpression)(), (0, types_1.identifier)('getClientInstance')), []), (0, types_1.identifier)('request')), [requestObject])))

@@ -436,0 +442,0 @@ ]));

@@ -7,1 +7,2 @@ import { TSIntersectionType, TSType, TSUnionType } from '@babel/types';

export declare function simplifyIntersectionTypeIfPossible(intersection: TSIntersectionType): TSType;
export declare function isAssignableToEmptyObject(type: TSType): boolean;

@@ -26,3 +26,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.simplifyIntersectionTypeIfPossible = exports.mergeTypes = exports.getUserFreiendlySchemaName = exports.simplifyUnionTypeIfPossible = void 0;
exports.isAssignableToEmptyObject = exports.simplifyIntersectionTypeIfPossible = exports.mergeTypes = exports.getUserFreiendlySchemaName = exports.simplifyUnionTypeIfPossible = void 0;
const types_1 = require("@babel/types");

@@ -262,1 +262,22 @@ const R = __importStar(require("ramda"));

exports.simplifyIntersectionTypeIfPossible = simplifyIntersectionTypeIfPossible;
function isAssignableToEmptyObject(type) {
if ((0, types_1.isTSTypeLiteral)(type)) {
for (const member of type.members) {
if ((0, types_1.isTSCallSignatureDeclaration)(member) || (0, types_1.isTSConstructSignatureDeclaration)(member)) {
return false;
}
else if (((0, types_1.isTSMethodSignature)(member) || (0, types_1.isTSPropertySignature)(member)) && !member.optional) {
return false;
}
}
return true;
}
else if ((0, types_1.isTSIntersectionType)(type)) {
return type.types.every(isAssignableToEmptyObject);
}
else if ((0, types_1.isTSUnionType)(type)) {
return type.types.some(isAssignableToEmptyObject);
}
return false;
}
exports.isAssignableToEmptyObject = isAssignableToEmptyObject;

2

package.json
{
"name": "api-typescript-generator",
"version": "2.4.8",
"version": "2.4.9",
"description": "Generates OpenAPI TypeScript client. Extremely fast and flexible.",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -47,3 +47,3 @@ import {

import {applyEntityNameCase} from '../../utils/string-utils';
import {getUserFreiendlySchemaName, mergeTypes} from '../../utils/type-utils';
import {getUserFreiendlySchemaName, isAssignableToEmptyObject, mergeTypes} from '../../utils/type-utils';
import {objectPropertyKey, valueToAstExpression} from '../common';

@@ -624,3 +624,9 @@ import {

identifier(operationName),
argument.properties.length > 0 ? [argument] : [],
argument.properties.length > 0
? [
isAssignableToEmptyObject(argument.typeAnnotation.typeAnnotation)
? assignmentPattern(argument, objectExpression([]))
: argument
]
: [],
blockStatement([

@@ -627,0 +633,0 @@ returnStatement(

@@ -6,4 +6,7 @@ import {

isStringLiteral,
isTSCallSignatureDeclaration,
isTSConstructSignatureDeclaration,
isTSIntersectionType,
isTSLiteralType,
isTSMethodSignature,
isTSPropertySignature,

@@ -277,1 +280,19 @@ isTSTypeLiteral,

}
export function isAssignableToEmptyObject(type: TSType): boolean {
if (isTSTypeLiteral(type)) {
for (const member of type.members) {
if (isTSCallSignatureDeclaration(member) || isTSConstructSignatureDeclaration(member)) {
return false;
} else if ((isTSMethodSignature(member) || isTSPropertySignature(member)) && !member.optional) {
return false;
}
}
return true;
} else if (isTSIntersectionType(type)) {
return type.types.every(isAssignableToEmptyObject);
} else if (isTSUnionType(type)) {
return type.types.some(isAssignableToEmptyObject);
}
return false;
}
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