@microsoft/applicationinsights-core-js 2.7.4-nightly.2201-03 → 2.7.4-nightly.2202-05

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 (56) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +160 -122
  3. package/browser/applicationinsights-core-js.js.map +1 -1
  4. package/browser/applicationinsights-core-js.min.js +2 -2
  5. package/browser/applicationinsights-core-js.min.js.map +1 -1
  6. package/dist/applicationinsights-core-js.api.json +37 -111
  7. package/dist/applicationinsights-core-js.api.md +3 -3
  8. package/dist/applicationinsights-core-js.d.ts +4 -4
  9. package/dist/applicationinsights-core-js.js +160 -122
  10. package/dist/applicationinsights-core-js.js.map +1 -1
  11. package/dist/applicationinsights-core-js.min.js +2 -2
  12. package/dist/applicationinsights-core-js.min.js.map +1 -1
  13. package/dist/applicationinsights-core-js.rollup.d.ts +4 -4
  14. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +1 -1
  15. package/dist-esm/JavaScriptSDK/BaseCore.js +1 -1
  16. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  17. package/dist-esm/JavaScriptSDK/ChannelController.js +1 -1
  18. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  19. package/dist-esm/JavaScriptSDK/CookieMgr.js +1 -1
  20. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  21. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  22. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +1 -1
  23. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -1
  24. package/dist-esm/JavaScriptSDK/HelperFuncs.js +296 -111
  25. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  26. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +2 -35
  27. package/dist-esm/JavaScriptSDK/InstrumentHooks.js.map +1 -1
  28. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  29. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  30. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  31. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  32. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
  33. package/dist-esm/JavaScriptSDK/TelemetryPluginChain.js +1 -1
  34. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  35. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  36. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  37. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  38. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  39. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  40. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  41. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  42. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  43. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  44. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  45. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  46. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  47. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  48. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  49. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  50. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  51. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  52. package/dist-esm/applicationinsights-core-js.js +1 -1
  53. package/package.json +1 -1
  54. package/src/JavaScriptSDK/HelperFuncs.ts +332 -110
  55. package/src/JavaScriptSDK/InstrumentHooks.ts +1 -41
  56. package/types/JavaScriptSDK/HelperFuncs.d.ts +42 -3
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-core-js",
3
- "version": "2.7.4-nightly.2201-03",
3
+ "version": "2.7.4-nightly.2202-05",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-core-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-eK5sFtOfn59MTiTCAwCSYR+IFqpeTxyiWXZnu4JCRTc= sha384-fz/boscuIRFGyLNVk+MHUioGz0Mj/HuT3oqh9byQ3+kyMtoSFY/Wx7SuduBmhOz5 sha512-Rvki0mJo49SXHQLbTnbF+awWz/SIc86n6hkBaXxtQa8cTD8wVWsOyt+dOgY07aOZzMhFy/Xx3DQVLwlrzTCdlw==",
8
+ "integrity": "sha256-8TT31lPIeXNQbdiWWotipV/vHTWCRGb8vDWeSkZ92eI= sha384-XuiljZ3MnD3uS3y/FKuQHKs98q05Zc9+UfshPygK2eBtojTTTDPEnSY944uxCgjW sha512-HVHidzZitfIyJkDROMbkSlm6z9b69hzEL6gMypIPc/kuBYhzFvnPSx3aLS4DzwvGcqyhNYJ23Si3b/H8HN8pQA==",
9
9
  "hashes": {
10
- "sha256": "eK5sFtOfn59MTiTCAwCSYR+IFqpeTxyiWXZnu4JCRTc=",
11
- "sha384": "fz/boscuIRFGyLNVk+MHUioGz0Mj/HuT3oqh9byQ3+kyMtoSFY/Wx7SuduBmhOz5",
12
- "sha512": "Rvki0mJo49SXHQLbTnbF+awWz/SIc86n6hkBaXxtQa8cTD8wVWsOyt+dOgY07aOZzMhFy/Xx3DQVLwlrzTCdlw=="
10
+ "sha256": "8TT31lPIeXNQbdiWWotipV/vHTWCRGb8vDWeSkZ92eI=",
11
+ "sha384": "XuiljZ3MnD3uS3y/FKuQHKs98q05Zc9+UfshPygK2eBtojTTTDPEnSY944uxCgjW",
12
+ "sha512": "HVHidzZitfIyJkDROMbkSlm6z9b69hzEL6gMypIPc/kuBYhzFvnPSx3aLS4DzwvGcqyhNYJ23Si3b/H8HN8pQA=="
13
13
  }
