@@ -17,6 +17,13 @@ import {
1717} from 'docc-render/utils/object-properties' ;
1818import { resolveAbsoluteUrl } from 'docc-render/utils/url-helper' ;
1919
20+ /** Enum for the allowed values of the `run` property in a custom script. */
21+ const Run = {
22+ onLoad : 'on-load' ,
23+ onLoadAndNavigate : 'on-load-and-navigate' ,
24+ onNavigate : 'on-navigate' ,
25+ } ;
26+
2027/**
2128 * Returns whether the custom script should be run when the reader navigates to a subpage.
2229 * @param {object } customScript
@@ -25,7 +32,7 @@ import { resolveAbsoluteUrl } from 'docc-render/utils/url-helper';
2532 */
2633function shouldRunOnPageLoad ( customScript ) {
2734 return ! has ( customScript , 'run' )
28- || customScript . run === 'on-load' || customScript . run === 'on-load-and-navigate' ;
35+ || customScript . run === Run . onLoad || customScript . run === Run . onLoadAndNavigate ;
2936}
3037
3138/**
@@ -36,7 +43,7 @@ function shouldRunOnPageLoad(customScript) {
3643 */
3744function shouldRunOnNavigate ( customScript ) {
3845 return has ( customScript , 'run' )
39- && ( customScript . run === 'on-navigate' || customScript . run === 'on-load-and-navigate' ) ;
46+ && ( customScript . run === Run . onNavigate || customScript . run === Run . onLoadAndNavigate ) ;
4047}
4148
4249/**
@@ -78,7 +85,7 @@ function addScriptElement(customScript) {
7885
7986 scriptElement . src = customScript . url ;
8087
81- // Dynamically-created script elements are `async` by default. But we don't want custom
88+ // Dynamically-created script elements are `async` by default. But we don't want custom
8289 // scripts to be implicitly async by default, because if a documentation author adds `defer` to
8390 // some or all of their custom scripts (meaning that they want the execution order of those
8491 // scripts to be deterministic), then the author's `defer` will be overriden by the implicit
0 commit comments