@alipay/ams-checkout 0.0.1788166152-dev.3 → 0.0.1788166152-dev.4
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.
- package/ams-checkout.js +3 -3
- package/dist/ams-checkout.min.js +1 -1
- package/dist/ams-checkout.min.js.map +1 -1
- package/esm/config/index.js +1 -1
- package/esm/core/component/element/modernElementController/index.js +2 -2
- package/esm/modern/index.js +1 -1
- package/esm/modern/modern/preload/gatewayPreconnection.d.ts +53 -0
- package/esm/modern/modern/preload/preloadAntomElements.d.ts +1 -1
- package/esm/modern/modern/sdk/oneapi/iexpfront/preConnection.d.ts +6 -3
- package/esm/modern/modern/sdk/tools/preloadTracking.d.ts +1 -1
- package/esm/modern/modern/sdk/types.d.ts +3 -2
- package/esm/modern/preload/gatewayPreconnection.d.ts +53 -0
- package/esm/modern/preload/gatewayPreconnection.js +213 -0
- package/esm/modern/preload/preloadAntomElements.d.ts +1 -1
- package/esm/modern/preload/startAntomPreload.js +2 -2
- package/esm/modern/tools.js +1 -1
- package/esm/tsdoc-metadata.json +1 -1
- package/esm/util/logger.js +1 -1
- package/package.json +1 -1
- package/types.d.ts +1 -3
- package/types.untrimmed.d.ts +4 -5
- package/esm/modern/modern/preload/sgPreconnection.d.ts +0 -39
- package/esm/modern/preload/sgPreconnection.d.ts +0 -39
- package/esm/modern/preload/sgPreconnection.js +0 -121
package/esm/tsdoc-metadata.json
CHANGED
package/esm/util/logger.js
CHANGED
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -355,9 +355,7 @@ export declare const AntomSDKErrorCodes: {
|
|
|
355
355
|
readonly ELEMENT_ALREADY_REGISTERED: "ELEMENT_ALREADY_REGISTERED";
|
|
356
356
|
readonly CANNOT_CREATE_SAME_ELEMENT_TWICE: "CANNOT_CREATE_SAME_ELEMENT_TWICE";
|
|
357
357
|
readonly GROUPS_ONLY_ONE_MAIN_ELEMENT: "GROUPS_ONLY_ONE_MAIN_ELEMENT";
|
|
358
|
-
readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT";
|
|
359
|
-
* @description 环境配置,默认为prod
|
|
360
|
-
*/
|
|
358
|
+
readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT";
|
|
361
359
|
readonly NOT_SUPPORT_ELEMENT: "NOT_SUPPORT_ELEMENT";
|
|
362
360
|
readonly NOT_SUPPORT_SUBMIT: "NOT_SUPPORT_SUBMIT";
|
|
363
361
|
readonly UPDATE_CONFIG_TIMEOUT: "UPDATE_CONFIG_TIMEOUT";
|
package/types.untrimmed.d.ts
CHANGED
|
@@ -447,9 +447,7 @@ export declare const AntomSDKErrorCodes: {
|
|
|
447
447
|
readonly ELEMENT_ALREADY_REGISTERED: "ELEMENT_ALREADY_REGISTERED";
|
|
448
448
|
readonly CANNOT_CREATE_SAME_ELEMENT_TWICE: "CANNOT_CREATE_SAME_ELEMENT_TWICE";
|
|
449
449
|
readonly GROUPS_ONLY_ONE_MAIN_ELEMENT: "GROUPS_ONLY_ONE_MAIN_ELEMENT";
|
|
450
|
-
readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT";
|
|
451
|
-
* @description 环境配置,默认为prod
|
|
452
|
-
*/
|
|
450
|
+
readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT";
|
|
453
451
|
readonly NOT_SUPPORT_ELEMENT: "NOT_SUPPORT_ELEMENT";
|
|
454
452
|
readonly NOT_SUPPORT_SUBMIT: "NOT_SUPPORT_SUBMIT";
|
|
455
453
|
readonly UPDATE_CONFIG_TIMEOUT: "UPDATE_CONFIG_TIMEOUT";
|
|
@@ -8733,10 +8731,11 @@ export declare interface PreloadTelemetryContext {
|
|
|
8733
8731
|
leadTimeMs?: number;
|
|
8734
8732
|
criticalDurationMs?: number;
|
|
8735
8733
|
taskId?: string;
|
|
8736
|
-
|
|
8734
|
+
preconnectedRegions?: readonly ('SG' | 'US' | 'DE')[];
|
|
8735
|
+
preconnectionMode?: 'configured' | 'regional';
|
|
8737
8736
|
actualRegion?: string;
|
|
8738
8737
|
predictionResult?: 'hit' | 'miss';
|
|
8739
|
-
preconnectionStatus?: 'running' | 'completed' | 'failed';
|
|
8738
|
+
preconnectionStatus?: 'running' | 'completed' | 'partial_failed' | 'failed';
|
|
8740
8739
|
preconnectionLeadTimeMs?: number;
|
|
8741
8740
|
preconnectionReadyBeforeFirstRpc?: boolean;
|
|
8742
8741
|
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
declare const DEFAULT_PRECONNECTION_REGION: "SG";
|
|
2
|
-
export interface SgPreconnectionSnapshot {
|
|
3
|
-
predictedRegion: typeof DEFAULT_PRECONNECTION_REGION;
|
|
4
|
-
actualRegion?: string;
|
|
5
|
-
predictionResult?: 'hit' | 'miss';
|
|
6
|
-
status: 'running' | 'completed' | 'failed';
|
|
7
|
-
preconnectionStartTime: number;
|
|
8
|
-
preconnectionEndTime?: number;
|
|
9
|
-
firstRpcStartTime?: number;
|
|
10
|
-
firstRpcEndTime?: number;
|
|
11
|
-
firstRpcTotalMs?: number;
|
|
12
|
-
preconnectionLeadTimeMs?: number;
|
|
13
|
-
preconnectionReadyBeforeFirstRpc?: boolean;
|
|
14
|
-
dnsDurationMs?: number;
|
|
15
|
-
tcpDurationMs?: number;
|
|
16
|
-
tlsDurationMs?: number;
|
|
17
|
-
}
|
|
18
|
-
export declare function startDefaultSgPreconnection(env: 'sandbox' | 'prod'): Promise<SgPreconnectionSnapshot>;
|
|
19
|
-
export declare function recordActualRegion(region: string, env?: 'sandbox' | 'prod'): SgPreconnectionSnapshot | undefined;
|
|
20
|
-
export declare function recordFirstRpcStart(env?: 'sandbox' | 'prod'): SgPreconnectionSnapshot | undefined;
|
|
21
|
-
export declare function recordFirstRpcEnd(env?: 'sandbox' | 'prod'): SgPreconnectionSnapshot | undefined;
|
|
22
|
-
export declare function getSgPreconnectionSnapshot(env?: 'sandbox' | 'prod'): {
|
|
23
|
-
predictedRegion: typeof DEFAULT_PRECONNECTION_REGION;
|
|
24
|
-
actualRegion?: string;
|
|
25
|
-
predictionResult?: "hit" | "miss";
|
|
26
|
-
status: "running" | "completed" | "failed";
|
|
27
|
-
preconnectionStartTime: number;
|
|
28
|
-
preconnectionEndTime?: number;
|
|
29
|
-
firstRpcStartTime?: number;
|
|
30
|
-
firstRpcEndTime?: number;
|
|
31
|
-
firstRpcTotalMs?: number;
|
|
32
|
-
preconnectionLeadTimeMs?: number;
|
|
33
|
-
preconnectionReadyBeforeFirstRpc?: boolean;
|
|
34
|
-
dnsDurationMs?: number;
|
|
35
|
-
tcpDurationMs?: number;
|
|
36
|
-
tlsDurationMs?: number;
|
|
37
|
-
};
|
|
38
|
-
export declare function waitForSgPreconnection(env?: 'sandbox' | 'prod'): Promise<SgPreconnectionSnapshot>;
|
|
39
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
declare const DEFAULT_PRECONNECTION_REGION: "SG";
|
|
2
|
-
export interface SgPreconnectionSnapshot {
|
|
3
|
-
predictedRegion: typeof DEFAULT_PRECONNECTION_REGION;
|
|
4
|
-
actualRegion?: string;
|
|
5
|
-
predictionResult?: 'hit' | 'miss';
|
|
6
|
-
status: 'running' | 'completed' | 'failed';
|
|
7
|
-
preconnectionStartTime: number;
|
|
8
|
-
preconnectionEndTime?: number;
|
|
9
|
-
firstRpcStartTime?: number;
|
|
10
|
-
firstRpcEndTime?: number;
|
|
11
|
-
firstRpcTotalMs?: number;
|
|
12
|
-
preconnectionLeadTimeMs?: number;
|
|
13
|
-
preconnectionReadyBeforeFirstRpc?: boolean;
|
|
14
|
-
dnsDurationMs?: number;
|
|
15
|
-
tcpDurationMs?: number;
|
|
16
|
-
tlsDurationMs?: number;
|
|
17
|
-
}
|
|
18
|
-
export declare function startDefaultSgPreconnection(env: 'sandbox' | 'prod'): Promise<SgPreconnectionSnapshot>;
|
|
19
|
-
export declare function recordActualRegion(region: string, env?: 'sandbox' | 'prod'): SgPreconnectionSnapshot | undefined;
|
|
20
|
-
export declare function recordFirstRpcStart(env?: 'sandbox' | 'prod'): SgPreconnectionSnapshot | undefined;
|
|
21
|
-
export declare function recordFirstRpcEnd(env?: 'sandbox' | 'prod'): SgPreconnectionSnapshot | undefined;
|
|
22
|
-
export declare function getSgPreconnectionSnapshot(env?: 'sandbox' | 'prod'): {
|
|
23
|
-
predictedRegion: "SG";
|
|
24
|
-
actualRegion?: string;
|
|
25
|
-
predictionResult?: "hit" | "miss";
|
|
26
|
-
status: "running" | "completed" | "failed";
|
|
27
|
-
preconnectionStartTime: number;
|
|
28
|
-
preconnectionEndTime?: number;
|
|
29
|
-
firstRpcStartTime?: number;
|
|
30
|
-
firstRpcEndTime?: number;
|
|
31
|
-
firstRpcTotalMs?: number;
|
|
32
|
-
preconnectionLeadTimeMs?: number;
|
|
33
|
-
preconnectionReadyBeforeFirstRpc?: boolean;
|
|
34
|
-
dnsDurationMs?: number;
|
|
35
|
-
tcpDurationMs?: number;
|
|
36
|
-
tlsDurationMs?: number;
|
|
37
|
-
};
|
|
38
|
-
export declare function waitForSgPreconnection(env?: 'sandbox' | 'prod'): Promise<SgPreconnectionSnapshot>;
|
|
39
|
-
export {};
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
import { preConnection } from "../sdk/oneapi/iexpfront/preConnection";
|
|
14
|
-
var SG_GATEWAY_ORIGIN = 'https://imgs-sea-global.alipay.com';
|
|
15
|
-
var REGISTRY_SYMBOL = Symbol.for('@antom/web-sdk.sg-preconnection.v1');
|
|
16
|
-
|
|
17
|
-
// 2026-08-26 Web SDK traffic: SG 83.51%, DE 12.90%, US 3.59%.
|
|
18
|
-
// Warm only the highest-probability region; a miss must not fan out to DE or US.
|
|
19
|
-
var DEFAULT_PRECONNECTION_REGION = 'SG';
|
|
20
|
-
function getRegistry() {
|
|
21
|
-
var _globalObject$REGISTR;
|
|
22
|
-
var globalObject = globalThis;
|
|
23
|
-
(_globalObject$REGISTR = globalObject[REGISTRY_SYMBOL]) !== null && _globalObject$REGISTR !== void 0 ? _globalObject$REGISTR : globalObject[REGISTRY_SYMBOL] = {
|
|
24
|
-
snapshots: new Map(),
|
|
25
|
-
promises: new Map()
|
|
26
|
-
};
|
|
27
|
-
return globalObject[REGISTRY_SYMBOL];
|
|
28
|
-
}
|
|
29
|
-
export function startDefaultSgPreconnection(env) {
|
|
30
|
-
var registry = getRegistry();
|
|
31
|
-
var existing = registry.promises.get(env);
|
|
32
|
-
if (existing) return existing;
|
|
33
|
-
var snapshot = {
|
|
34
|
-
predictedRegion: DEFAULT_PRECONNECTION_REGION,
|
|
35
|
-
status: 'running',
|
|
36
|
-
preconnectionStartTime: now()
|
|
37
|
-
};
|
|
38
|
-
registry.snapshots.set(env, snapshot);
|
|
39
|
-
var promise = Promise.resolve().then(function () {
|
|
40
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined' || typeof screen === 'undefined' || typeof fetch === 'undefined') {
|
|
41
|
-
throw new Error('SG preConnection is unavailable outside the browser');
|
|
42
|
-
}
|
|
43
|
-
return preConnection({}, {
|
|
44
|
-
env: env,
|
|
45
|
-
hostSign: DEFAULT_PRECONNECTION_REGION,
|
|
46
|
-
timeout: 5000,
|
|
47
|
-
withCredentials: true
|
|
48
|
-
});
|
|
49
|
-
}).then(function () {
|
|
50
|
-
return finishPreconnection(env, 'completed');
|
|
51
|
-
}, function () {
|
|
52
|
-
return finishPreconnection(env, 'failed');
|
|
53
|
-
});
|
|
54
|
-
registry.promises.set(env, promise);
|
|
55
|
-
return promise;
|
|
56
|
-
}
|
|
57
|
-
export function recordActualRegion(region) {
|
|
58
|
-
var env = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'prod';
|
|
59
|
-
var snapshot = getRegistry().snapshots.get(env);
|
|
60
|
-
if (!snapshot) return undefined;
|
|
61
|
-
snapshot.actualRegion = region || DEFAULT_PRECONNECTION_REGION;
|
|
62
|
-
snapshot.predictionResult = snapshot.actualRegion === DEFAULT_PRECONNECTION_REGION ? 'hit' : 'miss';
|
|
63
|
-
return _objectSpread({}, snapshot);
|
|
64
|
-
}
|
|
65
|
-
export function recordFirstRpcStart() {
|
|
66
|
-
var _snapshot$firstRpcSta;
|
|
67
|
-
var env = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'prod';
|
|
68
|
-
var snapshot = getRegistry().snapshots.get(env);
|
|
69
|
-
if (!snapshot) return undefined;
|
|
70
|
-
(_snapshot$firstRpcSta = snapshot.firstRpcStartTime) !== null && _snapshot$firstRpcSta !== void 0 ? _snapshot$firstRpcSta : snapshot.firstRpcStartTime = now();
|
|
71
|
-
if (snapshot.preconnectionEndTime !== undefined) {
|
|
72
|
-
snapshot.preconnectionLeadTimeMs = snapshot.firstRpcStartTime - snapshot.preconnectionEndTime;
|
|
73
|
-
snapshot.preconnectionReadyBeforeFirstRpc = snapshot.preconnectionLeadTimeMs >= 0;
|
|
74
|
-
}
|
|
75
|
-
return _objectSpread({}, snapshot);
|
|
76
|
-
}
|
|
77
|
-
export function recordFirstRpcEnd() {
|
|
78
|
-
var _snapshot$firstRpcEnd;
|
|
79
|
-
var env = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'prod';
|
|
80
|
-
var snapshot = getRegistry().snapshots.get(env);
|
|
81
|
-
if (!snapshot || snapshot.firstRpcStartTime === undefined) return snapshot ? _objectSpread({}, snapshot) : undefined;
|
|
82
|
-
(_snapshot$firstRpcEnd = snapshot.firstRpcEndTime) !== null && _snapshot$firstRpcEnd !== void 0 ? _snapshot$firstRpcEnd : snapshot.firstRpcEndTime = now();
|
|
83
|
-
snapshot.firstRpcTotalMs = snapshot.firstRpcEndTime - snapshot.firstRpcStartTime;
|
|
84
|
-
return _objectSpread({}, snapshot);
|
|
85
|
-
}
|
|
86
|
-
export function getSgPreconnectionSnapshot() {
|
|
87
|
-
var env = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'prod';
|
|
88
|
-
var snapshot = getRegistry().snapshots.get(env);
|
|
89
|
-
return snapshot ? _objectSpread({}, snapshot) : undefined;
|
|
90
|
-
}
|
|
91
|
-
export function waitForSgPreconnection() {
|
|
92
|
-
var env = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'prod';
|
|
93
|
-
return getRegistry().promises.get(env);
|
|
94
|
-
}
|
|
95
|
-
function finishPreconnection(env, status) {
|
|
96
|
-
var snapshot = getRegistry().snapshots.get(env);
|
|
97
|
-
snapshot.status = status;
|
|
98
|
-
snapshot.preconnectionEndTime = now();
|
|
99
|
-
if (snapshot.firstRpcStartTime !== undefined) {
|
|
100
|
-
snapshot.preconnectionLeadTimeMs = snapshot.firstRpcStartTime - snapshot.preconnectionEndTime;
|
|
101
|
-
snapshot.preconnectionReadyBeforeFirstRpc = snapshot.preconnectionLeadTimeMs >= 0;
|
|
102
|
-
}
|
|
103
|
-
Object.assign(snapshot, readGatewayResourceTiming());
|
|
104
|
-
return _objectSpread({}, snapshot);
|
|
105
|
-
}
|
|
106
|
-
function readGatewayResourceTiming() {
|
|
107
|
-
if (typeof performance === 'undefined' || !performance.getEntriesByType) return {};
|
|
108
|
-
var entries = performance.getEntriesByType('resource');
|
|
109
|
-
var timing = _toConsumableArray(entries).reverse().find(function (entry) {
|
|
110
|
-
return entry.name.startsWith(SG_GATEWAY_ORIGIN);
|
|
111
|
-
});
|
|
112
|
-
if (!timing) return {};
|
|
113
|
-
return {
|
|
114
|
-
dnsDurationMs: Math.max(0, timing.domainLookupEnd - timing.domainLookupStart),
|
|
115
|
-
tcpDurationMs: Math.max(0, timing.connectEnd - timing.connectStart),
|
|
116
|
-
tlsDurationMs: timing.secureConnectionStart > 0 ? Math.max(0, timing.connectEnd - timing.secureConnectionStart) : 0
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
function now() {
|
|
120
|
-
return Date.now();
|
|
121
|
-
}
|