UNPKG

4.63 kBSource Map (JSON)View Raw
1{"version":3,"sources":["Property.ion"],"names":["ion","Statement","Property","properties","activate",{"type":"Identifier","name":"activate","loc":{"start":{"line":7,"column":8,"fixed":true,"source":"ion/runtime/Property.ion"},"end":{"line":7,"column":16,"fixed":true,"source":"ion/runtime/Property.ion"}}},"keyExpression","context","createRuntime","computed","key","name","value","valueExpression","watch","keyWatcher","setLeftValue","currentValue","output","get","keyValue","setProperty","valueWatcher","valueValue","deactivate","unobserve","contextObserver","leftValue","unwatch","hasOwnProperty"],"mappings":"aAAA;AAAA,IACIA,GAAA,G,OAAM,CAAO,KAAP,CADV,EAEIC,SAAA,G,OAAY,CAAO,aAAP,CAFhB;IAIaC,Q;;QACTC,UAAA,EAAW;AAAA,YACPC,QAAA,EAAUC,YAClB;AAAA,gB,yBADQD,Q,uBACI,CAAZ;AAAA,gBAEY,KAACE,aAAD,QAACA,a,WAAD,KAACA,a,GAAiB,KAACC,OAAD,CAASC,aAAT,CAAuB,KAACC,QAAD,GAAY,KAACC,GAAb,GAAoB,KAACA,GAAD,CAAKC,I,WAAL,KAACD,GAAD,CAAKC,I,GAAO,KAACD,GAAD,CAAKE,KAA5D,CAAlB,CAFZ;AAAA,gBAGY,KAACC,eAAD,QAACA,e,WAAD,KAACA,e,GAAmB,KAACN,OAAD,CAASC,aAAT,CAAuB,KAACI,KAAxB,CAApB,CAHZ;AAAA,gBAMY,KAACN,aAAD,CAAeQ,KAAf,CACI,KAACC,UAAD,QAACA,U,WAAD,KAACA,U,YAAc,UAACL,GAAD,EAC/B;AAAA,oBAAoB,IAAGA,G,QAAA,IAAS,KAACG,eAAD,CAAiBG,Y,QAA7B,EAGpB;AAAA,wBAAwB,IAAIC,YAAA,GAAe,KAACV,OAAD,CAASW,MAAT,GAAkB,KAACX,OAAD,CAASW,M,WAAT,KAACX,OAAD,CAASW,MAAT,CAAiBR,GAAjB,C,SAAlB,GAA0C,KAACH,OAAD,CAASY,GAAT,CAAaT,GAAb,CAA7D,CAAxB;AAAA,wBACwB,IAAGO,Y,QAAH,EACxB;AAAA,4BAA4B,KAACJ,eAAD,CAAiBG,YAAjB,CAA8BC,YAA9B,EAA5B;AAAA,yBAFA;AAAA,qBAHA;AAAA,oBAMoB,KAACG,QAAD,GAAYV,GAAZ,CANpB;AAAA,oBAOoB,KAACW,WAAD,GAPpB;AAAA,iB,OAFY,EANZ;AAAA,gBAiBY,KAACR,eAAD,CAAiBC,KAAjB,CACI,KAACQ,YAAD,QAACA,Y,WAAD,KAACA,Y,YAAgB,UAACV,KAAD,EACjC;AAAA,oBAAoB,KAACW,UAAD,GAAcX,KAAd,CAApB;AAAA,oBACoB,KAACS,WAAD,GADpB;AAAA,iB,OAFY,EAjBZ;AAAA,aAFe;AAAA,YAwBPG,UAAA,EAAYnB,YACpB;AAAA,gB,yBADQmB,U,uBACI,CAAZ;AAAA,gBACYxB,GAAA,CAAIyB,SAAJ,CAAc,KAAClB,OAAD,CAASW,MAAvB,EAA+B,KAACQ,eAAhC,EAAiD,KAACC,SAAlD,EADZ;AAAA,gBAEY,KAACrB,aAAD,CAAesB,OAAf,CAAuB,KAACb,UAAxB,EAFZ;AAAA,gBAGY,KAACF,eAAD,CAAiBe,OAAjB,CAAyB,KAACN,YAA1B,EAHZ;AAAA,aAzBe;AAAA,YA6BPD,WAAA,EAAahB,UAACK,GAADL,EAAkBO,KAAlBP,EAErB;AAAA,gB,IAFsBK,G;oBAAAA,G,GAAM,KAACU,Q,CAE7B;AAAA,gB,IAFuCR,K;oBAAAA,K,GAAQ,KAACW,U,CAEhD;AAAA,gBAAY,IAAG,KAACM,cAAD,CAAgB,UAAhB,KAAgC,KAACA,cAAD,CAAgB,YAAhB,CAAnC,EACZ;AAAA,oBAAgB,IAAGnB,G,QAAA,IAAS,KAACH,OAAD,CAASW,M,QAArB,EAChB;AAAA,wBAAoB,IAAID,YAAA,GAAe,KAACV,OAAD,CAASW,MAAT,CAAgBR,GAAhB,CAAnB,CAApB;AAAA,wBACoB,IAAGO,YAAA,KAAkBL,KAArB,EACpB;AAAA,4BAAwB,KAACL,OAAD,CAASW,MAAT,CAAgBR,GAAhB,IAAuBE,KAAvB,CAAxB;AAAA,yBAFA;AAAA,qBADA;AAAA,iBADA;AAAA,aA/Be;AAAA,S;OADeX,S,EAJ9B;2BAIaC,Q","sourcesContent":["const\n ion = import '../'\n Statement = import './Statement'\n\nexport class Property extends Statement\n properties:\n activate: ->\n super\n # create the runtime expressions\n @keyExpression ?= @context.createRuntime(@computed ? @key : (@key.name ? @key.value))\n @valueExpression ?= @context.createRuntime(@value)\n # then watch them, this way, the keywatcher can set the left value on the right hand side\n # before it is activated\n @keyExpression.watch(\n @keyWatcher ?= (key) =>\n if key? and @valueExpression.setLeftValue?\n # if there is a context.output then get the current key from that\n # otherwise the key is probably referring to a variable\n let currentValue = @context.output ? @context.output?[key] : @context.get(key)\n if currentValue?\n @valueExpression.setLeftValue(currentValue)\n @keyValue = key\n @setProperty()\n )\n @valueExpression.watch(\n @valueWatcher ?= (value) =>\n @valueValue = value\n @setProperty()\n )\n deactivate: ->\n super\n ion.unobserve(@context.output, @contextObserver, @leftValue)\n @keyExpression.unwatch(@keyWatcher)\n @valueExpression.unwatch(@valueWatcher)\n setProperty: (key = @keyValue, value = @valueValue) ->\n # we must have a key, and the value must not be undefined UNLESS the value is explicitly undefined!\n if @hasOwnProperty('keyValue') and @hasOwnProperty('valueValue')\n if key? and @context.output?\n let currentValue = @context.output[key]\n if currentValue isnt value\n @context.output[key] = value\n\n"]}
\No newline at end of file