Skip to content

Commit

Permalink
feat(utils): add DefaultUtils typing to index.d.ts (#1078)
Browse files Browse the repository at this point in the history
  • Loading branch information
gquittet authored Jul 4, 2024
1 parent 6028fae commit 1337b37
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions packages/core/modules/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,24 @@ interface ConfigUtils {
cleanJSX(jsx: any): Object;
applyJsonLogic(logic: any, data?: any): any;
}
interface DefaultUtils {
getDefaultField(config: Config, canGetFirst?: boolean, parentRuleGroupPath?: IdPath): Field;
getDefaultSubField(config: Config, parentRuleGroupPath?: IdPath | null): Field;
getDefaultFieldSrc(config: Config, canGetFirst?: boolean): string;
getDefaultOperator(config: Config, field: Field, canGetFirst?: boolean): string;
defaultOperatorOptions(config: Config, field: Field, canGetFirst?: boolean): string;
emptyProperties<K, V>(): ImmutableMap<K, V>;
createListFromArray<TItem>(array: TItem[]): ImmutableList<TItem>;
defaultRule<K, V>(id: string, config: Config): Record<string, ImmutableMap<K, V>>;
defaultRoot<K, V>(config: Config, canAddDefaultRule?: boolean): ImmutableMap<K, V>;
createListWithOneElement<TItem>(el: TItem): ImmutableList<TItem>;
defaultItemProperties(config: Config, item: JsonRule): ImmutableRuleProperties | ImmutableGroupProperties;
defaultGroupProperties(config: Config, fieldConfig: Field | Func | null): ImmutableGroupProperties;
defaultRuleProperties(config: Config, parentRuleGroupPath?: IdPath, item?: JsonRule, canUseDefaultFieldAndOp?: boolean, canGetFirst?: boolean): ImmutableRuleProperties;
defaultConjunction(config: Config): string;
defaultOperatorOptions(config: Config, operator: string, field: Field): string;
defaultGroupConjunction(config: Config, fieldConfig: Field | Func | null): string;
}
interface ExportUtils {
wrapWithBrackets(val: string): string;
spelEscape(val: any): string;
Expand Down Expand Up @@ -616,6 +634,7 @@ export interface Utils extends Omit<Import, "isValidTree">, Export,
Autocomplete: Autocomplete;
Validation: Validation;
ConfigUtils: ConfigUtils;
DefaultUtils: DefaultUtils;
ExportUtils: ExportUtils;
ListUtils: ListUtils;
TreeUtils: TreeUtils;
Expand Down Expand Up @@ -933,7 +952,7 @@ export type TreeMultiSelectWidget<C = Config, WP = TreeMultiSelectWidgetProps<C>
export type CaseValueWidget<C = Config, WP = CaseValueWidgetProps<C>> = BaseWidget<C, WP> & CaseValueFieldSettings;

// tip: use generic WidgetProps here, TS can't determine correct factory
export type TypedWidget<C = Config> =
export type TypedWidget<C = Config> =
TextWidget<C, WidgetProps<C>>
| DateTimeWidget<C, WidgetProps<C>>
| BooleanWidget<C, WidgetProps<C>>
Expand All @@ -945,7 +964,7 @@ export type TypedWidget<C = Config> =
| TreeMultiSelectWidget<C, WidgetProps<C>>
| CaseValueWidget<C, WidgetProps<C>>;

export type Widget<C = Config> =
export type Widget<C = Config> =
FieldWidget<C>
| FuncWidget<C>
| TypedWidget<C>
Expand Down

0 comments on commit 1337b37

Please sign in to comment.