hunk.code_window:   public var resolver: ResolveClosure
     public var rejecter: RejectClosure
     public func resolve(_ value: Any? = nil) -> Void {
       resolver(value)
     }
  
hunk.labels: keep keep add keep keep keep keep
hunk.after_edit:   /**
      The rejecter that is compatible with the legacy `EXPromiseRejectBlock`.
      Necessary in some places not converted to Swift, such as `EXPermissionsMethodsDelegate`.
      */
     public var legacyRejecter: EXPromiseRejectBlock {
       return { code, description, error in
         reject(code ?? "", description ?? "")
       }
     }
  
hunk.file_path: packages/expo-modules-core/ios/Swift/Promise.swift
hunk.type: add
file: /*
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  // NOTE: This entire file should be codegen'ed.
  
  #import <vector>
  
  #import <Foundation/Foundation.h>
  
  #import <React/RCTBridgeModule.h>
  
  #import <ReactCommon/RCTTurboModule.h>
  
  /**
   * The ObjC protocol based on the JS Flow type for SampleTurboModule.
   */
  @protocol NativeSampleTurboModuleSpec <RCTBridgeModule, RCTTurboModule>
  
  - (void)voidFunc;
  - (NSNumber *)getBool:(BOOL)arg;
  - (NSNumber *)getNumber:(double)arg;
  - (NSString *)getString:(NSString *)arg;
  - (NSArray<id<NSObject>> *)getArray:(NSArray *)arg;
  - (NSDictionary *)getObject:(NSDictionary *)arg;
  - (NSDictionary *)getValue:(double)x y:(NSString *)y z:(NSDictionary *)z;
  - (void)getValueWithCallback:(RCTResponseSenderBlock)callback;
  - (void)getValueWithPromise:(BOOL)error resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject;
  - (NSDictionary *)constantsToExport;
  - (NSDictionary *)getConstants;
  
  @end
  
  namespace facebook {
  namespace react {
  
  /**
   * The iOS TurboModule impl specific to SampleTurboModule.
   */
  class JSI_EXPORT NativeSampleTurboModuleSpecJSI : public ObjCTurboModule {
   public:
    NativeSampleTurboModuleSpecJSI(
        id<RCTTurboModule> instance,
        std::shared_ptr<CallInvoker> jsInvoker,
        std::shared_ptr<CallInvoker> nativeInvoker,
        id<RCTTurboModulePerformanceLogger> perfLogger);
  };
  
  } // namespace react
  } // namespace facebook
  