ende 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -0
  3. data/.ruby-version +1 -0
  4. data/build/build.css +112 -0
  5. data/build/build.js +36465 -0
  6. data/component.json +11 -15
  7. data/components/chaijs/assertion-error/1.0.0/component.json +18 -0
  8. data/components/chaijs/chai/1.9.1/.gitignore +22 -0
  9. data/components/chaijs/chai/1.9.1/.mailmap +1 -0
  10. data/components/chaijs/chai/1.9.1/.npmignore +14 -0
  11. data/components/chaijs/chai/1.9.1/.travis.yml +14 -0
  12. data/components/chaijs/chai/1.9.1/CONTRIBUTING.md +173 -0
  13. data/components/chaijs/chai/1.9.1/History.md +895 -0
  14. data/components/chaijs/chai/1.9.1/Makefile +93 -0
  15. data/components/chaijs/chai/1.9.1/README.md +99 -0
  16. data/components/chaijs/chai/1.9.1/ReleaseNotes.md +482 -0
  17. data/components/chaijs/chai/1.9.1/bower.json +27 -0
  18. data/components/chaijs/chai/1.9.1/chai.js +4782 -0
  19. data/components/chaijs/chai/1.9.1/component.json +50 -0
  20. data/components/chaijs/chai/1.9.1/karma.conf.js +28 -0
  21. data/components/chaijs/chai/1.9.1/karma.sauce.js +41 -0
  22. data/components/chaijs/chai/1.9.1/lib/chai/assertion.js +130 -0
  23. data/components/chaijs/chai/1.9.1/lib/chai/config.js +50 -0
  24. data/components/chaijs/chai/1.9.1/lib/chai/core/assertions.js +1314 -0
  25. data/components/chaijs/chai/1.9.1/lib/chai/interface/assert.js +1056 -0
  26. data/components/chaijs/chai/1.9.1/lib/chai/interface/expect.js +12 -0
  27. data/components/chaijs/chai/1.9.1/lib/chai/interface/should.js +78 -0
  28. data/components/chaijs/chai/1.9.1/lib/chai/utils/addChainableMethod.js +111 -0
  29. data/components/chaijs/chai/1.9.1/lib/chai/utils/addMethod.js +43 -0
  30. data/components/chaijs/chai/1.9.1/lib/chai/utils/addProperty.js +40 -0
  31. data/components/chaijs/chai/1.9.1/lib/chai/utils/flag.js +32 -0
  32. data/components/chaijs/chai/1.9.1/lib/chai/utils/getActual.js +18 -0
  33. data/components/chaijs/chai/1.9.1/lib/chai/utils/getEnumerableProperties.js +25 -0
  34. data/components/chaijs/chai/1.9.1/lib/chai/utils/getMessage.js +49 -0
  35. data/components/chaijs/chai/1.9.1/lib/chai/utils/getName.js +20 -0
  36. data/components/chaijs/chai/1.9.1/lib/chai/utils/getPathValue.js +102 -0
  37. data/components/chaijs/chai/1.9.1/lib/chai/utils/getProperties.js +35 -0
  38. data/components/chaijs/chai/1.9.1/lib/chai/utils/index.js +114 -0
  39. data/components/chaijs/chai/1.9.1/lib/chai/utils/objDisplay.js +49 -0
  40. data/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteChainableMethod.js +53 -0
  41. data/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteMethod.js +51 -0
  42. data/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteProperty.js +54 -0
  43. data/components/chaijs/chai/1.9.1/lib/chai/utils/test.js +26 -0
  44. data/components/chaijs/chai/1.9.1/lib/chai/utils/transferFlags.js +44 -0
  45. data/components/chaijs/chai/1.9.1/lib/chai/utils/type.js +45 -0
  46. data/components/chaijs/chai/1.9.1/lib/chai.js +87 -0
  47. data/components/chaijs/chai/1.9.1/package.json +42 -0
  48. data/components/chaijs/chai/1.9.1/sauce.browsers.js +128 -0
  49. data/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_block.sh +7 -0
  50. data/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_setup.sh +53 -0
  51. data/components/chaijs/chai/1.9.1/test/assert.js +638 -0
  52. data/components/chaijs/chai/1.9.1/test/bootstrap/index.js +22 -0
  53. data/components/chaijs/chai/1.9.1/test/bootstrap/karma.js +22 -0
  54. data/components/chaijs/chai/1.9.1/test/configuration.js +133 -0
  55. data/components/chaijs/chai/1.9.1/test/display/errors.js +14 -0
  56. data/components/chaijs/chai/1.9.1/test/display/message.js +47 -0
  57. data/components/chaijs/chai/1.9.1/test/expect.js +814 -0
  58. data/components/chaijs/chai/1.9.1/test/globalShould.js +15 -0
  59. data/components/chaijs/chai/1.9.1/test/plugins.js +24 -0
  60. data/components/chaijs/chai/1.9.1/test/should.js +744 -0
  61. data/components/chaijs/chai/1.9.1/test/utilities.js +309 -0
  62. data/components/chaijs/deep-eql/0.1.3/component.json +20 -0
  63. data/components/chaijs/deep-eql/0.1.3/lib/eql.js +257 -0
  64. data/components/chaijs/type-detect/0.1.1/component.json +18 -0
  65. data/components/chaijs/type-detect/0.1.1/lib/type.js +142 -0
  66. data/{vendor/components/indefinido-indemma/components/component-bind → components/component/bind/0.0.1}/component.json +1 -1
  67. data/{vendor/components/component-classes → components/component/classes/1.1.2}/component.json +1 -1
  68. data/components/component/classes/1.2.1/component.json +19 -0
  69. data/components/component/classes/1.2.1/index.js +184 -0
  70. data/{vendor/components/component-css → components/component/css/0.0.2}/component.json +2 -2
  71. data/{vendor/components/component-delegate → components/component/delegate/0.1.0}/component.json +2 -2
  72. data/components/component/dialog/0.2.0/component.json +35 -0
  73. data/{vendor/components/component-dialog → components/component/dialog/0.2.0}/index.js +74 -40
  74. data/components/component/dialog/0.2.0/template.html +9 -0
  75. data/{vendor/components/component-dom → components/component/dom/0.7.1}/component.json +6 -4
  76. data/{vendor/components/component-domify → components/component/domify/1.0.0}/component.json +6 -4
  77. data/components/component/domify/1.2.2/component.json +22 -0
  78. data/components/component/domify/1.2.2/index.js +87 -0
  79. data/{vendor/components/component-emitter → components/component/emitter/1.0.0}/component.json +1 -1
  80. data/{vendor/components/component-event → components/component/event/0.1.0}/component.json +3 -3
  81. data/components/component/event/0.1.0/index.js +40 -0
  82. data/components/component/event/0.1.3/component.json +13 -0
  83. data/{vendor/components/component-event → components/component/event/0.1.3}/index.js +3 -5
  84. data/{vendor/components/component-indexof → components/component/indexof/0.0.1}/component.json +1 -1
  85. data/{vendor/components/indefinido-indemma/components/component-jquery → components/component/jquery/1.9.1}/component.json +1 -1
  86. data/{vendor/components/component-matches-selector → components/component/matches-selector/0.1.2}/component.json +6 -4
  87. data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/component.json +1 -1
  88. data/{vendor/components/component-query → components/component/query/0.0.1}/component.json +6 -4
  89. data/components/component/query/0.0.3/component.json +23 -0
  90. data/components/component/query/0.0.3/index.js +21 -0
  91. data/{vendor/components/component-querystring → components/component/querystring/1.3.0}/component.json +4 -3
  92. data/{vendor/components/component-querystring → components/component/querystring/1.3.0}/index.js +26 -2
  93. data/{vendor/components/component-sort → components/component/sort/0.0.3}/component.json +2 -2
  94. data/{vendor/components/component-trim → components/component/trim/0.0.1}/component.json +1 -1
  95. data/{vendor/components/indefinido-indemma/components/component-type → components/component/type/1.0.0}/component.json +4 -2
  96. data/{vendor/components/component-value → components/component/value/1.1.0}/component.json +6 -4
  97. data/{vendor/components/components-modernizr → components/components/modernizr/2.6.2}/component.json +2 -3
  98. data/{vendor/components/indefinido-indemma/components/indefinido-advisable → components/indefinido/advisable/master}/component.json +2 -2
  99. data/components/indefinido/indemma/master/History.md +0 -0
  100. data/components/indefinido/indemma/master/build/build.js +26288 -0
  101. data/components/indefinido/indemma/master/build/development.js +22200 -0
  102. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/build/release.js +264 -273
  103. data/components/indefinido/indemma/master/build/test.js +22200 -0
  104. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/component.json +6 -6
  105. data/components/indefinido/indemma/master/components/chaijs-assertion-error/index.js +110 -0
  106. data/components/indefinido/indemma/master/components/chaijs-chai/index.js +1 -0
  107. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/inspect.js +320 -0
  108. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/associable.js +2 -14
  109. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/rest.js +2 -7
  110. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/restfulable.js +9 -33
  111. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/scopable.js +45 -16
  112. data/components/indefinido/indemma/master/lib/record/validatable.js +1100 -0
  113. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/associable_spec.js +2 -3
  114. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/scopable_spec.js +53 -83
  115. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/cpf_spec.js +6 -5
  116. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/associable.coffee +0 -6
  117. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/persistable.coffee +0 -2
  118. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/queryable.coffee +2 -1
  119. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/resource.coffee +2 -3
  120. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/rest.coffee +1 -7
  121. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/restfulable.coffee +8 -34
  122. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/scopable.coffee +31 -32
  123. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validatable.coffee +1 -12
  124. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/associable_spec.coffee +2 -3
  125. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/scopable_spec.coffee +43 -76
  126. data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/cpf_spec.coffee +4 -3
  127. data/{vendor/components/mikeric-rivets → components/mikeric/rivets/v0.5.12}/component.json +2 -2
  128. data/{vendor/components/paulmillr-es6-shim → components/paulmillr/es6-shim/0.10.1}/component.json +11 -4
  129. data/components/paulmillr/es6-shim/0.10.1/es6-shim.js +1833 -0
  130. data/{vendor/components/pluma-assimilate → components/pluma/assimilate/0.3.0}/component.json +3 -3
  131. data/{vendor/components/segmentio-extend → components/segmentio/extend/1.0.0}/component.json +3 -3
  132. data/lib/assets/javascripts/aura/extensions/models.js.coffee.erb +14 -14
  133. data/lib/assets/javascripts/aura/extensions/rivets/accounting.js.coffee +1 -1
  134. data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +3 -3
  135. data/lib/assets/javascripts/aura/extensions/stamps/stampit.js +568 -242
  136. data/lib/assets/javascripts/aura/extensions/widget/#composable.js.coffee# +135 -0
  137. data/lib/assets/javascripts/aura/extensions/widget/composable.js.coffee +2 -2
  138. data/lib/assets/javascripts/config/load_components.js.coffee +10 -10
  139. data/lib/assets/javascripts/ende.js.coffee +21 -18
  140. data/lib/assets/javascripts/widgets/support/adapters/olark.js +1 -4
  141. data/lib/assets/javascripts/widgets/viewer/main.js.coffee +8 -4
  142. data/lib/assets/javascripts/widgets/viewer/plugins/scopable.js.coffee +6 -7
  143. data/lib/ende/version.rb +1 -1
  144. data/vendor/assets/components/build.css +4 -3
  145. data/vendor/assets/components/ende_build.js +29772 -21943
  146. metadata +284 -217
  147. data/vendor/components/KapIT-observe-utils/component.json +0 -16
  148. data/vendor/components/KapIT-observe-utils/lib/observe-utils.js +0 -780
  149. data/vendor/components/component-dialog/component.json +0 -23
  150. data/vendor/components/component-dialog/template.js +0 -1
  151. data/vendor/components/indefinido-indemma/build/development.js +0 -343
  152. data/vendor/components/indefinido-indemma/build/test.js +0 -343
  153. data/vendor/components/indefinido-indemma/lib/record/validatable.js +0 -224
  154. data/vendor/components/indefinido-observable/component.json +0 -24
  155. data/vendor/components/indefinido-observable/index.js +0 -1
  156. data/vendor/components/indefinido-observable/lib/adapters/rivets.js +0 -28
  157. data/vendor/components/indefinido-observable/lib/observable.js +0 -390
  158. data/vendor/components/indefinido-observable/vendor/shims/accessors-legacy.js +0 -92
  159. data/vendor/components/indefinido-observable/vendor/shims/accessors.js +0 -248
  160. data/vendor/components/indefinido-observable/vendor/shims/array.indexOf.js +0 -8
  161. data/vendor/components/indefinido-observable/vendor/shims/object.create.js +0 -77
  162. data/vendor/components/paulmillr-es6-shim/es6-shim.js +0 -996
  163. /data/{vendor/components/indefinido-indemma/components/chaijs-assertion-error → components/chaijs/assertion-error/1.0.0}/index.js +0 -0
  164. /data/{vendor/components/indefinido-indemma/components/chaijs-chai → components/chaijs/chai/1.9.1}/index.js +0 -0
  165. /data/{vendor/components/indefinido-indemma/components/chaijs-chai → components/chaijs/chai/1.9.1}/lib/chai/utils/inspect.js +0 -0
  166. /data/{vendor/components/indefinido-indemma/History.md → components/chaijs/chai/1.9.1/test/auth/.gitkeep} +0 -0
  167. /data/{vendor/components/component-bind → components/component/bind/0.0.1}/index.js +0 -0
  168. /data/{vendor/components/component-classes → components/component/classes/1.1.2}/index.js +0 -0
  169. /data/{vendor/components/component-css → components/component/css/0.0.2}/index.js +0 -0
  170. /data/{vendor/components/component-delegate → components/component/delegate/0.1.0}/index.js +0 -0
  171. /data/{vendor/components/component-dialog → components/component/dialog/0.2.0}/dialog.css +0 -0
  172. /data/{vendor/components/component-dom → components/component/dom/0.7.1}/index.js +0 -0
  173. /data/{vendor/components/component-domify → components/component/domify/1.0.0}/index.js +0 -0
  174. /data/{vendor/components/component-emitter → components/component/emitter/1.0.0}/index.js +0 -0
  175. /data/{vendor/components/component-indexof → components/component/indexof/0.0.1}/index.js +0 -0
  176. /data/{vendor/components/component-jquery → components/component/jquery/1.9.1}/index.js +0 -0
  177. /data/{vendor/components/component-matches-selector → components/component/matches-selector/0.1.2}/index.js +0 -0
  178. /data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/index.js +0 -0
  179. /data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/overlay.css +0 -0
  180. /data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/template.js +0 -0
  181. /data/{vendor/components/component-query → components/component/query/0.0.1}/index.js +0 -0
  182. /data/{vendor/components/component-sort → components/component/sort/0.0.3}/index.js +0 -0
  183. /data/{vendor/components/component-trim → components/component/trim/0.0.1}/index.js +0 -0
  184. /data/{vendor/components/component-type → components/component/type/1.0.0}/index.js +0 -0
  185. /data/{vendor/components/component-value → components/component/value/1.1.0}/index.js +0 -0
  186. /data/{vendor/components/components-modernizr → components/components/modernizr/2.6.2}/modernizr.js +0 -0
  187. /data/{vendor/components/indefinido-advisable → components/indefinido/advisable/master}/index.js +0 -0
  188. /data/{vendor/components/indefinido-advisable → components/indefinido/advisable/master}/lib/advisable.js +0 -0
  189. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/.gitignore +0 -0
  190. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/.ruby-gemset +0 -0
  191. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/.ruby-version +0 -0
  192. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/Gemfile +0 -0
  193. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/Guardfile +0 -0
  194. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/Readme.md +0 -0
  195. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-assertion-error/component.json +0 -0
  196. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/component.json +0 -0
  197. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/assertion.js +0 -0
  198. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/core/assertions.js +0 -0
  199. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/interface/assert.js +0 -0
  200. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/interface/expect.js +0 -0
  201. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/interface/should.js +0 -0
  202. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -0
  203. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -0
  204. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -0
  205. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/eql.js +0 -0
  206. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/flag.js +0 -0
  207. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getActual.js +0 -0
  208. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -0
  209. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -0
  210. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getName.js +0 -0
  211. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -0
  212. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -0
  213. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/index.js +0 -0
  214. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -0
  215. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -0
  216. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -0
  217. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/test.js +0 -0
  218. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -0
  219. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/type.js +0 -0
  220. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai.js +0 -0
  221. /data/{vendor → components/indefinido/indemma/master}/components/component-bind/component.json +0 -0
  222. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/component-bind/index.js +0 -0
  223. /data/{vendor → components/indefinido/indemma/master}/components/component-jquery/component.json +0 -0
  224. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/component-jquery/index.js +0 -0
  225. /data/{vendor → components/indefinido/indemma/master}/components/component-type/component.json +0 -0
  226. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/component-type/index.js +0 -0
  227. /data/{vendor → components/indefinido/indemma/master}/components/indefinido-advisable/component.json +0 -0
  228. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-advisable/index.js +0 -0
  229. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-advisable/lib/advisable.js +0 -0
  230. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/component.json +0 -0
  231. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -0
  232. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/index.js +0 -0
  233. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/lib/adapters/rivets.js +0 -0
  234. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/lib/observable.js +0 -0
  235. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/accessors-legacy.js +0 -0
  236. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/accessors.js +0 -0
  237. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/array.indexOf.js +0 -0
  238. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/object.create.js +0 -0
  239. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/kapit-observe-utils/component.json +0 -0
  240. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/paulmillr-es6-shim/component.json +0 -0
  241. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/paulmillr-es6-shim/es6-shim.js +0 -0
  242. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/pluma-assimilate/component.json +0 -0
  243. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/pluma-assimilate/dist/assimilate.js +0 -0
  244. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/index.js +0 -0
  245. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/karma.conf.js +0 -0
  246. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/extensions/rivets.js +0 -0
  247. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/errors.js +0 -0
  248. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/maid.js +0 -0
  249. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/persistable.js +0 -0
  250. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/queryable.js +0 -0
  251. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/resource.js +0 -0
  252. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/storable.js +0 -0
  253. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/translationable.js +0 -0
  254. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/associated.js +0 -0
  255. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/confirmation.js +0 -0
  256. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/cpf.js +0 -0
  257. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/presence.js +0 -0
  258. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/remote.js +0 -0
  259. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/type.js +0 -0
  260. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/validatorable.js +0 -0
  261. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record.js +0 -0
  262. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/package.json +0 -0
  263. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/persistable_spec.js +0 -0
  264. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/queryable_spec.js +0 -0
  265. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/resource_spec.js +0 -0
  266. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/rest_spec.js +0 -0
  267. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/restfulable_spec.js +0 -0
  268. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/storable_spec.js +0 -0
  269. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/translationable.js +0 -0
  270. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validatable_spec.js +0 -0
  271. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/associated_spec.js +0 -0
  272. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/confirmation_spec.js +0 -0
  273. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/presence_spec.js +0 -0
  274. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/remote_spec.js +0 -0
  275. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/type_spec.js +0 -0
  276. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record_spec.js +0 -0
  277. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/spec_helper.js +0 -0
  278. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/support/value_objects/phone.js +0 -0
  279. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/extensions/rivets.coffee +0 -0
  280. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/errors.coffee +0 -0
  281. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/maid.coffee +0 -0
  282. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/storable.coffee +0 -0
  283. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/translationable.coffee +0 -0
  284. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/associated.coffee +0 -0
  285. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/confirmation.coffee +0 -0
  286. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/cpf.coffee +0 -0
  287. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/presence.coffee +0 -0
  288. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/remote.coffee +0 -0
  289. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/type.coffee +0 -0
  290. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/validatorable.coffee +0 -0
  291. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record.coffee +0 -0
  292. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/persistable_spec.coffee +0 -0
  293. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/queryable_spec.coffee +0 -0
  294. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/resource_spec.coffee +0 -0
  295. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/rest_spec.coffee +0 -0
  296. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/restfulable_spec.coffee +0 -0
  297. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/storable_spec.coffee +0 -0
  298. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/translationable.coffee +0 -0
  299. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validatable_spec.coffee +0 -0
  300. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/associated_spec.coffee +0 -0
  301. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/confirmation_spec.coffee +0 -0
  302. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/presence_spec.coffee +0 -0
  303. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/remote_spec.coffee +0 -0
  304. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/type_spec.coffee +0 -0
  305. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record_spec.coffee +0 -0
  306. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/spec_helper.coffee +0 -0
  307. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/support/value_objects/phone.coffee +0 -0
  308. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/object/mixin.js +0 -0
  309. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/owl/pluralize.js +0 -0
  310. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/sinon.js +0 -0
  311. /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/stampit.js +0 -0
  312. /data/{vendor/components/mikeric-rivets → components/mikeric/rivets/v0.5.12}/dist/rivets.js +0 -0
  313. /data/{vendor/components/pluma-assimilate → components/pluma/assimilate/0.3.0}/dist/assimilate.js +0 -0
  314. /data/{vendor/components/segmentio-extend → components/segmentio/extend/1.0.0}/index.js +0 -0
