Representation of a Script to load and execute, used by ScriptManager.
When adding resolvers to ScriptManager
in ScriptManager.shared.addResolver(...)
, you can use
Script.getDevServerURL(...)
, Script.getFileSystemURL(...)
or Script.getRemoteURL(...)
to create a url
for the script.
Other methods are designed for internal use only.
• new Script(scriptId
, caller
, locator
, cache?
)
Constructs new representation of a script.
internal
Name | Type | Default value | Description |
---|---|---|---|
scriptId |
string |
undefined |
- |
caller |
undefined | string |
undefined |
- |
locator |
NormalizedScriptLocator |
undefined |
Normalized locator data. |
cache |
boolean |
true |
Flag whether use cache or not, true by default. |
packages/repack/src/modules/ScriptManager/Script.ts:131
• Readonly
cache: boolean
= true
• Readonly
caller: undefined
| string
• Readonly
locator: NormalizedScriptLocator
• Readonly
scriptId: string
▪ Static
DEFAULT_TIMEOUT: number
= 30000
packages/repack/src/modules/ScriptManager/Script.ts:20
▸ checkIfCacheDataOutdated(cachedData
): boolean
Check if previous cached data is the same as the new one.
internal
Name | Type | Description |
---|---|---|
cachedData |
Pick <NormalizedScriptLocator , "method" | "url" | "query" | "headers" | "body" > |
Cached data for the same script. |
boolean
packages/repack/src/modules/ScriptManager/Script.ts:186
▸ getCacheData(): Object
Get object to store in cache.
internal
Object
Name | Type |
---|---|
body |
undefined | string |
headers |
undefined | Record <string , string > |
method |
"GET" | "POST" |
query |
undefined | string |
url |
string |
packages/repack/src/modules/ScriptManager/Script.ts:208
▸ shouldRefetch(cachedData
): boolean
Check if the script should be fetched again or reused, based on previous cached data.
internal
Name | Type | Description |
---|---|---|
cachedData |
Pick <NormalizedScriptLocator , "method" | "url" | "query" | "headers" | "body" > |
Cached data for the same script. |
boolean
packages/repack/src/modules/ScriptManager/Script.ts:166
▸ shouldUpdateCache(cachedData
): boolean
Check if the script was already cached and cache should be updated with new data.
internal
Name | Type | Description |
---|---|---|
cachedData |
Pick <NormalizedScriptLocator , "method" | "url" | "query" | "headers" | "body" > |
Cached data for the same script. |
boolean
packages/repack/src/modules/ScriptManager/Script.ts:145
▸ toObject(): Object
Object
Name | Type |
---|---|
cache |
boolean |
caller |
undefined | string |
locator |
NormalizedScriptLocator |
scriptId |
string |
packages/repack/src/modules/ScriptManager/Script.ts:218
▸ Static
from(key
, locator
, fetch
): Script
Create new instance of Script
from non-normalized script locator data.
internal
Name | Type | Description |
---|---|---|
key |
Object |
- |
key.caller? |
string |
- |
key.scriptId |
string |
- |
locator |
ScriptLocator |
Non-normalized locator data. |
fetch |
boolean |
Initial flag for whether script should be fetched or not. |
packages/repack/src/modules/ScriptManager/Script.ts:70
▸ Static
getDevServerURL(scriptId
): (webpackContext
: WebpackContext
) => string
Get URL of a script hosted on development server.
Name | Type | Description |
---|---|---|
scriptId |
string |
Id of the script. |
fn
▸ (webpackContext
): string
Name | Type |
---|---|
webpackContext |
WebpackContext |
string
packages/repack/src/modules/ScriptManager/Script.ts:27
▸ Static
getFileSystemURL(scriptId
): (webpackContext
: WebpackContext
) => string
Get URL of a script stored on filesystem on the target mobile device.
Name | Type | Description |
---|---|---|
scriptId |
string |
Id of the script. |
fn
▸ (webpackContext
): string
Name | Type |
---|---|
webpackContext |
WebpackContext |
string
packages/repack/src/modules/ScriptManager/Script.ts:37
▸ Static
getRemoteURL(url
, options?
): string
| (webpackContext
: WebpackContext
) => string
Get URL of a script hosted on a remote server.
By default .chunk.bundle
extension will be added to the URL.
If your script has different extension, you should pass { excludeExtension: true }
as 2nd argument.
Name | Type | Description |
---|---|---|
url |
string |
A URL to remote location where the script is stored. |
options |
Object |
Additional options. |
options.excludeExtension? |
boolean |
- |
string
| (webpackContext
: WebpackContext
) => string