papi-dts
    Preparing search index...

    Type Alias WithProjectDataProviderEngineSettingMethods<TProjectDataTypes>

    The Setting methods required for a Project Data Provider Engine to fulfill the requirements of MandatoryProjectDataTypes's Setting data type.

    type WithProjectDataProviderEngineSettingMethods<
        TProjectDataTypes extends DataProviderDataTypes,
    > = {
        getSetting: <ProjectSettingName extends ProjectSettingNames>(
            key: ProjectSettingName,
        ) => Promise<ProjectSettingTypes[ProjectSettingName]>;
        resetSetting: <ProjectSettingName extends ProjectSettingNames>(
            key: ProjectSettingName,
        ) => Promise<boolean>;
        setSetting: <ProjectSettingName extends ProjectSettingNames>(
            key: ProjectSettingName,
            newSetting: ProjectSettingTypes[ProjectSettingName],
        ) => Promise<
            DataProviderUpdateInstructions<
                TProjectDataTypes & MandatoryProjectDataTypes,
            >,
        >;
    }

    Type Parameters

    Index

    Properties

    getSetting: <ProjectSettingName extends ProjectSettingNames>(
        key: ProjectSettingName,
    ) => Promise<ProjectSettingTypes[ProjectSettingName]>

    Get the value of the specified project setting.

    Note: This is good for retrieving a project setting once. If you want to keep the value up-to-date, use subscribeSetting instead, which can immediately give you the value and keep it up-to-date.

    Note for implementing: getSetting must call papi.projectSettings.getDefault if this project does not have a value for this setting

    Type declaration

      • <ProjectSettingName extends ProjectSettingNames>(
            key: ProjectSettingName,
        ): Promise<ProjectSettingTypes[ProjectSettingName]>
      • Type Parameters

        Parameters

        • key: ProjectSettingName

          The string id of the project setting to get

        Returns Promise<ProjectSettingTypes[ProjectSettingName]>

        The value of the specified project setting. Returns default setting value if the project setting does not exist on the project.

    If no default value is available for the setting.

    resetSetting: <ProjectSettingName extends ProjectSettingNames>(
        key: ProjectSettingName,
    ) => Promise<boolean>

    Deletes the specified project setting, setting it back to its default value.

    Note for implementing: resetSetting should remove the value for this setting for this project such that calling getSetting later would cause it to call papi.projectSettings.getDefault and return the default value.

    Type declaration

      • <ProjectSettingName extends ProjectSettingNames>(
            key: ProjectSettingName,
        ): Promise<boolean>
      • Type Parameters

        Parameters

        • key: ProjectSettingName

          The string id of the project setting to reset

        Returns Promise<boolean>

        true if successfully reset the project setting, false otherwise

    setSetting: <ProjectSettingName extends ProjectSettingNames>(
        key: ProjectSettingName,
        newSetting: ProjectSettingTypes[ProjectSettingName],
    ) => Promise<
        DataProviderUpdateInstructions<
            TProjectDataTypes & MandatoryProjectDataTypes,
        >,
    >

    Set the value of the specified project setting on this project.

    Note for implementing: setSetting must call papi.projectSettings.isValid before allowing the setting change.

    Type declaration

    If the setting validator failed.

    DataProviderUpdateInstructions for more info on what to return