@module-federation/data-prefetch 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,145 +6,145 @@ import { S as SHARED_STRATEGY } from './constant.esm.js';
6
6
 
7
7
  const loadingArray = [];
8
8
  let sharedFlag = SHARED_STRATEGY;
9
- const prefetchPlugin = ()=>({
10
- name: 'data-prefetch-runtime-plugin',
11
- initContainer (options) {
12
- const { remoteSnapshot, remoteInfo, id, origin } = options;
13
- const snapshot = remoteSnapshot;
14
- const { name } = remoteInfo;
15
- const prefetchOptions = {
16
- name,
17
- remote: remoteInfo,
18
- origin,
19
- remoteSnapshot: snapshot
20
- };
21
- const signal = getSignalFromManifest(snapshot);
22
- if (!signal) {
23
- return options;
24
- }
25
- if (sharedFlag !== SHARED_STRATEGY) {
26
- throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);
27
- }
28
- const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);
29
- let prefetchUrl;
30
- if (snapshot.prefetchEntry) {
31
- prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);
32
- }
33
- const exist = loadingArray.find((loading)=>loading.id === id);
34
- if (exist) {
35
- return options;
36
- }
37
- const promise = instance.loadEntry(prefetchUrl).then(()=>__awaiter(this, void 0, void 0, function*() {
38
- const projectExports = instance.getProjectExports();
39
- if (projectExports instanceof Promise) {
40
- yield projectExports;
41
- }
42
- return Promise.resolve().then(()=>{
43
- const exports = instance.getExposeExports(id);
44
- logger.info(`1. Start Prefetch initContainer: ${id} - ${performance.now()}`);
45
- const result = Object.keys(exports).map((k)=>{
46
- const value = instance.prefetch({
47
- id,
48
- functionId: k
49
- });
50
- const functionId = k;
51
- return {
52
- value,
53
- functionId
54
- };
55
- });
56
- return result;
57
- });
58
- }));
59
- loadingArray.push({
60
- id,
61
- promise
62
- });
9
+ const prefetchPlugin = () => ({
10
+ name: 'data-prefetch-runtime-plugin',
11
+ initContainer(options) {
12
+ const { remoteSnapshot, remoteInfo, id, origin } = options;
13
+ const snapshot = remoteSnapshot;
14
+ const { name } = remoteInfo;
15
+ const prefetchOptions = {
16
+ name,
17
+ remote: remoteInfo,
18
+ origin,
19
+ remoteSnapshot: snapshot,
20
+ };
21
+ const signal = getSignalFromManifest(snapshot);
22
+ if (!signal) {
63
23
  return options;
64
- },
65
- afterResolve (options) {
66
- const { remoteSnapshot, remoteInfo, id, origin } = options;
67
- const snapshot = remoteSnapshot;
68
- const { name } = remoteInfo;
69
- const prefetchOptions = {
70
- name,
71
- remote: remoteInfo,
72
- origin,
73
- remoteSnapshot: snapshot
74
- };
75
- const signal = getSignalFromManifest(snapshot);
76
- if (!signal) {
77
- return options;
78
- }
79
- const inited = loadingArray.some((info)=>info.id === id);
80
- if (!inited) {
81
- return options;
82
- }
83
- if (sharedFlag !== SHARED_STRATEGY) {
84
- throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);
85
- }
86
- const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);
87
- let prefetchUrl;
88
- if (snapshot.prefetchEntry) {
89
- prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);
90
- }
91
- const index = loadingArray.findIndex((loading)=>loading.id === id);
92
- if (index !== -1) {
93
- loadingArray.splice(index, 1);
24
+ }
25
+ if (sharedFlag !== SHARED_STRATEGY) {
26
+ throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);
27
+ }
28
+ const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);
29
+ let prefetchUrl;
30
+ if (snapshot.prefetchEntry) {
31
+ prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);
32
+ }
33
+ const exist = loadingArray.find((loading) => loading.id === id);
34
+ if (exist) {
35
+ return options;
36
+ }
37
+ const promise = instance.loadEntry(prefetchUrl).then(() => __awaiter(this, void 0, void 0, function* () {
38
+ const projectExports = instance.getProjectExports();
39
+ if (projectExports instanceof Promise) {
40
+ yield projectExports;
94
41
  }
95
- const promise = instance.loadEntry(prefetchUrl).then(()=>__awaiter(this, void 0, void 0, function*() {
96
- const projectExports = instance.getProjectExports();
97
- if (projectExports instanceof Promise) {
98
- yield projectExports;
99
- }
100
- return Promise.resolve().then(()=>{
101
- const exports = instance.getExposeExports(id);
102
- logger.info(`1. Start Prefetch afterResolve: ${id} - ${performance.now()}`);
103
- const result = Object.keys(exports).map((k)=>{
104
- const value = instance.prefetch({
105
- id,
106
- functionId: k
107
- });
108
- const functionId = k;
109
- return {
110
- value,
111
- functionId
112
- };
113
- });
114
- return result;
42
+ return Promise.resolve().then(() => {
43
+ const exports = instance.getExposeExports(id);
44
+ logger.info(`1. Start Prefetch initContainer: ${id} - ${performance.now()}`);
45
+ const result = Object.keys(exports).map((k) => {
46
+ const value = instance.prefetch({
47
+ id,
48
+ functionId: k,
115
49
  });
116
- }));
117
- loadingArray.push({
118
- id,
119
- promise
50
+ const functionId = k;
51
+ return {
52
+ value,
53
+ functionId,
54
+ };
55
+ });
56
+ return result;
120
57
  });
58
+ }));
59
+ loadingArray.push({
60
+ id,
61
+ promise,
62
+ });
63
+ return options;
64
+ },
65
+ afterResolve(options) {
66
+ const { remoteSnapshot, remoteInfo, id, origin } = options;
67
+ const snapshot = remoteSnapshot;
68
+ const { name } = remoteInfo;
69
+ const prefetchOptions = {
70
+ name,
71
+ remote: remoteInfo,
72
+ origin,
73
+ remoteSnapshot: snapshot,
74
+ };
75
+ const signal = getSignalFromManifest(snapshot);
76
+ if (!signal) {
121
77
  return options;
122
- },
123
- onLoad (options) {
124
- return __awaiter(this, void 0, void 0, function*() {
125
- var _a;
126
- const { remote, id } = options;
127
- const { name } = remote;
128
- const promise = (_a = loadingArray.find((loading)=>loading.id === id)) === null || _a === void 0 ? void 0 : _a.promise;
129
- if (promise) {
130
- const prefetch = yield promise;
131
- const prefetchValue = prefetch.map((result)=>result.value);
132
- yield Promise.all(prefetchValue);
133
- const instance = MFDataPrefetch.getInstance(name);
134
- prefetch.forEach((result)=>{
135
- const { value, functionId } = result;
136
- instance.memorize(id + functionId, value);
78
+ }
79
+ const inited = loadingArray.some((info) => info.id === id);
80
+ if (!inited) {
81
+ return options;
82
+ }
83
+ if (sharedFlag !== SHARED_STRATEGY) {
84
+ throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);
85
+ }
86
+ const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);
87
+ let prefetchUrl;
88
+ if (snapshot.prefetchEntry) {
89
+ prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);
90
+ }
91
+ const index = loadingArray.findIndex((loading) => loading.id === id);
92
+ if (index !== -1) {
93
+ loadingArray.splice(index, 1);
94
+ }
95
+ const promise = instance.loadEntry(prefetchUrl).then(() => __awaiter(this, void 0, void 0, function* () {
96
+ const projectExports = instance.getProjectExports();
97
+ if (projectExports instanceof Promise) {
98
+ yield projectExports;
99
+ }
100
+ return Promise.resolve().then(() => {
101
+ const exports = instance.getExposeExports(id);
102
+ logger.info(`1. Start Prefetch afterResolve: ${id} - ${performance.now()}`);
103
+ const result = Object.keys(exports).map((k) => {
104
+ const value = instance.prefetch({
105
+ id,
106
+ functionId: k,
137
107
  });
138
- }
139
- return options;
108
+ const functionId = k;
109
+ return {
110
+ value,
111
+ functionId,
112
+ };
113
+ });
114
+ return result;
140
115
  });
141
- },
142
- beforeLoadShare (options) {
143
- const shareInfo = options.shareInfo;
144
- sharedFlag = (shareInfo === null || shareInfo === void 0 ? void 0 : shareInfo.strategy) || sharedFlag;
116
+ }));
117
+ loadingArray.push({
118
+ id,
119
+ promise,
120
+ });
121
+ return options;
122
+ },
123
+ onLoad(options) {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ var _a;
126
+ const { remote, id } = options;
127
+ const { name } = remote;
128
+ const promise = (_a = loadingArray.find((loading) => loading.id === id)) === null || _a === void 0 ? void 0 : _a.promise;
129
+ if (promise) {
130
+ const prefetch = yield promise;
131
+ const prefetchValue = prefetch.map((result) => result.value);
132
+ yield Promise.all(prefetchValue);
133
+ const instance = MFDataPrefetch.getInstance(name);
134
+ prefetch.forEach((result) => {
135
+ const { value, functionId } = result;
136
+ instance.memorize(id + functionId, value);
137
+ });
138
+ }
145
139
  return options;
146
- }
147
- });
140
+ });
141
+ },
142
+ beforeLoadShare(options) {
143
+ const shareInfo = options.shareInfo;
144
+ sharedFlag = (shareInfo === null || shareInfo === void 0 ? void 0 : shareInfo.strategy) || sharedFlag;
145
+ return options;
146
+ },
147
+ });
148
148
 
