UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

185 lines (133 loc) 4.93 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: seqtype.js</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Source: seqtype.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>/** * @constructor * Sk.builtin.seqtype * * @description * Abstract class for Python sequence types. * * @extends {Sk.builtin.object} * * @return {undefined} Cannot instantiate a Sk.builtin.seqtype object */ Sk.builtin.seqtype = function () { throw new Sk.builtin.ExternalError("Cannot instantiate abstract Sk.builtin.seqtype class"); }; Sk.abstr.setUpInheritance("SequenceType", Sk.builtin.seqtype, Sk.builtin.object); Sk.builtin.seqtype.sk$abstract = true; /** * Python wrapper of `__len__` method. * * @name __len__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__len__"] = new Sk.builtin.func(function (self) { Sk.builtin.pyCheckArgs("__len__", arguments, 0, 0, false, true); return new Sk.builtin.int_(self.sq$length()); }); /** * Python wrapper of `__iter__` method. * * @name __iter__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__iter__"] = new Sk.builtin.func(function (self) { Sk.builtin.pyCheckArgs("__iter__", arguments, 0, 0, false, true); return self.tp$iter(); }); /** * Python wrapper of `__contains__` method. * * @name __contains__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__contains__"] = new Sk.builtin.func(function (self, item) { Sk.builtin.pyCheckArgs("__contains__", arguments, 1, 1, false, true); if (self.sq$contains(item)) { return Sk.builtin.bool.true$; } else { return Sk.builtin.bool.false$; } }); /** * Python wrapper of `__getitem__` method. * * @name __getitem__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__getitem__"] = new Sk.builtin.func(function (self, key) { Sk.builtin.pyCheckArgs("__getitem__", arguments, 1, 1, false, true); return self.mp$subscript(key); }); /** * Python wrapper of `__add__` method. * * @name __add__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__add__"] = new Sk.builtin.func(function (self, other) { Sk.builtin.pyCheckArgs("__add__", arguments, 1, 1, false, true); return self.sq$concat(other); }); /** * Python wrapper of `__mul__` method. * * @name __mul__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__mul__"] = new Sk.builtin.func(function (self, n) { Sk.builtin.pyCheckArgs("__mul__", arguments, 1, 1, false, true); if (!Sk.misceval.isIndex(n)) { throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '" + Sk.abstr.typeName(n) + "'"); } return self.sq$repeat(n); }); /** * Python wrapper of `__rmul__` method. * * @name __rmul__ * @instance * @memberOf Sk.builtin.seqtype.prototype */ Sk.builtin.seqtype.prototype["__rmul__"] = new Sk.builtin.func(function (self, n) { Sk.builtin.pyCheckArgs("__rmul__", arguments, 1, 1, false, true); return self.sq$repeat(n); }); </code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Sk.abstr.iter-seqIter.html">seqIter</a></li><li><a href="Sk.builtin.bool.html">bool</a></li><li><a href="Sk.builtin.float_.html">float_</a></li><li><a href="Sk.builtin.func.html">func</a></li><li><a href="Sk.builtin.int_.html">int_</a></li><li><a href="Sk.builtin.none.html">none</a></li><li><a href="Sk.builtin.NotImplemented.html">NotImplemented</a></li><li><a href="Sk.builtin.numtype.html">numtype</a></li><li><a href="Sk.builtin.object.html">object</a></li><li><a href="Sk.builtin.seqtype.html">seqtype</a></li><li><a href="Sk.misceval.Suspension.html">Suspension</a></li></ul><h3>Namespaces</h3><ul><li><a href="Sk.html">Sk</a></li><li><a href="Sk.abstr.html">abstr</a></li><li><a href="Sk.builtin.html">builtin</a></li><li><a href="Sk.ffi.html">ffi</a></li><li><a href="Sk.misceval.html">misceval</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0</a> on Thu Aug 13 2015 08:14:27 GMT-0500 (CDT) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>