NonceRuntimeModule.js 884 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Ivan Kopeykin @vankop
  4. */
  5. "use strict";
  6. const RuntimeGlobals = require("../RuntimeGlobals");
  7. const RuntimeModule = require("../RuntimeModule");
  8. class NonceRuntimeModule extends RuntimeModule {
  9. constructor() {
  10. super("nonce", RuntimeModule.STAGE_ATTACH);
  11. }
  12. /**
  13. * Returns true, if the runtime module should get it's own scope.
  14. * When false, `generate()` must emit complete statements ending with `;`
  15. * so a following runtime IIFE is not parsed as a call (ASI).
  16. * @returns {boolean} true, if the runtime module should get it's own scope
  17. */
  18. shouldIsolate() {
  19. return false;
  20. }
  21. /**
  22. * Generates runtime code for this runtime module.
  23. * @returns {string | null} runtime code
  24. */
  25. generate() {
  26. return `${RuntimeGlobals.scriptNonce} = undefined;`;
  27. }
  28. }
  29. module.exports = NonceRuntimeModule;