<commit_before><script>
  import ImageStaticSource from 'ol/source/ImageStatic'
  import imageSource from '../../mixin/image-source'
  import withUrl from '../../mixin/with-url'
  import { makeWatchers } from '../../util/vue-helpers'

  /**
   * @vueProps
   */
  const props = /** @lends module:image-static-source/source# */{
    /**
     * Image extent in the source projection.
     * @type {number[]}
     */
    extent: {
      type: Array,
      required: true,
      validator: value => value.length === 4,
    },
    /**
     * Optional function to load an image given a URL.
     * @type {function|undefined}
     */
    loadFunc: Function,
    /**
     * Image size in pixels.
     * @type {number[]}
     */
    size: {
      type: Array,
      validator: value => value.length === 2,
    },
    /**
     * Image URL.
     * @type {string}
     */
    url: {
      type: String,
      required: true,
      validator: value => !!value.length,
    },
  }

  /**
   * @vueMethods
   */
  const methods = /** @lends module:image-static-source/source# */{
    /**
     * @return {ImageStatic}
     * @protected
     */
    createSource () {
      return new ImageStaticSource({
        attributions: this.attributions,
        crossOrigin: this.crossOrigin,
        imageExtent: this.extent,
        imageLoadFunction: this.loadFunc,
        logo: this.logo,
        projection: this.projection,
        imageSize: this.size,
        url: this.urlTmpl,
      })
    },
  }

  const watch = makeWatchers(Object.keys(props), () => function () {
    this.scheduleRefresh()
  })

  /**
   * A layer source for displaying a single, static image.
   *
   * @vueProto
   * @title vl-source-image-static
   * @alias module:image-static-source/source
   */
  export default {
    name: 'vl-source-image-static',
    mixins: [imageSource, withUrl],
    props,
    methods,
    watch,
  }
</script><commit_msg>vl-source-image-static replace `scheduleRefresh` with `scheduleRecreate`<commit_after><script>
  import ImageStaticSource from 'ol/source/ImageStatic'
  import imageSource from '../../mixin/image-source'
  import withUrl from '../../mixin/with-url'
  import { makeWatchers } from '../../util/vue-helpers'

  /**
   * @vueProps
   */
  const props = /** @lends module:image-static-source/source# */{
    /**
     * Image extent in the source projection.
     * @type {number[]}
     */
    extent: {
      type: Array,
      required: true,
      validator: value => value.length === 4,
    },
    /**
     * Optional function to load an image given a URL.
     * @type {function|undefined}
     */
    loadFunc: Function,
    /**
     * Image size in pixels.
     * @type {number[]}
     */
    size: {
      type: Array,
      validator: value => value.length === 2,
    },
    /**
     * Image URL.
     * @type {string}
     */
    url: {
      type: String,
      required: true,
      validator: value => !!value.length,
    },
  }

  /**
   * @vueMethods
   */
  const methods = /** @lends module:image-static-source/source# */{
    /**
     * @return {ImageStatic}
     * @protected
     */
    createSource () {
      return new ImageStaticSource({
        attributions: this.attributions,
        crossOrigin: this.crossOrigin,
        imageExtent: this.extent,
        imageLoadFunction: this.loadFunc,
        logo: this.logo,
        projection: this.projection,
        imageSize: this.size,
        url: this.urlTmpl,
      })
    },
  }

  const watch = makeWatchers(Object.keys(props), () => function () {
    this.scheduleRecreate()
  })

  /**
   * A layer source for displaying a single, static image.
   *
   * @vueProto
   * @title vl-source-image-static
   * @alias module:image-static-source/source
   */
  export default {
    name: 'vl-source-image-static',
    mixins: [imageSource, withUrl],
    props,
    methods,
    watch,
  }
</script>
{'fraction_non_alphanumeric': 0.14790913784202375, 'fraction_numerical': 0.0010325245224574084, 'mean_word_length': 2.0901116427432216, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '665061', 'n_tokens_mistral': 1214, 'n_tokens_neox': 1209, 'n_words': 273}