149
149
  export { prefetchPlugin as default, prefetchPlugin };
150
150
  //# sourceMappingURL=plugin.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { getResourceUrl } from '@module-federation/sdk';\nimport { getSignalFromManifest } from './common/runtime-utils';\nimport { MFDataPrefetch } from './prefetch';\nimport logger from './logger';\nimport { SHARED_STRATEGY } from './constant';\nconst loadingArray = [];\nlet sharedFlag = SHARED_STRATEGY;\nexport const prefetchPlugin = () => ({\n name: 'data-prefetch-runtime-plugin',\n initContainer(options) {\n const { remoteSnapshot, remoteInfo, id, origin } = options;\n const snapshot = remoteSnapshot;\n const { name } = remoteInfo;\n const prefetchOptions = {\n name,\n remote: remoteInfo,\n origin,\n remoteSnapshot: snapshot,\n };\n const signal = getSignalFromManifest(snapshot);\n if (!signal) {\n return options;\n }\n if (sharedFlag !== SHARED_STRATEGY) {\n throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);\n }\n const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);\n let prefetchUrl;\n if (snapshot.prefetchEntry) {\n prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);\n }\n const exist = loadingArray.find((loading) => loading.id === id);\n if (exist) {\n return options;\n }\n const promise = instance.loadEntry(prefetchUrl).then(() => __awaiter(this, void 0, void 0, function* () {\n const projectExports = instance.getProjectExports();\n if (projectExports instanceof Promise) {\n yield projectExports;\n }\n return Promise.resolve().then(() => {\n const exports = instance.getExposeExports(id);\n logger.info(`1. Start Prefetch initContainer: ${id} - ${performance.now()}`);\n const result = Object.keys(exports).map((k) => {\n const value = instance.prefetch({\n id,\n functionId: k,\n });\n const functionId = k;\n return {\n value,\n functionId,\n };\n });\n return result;\n });\n }));\n loadingArray.push({\n id,\n promise,\n });\n return options;\n },\n afterResolve(options) {\n const { remoteSnapshot, remoteInfo, id, origin } = options;\n const snapshot = remoteSnapshot;\n const { name } = remoteInfo;\n const prefetchOptions = {\n name,\n remote: remoteInfo,\n origin,\n remoteSnapshot: snapshot,\n };\n const signal = getSignalFromManifest(snapshot);\n if (!signal) {\n return options;\n }\n const inited = loadingArray.some((info) => info.id === id);\n if (!inited) {\n return options;\n }\n if (sharedFlag !== SHARED_STRATEGY) {\n throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);\n }\n const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);\n let prefetchUrl;\n if (snapshot.prefetchEntry) {\n prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);\n }\n const index = loadingArray.findIndex((loading) => loading.id === id);\n if (index !== -1) {\n loadingArray.splice(index, 1);\n }\n const promise = instance.loadEntry(prefetchUrl).then(() => __awaiter(this, void 0, void 0, function* () {\n const projectExports = instance.getProjectExports();\n if (projectExports instanceof Promise) {\n yield projectExports;\n }\n return Promise.resolve().then(() => {\n const exports = instance.getExposeExports(id);\n logger.info(`1. Start Prefetch afterResolve: ${id} - ${performance.now()}`);\n const result = Object.keys(exports).map((k) => {\n const value = instance.prefetch({\n id,\n functionId: k,\n });\n const functionId = k;\n return {\n value,\n functionId,\n };\n });\n return result;\n });\n }));\n loadingArray.push({\n id,\n promise,\n });\n return options;\n },\n onLoad(options) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const { remote, id } = options;\n const { name } = remote;\n const promise = (_a = loadingArray.find((loading) => loading.id === id)) === null || _a === void 0 ? void 0 : _a.promise;\n if (promise) {\n const prefetch = yield promise;\n const prefetchValue = prefetch.map((result) => result.value);\n yield Promise.all(prefetchValue);\n const instance = MFDataPrefetch.getInstance(name);\n prefetch.forEach((result) => {\n const { value, functionId } = result;\n instance.memorize(id + functionId, value);\n });\n }\n return options;\n });\n },\n beforeLoadShare(options) {\n const shareInfo = options.shareInfo;\n sharedFlag = (shareInfo === null || shareInfo === void 0 ? void 0 : shareInfo.strategy) || sharedFlag;\n return options;\n },\n});\nexport default prefetchPlugin;\n"],"names":["loadingArray","sharedFlag","SHARED_STRATEGY","prefetchPlugin","name","initContainer","options","remoteSnapshot","remoteInfo","id","origin","snapshot","prefetchOptions","remote","signal","getSignalFromManifest","Error","instance","MFDataPrefetch","getInstance","prefetchUrl","prefetchEntry","getResourceUrl","exist","find","loading","promise","loadEntry","then","__awaiter","projectExports","getProjectExports","Promise","resolve","exports","getExposeExports","logger","info","performance","now","result","Object","keys","map","k","value","prefetch","functionId","push","afterResolve","inited","some","index","findIndex","splice","onLoad","_a","prefetchValue","all","forEach","memorize","beforeLoadShare","shareInfo","strategy"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { getResourceUrl } from '@module-federation/sdk';\nimport { getSignalFromManifest } from './common/runtime-utils';\nimport { MFDataPrefetch } from './prefetch';\nimport logger from './logger';\nimport { SHARED_STRATEGY } from './constant';\nconst loadingArray = [];\nlet sharedFlag = SHARED_STRATEGY;\nexport const prefetchPlugin = () => ({\n name: 'data-prefetch-runtime-plugin',\n initContainer(options) {\n const { remoteSnapshot, remoteInfo, id, origin } = options;\n const snapshot = remoteSnapshot;\n const { name } = remoteInfo;\n const prefetchOptions = {\n name,\n remote: remoteInfo,\n origin,\n remoteSnapshot: snapshot,\n };\n const signal = getSignalFromManifest(snapshot);\n if (!signal) {\n return options;\n }\n if (sharedFlag !== SHARED_STRATEGY) {\n throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);\n }\n const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);\n let prefetchUrl;\n if (snapshot.prefetchEntry) {\n prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);\n }\n const exist = loadingArray.find((loading) => loading.id === id);\n if (exist) {\n return options;\n }\n const promise = instance.loadEntry(prefetchUrl).then(() => __awaiter(this, void 0, void 0, function* () {\n const projectExports = instance.getProjectExports();\n if (projectExports instanceof Promise) {\n yield projectExports;\n }\n return Promise.resolve().then(() => {\n const exports = instance.getExposeExports(id);\n logger.info(`1. Start Prefetch initContainer: ${id} - ${performance.now()}`);\n const result = Object.keys(exports).map((k) => {\n const value = instance.prefetch({\n id,\n functionId: k,\n });\n const functionId = k;\n return {\n value,\n functionId,\n };\n });\n return result;\n });\n }));\n loadingArray.push({\n id,\n promise,\n });\n return options;\n },\n afterResolve(options) {\n const { remoteSnapshot, remoteInfo, id, origin } = options;\n const snapshot = remoteSnapshot;\n const { name } = remoteInfo;\n const prefetchOptions = {\n name,\n remote: remoteInfo,\n origin,\n remoteSnapshot: snapshot,\n };\n const signal = getSignalFromManifest(snapshot);\n if (!signal) {\n return options;\n }\n const inited = loadingArray.some((info) => info.id === id);\n if (!inited) {\n return options;\n }\n if (sharedFlag !== SHARED_STRATEGY) {\n throw new Error(`[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'`);\n }\n const instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);\n let prefetchUrl;\n if (snapshot.prefetchEntry) {\n prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);\n }\n const index = loadingArray.findIndex((loading) => loading.id === id);\n if (index !== -1) {\n loadingArray.splice(index, 1);\n }\n const promise = instance.loadEntry(prefetchUrl).then(() => __awaiter(this, void 0, void 0, function* () {\n const projectExports = instance.getProjectExports();\n if (projectExports instanceof Promise) {\n yield projectExports;\n }\n return Promise.resolve().then(() => {\n const exports = instance.getExposeExports(id);\n logger.info(`1. Start Prefetch afterResolve: ${id} - ${performance.now()}`);\n const result = Object.keys(exports).map((k) => {\n const value = instance.prefetch({\n id,\n functionId: k,\n });\n const functionId = k;\n return {\n value,\n functionId,\n };\n });\n return result;\n });\n }));\n loadingArray.push({\n id,\n promise,\n });\n return options;\n },\n onLoad(options) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const { remote, id } = options;\n const { name } = remote;\n const promise = (_a = loadingArray.find((loading) => loading.id === id)) === null || _a === void 0 ? void 0 : _a.promise;\n if (promise) {\n const prefetch = yield promise;\n const prefetchValue = prefetch.map((result) => result.value);\n yield Promise.all(prefetchValue);\n const instance = MFDataPrefetch.getInstance(name);\n prefetch.forEach((result) => {\n const { value, functionId } = result;\n instance.memorize(id + functionId, value);\n });\n }\n return options;\n });\n },\n beforeLoadShare(options) {\n const shareInfo = options.shareInfo;\n sharedFlag = (shareInfo === null || shareInfo === void 0 ? void 0 : shareInfo.strategy) || sharedFlag;\n return options;\n },\n});\nexport default prefetchPlugin;\n"],"names":[],"mappings":"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"}