@@ -0,0 +1,309 @@
1
+ describe('utilities', function () {
2
+ var expect = chai.expect;
3
+
4
+ after(function() {
5
+ // Some clean-up so we can run tests in a --watch
6
+ delete chai.Assertion.prototype.eqqqual;
7
+ delete chai.Assertion.prototype.result;
8
+ delete chai.Assertion.prototype.doesnotexist;
9
+ });
10
+
11
+ it('_obj', function () {
12
+ var foo = 'bar'
13
+ , test = expect(foo);
14
+
15
+ expect(test).to.have.property('_obj', foo);
16
+
17
+ var bar = 'baz';
18
+ test._obj = bar;
19
+
20
+ expect(test).to.have.property('_obj', bar);
21
+ test.equal(bar);
22
+ });
23
+
24
+ it('transferFlags', function () {
25
+ var foo = 'bar'
26
+ , test = expect(foo).not;
27
+
28
+ chai.use(function (_chai, utils) {
29
+ var obj = {};
30
+ utils.transferFlags(test, obj);
31
+ expect(utils.flag(obj, 'object')).to.equal(foo);
32
+ expect(utils.flag(obj, 'negate')).to.equal(true);
33
+ });
34
+ });
35
+
36
+ it('transferFlags, includeAll = false', function () {
37
+ var foo = 'bar';
38
+
39
+ chai.use(function (_chai, utils) {
40
+ var obj = {};
41
+ var test = function() {};
42
+
43
+ var assertion = new chai.Assertion({}, "message", test);
44
+ var flag = {};
45
+ utils.flag(obj, 'flagMe', flag);
46
+ utils.flag(obj, 'negate', true);
47
+ utils.transferFlags(test, obj, false);
48
+
49
+ expect(utils.flag(obj, 'object')).to.equal(undefined);
50
+ expect(utils.flag(obj, 'message')).to.equal(undefined);
51
+ expect(utils.flag(obj, 'ssfi')).to.equal(undefined);
52
+ expect(utils.flag(obj, 'negate')).to.equal(true);
53
+ expect(utils.flag(obj, 'flagMe')).to.equal(flag);
54
+ });
55
+ });
56
+
57
+
58
+ it('getPathValue', function () {
59
+ var object = {
60
+ hello: 'universe'
61
+ , universe: {
62
+ hello: 'world'
63
+ }
64
+ , world: [ 'hello', 'universe' ]
65
+ , complex: [
66
+ { hello: 'universe' }
67
+ , { universe: 'world' }
68
+ , [ { hello: 'world' } ]
69
+ ]
70
+ }
71
+
72
+ var arr = [ [ true ] ];
73
+
74
+ chai.use(function (_chai, utils) {
75
+ var gpv = utils.getPathValue;
76
+ expect(gpv('hello', object)).to.equal('universe');
77
+ expect(gpv('universe.hello', object)).to.equal('world');
78
+ expect(gpv('world[1]', object)).to.equal('universe');
79
+ expect(gpv('complex[1].universe', object)).to.equal('world');
80
+ expect(gpv('complex[2][0].hello', object)).to.equal('world');
81
+ expect(gpv('[0][0]', arr)).to.be.true;
82
+ });
83
+ });
84
+
85
+ it('addMethod', function () {
86
+ chai.use(function(_chai, utils) {
87
+ expect(_chai.Assertion).to.not.respondTo('eqqqual');
88
+ _chai.Assertion.addMethod('eqqqual', function (str) {
89
+ var object = utils.flag(this, 'object');
90
+ new _chai.Assertion(object).to.be.eql(str);
91
+ });
92
+ expect(_chai.Assertion).to.respondTo('eqqqual');
93
+ });
94
+
95
+ expect('spec').to.eqqqual('spec');
96
+ });
97
+
98
+ it('addMethod returning result', function () {
99
+ chai.use(function(_chai, utils) {
100
+ _chai.Assertion.addMethod('result', function () {
101
+ return 'result';
102
+ })
103
+ });
104
+
105
+ expect(expect('foo').result()).to.equal('result');
106
+ });
107
+
108
+ it('overwriteMethod', function () {
109
+ chai.use(function (_chai, _) {
110
+ expect(_chai.Assertion).to.respondTo('eqqqual');
111
+ _chai.Assertion.overwriteMethod('eqqqual', function (_super) {
112
+ return function (str) {
113
+ var object = _.flag(this, 'object');
114
+ if (object == 'cucumber' && str == 'cuke') {
115
+ _.flag(this, 'cucumber', true);
116
+ } else {
117
+ _super.apply(this, arguments);
118
+ }
119
+ };
120
+ });
121
+
122
+ });
123
+
124
+ var vege = expect('cucumber').to.eqqqual('cucumber');
125
+ expect(vege.__flags).to.not.have.property('cucumber');
126
+ var cuke = expect('cucumber').to.eqqqual('cuke');
127
+ expect(cuke.__flags).to.have.property('cucumber');
128
+
129
+ chai.use(function (_chai, _) {
130
+ expect(_chai.Assertion).to.not.respondTo('doesnotexist');
131
+ _chai.Assertion.overwriteMethod('doesnotexist', function (_super) {
132
+ expect(_super).to.be.a('function');
133
+ return function () {
134
+ _.flag(this, 'doesnt', true);
135
+ _super.apply(this, arguments);
136
+ }
137
+ });
138
+ });
139
+
140
+ var dne = expect('something').to.doesnotexist();
141
+ expect(dne.__flags).to.have.property('doesnt');
142
+ });
143
+
144
+ it('overwriteMethod returning result', function () {
145
+ chai.use(function (_chai, _) {
146
+ _chai.Assertion.overwriteMethod('result', function (_super) {
147
+ return function () {
148
+ return 'result';
149
+ }
150
+ });
151
+ });
152
+
153
+ expect(expect('foo').result()).to.equal('result');
154
+ });
155
+
156
+ it('addProperty', function () {
157
+ chai.use(function (_chai, _) {
158
+ _chai.Assertion.addProperty('tea', function () {
159
+ _.flag(this, 'tea', 'chai');
160
+ });
161
+ });
162
+
163
+ var assert = expect('chai').to.be.tea;
164
+ expect(assert.__flags.tea).to.equal('chai');
165
+ });
166
+
167
+ it('addProperty returning result', function () {
168
+ chai.use(function(_chai, _) {
169
+ _chai.Assertion.addProperty('result', function () {
170
+ return 'result';
171
+ })
172
+ });
173
+
174
+ expect(expect('foo').result).to.equal('result');
175
+ });
176
+
177
+ it('overwriteProperty', function () {
178
+ chai.use(function (_chai, _) {
179
+ expect(new chai.Assertion()).to.have.property('tea');
180
+ _chai.Assertion.overwriteProperty('tea', function (_super) {
181
+ return function () {
182
+ var act = _.flag(this, 'object');
183
+ if (act === 'matcha') {
184
+ _.flag(this, 'tea', 'matcha');
185
+ } else {
186
+ _super.call(this);
187
+ }
188
+ }
189
+ });
190
+ });
191
+
192
+ var matcha = expect('matcha').to.be.tea;
193
+ expect(matcha.__flags.tea).to.equal('matcha');
194
+ var assert = expect('something').to.be.tea;
195
+ expect(assert.__flags.tea).to.equal('chai');
196
+ });
197
+
198
+ it('overwriteProperty returning result', function () {
199
+ chai.use(function(_chai, _) {
200
+ _chai.Assertion.overwriteProperty('result', function (_super) {
201
+ return function () {
202
+ return 'result';
203
+ }
204
+ });
205
+ });
206
+
207
+ expect(expect('foo').result).to.equal('result');
208
+ });
209
+
210
+ it('getMessage', function () {
211
+ chai.use(function (_chai, _) {
212
+ expect(_.getMessage({}, [])).to.equal('');
213
+ expect(_.getMessage({}, [null, null, null])).to.equal('');
214
+
215
+ var obj = {};
216
+ _.flag(obj, 'message', 'foo');
217
+ expect(_.getMessage(obj, [])).to.contain('foo');
218
+ });
219
+ });
220
+
221
+ it('inspect with custom object-returning inspect()s', function () {
222
+ chai.use(function (_chai, _) {
223
+ var obj = {
224
+ outer: {
225
+ inspect: function () {
226
+ return { foo: 'bar' };
227
+ }
228
+ }
229
+ };
230
+
231
+ expect(_.inspect(obj)).to.equal('{ outer: { foo: \'bar\' } }');
232
+ });
233
+ });
234
+
235
+ it('addChainableMethod', function () {
236
+ chai.use(function (_chai, _) {
237
+ _chai.Assertion.addChainableMethod('x',
238
+ function () {
239
+ new chai.Assertion(this._obj).to.be.equal('x');
240
+ }
241
+ , function () {
242
+ this._obj = this._obj || {};
243
+ this._obj.__x = 'X!'
244
+ }
245
+ );
246
+
247
+ expect("foo").x.to.equal("foo");
248
+ expect("x").x();
249
+
250
+ expect(function () {
251
+ expect("foo").x();
252
+ }).to.throw(_chai.AssertionError);
253
+
254
+ // Verify whether the original Function properties are present.
255
+ // see https://github.com/chaijs/chai/commit/514dd6ce4#commitcomment-2593383
256
+ var propertyDescriptor = Object.getOwnPropertyDescriptor(chai.Assertion.prototype, "x");
257
+ expect(propertyDescriptor.get).to.have.property("call", Function.prototype.call);
258
+ expect(propertyDescriptor.get).to.have.property("apply", Function.prototype.apply);
259
+ expect(propertyDescriptor.get()).to.have.property("call", Function.prototype.call);
260
+ expect(propertyDescriptor.get()).to.have.property("apply", Function.prototype.apply);
261
+
262
+ var obj = {};
263
+ expect(obj).x.to.be.ok;
264
+ expect(obj).to.have.property('__x', 'X!');
265
+ })
266
+ });
267
+
268
+ it('overwriteChainableMethod', function () {
269
+ chai.use(function (_chai, _) {
270
+ _chai.Assertion.overwriteChainableMethod('x',
271
+ function(_super) {
272
+ return function() {
273
+ if (_.flag(this, 'marked')) {
274
+ new chai.Assertion(this._obj).to.be.equal('spot');
275
+ } else {
276
+ _super.apply(this, arguments);
277
+ }
278
+ };
279
+ }
280
+ , function(_super) {
281
+ return function() {
282
+ _.flag(this, 'message', 'x marks the spot');
283
+ _super.apply(this, arguments);
284
+ };
285
+ }
286
+ );
287
+
288
+ // Make sure the original behavior of 'x' remains the same
289
+ expect('foo').x.to.equal("foo");
290
+ expect("x").x();
291
+ expect(function () {
292
+ expect("foo").x();
293
+ }).to.throw(_chai.AssertionError);
294
+ var obj = {};
295
+ expect(obj).x.to.be.ok;
296
+ expect(obj).to.have.property('__x', 'X!');
297
+
298
+ // Test the new behavior of 'x'
299
+ var assertion = expect('foo').x.to.be.ok;
300
+ expect(_.flag(assertion, 'message')).to.equal('x marks the spot');
301
+ expect(function () {
302
+ var assertion = expect('x');
303
+ _.flag(assertion, 'marked', true);
304
+ assertion.x()
305
+ }).to.throw(_chai.AssertionError);
306
+ });
307
+ });
308
+
309
+ });
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "deep-eql",
3
+ "version": "0.1.3",
4
+ "description": "Improved deep equality testing for Node.js and the browser.",
5
+ "license": "MIT",
6
+ "keywords": [],
7
+ "main": "lib/eql.js",
8
+ "scripts": [
9
+ "lib/eql.js"
10
+ ],
11
+ "dependencies": {
12
+ "chaijs/type-detect": "0.1.1"
13
+ },
14
+ "development": {
15
+ "dependencies": {
16
+ "chaijs/simple-assert": "1.0.0"
17
+ }
18
+ },
19
+ "repository": "chaijs/deep-eql"
20
+ }
@@ -0,0 +1,257 @@
1
+ /*!
2
+ * deep-eql
3
+ * Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
4
+ * MIT Licensed
5
+ */
6
+
7
+ /*!
8
+ * Module dependencies
9
+ */
10
+
11
+ var type = require('type-detect');
12
+
13
+ /*!
14
+ * Buffer.isBuffer browser shim
15
+ */
16
+
17
+ var Buffer;
18
+ try { Buffer = require('buffer').Buffer; }
19
+ catch(ex) {
20
+ Buffer = {};
21
+ Buffer.isBuffer = function() { return false; }
22
+ }
23
+
24
+ /*!
25
+ * Primary Export
26
+ */
27
+
28
+ module.exports = deepEqual;
29
+
30
+ /**
31
+ * Assert super-strict (egal) equality between
32
+ * two objects of any type.
33
+ *
34
+ * @param {Mixed} a
35
+ * @param {Mixed} b
36
+ * @param {Array} memoised (optional)
37
+ * @return {Boolean} equal match
38
+ */
39
+
40
+ function deepEqual(a, b, m) {
41
+ if (sameValue(a, b)) {
42
+ return true;
43
+ } else if ('date' === type(a)) {
44
+ return dateEqual(a, b);
45
+ } else if ('regexp' === type(a)) {
46
+ return regexpEqual(a, b);
47
+ } else if (Buffer.isBuffer(a)) {
48
+ return bufferEqual(a, b);
49
+ } else if ('arguments' === type(a)) {
50
+ return argumentsEqual(a, b, m);
51
+ } else if (!typeEqual(a, b)) {
52
+ return false;
53
+ } else if (('object' !== type(a) && 'object' !== type(b))
54
+ && ('array' !== type(a) && 'array' !== type(b))) {
55
+ return sameValue(a, b);
56
+ } else {
57
+ return objectEqual(a, b, m);
58
+ }
59
+ }
60
+
61
+ /*!
62
+ * Strict (egal) equality test. Ensures that NaN always
63
+ * equals NaN and `-0` does not equal `+0`.
64
+ *
65
+ * @param {Mixed} a
66
+ * @param {Mixed} b
67
+ * @return {Boolean} equal match
68
+ */
69
+
70
+ function sameValue(a, b) {
71
+ if (a === b) return a !== 0 || 1 / a === 1 / b;
72
+ return a !== a && b !== b;
73
+ }
74
+
75
+ /*!
76
+ * Compare the types of two given objects and
77
+ * return if they are equal. Note that an Array
78
+ * has a type of `array` (not `object`) and arguments
79
+ * have a type of `arguments` (not `array`/`object`).
80
+ *
81
+ * @param {Mixed} a
82
+ * @param {Mixed} b
83
+ * @return {Boolean} result
84
+ */
85
+
86
+ function typeEqual(a, b) {
87
+ return type(a) === type(b);
88
+ }
89
+
90
+ /*!
91
+ * Compare two Date objects by asserting that
92
+ * the time values are equal using `saveValue`.
93
+ *
94
+ * @param {Date} a
95
+ * @param {Date} b
96
+ * @return {Boolean} result
97
+ */
98
+
99
+ function dateEqual(a, b) {
100
+ if ('date' !== type(b)) return false;
101
+ return sameValue(a.getTime(), b.getTime());
102
+ }
103
+
104
+ /*!
105
+ * Compare two regular expressions by converting them
106
+ * to string and checking for `sameValue`.
107
+ *
108
+ * @param {RegExp} a
109
+ * @param {RegExp} b
110
+ * @return {Boolean} result
111
+ */
112
+
113
+ function regexpEqual(a, b) {
114
+ if ('regexp' !== type(b)) return false;
115
+ return sameValue(a.toString(), b.toString());
116
+ }
117
+
118
+ /*!
119
+ * Assert deep equality of two `arguments` objects.
120
+ * Unfortunately, these must be sliced to arrays
121
+ * prior to test to ensure no bad behavior.
122
+ *
123
+ * @param {Arguments} a
124
+ * @param {Arguments} b
125
+ * @param {Array} memoize (optional)
126
+ * @return {Boolean} result
127
+ */
128
+
129
+ function argumentsEqual(a, b, m) {
130
+ if ('arguments' !== type(b)) return false;
131
+ a = [].slice.call(a);
132
+ b = [].slice.call(b);
133
+ return deepEqual(a, b, m);
134
+ }
135
+
136
+ /*!
137
+ * Get enumerable properties of a given object.
138
+ *
139
+ * @param {Object} a
140
+ * @return {Array} property names
141
+ */
142
+
143
+ function enumerable(a) {
144
+ var res = [];
145
+ for (var key in a) res.push(key);
146
+ return res;
147
+ }
148
+
149
+ /*!
150
+ * Simple equality for flat iterable objects
151
+ * such as Arrays or Node.js buffers.
152
+ *
153
+ * @param {Iterable} a
154
+ * @param {Iterable} b
155
+ * @return {Boolean} result
156
+ */
157
+
158
+ function iterableEqual(a, b) {
159
+ if (a.length !== b.length) return false;
160
+
161
+ var i = 0;
162
+ var match = true;
163
+
164
+ for (; i < a.length; i++) {
165
+ if (a[i] !== b[i]) {
166
+ match = false;
167
+ break;
168
+ }
169
+ }
170
+
171
+ return match;
172
+ }
173
+
174
+ /*!
175
+ * Extension to `iterableEqual` specifically
176
+ * for Node.js Buffers.
177
+ *
178
+ * @param {Buffer} a
179
+ * @param {Mixed} b
180
+ * @return {Boolean} result
181
+ */
182
+
183
+ function bufferEqual(a, b) {
184
+ if (!Buffer.isBuffer(b)) return false;
185
+ return iterableEqual(a, b);
186
+ }
187
+
188
+ /*!
189
+ * Block for `objectEqual` ensuring non-existing
190
+ * values don't get in.
191
+ *
192
+ * @param {Mixed} object
193
+ * @return {Boolean} result
194
+ */
195
+
196
+ function isValue(a) {
197
+ return a !== null && a !== undefined;
198
+ }
199
+
200
+ /*!
201
+ * Recursively check the equality of two objects.
202
+ * Once basic sameness has been established it will
203
+ * defer to `deepEqual` for each enumerable key
204
+ * in the object.
205
+ *
206
+ * @param {Mixed} a
207
+ * @param {Mixed} b
208
+ * @return {Boolean} result
209
+ */
210
+
211
+ function objectEqual(a, b, m) {
212
+ if (!isValue(a) || !isValue(b)) {
213
+ return false;
214
+ }
215
+
216
+ if (a.prototype !== b.prototype) {
217
+ return false;
218
+ }
219
+
220
+ var i;
221
+ if (m) {
222
+ for (i = 0; i < m.length; i++) {
223
+ if ((m[i][0] === a && m[i][1] === b)
224
+ || (m[i][0] === b && m[i][1] === a)) {
225
+ return true;
226
+ }
227
+ }
228
+ } else {
229
+ m = [];
230
+ }
231
+
232
+ try {
233
+ var ka = enumerable(a);
234
+ var kb = enumerable(b);
235
+ } catch (ex) {
236
+ return false;
237
+ }
238
+
239
+ ka.sort();
240
+ kb.sort();
241
+
242
+ if (!iterableEqual(ka, kb)) {
243
+ return false;
244
+ }
245
+
246
+ m.push([ a, b ]);
247
+
248
+ var key;
249
+ for (i = ka.length - 1; i >= 0; i--) {
250
+ key = ka[i];
251
+ if (!deepEqual(a[key], b[key], m)) {
252
+ return false;
253
+ }
254
+ }
255
+
256
+ return true;
257
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "type-detect",
3
+ "version": "0.1.1",
4
+ "description": "Improved typeof detection for node.js and the browser.",
5
+ "license": "MIT",
6
+ "keywords": [],
7
+ "main": "lib/type.js",
8
+ "scripts": [
9
+ "lib/type.js"
10
+ ],
11
+ "dependencies": {},
12
+ "development": {
13
+ "dependencies": {
14
+ "chaijs/simple-assert": "*"
15
+ }
16
+ },
17
+ "repository": "chaijs/type-detect"
18
+ }