UNPKG

2.96 kBJavaScriptView Raw
1void (function(){var _ion_runtime_IfStatement_ = function(module,exports,require){'use strict';
2var ion = require('../'), Statement = require('./Statement');
3var IfStatement = ion.defineClass({
4 name: 'IfStatement',
5 properties: {
6 activate: function () {
7 IfStatement.super.prototype.activate.apply(this, arguments);
8 this.testExpression = this.testExpression != null ? this.testExpression : this.context.createRuntime(this.test);
9 this.testExpression.watch(this.testExpressionWatcher = this.testExpressionWatcher != null ? this.testExpressionWatcher : ion.bind(function (value) {
10 if (value) {
11 if (this.alternateStatement != null ? this.alternateStatement.isActive : void 0) {
12 this.alternateStatement != null ? this.alternateStatement.deactivate() : void 0;
13 delete this.alternateStatement;
14 }
15 this.consequentStatement = this.consequentStatement != null ? this.consequentStatement : this.context.createRuntime(this.consequent);
16 this.consequentStatement.activate();
17 } else {
18 if (this.consequentStatement != null ? this.consequentStatement.isActive : void 0) {
19 this.consequentStatement != null ? this.consequentStatement.deactivate() : void 0;
20 delete this.consequentStatement;
21 }
22 if (this.alternate != null) {
23 this.alternateStatement = this.alternateStatement != null ? this.alternateStatement : this.context.createRuntime(this.alternate);
24 this.alternateStatement.activate();
25 }
26 }
27 }, this));
28 },
29 deactivate: function () {
30 IfStatement.super.prototype.deactivate.apply(this, arguments);
31 this.testExpression.unwatch(this.testExpressionWatcher);
32 if (this.alternateStatement != null ? this.alternateStatement.isActive : void 0) {
33 this.alternateStatement != null ? this.alternateStatement.deactivate() : void 0;
34 }
35 if (this.consequentStatement != null ? this.consequentStatement.isActive : void 0) {
36 this.consequentStatement != null ? this.consequentStatement.deactivate() : void 0;
37 }
38 }
39 }
40 }, Statement);
41module.exports = exports = IfStatement;
42 }
43 if (typeof require === 'function') {
44 if (require.register)
45 require.register('ion/runtime/IfStatement',_ion_runtime_IfStatement_);
46 else
47 _ion_runtime_IfStatement_.call(this, module, exports, require);
48 }
49 else {
50 _ion_runtime_IfStatement_.call(this);
51 }
52}).call(this)
53//# sourceMappingURL=./IfStatement.map
\No newline at end of file