* Gets restore provided data. * @returns {RestoreProvidedData} restore provided data
()
| 939 | * @returns {RestoreProvidedData} restore provided data |
| 940 | */ |
| 941 | getRestoreProvidedData() { |
| 942 | const otherProvided = this._otherExportsInfo.provided; |
| 943 | const otherCanMangleProvide = this._otherExportsInfo.canMangleProvide; |
| 944 | const otherTerminalBinding = this._otherExportsInfo.terminalBinding; |
| 945 | /** @type {RestoreProvidedDataExports[]} */ |
| 946 | const exports = []; |
| 947 | for (const exportInfo of this.orderedExports) { |
| 948 | const canInlineProvide = exportInfo.canInlineProvide; |
| 949 | const pureProvide = exportInfo.pureProvide; |
| 950 | // inline-exports data is only stored when present, so builds without the |
| 951 | // feature don't pay for it in the persistent cache |
| 952 | const hasInlineInfo = |
| 953 | canInlineProvide !== undefined || pureProvide !== undefined; |
| 954 | if ( |
| 955 | exportInfo.provided !== otherProvided || |
| 956 | exportInfo.canMangleProvide !== otherCanMangleProvide || |
| 957 | exportInfo.terminalBinding !== otherTerminalBinding || |
| 958 | hasInlineInfo || |
| 959 | exportInfo.exportsInfoOwned |
| 960 | ) { |
| 961 | const exportsInfo = exportInfo.exportsInfoOwned |
| 962 | ? /** @type {NonNullable<ExportInfo["exportsInfo"]>} */ |
| 963 | (exportInfo.exportsInfo).getRestoreProvidedData() |
| 964 | : undefined; |
| 965 | exports.push( |
| 966 | hasInlineInfo |
| 967 | ? { |
| 968 | name: exportInfo.name, |
| 969 | provided: exportInfo.provided, |
| 970 | canMangleProvide: exportInfo.canMangleProvide, |
| 971 | canInlineProvide, |
| 972 | terminalBinding: exportInfo.terminalBinding, |
| 973 | pureProvide, |
| 974 | exportsInfo |
| 975 | } |
| 976 | : { |
| 977 | name: exportInfo.name, |
| 978 | provided: exportInfo.provided, |
| 979 | canMangleProvide: exportInfo.canMangleProvide, |
| 980 | terminalBinding: exportInfo.terminalBinding, |
| 981 | exportsInfo |
| 982 | } |
| 983 | ); |
| 984 | } |
| 985 | } |
| 986 | return new RestoreProvidedData( |
| 987 | exports, |
| 988 | otherProvided, |
| 989 | otherCanMangleProvide, |
| 990 | otherTerminalBinding |
| 991 | ); |
| 992 | } |
| 993 | |
| 994 | /** |
| 995 | * Processes the provided data. |