14
14
  },
15
15
  "@min.js": {
16
16
  "file": "applicationinsights-core-js.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-lK0YL1ri9qYN5HVpjgVpTW0sivGUXro+LQNH6qOebUY= sha384-Afb9j3AhCDOlF47EIlksu6J+GCOnUDAmumQCsqa/jhxq3YcBN5Zw6mQowkvcAS2U sha512-JxDHU85Ew5D73n2hhQLrh+cFSXIOlrPRR7Qb9fq97BjpG0a92KlLeoW/OPFwL/2GAGIX9LRT6uFAgoGb/Bz93A==",
18
+ "integrity": "sha256-sgVlV6Xs00ogvVWlHLKb5KL03heZDCgzcRS0LmG4w6E= sha384-deBkEoAsEX9p/K7OwlTCf3vUavw/ZEus8Rl9gPxDRIzXMnpbSizzv3BuwG9bL43g sha512-ylEJLcN5X14+Safgkpix+gBEgDPYGqZjMQ4dBrvksbIKC3NYFZ/p8rDqqNT8pwJ49Yvhh4U/z9lxMMbPQH6bVQ==",
19
19
  "hashes": {
20
- "sha256": "lK0YL1ri9qYN5HVpjgVpTW0sivGUXro+LQNH6qOebUY=",
21
- "sha384": "Afb9j3AhCDOlF47EIlksu6J+GCOnUDAmumQCsqa/jhxq3YcBN5Zw6mQowkvcAS2U",
22
- "sha512": "JxDHU85Ew5D73n2hhQLrh+cFSXIOlrPRR7Qb9fq97BjpG0a92KlLeoW/OPFwL/2GAGIX9LRT6uFAgoGb/Bz93A=="
20
+ "sha256": "sgVlV6Xs00ogvVWlHLKb5KL03heZDCgzcRS0LmG4w6E=",
21
+ "sha384": "deBkEoAsEX9p/K7OwlTCf3vUavw/ZEus8Rl9gPxDRIzXMnpbSizzv3BuwG9bL43g",
22
+ "sha512": "ylEJLcN5X14+Safgkpix+gBEgDPYGqZjMQ4dBrvksbIKC3NYFZ/p8rDqqNT8pwJ49Yvhh4U/z9lxMMbPQH6bVQ=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 2.7.4-nightly.2201-03
2
+ * Application Insights JavaScript SDK - Core, 2.7.4-nightly.2202-05
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -436,11 +436,44 @@
436
436
  var strDetachEvent = "detachEvent";
437
437
  var strRemoveEventListener = "removeEventListener";
438
438
  var strToISOString = "toISOString";
439
+ var cStrEndsWith = "endsWith";
440
+ var cStrStartsWith = "startsWith";
441
+ var strIndexOf = "indexOf";
442
+ var strMap = "map";
443
+ var strReduce = "reduce";
444
+ var cStrTrim = "trim";
445
+ var strKeys = "keys";
446
+ var strToString = "toString";
447
+ var str__Proto = "__proto__";
448
+ var strConstructor = "constructor";
439
449
  var _objDefineProperty = ObjDefineProperty;
440
450
  var _objFreeze = ObjClass["freeze"];
441
451
  var _objSeal = ObjClass["seal"];
442
- function objToString(obj) {
443
- return ObjProto.toString.call(obj);
452
+ var StringProto = String[strShimPrototype];
453
+ var _strTrim = StringProto[cStrTrim];
454
+ var _strEndsWith = StringProto[cStrEndsWith];
455
+ var _strStartsWith = StringProto[cStrStartsWith];
456
+ var DateProto = Date[strShimPrototype];
457
+ var _dataToISOString = DateProto[strToISOString];
458
+ var _isArray = Array.isArray;
459
+ var _objToString = ObjProto[strToString];
460
+ var _fnToString = ObjHasOwnProperty[strToString];
461
+ _fnToString.call(ObjClass);
462
+ var rCamelCase = /-([a-z])/g;
463
+ var rNormalizeInvalid = /([^\w\d_$])/g;
464
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
465
+ var _objGetPrototypeOf = Object["getPrototypeOf"];
466
+ function _getObjProto(target) {
467
+ if (target) {
468
+ if (_objGetPrototypeOf) {
469
+ return _objGetPrototypeOf(target);
470
+ }
471
+ var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
472
+ if (newProto) {
473
+ return newProto;
474
+ }
475
+ }
476
+ return null;
444
477
  }
445
478
  function isTypeof(value, theType) {
446
479
  return typeof value === theType;
@@ -458,13 +491,13 @@
458
491
  return !isNullOrUndefined(value);
459
492
  }
460
493
  function hasOwnProperty(obj, prop) {
461
- return obj && ObjHasOwnProperty.call(obj, prop);
494
+ return !!(obj && ObjHasOwnProperty.call(obj, prop));
462
495
  }
463
496
  function isObject(value) {
464
- return typeof value === strShimObject;
497
+ return !!(value && typeof value === strShimObject);
465
498
  }
466
499
  function isFunction(value) {
467
- return typeof value === strShimFunction;
500
+ return !!(value && typeof value === strShimFunction);
468
501
  }
469
502
  function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
470
503
  if (useCapture === void 0) { useCapture = false; }
@@ -502,9 +535,14 @@
502
535
  }
503
536
  function normalizeJsName(name) {
504
537
  var value = name;
505
- var match = /([^\w\d_$])/g;
506
- if (match.test(name)) {
507
- value = name.replace(match, "_");
538
+ if (value && isString(value)) {
539
+ value = value.replace(rCamelCase, function (_all, letter) {
540
+ return letter.toUpperCase();
541
+ });
542
+ value = value.replace(rNormalizeInvalid, "_");
543
+ value = value.replace(rLeadingNumeric, function (_all, match) {
544
+ return "_" + match;
545
+ });
508
546
  }
509
547
  return value;
510
548
  }
@@ -518,40 +556,45 @@
518
556
  }
519
557
  }
520
558
  function strEndsWith(value, search) {
521
- if (value && search) {
522
- var searchLen = search.length;
523
- var valLen = value.length;
524
- if (value === search) {
525
- return true;
526
- }
527
- else if (valLen >= searchLen) {
528
- var pos = valLen - 1;
529
- for (var lp = searchLen - 1; lp >= 0; lp--) {
530
- if (value[pos] != search[lp]) {
531
- return false;
532
- }
533
- pos--;
559
+ var result = false;
560
+ if (value && search && !(result = value === search)) {
561
+ result = _strEndsWith ? value[cStrEndsWith](search) : _strEndsWithPoly(value, search);
562
+ }
563
+ return result;
564
+ }
565
+ function _strEndsWithPoly(value, search) {
566
+ var result = false;
567
+ var searchLen = search ? search.length : 0;
568
+ var valLen = value ? value.length : 0;
569
+ if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
570
+ var pos = valLen - 1;
571
+ for (var lp = searchLen - 1; lp >= 0; lp--) {
572
+ if (value[pos] != search[lp]) {
573
+ return false;
534
574
  }
535
- return true;
575
+ pos--;
536
576
  }
577
+ result = true;
537
578
  }
538
- return false;
579
+ return result;
539
580
  }
540
581
  function strStartsWith(value, checkValue) {
541
582
  var result = false;
542
- if (value && checkValue) {
543
- var chkLen = checkValue.length;
544
- if (value === checkValue) {
545
- return true;
546
- }
547
- else if (value.length >= chkLen) {
548
- for (var lp = 0; lp < chkLen; lp++) {
549
- if (value[lp] !== checkValue[lp]) {
550
- return false;
551
- }
583
+ if (value && checkValue && !(result = value === checkValue)) {
584
+ result = _strStartsWith ? value[cStrStartsWith](checkValue) : _strStartsWithPoly(value, checkValue);
585
+ }
586
+ return result;
587
+ }
588
+ function _strStartsWithPoly(value, checkValue) {
589
+ var result = false;
590
+ var chkLen = checkValue ? checkValue.length : 0;
591
+ if (value && chkLen && value.length >= chkLen && !(result = value === checkValue)) {
592
+ for (var lp = 0; lp < chkLen; lp++) {
593
+ if (value[lp] !== checkValue[lp]) {
594
+ return false;
552
595
  }
553
- result = true;
554
596
  }
597
+ result = true;
555
598
  }
556
599
  return result;
557
600
  }
@@ -562,13 +605,14 @@
562
605
  return false;
563
606
  }
564
607
  function isDate(obj) {
565
- return objToString(obj) === "[object Date]";
608
+ return !!(obj && _objToString.call(obj) === "[object Date]");
566
609
  }
567
- function isArray(obj) {
568
- return objToString(obj) === "[object Array]";
610
+ var isArray = _isArray || _isArrayPoly;
611
+ function _isArrayPoly(obj) {
612
+ return !!(obj && _objToString.call(obj) === "[object Array]");
569
613
  }
570
614
  function isError(obj) {
571
- return objToString(obj) === "[object Error]";
615
+ return !!(obj && _objToString.call(obj) === "[object Error]");
572
616
  }
573
617
  function isString(value) {
574
618
  return typeof value === "string";
@@ -584,26 +628,26 @@
584
628
  }
585
629
  function toISOString(date) {
586
630
  if (date) {
587
- if (date[strToISOString]) {
588
- return date[strToISOString]();
589
- }
590
- if (isDate(date)) {
591
- var pad = function (num) {
592
- var r = String(num);
593
- if (r.length === 1) {
594
- r = "0" + r;
595
- }
596
- return r;
597
- };
598
- return date.getUTCFullYear()
599
- + "-" + pad(date.getUTCMonth() + 1)
600
- + "-" + pad(date.getUTCDate())
601
- + "T" + pad(date.getUTCHours())
602
- + ":" + pad(date.getUTCMinutes())
603
- + ":" + pad(date.getUTCSeconds())
604
- + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
605
- + "Z";
606
- }
631
+ return _dataToISOString ? date[strToISOString]() : _toISOStringPoly(date);
632
+ }
633
+ }
634
+ function _toISOStringPoly(date) {
635
+ if (date && date.getUTCFullYear) {
636
+ var pad = function (num) {
637
+ var r = String(num);
638
+ if (r.length === 1) {
639
+ r = "0" + r;
640
+ }
641
+ return r;
642
+ };
643
+ return date.getUTCFullYear()
644
+ + "-" + pad(date.getUTCMonth() + 1)
645
+ + "-" + pad(date.getUTCDate())
646
+ + "T" + pad(date.getUTCHours())
647
+ + ":" + pad(date.getUTCMinutes())
648
+ + ":" + pad(date.getUTCSeconds())
649
+ + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
650
+ + "Z";
607
651
  }
608
652
  }
609
653
  function arrForEach(arr, callbackfn, thisArg) {
@@ -621,60 +665,76 @@
621
665
  }
622
666
  }
623
667
  function arrIndexOf(arr, searchElement, fromIndex) {
624
- var len = arr.length;
625
- var from = fromIndex || 0;
626
- try {
627
- for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
628
- if (lp in arr && arr[lp] === searchElement) {
629
- return lp;
668
+ if (arr) {
669
+ if (arr[strIndexOf]) {
670
+ return arr[strIndexOf](searchElement, fromIndex);
671
+ }
672
+ var len = arr.length;
673
+ var from = fromIndex || 0;
674
+ try {
675
+ for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
676
+ if (lp in arr && arr[lp] === searchElement) {
677
+ return lp;
678
+ }
630
679
  }
631
680
  }
632
- }
633
- catch (e) {
681
+ catch (e) {
682
+ }
634
683
  }
635
684
  return -1;
636
685
  }
637
686
  function arrMap(arr, callbackfn, thisArg) {
638
- var len = arr.length;
639
- var _this = thisArg || arr;
640
- var results = new Array(len);
641
- try {
642
- for (var lp = 0; lp < len; lp++) {
643
- if (lp in arr) {
644
- results[lp] = callbackfn.call(_this, arr[lp], arr);
687
+ var results;
688
+ if (arr) {
689
+ if (arr[strMap]) {
690
+ return arr[strMap](callbackfn, thisArg);
691
+ }
692
+ var len = arr.length;
693
+ var _this = thisArg || arr;
694
+ results = new Array(len);
695
+ try {
696
+ for (var lp = 0; lp < len; lp++) {
697
+ if (lp in arr) {
698
+ results[lp] = callbackfn.call(_this, arr[lp], arr);
699
+ }
645
700
  }
646
701
  }
647
- }
648
- catch (e) {
702
+ catch (e) {
703
+ }
649
704
  }
650
705
  return results;
651
706
  }
652
707
  function arrReduce(arr, callbackfn, initialValue) {
653
- var len = arr.length;
654
- var lp = 0;
655
708
  var value;
656
- if (arguments.length >= 3) {
657
- value = arguments[2];
658
- }
659
- else {
660
- while (lp < len && !(lp in arr)) {
661
- lp++;
709
+ if (arr) {
710
+ if (arr[strReduce]) {
711
+ return arr[strReduce](callbackfn, initialValue);
662
712
  }
663
- value = arr[lp++];
664
- }
665
- while (lp < len) {
666
- if (lp in arr) {
667
- value = callbackfn(value, arr[lp], lp, arr);
713
+ var len = arr.length;
714
+ var lp = 0;
715
+ if (arguments.length >= 3) {
716
+ value = arguments[2];
717
+ }
718
+ else {
719
+ while (lp < len && !(lp in arr)) {
720
+ lp++;
721
+ }
722
+ value = arr[lp++];
723
+ }
724
+ while (lp < len) {
725
+ if (lp in arr) {
726
+ value = callbackfn(value, arr[lp], lp, arr);
727
+ }
728
+ lp++;
668
729
  }
669
- lp++;
670
730
  }
671
731
  return value;
672
732
  }
673
733
  function strTrim(str) {
674
- if (typeof str !== "string") {
675
- return str;
734
+ if (str) {
735
+ str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str.replace ? str.replace(/^\s+|\s+$/g, "") : str);
676
736
  }
677
- return str.replace(/^\s+|\s+$/g, "");
737
+ return str;
678
738
  }
679
739
  var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
680
740
  var _objKeysDontEnums = [
@@ -691,6 +751,9 @@
691
751
  if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
692
752
  throwTypeError("objKeys called on non-object");
693
753
  }
754
+ if (!_objKeysHasDontEnumBug && obj[strKeys]) {
755
+ return obj[strKeys]();
756
+ }
694
757
  var result = [];
695
758
  for (var prop in obj) {
696
759
  if (obj && ObjHasOwnProperty.call(obj, prop)) {
@@ -728,24 +791,14 @@
728
791
  }
729
792
  return false;
730
793
  }
731
- function objFreeze(value) {
732
- if (_objFreeze) {
733
- value = _objFreeze(value);
734
- }
735
- return value;
736
- }
737
- function objSeal(value) {
738
- if (_objSeal) {
739
- value = _objSeal(value);
740
- }
794
+ function _doNothing(value) {
741
795
  return value;
742
796
  }
797
+ var objFreeze = _objFreeze || _doNothing;
798
+ var objSeal = _objSeal || _doNothing;
743
799
  function dateNow() {
744
800
  var dt = Date;
745
- if (dt.now) {
746
- return dt.now();
747
- }
748
- return new dt().getTime();
801
+ return dt.now ? dt.now() : new dt().getTime();
749
802
  }
750
803
  function getExceptionName(object) {
751
804
  if (isError(object)) {
@@ -2595,8 +2648,6 @@
2595
2648
  var cbNames = [
2596
2649
  "req", "rsp", "hkErr", "fnErr"
2597
2650
  ];
2598
- var str__Proto = "__proto__";
2599
- var strConstructor = "constructor";
2600
2651
  function _arrLoop(arr, fn) {
2601
2652
  if (arr) {
2602
2653
  for (var lp = 0; lp < arr.length; lp++) {
@@ -2676,19 +2727,6 @@
2676
2727
  return funcArgs.rslt;
2677
2728
  };
2678
2729
  }
2679
- var _objGetPrototypeOf = Object["getPrototypeOf"];
2680
- function _getObjProto(target) {
2681
- if (target) {
2682
- if (_objGetPrototypeOf) {
2683
- return _objGetPrototypeOf(target);
2684
- }
2685
- var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
2686
- if (newProto) {
2687
- return newProto;
2688
- }
2689
- }
2690
- return null;
2691
- }
2692
2730
  function _getOwner(target, name, checkPrototype) {
2693
2731
  var owner = null;
2694
2732
  if (target) {