"use strict";

/**
 * class extension function
 *
 * @param {!Function} Child - constructor of child class.
 * @param {!Function} Parent - constructor of parent class.
 * @returns {Function} Child constructor
 */
module.exports = function (Child, Parent) {
	var Surrogate = function () {};
	Surrogate.prototype = Parent.prototype;
	Child.prototype = new Surrogate();

	return Child;
};

@@ -8,16 +8,44 @@
 rict%22;%0A%0A
+var _ = require('lodash');%0A%0A
 /**%0A * c
@@ -283,50 +283,39 @@
  %7B%0A%09
-var Surrogate = function () %7B%7D;%0A%09Surrogate
+_.extend(Child, Parent);%0A%09Child
 .pro
@@ -323,16 +323,25 @@
 otype = 
+_.create(
 Parent.p
@@ -352,44 +352,70 @@
 type
-;%0A%09Child.prototype = new Surrogate()
+, %7B constructor: Child %7D);%0A%09Child.__super__ = Parent.prototype
 ;%0A%0A%09

add full extend function in util