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 1.4.6 to 1.5.0

8

libs/types.d.ts

@@ -26,2 +26,4 @@ export declare abstract class Type<T> {

export declare type Infer<T> = T extends AnyType ? (T extends Type<infer K> ? Eval<K> : any) : T;
declare const allowUnknownSymbol: unique symbol;
declare const shapekeysSymbol: unique symbol;
export declare const coercionTypeSymbol: unique symbol;

@@ -210,3 +212,6 @@ export declare type IntersectionResult<T extends AnyType, K extends AnyType> = T extends ObjectType<any> ? K extends ObjectType<any> ? T extends ObjectType<infer Shape1> ? K extends ObjectType<infer Shape2> ? ObjectType<Eval<MergeShapes<Shape1, Shape2>>> : never : never : IntersectionType<T, K> : T extends ArrayType<any> ? K extends ArrayType<any> ? T extends ArrayType<infer S1> ? K extends ArrayType<infer S2> ? ArrayType<IntersectionResult<S1, S2>> : never : never : IntersectionType<T, K> : T extends TupleType<any> ? K extends TupleType<any> ? T extends TupleType<infer S1> ? K extends TupleType<infer S2> ? TupleType<Join<S1, S2>> : never : never : IntersectionType<T, K> : IntersectionType<T, K>;

private readonly defaultValue?;
private readonly allowUnknown;
[allowUnknownSymbol]: boolean;
[shapekeysSymbol]: string[];
[coercionTypeSymbol]: boolean;
[keySignature]: AnyType | undefined;
private shouldCollectErrors;

@@ -253,2 +258,3 @@ constructor(objectShape: T, opts?: ObjectOptions<T>);

collectErrors(value?: boolean): ObjectType<T>;
allowUnknownKeys(value?: boolean): ObjectType<T>;
}

@@ -255,0 +261,0 @@ export declare type ArrayOptions<T extends AnyType> = {

14

libs/types.js

@@ -488,10 +488,10 @@ "use strict";

this.defaultValue = opts === null || opts === void 0 ? void 0 : opts.default;
this.allowUnknown = (opts === null || opts === void 0 ? void 0 : opts.allowUnknown) === true;
this.shouldCollectErrors = (opts === null || opts === void 0 ? void 0 : opts.collectErrors) === true;
const keys = Object.keys(this.objectShape);
this[exports.keySignature] = this.objectShape[exports.keySignature];
this[allowUnknownSymbol] = this.allowUnknown;
this[allowUnknownSymbol] = (opts === null || opts === void 0 ? void 0 : opts.allowUnknown) === true;
this[shapekeysSymbol] = keys;
this[exports.coercionTypeSymbol] =
this.defaultValue !== undefined ||
this[allowUnknownSymbol] ||
Object.values(this.objectShape).some(schema => schema[exports.coercionTypeSymbol]) ||

@@ -511,3 +511,3 @@ !!(this.objectShape[exports.keySignature] && this.objectShape[exports.keySignature][exports.coercionTypeSymbol]);

const keys = this[shapekeysSymbol];
const allowUnknown = typeof parseOpts.allowUnknown === 'boolean' ? parseOpts.allowUnknown : this.allowUnknown;
const allowUnknown = parseOpts.allowUnknown || this[allowUnknownSymbol];
const keySig = this.objectShape[exports.keySignature];

@@ -865,3 +865,3 @@ if (!allowUnknown && !keySig) {

// Do not transfer predicates or default value to new object shape as this would not be type-safe
return new ObjectType(shape, { allowUnknown: this.allowUnknown });
return new ObjectType(shape, { allowUnknown: this[allowUnknownSymbol] });
}

@@ -882,2 +882,8 @@ shape() {

}
allowUnknownKeys(value = true) {
const cpy = clone(this);
cpy[allowUnknownSymbol] = value;
cpy[exports.coercionTypeSymbol] = cpy[exports.coercionTypeSymbol] || value;
return cpy;
}
}

@@ -884,0 +890,0 @@ exports.ObjectType = ObjectType;

{
"name": "myzod",
"version": "1.4.6",
"version": "1.5.0",
"description": "",

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

@@ -449,2 +449,12 @@ # myzod

#### object.allowUnknownKeys
A new schema can be build via fluent syntax to allow for unknown keys
```typescript
const schema = z.object({ name: z.string(), age: z.number() }).allowUnknownKeys()
const value = schema.try({ name: 'myzod', age: 1, cool: true }); // value is { name: 'myzod', age: 1 }
```
#### object.withPredicate

@@ -451,0 +461,0 @@

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