Socket
Socket
Sign inDemoInstall

data-transfer-object

Package Overview
Dependencies
3
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.1 to 0.3.0

7

lib/cjs/data-transfer-object.d.ts
import { ValidationError, ValidatorOptions } from 'class-validator';
export * from 'class-validator';
declare type NonFunctionPropertyNames<T> = {
[K in keyof T]: T[K] extends Function ? never : K;
}[keyof T];
/** Extract the data properties out of a Data Transfer Object. */
export declare type Data<T extends DataTransferObject> = {
[K in keyof T]: T[K] extends Function ? never : T[K];
};
export declare type Data<T> = Pick<T, NonFunctionPropertyNames<T>>;
/** Cached validation errors from previous validation. */

@@ -8,0 +9,0 @@ declare const validationErrors: unique symbol;

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

toJSON() {
return Object.fromEntries(Object.entries(this).filter(([key, val]) => !key.startsWith('_') && typeof val !== 'function'));
return Object.fromEntries(Object.entries(this).filter(([_key, val]) => typeof val !== 'function'));
}

@@ -84,0 +84,0 @@ }

import { ValidationError, ValidatorOptions } from 'class-validator';
export * from 'class-validator';
declare type NonFunctionPropertyNames<T> = {
[K in keyof T]: T[K] extends Function ? never : K;
}[keyof T];
/** Extract the data properties out of a Data Transfer Object. */
export declare type Data<T extends DataTransferObject> = {
[K in keyof T]: T[K] extends Function ? never : T[K];
};
export declare type Data<T> = Pick<T, NonFunctionPropertyNames<T>>;
/** Cached validation errors from previous validation. */

@@ -8,0 +9,0 @@ declare const validationErrors: unique symbol;

@@ -68,5 +68,5 @@ var _a, _b;

toJSON() {
return Object.fromEntries(Object.entries(this).filter(([key, val]) => !key.startsWith('_') && typeof val !== 'function'));
return Object.fromEntries(Object.entries(this).filter(([_key, val]) => typeof val !== 'function'));
}
}
_a = validationErrors, _b = validated;
{
"name": "data-transfer-object",
"version": "0.2.1",
"version": "0.3.0",
"description": "Data Transfer Object class built on `class-validator`.",

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

import { validate, validateSync, ValidationError, ValidatorOptions } from 'class-validator';
export * from 'class-validator';
/** Extract the data properties out of a Data Transfer Object. */
export type Data<T extends DataTransferObject> = {
// Simple conditional mapping turns function types into `never` types
// In order to skip them entirely, we use the following:
// https://stackoverflow.com/a/55483981/3247259
type NonFunctionPropertyNames<T> = {
// eslint-disable-next-line @typescript-eslint/ban-types
[K in keyof T]: T[K] extends Function ? never : T[K];
};
[K in keyof T]: T[K] extends Function ? never : K;
}[keyof T];
/** Extract the data properties out of a Data Transfer Object. */
export type Data<T> = Pick<T, NonFunctionPropertyNames<T>>;
const defaultOpts: ValidatorOptions = {

@@ -84,5 +90,5 @@ whitelist: true,

return Object.fromEntries(
Object.entries(this).filter(([key, val]) => !key.startsWith('_') && typeof val !== 'function'),
Object.entries(this).filter(([_key, val]) => typeof val !== 'function'),
) as Data<this>;
}
}
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc