mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 13:09:32 +02:00
pas2js: rtl.js: set functions: remove hasOwnProperty - other properties are not enumerable, added rtl.checkMethodCall
git-svn-id: trunk@37999 -
This commit is contained in:
parent
5bccc69f6a
commit
b54ca867b1
47
utils/pas2js/dist/rtl.js
vendored
47
utils/pas2js/dist/rtl.js
vendored
@ -340,14 +340,31 @@ var rtl = {
|
||||
|
||||
EInvalidCast: null,
|
||||
|
||||
raiseEInvalidCast: function(){
|
||||
if (rtl.EInvalidCast){
|
||||
if (rtl.EInvalidCast.Create){
|
||||
throw rtl.EInvalidCast.$create("Create");
|
||||
} else {
|
||||
throw rtl.EInvalidCast.$create("create");
|
||||
}
|
||||
} else {
|
||||
throw "invalid type cast";
|
||||
}
|
||||
},
|
||||
|
||||
as: function(instance,type){
|
||||
if(rtl.is(instance,type)) return instance;
|
||||
throw rtl.EInvalidCast.$create("create");
|
||||
if((instance === null) || rtl.is(instance,type)) return instance;
|
||||
rtl.raiseEInvalidCast();
|
||||
},
|
||||
|
||||
asExt: function(instance,type){
|
||||
if(rtl.isExt(instance,type)) return instance;
|
||||
throw rtl.EInvalidCast.$create("create");
|
||||
if((instance === null) || rtl.isExt(instance,type)) return instance;
|
||||
rtl.raiseEInvalidCast();
|
||||
},
|
||||
|
||||
checkMethodCall: function(obj,type){
|
||||
if (rtl.isObject(obj) && rtl.is(obj,type)) return;
|
||||
rtl.raiseEInvalidCast();
|
||||
},
|
||||
|
||||
length: function(arr){
|
||||
@ -459,7 +476,7 @@ var rtl = {
|
||||
|
||||
cloneSet: function(s){
|
||||
var r = {};
|
||||
for (var key in s) if (s.hasOwnProperty(key)) r[key]=true;
|
||||
for (var key in s) r[key]=true;
|
||||
return r;
|
||||
},
|
||||
|
||||
@ -482,37 +499,37 @@ var rtl = {
|
||||
|
||||
diffSet: function(s,t){
|
||||
var r = {};
|
||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key]) r[key]=true;
|
||||
for (var key in s) if (!t[key]) r[key]=true;
|
||||
delete r.$shared;
|
||||
return r;
|
||||
},
|
||||
|
||||
unionSet: function(s,t){
|
||||
var r = {};
|
||||
for (var key in s) if (s.hasOwnProperty(key)) r[key]=true;
|
||||
for (var key in t) if (t.hasOwnProperty(key)) r[key]=true;
|
||||
for (var key in s) r[key]=true;
|
||||
for (var key in t) r[key]=true;
|
||||
delete r.$shared;
|
||||
return r;
|
||||
},
|
||||
|
||||
intersectSet: function(s,t){
|
||||
var r = {};
|
||||
for (var key in s) if (s.hasOwnProperty(key) && t[key]) r[key]=true;
|
||||
for (var key in s) if (t[key]) r[key]=true;
|
||||
delete r.$shared;
|
||||
return r;
|
||||
},
|
||||
|
||||
symDiffSet: function(s,t){
|
||||
var r = {};
|
||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key]) r[key]=true;
|
||||
for (var key in t) if (t.hasOwnProperty(key) && !s[key]) r[key]=true;
|
||||
for (var key in s) if (!t[key]) r[key]=true;
|
||||
for (var key in t) if (!s[key]) r[key]=true;
|
||||
delete r.$shared;
|
||||
return r;
|
||||
},
|
||||
|
||||
eqSet: function(s,t){
|
||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key] && (key!='$shared')) return false;
|
||||
for (var key in t) if (t.hasOwnProperty(key) && !s[key] && (key!='$shared')) return false;
|
||||
for (var key in s) if (!t[key] && (key!='$shared')) return false;
|
||||
for (var key in t) if (!s[key] && (key!='$shared')) return false;
|
||||
return true;
|
||||
},
|
||||
|
||||
@ -521,12 +538,12 @@ var rtl = {
|
||||
},
|
||||
|
||||
leSet: function(s,t){
|
||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key] && (key!='$shared')) return false;
|
||||
for (var key in s) if (!t[key] && (key!='$shared')) return false;
|
||||
return true;
|
||||
},
|
||||
|
||||
geSet: function(s,t){
|
||||
for (var key in t) if (t.hasOwnProperty(key) && !s[key] && (key!='$shared')) return false;
|
||||
for (var key in t) if (!s[key] && (key!='$shared')) return false;
|
||||
return true;
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user