internal static IDynamic DefineProperty(IEnvironment environment, IArgs args) { if (args[0].TypeCode != LanguageTypeCode.Object) { throw environment.CreateTypeError(""); } var obj = args[0].ConvertToObject(); var name = args[1].ConvertToString().BaseValue; if (args.Count < 2) { var desc = environment.CreateGenericDescriptor(null, null); obj.DefineOwnProperty(name, desc, true); } else { var attributes = args[2] as IObject; if (attributes == null) { throw environment.CreateTypeError(""); } var desc = environment.ToPropertyDescriptor(attributes); obj.DefineOwnProperty(name, desc, true); } return(obj); }
internal static IDynamic DefineProperty(IEnvironment environment, IArgs args) { if (args[0].TypeCode != LanguageTypeCode.Object) { throw environment.CreateTypeError(""); } var obj = args[0].ConvertToObject(); var name = args[1].ConvertToString().BaseValue; if (args.Count < 2) { var desc = environment.CreateGenericDescriptor(null, null); obj.DefineOwnProperty(name, desc, true); } else { var attributes = args[2] as IObject; if (attributes == null) { throw environment.CreateTypeError(""); } var desc = environment.ToPropertyDescriptor(attributes); obj.DefineOwnProperty(name, desc, true); } return obj; }