Membrane SDK - v0.3.0
    Preparing search index...

    Interface ResolveFormulaParams

    Parameters used to resolve formulas.

    interface ResolveFormulaParams {
        variables?: unknown;
        schema?: DataSchema;
        getDataCollection?: (
            key: string,
            parameters?: Record<string, unknown>,
        ) => Promise<
            {
                type: "collection";
                key?: string;
                name: string;
                parametersSchema?: any;
                fieldsSchema?: any;
                list?: {
                    apiRequests?: { path?: unknown; method?: unknown }[];
                    filterFields?: string[];
                };
                search?: { apiRequests?: { path?: unknown; method?: unknown }[] };
                match?: {
                    apiRequests?: { path?: unknown; method?: unknown }[];
                    fields?: string[];
                };
                findById?: { apiRequests?: { path?: unknown; method?: unknown }[] };
                create?: {
                    apiRequests?: { path?: unknown; method?: unknown }[];
                    fields?: string[];
                    requiredFields?: string[];
                    excludedFields?: string[];
                };
                update?: {
                    apiRequests?: { path?: unknown; method?: unknown }[];
                    fields?: string[];
                    excludedFields?: string[];
                };
                delete?: { apiRequests?: { path?: unknown; method?: unknown }[] };
                events?: objectOutputType<
                    {
                        created: ZodOptional<
                            ZodObject<
                                {
                                    type: ZodEnum<(...)>;
                                    isFullScan: ZodOptional<(...)>;
                                    isIdOnly: ZodOptional<(...)>;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                            >,
                        >;
                        updated: ZodOptional<
                            ZodObject<
                                {
                                    type: ZodEnum<(...)>;
                                    isFullScan: ZodOptional<(...)>;
                                    isIdOnly: ZodOptional<(...)>;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                            >,
                        >;
                        deleted: ZodOptional<
                            ZodObject<
                                {
                                    type: ZodEnum<(...)>;
                                    isFullScan: ZodOptional<(...)>;
                                    isIdOnly: ZodOptional<(...)>;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                            >,
                        >;
                        all: ZodOptional<
                            ZodObject<
                                {
                                    type: ZodEnum<(...)>;
                                    isFullScan: ZodOptional<(...)>;
                                    isIdOnly: ZodOptional<(...)>;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                                {
                                    type: (...)
                                    | (...);
                                    isFullScan?: (...) | (...) | (...);
                                    isIdOnly?: (...) | (...) | (...);
                                },
                            >,
                        >;
                    },
                    ZodObject<
                        {
                            type: ZodEnum<["push", "pull"]>;
                            isFullScan: ZodOptional<ZodBoolean>;
                            isIdOnly: ZodOptional<ZodBoolean>;
                        },
                        "strip",
                        ZodTypeAny,
                        { type: "push"
                        | "pull"; isFullScan?: boolean; isIdOnly?: boolean },
                        { type: "push" | "pull"; isFullScan?: boolean; isIdOnly?: boolean },
                    >,
                    "strip",
                >;
                customFields?: boolean;
                udm?: Record<
                    string,
                    {
                        fields?: string[];
                        extract?: Record<string, any>;
                        parse?: Record<string, any>;
                    },
                >;
                find?: {
                    apiRequests?: { path?: unknown; method?: unknown }[];
                    queryFields?: string[];
                };
            },
        >;
        getInternalDataSchema?: (key: string) => Promise<DataSchema>;
        resolveImportDataLink?: (
            options: { dataLinkTableKey: string; recordId: string },
        ) => Promise<undefined | string>;
        resolveExportDataLink?: (
            options: { dataLinkTableKey: string; recordId: string },
        ) => Promise<undefined | string>;
        resolveLookup?: (
            __namedParameters: {
                lookup: LookupValue;
                schema: undefined | DataSchema;
            },
        ) => Promise<undefined | string>;
    }
    Index

    Properties

    variables?: unknown

    Variables used in formulas

    schema?: DataSchema
    getDataCollection?: (
        key: string,
        parameters?: Record<string, unknown>,
    ) => Promise<
        {
            type: "collection";
            key?: string;
            name: string;
            parametersSchema?: any;
            fieldsSchema?: any;
            list?: {
                apiRequests?: { path?: unknown; method?: unknown }[];
                filterFields?: string[];
            };
            search?: { apiRequests?: { path?: unknown; method?: unknown }[] };
            match?: {
                apiRequests?: { path?: unknown; method?: unknown }[];
                fields?: string[];
            };
            findById?: { apiRequests?: { path?: unknown; method?: unknown }[] };
            create?: {
                apiRequests?: { path?: unknown; method?: unknown }[];
                fields?: string[];
                requiredFields?: string[];
                excludedFields?: string[];
            };
            update?: {
                apiRequests?: { path?: unknown; method?: unknown }[];
                fields?: string[];
                excludedFields?: string[];
            };
            delete?: { apiRequests?: { path?: unknown; method?: unknown }[] };
            events?: objectOutputType<
                {
                    created: ZodOptional<
                        ZodObject<
                            {
                                type: ZodEnum<(...)>;
                                isFullScan: ZodOptional<(...)>;
                                isIdOnly: ZodOptional<(...)>;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                        >,
                    >;
                    updated: ZodOptional<
                        ZodObject<
                            {
                                type: ZodEnum<(...)>;
                                isFullScan: ZodOptional<(...)>;
                                isIdOnly: ZodOptional<(...)>;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                        >,
                    >;
                    deleted: ZodOptional<
                        ZodObject<
                            {
                                type: ZodEnum<(...)>;
                                isFullScan: ZodOptional<(...)>;
                                isIdOnly: ZodOptional<(...)>;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                        >,
                    >;
                    all: ZodOptional<
                        ZodObject<
                            {
                                type: ZodEnum<(...)>;
                                isFullScan: ZodOptional<(...)>;
                                isIdOnly: ZodOptional<(...)>;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                            {
                                type: (...)
                                | (...);
                                isFullScan?: (...) | (...) | (...);
                                isIdOnly?: (...) | (...) | (...);
                            },
                        >,
                    >;
                },
                ZodObject<
                    {
                        type: ZodEnum<["push", "pull"]>;
                        isFullScan: ZodOptional<ZodBoolean>;
                        isIdOnly: ZodOptional<ZodBoolean>;
                    },
                    "strip",
                    ZodTypeAny,
                    { type: "push"
                    | "pull"; isFullScan?: boolean; isIdOnly?: boolean },
                    { type: "push" | "pull"; isFullScan?: boolean; isIdOnly?: boolean },
                >,
                "strip",
            >;
            customFields?: boolean;
            udm?: Record<
                string,
                {
                    fields?: string[];
                    extract?: Record<string, any>;
                    parse?: Record<string, any>;
                },
            >;
            find?: {
                apiRequests?: { path?: unknown; method?: unknown }[];
                queryFields?: string[];
            };
        },
    >
    getInternalDataSchema?: (key: string) => Promise<DataSchema>
    resolveImportDataLink?: (
        options: { dataLinkTableKey: string; recordId: string },
    ) => Promise<undefined | string>
    resolveExportDataLink?: (
        options: { dataLinkTableKey: string; recordId: string },
    ) => Promise<undefined | string>
    resolveLookup?: (
        __namedParameters: {
            lookup: LookupValue;
            schema: undefined | DataSchema;
        },
    ) => Promise<undefined | string>