<commit_before>/**
 * Copyright 2004-present Facebook. All Rights Reserved.
 *
 * @providesModule Dimensions
 */
'use strict';

var NativeModules = require('NativeModules');

var invariant = require('invariant');
var mergeInto = require('mergeInto');

var dimensions = NativeModules.RKUIManager.Dimensions;

class Dimensions {
  /**
   * This should only be called from native code.
   *
   * @param {object} dims Simple string-keyed object of dimensions to set
   */
  static set(dims) {
    mergeInto(dimensions, dims);
    return true;
  }

  /**
   * Initial dimensions are set before `runApplication` is called so they should
   * be available before any other require's are run, but may be updated later.
   *
   * Note: Although dimensions are available immediately, they may change (e.g
   * due to device rotation) so any rendering logic or styles that depend on
   * these constants should try to call this function on every render, rather
   * than caching the value (for example, using inline styles rather than
   * setting a value in a `StyleSheet`).
   *
   * @param {string} dim Name of dimension as defined when calling `set`.
   * @returns {Object?} Value for the dimension.
   */
  static get(dim) {
    invariant(dimensions[dim], 'No dimension set for key ' + dim);
    return dimensions[dim];
  }
}

module.exports = Dimensions;<commit_msg>[ReactNative] Replace all the call sites of mergeInto by Object.assign<commit_after>/**
 * Copyright 2004-present Facebook. All Rights Reserved.
 *
 * @providesModule Dimensions
 */
'use strict';

var NativeModules = require('NativeModules');

var invariant = require('invariant');

var dimensions = NativeModules.RKUIManager.Dimensions;

class Dimensions {
  /**
   * This should only be called from native code.
   *
   * @param {object} dims Simple string-keyed object of dimensions to set
   */
  static set(dims) {
    Object.assign(dimensions, dims);
    return true;
  }

  /**
   * Initial dimensions are set before `runApplication` is called so they should
   * be available before any other require's are run, but may be updated later.
   *
   * Note: Although dimensions are available immediately, they may change (e.g
   * due to device rotation) so any rendering logic or styles that depend on
   * these constants should try to call this function on every render, rather
   * than caching the value (for example, using inline styles rather than
   * setting a value in a `StyleSheet`).
   *
   * @param {string} dim Name of dimension as defined when calling `set`.
   * @returns {Object?} Value for the dimension.
   */
  static get(dim) {
    invariant(dimensions[dim], 'No dimension set for key ' + dim);
    return dimensions[dim];
  }
}

module.exports = Dimensions;
{'fraction_non_alphanumeric': 0.09180327868852459, 'fraction_numerical': 0.0029143897996357013, 'mean_word_length': 3.6073825503355703, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4019290', 'n_tokens_mistral': 758, 'n_tokens_neox': 749, 'n_words': 315}