mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-01-05 20:32:00 -05:00
Add Base.readAll(), to repeatetly apply Base.read() on all elements of an array and return the result in a new array.
This commit is contained in:
parent
e0edddd5f6
commit
516557808e
1 changed files with 13 additions and 5 deletions
18
src/paper.js
18
src/paper.js
|
@ -55,20 +55,28 @@ this.install = function(scope) {
|
|||
Base.inject({
|
||||
statics: true,
|
||||
|
||||
read: function(args, index, length) {
|
||||
var index = index || 0, length = length || args.length - index;
|
||||
var arg = args[index];
|
||||
read: function(args, start, length) {
|
||||
var start = start || 0,
|
||||
length = length || args.length - start;
|
||||
var arg = args[start];
|
||||
// If the class defines _readNull, return null when nothing was provided
|
||||
if (arg instanceof this
|
||||
|| this.prototype._readNull && arg == null && length <= 1)
|
||||
return arg;
|
||||
var obj = new this(this.dont);
|
||||
obj = obj.initialize.apply(obj, index > 0 || length < args.length
|
||||
? Array.prototype.slice.call(args, index, index + length)
|
||||
obj = obj.initialize.apply(obj, start > 0 || length < args.length
|
||||
? Array.prototype.slice.call(args, start, start + length)
|
||||
: args) || obj;
|
||||
return obj;
|
||||
},
|
||||
|
||||
readAll: function(args, start) {
|
||||
var res = [];
|
||||
for (var i = start || 0, l = args.length; i < l; i++)
|
||||
res.push(this.read(args, i, 1));
|
||||
return res;
|
||||
},
|
||||
|
||||
capitalize: function(str) {
|
||||
return str.replace(/\b[a-z]/g, function(match) {
|
||||
return match.toUpperCase();
|
||||
|
|
Loading…
Reference in a new issue