@@ -17,62 +17,50 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
17
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
18
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
19
  PERFORMANCE OF THIS SOFTWARE.
20
- ***************************************************************************** */ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ function _instanceof(left, right) {
21
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
22
- return !!right[Symbol.hasInstance](left);
23
- } else {
24
- return left instanceof right;
25
- }
26
- }
27
- function __awaiter(thisArg, _arguments, P, generator) {
28
- function adopt(value) {
29
- return _instanceof(value, P) ? value : new P(function(resolve) {
30
- resolve(value);
31
- });
32
- }
33
- return new (P || (P = Promise))(function(resolve, reject) {
34
- function fulfilled(value) {
35
- try {
36
- step(generator.next(value));
37
- } catch (e) {
38
- reject(e);
39
- }
40
- }
41
- function rejected(value) {
42
- try {
43
- step(generator["throw"](value));
44
- } catch (e) {
45
- reject(e);
46
- }
47
- }
48
- function step(result) {
49
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
50
- }
51
- step((generator = generator.apply(thisArg, _arguments || [])).next());
52
- });
53
- }
54
- typeof SuppressedError === "function" ? SuppressedError : function _SuppressedError(error, suppressed, message) {
55
- var e = new Error(message);
56
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
22
+
23
+
24
+ function __awaiter(thisArg, _arguments, P, generator) {
25
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
26
+ return new (P || (P = Promise))(function (resolve, reject) {
27
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
28
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
29
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
30
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
31
+ });
32
+ }
33
+
34
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
35
+ var e = new Error(message);
36
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
57
37
  };
