PageSourceSearch

https://www.playsmart.ca/wp-content/themes/playsmart/mini-games/rng/js/class.js

js playsmart.ca collected 2026-09-26 01:34:46 UTC 2,036 bytes, 64 lines download raw bytes

vendor: 2,036 bytes, lines 1-64
1/* Simple JavaScript Inheritance
2 * By John Resig http://ejohn.org/
3 * MIT Licensed.
4 */
5// Inspired by base2 and Prototype
6;(function(){
7  var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
8 
9  // The base Class implementation (does nothing)
10  this.Class = function(){};
11 
12  // Create a new Class that inherits from this class
13  Class.extend = function(prop) {
14    var _super = this.prototype;
15   
16    // Instantiate a base class (but only create the instance,
17    // don't run the init constructor)
18    initializing = true;
19    var prototype = new this();
20    initializing = false;
21   
22    // Copy the properties over onto the new prototype
23    for (var name in prop) {
24      // Check if we're overwriting an existing function
25      prototype[name] = typeof prop[name] == "function" &&
26        typeof _super[name] == "function" && fnTest.test(prop[name]) ?
27        (function(name, fn){
28          return function() {
29            var tmp = this._super;
30           
31            // Add a new ._super() method that is the same method
32            // but on the super-class
33            this._super = _super[name];
34           
35            // The method only need to be bound temporarily, so we
36            // remove it when we're done executing
37            var ret = fn.apply(this, arguments);        
38            this._super = tmp;
39           
40            return ret;
41          };
42        })(name, prop[name]) :
43        prop[name];
44    }
45   
46    // The dummy class constructor
47    function Class() {
48      // All construction is actually done in the init method
49      if ( !initializing && this.init )
50        this.init.apply(this, arguments);
51    }
52   
53    // Populate our constructed prototype object
54    Class.prototype = prototype;
55   
56    // Enforce the constructor to be what we expect
57    Class.prototype.constructor = Class;
58 
59    // And make this class extendable
60    Class.extend = arguments.callee;
61   
62    return Class;
63  };
64})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.