Sha256: d2730eeab216a3453064f4d519051f828585963d794be830b6187fbb9429a159

Contents?: true

Size: 1.1 KB

Versions: 26

Compression:

Stored size: 1.1 KB

Contents

import { devUtils } from '~/core/utils/internal/devUtils'
import { SetupWorkerInternalContext, StopHandler } from '../glossary'
import { printStopMessage } from './utils/printStopMessage'

export const createStop = (
  context: SetupWorkerInternalContext,
): StopHandler => {
  return function stop() {
    // Warn developers calling "worker.stop()" more times than necessary.
    // This likely indicates a mistake in their code.
    if (!context.isMockingEnabled) {
      devUtils.warn(
        'Found a redundant "worker.stop()" call. Note that stopping the worker while mocking already stopped has no effect. Consider removing this "worker.stop()" call.',
      )
      return
    }

    /**
     * Signal the Service Worker to disable mocking for this client.
     * Use this an an explicit way to stop the mocking, while preserving
     * the worker-client relation. Does not affect the worker's lifecycle.
     */
    context.workerChannel.send('MOCK_DEACTIVATE')
    context.isMockingEnabled = false
    window.clearInterval(context.keepAliveInterval)

    printStopMessage({ quiet: context.startOptions?.quiet })
  }
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.25 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.24 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.23 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.22 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.21 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.20 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.19 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.18 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.17 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.16 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.15 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.14 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.13 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.12 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.11 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.10 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.9 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.8 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts
clapton-0.0.7 lib/clapton/javascripts/node_modules/msw/src/browser/setupWorker/stop/createStop.ts