@microsoft/1ds-post-js 4.3.7-nightly3.2504-19 → 4.3.7-nightly3.2505-01

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.
Files changed (50) hide show
  1. package/README.md +1 -0
  2. package/bundle/es5/{ms.post-4.3.7-nightly3.2504-19.gbl.js → ms.post-4.3.7-nightly3.2505-01.gbl.js} +118 -22
  3. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.gbl.js.map +1 -0
  4. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.gbl.min.js +7 -0
  5. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.gbl.min.js.map +1 -0
  6. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.integrity.json +46 -0
  7. package/bundle/es5/{ms.post-4.3.7-nightly3.2504-19.js → ms.post-4.3.7-nightly3.2505-01.js} +118 -22
  8. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.js.map +1 -0
  9. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.min.js +7 -0
  10. package/bundle/es5/ms.post-4.3.7-nightly3.2505-01.min.js.map +1 -0
  11. package/bundle/es5/ms.post.gbl.js +117 -21
  12. package/bundle/es5/ms.post.gbl.js.map +1 -1
  13. package/bundle/es5/ms.post.gbl.min.js +2 -2
  14. package/bundle/es5/ms.post.gbl.min.js.map +1 -1
  15. package/bundle/es5/ms.post.integrity.json +17 -17
  16. package/bundle/es5/ms.post.js +117 -21
  17. package/bundle/es5/ms.post.js.map +1 -1
  18. package/bundle/es5/ms.post.min.js +2 -2
  19. package/bundle/es5/ms.post.min.js.map +1 -1
  20. package/dist/es5/ms.post.js +115 -19
  21. package/dist/es5/ms.post.js.map +1 -1
  22. package/dist/es5/ms.post.min.js +2 -2
  23. package/dist/es5/ms.post.min.js.map +1 -1
  24. package/dist-es5/BatchNotificationActions.js +1 -1
  25. package/dist-es5/ClockSkewManager.js +1 -1
  26. package/dist-es5/DataModels.js +1 -1
  27. package/dist-es5/EventBatch.js +1 -1
  28. package/dist-es5/HttpManager.js +25 -14
  29. package/dist-es5/HttpManager.js.map +1 -1
  30. package/dist-es5/Index.js +1 -1
  31. package/dist-es5/InternalConstants.js +1 -1
  32. package/dist-es5/KillSwitch.js +1 -1
  33. package/dist-es5/PostChannel.js +4 -3
  34. package/dist-es5/PostChannel.js.map +1 -1
  35. package/dist-es5/RetryPolicy.js +1 -1
  36. package/dist-es5/Serializer.js +26 -4
  37. package/dist-es5/Serializer.js.map +1 -1
  38. package/dist-es5/TimeoutOverrideWrapper.js +1 -1
  39. package/dist-es5/__DynamicConstants.js +1 -1
  40. package/dist-es5/typings/XDomainRequest.js +1 -1
  41. package/package.json +2 -2
  42. package/types/1ds-post-js.d.ts +21 -1
  43. package/types/1ds-post-js.namespaced.d.ts +21 -1
  44. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.gbl.js.map +0 -1
  45. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.gbl.min.js +0 -7
  46. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.gbl.min.js.map +0 -1
  47. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.integrity.json +0 -46
  48. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.js.map +0 -1
  49. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.min.js +0 -7
  50. package/bundle/es5/ms.post-4.3.7-nightly3.2504-19.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK POST plugin, 4.3.7-nightly3.2504-19
2
+ * 1DS JS SDK POST plugin, 4.3.7-nightly3.2505-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -1176,8 +1176,8 @@
1176
1176
  var _DYN_DATA = "data";
1177
1177
  var _DYN_GET_CTX = "getCtx";
1178
1178
  var _DYN_SET_CTX = "setCtx";
1179
- var _DYN_URL_STRING = "urlString";
1180
1179
  var _DYN_HEADERS$1 = "headers";
1180
+ var _DYN_URL_STRING = "urlString";
1181
1181
  var _DYN_TIMEOUT = "timeout";
1182
1182
 
1183
1183
  var aggregationErrorType;
@@ -1590,6 +1590,20 @@
1590
1590
  }
1591
1591
  return theObject;
1592
1592
  }
