clientnode 3.0.1068 → 3.0.1069

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/type.d.ts +7 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clientnode",
3
- "version": "3.0.1068",
3
+ "version": "3.0.1069",
4
4
  "description": "upgrade to object orientated rock solid plugins",
5
5
  "keywords": [
6
6
  "client",
package/type.d.ts CHANGED
@@ -114,10 +114,15 @@ export interface ObjectMaskConfiguration {
114
114
  exclude?: ObjectMask;
115
115
  include?: ObjectMask;
116
116
  }
117
- export type Evaluateable = {
117
+ export interface EvaluateObject {
118
118
  __evaluate__: string;
119
- } | {
119
+ }
120
+ export interface ExecuteObject {
120
121
  __execute__: string;
122
+ }
123
+ export type Evaluateable = EvaluateObject | ExecuteObject;
124
+ export type EvaluatedObject<Type extends object> = {
125
+ [Property in keyof Type]: (Type[Property] extends Evaluateable ? unknown : Type[Property] extends object ? EvaluatedObject<Type[Property]> : Type[Property]);
121
126
  };
122
127
  export type RecursiveEvaluateable<Type> = Evaluateable | {
123
128
  [Property in keyof Type]: (Evaluateable | (Type[Property] extends (infer OtherType)[] ? RecursiveEvaluateable<OtherType>[] : Type[Property] extends Mapping<unknown> ? RecursiveEvaluateable<Type[Property]> : Evaluateable | Type[Property]));