MCPcopy
hub / github.com/webpack/webpack / getRestoreProvidedData

Method getRestoreProvidedData

lib/ExportsInfo.js:941–992  ·  view source on GitHub ↗

* Gets restore provided data. * @returns {RestoreProvidedData} restore provided data

()

Source from the content-addressed store, hash-verified

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.

Callers 1

applyMethod · 0.80

Calls 1

pushMethod · 0.45

Tested by

no test coverage detected