1593
+ function isFeatureEnabled(feature, cfg) {
1594
+ var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
1595
+ if (feature && ft) {
1596
+ var mode = ft.mode;
1597
+ if (mode === 3 ) {
1598
+ return true;
1599
+ }
1600
+ else if (mode === 2 ) {
1601
+ return false;
1602
+ }
1603
+ return UNDEFINED_VALUE;
1604
+ }
1605
+ return UNDEFINED_VALUE;
1606
+ }
1593
1607
  function getResponseText(xhr) {
1594
1608
  try {
1595
1609
  return xhr.responseText;
@@ -1894,7 +1908,7 @@
1894
1908
  return result;
1895
1909
  }
1896
1910
 
1897
- var version = '3.3.7-nightly3.2504-19';
1911
+ var version = '3.3.7-nightly3.2505-01';
1898
1912
  var instanceName = "." + newId(6);
1899
1913
  var _dataUid = 0;
1900
1914
  function _canAcceptData(target) {
@@ -3507,6 +3521,58 @@
3507
3521
  _self[_DYN__DO_TEARDOWN ] = function (unloadCtx, unloadState) {
3508
3522
  _initDefaults();
3509
3523
  };
3524
+ _self.preparePayload = function (callback, zipPayload, payload, isSync) {
3525
+ if (!zipPayload || isSync || !payload[_DYN_DATA ]) {
3526
+ callback(payload);
3527
+ return;
3528
+ }
3529
+ try {
3530
+ var csStream = getInst("CompressionStream");
3531
+ if (!isFunction(csStream)) {
3532
+ callback(payload);
3533
+ return;
3534
+ }
3535
+ var body = new ReadableStream({
3536
+ start: function (controller) {
3537
+ controller.enqueue(isString(payload[_DYN_DATA ]) ? new TextEncoder().encode(payload[_DYN_DATA ]) : payload[_DYN_DATA ]);
3538
+ controller.close();
3539
+ }
3540
+ });
3541
+ var compressedStream = body.pipeThrough(new csStream("gzip"));
3542
+ var reader_1 = compressedStream.getReader();
3543
+ var chunks_1 = [];
3544
+ var totalLength_1 = 0;
3545
+ var callbackCalled_1 = false;
3546
+ doAwaitResponse(reader_1.read(), function processChunk(response) {
3547
+ if (!callbackCalled_1 && !response.rejected) {
3548
+ var result = response[_DYN_VALUE$1 ];
3549
+ if (!result.done) {
3550
+ chunks_1[_DYN_PUSH$1 ](result[_DYN_VALUE$1 ]);
3551
+ totalLength_1 += result.value[_DYN_LENGTH$2 ];
3552
+ return doAwaitResponse(reader_1.read(), processChunk);
3553
+ }
3554
+ var combined = new Uint8Array(totalLength_1);
3555
+ var offset = 0;
3556
+ for (var _i = 0, chunks_2 = chunks_1; _i < chunks_2.length; _i++) {
3557
+ var chunk = chunks_2[_i];
3558
+ combined.set(chunk, offset);
3559
+ offset += chunk[_DYN_LENGTH$2 ];
3560
+ }
3561
+ payload[_DYN_DATA ] = combined;
3562
+ payload[_DYN_HEADERS$1 ]["Content-Encoding"] = "gzip";
3563
+ }
3564
+ if (!callbackCalled_1) {
3565
+ callbackCalled_1 = true;
3566
+ callback(payload);
3567
+ }
3568
+ });
3569
+ return reader_1;
3570
+ }
3571
+ catch (error) {
3572
+ callback(payload);
3573
+ return;
3574
+ }
3575
+ };
3510
3576
  function _onSuccess(res, onComplete) {
3511
3577
  _doOnComplete(onComplete, 200, {}, res);
3512
3578
  }
@@ -4168,7 +4234,7 @@
4168
4234
  var _DYN_PROCESS_TELEMETRY_ST0 = "processTelemetryStart";
4169
4235
 
4170
4236
  var _a$1;
4171
- var Version = '4.3.7-nightly3.2504-19';
4237
+ var Version = '4.3.7-nightly3.2505-01';
4172
4238
  var FullVersionString = "1DS-Web-JS-" + Version;
4173
4239
  var ObjHasOwnProperty = ObjProto$1.hasOwnProperty;
4174
4240
  var _fieldTypeEventPropMap = (_a$1 = {},
@@ -4606,7 +4672,7 @@
4606
4672
  var f = "f";
4607
4673
  var rCheckDot = /\./;
4608
4674
  var Serializer = /** @class */ (function () {
4609
- function Serializer(perfManager, valueSanitizer, stringifyObjects, enableCompoundKey, getEncodedTypeOverride, excludeCsMetaData) {
4675
+ function Serializer(perfManager, valueSanitizer, stringifyObjects, enableCompoundKey, getEncodedTypeOverride, excludeCsMetaData, cfg) {
4610
4676
  var strData = "data";
4611
4677
  var strBaseData = "baseData";
4612
4678
  var strExt = "ext";
@@ -4616,6 +4682,11 @@
4616
4682
  var _isReservedCache = {};
4617
4683
  var _excludeCsMetaData = !!excludeCsMetaData;
4618
4684
  var _getEncodedType = getEncodedTypeOverride || getCommonSchemaMetaData;
4685
+ var _sizeCfg = _getSizeLimtCfg(cfg);
4686
+ var _requestSizeLimitBytes = _validateSizeLimit(_sizeCfg.requestLimit, RequestSizeLimitBytes, 0);
4687
+ var _beaconRequestSizeLimitBytes = _validateSizeLimit(_sizeCfg.requestLimit, BeaconRequestSizeLimitBytes, 1);
4688
+ var _maxRecordSize = _validateSizeLimit(_sizeCfg.recordLimit, MaxRecordSize, 0);
4689
+ var _maxBeaconRecordSize = Math.min(_validateSizeLimit(_sizeCfg.recordLimit, MaxBeaconRecordSize, 1), _beaconRequestSizeLimitBytes);
4619
4690
  dynamicProto(Serializer, this, function (_self) {
4620
4691
  _self.createPayload = function (retryCnt, isTeardown, isSync, isReducedPayload, sendReason, sendType) {
4621
4692
  return {
@@ -4645,8 +4716,8 @@
4645
4716
  var sizeExceeded = [];
4646
4717
  var failedEvts = [];
4647
4718
  var isBeaconPayload = payload.isBeacon;
4648
- var requestMaxSize = isBeaconPayload ? BeaconRequestSizeLimitBytes : RequestSizeLimitBytes;
4649
- var recordMaxSize = isBeaconPayload ? MaxBeaconRecordSize : MaxRecordSize;
4719
+ var requestMaxSize = isBeaconPayload ? _beaconRequestSizeLimitBytes : _requestSizeLimitBytes;
4720
+ var recordMaxSize = isBeaconPayload ? _maxBeaconRecordSize : _maxRecordSize;
4650
4721
  var lp = 0;
4651
4722
  var joinCount = 0;
4652
4723
  while (lp < theEvents.length) {
@@ -4809,6 +4880,22 @@
4809
4880
  Serializer.__ieDyn=1;
4810
4881
  return Serializer;
4811
4882
  }());
4883
+ function _validateSizeLimit(cfgVal, defaultVal, idx) {
4884
+ if (isArray(cfgVal)) {
4885
+ var val = cfgVal[idx];
4886
+ if (val > 0 && val <= defaultVal) {
4887
+ return val;
4888
+ }
4889
+ }
4890
+ return defaultVal;
4891
+ }
4892
+ function _getSizeLimtCfg(cfg) {
4893
+ var defaultCfg = {};
4894
+ if (cfg && cfg.requestLimit) {
4895
+ return cfg.requestLimit;
4896
+ }
4897
+ return defaultCfg;
4898
+ }
4812
4899
  function _addJSONPropertyMetaData(getEncodedType, json, propKeys, name, propertyValue) {
4813
4900
  if (propertyValue && json) {
4814
4901
  var encodedTypeValue = getEncodedType(propertyValue.value, propertyValue.kind, propertyValue.propertyType);
@@ -4953,6 +5040,7 @@
4953
5040
  var _isUnloading;
4954
5041
  var _useHeaders;
4955
5042
  var _xhrTimeout;
5043
+ var _zipPayload;
4956
5044
  var _disableXhrSync;
4957
5045
  var _disableFetchKeepAlive;
4958
5046
  var _canHaveReducedPayload;
@@ -5000,6 +5088,11 @@
5000
5088
  enableCompoundKey = !!channelConfig[_DYN_ENABLE_COMPOUND_KEY ];
5001
5089
  }
5002
5090
  _xhrTimeout = channelConfig.xhrTimeout;
5091
+ var csStream = getInst("CompressionStream");
5092
+ _zipPayload = isFeatureEnabled("zipPayload", coreConfig);
5093
+ if (!isFunction(csStream) || _sendHook) {
5094
+ _zipPayload = false;
5095
+ }
5003
5096
  _disableXhrSync = !!channelConfig[_DYN_DISABLE_XHR_SYNC ];
5004
5097
  _disableFetchKeepAlive = !!channelConfig[_DYN_DISABLE_FETCH_KEEP_A6 ];
5005
5098
  _addNoResponse = channelConfig[_DYN_ADD_NO_RESPONSE ] !== false;
@@ -5008,7 +5101,7 @@
5008
5101
  _disableFetchKeepAlive = true;
5009
5102
  }
5010
5103
  _useBeacons = !isReactNative();
5011
- _serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey, getCommonSchemaMetaData, _excludeCsMetaData);
5104
+ _serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey, getCommonSchemaMetaData, _excludeCsMetaData, channelConfig);
5012
5105
  if (!isNullOrUndefined(channelConfig[_DYN_USE_SEND_BEACON ])) {
5013
5106
  _useBeacons = !!channelConfig[_DYN_USE_SEND_BEACON ];
5014
5107
  }
@@ -5551,16 +5644,18 @@
5551
5644
  _retryRequestIfNeeded(status, headers, thePayload, sendReason);
5552
5645
  };
5553
5646
  var isSync = thePayload[_DYN_IS_TEARDOWN ] || thePayload.isSync;
5554
- try {
5555
- sendInterface_1.sendPOST(payload, onComplete, isSync);
5556
- if (_sendListener) {
5557
- _sendListener(orgPayloadData, payload, isSync, thePayload[_DYN_IS_BEACON ]);
5647
+ _sendPostMgr.preparePayload(function (processedPayload) {
5648
+ try {
5649
+ sendInterface_1.sendPOST(processedPayload, onComplete, isSync);
5650
+ if (_sendListener) {
5651
+ _sendListener(orgPayloadData, processedPayload, isSync, thePayload[_DYN_IS_BEACON ]);
5652
+ }
5558
5653
  }
5559
- }
5560
- catch (ex) {
5561
- _warnToConsole(_logger, "Unexpected exception sending payload. Ex:" + dumpObj(ex));
5562
- _doOnComplete(onComplete, 0, {});
5563
- }
5654
+ catch (ex) {
5655
+ _doOnComplete(onComplete, 0, {});
5656
+ _warnToConsole(_logger, "Unexpected exception sending payload. Ex:" + dumpObj(ex));
5657
+ }
5658
+ }, _zipPayload, payload, isSync);
5564
5659
  };
5565
5660
  }
5566
5661
  doPerf(_core, function () { return "HttpManager:_doPayloadSend.sender"; }, function () {
@@ -5834,7 +5929,8 @@
5834
5929
  maxEventRetryAttempts: { isVal: isNumber, v: MaxSendAttempts },
5835
5930
  maxUnloadEventRetryAttempts: { isVal: isNumber, v: MaxSyncUnloadSendAttempts },
5836
5931
  addNoResponse: undefValue,
5837
- excludeCsMetaData: undefValue
5932
+ excludeCsMetaData: undefValue,
5933
+ requestLimit: {}
5838
5934
  });
5839
5935
  function isOverrideFn(httpXHROverride) {
5840
5936
  return httpXHROverride && httpXHROverride.sendPOST;
@@ -5845,7 +5941,7 @@
5845
5941
  var _this = _super.call(this) || this;
5846
5942
  _this.identifier = "PostChannel";
5847
5943
  _this.priority = 1011;
5848
- _this.version = '4.3.7-nightly3.2504-19';
5944
+ _this.version = '4.3.7-nightly3.2505-01';
5849
5945
  var _postConfig;
5850
5946
  var _isTeardownCalled = false;
5851
5947
  var _flushCallbackQueue = [];