@react-typed-forms/schemas 14.4.0 → 14.5.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.
package/lib/hooks.d.ts CHANGED
@@ -7,6 +7,7 @@ import { SchemaDataNode, SchemaInterface } from "./schemaField";
7
7
  import { EntityExpression } from "./entityExpression";
8
8
  export type EvalExpressionHook<A = any> = DynamicHookGenerator<Control<A | undefined>, ControlDataContext>;
9
9
  export type UseEvalExpressionHook = (expr: EntityExpression | undefined | null, coerce: (v: any) => any) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;
10
+ export declare function optionalHook(expr: EntityExpression | undefined | null, useHook: UseEvalExpressionHook, coerce: (v: any) => any): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> | undefined;
10
11
  export declare function useEvalVisibilityHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition, overrideDataNode?: SchemaDataNode): EvalExpressionHook<boolean>;
11
12
  export declare function useEvalReadonlyHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): EvalExpressionHook<boolean>;
12
13
  export declare function useEvalStyleHook(useEvalExpressionHook: UseEvalExpressionHook, property: DynamicPropertyType, definition: ControlDefinition): EvalExpressionHook<React.CSSProperties>;
package/lib/index.cjs CHANGED
@@ -1806,6 +1806,9 @@ function _finallyRethrows(body, finalizer) {
1806
1806
  }
1807
1807
  return finalizer(false, result);
1808
1808
  }
1809
+ function optionalHook(expr, useHook, coerce) {
1810
+ return expr && expr.type ? useHook(expr, coerce) : undefined;
1811
+ }
1809
1812
  function useEvalVisibilityHook(useEvalExpressionHook, definition, overrideDataNode) {
1810
1813
  var dynamicVisibility = useEvalDynamicBoolHook(definition, exports.DynamicPropertyType.Visible, useEvalExpressionHook);
1811
1814
  return makeDynamicPropertyHook(dynamicVisibility, function (ctx, _ref) {
@@ -3367,6 +3370,7 @@ exports.mergeField = mergeField;
3367
3370
  exports.mergeFields = mergeFields;
3368
3371
  exports.mergeObjects = mergeObjects;
3369
3372
  exports.nodeForControl = nodeForControl;
3373
+ exports.optionalHook = optionalHook;
3370
3374
  exports.radioButtonOptions = radioButtonOptions;
3371
3375
  exports.relativePath = relativePath;
3372
3376
  exports.renderControlLayout = renderControlLayout;