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

myzod

Package Overview
Dependencies
Maintainers
1
Versions
92
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

myzod - npm Package Compare versions

Comparing version 0.0.27 to 0.0.28

16

libs/index.d.ts
declare abstract class Type<T> {
constructor();
abstract parse(value: unknown): T;
optional(): UnionType<[Type<T>, UndefinedType]>;
nullable(): UnionType<[Type<T>, NullType]>;
optional(): OptionalType<Type<T>>;
nullable(): NullableType<Type<T>>;
and<K extends AnyType>(schema: K): IntersectionType<Type<T>, K>;

@@ -66,2 +66,12 @@ or<K extends AnyType>(schema: K): UnionType<[Type<T>, K]>;

}
declare class OptionalType<T extends AnyType> extends Type<Infer<T> | undefined> {
private readonly schema;
constructor(schema: T);
parse(value: unknown): Infer<T> | undefined;
}
declare class NullableType<T extends AnyType> extends Type<Infer<T> | null> {
private readonly schema;
constructor(schema: T);
parse(value: unknown): Infer<T> | null;
}
declare class DateType extends Type<Date> {

@@ -92,3 +102,3 @@ constructor();

declare type DeepPartialShape<T extends ObjectShape> = {
[key in keyof T]: T[key] extends ObjectType<infer K> ? UnionType<[ObjectType<DeepPartialShape<K>>, UndefinedType]> : UnionType<[T[key], UndefinedType]>;
[key in keyof T]: T[key] extends ObjectType<infer K> ? OptionalType<ObjectType<DeepPartialShape<K>>> : OptionalType<T[key]>;
};

@@ -95,0 +105,0 @@ declare class ObjectType<T extends ObjectShape> extends Type<Eval<InferObjectShape<T>>> {

@@ -6,6 +6,6 @@ "use strict";

optional() {
return new UnionType([this, new UndefinedType()]);
return new OptionalType(this);
}
nullable() {
return new UnionType([this, new NullType()]);
return new NullableType(this);
}

@@ -188,2 +188,32 @@ and(schema) {

}
class OptionalType extends Type {
constructor(schema) {
super();
this.schema = schema;
this[coercionTypeSybol] = this.schema[coercionTypeSybol];
this[shapekeysSymbol] = this.schema[shapekeysSymbol];
this[allowUnknownSymbol] = this.schema[allowUnknownSymbol];
}
parse(value) {
if (value === undefined) {
return undefined;
}
return this.schema.parse(value);
}
}
class NullableType extends Type {
constructor(schema) {
super();
this.schema = schema;
this[coercionTypeSybol] = this.schema[coercionTypeSybol];
this[shapekeysSymbol] = this.schema[shapekeysSymbol];
this[allowUnknownSymbol] = this.schema[allowUnknownSymbol];
}
parse(value) {
if (value === null) {
return null;
}
return this.schema.parse(value);
}
}
// Non Primitive types

@@ -190,0 +220,0 @@ class DateType extends Type {

2

package.json
{
"name": "myzod",
"version": "0.0.27",
"version": "0.0.28",
"description": "",

@@ -5,0 +5,0 @@ "main": "./libs/index.js",

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