文件操作 - ToPropertyDescriptor.js
返回文件管理
返回主菜单
删除本文件
文件: /var/www/OLD/node_modules/es-abstract/2016/ToPropertyDescriptor.js
编辑文件内容
'use strict'; var hasOwn = require('hasown'); var $TypeError = require('es-errors/type'); var IsCallable = require('./IsCallable'); var ToBoolean = require('./ToBoolean'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/5.1/#sec-8.10.5 module.exports = function ToPropertyDescriptor(Obj) { if (!isObject(Obj)) { throw new $TypeError('ToPropertyDescriptor requires an object'); } var desc = {}; if (hasOwn(Obj, 'enumerable')) { desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); } if (hasOwn(Obj, 'configurable')) { desc['[[Configurable]]'] = ToBoolean(Obj.configurable); } if (hasOwn(Obj, 'value')) { desc['[[Value]]'] = Obj.value; } if (hasOwn(Obj, 'writable')) { desc['[[Writable]]'] = ToBoolean(Obj.writable); } if (hasOwn(Obj, 'get')) { var getter = Obj.get; if (typeof getter !== 'undefined' && !IsCallable(getter)) { throw new $TypeError('getter must be a function'); } desc['[[Get]]'] = getter; } if (hasOwn(Obj, 'set')) { var setter = Obj.set; if (typeof setter !== 'undefined' && !IsCallable(setter)) { throw new $TypeError('setter must be a function'); } desc['[[Set]]'] = setter; } if ((hasOwn(desc, '[[Get]]') || hasOwn(desc, '[[Set]]')) && (hasOwn(desc, '[[Value]]') || hasOwn(desc, '[[Writable]]'))) { throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); } return desc; };
修改文件时间
将文件时间修改为当前时间的前一年
删除文件