hunk.code_window: {
     "name": "expo-template-blank",
     "description": "The Blank project template includes the minimum dependencies to run and an empty root component.",
     "version": "41.0.0",
     "main": "node_modules/expo/AppEntry.js",
     "scripts": {
       "start": "expo start",
       "android": "expo start --android",
       "ios": "expo start --ios",
  
hunk.labels: keep keep keep replace keep keep keep keep keep
hunk.after_edit:   "version": "41.0.1",
  
hunk.file_path: templates/expo-template-blank/package.json
hunk.type: replace
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.
   */
  
  #pragma once
  
  #include <string>
  
  #include <ABI38_0_0ReactCommon/ABI38_0_0TurboModule.h>
  #include <ABI38_0_0jsi/ABI38_0_0jsi.h>
  
  namespace ABI38_0_0facebook {
  namespace ABI38_0_0React {
  
  class JSCallInvoker;
  
  /**
   * Represents the JavaScript binding for the TurboModule system.
   */
  class TurboModuleBinding {
   public:
    /*
     * Installs TurboModuleBinding into JavaScript runtime.
     * Thread synchronization must be enforced externally.
     */
    static void install(
        jsi::Runtime &runtime,
        std::shared_ptr<TurboModuleBinding> binding);
  
    TurboModuleBinding(const TurboModuleProviderFunctionType &moduleProvider);
  
    /*
     * Invalidates the binding.
     * Can be called in any thread.
     */
    void invalidate() const;
  
    /**
     * Get an TurboModule instance for the given module name.
     */
    std::shared_ptr<TurboModule> getModule(const std::string &name);
  
   private:
    /**
     * A lookup function exposed to JS to get an instance of a TurboModule
     * for the given name.
     */
    jsi::Value jsProxy(
        jsi::Runtime &runtime,
        const jsi::Value &thisVal,
        const jsi::Value *args,
        size_t count);
  
    TurboModuleProviderFunctionType moduleProvider_;
  };
  
  } // namespace ABI38_0_0React
  } // namespace ABI38_0_0facebook
  