plate-lang 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.codeclimate.yml +7 -0
  4. data/.gitignore +25 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +4 -0
  7. data/CODE_OF_CONDUCT.md +13 -0
  8. data/Gemfile +10 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +64 -0
  11. data/Rakefile +36 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +7 -0
  14. data/bower.json +10 -0
  15. data/circle.yml +4 -0
  16. data/exe/plate +6 -0
  17. data/lib/plate/cli.rb +97 -0
  18. data/lib/plate/compiler.rb +244 -0
  19. data/lib/plate/grammar.y +145 -0
  20. data/lib/plate/lexer.rb +138 -0
  21. data/lib/plate/nodes.rb +107 -0
  22. data/lib/plate/parser.rb +568 -0
  23. data/lib/plate/version.rb +3 -0
  24. data/lib/plate.rb +14 -0
  25. data/plate-lang.gemspec +30 -0
  26. data/skeleton/app/assets/css/app.css +21 -0
  27. data/skeleton/app/assets/js/app.js +15 -0
  28. data/skeleton/app/index.html +26 -0
  29. data/skeleton/app/vendor/.keep +0 -0
  30. data/skeleton/vendor/bootstrap/.bower.json +44 -0
  31. data/skeleton/vendor/bootstrap/Gruntfile.js +531 -0
  32. data/skeleton/vendor/bootstrap/LICENSE +21 -0
  33. data/skeleton/vendor/bootstrap/README.md +137 -0
  34. data/skeleton/vendor/bootstrap/bower.json +34 -0
  35. data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.css +587 -0
  36. data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  37. data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
  38. data/skeleton/vendor/bootstrap/dist/css/bootstrap.css +6800 -0
  39. data/skeleton/vendor/bootstrap/dist/css/bootstrap.css.map +1 -0
  40. data/skeleton/vendor/bootstrap/dist/css/bootstrap.min.css +5 -0
  41. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  42. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  43. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  44. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  45. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  46. data/skeleton/vendor/bootstrap/dist/js/bootstrap.js +2363 -0
  47. data/skeleton/vendor/bootstrap/dist/js/bootstrap.min.js +7 -0
  48. data/skeleton/vendor/bootstrap/dist/js/npm.js +13 -0
  49. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  50. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  51. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  52. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  53. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  54. data/skeleton/vendor/bootstrap/grunt/.jshintrc +7 -0
  55. data/skeleton/vendor/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  56. data/skeleton/vendor/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
  57. data/skeleton/vendor/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
  58. data/skeleton/vendor/bootstrap/grunt/bs-raw-files-generator.js +44 -0
  59. data/skeleton/vendor/bootstrap/grunt/configBridge.json +46 -0
  60. data/skeleton/vendor/bootstrap/grunt/sauce_browsers.yml +82 -0
  61. data/skeleton/vendor/bootstrap/js/.jscsrc +42 -0
  62. data/skeleton/vendor/bootstrap/js/.jshintrc +15 -0
  63. data/skeleton/vendor/bootstrap/js/affix.js +162 -0
  64. data/skeleton/vendor/bootstrap/js/alert.js +94 -0
  65. data/skeleton/vendor/bootstrap/js/button.js +120 -0
  66. data/skeleton/vendor/bootstrap/js/carousel.js +237 -0
  67. data/skeleton/vendor/bootstrap/js/collapse.js +211 -0
  68. data/skeleton/vendor/bootstrap/js/dropdown.js +165 -0
  69. data/skeleton/vendor/bootstrap/js/modal.js +337 -0
  70. data/skeleton/vendor/bootstrap/js/popover.js +108 -0
  71. data/skeleton/vendor/bootstrap/js/scrollspy.js +172 -0
  72. data/skeleton/vendor/bootstrap/js/tab.js +155 -0
  73. data/skeleton/vendor/bootstrap/js/tooltip.js +514 -0
  74. data/skeleton/vendor/bootstrap/js/transition.js +59 -0
  75. data/skeleton/vendor/bootstrap/less/.csscomb.json +304 -0
  76. data/skeleton/vendor/bootstrap/less/.csslintrc +19 -0
  77. data/skeleton/vendor/bootstrap/less/alerts.less +73 -0
  78. data/skeleton/vendor/bootstrap/less/badges.less +66 -0
  79. data/skeleton/vendor/bootstrap/less/bootstrap.less +56 -0
  80. data/skeleton/vendor/bootstrap/less/breadcrumbs.less +26 -0
  81. data/skeleton/vendor/bootstrap/less/button-groups.less +244 -0
  82. data/skeleton/vendor/bootstrap/less/buttons.less +166 -0
  83. data/skeleton/vendor/bootstrap/less/carousel.less +269 -0
  84. data/skeleton/vendor/bootstrap/less/close.less +34 -0
  85. data/skeleton/vendor/bootstrap/less/code.less +69 -0
  86. data/skeleton/vendor/bootstrap/less/component-animations.less +33 -0
  87. data/skeleton/vendor/bootstrap/less/dropdowns.less +216 -0
  88. data/skeleton/vendor/bootstrap/less/forms.less +607 -0
  89. data/skeleton/vendor/bootstrap/less/glyphicons.less +305 -0
  90. data/skeleton/vendor/bootstrap/less/grid.less +84 -0
  91. data/skeleton/vendor/bootstrap/less/input-groups.less +167 -0
  92. data/skeleton/vendor/bootstrap/less/jumbotron.less +52 -0
  93. data/skeleton/vendor/bootstrap/less/labels.less +64 -0
  94. data/skeleton/vendor/bootstrap/less/list-group.less +130 -0
  95. data/skeleton/vendor/bootstrap/less/media.less +66 -0
  96. data/skeleton/vendor/bootstrap/less/mixins/alerts.less +14 -0
  97. data/skeleton/vendor/bootstrap/less/mixins/background-variant.less +9 -0
  98. data/skeleton/vendor/bootstrap/less/mixins/border-radius.less +18 -0
  99. data/skeleton/vendor/bootstrap/less/mixins/buttons.less +68 -0
  100. data/skeleton/vendor/bootstrap/less/mixins/center-block.less +7 -0
  101. data/skeleton/vendor/bootstrap/less/mixins/clearfix.less +22 -0
  102. data/skeleton/vendor/bootstrap/less/mixins/forms.less +85 -0
  103. data/skeleton/vendor/bootstrap/less/mixins/gradients.less +59 -0
  104. data/skeleton/vendor/bootstrap/less/mixins/grid-framework.less +91 -0
  105. data/skeleton/vendor/bootstrap/less/mixins/grid.less +122 -0
  106. data/skeleton/vendor/bootstrap/less/mixins/hide-text.less +21 -0
  107. data/skeleton/vendor/bootstrap/less/mixins/image.less +33 -0
  108. data/skeleton/vendor/bootstrap/less/mixins/labels.less +12 -0
  109. data/skeleton/vendor/bootstrap/less/mixins/list-group.less +30 -0
  110. data/skeleton/vendor/bootstrap/less/mixins/nav-divider.less +10 -0
  111. data/skeleton/vendor/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  112. data/skeleton/vendor/bootstrap/less/mixins/opacity.less +8 -0
  113. data/skeleton/vendor/bootstrap/less/mixins/pagination.less +24 -0
  114. data/skeleton/vendor/bootstrap/less/mixins/panels.less +24 -0
  115. data/skeleton/vendor/bootstrap/less/mixins/progress-bar.less +10 -0
  116. data/skeleton/vendor/bootstrap/less/mixins/reset-filter.less +8 -0
  117. data/skeleton/vendor/bootstrap/less/mixins/reset-text.less +18 -0
  118. data/skeleton/vendor/bootstrap/less/mixins/resize.less +6 -0
  119. data/skeleton/vendor/bootstrap/less/mixins/responsive-visibility.less +15 -0
  120. data/skeleton/vendor/bootstrap/less/mixins/size.less +10 -0
  121. data/skeleton/vendor/bootstrap/less/mixins/tab-focus.less +9 -0
  122. data/skeleton/vendor/bootstrap/less/mixins/table-row.less +28 -0
  123. data/skeleton/vendor/bootstrap/less/mixins/text-emphasis.less +9 -0
  124. data/skeleton/vendor/bootstrap/less/mixins/text-overflow.less +8 -0
  125. data/skeleton/vendor/bootstrap/less/mixins/vendor-prefixes.less +227 -0
  126. data/skeleton/vendor/bootstrap/less/mixins.less +40 -0
  127. data/skeleton/vendor/bootstrap/less/modals.less +150 -0
  128. data/skeleton/vendor/bootstrap/less/navbar.less +660 -0
  129. data/skeleton/vendor/bootstrap/less/navs.less +242 -0
  130. data/skeleton/vendor/bootstrap/less/normalize.less +424 -0
  131. data/skeleton/vendor/bootstrap/less/pager.less +54 -0
  132. data/skeleton/vendor/bootstrap/less/pagination.less +89 -0
  133. data/skeleton/vendor/bootstrap/less/panels.less +271 -0
  134. data/skeleton/vendor/bootstrap/less/popovers.less +131 -0
  135. data/skeleton/vendor/bootstrap/less/print.less +101 -0
  136. data/skeleton/vendor/bootstrap/less/progress-bars.less +87 -0
  137. data/skeleton/vendor/bootstrap/less/responsive-embed.less +35 -0
  138. data/skeleton/vendor/bootstrap/less/responsive-utilities.less +194 -0
  139. data/skeleton/vendor/bootstrap/less/scaffolding.less +161 -0
  140. data/skeleton/vendor/bootstrap/less/tables.less +234 -0
  141. data/skeleton/vendor/bootstrap/less/theme.less +291 -0
  142. data/skeleton/vendor/bootstrap/less/thumbnails.less +36 -0
  143. data/skeleton/vendor/bootstrap/less/tooltip.less +101 -0
  144. data/skeleton/vendor/bootstrap/less/type.less +302 -0
  145. data/skeleton/vendor/bootstrap/less/utilities.less +55 -0
  146. data/skeleton/vendor/bootstrap/less/variables.less +867 -0
  147. data/skeleton/vendor/bootstrap/less/wells.less +29 -0
  148. data/skeleton/vendor/bootstrap/package.js +25 -0
  149. data/skeleton/vendor/bootstrap/package.json +87 -0
  150. data/skeleton/vendor/bootswatch/.bower.json +52 -0
  151. data/skeleton/vendor/bootswatch/.bowerrc +5 -0
  152. data/skeleton/vendor/bootswatch/LICENSE +21 -0
  153. data/skeleton/vendor/bootswatch/README.md +59 -0
  154. data/skeleton/vendor/bootswatch/bower.json +42 -0
  155. data/skeleton/vendor/bootswatch/cerulean/_bootswatch.scss +131 -0
  156. data/skeleton/vendor/bootswatch/cerulean/_variables.scss +868 -0
  157. data/skeleton/vendor/bootswatch/cerulean/bootstrap.css +6944 -0
  158. data/skeleton/vendor/bootswatch/cerulean/bootstrap.min.css +11 -0
  159. data/skeleton/vendor/bootswatch/cerulean/bootswatch.less +131 -0
  160. data/skeleton/vendor/bootswatch/cerulean/thumbnail.png +0 -0
  161. data/skeleton/vendor/bootswatch/cerulean/variables.less +867 -0
  162. data/skeleton/vendor/bootswatch/cosmo/_bootswatch.scss +261 -0
  163. data/skeleton/vendor/bootswatch/cosmo/_variables.scss +868 -0
  164. data/skeleton/vendor/bootswatch/cosmo/bootstrap.css +6979 -0
  165. data/skeleton/vendor/bootswatch/cosmo/bootstrap.min.css +11 -0
  166. data/skeleton/vendor/bootswatch/cosmo/bootswatch.less +261 -0
  167. data/skeleton/vendor/bootswatch/cosmo/thumbnail.png +0 -0
  168. data/skeleton/vendor/bootswatch/cosmo/variables.less +867 -0
  169. data/skeleton/vendor/bootswatch/cyborg/_bootswatch.scss +234 -0
  170. data/skeleton/vendor/bootswatch/cyborg/_variables.scss +868 -0
  171. data/skeleton/vendor/bootswatch/cyborg/bootstrap.css +6963 -0
  172. data/skeleton/vendor/bootswatch/cyborg/bootstrap.min.css +11 -0
  173. data/skeleton/vendor/bootswatch/cyborg/bootswatch.less +234 -0
  174. data/skeleton/vendor/bootswatch/cyborg/thumbnail.png +0 -0
  175. data/skeleton/vendor/bootswatch/cyborg/variables.less +867 -0
  176. data/skeleton/vendor/bootswatch/darkly/_bootswatch.scss +346 -0
  177. data/skeleton/vendor/bootswatch/darkly/_variables.scss +868 -0
  178. data/skeleton/vendor/bootswatch/darkly/bootstrap.css +7086 -0
  179. data/skeleton/vendor/bootswatch/darkly/bootstrap.min.css +11 -0
  180. data/skeleton/vendor/bootswatch/darkly/bootswatch.less +346 -0
  181. data/skeleton/vendor/bootswatch/darkly/thumbnail.png +0 -0
  182. data/skeleton/vendor/bootswatch/darkly/variables.less +867 -0
  183. data/skeleton/vendor/bootswatch/flatly/_bootswatch.scss +329 -0
  184. data/skeleton/vendor/bootswatch/flatly/_variables.scss +868 -0
  185. data/skeleton/vendor/bootswatch/flatly/bootstrap.css +7065 -0
  186. data/skeleton/vendor/bootswatch/flatly/bootstrap.min.css +11 -0
  187. data/skeleton/vendor/bootswatch/flatly/bootswatch.less +329 -0
  188. data/skeleton/vendor/bootswatch/flatly/thumbnail.png +0 -0
  189. data/skeleton/vendor/bootswatch/flatly/variables.less +867 -0
  190. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.eot +0 -0
  191. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.svg +288 -0
  192. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.ttf +0 -0
  193. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.woff +0 -0
  194. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.woff2 +0 -0
  195. data/skeleton/vendor/bootswatch/journal/_bootswatch.scss +144 -0
  196. data/skeleton/vendor/bootswatch/journal/_variables.scss +868 -0
  197. data/skeleton/vendor/bootswatch/journal/bootstrap.css +6891 -0
  198. data/skeleton/vendor/bootswatch/journal/bootstrap.min.css +11 -0
  199. data/skeleton/vendor/bootswatch/journal/bootswatch.less +144 -0
  200. data/skeleton/vendor/bootswatch/journal/thumbnail.png +0 -0
  201. data/skeleton/vendor/bootswatch/journal/variables.less +867 -0
  202. data/skeleton/vendor/bootswatch/lumen/_bootswatch.scss +520 -0
  203. data/skeleton/vendor/bootswatch/lumen/_variables.scss +868 -0
  204. data/skeleton/vendor/bootswatch/lumen/bootstrap.css +7216 -0
  205. data/skeleton/vendor/bootswatch/lumen/bootstrap.min.css +11 -0
  206. data/skeleton/vendor/bootswatch/lumen/bootswatch.less +520 -0
  207. data/skeleton/vendor/bootswatch/lumen/thumbnail.png +0 -0
  208. data/skeleton/vendor/bootswatch/lumen/variables.less +867 -0
  209. data/skeleton/vendor/bootswatch/paper/_bootswatch.scss +585 -0
  210. data/skeleton/vendor/bootswatch/paper/_variables.scss +868 -0
  211. data/skeleton/vendor/bootswatch/paper/bootstrap.css +7502 -0
  212. data/skeleton/vendor/bootswatch/paper/bootstrap.min.css +11 -0
  213. data/skeleton/vendor/bootswatch/paper/bootswatch.less +585 -0
  214. data/skeleton/vendor/bootswatch/paper/thumbnail.png +0 -0
  215. data/skeleton/vendor/bootswatch/paper/variables.less +867 -0
  216. data/skeleton/vendor/bootswatch/readable/_bootswatch.scss +182 -0
  217. data/skeleton/vendor/bootswatch/readable/_variables.scss +868 -0
  218. data/skeleton/vendor/bootswatch/readable/bootstrap.css +6915 -0
  219. data/skeleton/vendor/bootswatch/readable/bootstrap.min.css +11 -0
  220. data/skeleton/vendor/bootswatch/readable/bootswatch.less +182 -0
  221. data/skeleton/vendor/bootswatch/readable/thumbnail.png +0 -0
  222. data/skeleton/vendor/bootswatch/readable/variables.less +867 -0
  223. data/skeleton/vendor/bootswatch/sandstone/_bootswatch.scss +194 -0
  224. data/skeleton/vendor/bootswatch/sandstone/_variables.scss +868 -0
  225. data/skeleton/vendor/bootswatch/sandstone/bootstrap.css +6953 -0
  226. data/skeleton/vendor/bootswatch/sandstone/bootstrap.min.css +11 -0
  227. data/skeleton/vendor/bootswatch/sandstone/bootswatch.less +194 -0
  228. data/skeleton/vendor/bootswatch/sandstone/thumbnail.png +0 -0
  229. data/skeleton/vendor/bootswatch/sandstone/variables.less +867 -0
  230. data/skeleton/vendor/bootswatch/simplex/_bootswatch.scss +169 -0
  231. data/skeleton/vendor/bootswatch/simplex/_variables.scss +868 -0
  232. data/skeleton/vendor/bootswatch/simplex/bootstrap.css +6953 -0
  233. data/skeleton/vendor/bootswatch/simplex/bootstrap.min.css +11 -0
  234. data/skeleton/vendor/bootswatch/simplex/bootswatch.less +169 -0
  235. data/skeleton/vendor/bootswatch/simplex/thumbnail.png +0 -0
  236. data/skeleton/vendor/bootswatch/simplex/variables.less +867 -0
  237. data/skeleton/vendor/bootswatch/slate/_bootswatch.scss +441 -0
  238. data/skeleton/vendor/bootswatch/slate/_variables.scss +868 -0
  239. data/skeleton/vendor/bootswatch/slate/bootstrap.css +7301 -0
  240. data/skeleton/vendor/bootswatch/slate/bootstrap.min.css +11 -0
  241. data/skeleton/vendor/bootswatch/slate/bootswatch.less +441 -0
  242. data/skeleton/vendor/bootswatch/slate/thumbnail.png +0 -0
  243. data/skeleton/vendor/bootswatch/slate/variables.less +867 -0
  244. data/skeleton/vendor/bootswatch/spacelab/_bootswatch.scss +137 -0
  245. data/skeleton/vendor/bootswatch/spacelab/_variables.scss +868 -0
  246. data/skeleton/vendor/bootswatch/spacelab/bootstrap.css +6998 -0
  247. data/skeleton/vendor/bootswatch/spacelab/bootstrap.min.css +11 -0
  248. data/skeleton/vendor/bootswatch/spacelab/bootswatch.less +137 -0
  249. data/skeleton/vendor/bootswatch/spacelab/thumbnail.png +0 -0
  250. data/skeleton/vendor/bootswatch/spacelab/variables.less +867 -0
  251. data/skeleton/vendor/bootswatch/superhero/_bootswatch.scss +356 -0
  252. data/skeleton/vendor/bootswatch/superhero/_variables.scss +868 -0
  253. data/skeleton/vendor/bootswatch/superhero/bootstrap.css +7048 -0
  254. data/skeleton/vendor/bootswatch/superhero/bootstrap.min.css +11 -0
  255. data/skeleton/vendor/bootswatch/superhero/bootswatch.less +356 -0
  256. data/skeleton/vendor/bootswatch/superhero/thumbnail.png +0 -0
  257. data/skeleton/vendor/bootswatch/superhero/variables.less +867 -0
  258. data/skeleton/vendor/bootswatch/united/_bootswatch.scss +55 -0
  259. data/skeleton/vendor/bootswatch/united/_variables.scss +868 -0
  260. data/skeleton/vendor/bootswatch/united/bootstrap.css +6813 -0
  261. data/skeleton/vendor/bootswatch/united/bootstrap.min.css +11 -0
  262. data/skeleton/vendor/bootswatch/united/bootswatch.less +55 -0
  263. data/skeleton/vendor/bootswatch/united/thumbnail.png +0 -0
  264. data/skeleton/vendor/bootswatch/united/variables.less +867 -0
  265. data/skeleton/vendor/bootswatch/yeti/_bootswatch.scss +437 -0
  266. data/skeleton/vendor/bootswatch/yeti/_variables.scss +868 -0
  267. data/skeleton/vendor/bootswatch/yeti/bootstrap.css +7107 -0
  268. data/skeleton/vendor/bootswatch/yeti/bootstrap.min.css +11 -0
  269. data/skeleton/vendor/bootswatch/yeti/bootswatch.less +437 -0
  270. data/skeleton/vendor/bootswatch/yeti/thumbnail.png +0 -0
  271. data/skeleton/vendor/bootswatch/yeti/variables.less +867 -0
  272. data/skeleton/vendor/font-awesome/.bower.json +36 -0
  273. data/skeleton/vendor/font-awesome/.gitignore +33 -0
  274. data/skeleton/vendor/font-awesome/.npmignore +42 -0
  275. data/skeleton/vendor/font-awesome/HELP-US-OUT.txt +7 -0
  276. data/skeleton/vendor/font-awesome/bower.json +22 -0
  277. data/skeleton/vendor/font-awesome/css/font-awesome.css +2026 -0
  278. data/skeleton/vendor/font-awesome/css/font-awesome.css.map +7 -0
  279. data/skeleton/vendor/font-awesome/css/font-awesome.min.css +4 -0
  280. data/skeleton/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
  281. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  282. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.svg +640 -0
  283. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  284. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  285. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  286. data/skeleton/vendor/font-awesome/less/animated.less +34 -0
  287. data/skeleton/vendor/font-awesome/less/bordered-pulled.less +25 -0
  288. data/skeleton/vendor/font-awesome/less/core.less +12 -0
  289. data/skeleton/vendor/font-awesome/less/fixed-width.less +6 -0
  290. data/skeleton/vendor/font-awesome/less/font-awesome.less +17 -0
  291. data/skeleton/vendor/font-awesome/less/icons.less +677 -0
  292. data/skeleton/vendor/font-awesome/less/larger.less +13 -0
  293. data/skeleton/vendor/font-awesome/less/list.less +19 -0
  294. data/skeleton/vendor/font-awesome/less/mixins.less +26 -0
  295. data/skeleton/vendor/font-awesome/less/path.less +15 -0
  296. data/skeleton/vendor/font-awesome/less/rotated-flipped.less +20 -0
  297. data/skeleton/vendor/font-awesome/less/stacked.less +20 -0
  298. data/skeleton/vendor/font-awesome/less/variables.less +688 -0
  299. data/skeleton/vendor/font-awesome/scss/_animated.scss +34 -0
  300. data/skeleton/vendor/font-awesome/scss/_bordered-pulled.scss +25 -0
  301. data/skeleton/vendor/font-awesome/scss/_core.scss +12 -0
  302. data/skeleton/vendor/font-awesome/scss/_fixed-width.scss +6 -0
  303. data/skeleton/vendor/font-awesome/scss/_icons.scss +677 -0
  304. data/skeleton/vendor/font-awesome/scss/_larger.scss +13 -0
  305. data/skeleton/vendor/font-awesome/scss/_list.scss +19 -0
  306. data/skeleton/vendor/font-awesome/scss/_mixins.scss +26 -0
  307. data/skeleton/vendor/font-awesome/scss/_path.scss +15 -0
  308. data/skeleton/vendor/font-awesome/scss/_rotated-flipped.scss +20 -0
  309. data/skeleton/vendor/font-awesome/scss/_stacked.scss +20 -0
  310. data/skeleton/vendor/font-awesome/scss/_variables.scss +688 -0
  311. data/skeleton/vendor/font-awesome/scss/font-awesome.scss +17 -0
  312. data/skeleton/vendor/google-code-prettify/.bower.json +26 -0
  313. data/skeleton/vendor/google-code-prettify/CHANGES.html +172 -0
  314. data/skeleton/vendor/google-code-prettify/COPYING +191 -0
  315. data/skeleton/vendor/google-code-prettify/README-zh-Hans.html +143 -0
  316. data/skeleton/vendor/google-code-prettify/README.html +233 -0
  317. data/skeleton/vendor/google-code-prettify/README.md +54 -0
  318. data/skeleton/vendor/google-code-prettify/bin/prettify.min.css +1 -0
  319. data/skeleton/vendor/google-code-prettify/bin/prettify.min.js +30 -0
  320. data/skeleton/vendor/google-code-prettify/bin/run_prettify.min.js +34 -0
  321. data/skeleton/vendor/google-code-prettify/bower.json +16 -0
  322. data/skeleton/vendor/google-code-prettify/examples/quine.html +55 -0
  323. data/skeleton/vendor/google-code-prettify/src/lang-apollo.js +51 -0
  324. data/skeleton/vendor/google-code-prettify/src/lang-basic.js +32 -0
  325. data/skeleton/vendor/google-code-prettify/src/lang-clj.js +64 -0
  326. data/skeleton/vendor/google-code-prettify/src/lang-css.js +159 -0
  327. data/skeleton/vendor/google-code-prettify/src/lang-dart.js +88 -0
  328. data/skeleton/vendor/google-code-prettify/src/lang-erlang.js +92 -0
  329. data/skeleton/vendor/google-code-prettify/src/lang-go.js +58 -0
  330. data/skeleton/vendor/google-code-prettify/src/lang-hs.js +101 -0
  331. data/skeleton/vendor/google-code-prettify/src/lang-lisp.js +94 -0
  332. data/skeleton/vendor/google-code-prettify/src/lang-llvm.js +61 -0
  333. data/skeleton/vendor/google-code-prettify/src/lang-lua.js +59 -0
  334. data/skeleton/vendor/google-code-prettify/src/lang-matlab.js +180 -0
  335. data/skeleton/vendor/google-code-prettify/src/lang-ml.js +56 -0
  336. data/skeleton/vendor/google-code-prettify/src/lang-mumps.js +139 -0
  337. data/skeleton/vendor/google-code-prettify/src/lang-n.js +65 -0
  338. data/skeleton/vendor/google-code-prettify/src/lang-pascal.js +32 -0
  339. data/skeleton/vendor/google-code-prettify/src/lang-proto.js +35 -0
  340. data/skeleton/vendor/google-code-prettify/src/lang-r.js +57 -0
  341. data/skeleton/vendor/google-code-prettify/src/lang-rd.js +47 -0
  342. data/skeleton/vendor/google-code-prettify/src/lang-scala.js +54 -0
  343. data/skeleton/vendor/google-code-prettify/src/lang-sql.js +58 -0
  344. data/skeleton/vendor/google-code-prettify/src/lang-tcl.js +62 -0
  345. data/skeleton/vendor/google-code-prettify/src/lang-tex.js +46 -0
  346. data/skeleton/vendor/google-code-prettify/src/lang-vb.js +66 -0
  347. data/skeleton/vendor/google-code-prettify/src/lang-vhdl.js +34 -0
  348. data/skeleton/vendor/google-code-prettify/src/lang-wiki.js +53 -0
  349. data/skeleton/vendor/google-code-prettify/src/lang-xq.js +67 -0
  350. data/skeleton/vendor/google-code-prettify/src/lang-yaml.js +27 -0
  351. data/skeleton/vendor/google-code-prettify/src/prettify.css +52 -0
  352. data/skeleton/vendor/google-code-prettify/src/prettify.js +1655 -0
  353. data/skeleton/vendor/google-code-prettify/src/run_prettify.js +1905 -0
  354. data/skeleton/vendor/google-code-prettify/styles/demo.html +61 -0
  355. data/skeleton/vendor/google-code-prettify/styles/desert.css +34 -0
  356. data/skeleton/vendor/google-code-prettify/styles/doxy.css +64 -0
  357. data/skeleton/vendor/google-code-prettify/styles/index.html +89 -0
  358. data/skeleton/vendor/google-code-prettify/styles/sons-of-obsidian.css +118 -0
  359. data/skeleton/vendor/google-code-prettify/styles/sunburst.css +51 -0
  360. data/skeleton/vendor/jquery/.bower.json +38 -0
  361. data/skeleton/vendor/jquery/MIT-LICENSE.txt +21 -0
  362. data/skeleton/vendor/jquery/bower.json +28 -0
  363. data/skeleton/vendor/jquery/dist/jquery.js +9210 -0
  364. data/skeleton/vendor/jquery/dist/jquery.min.js +5 -0
  365. data/skeleton/vendor/jquery/dist/jquery.min.map +1 -0
  366. data/skeleton/vendor/jquery/src/ajax/jsonp.js +89 -0
  367. data/skeleton/vendor/jquery/src/ajax/load.js +75 -0
  368. data/skeleton/vendor/jquery/src/ajax/parseJSON.js +13 -0
  369. data/skeleton/vendor/jquery/src/ajax/parseXML.js +28 -0
  370. data/skeleton/vendor/jquery/src/ajax/script.js +64 -0
  371. data/skeleton/vendor/jquery/src/ajax/var/nonce.js +5 -0
  372. data/skeleton/vendor/jquery/src/ajax/var/rquery.js +3 -0
  373. data/skeleton/vendor/jquery/src/ajax/xhr.js +136 -0
  374. data/skeleton/vendor/jquery/src/ajax.js +786 -0
  375. data/skeleton/vendor/jquery/src/attributes/attr.js +141 -0
  376. data/skeleton/vendor/jquery/src/attributes/classes.js +158 -0
  377. data/skeleton/vendor/jquery/src/attributes/prop.js +94 -0
  378. data/skeleton/vendor/jquery/src/attributes/support.js +35 -0
  379. data/skeleton/vendor/jquery/src/attributes/val.js +161 -0
  380. data/skeleton/vendor/jquery/src/attributes.js +11 -0
  381. data/skeleton/vendor/jquery/src/callbacks.js +205 -0
  382. data/skeleton/vendor/jquery/src/core/access.js +60 -0
  383. data/skeleton/vendor/jquery/src/core/init.js +123 -0
  384. data/skeleton/vendor/jquery/src/core/parseHTML.js +39 -0
  385. data/skeleton/vendor/jquery/src/core/ready.js +97 -0
  386. data/skeleton/vendor/jquery/src/core/var/rsingleTag.js +4 -0
  387. data/skeleton/vendor/jquery/src/core.js +502 -0
  388. data/skeleton/vendor/jquery/src/css/addGetHookIf.js +22 -0
  389. data/skeleton/vendor/jquery/src/css/curCSS.js +57 -0
  390. data/skeleton/vendor/jquery/src/css/defaultDisplay.js +70 -0
  391. data/skeleton/vendor/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  392. data/skeleton/vendor/jquery/src/css/support.js +96 -0
  393. data/skeleton/vendor/jquery/src/css/swap.js +28 -0
  394. data/skeleton/vendor/jquery/src/css/var/cssExpand.js +3 -0
  395. data/skeleton/vendor/jquery/src/css/var/getStyles.js +12 -0
  396. data/skeleton/vendor/jquery/src/css/var/isHidden.js +13 -0
  397. data/skeleton/vendor/jquery/src/css/var/rmargin.js +3 -0
  398. data/skeleton/vendor/jquery/src/css/var/rnumnonpx.js +5 -0
  399. data/skeleton/vendor/jquery/src/css.js +450 -0
  400. data/skeleton/vendor/jquery/src/data/Data.js +181 -0
  401. data/skeleton/vendor/jquery/src/data/accepts.js +20 -0
  402. data/skeleton/vendor/jquery/src/data/var/data_priv.js +5 -0
  403. data/skeleton/vendor/jquery/src/data/var/data_user.js +5 -0
  404. data/skeleton/vendor/jquery/src/data.js +178 -0
  405. data/skeleton/vendor/jquery/src/deferred.js +149 -0
  406. data/skeleton/vendor/jquery/src/deprecated.js +13 -0
  407. data/skeleton/vendor/jquery/src/dimensions.js +50 -0
  408. data/skeleton/vendor/jquery/src/effects/Tween.js +114 -0
  409. data/skeleton/vendor/jquery/src/effects/animatedSelector.js +13 -0
  410. data/skeleton/vendor/jquery/src/effects.js +648 -0
  411. data/skeleton/vendor/jquery/src/event/ajax.js +13 -0
  412. data/skeleton/vendor/jquery/src/event/alias.js +39 -0
  413. data/skeleton/vendor/jquery/src/event/support.js +9 -0
  414. data/skeleton/vendor/jquery/src/event.js +868 -0
  415. data/skeleton/vendor/jquery/src/exports/amd.js +24 -0
  416. data/skeleton/vendor/jquery/src/exports/global.js +32 -0
  417. data/skeleton/vendor/jquery/src/intro.js +44 -0
  418. data/skeleton/vendor/jquery/src/jquery.js +37 -0
  419. data/skeleton/vendor/jquery/src/manipulation/_evalUrl.js +18 -0
  420. data/skeleton/vendor/jquery/src/manipulation/support.js +32 -0
  421. data/skeleton/vendor/jquery/src/manipulation/var/rcheckableType.js +3 -0
  422. data/skeleton/vendor/jquery/src/manipulation.js +580 -0
  423. data/skeleton/vendor/jquery/src/offset.js +207 -0
  424. data/skeleton/vendor/jquery/src/outro.js +1 -0
  425. data/skeleton/vendor/jquery/src/queue/delay.js +22 -0
  426. data/skeleton/vendor/jquery/src/queue.js +142 -0
  427. data/skeleton/vendor/jquery/src/selector-native.js +172 -0
  428. data/skeleton/vendor/jquery/src/selector-sizzle.js +14 -0
  429. data/skeleton/vendor/jquery/src/selector.js +1 -0
  430. data/skeleton/vendor/jquery/src/serialize.js +111 -0
  431. data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.js +2067 -0
  432. data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  433. data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  434. data/skeleton/vendor/jquery/src/traversing/findFilter.js +100 -0
  435. data/skeleton/vendor/jquery/src/traversing/var/rneedsContext.js +6 -0
  436. data/skeleton/vendor/jquery/src/traversing.js +199 -0
  437. data/skeleton/vendor/jquery/src/var/arr.js +3 -0
  438. data/skeleton/vendor/jquery/src/var/class2type.js +4 -0
  439. data/skeleton/vendor/jquery/src/var/concat.js +5 -0
  440. data/skeleton/vendor/jquery/src/var/hasOwn.js +5 -0
  441. data/skeleton/vendor/jquery/src/var/indexOf.js +5 -0
  442. data/skeleton/vendor/jquery/src/var/pnum.js +3 -0
  443. data/skeleton/vendor/jquery/src/var/push.js +5 -0
  444. data/skeleton/vendor/jquery/src/var/rnotwhite.js +3 -0
  445. data/skeleton/vendor/jquery/src/var/slice.js +5 -0
  446. data/skeleton/vendor/jquery/src/var/strundefined.js +3 -0
  447. data/skeleton/vendor/jquery/src/var/support.js +4 -0
  448. data/skeleton/vendor/jquery/src/var/toString.js +5 -0
  449. data/skeleton/vendor/jquery/src/wrap.js +79 -0
  450. data/skeleton/vendor/vue/.bower.json +29 -0
  451. data/skeleton/vendor/vue/LICENSE +21 -0
  452. data/skeleton/vendor/vue/bower.json +16 -0
  453. data/skeleton/vendor/vue/build/banner.js +8 -0
  454. data/skeleton/vendor/vue/build/grunt-tasks/build.js +50 -0
  455. data/skeleton/vendor/vue/build/grunt-tasks/casper.js +26 -0
  456. data/skeleton/vendor/vue/build/grunt-tasks/codecov.js +18 -0
  457. data/skeleton/vendor/vue/build/grunt-tasks/open.js +11 -0
  458. data/skeleton/vendor/vue/build/grunt-tasks/release.js +84 -0
  459. data/skeleton/vendor/vue/build/saucelabs.config.js +79 -0
  460. data/skeleton/vendor/vue/build/webpack.build.dev.config.js +20 -0
  461. data/skeleton/vendor/vue/build/webpack.build.prod.config.js +25 -0
  462. data/skeleton/vendor/vue/build/webpack.dev.config.js +10 -0
  463. data/skeleton/vendor/vue/build/webpack.test.config.js +13 -0
  464. data/skeleton/vendor/vue/circle.yml +4 -0
  465. data/skeleton/vendor/vue/dist/vue.js +9863 -0
  466. data/skeleton/vendor/vue/dist/vue.min.js +8 -0
  467. data/skeleton/vendor/vue/perf/bench.html +2 -0
  468. data/skeleton/vendor/vue/perf/bench.js +87 -0
  469. data/skeleton/vendor/vue/src/api/child.js +49 -0
  470. data/skeleton/vendor/vue/src/api/data.js +154 -0
  471. data/skeleton/vendor/vue/src/api/dom.js +226 -0
  472. data/skeleton/vendor/vue/src/api/events.js +174 -0
  473. data/skeleton/vendor/vue/src/api/global.js +119 -0
  474. data/skeleton/vendor/vue/src/api/lifecycle.js +68 -0
  475. data/skeleton/vendor/vue/src/batcher.js +98 -0
  476. data/skeleton/vendor/vue/src/cache.js +112 -0
  477. data/skeleton/vendor/vue/src/compiler/compile-props.js +183 -0
  478. data/skeleton/vendor/vue/src/compiler/compile.js +631 -0
  479. data/skeleton/vendor/vue/src/compiler/index.js +4 -0
  480. data/skeleton/vendor/vue/src/compiler/transclude.js +144 -0
  481. data/skeleton/vendor/vue/src/config.js +124 -0
  482. data/skeleton/vendor/vue/src/directive.js +224 -0
  483. data/skeleton/vendor/vue/src/directives/attr.js +51 -0
  484. data/skeleton/vendor/vue/src/directives/class.js +70 -0
  485. data/skeleton/vendor/vue/src/directives/cloak.js +10 -0
  486. data/skeleton/vendor/vue/src/directives/component.js +300 -0
  487. data/skeleton/vendor/vue/src/directives/el.js +12 -0
  488. data/skeleton/vendor/vue/src/directives/html.js +40 -0
  489. data/skeleton/vendor/vue/src/directives/if.js +126 -0
  490. data/skeleton/vendor/vue/src/directives/index.js +24 -0
  491. data/skeleton/vendor/vue/src/directives/model/checkbox.js +24 -0
  492. data/skeleton/vendor/vue/src/directives/model/index.js +76 -0
  493. data/skeleton/vendor/vue/src/directives/model/radio.js +26 -0
  494. data/skeleton/vendor/vue/src/directives/model/select.js +199 -0
  495. data/skeleton/vendor/vue/src/directives/model/text.js +159 -0
  496. data/skeleton/vendor/vue/src/directives/on.js +60 -0
  497. data/skeleton/vendor/vue/src/directives/prop.js +62 -0
  498. data/skeleton/vendor/vue/src/directives/ref.js +22 -0
  499. data/skeleton/vendor/vue/src/directives/repeat.js +754 -0
  500. data/skeleton/vendor/vue/src/directives/show.js +8 -0
  501. data/skeleton/vendor/vue/src/directives/style.js +110 -0
  502. data/skeleton/vendor/vue/src/directives/text.js +14 -0
  503. data/skeleton/vendor/vue/src/directives/transition.js +26 -0
  504. data/skeleton/vendor/vue/src/element-directives/content.js +111 -0
  505. data/skeleton/vendor/vue/src/element-directives/index.js +2 -0
  506. data/skeleton/vendor/vue/src/element-directives/partial.js +73 -0
  507. data/skeleton/vendor/vue/src/filters/array-filters.js +85 -0
  508. data/skeleton/vendor/vue/src/filters/index.js +137 -0
  509. data/skeleton/vendor/vue/src/instance/compile.js +196 -0
  510. data/skeleton/vendor/vue/src/instance/events.js +139 -0
  511. data/skeleton/vendor/vue/src/instance/init.js +89 -0
  512. data/skeleton/vendor/vue/src/instance/misc.js +93 -0
  513. data/skeleton/vendor/vue/src/instance/scope.js +282 -0
  514. data/skeleton/vendor/vue/src/observer/array.js +92 -0
  515. data/skeleton/vendor/vue/src/observer/dep.js +61 -0
  516. data/skeleton/vendor/vue/src/observer/index.js +212 -0
  517. data/skeleton/vendor/vue/src/observer/object.js +82 -0
  518. data/skeleton/vendor/vue/src/parsers/directive.js +179 -0
  519. data/skeleton/vendor/vue/src/parsers/expression.js +264 -0
  520. data/skeleton/vendor/vue/src/parsers/path.js +348 -0
  521. data/skeleton/vendor/vue/src/parsers/template.js +264 -0
  522. data/skeleton/vendor/vue/src/parsers/text.js +176 -0
  523. data/skeleton/vendor/vue/src/transition/index.js +128 -0
  524. data/skeleton/vendor/vue/src/transition/queue.js +35 -0
  525. data/skeleton/vendor/vue/src/transition/transition.js +308 -0
  526. data/skeleton/vendor/vue/src/util/component.js +124 -0
  527. data/skeleton/vendor/vue/src/util/debug.js +64 -0
  528. data/skeleton/vendor/vue/src/util/dom.js +262 -0
  529. data/skeleton/vendor/vue/src/util/env.js +85 -0
  530. data/skeleton/vendor/vue/src/util/index.js +9 -0
  531. data/skeleton/vendor/vue/src/util/lang.js +289 -0
  532. data/skeleton/vendor/vue/src/util/options.js +353 -0
  533. data/skeleton/vendor/vue/src/vue.js +89 -0
  534. data/skeleton/vendor/vue/src/watcher.js +292 -0
  535. data/tmp/.keep +0 -0
  536. metadata +677 -0
