import { List, Map } from "immutable"; import { DispatchParsedType, DispatchTypeName, SumNType } from "./domains/specification/domains/types/state"; import { Unit } from "../../../../fun/domains/unit/state"; import { PredicateValue, EnumReference, ValueOrErrors, DispatchInjectedPrimitives, BasicFun, Guid, ApiErrors, Specification, Synchronized, ValueInfiniteStreamState, DispatchInjectables, RecordAbstractRendererView, DispatchInjectablesTypes, SpecificationApis, LookupTypeAbstractRendererView, ValueFilter, ValueTable } from "../../../../../main"; import { DispatchApiConverters, tryGetConcreteRenderer, ConcreteRenderers } from "../built-ins/state"; import { SearchableInfiniteStreamAbstractRendererState } from "../runner/domains/abstract-renderers/searchable-infinite-stream/state"; import { Renderer } from "./domains/specification/domains/forms/domains/renderer/state"; export type DispatchParsedPassthroughLauncher = { kind: "passthrough"; formName: string; renderer: Renderer; parseEntityFromApi: (_: any) => ValueOrErrors; parseGlobalConfigurationFromApi: (_: any) => ValueOrErrors; parseValueToApi: (value: PredicateValue, type: DispatchParsedType, state: any) => ValueOrErrors; type: DispatchParsedType; }; export type DispatchParsedEditLauncher = { kind: "edit"; formName: string; renderer: Renderer; fromApiParser: (_: any) => ValueOrErrors; toApiParser: (value: PredicateValue, type: DispatchParsedType, formState: any) => ValueOrErrors; parseGlobalConfigurationFromApi: (_: any) => ValueOrErrors; api: string; configApi: string; type: DispatchParsedType; }; export type DispatchParsedCreateLauncher = { kind: "create"; formName: string; renderer: Renderer; fromApiParser: (_: any) => ValueOrErrors; toApiParser: (value: PredicateValue, type: DispatchParsedType, formState: any) => ValueOrErrors; parseGlobalConfigurationFromApi: (_: any) => ValueOrErrors; api: string; configApi: string; type: DispatchParsedType; }; export type DispatchParsedLauncher = DispatchParsedPassthroughLauncher | DispatchParsedEditLauncher | DispatchParsedCreateLauncher; export type DispatchParsedLaunchers = { passthrough: Map>; edit: Map>; create: Map>; }; export type IdWrapperProps = { domNodeId: string; children: React.ReactNode; }; export type ErrorRendererProps = { message: string; }; export type DispatcherContext, Flags, CustomPresentationContext, ExtraContext> = { injectedPrimitives: DispatchInjectedPrimitives | undefined; apiConverters: DispatchApiConverters; specApis: SpecificationApis; getConcreteRendererKind: (viewName: string) => ValueOrErrors; getConcreteRenderer: ReturnType>; lookupTypeRenderer: () => LookupTypeAbstractRendererView; getDefaultRecordRenderer: (isNested: boolean) => RecordAbstractRendererView; concreteRenderers: ConcreteRenderers; defaultValue: (t: DispatchParsedType, renderer: Renderer) => ValueOrErrors; defaultState: (infiniteStreamSources: DispatchInfiniteStreamSources, lookupSources: DispatchLookupSources | undefined, tableApiSources: DispatchTableApiSources | undefined) => (t: DispatchParsedType, renderer: Renderer) => ValueOrErrors; forms: Map>; types: Map>; IdProvider: (props: IdWrapperProps) => React.ReactNode; ErrorRenderer: (props: ErrorRendererProps) => React.ReactNode; parseFromApiByType: (type: DispatchParsedType) => (raw: any) => ValueOrErrors; parseToApiByType: (type: DispatchParsedType, value: PredicateValue, state: any) => ValueOrErrors; }; export type DeserializedDispatchSpecification, Flags = Unit, CustomPresentationContext = Unit, ExtraContext = Unit> = { launchers: DispatchParsedLaunchers; dispatcherContext: DispatcherContext; parseValueToApi: (value: PredicateValue, type: DispatchParsedType, state: any) => ValueOrErrors; parseEntityFromApiByTypeLookupName: (typeLookupName: string, _: any) => ValueOrErrors; getTypeByLookupName: (typeLookupName: string) => ValueOrErrors, string>; }; export type DispatchSpecificationDeserializationResult, Flags = Unit, CustomPresentationContext = Unit, ExtraContext = Unit> = ValueOrErrors, string>; export type DispatchEnumName = string; export type DispatchEnumOptionsSources = BasicFun>>, string>>; export type DispatchStreamName = string; export type DispatchInfiniteStreamSources = BasicFun>; export type DispatchTableFiltersAndSorting = { filters: Map>; sorting: Map; }; export type TableGetManyParams = { chunkSize: number; from: number; filtersAndSorting: string; parentId?: string; }; export type DispatchTableApiName = string; export type DispatchTableApiSource = { get: BasicFun>; getMany: BasicFun>, BasicFun>>; getDefaultFiltersAndSorting: BasicFun>, BasicFun, BasicFun>>, BasicFun>>>; }; export type DispatchTableApiSources = BasicFun>; export type DispatchApiName = string; export type DispatchOneSource = { get: BasicFun> | undefined; getManyUnlinked: BasicFun>, BasicFun, ValueInfiniteStreamState["getChunk"]>>> | undefined; }; export type DispatchLookupSources = (typeName: string) => ValueOrErrors<{ one?: BasicFun>; }, string>; export type DispatchConfigName = string; export type DispatchGlobalConfigurationSources = BasicFun>; export type DispatchEntityName = string; export type DispatchEntityApis = { create: BasicFun>>; default: BasicFun>>; update: BasicFun Promise>; get: BasicFun>>; }; export declare const parseDispatchFormsToLaunchers: , Flags, CustomPresentationContext, ExtraContext>(injectedPrimitives: DispatchInjectedPrimitives | undefined, apiConverters: DispatchApiConverters, lookupTypeRenderer: () => LookupTypeAbstractRendererView, defaultRecordRenderer: () => RecordAbstractRendererView, defaultNestedRecordRenderer: () => RecordAbstractRendererView, concreteRenderers: ConcreteRenderers, IdProvider: (props: IdWrapperProps) => React.ReactNode, ErrorRenderer: (props: ErrorRendererProps) => React.ReactNode) => (specification: Specification) => DispatchSpecificationDeserializationResult; export type DispatchFormsParserContext, Flags = Unit, CustomPresentationContext = Unit, ExtraContext = Unit> = { lookupTypeRenderer: () => LookupTypeAbstractRendererView; defaultRecordConcreteRenderer: () => RecordAbstractRendererView; defaultNestedRecordConcreteRenderer: () => RecordAbstractRendererView; concreteRenderers: ConcreteRenderers; IdWrapper: (props: IdWrapperProps) => React.ReactNode; ErrorRenderer: (props: ErrorRendererProps) => React.ReactNode; fieldTypeConverters: DispatchApiConverters; getFormsConfig: BasicFun>; injectedPrimitives?: DispatchInjectables; desiredLaunchers?: string[]; explicitLookupTypes?: string[]; }; export type DispatchFormsParserState, Flags, CustomPresentationContext, ExtraContext> = { deserializedSpecification: Synchronized>; }; export declare const DispatchFormsParserState: , Flags = Unit, CustomPresentationContext = Unit, ExtraContext = Unit>() => { Default: () => DispatchFormsParserState; Updaters: { deserializedSpecification: import("../../../../../main").Widening, "deserializedSpecification">; }; }; //# sourceMappingURL=state.d.ts.map