Artifact
609aea3e1f372ba926611b811aa53e7be84bf4a8b302dd1c7fe0c8b166e70847:
0000: 69 6d 70 6f 72 74 20 67 65 74 50 72 6f 70 44 65 import getPropDe
0010: 73 63 72 69 70 74 6f 72 20 66 72 6f 6d 20 27 2e scriptor from '.
0020: 2e 2f 6d 69 73 63 2f 67 65 74 2d 70 72 6f 70 2d ./misc/get-prop-
0030: 64 65 73 63 72 69 70 74 6f 72 27 0a 69 6d 70 6f descriptor'.impo
0040: 72 74 20 69 73 55 6e 64 65 66 69 6e 65 64 20 66 rt isUndefined f
0050: 72 6f 6d 20 27 2e 2f 69 73 2d 75 6e 64 65 66 69 rom './is-undefi
0060: 6e 65 64 27 0a 2f 2a 2a 0a 20 2a 20 43 68 65 63 ned'./**. * Chec
0070: 6b 20 77 68 65 74 68 65 72 20 6f 62 6a 65 63 74 k whether object
0080: 27 73 20 70 72 6f 70 65 72 74 79 20 63 6f 75 6c 's property coul
0090: 64 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 0a d be overridden.
00a0: 20 2a 20 40 70 61 72 61 6d 20 20 20 7b 20 4f 62 * @param { Ob
00b0: 6a 65 63 74 20 7d 20 20 6f 62 6a 20 2d 20 73 6f ject } obj - so
00c0: 75 72 63 65 20 6f 62 6a 65 63 74 0a 20 2a 20 40 urce object. * @
00d0: 70 61 72 61 6d 20 20 20 7b 20 53 74 72 69 6e 67 param { String
00e0: 20 7d 20 20 6b 65 79 20 2d 20 6f 62 6a 65 63 74 } key - object
00f0: 20 70 72 6f 70 65 72 74 79 0a 20 2a 20 40 72 65 property. * @re
0100: 74 75 72 6e 73 20 7b 20 42 6f 6f 6c 65 61 6e 20 turns { Boolean
0110: 7d 20 74 72 75 65 20 69 66 20 77 72 69 74 61 62 } true if writab
0120: 6c 65 0a 20 2a 2f 0a 65 78 70 6f 72 74 20 64 65 le. */.export de
0130: 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 69 fault function i
0140: 73 57 72 69 74 61 62 6c 65 28 6f 62 6a 2c 20 6b sWritable(obj, k
0150: 65 79 29 20 7b 0a 20 20 63 6f 6e 73 74 20 64 65 ey) {. const de
0160: 73 63 72 69 70 74 6f 72 20 3d 20 67 65 74 50 72 scriptor = getPr
0170: 6f 70 44 65 73 63 72 69 70 74 6f 72 28 6f 62 6a opDescriptor(obj
0180: 2c 20 6b 65 79 29 0a 20 20 72 65 74 75 72 6e 20 , key). return
0190: 69 73 55 6e 64 65 66 69 6e 65 64 28 6f 62 6a 5b isUndefined(obj[
01a0: 6b 65 79 5d 29 20 7c 7c 20 64 65 73 63 72 69 70 key]) || descrip
01b0: 74 6f 72 20 26 26 20 64 65 73 63 72 69 70 74 6f tor && descripto
01c0: 72 2e 77 72 69 74 61 62 6c 65 0a 7d 0a r.writable.}.