保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';
 
var implementation = require('./implementation');
 
var supportsDescriptors = require('define-properties').supportsDescriptors;
var $gOPD = Object.getOwnPropertyDescriptor;
 
module.exports = function getPolyfill() {
    if (supportsDescriptors && (/a/mig).flags === 'gim') {
        var descriptor = $gOPD(RegExp.prototype, 'flags');
        if (
            descriptor
            && typeof descriptor.get === 'function'
            && typeof RegExp.prototype.dotAll === 'boolean'
            && typeof RegExp.prototype.hasIndices === 'boolean'
        ) {
            /* eslint getter-return: 0 */
            var calls = '';
            var o = {};
            Object.defineProperty(o, 'hasIndices', {
                get: function () {
                    calls += 'd';
                }
            });
            Object.defineProperty(o, 'sticky', {
                get: function () {
                    calls += 'y';
                }
            });
            if (calls === 'dy') {
                return descriptor.get;
            }
        }
    }
    return implementation;
};