# Functions Reference

# Functions

The following functions are available globally.

- `IGListDiff`

  Creates a diff using indexes between two collections.

  #### Declaration

  Objective-C

      extern IGListIndexSetResult *_Nonnull IGListDiff(
          NSArray<id<IGListDiffable>> *_Nullable oldArray,
          NSArray<id<IGListDiffable>> *_Nullable newArray, IGListDiffOption option)

  Swift

      func ListDiff(oldArray: [any ListDiffable]?, newArray: [any ListDiffable]?, option: IGListDiffOption) -> ListIndexSetResult

  #### Parameters

  `oldArray` | The old objects to diff against.
  `newArray` | The new objects.
  `option` | An option on how to compare objects.

  #### Return Value

  A result object containing affected indexes.

- `IGListDiffPaths`

  Creates a diff using index paths between two collections.

  #### Declaration

  Objective-C

      extern IGListIndexPathResult *_Nonnull IGListDiffPaths(
          NSInteger fromSection, NSInteger toSection,
          NSArray<id<IGListDiffable>> *_Nullable oldArray,
          NSArray<id<IGListDiffable>> *_Nullable newArray, IGListDiffOption option)

  Swift

      func ListDiffPaths(fromSection: Int, toSection: Int, oldArray: [any ListDiffable]?, newArray: [any ListDiffable]?, option: IGListDiffOption) -> ListIndexPathResult

  #### Parameters

  `fromSection` | The old section.
  `toSection` | The new section.
  `oldArray` | The old objects to diff against.
  `newArray` | The new objects.
  `option` | An option on how to compare objects.

  #### Return Value

  A result object containing affected indexes.

- `IGListExperimentEnabled`

  Check if an experiment is enabled in a bitmask.

  #### Declaration

  Objective-C

      static inline BOOL IGListExperimentEnabled(IGListExperiment mask,
                                                 IGListExperiment option)

  Swift

      func ListExperimentEnabled(mask: IGListExperiment, option: IGListExperiment) -> Bool

  #### Parameters

  `mask` | The bitmask of experiments.
  `option` | The option to compare with.

  #### Return Value

  `YES` if the option is in the bitmask, otherwise `NO`.

© 2024 Instagram. All rights reserved. (Last updated: 2024-05-13)

Generated by jazzy ♪♫ v0.15.0, a Realm project.