ende 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/aura/extensions/devise.js.coffee +0 -2
- data/lib/assets/javascripts/aura/extensions/platform.js.coffee +3 -0
- data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +17 -1
- data/lib/assets/javascripts/aura/extensions/routes.js.coffee +8 -7
- data/lib/assets/javascripts/aura/extensions/states.js.coffee +13 -1
- data/lib/assets/javascripts/aura/extensions/widget/eventable.js.coffee +4 -2
- data/lib/assets/javascripts/config/load_components.js.coffee +19 -12
- data/lib/assets/javascripts/ende.js.coffee +33 -12
- data/lib/ende/version.rb +1 -1
- data/vendor/assets/components/build.css +111 -0
- data/vendor/assets/components/ende_build.js +160 -41
- data/vendor/components/indefinido-indemma/build/development.js +3 -118
- data/vendor/components/indefinido-indemma/build/release.js +39 -4170
- data/vendor/components/indefinido-indemma/build/test.js +3 -118
- data/vendor/components/indefinido-indemma/lib/record/associable.js +10 -2
- data/vendor/components/indefinido-indemma/lib/record/restfulable.js +26 -15
- data/vendor/components/indefinido-indemma/lib/record.js +3 -1
- data/vendor/components/indefinido-indemma/src/lib/record/associable.coffee +15 -1
- data/vendor/components/indefinido-indemma/src/lib/record/restfulable.coffee +37 -12
- data/vendor/components/indefinido-indemma/src/lib/record.coffee +3 -1
- data/vendor/components/indefinido-observable/.gitignore +15 -0
- data/vendor/components/indefinido-observable/.ruby-gemset +1 -0
- data/vendor/components/indefinido-observable/.ruby-version +1 -0
- data/vendor/components/indefinido-observable/Gemfile +13 -0
- data/vendor/components/indefinido-observable/Guardfile +39 -0
- data/vendor/components/indefinido-observable/History.md +0 -0
- data/vendor/components/indefinido-observable/Readme.md +116 -0
- data/vendor/components/indefinido-observable/build/build.js +14798 -0
- data/vendor/components/indefinido-observable/build/development.js +339 -0
- data/vendor/components/indefinido-observable/build/release.js +14937 -0
- data/vendor/components/indefinido-observable/build/test.js +339 -0
- data/vendor/components/indefinido-observable/component.json +5 -1
- data/vendor/components/indefinido-observable/components/chaijs-chai/component.json +46 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/index.js +1 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/assertion.js +132 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/core/assertions.js +1270 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/error.js +60 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/assert.js +1060 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/expect.js +12 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/should.js +76 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +94 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addMethod.js +37 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addProperty.js +40 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/eql.js +124 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/flag.js +32 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getActual.js +19 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +25 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getMessage.js +49 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getName.js +20 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getPathValue.js +102 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getProperties.js +35 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/index.js +108 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/inspect.js +316 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/objDisplay.js +48 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +51 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +54 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/test.js +26 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/transferFlags.js +44 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/type.js +45 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai.js +79 -0
- data/vendor/components/indefinido-observable/components/component-jquery/component.json +14 -0
- data/vendor/components/indefinido-observable/components/component-jquery/index.js +9601 -0
- data/vendor/components/indefinido-observable/components/kapit-observe-shim/component.json +11 -0
- data/vendor/components/indefinido-observable/components/kapit-observe-utils/component.json +13 -0
- data/vendor/components/indefinido-observable/karma.conf.js +92 -0
- data/vendor/components/indefinido-observable/lib/adapters/rivets.js +3 -1
- data/vendor/components/indefinido-observable/lib/observable.js +47 -13
- data/vendor/components/indefinido-observable/spec/legacy/observable_spec.js +126 -0
- data/vendor/components/indefinido-observable/spec/observable_spec.js +92 -0
- data/vendor/components/indefinido-observable/spec/spec_helper.js +8 -0
- data/vendor/components/indefinido-observable/spec/vendor/accessors_spec.js +63 -0
- data/vendor/components/indefinido-observable/src/lib/adapters/rivets.js.coffee +15 -0
- data/vendor/components/indefinido-observable/src/spec/legacy/observable_spec.coffee +132 -0
- data/vendor/components/indefinido-observable/src/spec/observable_spec.coffee +85 -0
- data/vendor/components/indefinido-observable/src/spec/spec_helper.coffee +5 -0
- data/vendor/components/indefinido-observable/src/spec/vendor/accessors_spec.coffee +59 -0
- data/vendor/components/indefinido-observable/vendor/shims/accessors.js +71 -9
- data/vendor/components/indefinido-observable/vendor/spec/boot.js +104 -0
- data/vendor/components/indefinido-observable/vendor/spec/jasmine.js +2054 -0
- metadata +58 -2
@@ -18458,7 +18458,9 @@ this.model = (function() {
|
|
18458
18458
|
data.route || (data.route = this.route);
|
18459
18459
|
data.nested_attributes = this.nested_attributes || [];
|
18460
18460
|
after_initialize = (data.after_initialize || []).concat(this.record.after_initialize);
|
18461
|
-
creation = extend(Object.create(data
|
18461
|
+
creation = extend(Object.create(data, {
|
18462
|
+
_shim: {}
|
18463
|
+
}), this.record, creation, {
|
18462
18464
|
after_initialize: after_initialize
|
18463
18465
|
});
|
18464
18466
|
_ref = this.record.before_initialize;
|
@@ -18653,11 +18655,15 @@ subscribers = {
|
|
18653
18655
|
modifiers = {
|
18654
18656
|
belongs_to: {
|
18655
18657
|
associated_loader: function() {
|
18656
|
-
var association_name,
|
18658
|
+
var association_name, definition, temporary_observed,
|
18657
18659
|
_this = this;
|
18658
18660
|
|
18659
18661
|
association_name = this.resource.toString();
|
18660
|
-
|
18662
|
+
if (this.owner.observed == null) {
|
18663
|
+
this.owner.observed = {};
|
18664
|
+
temporary_observed = true;
|
18665
|
+
}
|
18666
|
+
definition = Object.defineProperty(this.owner, association_name, {
|
18661
18667
|
set: function(associated) {
|
18662
18668
|
return this.observed[association_name] = associated;
|
18663
18669
|
},
|
@@ -18690,6 +18696,10 @@ modifiers = {
|
|
18690
18696
|
configurable: true,
|
18691
18697
|
enumerable: true
|
18692
18698
|
});
|
18699
|
+
if (temporary_observed) {
|
18700
|
+
delete this.owner.observed;
|
18701
|
+
}
|
18702
|
+
return definition;
|
18693
18703
|
}
|
18694
18704
|
}
|
18695
18705
|
};
|
@@ -19511,14 +19521,26 @@ restful = {
|
|
19511
19521
|
return this.saving = false;
|
19512
19522
|
},
|
19513
19523
|
toString: function() {
|
19514
|
-
var serialized;
|
19524
|
+
var e, name, property, serialized;
|
19515
19525
|
|
19516
19526
|
serialized = {};
|
19517
19527
|
serialized[this.resource] = this.json();
|
19518
|
-
|
19528
|
+
try {
|
19529
|
+
return JSON.stringify(serialized);
|
19530
|
+
} catch (_error) {
|
19531
|
+
e = _error;
|
19532
|
+
console.warn("restfulable.toString: Failed to stringify record: " + e.message + ". retrying...");
|
19533
|
+
for (name in serialized) {
|
19534
|
+
property = serialized[name];
|
19535
|
+
if (typeof property === 'object') {
|
19536
|
+
delete serialized[name];
|
19537
|
+
}
|
19538
|
+
}
|
19539
|
+
return JSON.stringify(serialized);
|
19540
|
+
}
|
19519
19541
|
},
|
19520
19542
|
json: function(methods) {
|
19521
|
-
var
|
19543
|
+
var definition, json, name, nested, value;
|
19522
19544
|
|
19523
19545
|
if (methods == null) {
|
19524
19546
|
methods = {};
|
@@ -19526,10 +19548,11 @@ restful = {
|
|
19526
19548
|
json = {};
|
19527
19549
|
definition = model[this.resource.toString()];
|
19528
19550
|
for (name in this) {
|
19529
|
-
if (
|
19551
|
+
if (observable.ignores.indexOf(name) !== -1) {
|
19530
19552
|
continue;
|
19531
19553
|
}
|
19532
|
-
|
19554
|
+
nested = this.nested_attributes.indexOf(name) !== -1;
|
19555
|
+
if (!nested && (definition.belongs_to.indexOf(name) !== -1 || definition.has_one.indexOf(name) !== -1)) {
|
19533
19556
|
continue;
|
19534
19557
|
}
|
19535
19558
|
value = this[name];
|
@@ -19540,22 +19563,20 @@ restful = {
|
|
19540
19563
|
continue;
|
19541
19564
|
}
|
19542
19565
|
if (type(value) === 'object') {
|
19543
|
-
if (
|
19544
|
-
json[name] = value.
|
19545
|
-
} else {
|
19546
|
-
|
19547
|
-
|
19548
|
-
|
19549
|
-
|
19550
|
-
json["" + name + "_attributes"] = value.json(methods[name]);
|
19551
|
-
}
|
19566
|
+
if (nested) {
|
19567
|
+
json["" + name + "_attributes"] = value.json(methods[name]);
|
19568
|
+
} else if ((value.toJSON != null) || (value.json != null)) {
|
19569
|
+
if (value.json != null) {
|
19570
|
+
json[name] = value.json(methods[name]);
|
19571
|
+
} else {
|
19572
|
+
json[name] = value.toJSON(methods[name]);
|
19552
19573
|
}
|
19553
19574
|
}
|
19554
19575
|
} else {
|
19555
19576
|
json[name] = value;
|
19556
19577
|
}
|
19557
19578
|
}
|
19558
|
-
observable.unobserve(json);
|
19579
|
+
json = observable.unobserve(json);
|
19559
19580
|
delete json.dirty;
|
19560
19581
|
delete json.resource;
|
19561
19582
|
delete json.route;
|
@@ -24801,11 +24822,12 @@ if (!Array.prototype.indexOf) require('../vendor/shims/array.indexOf');
|
|
24801
24822
|
|
24802
24823
|
// Object.defineProperty (for ie5+)
|
24803
24824
|
if (typeof require != 'undefined') {
|
24804
|
-
require('../vendor/shims/accessors.js');
|
24805
|
-
|
24806
24825
|
// __lookup*__ and __define*__ for browsers with defineProperty support
|
24807
24826
|
// TODO Figure out why gives an infinity loop
|
24808
24827
|
require('../vendor/shims/accessors-legacy.js');
|
24828
|
+
|
24829
|
+
// Creates Object.defineProperty
|
24830
|
+
require('../vendor/shims/accessors.js');
|
24809
24831
|
}
|
24810
24832
|
|
24811
24833
|
// Require Dependencies
|
@@ -24882,9 +24904,10 @@ mixin = {
|
|
24882
24904
|
if (requiresDomElement) {
|
24883
24905
|
|
24884
24906
|
observable = function (object) {
|
24907
|
+
var fix;
|
24885
24908
|
|
24886
24909
|
// observable() or observable(object)
|
24887
|
-
|
24910
|
+
if (this.document && this.location) {
|
24888
24911
|
if (!object) {
|
24889
24912
|
object = {};
|
24890
24913
|
}
|
@@ -24899,15 +24922,28 @@ if (requiresDomElement) {
|
|
24899
24922
|
}
|
24900
24923
|
}
|
24901
24924
|
|
24925
|
+
// TODO better documentation
|
24902
24926
|
if (!jQuery.isReady) throw new Error('observable.call: For compatibility reasons, observable can only be called when dom is loaded.');
|
24903
|
-
var fix = document.createElement('fix');
|
24904
24927
|
|
24905
|
-
if
|
24906
|
-
|
24928
|
+
// Create dom element if object isn't one
|
24929
|
+
if (!(typeof object.nodeName === 'string')) {
|
24930
|
+
fix = document.createElement('fix');
|
24907
24931
|
|
24908
|
-
|
24932
|
+
if (!jQuery.isReady) $(function () {document.body.appendChild(fix);});
|
24933
|
+
else document.body.appendChild(fix);
|
24934
|
+
|
24935
|
+
// Replace object with dom node
|
24936
|
+
object = fix;
|
24937
|
+
}
|
24909
24938
|
|
24910
|
-
|
24939
|
+
// Observe element if it is not observed
|
24940
|
+
// TODO remove jquery dependency
|
24941
|
+
if (!object.observed) {
|
24942
|
+
generator.observable_for(object);
|
24943
|
+
object = $.extend(object, mixin);
|
24944
|
+
}
|
24945
|
+
|
24946
|
+
return object;
|
24911
24947
|
};
|
24912
24948
|
|
24913
24949
|
var ignores = document.createElement('fix'), fix_ignores = [], property;
|
@@ -24945,9 +24981,8 @@ if (requiresDomElement) {
|
|
24945
24981
|
observable.ignores = [];
|
24946
24982
|
}
|
24947
24983
|
|
24948
|
-
|
24949
24984
|
observable.unobserve = function (object) {
|
24950
|
-
var name, value, subname;
|
24985
|
+
var name, value, subname, unobserved = {};
|
24951
24986
|
|
24952
24987
|
// TODO remove root setter and root getter and callbacks from
|
24953
24988
|
// callback thread
|
@@ -24960,6 +24995,7 @@ observable.unobserve = function (object) {
|
|
24960
24995
|
// Remove array properties overrides
|
24961
24996
|
for (name in object) {
|
24962
24997
|
value = object[name];
|
24998
|
+
|
24963
24999
|
if ($.type(value) == 'array') {
|
24964
25000
|
delete value.thread;
|
24965
25001
|
delete value.object;
|
@@ -24971,8 +25007,16 @@ observable.unobserve = function (object) {
|
|
24971
25007
|
}
|
24972
25008
|
}
|
24973
25009
|
|
25010
|
+
for (name in object) {
|
25011
|
+
// TODO put Array.indexOf as a dependency
|
25012
|
+
if (observable.ignores && observable.ignores.indexOf(name) == -1) {
|
25013
|
+
unobserved[name] = object[name];
|
25014
|
+
}
|
25015
|
+
}
|
25016
|
+
|
24974
25017
|
delete object.observed;
|
24975
|
-
|
25018
|
+
|
25019
|
+
return unobserved;
|
24976
25020
|
};
|
24977
25021
|
|
24978
25022
|
check = function (keypath, value) {
|
@@ -24984,7 +25028,8 @@ check = function (keypath, value) {
|
|
24984
25028
|
};
|
24985
25029
|
|
24986
25030
|
generator = {
|
24987
|
-
|
25031
|
+
// TODO pass object as parameter
|
25032
|
+
observe: function (keypath, callback) {
|
24988
25033
|
return Object.defineProperty(this, keypath, {
|
24989
25034
|
get: generator.getter.call(this, keypath),
|
24990
25035
|
set: generator.setter.call(this, keypath, callback),
|
@@ -24993,11 +25038,21 @@ generator = {
|
|
24993
25038
|
},
|
24994
25039
|
|
24995
25040
|
observable_for: function (object) {
|
24996
|
-
|
25041
|
+
Object.defineProperty(object, 'observed', {
|
24997
25042
|
configurable: true,
|
24998
25043
|
enumerable: false,
|
24999
25044
|
value: {}
|
25000
25045
|
});
|
25046
|
+
|
25047
|
+
// TODO call the current object.toJSON after this method
|
25048
|
+
return Object.defineProperty(object, 'toJSON', {
|
25049
|
+
enumerable: false,
|
25050
|
+
value: function () {
|
25051
|
+
// TODO remove underscore dependency
|
25052
|
+
return observable.unobserve(_.omit(this, observable.ignores));
|
25053
|
+
// old_to_json()
|
25054
|
+
}
|
25055
|
+
});
|
25001
25056
|
},
|
25002
25057
|
|
25003
25058
|
// TODO improve readability
|
@@ -25146,7 +25201,9 @@ exports.adapter = {
|
|
25146
25201
|
if (record == null) {
|
25147
25202
|
throw new TypeError('observable.adapters.rivets.subscribe: No record provided for subscription');
|
25148
25203
|
}
|
25149
|
-
|
25204
|
+
if (attribute_path) {
|
25205
|
+
return record.subscribe(attribute_path, callback);
|
25206
|
+
}
|
25150
25207
|
},
|
25151
25208
|
unsubscribe: function(record, attribute_path, callback) {
|
25152
25209
|
if (record == null) {
|
@@ -25242,7 +25299,10 @@ require.register("indefinido-observable/vendor/shims/accessors.js", function(exp
|
|
25242
25299
|
changed_value = object[property];
|
25243
25300
|
descriptor.set.call(object, changed_value);
|
25244
25301
|
|
25245
|
-
// Restore get function if
|
25302
|
+
// Restore get function if:
|
25303
|
+
// it was mentioned on definition
|
25304
|
+
// there's no falsey value, in that case we just need to return falsey value
|
25305
|
+
// current toString is not the getter, to prevent further unecessary redefinitions
|
25246
25306
|
if (descriptor.get && descriptor.value && descriptor.value.toString != descriptor.bound_getter) {
|
25247
25307
|
// TODO if (descriptor.get + '' === 'undefined') descriptor.get = ''; // Handle undefined getter
|
25248
25308
|
descriptor.value.toString = descriptor.bound_getter
|
@@ -25260,33 +25320,37 @@ require.register("indefinido-observable/vendor/shims/accessors.js", function(exp
|
|
25260
25320
|
}
|
25261
25321
|
|
25262
25322
|
return setter;
|
25263
|
-
}
|
25323
|
+
};
|
25264
25324
|
|
25265
25325
|
// Shim define property with apropriated fail cases exceptions
|
25266
25326
|
Object.defineProperty = function (obj, prop, descriptor) {
|
25267
25327
|
var fix;
|
25268
25328
|
|
25269
|
-
if (!
|
25329
|
+
if (!prop)
|
25270
25330
|
|
25271
|
-
if (
|
25331
|
+
if (descriptor.set) {
|
25332
|
+
if (!obj.attachEvent) throw new TypeError('Object.defineProperty: First parameter must be a dom element. When descriptor has \'set\' property.');
|
25272
25333
|
|
25273
|
-
|
25334
|
+
if (!fix && !inDocument(obj)) throw new TypeError('Object.defineProperty: Dom element must be attached in document.');
|
25335
|
+
}
|
25274
25336
|
|
25275
|
-
if (
|
25337
|
+
if (!descriptor) throw new TypeError('Object.defineProperty (object, property, descriptor): Descriptor must be an object, was \'' + descriptor + '\'.');
|
25276
25338
|
|
25277
25339
|
// Store current value in descriptor
|
25340
|
+
// TODO only try to set descriptor value if it was passed as parameter
|
25278
25341
|
descriptor.value = descriptor.value || (descriptor.get && descriptor.get.call(obj)) || obj[prop];
|
25279
25342
|
|
25280
|
-
if (descriptor.
|
25343
|
+
if (descriptor.set) {
|
25281
25344
|
// Detach old listeners if any
|
25282
25345
|
detach = true;
|
25283
25346
|
obj[prop] = 'detaching';
|
25284
25347
|
detach = false;
|
25285
25348
|
|
25286
25349
|
if (descriptor.get) {
|
25350
|
+
// TODO remove jquery dependency
|
25287
25351
|
descriptor.bound_getter = $.extend($.proxy(descriptor.get, obj), descriptor.get);
|
25288
25352
|
|
25289
|
-
//
|
25353
|
+
// Why? we only bind the getter when we have a non falsey value
|
25290
25354
|
if (descriptor.value) descriptor.value.toString = descriptor.bound_getter;
|
25291
25355
|
|
25292
25356
|
// Although its not allowed for convention to have getters
|
@@ -25297,6 +25361,16 @@ require.register("indefinido-observable/vendor/shims/accessors.js", function(exp
|
|
25297
25361
|
|
25298
25362
|
(fix || obj).attachEvent("onpropertychange", generate_setter(obj, prop, descriptor));
|
25299
25363
|
|
25364
|
+
} else if (descriptor.get) {
|
25365
|
+
descriptor.bound_getter = $.extend($.proxy(descriptor.get, obj), descriptor.get);
|
25366
|
+
|
25367
|
+
// Why? we only bind the getter when we have a non falsey value
|
25368
|
+
if (descriptor.value) descriptor.value.toString = descriptor.bound_getter;
|
25369
|
+
|
25370
|
+
// Although its not allowed for convention to have getters
|
25371
|
+
// and setters with the descriptor value, here we just reuse
|
25372
|
+
// the descriptor stored value
|
25373
|
+
obj[prop] = descriptor.value;
|
25300
25374
|
} else {
|
25301
25375
|
obj[prop] = descriptor.value;
|
25302
25376
|
}
|
@@ -25318,7 +25392,52 @@ require.register("indefinido-observable/vendor/shims/accessors.js", function(exp
|
|
25318
25392
|
}
|
25319
25393
|
}
|
25320
25394
|
};
|
25321
|
-
|
25395
|
+
|
25396
|
+
ObjectCreate = Object.create;
|
25397
|
+
baseElement = document.createElement('fix');
|
25398
|
+
|
25399
|
+
Object.create = function (prototype, properties) {
|
25400
|
+
var complexDescriptor, fix, descriptor, name;
|
25401
|
+
|
25402
|
+
for (name in properties) {
|
25403
|
+
descriptor = properties[name]
|
25404
|
+
if (descriptor instanceof Object) {
|
25405
|
+
complexDescriptor = !!(descriptor.get || descriptor.set)
|
25406
|
+
|
25407
|
+
if (complexDescriptor) {
|
25408
|
+
break;
|
25409
|
+
}
|
25410
|
+
}
|
25411
|
+
}
|
25412
|
+
|
25413
|
+
if (complexDescriptor || prototype.nodeName === 'fix' || properties && properties._shim) {
|
25414
|
+
properties && delete properties._shim;
|
25415
|
+
|
25416
|
+
if (typeof object != 'function') {
|
25417
|
+
fix = document.createElement('fix');
|
25418
|
+
document.appendChild(fix);
|
25419
|
+
|
25420
|
+
// Copy over prototype properties
|
25421
|
+
for (name in prototype) {
|
25422
|
+
try {
|
25423
|
+
if (name in baseElement) continue;
|
25424
|
+
fix[name] = prototype[name];
|
25425
|
+
} catch (e) {
|
25426
|
+
console.warn("Object.create: Invalid shimmed property: " + name + ", with error " + e);
|
25427
|
+
}
|
25428
|
+
}
|
25429
|
+
|
25430
|
+
Object.defineProperties(fix, properties);
|
25431
|
+
} else {
|
25432
|
+
throw new TypeError('Functions with complex descriptors not implemented yet');
|
25433
|
+
}
|
25434
|
+
return fix;
|
25435
|
+
} else {
|
25436
|
+
return ObjectCreate(prototype, properties)
|
25437
|
+
}
|
25438
|
+
}
|
25439
|
+
};
|
25440
|
+
|
25322
25441
|
|
25323
25442
|
/* TODO Use define Property, and only define if
|
25324
25443
|
non-enumerable properties are allowed
|