hunk.code_window:   inline fun onCreate(crossinline body: () -> Unit) {
       eventListeners[EventName.MODULE_CREATE] = BasicEventListener(EventName.MODULE_CREATE) { body() }
     }
     inline fun onDestroy(crossinline body: () -> Unit) {
       eventListeners[EventName.MODULE_DESTROY] = BasicEventListener(EventName.MODULE_DESTROY) { body() }
     }
  
hunk.labels: keep keep keep add keep keep keep keep
hunk.after_edit:   /**
      * Creates module's lifecycle listener that is called when the module is about to be deallocated.
      */
  
hunk.file_path: packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/modules/ModuleDefinitionBuilder.kt
hunk.type: add
file: ---
  id: rect
  title: Rect Object Type
  ---
  
  `Rect` accepts numeric pixel values to describe how far to extend a rectangular area. These values are added to the original area's size to expand it.
  
  ## Example
  
  ```js
  {
    bottom: 20,
    left: null,
    right: undefined,
    top: 50
  }
  ```
  
  ## Keys and values
  
  ### `bottom`
  
  | Type                        | Required |
  | --------------------------- | -------- |
  | number, `null`, `undefined` | No       |
  
  ### `left`
  
  | Type                        | Required |
  | --------------------------- | -------- |
  | number, `null`, `undefined` | No       |
  
  ### `right`
  
  | Type                        | Required |
  | --------------------------- | -------- |
  | number, `null`, `undefined` | No       |
  
  ### `top`
  
  | Type                        | Required |
  | --------------------------- | -------- |
  | number, `null`, `undefined` | No       |
  
  ## Used by
  
  - [`Image`](image.md)
  - [`Pressable`](pressable.md)
  - [`Text`](text.md)
  - [`TouchableWithoutFeedback`](touchablewithoutfeedback.md)
  