@augment-vir/common 9.2.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import { Except, Simplify } from 'type-fest';
1
2
  /** Makes all properties in an object writable. This is the opposite of Readonly<> */
2
3
  export type Writeable<T> = {
3
4
  -readonly [P in keyof T]: T[P];
@@ -17,6 +18,9 @@ export type ArrayElement<ArrayType extends ReadonlyArray<any>> = ArrayType[numbe
17
18
  export type RequiredAndNotNull<T> = {
18
19
  [P in keyof T]-?: NonNullable<T[P]>;
19
20
  };
21
+ export type SetOptionalAndNullable<OriginalObjectGeneric, OptionalKeysGeneric extends keyof OriginalObjectGeneric> = Simplify<Except<OriginalObjectGeneric, OptionalKeysGeneric> & {
22
+ [PropKey in OptionalKeysGeneric]?: OriginalObjectGeneric[PropKey] | null | undefined;
23
+ }>;
20
24
  /** Require only a subset of object properties. */
21
25
  export type RequiredBy<T, K extends keyof T> = Overwrite<T, Required<Pick<T, K>>>;
22
26
  /**
@@ -1,3 +1,4 @@
1
+ import { Except, Simplify } from 'type-fest';
1
2
  /** Makes all properties in an object writable. This is the opposite of Readonly<> */
2
3
  export type Writeable<T> = {
3
4
  -readonly [P in keyof T]: T[P];
@@ -17,6 +18,9 @@ export type ArrayElement<ArrayType extends ReadonlyArray<any>> = ArrayType[numbe
17
18
  export type RequiredAndNotNull<T> = {
18
19
  [P in keyof T]-?: NonNullable<T[P]>;
19
20
  };
21
+ export type SetOptionalAndNullable<OriginalObjectGeneric, OptionalKeysGeneric extends keyof OriginalObjectGeneric> = Simplify<Except<OriginalObjectGeneric, OptionalKeysGeneric> & {
22
+ [PropKey in OptionalKeysGeneric]?: OriginalObjectGeneric[PropKey] | null | undefined;
23
+ }>;
20
24
  /** Require only a subset of object properties. */
21
25
  export type RequiredBy<T, K extends keyof T> = Overwrite<T, Required<Pick<T, K>>>;
22
26
  /**
@@ -1,3 +1,4 @@
1
+ import { Except, Simplify } from 'type-fest';
1
2
  /** Makes all properties in an object writable. This is the opposite of Readonly<> */
2
3
  export type Writeable<T> = {
3
4
  -readonly [P in keyof T]: T[P];
@@ -17,6 +18,9 @@ export type ArrayElement<ArrayType extends ReadonlyArray<any>> = ArrayType[numbe
17
18
  export type RequiredAndNotNull<T> = {
18
19
  [P in keyof T]-?: NonNullable<T[P]>;
19
20
  };
21
+ export type SetOptionalAndNullable<OriginalObjectGeneric, OptionalKeysGeneric extends keyof OriginalObjectGeneric> = Simplify<Except<OriginalObjectGeneric, OptionalKeysGeneric> & {
22
+ [PropKey in OptionalKeysGeneric]?: OriginalObjectGeneric[PropKey] | null | undefined;
23
+ }>;
20
24
  /** Require only a subset of object properties. */
21
25
  export type RequiredBy<T, K extends keyof T> = Overwrite<T, Required<Pick<T, K>>>;
22
26
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@augment-vir/common",
3
- "version": "9.2.0",
3
+ "version": "9.3.0",
4
4
  "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/common",
5
5
  "bugs": {
6
6
  "url": "https://github.com/electrovir/augment-vir/issues"