muvment 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fbdd0a31ede1aa83116908c4f19edae94f52ae074b131d92c0bd14bf088b7f88
4
- data.tar.gz: 070fee67e78f900d956a78f4de7f0f8e51bbbe947db93048111b5364ebca6f37
3
+ metadata.gz: 61228aea0d52758ed4f08f416d031c8aad927c274668ebea2f3b5bc254d224e4
4
+ data.tar.gz: b6acde47546dac4d5e53b0a812c615f7963c3bc02297f1e2dfcf30a6c61fef44
5
5
  SHA512:
6
- metadata.gz: fe40ecff7151849efb0b1d3ba1ad5b7b081174a87bad8b0810dc10660c19e86b43fd07498bc9f7120edde23896f4a7f6847af8a84c671872213943fa3b91e0f4
7
- data.tar.gz: 87a81e1fc726c26141461f04b517e7e8806eff39f6f1f8bf43971da6e979f89bf531f48af54b92cdc57bfef872c6cf7e4bc10f1f3a693e2eed74abe056aaa6f8
6
+ metadata.gz: 145fa246a107efa79d456643c281d51fb7079e031a92973ec8f40003a517a999f90587726705ebffb089b43bc02a20fda990d889be8a97793a04fdac26561858
7
+ data.tar.gz: 16ea302a505eefc28d5e63749059da4a22447587ab33e0c75a40fce9b7862abc44d75a91782c73cc265927c832c7ed0e50202f36ff2956489e1512c81aba0892
@@ -1,2 +1,2 @@
1
- var muvment=function(t){var e={};function n(r){if(e[r])return e[r].exports;var s=e[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(r,s,function(e){return t[e]}.bind(null,s));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(t,e){function n(){}t.exports=class{constructor(t,e){this.movie=e,this.name=t,this.callbacks={end:n,start:n}}on(t,e){return this.callbacks[t]=e,this}onEnd(t){return this.on("end",t)}onEndSwitch(t,e){return this.onEnd(()=>t.switch(e))}onStart(t){return this.on("start",t)}play(t){return this.callbacks.start(),this.movie.play(t).then(this.callbacks.end.bind(this))}}},function(t,e,n){let r=n(2),s=n(3),o=n(0),i=n(4),a=n(5),u={};u.State=o,u.Scene=s,u.Clip=i,u.animation={sequence:function(t){return new r(t,(t,e)=>{let n=Promise.resolve();return t.forEach(t=>n=n.then(()=>t.play(e))),n})},oneOf:function(t){return new r(t,(t,e)=>t[Math.floor(Math.random()*t.length)].play(e))},addImage:function(t,e,n){let r=n+e+".svg";return t[e]?Promise.resolve():new Promise(n=>{a.get(r,s=>{let o=1e3*parseFloat(a(s).find("animate").attr("dur")||0,10);t[e]=new i(r,o),n()})})}},t.exports=u},function(t,e,n){let r=n(0);t.exports=class{constructor(t,e){this.clips=t,this.player=e}play(t){return this.player(this.clips,t)}asState(t){return new r(t,this)}}},function(t,e){t.exports=class{constructor(){this.states={}}addState(t){return this.currentState||(this.currentState=t),this.states[t.name]=t,this}switch(t){this.currentState=this.states[t],this.play()}play(t){this.currentState.play(t)}}},function(t,e,n){let r=n(0);t.exports=class{constructor(t,e){this.src=t,this.duration=e}play(t){return t.src=this.src,new Promise(t=>{setTimeout(t,this.duration)})}asState(t){return new r(t,this)}}},function(t,e){t.exports=jQuery}]);
1
+ var muvment=function(t){var e={};function n(r){if(e[r])return e[r].exports;var s=e[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(r,s,function(e){return t[e]}.bind(null,s));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(t,e){function n(){}t.exports=class{constructor(t,e){this.movie=e,this.name=t,this.callbacks={end:n,start:n}}on(t,e){return this.callbacks[t]=e,this}onEnd(t){return this.on("end",t)}onEndSwitch(t,e){return this.onEnd(()=>t.switch(e))}onStart(t){return this.on("start",t)}play(t){return this.callbacks.start(),this.movie.play(t).then(this.callbacks.end.bind(this))}}},function(t,e,n){let r=n(2),s=n(3),i=n(0),o=n(4),a=n(5),u=n(6),c={};c.State=i,c.Scene=s,c.Clip=o,c.Character=a,c.animation={sequence:function(t){return new r(t,(t,e)=>{let n=Promise.resolve();return t.forEach(t=>n=n.then(()=>t.play(e))),n})},oneOf:function(t){return new r(t,(t,e)=>t[Math.floor(Math.random()*t.length)].play(e))},addImage:function(t,e,n){let r=n+e+".svg";return t[e]?Promise.resolve():new Promise(n=>{u.get(r,s=>{let i=1e3*parseFloat(u(s).find("animate").attr("dur")||0,10);t[e]=new o(r,i),n()})})}},t.exports=c},function(t,e,n){let r=n(0);t.exports=class{constructor(t,e){this.clips=t,this.player=e}play(t){return this.player(this.clips,t)}asState(t){return new r(t,this)}}},function(t,e){t.exports=class{constructor(){this.states={}}addState(t){return this.currentState||(this.currentState=t),this.states[t.name]=t,this}switch(t){this.currentState=this.states[t],this.play()}play(t){this.currentState.play(t)}}},function(t,e,n){let r=n(0);t.exports=class{constructor(t,e){this.src=t,this.duration=e}play(t){return t.src=this.src,new Promise(t=>{setTimeout(t,this.duration)})}asState(t){return new r(t,this)}}},function(t,e){t.exports=class{constructor(){this.clips={},this.actions={}}playAnimation(t,e){let n=this.actions[t]||this.clips[t];return n&&n.play(e)}}},function(t,e){t.exports=jQuery}]);
2
2
  //# sourceMappingURL=muvment.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://muvment/webpack/bootstrap","webpack://muvment/./state.js","webpack://muvment/./index.js","webpack://muvment/./animation.js","webpack://muvment/./scene.js","webpack://muvment/./clip.js","webpack://muvment/external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","noop","[object Object]","movie","this","callbacks","end","start","event","callback","on","character","stateName","onEnd","switch","image","play","then","Animation","Scene","State","Clip","$","muvment","animation","sequence","clips","where","accum","Promise","resolve","forEach","clip","oneOf","Math","floor","random","length","addImage","imageName","urlPrefix","url","data","duration","parseFloat","find","attr","player","states","state","currentState","src","setTimeout","jQuery"],"mappings":"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","file":"muvment.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","function noop() {};\n\nclass State {\n constructor(name, movie) {\n this.movie = movie;\n this.name = name;\n this.callbacks = {\n end: noop,\n start: noop\n };\n }\n\n on(event, callback) {\n this.callbacks[event] = callback;\n return this;\n };\n\n onEnd(callback) {\n return this.on('end', callback);\n };\n\n onEndSwitch(character, stateName) {\n return this.onEnd(() => {\n return character.switch(stateName);\n });\n };\n\n onStart(callback) {\n return this.on('start', callback);\n };\n\n play(image) {\n this.callbacks.start();\n return this.movie.play(image).then(this.callbacks.end.bind(this));\n };\n};\n\nmodule.exports = State;\n","let Animation = require('./animation')\nlet Scene = require('./scene')\nlet State = require('./state')\nlet Clip = require('./clip')\n\nlet $ = require('jquery')\n\nlet muvment = {};\n\nfunction sequence(clips) {\n return new Animation(clips, (clips, where) => {\n let accum = Promise.resolve();\n\n clips.forEach((clip) =>\n accum = accum.then(() => \n clip.play(where)));\n \n return accum;\n });\n}\n\nfunction oneOf(clips) {\n return new Animation(clips, (clips, where) => {\n return clips[Math.floor(Math.random() * clips.length)].play(where);\n });\n}\n\nfunction addImage(object, imageName, urlPrefix) {\n let url = urlPrefix + imageName + '.svg';\n if (object[imageName]) return Promise.resolve();\n\n return new Promise((resolve) => {\n $.get(url, (data) => {\n let duration = parseFloat($(data).find('animate').attr('dur') || 0, 10) * 1000;\n object[imageName] = new Clip(url, duration);\n resolve();\n });\n });\n}\n\nmuvment.State = State;\nmuvment.Scene = Scene;\nmuvment.Clip = Clip;\n\nmuvment.animation = {\n sequence: sequence,\n oneOf: oneOf,\n addImage: addImage\n};\n\nmodule.exports = muvment;\n","let State = require('./state')\n\nclass Animation {\n constructor(clips, player) {\n this.clips = clips;\n this.player = player;\n }\n\n play(where) {\n return this.player(this.clips, where);\n };\n\n asState(name) {\n return new State(name, this);\n }\n};\n\nmodule.exports = Animation;\n","class Scene {\n constructor() {\n this.states = {};\n }\n\n addState(state) {\n if (!this.currentState) this.currentState = state;\n this.states[state.name] = state;\n return this;\n };\n\n switch(stateName) {\n this.currentState = this.states[stateName];\n this.play();\n };\n\n play(image) {\n this.currentState.play(image);\n };\n};\n\nmodule.exports = Scene;\n","let State = require('./state')\n\nclass Clip {\n constructor(src, duration) {\n this.src = src;\n this.duration = duration;\n }\n\n play(where) {\n where.src = this.src;\n \n return new Promise((resolve) => {\n setTimeout(resolve, this.duration);\n });\n }\n\n asState(name) {\n return new State(name, this);\n }\n};\n\nmodule.exports = Clip;\n","module.exports = jQuery;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://muvment/webpack/bootstrap","webpack://muvment/./state.js","webpack://muvment/./index.js","webpack://muvment/./animation.js","webpack://muvment/./scene.js","webpack://muvment/./clip.js","webpack://muvment/./character.js","webpack://muvment/external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","noop","[object Object]","movie","this","callbacks","end","start","event","callback","on","character","stateName","onEnd","switch","image","play","then","Animation","Scene","State","Clip","Character","$","muvment","animation","sequence","clips","where","accum","Promise","resolve","forEach","clip","oneOf","Math","floor","random","length","addImage","imageName","urlPrefix","url","data","duration","parseFloat","find","attr","player","states","state","currentState","src","setTimeout","actions","canvas","jQuery"],"mappings":"wBACA,IAAAA,EAAA,GAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,GAAA,CACAG,EAAAH,EACAI,GAAA,EACAH,QAAA,IAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,GAAA,EAGAF,EAAAD,QA0DA,OArDAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,EAAA,CAA0CK,YAAA,EAAAC,IAAAL,KAK1CZ,EAAAkB,EAAA,SAAAhB,GACA,oBAAAiB,eAAAC,aACAN,OAAAC,eAAAb,EAAAiB,OAAAC,YAAA,CAAwDC,MAAA,WAExDP,OAAAC,eAAAb,EAAA,cAAiDmB,OAAA,KAQjDrB,EAAAsB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAArB,EAAAqB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFA1B,EAAAkB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAArB,EAAAU,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAzB,EAAA6B,EAAA,SAAA1B,GACA,IAAAS,EAAAT,KAAAqB,WACA,WAA2B,OAAArB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD/B,EAAAkC,EAAA,GAIAlC,IAAAmC,EAAA,mBClFA,SAAAC,KAqCAjC,EAAAD,QAnCA,MACAmC,YAAA1B,EAAA2B,GACAC,KAAAD,QACAC,KAAA5B,OACA4B,KAAAC,UAAA,CACAC,IAAAL,EACAM,MAAAN,GAIAC,GAAAM,EAAAC,GAEA,OADAL,KAAAC,UAAAG,GAAAC,EACAL,KAGAF,MAAAO,GACA,OAAAL,KAAAM,GAAA,MAAAD,GAGAP,YAAAS,EAAAC,GACA,OAAAR,KAAAS,MAAA,IACAF,EAAAG,OAAAF,IAIAV,QAAAO,GACA,OAAAL,KAAAM,GAAA,QAAAD,GAGAP,KAAAa,GAEA,OADAX,KAAAC,UAAAE,QACAH,KAAAD,MAAAa,KAAAD,GAAAE,KAAAb,KAAAC,UAAAC,IAAAb,KAAAW,0BCjCA,IAAAc,EAAgBrD,EAAQ,GACxBsD,EAAYtD,EAAQ,GACpBuD,EAAYvD,EAAQ,GACpBwD,EAAWxD,EAAQ,GACnByD,EAAgBzD,EAAQ,GAExB0D,EAAQ1D,EAAQ,GAEhB2D,EAAA,GAiCAA,EAAAJ,QACAI,EAAAL,QACAK,EAAAH,OACAG,EAAAF,YAEAE,EAAAC,UAAA,CACAC,SArCA,SAAAC,GACA,WAAAT,EAAAS,EAAA,CAAAA,EAAAC,KACA,IAAAC,EAAAC,QAAAC,UAMA,OAJAJ,EAAAK,QAAAC,GACAJ,IAAAZ,KAAA,IACAgB,EAAAjB,KAAAY,KAEAC,KA8BAK,MA1BA,SAAAP,GACA,WAAAT,EAAAS,EAAA,CAAAA,EAAAC,IACAD,EAAAQ,KAAAC,MAAAD,KAAAE,SAAAV,EAAAW,SAAAtB,KAAAY,KAyBAW,SArBA,SAAA5C,EAAA6C,EAAAC,GACA,IAAAC,EAAAD,EAAAD,EAAA,OACA,OAAA7C,EAAA6C,GAAAV,QAAAC,UAEA,IAAAD,QAAAC,IACAR,EAAAzC,IAAA4D,EAAAC,IACA,IAAAC,EAAA,IAAAC,WAAAtB,EAAAoB,GAAAG,KAAA,WAAAC,KAAA,cACApD,EAAA6C,GAAA,IAAAnB,EAAAqB,EAAAE,GACAb,UAgBA/D,EAAAD,QAAAyD,mBCpDA,IAAAJ,EAAYvD,EAAQ,GAiBpBG,EAAAD,QAfA,MACAmC,YAAAyB,EAAAqB,GACA5C,KAAAuB,QACAvB,KAAA4C,SAGA9C,KAAA0B,GACA,OAAAxB,KAAA4C,OAAA5C,KAAAuB,MAAAC,GAGA1B,QAAA1B,GACA,WAAA4C,EAAA5C,EAAA4B,uBCQApC,EAAAD,QArBA,MACAmC,cACAE,KAAA6C,OAAA,GAGA/C,SAAAgD,GAGA,OAFA9C,KAAA+C,eAAA/C,KAAA+C,aAAAD,GACA9C,KAAA6C,OAAAC,EAAA1E,MAAA0E,EACA9C,KAGAF,OAAAU,GACAR,KAAA+C,aAAA/C,KAAA6C,OAAArC,GACAR,KAAAY,OAGAd,KAAAa,GACAX,KAAA+C,aAAAnC,KAAAD,sBCjBA,IAAAK,EAAYvD,EAAQ,GAqBpBG,EAAAD,QAnBA,MACAmC,YAAAkD,EAAAR,GACAxC,KAAAgD,MACAhD,KAAAwC,WAGA1C,KAAA0B,GAGA,OAFAA,EAAAwB,IAAAhD,KAAAgD,IAEA,IAAAtB,QAAAC,IACAsB,WAAAtB,EAAA3B,KAAAwC,YAIA1C,QAAA1B,GACA,WAAA4C,EAAA5C,EAAA4B,uBCLApC,EAAAD,QAZA,MACAmC,cACAE,KAAAuB,MAAA,GACAvB,KAAAkD,QAAA,GAGApD,cAAA1B,EAAA+E,GACA,IAAA9B,EAAArB,KAAAkD,QAAA9E,IAAA4B,KAAAuB,MAAAnD,GACA,OAAAiD,KAAAT,KAAAuC,oBCRAvF,EAAAD,QAAAyF","file":"muvment.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","function noop() {};\n\nclass State {\n constructor(name, movie) {\n this.movie = movie;\n this.name = name;\n this.callbacks = {\n end: noop,\n start: noop\n };\n }\n\n on(event, callback) {\n this.callbacks[event] = callback;\n return this;\n };\n\n onEnd(callback) {\n return this.on('end', callback);\n };\n\n onEndSwitch(character, stateName) {\n return this.onEnd(() => {\n return character.switch(stateName);\n });\n };\n\n onStart(callback) {\n return this.on('start', callback);\n };\n\n play(image) {\n this.callbacks.start();\n return this.movie.play(image).then(this.callbacks.end.bind(this));\n };\n};\n\nmodule.exports = State;\n","let Animation = require('./animation')\nlet Scene = require('./scene')\nlet State = require('./state')\nlet Clip = require('./clip')\nlet Character = require('./character')\n\nlet $ = require('jquery')\n\nlet muvment = {};\n\nfunction sequence(clips) {\n return new Animation(clips, (clips, where) => {\n let accum = Promise.resolve();\n\n clips.forEach((clip) =>\n accum = accum.then(() => \n clip.play(where)));\n \n return accum;\n });\n}\n\nfunction oneOf(clips) {\n return new Animation(clips, (clips, where) => {\n return clips[Math.floor(Math.random() * clips.length)].play(where);\n });\n}\n\nfunction addImage(object, imageName, urlPrefix) {\n let url = urlPrefix + imageName + '.svg';\n if (object[imageName]) return Promise.resolve();\n\n return new Promise((resolve) => {\n $.get(url, (data) => {\n let duration = parseFloat($(data).find('animate').attr('dur') || 0, 10) * 1000;\n object[imageName] = new Clip(url, duration);\n resolve();\n });\n });\n}\n\nmuvment.State = State;\nmuvment.Scene = Scene;\nmuvment.Clip = Clip;\nmuvment.Character = Character;\n\nmuvment.animation = {\n sequence: sequence,\n oneOf: oneOf,\n addImage: addImage\n};\n\nmodule.exports = muvment;\n","let State = require('./state')\n\nclass Animation {\n constructor(clips, player) {\n this.clips = clips;\n this.player = player;\n }\n\n play(where) {\n return this.player(this.clips, where);\n };\n\n asState(name) {\n return new State(name, this);\n }\n};\n\nmodule.exports = Animation;\n","class Scene {\n constructor() {\n this.states = {};\n }\n\n addState(state) {\n if (!this.currentState) this.currentState = state;\n this.states[state.name] = state;\n return this;\n };\n\n switch(stateName) {\n this.currentState = this.states[stateName];\n this.play();\n };\n\n play(image) {\n this.currentState.play(image);\n };\n};\n\nmodule.exports = Scene;\n","let State = require('./state')\n\nclass Clip {\n constructor(src, duration) {\n this.src = src;\n this.duration = duration;\n }\n\n play(where) {\n where.src = this.src;\n \n return new Promise((resolve) => {\n setTimeout(resolve, this.duration);\n });\n }\n\n asState(name) {\n return new State(name, this);\n }\n};\n\nmodule.exports = Clip;\n","class Character {\n constructor() {\n this.clips = {};\n this.actions = {};\n }\n\n playAnimation(name, canvas) {\n let animation = this.actions[name] || this.clips[name]\n return animation && animation.play(canvas)\n }\n};\n\nmodule.exports = Character;\n","module.exports = jQuery;"],"sourceRoot":""}
@@ -1,3 +1,3 @@
1
1
  module Muvment
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muvment
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Berbel Alt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-05 00:00:00.000000000 Z
11
+ date: 2019-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler