Socket
Socket
Sign inDemoInstall

@appliedblockchain/assert-combinators

Package Overview
Dependencies
Maintainers
52
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@appliedblockchain/assert-combinators - npm Package Compare versions

Comparing version 5.5.0 to 5.6.0

5

Changelog.md
# Changelog
## [v5.6.0](../../compare/v5.5.0...v5.6.0) (2022-12-14)
* Feat: optional if undefined.
* Updating changelog.
## [v5.5.0](../../compare/v5.4.1...v5.5.0) (2022-12-14)

@@ -4,0 +9,0 @@

4

cjs/exact.d.ts

@@ -1,3 +0,3 @@

import type { Assert, Asserted, Primitive } from './prelude.js';
declare const exact: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>;
import type { Assert, Asserted, Primitive, OptionalIfUndefined } from './prelude.js';
declare const exact: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>>;
export default exact;

@@ -1,3 +0,3 @@

import type { Assert, Asserted, Primitive } from './prelude.js';
declare const object: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>;
import type { Assert, Asserted, Primitive, OptionalIfUndefined } from './prelude.js';
declare const object: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>>;
export default object;

@@ -17,3 +17,7 @@ /** Helper no-op, parametric type to expand intellisense for alias types. */

export type Predicate<T = unknown> = (value: T) => boolean;
export type Primitive = undefined | boolean | number | string | symbol | bigint;
export type Primitive = undefined | null | boolean | number | string | symbol | bigint;
export type Exact<T, I> = T extends I ? Exclude<keyof T, keyof I> extends never ? T : never : never;
export type OptionalIfUndefinedOnly<T> = {
[K in keyof T as undefined extends T[K] ? K : never]?: T[K];
};
export type OptionalIfUndefined<T> = Omit<T, keyof OptionalIfUndefinedOnly<T>> & OptionalIfUndefinedOnly<T>;

@@ -1,3 +0,3 @@

import type { Assert, Asserted, Primitive } from './prelude.js';
declare const exact: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>;
import type { Assert, Asserted, Primitive, OptionalIfUndefined } from './prelude.js';
declare const exact: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>>;
export default exact;

@@ -1,3 +0,3 @@

import type { Assert, Asserted, Primitive } from './prelude.js';
declare const object: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>;
import type { Assert, Asserted, Primitive, OptionalIfUndefined } from './prelude.js';
declare const object: <T extends Record<string, Primitive | Assert<unknown>>>(kvs: T) => Assert<OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]>; }>>;
export default object;

@@ -17,3 +17,7 @@ /** Helper no-op, parametric type to expand intellisense for alias types. */

export type Predicate<T = unknown> = (value: T) => boolean;
export type Primitive = undefined | boolean | number | string | symbol | bigint;
export type Primitive = undefined | null | boolean | number | string | symbol | bigint;
export type Exact<T, I> = T extends I ? Exclude<keyof T, keyof I> extends never ? T : never : never;
export type OptionalIfUndefinedOnly<T> = {
[K in keyof T as undefined extends T[K] ? K : never]?: T[K];
};
export type OptionalIfUndefined<T> = Omit<T, keyof OptionalIfUndefinedOnly<T>> & OptionalIfUndefinedOnly<T>;
{
"name": "@appliedblockchain/assert-combinators",
"version": "5.5.0",
"version": "5.6.0",
"description": "Assertion combinators.",

@@ -5,0 +5,0 @@ "type": "module",

@@ -1,2 +0,2 @@

import type { Assert, Asserted, Primitive } from './prelude.js'
import type { Assert, Asserted, Primitive, OptionalIfUndefined } from './prelude.js'
import { inspect } from 'util'

@@ -6,3 +6,3 @@ import object from './object.js'

const exact =
<T extends Record<string, Primitive | Assert<unknown>>>(kvs: T): Assert<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }> =>
<T extends Record<string, Primitive | Assert<unknown>>>(kvs: T): Assert<OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }>> =>
value => {

@@ -19,5 +19,5 @@ if (typeof value !== 'object' || value === null) {

}
return result as { [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }
return result as OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }>
}
export default exact
import { inspect } from 'util'
import type { Assert, Asserted, Primitive } from './prelude.js'
import type { Assert, Asserted, Primitive, OptionalIfUndefined } from './prelude.js'
const object =
<T extends Record<string, Assert<unknown> | Primitive>>(kvs: T): Assert<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }> =>
<T extends Record<string, Primitive | Assert<unknown>>>(kvs: T): Assert<OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }>> =>
value => {

@@ -22,5 +22,5 @@ if (typeof value !== 'object' || value === null) {

}
return value as { [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }
return value as OptionalIfUndefined<{ [k in keyof T]: T[k] extends Primitive ? T[k] : Asserted<T[k]> }>
}
export default object

@@ -8,3 +8,4 @@ /** Helper no-op, parametric type to expand intellisense for alias types. */

export type Assert<R> =
(value: unknown) => R
(value: unknown) =>
R

@@ -54,3 +55,3 @@ export type Asserted<A> =

| undefined
// | null // @todo: ts 4.9 doesn't like it
| null
| boolean

@@ -68,1 +69,8 @@ | number

never
export type OptionalIfUndefinedOnly<T> = {
[K in keyof T as undefined extends T[K] ? K : never]?: T[K]
}
export type OptionalIfUndefined<T> =
Omit<T, keyof OptionalIfUndefinedOnly<T>> & OptionalIfUndefinedOnly<T>

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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