58
38
 
59
39
  var _a, _b;
60
40
  var _c;
61
- (_a = globalThis.__FEDERATION__) !== null && _a !== void 0 ? _a : globalThis.__FEDERATION__ = {};
62
- (_b = (_c = globalThis.__FEDERATION__).__PREFETCH__) !== null && _b !== void 0 ? _b : _c.__PREFETCH__ = {
41
+ (_a = globalThis.__FEDERATION__) !== null && _a !== void 0 ? _a : (globalThis.__FEDERATION__ = {});
42
+ (_b = (_c = globalThis.__FEDERATION__).__PREFETCH__) !== null && _b !== void 0 ? _b : (_c.__PREFETCH__ = {
63
43
  entryLoading: {},
64
44
  instance: new Map(),
65
- __PREFETCH_EXPORTS__: {}
66
- };
45
+ __PREFETCH_EXPORTS__: {},
46
+ });
67
47
  class MFDataPrefetch {
48
+ constructor(options) {
49
+ this.prefetchMemory = new Map();
50
+ this.recordOutdate = {};
51
+ this._exports = {};
52
+ this._options = options;
53
+ this.global.instance.set(options.name, this);
54
+ }
68
55
  get global() {
69
- return globalThis.__FEDERATION__.__PREFETCH__;
56
+ return globalThis.__FEDERATION__
57
+ .__PREFETCH__;
70
58
  }
71
59
  static getInstance(id) {
72
60
  return globalThis.__FEDERATION__.__PREFETCH__.instance.get(id);
73
61
  }
74
62
  loadEntry(entry) {
75
- return __awaiter(this, void 0, void 0, function*() {
63
+ return __awaiter(this, void 0, void 0, function* () {
76
64
  const { name, remoteSnapshot, remote, origin } = this._options;
77
65
  if (entry) {
78
66
  const { buildVersion, globalName } = remoteSnapshot;
@@ -81,13 +69,14 @@ class MFDataPrefetch {
81
69
  this.global.entryLoading[uniqueKey] = sdk.loadScript(entry, {});
82
70
  }
83
71
  return this.global.entryLoading[uniqueKey];
84
- } else {
72
+ }
73
+ else {
85
74
  const remoteInfo = runtime.getRemoteInfo(remote);
86
75
  const module = origin.moduleCache.get(remoteInfo.name);
87
76
  return runtime.getRemoteEntry({
88
77
  origin: origin,
89
78
  remoteInfo,
90
- remoteEntryExports: module ? module.remoteEntryExports : undefined
79
+ remoteEntryExports: module ? module.remoteEntryExports : undefined,
91
80
  });
92
81
  }
93
82
  });
@@ -99,14 +88,17 @@ class MFDataPrefetch {
99
88
  }
100
89
  const { name } = this._options;
101
90
  const exportsPromiseFn = (_a = globalThis.__FEDERATION__.__PREFETCH__.__PREFETCH_EXPORTS__) === null || _a === void 0 ? void 0 : _a[name];
102
- const exportsPromise = typeof exportsPromiseFn === 'function' ? exportsPromiseFn() : exportsPromiseFn;
103
- const resolve = exportsPromise.then((exports = {})=>{
91
+ const exportsPromise = typeof exportsPromiseFn === 'function'
92
+ ? exportsPromiseFn()
93
+ : exportsPromiseFn;
94
+ const resolve = exportsPromise.then((exports = {}) => {
104
95
  const memory = {};
105
- Object.keys(exports).forEach((key)=>{
96
+ Object.keys(exports).forEach((key) => {
106
97
  memory[key] = {};
107
98
  const exportVal = exports[key];
108
- Object.keys(exportVal).reduce((memo, current)=>{
109
- if (current.toLocaleLowerCase().endsWith('prefetch') || current.toLocaleLowerCase() === 'default') {
99
+ Object.keys(exportVal).reduce((memo, current) => {
100
+ if (current.toLocaleLowerCase().endsWith('prefetch') ||
101
+ current.toLocaleLowerCase() === 'default') {
110
102
  memo[current] = exportVal[current];
111
103
  }
112
104
  return memo;
@@ -143,10 +135,12 @@ class MFDataPrefetch {
143
135
  if (typeof executePrefetch === 'function') {
144
136
  if (refetchParams) {
145
137
  prefetchResult = executePrefetch(refetchParams);
146
- } else {
138
+ }
139
+ else {
147
140
  prefetchResult = executePrefetch();
148
141
  }
149
- } else {
142
+ }
143
+ else {
150
144
  throw new Error(`[Module Federation Data Prefetch]: No prefetch function called ${functionId} export in prefetch file`);
151
145
  }
152
146
  this.memorize(memorizeId, prefetchResult);
@@ -173,20 +167,14 @@ class MFDataPrefetch {
173
167
  if (this.recordOutdate[id][functionId]) {
174
168
  this.markOutdate({
175
169
  id,
176
- functionId
170
+ functionId,
177
171
  }, false);
178
172
  return true;
179
- } else {
173
+ }
174
+ else {
180
175
  return false;
181
176
  }
182
177
  }
183
- constructor(options){
184
- this.prefetchMemory = new Map();
185
- this.recordOutdate = {};
186
- this._exports = {};
187
- this._options = options;
188
- this.global.instance.set(options.name, this);
189
- }
190
178
  }
191
179
 
192
180
  exports.MFDataPrefetch = MFDataPrefetch;
@@ -1 +1 @@
1
- {"version":3,"file":"prefetch.cjs.cjs","sources":["../src/prefetch.ts"],"sourcesContent":["var _a, _b;\nvar _c;\nimport { __awaiter } from \"tslib\";\nimport { getRemoteEntry, getRemoteInfo, } from '@module-federation/runtime';\nimport { loadScript, } from '@module-federation/sdk';\nimport { getPrefetchId, compatGetPrefetchId } from './common/runtime-utils';\n(_a = globalThis.__FEDERATION__) !== null && _a !== void 0 ? _a : (globalThis.__FEDERATION__ = {});\n(_b = (_c = globalThis.__FEDERATION__).__PREFETCH__) !== null && _b !== void 0 ? _b : (_c.__PREFETCH__ = {\n entryLoading: {},\n instance: new Map(),\n __PREFETCH_EXPORTS__: {},\n});\nexport class MFDataPrefetch {\n constructor(options) {\n this.prefetchMemory = new Map();\n this.recordOutdate = {};\n this._exports = {};\n this._options = options;\n this.global.instance.set(options.name, this);\n }\n get global() {\n return globalThis.__FEDERATION__\n .__PREFETCH__;\n }\n static getInstance(id) {\n return globalThis.__FEDERATION__.__PREFETCH__.instance.get(id);\n }\n loadEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const { name, remoteSnapshot, remote, origin } = this._options;\n if (entry) {\n const { buildVersion, globalName } = remoteSnapshot;\n const uniqueKey = globalName || `${name}:${buildVersion}`;\n if (!this.global.entryLoading[uniqueKey]) {\n this.global.entryLoading[uniqueKey] = loadScript(entry, {});\n }\n return this.global.entryLoading[uniqueKey];\n }\n else {\n const remoteInfo = getRemoteInfo(remote);\n const module = origin.moduleCache.get(remoteInfo.name);\n return getRemoteEntry({\n origin: origin,\n remoteInfo,\n remoteEntryExports: module ? module.remoteEntryExports : undefined,\n });\n }\n });\n }\n getProjectExports() {\n var _a;\n if (Object.keys(this._exports).length > 0) {\n return this._exports;\n }\n const { name } = this._options;\n const exportsPromiseFn = (_a = globalThis.__FEDERATION__.__PREFETCH__.__PREFETCH_EXPORTS__) === null || _a === void 0 ? void 0 : _a[name];\n const exportsPromise = typeof exportsPromiseFn === 'function'\n ? exportsPromiseFn()\n : exportsPromiseFn;\n const resolve = exportsPromise.then((exports = {}) => {\n const memory = {};\n Object.keys(exports).forEach((key) => {\n memory[key] = {};\n const exportVal = exports[key];\n Object.keys(exportVal).reduce((memo, current) => {\n if (current.toLocaleLowerCase().endsWith('prefetch') ||\n current.toLocaleLowerCase() === 'default') {\n memo[current] = exportVal[current];\n }\n return memo;\n }, memory[key]);\n });\n this.memorizeExports(memory);\n });\n return resolve;\n }\n memorizeExports(exports) {\n this._exports = exports;\n }\n getExposeExports(id) {\n const prefetchId = getPrefetchId(id);\n const compatId = compatGetPrefetchId(id);\n const prefetchExports = this._exports[prefetchId] || this._exports[compatId];\n return prefetchExports || {};\n }\n prefetch(prefetchOptions) {\n const { id, functionId = 'default', refetchParams } = prefetchOptions;\n let prefetchResult;\n const prefetchId = getPrefetchId(id);\n const compatId = compatGetPrefetchId(id);\n const memorizeId = id + functionId;\n const memory = this.prefetchMemory.get(memorizeId);\n if (!this.checkOutdate(prefetchOptions) && memory) {\n return memory;\n }\n const prefetchExports = this._exports[prefetchId] || this._exports[compatId];\n if (!prefetchExports) {\n return;\n }\n const executePrefetch = prefetchExports[functionId];\n if (typeof executePrefetch === 'function') {\n if (refetchParams) {\n prefetchResult = executePrefetch(refetchParams);\n }\n else {\n prefetchResult = executePrefetch();\n }\n }\n else {\n throw new Error(`[Module Federation Data Prefetch]: No prefetch function called ${functionId} export in prefetch file`);\n }\n this.memorize(memorizeId, prefetchResult);\n return prefetchResult;\n }\n memorize(id, value) {\n this.prefetchMemory.set(id, value);\n }\n markOutdate(markOptions, isOutdate) {\n const { id, functionId = 'default' } = markOptions;\n if (!this.recordOutdate[id]) {\n this.recordOutdate[id] = {};\n }\n this.recordOutdate[id][functionId] = isOutdate;\n }\n checkOutdate(outdateOptions) {\n const { id, functionId = 'default', cacheStrategy } = outdateOptions;\n if (typeof cacheStrategy === 'function') {\n return cacheStrategy();\n }\n if (!this.recordOutdate[id]) {\n this.recordOutdate[id] = {};\n }\n if (this.recordOutdate[id][functionId]) {\n this.markOutdate({\n id,\n functionId,\n }, false);\n return true;\n }\n else {\n return false;\n }\n }\n}\n"],"names":["_a","_b","_c","globalThis","__FEDERATION__","__PREFETCH__","entryLoading","instance","Map","__PREFETCH_EXPORTS__","MFDataPrefetch","global","getInstance","id","get","loadEntry","entry","__awaiter","name","remoteSnapshot","remote","origin","_options","buildVersion","globalName","uniqueKey","loadScript","remoteInfo","getRemoteInfo","module","moduleCache","getRemoteEntry","remoteEntryExports","undefined","getProjectExports","Object","keys","_exports","length","exportsPromiseFn","exportsPromise","resolve","then","exports","memory","forEach","key","exportVal","reduce","memo","current","toLocaleLowerCase","endsWith","memorizeExports","getExposeExports","prefetchId","getPrefetchId","compatId","compatGetPrefetchId","prefetchExports","prefetch","prefetchOptions","functionId","refetchParams","prefetchResult","memorizeId","prefetchMemory","checkOutdate","executePrefetch","Error","memorize","value","set","markOutdate","markOptions","isOutdate","recordOutdate","outdateOptions","cacheStrategy","constructor","options"],"mappings":"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"}
1
+ {"version":3,"file":"prefetch.cjs.cjs","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@12.1.2_rollup@4.40.0_tslib@2.8.1_typescript@5.8.3/node_modules/tslib/tslib.es6.js","../src/prefetch.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","var _a, _b;\nvar _c;\nimport { __awaiter } from \"tslib\";\nimport { getRemoteEntry, getRemoteInfo, } from '@module-federation/runtime';\nimport { loadScript, } from '@module-federation/sdk';\nimport { getPrefetchId, compatGetPrefetchId } from './common/runtime-utils';\n(_a = globalThis.__FEDERATION__) !== null && _a !== void 0 ? _a : (globalThis.__FEDERATION__ = {});\n(_b = (_c = globalThis.__FEDERATION__).__PREFETCH__) !== null && _b !== void 0 ? _b : (_c.__PREFETCH__ = {\n entryLoading: {},\n instance: new Map(),\n __PREFETCH_EXPORTS__: {},\n});\nexport class MFDataPrefetch {\n constructor(options) {\n this.prefetchMemory = new Map();\n this.recordOutdate = {};\n this._exports = {};\n this._options = options;\n this.global.instance.set(options.name, this);\n }\n get global() {\n return globalThis.__FEDERATION__\n .__PREFETCH__;\n }\n static getInstance(id) {\n return globalThis.__FEDERATION__.__PREFETCH__.instance.get(id);\n }\n loadEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const { name, remoteSnapshot, remote, origin } = this._options;\n if (entry) {\n const { buildVersion, globalName } = remoteSnapshot;\n const uniqueKey = globalName || `${name}:${buildVersion}`;\n if (!this.global.entryLoading[uniqueKey]) {\n this.global.entryLoading[uniqueKey] = loadScript(entry, {});\n }\n return this.global.entryLoading[uniqueKey];\n }\n else {\n const remoteInfo = getRemoteInfo(remote);\n const module = origin.moduleCache.get(remoteInfo.name);\n return getRemoteEntry({\n origin: origin,\n remoteInfo,\n remoteEntryExports: module ? module.remoteEntryExports : undefined,\n });\n }\n });\n }\n getProjectExports() {\n var _a;\n if (Object.keys(this._exports).length > 0) {\n return this._exports;\n }\n const { name } = this._options;\n const exportsPromiseFn = (_a = globalThis.__FEDERATION__.__PREFETCH__.__PREFETCH_EXPORTS__) === null || _a === void 0 ? void 0 : _a[name];\n const exportsPromise = typeof exportsPromiseFn === 'function'\n ? exportsPromiseFn()\n : exportsPromiseFn;\n const resolve = exportsPromise.then((exports = {}) => {\n const memory = {};\n Object.keys(exports).forEach((key) => {\n memory[key] = {};\n const exportVal = exports[key];\n Object.keys(exportVal).reduce((memo, current) => {\n if (current.toLocaleLowerCase().endsWith('prefetch') ||\n current.toLocaleLowerCase() === 'default') {\n memo[current] = exportVal[current];\n }\n return memo;\n }, memory[key]);\n });\n this.memorizeExports(memory);\n });\n return resolve;\n }\n memorizeExports(exports) {\n this._exports = exports;\n }\n getExposeExports(id) {\n const prefetchId = getPrefetchId(id);\n const compatId = compatGetPrefetchId(id);\n const prefetchExports = this._exports[prefetchId] || this._exports[compatId];\n return prefetchExports || {};\n }\n prefetch(prefetchOptions) {\n const { id, functionId = 'default', refetchParams } = prefetchOptions;\n let prefetchResult;\n const prefetchId = getPrefetchId(id);\n const compatId = compatGetPrefetchId(id);\n const memorizeId = id + functionId;\n const memory = this.prefetchMemory.get(memorizeId);\n if (!this.checkOutdate(prefetchOptions) && memory) {\n return memory;\n }\n const prefetchExports = this._exports[prefetchId] || this._exports[compatId];\n if (!prefetchExports) {\n return;\n }\n const executePrefetch = prefetchExports[functionId];\n if (typeof executePrefetch === 'function') {\n if (refetchParams) {\n prefetchResult = executePrefetch(refetchParams);\n }\n else {\n prefetchResult = executePrefetch();\n }\n }\n else {\n throw new Error(`[Module Federation Data Prefetch]: No prefetch function called ${functionId} export in prefetch file`);\n }\n this.memorize(memorizeId, prefetchResult);\n return prefetchResult;\n }\n memorize(id, value) {\n this.prefetchMemory.set(id, value);\n }\n markOutdate(markOptions, isOutdate) {\n const { id, functionId = 'default' } = markOptions;\n if (!this.recordOutdate[id]) {\n this.recordOutdate[id] = {};\n }\n this.recordOutdate[id][functionId] = isOutdate;\n }\n checkOutdate(outdateOptions) {\n const { id, functionId = 'default', cacheStrategy } = outdateOptions;\n if (typeof cacheStrategy === 'function') {\n return cacheStrategy();\n }\n if (!this.recordOutdate[id]) {\n this.recordOutdate[id] = {};\n }\n if (this.recordOutdate[id][functionId]) {\n this.markOutdate({\n id,\n functionId,\n }, false);\n return true;\n }\n else {\n return false;\n }\n }\n}\n"],"names":["loadScript","getRemoteInfo","getRemoteEntry","getPrefetchId","compatGetPrefetchId"],"mappings":"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","x_google_ignoreList":[0]}