Socket
Socket
Sign inDemoInstall

io-ts-fuzzer

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

io-ts-fuzzer - npm Package Compare versions

Comparing version 1.8.0 to 1.9.0

10

build/src/core/core.d.ts

@@ -33,5 +33,9 @@ import * as t from 'io-ts';

export declare const fuzzArray: (b: t.ArrayType<t.Mixed, any, any, unknown>) => ConcreteFuzzer<unknown[]>;
export declare function fuzzPartial(b: t.PartialType<t.Props>): ConcreteFuzzer<unknown>;
export declare function partialFuzzer(extra?: t.Props): Fuzzer<unknown, t.PartialType<t.Props, any, any, unknown>>;
/**
* @deprecated
*/
export declare const fuzzPartial: (b: t.PartialType<t.Props, any, any, unknown>) => ConcreteFuzzer<unknown>;
export declare function fuzzIntersection(b: t.IntersectionType<t.Any[]>): ConcreteFuzzer<unknown>;
export declare const coreFuzzers: (Fuzzer<unknown[], t.ArrayType<t.Mixed, any, any, unknown>> | Fuzzer<number, (t.Decoder<unknown, number> & t.NullType) | (t.Decoder<unknown, number> & t.UndefinedType) | (t.Decoder<unknown, number> & t.VoidType) | (t.Decoder<unknown, number> & t.UnknownType) | (t.Decoder<unknown, number> & t.StringType) | (t.Decoder<unknown, number> & t.NumberType) | (t.Decoder<unknown, number> & t.BooleanType) | (t.Decoder<unknown, number> & t.AnyArrayType) | (t.Decoder<unknown, number> & t.AnyDictionaryType) | (t.Decoder<unknown, number> & t.UnionType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, number> & t.InterfaceType<unknown, any, any, unknown>) | (t.Decoder<unknown, number> & t.PartialType<unknown, any, any, unknown>) | (t.Decoder<unknown, number> & t.ArrayType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.IntersectionType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, number> & t.LiteralType<string | number | boolean>) | (t.Decoder<unknown, number> & t.KeyofType<{
export declare const coreFuzzers: (Fuzzer<unknown[], t.ArrayType<t.Mixed, any, any, unknown>> | Fuzzer<unknown, t.PartialType<t.Props, any, any, unknown>> | Fuzzer<number, (t.Decoder<unknown, number> & t.NullType) | (t.Decoder<unknown, number> & t.UndefinedType) | (t.Decoder<unknown, number> & t.VoidType) | (t.Decoder<unknown, number> & t.UnknownType) | (t.Decoder<unknown, number> & t.StringType) | (t.Decoder<unknown, number> & t.NumberType) | (t.Decoder<unknown, number> & t.BooleanType) | (t.Decoder<unknown, number> & t.AnyArrayType) | (t.Decoder<unknown, number> & t.AnyDictionaryType) | (t.Decoder<unknown, number> & t.UnionType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, number> & t.InterfaceType<unknown, any, any, unknown>) | (t.Decoder<unknown, number> & t.PartialType<unknown, any, any, unknown>) | (t.Decoder<unknown, number> & t.ArrayType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.IntersectionType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, number> & t.LiteralType<string | number | boolean>) | (t.Decoder<unknown, number> & t.KeyofType<{
[key: string]: unknown;

@@ -48,4 +52,4 @@ }>) | (t.Decoder<unknown, number> & t.TupleType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, number> & t.RefinementType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.RecursiveType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.DictionaryType<t.Mixed, t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.ReadonlyType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.ReadonlyArrayType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, number> & t.ExactType<t.Mixed, any, any, unknown>)> | Fuzzer<boolean, (t.Decoder<unknown, boolean> & t.NullType) | (t.Decoder<unknown, boolean> & t.UndefinedType) | (t.Decoder<unknown, boolean> & t.VoidType) | (t.Decoder<unknown, boolean> & t.UnknownType) | (t.Decoder<unknown, boolean> & t.StringType) | (t.Decoder<unknown, boolean> & t.NumberType) | (t.Decoder<unknown, boolean> & t.BooleanType) | (t.Decoder<unknown, boolean> & t.AnyArrayType) | (t.Decoder<unknown, boolean> & t.AnyDictionaryType) | (t.Decoder<unknown, boolean> & t.UnionType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, boolean> & t.InterfaceType<unknown, any, any, unknown>) | (t.Decoder<unknown, boolean> & t.PartialType<unknown, any, any, unknown>) | (t.Decoder<unknown, boolean> & t.ArrayType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, boolean> & t.IntersectionType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, boolean> & t.LiteralType<string | number | boolean>) | (t.Decoder<unknown, boolean> & t.KeyofType<{

[key: string]: unknown;
}>) | (t.Decoder<unknown, void> & t.TupleType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, void> & t.RefinementType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.RecursiveType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.DictionaryType<t.Mixed, t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.ReadonlyType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.ReadonlyArrayType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.ExactType<t.Mixed, any, any, unknown>)> | Fuzzer<unknown, t.UnionType<t.Mixed[], any, any, unknown>> | Fuzzer<unknown, t.InterfaceType<t.Props, any, any, unknown>> | Fuzzer<unknown, t.PartialType<t.Props, any, any, unknown>> | Fuzzer<unknown, t.IntersectionType<t.Any[], any, any, unknown>> | Fuzzer<unknown, t.LiteralType<string | number | boolean>> | Fuzzer<unknown, t.KeyofType<{
}>) | (t.Decoder<unknown, void> & t.TupleType<t.Mixed[], any, any, unknown>) | (t.Decoder<unknown, void> & t.RefinementType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.RecursiveType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.DictionaryType<t.Mixed, t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.ReadonlyType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.ReadonlyArrayType<t.Mixed, any, any, unknown>) | (t.Decoder<unknown, void> & t.ExactType<t.Mixed, any, any, unknown>)> | Fuzzer<unknown, t.UnionType<t.Mixed[], any, any, unknown>> | Fuzzer<unknown, t.InterfaceType<t.Props, any, any, unknown>> | Fuzzer<unknown, t.IntersectionType<t.Any[], any, any, unknown>> | Fuzzer<unknown, t.LiteralType<string | number | boolean>> | Fuzzer<unknown, t.KeyofType<{
[key: string]: unknown;
}>> | Fuzzer<unknown[], t.TupleType<t.Mixed[], any, any, unknown>> | Fuzzer<t.Branded<number, t.IntBrand>, t.Decoder<unknown, t.Branded<number, t.IntBrand>>>)[];
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const t = require("io-ts");
function concrete(func, tag) {

@@ -137,5 +138,7 @@ return {

exports.fuzzArray = fuzzArrayWithMaxLength();
function fuzzPartial(b) {
const keys = Object.getOwnPropertyNames(b.props);
const vals = keys.map(k => b.props[k]);
const fuzzPartialWithExtraCodec = (extra = { ___0000_extra_: t.number }) => (b) => {
const kk = Object.getOwnPropertyNames(b.props);
const xx = Object.getOwnPropertyNames(extra);
const keys = Object.getOwnPropertyNames(b.props).concat(Object.getOwnPropertyNames(extra));
const vals = keys.map((k, i) => i < kk.length ? b.props[k] : extra[xx[i - kk.length]]);
return {

@@ -147,3 +150,7 @@ children: vals,

if (n & (2 ** i)) {
ret[keys[i]] = v.encode(n + i);
// Only allow key indices from the original type
// or added keys without indices.
if (i < kk.length || !kk.includes(keys[i])) {
ret[keys[i]] = v.encode(n + i);
}
}

@@ -154,4 +161,11 @@ });

};
};
function partialFuzzer(extra = { ___0000_extra_: t.number }) {
return gen(fuzzPartialWithExtraCodec(extra), 'PartialType');
}
exports.fuzzPartial = fuzzPartial;
exports.partialFuzzer = partialFuzzer;
/**
* @deprecated
*/
exports.fuzzPartial = fuzzPartialWithExtraCodec();
function fuzzIntersection(b) {

@@ -185,3 +199,3 @@ return {

gen(fuzzInterface, 'InterfaceType'),
gen(fuzzPartial, 'PartialType'),
partialFuzzer(),
arrayFuzzer(),

@@ -188,0 +202,0 @@ gen(fuzzIntersection, 'IntersectionType'),

@@ -10,3 +10,4 @@ import { Fuzzer, ExampleGenerator } from './fuzzer';

export interface FluentRegistry extends Registry {
withArrayFuzzer(maxLength: number): FluentRegistry;
withArrayFuzzer(maxLength?: number): FluentRegistry;
withPartialFuzzer(extra?: t.Props): FluentRegistry;
}

@@ -13,0 +14,0 @@ export declare function fluent(r: Registry): FluentRegistry;

@@ -5,2 +5,3 @@ "use strict";

const core_1 = require("./core/");
const core_2 = require("./core/core");
class FluentifiedRegistry {

@@ -24,2 +25,6 @@ constructor(pimpl) {

}
withPartialFuzzer(extra) {
this.register(core_2.partialFuzzer(extra));
return this;
}
}

@@ -26,0 +31,0 @@ function fluent(r) {

@@ -0,1 +1,8 @@

# [1.9.0](https://github.com/holvonix-open/io-ts-fuzzer/compare/v1.8.0...v1.9.0) (2019-08-05)
### 🌟🚀 Features
* support configuring extra properties for partial fuzzers ([5e80982](https://github.com/holvonix-open/io-ts-fuzzer/commit/5e80982))
# [1.8.0](https://github.com/holvonix-open/io-ts-fuzzer/compare/v1.7.0...v1.8.0) (2019-08-05)

@@ -2,0 +9,0 @@

{
"name": "io-ts-fuzzer",
"version": "1.8.0",
"version": "1.9.0",
"description": "Fuzzing for io-ts codecs and types",

@@ -5,0 +5,0 @@ "repository": {

@@ -64,2 +64,10 @@ # io-ts-fuzzer - Fuzzing for io-ts codecs and types

### Configuring Core Fuzzers
The `FluentRegistry` interface lets you easily change certain core
fuzzers, currently:
* maximum array length
* extra properties inserted into `partial` objects
### Fuzzing a Type (TODO)

@@ -66,0 +74,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