Mercurial > pub > ImplabJs
comparison src/implab/di/ValueDescriptor.js @ 0:fc2517695ee1
Initial commit, draft import of existing work
| author | cin |
|---|---|
| date | Thu, 01 Jun 2017 13:20:03 +0300 |
| parents | |
| children | 93fb6c09f2e1 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:fc2517695ee1 |
|---|---|
| 1 define([ "dojo/_base/declare", "./Descriptor", "../safe" ], | |
| 2 | |
| 3 function(declare, Descriptor, safe) { | |
| 4 return declare(Descriptor, { | |
| 5 _value : undefined, | |
| 6 _raw : false, | |
| 7 constructor : function(value, raw) { | |
| 8 this._value = value; | |
| 9 this._raw = Boolean(raw); | |
| 10 }, | |
| 11 | |
| 12 activate : function(context, name) { | |
| 13 context.enter(name, this); | |
| 14 var v = this._raw ? this._value : context.parse( | |
| 15 this._value, | |
| 16 ".params"); | |
| 17 context.leave(this); | |
| 18 return v; | |
| 19 }, | |
| 20 | |
| 21 isInstanceCreated : function() { | |
| 22 return this._raw; | |
| 23 }, | |
| 24 | |
| 25 getInstance : function() { | |
| 26 if (!this._raw) | |
| 27 throw new Error("The instance isn't constructed"); | |
| 28 return this._value; | |
| 29 }, | |
| 30 | |
| 31 toString : function() { | |
| 32 if (this._raw) | |
| 33 return "@value {raw}"; | |
| 34 else | |
| 35 return safe.isNull(this._value) ? "@value <null>" : "@value"; | |
| 36 } | |
| 37 }); | |
| 38 }); |