@@ -0,0 +1,289 @@
1
+ /**
2
+ * Check is a string starts with $ or _
3
+ *
4
+ * @param {String} str
5
+ * @return {Boolean}
6
+ */
7
+
8
+ exports.isReserved = function (str) {
9
+ var c = (str + '').charCodeAt(0)
10
+ return c === 0x24 || c === 0x5F
11
+ }
12
+
13
+ /**
14
+ * Guard text output, make sure undefined outputs
15
+ * empty string
16
+ *
17
+ * @param {*} value
18
+ * @return {String}
19
+ */
20
+
21
+ exports.toString = function (value) {
22
+ return value == null
23
+ ? ''
24
+ : value.toString()
25
+ }
26
+
27
+ /**
28
+ * Check and convert possible numeric strings to numbers
29
+ * before setting back to data
30
+ *
31
+ * @param {*} value
32
+ * @return {*|Number}
33
+ */
34
+
35
+ exports.toNumber = function (value) {
36
+ if (typeof value !== 'string') {
37
+ return value
38
+ } else {
39
+ var parsed = Number(value)
40
+ return isNaN(parsed)
41
+ ? value
42
+ : parsed
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Convert string boolean literals into real booleans.
48
+ *
49
+ * @param {*} value
50
+ * @return {*|Boolean}
51
+ */
52
+
53
+ exports.toBoolean = function (value) {
54
+ return value === 'true'
55
+ ? true
56
+ : value === 'false'
57
+ ? false
58
+ : value
59
+ }
60
+
61
+ /**
62
+ * Strip quotes from a string
63
+ *
64
+ * @param {String} str
65
+ * @return {String | false}
66
+ */
67
+
68
+ exports.stripQuotes = function (str) {
69
+ var a = str.charCodeAt(0)
70
+ var b = str.charCodeAt(str.length - 1)
71
+ return a === b && (a === 0x22 || a === 0x27)
72
+ ? str.slice(1, -1)
73
+ : false
74
+ }
75
+
76
+ /**
77
+ * Camelize a hyphen-delmited string.
78
+ *
79
+ * @param {String} str
80
+ * @return {String}
81
+ */
82
+
83
+ exports.camelize = function (str) {
84
+ return str.replace(/-(\w)/g, toUpper)
85
+ }
86
+
87
+ function toUpper (_, c) {
88
+ return c ? c.toUpperCase() : ''
89
+ }
90
+
91
+ /**
92
+ * Hyphenate a camelCase string.
93
+ *
94
+ * @param {String} str
95
+ * @return {String}
96
+ */
97
+
98
+ exports.hyphenate = function (str) {
99
+ return str
100
+ .replace(/([a-z\d])([A-Z])/g, '$1-$2')
101
+ .toLowerCase()
102
+ }
103
+
104
+ /**
105
+ * Converts hyphen/underscore/slash delimitered names into
106
+ * camelized classNames.
107
+ *
108
+ * e.g. my-component => MyComponent
109
+ * some_else => SomeElse
110
+ * some/comp => SomeComp
111
+ *
112
+ * @param {String} str
113
+ * @return {String}
114
+ */
115
+
116
+ var classifyRE = /(?:^|[-_\/])(\w)/g
117
+ exports.classify = function (str) {
118
+ return str.replace(classifyRE, toUpper)
119
+ }
120
+
121
+ /**
122
+ * Simple bind, faster than native
123
+ *
124
+ * @param {Function} fn
125
+ * @param {Object} ctx
126
+ * @return {Function}
127
+ */
128
+
129
+ exports.bind = function (fn, ctx) {
130
+ return function (a) {
131
+ var l = arguments.length
132
+ return l
133
+ ? l > 1
134
+ ? fn.apply(ctx, arguments)
135
+ : fn.call(ctx, a)
136
+ : fn.call(ctx)
137
+ }
138
+ }
139
+
140
+ /**
141
+ * Convert an Array-like object to a real Array.
142
+ *
143
+ * @param {Array-like} list
144
+ * @param {Number} [start] - start index
145
+ * @return {Array}
146
+ */
147
+
148
+ exports.toArray = function (list, start) {
149
+ start = start || 0
150
+ var i = list.length - start
151
+ var ret = new Array(i)
152
+ while (i--) {
153
+ ret[i] = list[i + start]
154
+ }
155
+ return ret
156
+ }
157
+
158
+ /**
159
+ * Mix properties into target object.
160
+ *
161
+ * @param {Object} to
162
+ * @param {Object} from
163
+ */
164
+
165
+ exports.extend = function (to, from) {
166
+ for (var key in from) {
167
+ to[key] = from[key]
168
+ }
169
+ return to
170
+ }
171
+
172
+ /**
173
+ * Quick object check - this is primarily used to tell
174
+ * Objects from primitive values when we know the value
175
+ * is a JSON-compliant type.
176
+ *
177
+ * @param {*} obj
178
+ * @return {Boolean}
179
+ */
180
+
181
+ exports.isObject = function (obj) {
182
+ return obj !== null && typeof obj === 'object'
183
+ }
184
+
185
+ /**
186
+ * Strict object type check. Only returns true
187
+ * for plain JavaScript objects.
188
+ *
189
+ * @param {*} obj
190
+ * @return {Boolean}
191
+ */
192
+
193
+ var toString = Object.prototype.toString
194
+ exports.isPlainObject = function (obj) {
195
+ return toString.call(obj) === '[object Object]'
196
+ }
197
+
198
+ /**
199
+ * Array type check.
200
+ *
201
+ * @param {*} obj
202
+ * @return {Boolean}
203
+ */
204
+
205
+ exports.isArray = Array.isArray
206
+
207
+ /**
208
+ * Define a non-enumerable property
209
+ *
210
+ * @param {Object} obj
211
+ * @param {String} key
212
+ * @param {*} val
213
+ * @param {Boolean} [enumerable]
214
+ */
215
+
216
+ exports.define = function (obj, key, val, enumerable) {
217
+ Object.defineProperty(obj, key, {
218
+ value: val,
219
+ enumerable: !!enumerable,
220
+ writable: true,
221
+ configurable: true
222
+ })
223
+ }
224
+
225
+ /**
226
+ * Debounce a function so it only gets called after the
227
+ * input stops arriving after the given wait period.
228
+ *
229
+ * @param {Function} func
230
+ * @param {Number} wait
231
+ * @return {Function} - the debounced function
232
+ */
233
+
234
+ exports.debounce = function (func, wait) {
235
+ var timeout, args, context, timestamp, result
236
+ var later = function () {
237
+ var last = Date.now() - timestamp
238
+ if (last < wait && last >= 0) {
239
+ timeout = setTimeout(later, wait - last)
240
+ } else {
241
+ timeout = null
242
+ result = func.apply(context, args)
243
+ if (!timeout) context = args = null
244
+ }
245
+ }
246
+ return function () {
247
+ context = this
248
+ args = arguments
249
+ timestamp = Date.now()
250
+ if (!timeout) {
251
+ timeout = setTimeout(later, wait)
252
+ }
253
+ return result
254
+ }
255
+ }
256
+
257
+ /**
258
+ * Manual indexOf because it's slightly faster than
259
+ * native.
260
+ *
261
+ * @param {Array} arr
262
+ * @param {*} obj
263
+ */
264
+
265
+ exports.indexOf = function (arr, obj) {
266
+ for (var i = 0, l = arr.length; i < l; i++) {
267
+ if (arr[i] === obj) return i
268
+ }
269
+ return -1
270
+ }
271
+
272
+ /**
273
+ * Make a cancellable version of an async callback.
274
+ *
275
+ * @param {Function} fn
276
+ * @return {Function}
277
+ */
278
+
279
+ exports.cancellable = function (fn) {
280
+ var cb = function () {
281
+ if (!cb.cancelled) {
282
+ return fn.apply(this, arguments)
283
+ }
284
+ }
285
+ cb.cancel = function () {
286
+ cb.cancelled = true
287
+ }
288
+ return cb
289
+ }
@@ -0,0 +1,353 @@
1
+ var _ = require('./index')
2
+ var config = require('../config')
3
+ var extend = _.extend
4
+
5
+ /**
6
+ * Option overwriting strategies are functions that handle
7
+ * how to merge a parent option value and a child option
8
+ * value into the final value.
9
+ *
10
+ * All strategy functions follow the same signature:
11
+ *
12
+ * @param {*} parentVal
13
+ * @param {*} childVal
14
+ * @param {Vue} [vm]
15
+ */
16
+
17
+ var strats = Object.create(null)
18
+
19
+ /**
20
+ * Helper that recursively merges two data objects together.
21
+ */
22
+
23
+ function mergeData (to, from) {
24
+ var key, toVal, fromVal
25
+ for (key in from) {
26
+ toVal = to[key]
27
+ fromVal = from[key]
28
+ if (!to.hasOwnProperty(key)) {
29
+ to.$add(key, fromVal)
30
+ } else if (_.isObject(toVal) && _.isObject(fromVal)) {
31
+ mergeData(toVal, fromVal)
32
+ }
33
+ }
34
+ return to
35
+ }
36
+
37
+ /**
38
+ * Data
39
+ */
40
+
41
+ strats.data = function (parentVal, childVal, vm) {
42
+ if (!vm) {
43
+ // in a Vue.extend merge, both should be functions
44
+ if (!childVal) {
45
+ return parentVal
46
+ }
47
+ if (typeof childVal !== 'function') {
48
+ process.env.NODE_ENV !== 'production' && _.warn(
49
+ 'The "data" option should be a function ' +
50
+ 'that returns a per-instance value in component ' +
51
+ 'definitions.'
52
+ )
53
+ return parentVal
54
+ }
55
+ if (!parentVal) {
56
+ return childVal
57
+ }
58
+ // when parentVal & childVal are both present,
59
+ // we need to return a function that returns the
60
+ // merged result of both functions... no need to
61
+ // check if parentVal is a function here because
62
+ // it has to be a function to pass previous merges.
63
+ return function mergedDataFn () {
64
+ return mergeData(
65
+ childVal.call(this),
66
+ parentVal.call(this)
67
+ )
68
+ }
69
+ } else if (parentVal || childVal) {
70
+ return function mergedInstanceDataFn () {
71
+ // instance merge
72
+ var instanceData = typeof childVal === 'function'
73
+ ? childVal.call(vm)
74
+ : childVal
75
+ var defaultData = typeof parentVal === 'function'
76
+ ? parentVal.call(vm)
77
+ : undefined
78
+ if (instanceData) {
79
+ return mergeData(instanceData, defaultData)
80
+ } else {
81
+ return defaultData
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ /**
88
+ * El
89
+ */
90
+
91
+ strats.el = function (parentVal, childVal, vm) {
92
+ if (!vm && childVal && typeof childVal !== 'function') {
93
+ process.env.NODE_ENV !== 'production' && _.warn(
94
+ 'The "el" option should be a function ' +
95
+ 'that returns a per-instance value in component ' +
96
+ 'definitions.'
97
+ )
98
+ return
99
+ }
100
+ var ret = childVal || parentVal
101
+ // invoke the element factory if this is instance merge
102
+ return vm && typeof ret === 'function'
103
+ ? ret.call(vm)
104
+ : ret
105
+ }
106
+
107
+ /**
108
+ * Hooks and param attributes are merged as arrays.
109
+ */
110
+
111
+ strats.created =
112
+ strats.ready =
113
+ strats.attached =
114
+ strats.detached =
115
+ strats.beforeCompile =
116
+ strats.compiled =
117
+ strats.beforeDestroy =
118
+ strats.destroyed =
119
+ strats.props = function (parentVal, childVal) {
120
+ return childVal
121
+ ? parentVal
122
+ ? parentVal.concat(childVal)
123
+ : _.isArray(childVal)
124
+ ? childVal
125
+ : [childVal]
126
+ : parentVal
127
+ }
128
+
129
+ /**
130
+ * 0.11 deprecation warning
131
+ */
132
+
133
+ strats.paramAttributes = function () {
134
+ /* istanbul ignore next */
135
+ process.env.NODE_ENV !== 'production' && _.warn(
136
+ '"paramAttributes" option has been deprecated in 0.12. ' +
137
+ 'Use "props" instead.'
138
+ )
139
+ }
140
+
141
+ /**
142
+ * Assets
143
+ *
144
+ * When a vm is present (instance creation), we need to do
145
+ * a three-way merge between constructor options, instance
146
+ * options and parent options.
147
+ */
148
+
149
+ function mergeAssets (parentVal, childVal) {
150
+ var res = Object.create(parentVal)
151
+ return childVal
152
+ ? extend(res, guardArrayAssets(childVal))
153
+ : res
154
+ }
155
+
156
+ config._assetTypes.forEach(function (type) {
157
+ strats[type + 's'] = mergeAssets
158
+ })
159
+
160
+ /**
161
+ * Events & Watchers.
162
+ *
163
+ * Events & watchers hashes should not overwrite one
164
+ * another, so we merge them as arrays.
165
+ */
166
+
167
+ strats.watch =
168
+ strats.events = function (parentVal, childVal) {
169
+ if (!childVal) return parentVal
170
+ if (!parentVal) return childVal
171
+ var ret = {}
172
+ extend(ret, parentVal)
173
+ for (var key in childVal) {
174
+ var parent = ret[key]
175
+ var child = childVal[key]
176
+ if (parent && !_.isArray(parent)) {
177
+ parent = [parent]
178
+ }
179
+ ret[key] = parent
180
+ ? parent.concat(child)
181
+ : [child]
182
+ }
183
+ return ret
184
+ }
185
+
186
+ /**
187
+ * Other object hashes.
188
+ */
189
+
190
+ strats.methods =
191
+ strats.computed = function (parentVal, childVal) {
192
+ if (!childVal) return parentVal
193
+ if (!parentVal) return childVal
194
+ var ret = Object.create(parentVal)
195
+ extend(ret, childVal)
196
+ return ret
197
+ }
198
+
199
+ /**
200
+ * Default strategy.
201
+ */
202
+
203
+ var defaultStrat = function (parentVal, childVal) {
204
+ return childVal === undefined
205
+ ? parentVal
206
+ : childVal
207
+ }
208
+
209
+ /**
210
+ * Make sure component options get converted to actual
211
+ * constructors.
212
+ *
213
+ * @param {Object} options
214
+ */
215
+
216
+ function guardComponents (options) {
217
+ if (options.components) {
218
+ var components = options.components =
219
+ guardArrayAssets(options.components)
220
+ var def
221
+ var ids = Object.keys(components)
222
+ for (var i = 0, l = ids.length; i < l; i++) {
223
+ var key = ids[i]
224
+ if (_.commonTagRE.test(key)) {
225
+ process.env.NODE_ENV !== 'production' && _.warn(
226
+ 'Do not use built-in HTML elements as component ' +
227
+ 'id: ' + key
228
+ )
229
+ continue
230
+ }
231
+ def = components[key]
232
+ if (_.isPlainObject(def)) {
233
+ def.id = def.id || key
234
+ components[key] = def._Ctor || (def._Ctor = _.Vue.extend(def))
235
+ }
236
+ }
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Ensure all props option syntax are normalized into the
242
+ * Object-based format.
243
+ *
244
+ * @param {Object} options
245
+ */
246
+
247
+ function guardProps (options) {
248
+ var props = options.props
249
+ if (_.isPlainObject(props)) {
250
+ options.props = Object.keys(props).map(function (key) {
251
+ var val = props[key]
252
+ if (!_.isPlainObject(val)) {
253
+ val = { type: val }
254
+ }
255
+ val.name = key
256
+ return val
257
+ })
258
+ } else if (_.isArray(props)) {
259
+ options.props = props.map(function (prop) {
260
+ return typeof prop === 'string'
261
+ ? { name: prop }
262
+ : prop
263
+ })
264
+ }
265
+ }
266
+
267
+ /**
268
+ * Guard an Array-format assets option and converted it
269
+ * into the key-value Object format.
270
+ *
271
+ * @param {Object|Array} assets
272
+ * @return {Object}
273
+ */
274
+
275
+ function guardArrayAssets (assets) {
276
+ if (_.isArray(assets)) {
277
+ var res = {}
278
+ var i = assets.length
279
+ var asset
280
+ while (i--) {
281
+ asset = assets[i]
282
+ var id = asset.id || (asset.options && asset.options.id)
283
+ if (!id) {
284
+ process.env.NODE_ENV !== 'production' && _.warn(
285
+ 'Array-syntax assets must provide an id field.'
286
+ )
287
+ } else {
288
+ res[id] = asset
289
+ }
290
+ }
291
+ return res
292
+ }
293
+ return assets
294
+ }
295
+
296
+ /**
297
+ * Merge two option objects into a new one.
298
+ * Core utility used in both instantiation and inheritance.
299
+ *
300
+ * @param {Object} parent
301
+ * @param {Object} child
302
+ * @param {Vue} [vm] - if vm is present, indicates this is
303
+ * an instantiation merge.
304
+ */
305
+
306
+ exports.mergeOptions = function merge (parent, child, vm) {
307
+ guardComponents(child)
308
+ guardProps(child)
309
+ var options = {}
310
+ var key
311
+ if (child.mixins) {
312
+ for (var i = 0, l = child.mixins.length; i < l; i++) {
313
+ parent = merge(parent, child.mixins[i], vm)
314
+ }
315
+ }
316
+ for (key in parent) {
317
+ mergeField(key)
318
+ }
319
+ for (key in child) {
320
+ if (!(parent.hasOwnProperty(key))) {
321
+ mergeField(key)
322
+ }
323
+ }
324
+ function mergeField (key) {
325
+ var strat = strats[key] || defaultStrat
326
+ options[key] = strat(parent[key], child[key], vm, key)
327
+ }
328
+ return options
329
+ }
330
+
331
+ /**
332
+ * Resolve an asset.
333
+ * This function is used because child instances need access
334
+ * to assets defined in its ancestor chain.
335
+ *
336
+ * @param {Object} options
337
+ * @param {String} type
338
+ * @param {String} id
339
+ * @return {Object|Function}
340
+ */
341
+
342
+ exports.resolveAsset = function resolve (options, type, id) {
343
+ var camelizedId = _.camelize(id)
344
+ var asset = options[type][id] || options[type][camelizedId]
345
+ while (
346
+ !asset && options._parent &&
347
+ (!config.strict || options._repeat)
348
+ ) {
349
+ options = options._parent.$options
350
+ asset = options[type][id] || options[type][camelizedId]
351
+ }
352
+ return asset
353
+ }
@@ -0,0 +1,89 @@
1
+ var _ = require('./util')
2
+ var extend = _.extend
3
+
4
+ /**
5
+ * The exposed Vue constructor.
6
+ *
7
+ * API conventions:
8
+ * - public API methods/properties are prefiexed with `$`
9
+ * - internal methods/properties are prefixed with `_`
10
+ * - non-prefixed properties are assumed to be proxied user
11
+ * data.
12
+ *
13
+ * @constructor
14
+ * @param {Object} [options]
15
+ * @public
16
+ */
17
+
18
+ function Vue (options) {
19
+ this._init(options)
20
+ }
21
+
22
+ /**
23
+ * Mixin global API
24
+ */
25
+
26
+ extend(Vue, require('./api/global'))
27
+
28
+ /**
29
+ * Vue and every constructor that extends Vue has an
30
+ * associated options object, which can be accessed during
31
+ * compilation steps as `this.constructor.options`.
32
+ *
33
+ * These can be seen as the default options of every
34
+ * Vue instance.
35
+ */
36
+
37
+ Vue.options = {
38
+ replace: true,
39
+ directives: require('./directives'),
40
+ elementDirectives: require('./element-directives'),
41
+ filters: require('./filters'),
42
+ transitions: {},
43
+ components: {},
44
+ partials: {}
45
+ }
46
+
47
+ /**
48
+ * Build up the prototype
49
+ */
50
+
51
+ var p = Vue.prototype
52
+
53
+ /**
54
+ * $data has a setter which does a bunch of
55
+ * teardown/setup work
56
+ */
57
+
58
+ Object.defineProperty(p, '$data', {
59
+ get: function () {
60
+ return this._data
61
+ },
62
+ set: function (newData) {
63
+ if (newData !== this._data) {
64
+ this._setData(newData)
65
+ }
66
+ }
67
+ })
68
+
69
+ /**
70
+ * Mixin internal instance methods
71
+ */
72
+
73
+ extend(p, require('./instance/init'))
74
+ extend(p, require('./instance/events'))
75
+ extend(p, require('./instance/scope'))
76
+ extend(p, require('./instance/compile'))
77
+ extend(p, require('./instance/misc'))
78
+
79
+ /**
80
+ * Mixin public API methods
81
+ */
82
+
83
+ extend(p, require('./api/data'))
84
+ extend(p, require('./api/dom'))
85
+ extend(p, require('./api/events'))
86
+ extend(p, require('./api/child'))
87
+ extend(p, require('./api/lifecycle'))
88
+
89
+ module.exports = _.Vue = Vue