solvas-jsduck 6.0.0.beta.1888

Sign up to get free protection for your applications and to get access to all the features.
Files changed (659) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +674 -0
  3. data/README.md +115 -0
  4. data/bin/solvas-jsduck +27 -0
  5. data/js-classes/Array.js +1054 -0
  6. data/js-classes/Boolean.js +110 -0
  7. data/js-classes/Date.js +1022 -0
  8. data/js-classes/Function.js +336 -0
  9. data/js-classes/Number.js +308 -0
  10. data/js-classes/Object.js +1042 -0
  11. data/js-classes/RegExp.js +415 -0
  12. data/js-classes/String.js +1052 -0
  13. data/lib/jsduck/aggregator.rb +200 -0
  14. data/lib/jsduck/app.rb +63 -0
  15. data/lib/jsduck/assets.rb +54 -0
  16. data/lib/jsduck/base_type.rb +53 -0
  17. data/lib/jsduck/batch_parser.rb +46 -0
  18. data/lib/jsduck/batch_processor.rb +83 -0
  19. data/lib/jsduck/cache.rb +137 -0
  20. data/lib/jsduck/categories/auto.rb +83 -0
  21. data/lib/jsduck/categories/class_name.rb +39 -0
  22. data/lib/jsduck/categories/factory.rb +75 -0
  23. data/lib/jsduck/categories/file.rb +69 -0
  24. data/lib/jsduck/class.rb +218 -0
  25. data/lib/jsduck/class_doc_expander.rb +132 -0
  26. data/lib/jsduck/class_name.rb +23 -0
  27. data/lib/jsduck/class_writer.rb +53 -0
  28. data/lib/jsduck/columns.rb +56 -0
  29. data/lib/jsduck/css/parser.rb +90 -0
  30. data/lib/jsduck/css/type.rb +57 -0
  31. data/lib/jsduck/doc/comment.rb +40 -0
  32. data/lib/jsduck/doc/delimited_parser.rb +105 -0
  33. data/lib/jsduck/doc/map.rb +23 -0
  34. data/lib/jsduck/doc/parser.rb +135 -0
  35. data/lib/jsduck/doc/processor.rb +52 -0
  36. data/lib/jsduck/doc/scanner.rb +83 -0
  37. data/lib/jsduck/doc/standard_tag_parser.rb +125 -0
  38. data/lib/jsduck/doc/subproperties.rb +71 -0
  39. data/lib/jsduck/examples.rb +63 -0
  40. data/lib/jsduck/export_writer.rb +63 -0
  41. data/lib/jsduck/exporter/app.rb +80 -0
  42. data/lib/jsduck/exporter/examples.rb +58 -0
  43. data/lib/jsduck/exporter/full.rb +60 -0
  44. data/lib/jsduck/external_classes.rb +362 -0
  45. data/lib/jsduck/format/batch.rb +58 -0
  46. data/lib/jsduck/format/class.rb +62 -0
  47. data/lib/jsduck/format/doc.rb +172 -0
  48. data/lib/jsduck/format/html_stack.rb +108 -0
  49. data/lib/jsduck/format/shortener.rb +55 -0
  50. data/lib/jsduck/format/subproperties.rb +64 -0
  51. data/lib/jsduck/grouped_asset.rb +59 -0
  52. data/lib/jsduck/guide_anchors.rb +39 -0
  53. data/lib/jsduck/guide_toc.rb +68 -0
  54. data/lib/jsduck/guide_toc_entry.rb +54 -0
  55. data/lib/jsduck/guide_writer.rb +58 -0
  56. data/lib/jsduck/guides.rb +188 -0
  57. data/lib/jsduck/img/dir.rb +94 -0
  58. data/lib/jsduck/img/dir_set.rb +39 -0
  59. data/lib/jsduck/img/writer.rb +23 -0
  60. data/lib/jsduck/inline/auto_link.rb +106 -0
  61. data/lib/jsduck/inline/example.rb +44 -0
  62. data/lib/jsduck/inline/img.rb +63 -0
  63. data/lib/jsduck/inline/link.rb +100 -0
  64. data/lib/jsduck/inline/link_renderer.rb +70 -0
  65. data/lib/jsduck/inline/video.rb +61 -0
  66. data/lib/jsduck/inline_examples.rb +94 -0
  67. data/lib/jsduck/js/associator.rb +224 -0
  68. data/lib/jsduck/js/ast.rb +69 -0
  69. data/lib/jsduck/js/class.rb +248 -0
  70. data/lib/jsduck/js/evaluator.rb +70 -0
  71. data/lib/jsduck/js/event.rb +34 -0
  72. data/lib/jsduck/js/ext_define.rb +46 -0
  73. data/lib/jsduck/js/ext_patterns.rb +75 -0
  74. data/lib/jsduck/js/fires.rb +42 -0
  75. data/lib/jsduck/js/listener.rb +35 -0
  76. data/lib/jsduck/js/method.rb +99 -0
  77. data/lib/jsduck/js/method_calls.rb +40 -0
  78. data/lib/jsduck/js/node.rb +267 -0
  79. data/lib/jsduck/js/node_array.rb +36 -0
  80. data/lib/jsduck/js/parser.rb +44 -0
  81. data/lib/jsduck/js/property.rb +81 -0
  82. data/lib/jsduck/js/returns.rb +211 -0
  83. data/lib/jsduck/js/rkelly_adapter.rb +587 -0
  84. data/lib/jsduck/js/scoped_traverser.rb +42 -0
  85. data/lib/jsduck/js/serializer.rb +263 -0
  86. data/lib/jsduck/js/utils.rb +21 -0
  87. data/lib/jsduck/logger.rb +186 -0
  88. data/lib/jsduck/member_registry.rb +41 -0
  89. data/lib/jsduck/members_index.rb +141 -0
  90. data/lib/jsduck/merger.rb +83 -0
  91. data/lib/jsduck/news.rb +149 -0
  92. data/lib/jsduck/options/config.rb +35 -0
  93. data/lib/jsduck/options/helpful_parser.rb +111 -0
  94. data/lib/jsduck/options/input_files.rb +60 -0
  95. data/lib/jsduck/options/jsb.rb +25 -0
  96. data/lib/jsduck/options/parser.rb +968 -0
  97. data/lib/jsduck/options/processor.rb +47 -0
  98. data/lib/jsduck/options/record.rb +51 -0
  99. data/lib/jsduck/output_dir.rb +29 -0
  100. data/lib/jsduck/params_merger.rb +47 -0
  101. data/lib/jsduck/parser.rb +76 -0
  102. data/lib/jsduck/process/accessors.rb +152 -0
  103. data/lib/jsduck/process/circular_deps.rb +58 -0
  104. data/lib/jsduck/process/components.rb +19 -0
  105. data/lib/jsduck/process/enums.rb +90 -0
  106. data/lib/jsduck/process/ext4_events.rb +46 -0
  107. data/lib/jsduck/process/fires.rb +71 -0
  108. data/lib/jsduck/process/global_members.rb +35 -0
  109. data/lib/jsduck/process/ignored_classes.rb +16 -0
  110. data/lib/jsduck/process/importer.rb +75 -0
  111. data/lib/jsduck/process/inherit_class.rb +58 -0
  112. data/lib/jsduck/process/inherit_doc.rb +32 -0
  113. data/lib/jsduck/process/inherit_members.rb +259 -0
  114. data/lib/jsduck/process/lint.rb +118 -0
  115. data/lib/jsduck/process/no_doc.rb +50 -0
  116. data/lib/jsduck/process/overrides.rb +99 -0
  117. data/lib/jsduck/process/return_values.rb +72 -0
  118. data/lib/jsduck/process/versions.rb +137 -0
  119. data/lib/jsduck/relations.rb +95 -0
  120. data/lib/jsduck/render/class.rb +152 -0
  121. data/lib/jsduck/render/sidebar.rb +97 -0
  122. data/lib/jsduck/render/signature_util.rb +14 -0
  123. data/lib/jsduck/render/subproperties.rb +117 -0
  124. data/lib/jsduck/render/tags.rb +50 -0
  125. data/lib/jsduck/source/file.rb +89 -0
  126. data/lib/jsduck/tag/abstract.rb +11 -0
  127. data/lib/jsduck/tag/accessor.rb +10 -0
  128. data/lib/jsduck/tag/alias.rb +42 -0
  129. data/lib/jsduck/tag/alternate_class_names.rb +13 -0
  130. data/lib/jsduck/tag/aside.rb +71 -0
  131. data/lib/jsduck/tag/author.rb +30 -0
  132. data/lib/jsduck/tag/boolean_tag.rb +24 -0
  133. data/lib/jsduck/tag/cfg.rb +79 -0
  134. data/lib/jsduck/tag/chainable.rb +12 -0
  135. data/lib/jsduck/tag/class.rb +77 -0
  136. data/lib/jsduck/tag/class_list_tag.rb +40 -0
  137. data/lib/jsduck/tag/component.rb +19 -0
  138. data/lib/jsduck/tag/constructor.rb +24 -0
  139. data/lib/jsduck/tag/css_mixin.rb +31 -0
  140. data/lib/jsduck/tag/css_var.rb +50 -0
  141. data/lib/jsduck/tag/default.rb +25 -0
  142. data/lib/jsduck/tag/deprecated.rb +23 -0
  143. data/lib/jsduck/tag/deprecated_tag.rb +60 -0
  144. data/lib/jsduck/tag/doc.rb +32 -0
  145. data/lib/jsduck/tag/docauthor.rb +12 -0
  146. data/lib/jsduck/tag/enum.rb +67 -0
  147. data/lib/jsduck/tag/event.rb +36 -0
  148. data/lib/jsduck/tag/evented.rb +10 -0
  149. data/lib/jsduck/tag/experimental.rb +28 -0
  150. data/lib/jsduck/tag/extends.rb +39 -0
  151. data/lib/jsduck/tag/fires.rb +55 -0
  152. data/lib/jsduck/tag/ftype.rb +19 -0
  153. data/lib/jsduck/tag/hide.rb +11 -0
  154. data/lib/jsduck/tag/icons/cfg.png +0 -0
  155. data/lib/jsduck/tag/icons/class-large.png +0 -0
  156. data/lib/jsduck/tag/icons/class-redirect.png +0 -0
  157. data/lib/jsduck/tag/icons/class.png +0 -0
  158. data/lib/jsduck/tag/icons/component-large.png +0 -0
  159. data/lib/jsduck/tag/icons/component-redirect.png +0 -0
  160. data/lib/jsduck/tag/icons/component.png +0 -0
  161. data/lib/jsduck/tag/icons/css_mixin.png +0 -0
  162. data/lib/jsduck/tag/icons/css_var.png +0 -0
  163. data/lib/jsduck/tag/icons/event.png +0 -0
  164. data/lib/jsduck/tag/icons/listener.png +0 -0
  165. data/lib/jsduck/tag/icons/method.png +0 -0
  166. data/lib/jsduck/tag/icons/property.png +0 -0
  167. data/lib/jsduck/tag/icons/singleton-large.png +0 -0
  168. data/lib/jsduck/tag/icons/singleton-redirect.png +0 -0
  169. data/lib/jsduck/tag/icons/singleton.png +0 -0
  170. data/lib/jsduck/tag/ignore.rb +12 -0
  171. data/lib/jsduck/tag/inheritable.rb +10 -0
  172. data/lib/jsduck/tag/inheritdoc.rb +48 -0
  173. data/lib/jsduck/tag/listener.rb +36 -0
  174. data/lib/jsduck/tag/localdoc.rb +33 -0
  175. data/lib/jsduck/tag/markdown.rb +14 -0
  176. data/lib/jsduck/tag/member.rb +24 -0
  177. data/lib/jsduck/tag/member_tag.rb +131 -0
  178. data/lib/jsduck/tag/method.rb +75 -0
  179. data/lib/jsduck/tag/mixins.rb +27 -0
  180. data/lib/jsduck/tag/new.rb +32 -0
  181. data/lib/jsduck/tag/override.rb +37 -0
  182. data/lib/jsduck/tag/overrides.rb +29 -0
  183. data/lib/jsduck/tag/param.rb +46 -0
  184. data/lib/jsduck/tag/preventable.rb +37 -0
  185. data/lib/jsduck/tag/private.rb +35 -0
  186. data/lib/jsduck/tag/property.rb +67 -0
  187. data/lib/jsduck/tag/protected.rb +12 -0
  188. data/lib/jsduck/tag/ptype.rb +19 -0
  189. data/lib/jsduck/tag/readonly.rb +11 -0
  190. data/lib/jsduck/tag/removed.rb +32 -0
  191. data/lib/jsduck/tag/required.rb +23 -0
  192. data/lib/jsduck/tag/requires.rb +13 -0
  193. data/lib/jsduck/tag/return.rb +48 -0
  194. data/lib/jsduck/tag/since.rb +30 -0
  195. data/lib/jsduck/tag/singleton.rb +28 -0
  196. data/lib/jsduck/tag/static.rb +12 -0
  197. data/lib/jsduck/tag/subproperties.rb +23 -0
  198. data/lib/jsduck/tag/tag.rb +164 -0
  199. data/lib/jsduck/tag/template.rb +29 -0
  200. data/lib/jsduck/tag/throws.rb +39 -0
  201. data/lib/jsduck/tag/type.rb +38 -0
  202. data/lib/jsduck/tag/uses.rb +13 -0
  203. data/lib/jsduck/tag/xtype.rb +31 -0
  204. data/lib/jsduck/tag_loader.rb +50 -0
  205. data/lib/jsduck/tag_registry.rb +95 -0
  206. data/lib/jsduck/type_parser.rb +388 -0
  207. data/lib/jsduck/util/html.rb +27 -0
  208. data/lib/jsduck/util/io.rb +49 -0
  209. data/lib/jsduck/util/json.rb +60 -0
  210. data/lib/jsduck/util/md5.rb +32 -0
  211. data/lib/jsduck/util/null_object.rb +36 -0
  212. data/lib/jsduck/util/os.rb +14 -0
  213. data/lib/jsduck/util/parallel.rb +38 -0
  214. data/lib/jsduck/util/singleton.rb +35 -0
  215. data/lib/jsduck/util/stdout.rb +33 -0
  216. data/lib/jsduck/version.rb +5 -0
  217. data/lib/jsduck/videos.rb +40 -0
  218. data/lib/jsduck/warning/all.rb +36 -0
  219. data/lib/jsduck/warning/basic.rb +57 -0
  220. data/lib/jsduck/warning/deprecated.rb +40 -0
  221. data/lib/jsduck/warning/nodoc.rb +79 -0
  222. data/lib/jsduck/warning/parser.rb +168 -0
  223. data/lib/jsduck/warning/registry.rb +108 -0
  224. data/lib/jsduck/warning/tag.rb +57 -0
  225. data/lib/jsduck/warning/warn_exception.rb +10 -0
  226. data/lib/jsduck/web/class_icons.rb +76 -0
  227. data/lib/jsduck/web/css.rb +40 -0
  228. data/lib/jsduck/web/data.rb +52 -0
  229. data/lib/jsduck/web/index_html.rb +105 -0
  230. data/lib/jsduck/web/member_icons.rb +43 -0
  231. data/lib/jsduck/web/search.rb +153 -0
  232. data/lib/jsduck/web/source.rb +89 -0
  233. data/lib/jsduck/web/template.rb +51 -0
  234. data/lib/jsduck/web/tree.rb +22 -0
  235. data/lib/jsduck/web/writer.rb +100 -0
  236. data/lib/jsduck/welcome.rb +31 -0
  237. data/template-min/README.md +14 -0
  238. data/template-min/app-0f524ddd276c4019a11a6128932a9c96.js +1 -0
  239. data/template-min/eg-iframe.html +26 -0
  240. data/template-min/extjs/ext-all.js +38 -0
  241. data/template-min/extjs/resources/themes/images/default/boundlist/trigger-arrow.png +0 -0
  242. data/template-min/extjs/resources/themes/images/default/box/corners-blue.gif +0 -0
  243. data/template-min/extjs/resources/themes/images/default/box/corners.gif +0 -0
  244. data/template-min/extjs/resources/themes/images/default/box/l-blue.gif +0 -0
  245. data/template-min/extjs/resources/themes/images/default/box/l.gif +0 -0
  246. data/template-min/extjs/resources/themes/images/default/box/r-blue.gif +0 -0
  247. data/template-min/extjs/resources/themes/images/default/box/r.gif +0 -0
  248. data/template-min/extjs/resources/themes/images/default/box/tb-blue.gif +0 -0
  249. data/template-min/extjs/resources/themes/images/default/box/tb.gif +0 -0
  250. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif +0 -0
  251. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-corners.gif +0 -0
  252. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-sides.gif +0 -0
  253. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif +0 -0
  254. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif +0 -0
  255. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-corners.gif +0 -0
  256. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif +0 -0
  257. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif +0 -0
  258. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif +0 -0
  259. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif +0 -0
  260. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif +0 -0
  261. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif +0 -0
  262. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif +0 -0
  263. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif +0 -0
  264. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif +0 -0
  265. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif +0 -0
  266. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif +0 -0
  267. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif +0 -0
  268. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-sides.gif +0 -0
  269. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif +0 -0
  270. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif +0 -0
  271. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif +0 -0
  272. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif +0 -0
  273. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif +0 -0
  274. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif +0 -0
  275. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif +0 -0
  276. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif +0 -0
  277. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif +0 -0
  278. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif +0 -0
  279. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif +0 -0
  280. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif +0 -0
  281. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif +0 -0
  282. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif +0 -0
  283. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif +0 -0
  284. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-bg.gif +0 -0
  285. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif +0 -0
  286. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif +0 -0
  287. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif +0 -0
  288. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif +0 -0
  289. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif +0 -0
  290. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif +0 -0
  291. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif +0 -0
  292. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif +0 -0
  293. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif +0 -0
  294. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif +0 -0
  295. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif +0 -0
  296. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif +0 -0
  297. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif +0 -0
  298. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif +0 -0
  299. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-corners.gif +0 -0
  300. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif +0 -0
  301. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif +0 -0
  302. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif +0 -0
  303. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif +0 -0
  304. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif +0 -0
  305. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif +0 -0
  306. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif +0 -0
  307. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif +0 -0
  308. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif +0 -0
  309. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif +0 -0
  310. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif +0 -0
  311. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif +0 -0
  312. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif +0 -0
  313. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif +0 -0
  314. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif +0 -0
  315. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif +0 -0
  316. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif +0 -0
  317. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif +0 -0
  318. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif +0 -0
  319. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif +0 -0
  320. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif +0 -0
  321. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif +0 -0
  322. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif +0 -0
  323. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif +0 -0
  324. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-sides.gif +0 -0
  325. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif +0 -0
  326. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif +0 -0
  327. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif +0 -0
  328. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif +0 -0
  329. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif +0 -0
  330. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif +0 -0
  331. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif +0 -0
  332. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif +0 -0
  333. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif +0 -0
  334. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif +0 -0
  335. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif +0 -0
  336. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif +0 -0
  337. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif +0 -0
  338. data/template-min/extjs/resources/themes/images/default/button/arrow.gif +0 -0
  339. data/template-min/extjs/resources/themes/images/default/button/btn.gif +0 -0
  340. data/template-min/extjs/resources/themes/images/default/button/group-cs.gif +0 -0
  341. data/template-min/extjs/resources/themes/images/default/button/group-lr.gif +0 -0
  342. data/template-min/extjs/resources/themes/images/default/button/group-tb.gif +0 -0
  343. data/template-min/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif +0 -0
  344. data/template-min/extjs/resources/themes/images/default/button/s-arrow-b.gif +0 -0
  345. data/template-min/extjs/resources/themes/images/default/button/s-arrow-bo.gif +0 -0
  346. data/template-min/extjs/resources/themes/images/default/button/s-arrow-light.gif +0 -0
  347. data/template-min/extjs/resources/themes/images/default/button/s-arrow-noline.gif +0 -0
  348. data/template-min/extjs/resources/themes/images/default/button/s-arrow-o.gif +0 -0
  349. data/template-min/extjs/resources/themes/images/default/button/s-arrow.gif +0 -0
  350. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif +0 -0
  351. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.png +0 -0
  352. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif +0 -0
  353. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png +0 -0
  354. data/template-min/extjs/resources/themes/images/default/dd/drop-add.gif +0 -0
  355. data/template-min/extjs/resources/themes/images/default/dd/drop-no.gif +0 -0
  356. data/template-min/extjs/resources/themes/images/default/dd/drop-yes.gif +0 -0
  357. data/template-min/extjs/resources/themes/images/default/editor/tb-sprite.gif +0 -0
  358. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-corners.gif +0 -0
  359. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif +0 -0
  360. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif +0 -0
  361. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-sides.gif +0 -0
  362. data/template-min/extjs/resources/themes/images/default/form/checkbox.gif +0 -0
  363. data/template-min/extjs/resources/themes/images/default/form/clear-trigger.gif +0 -0
  364. data/template-min/extjs/resources/themes/images/default/form/date-trigger.gif +0 -0
  365. data/template-min/extjs/resources/themes/images/default/form/error-tip-corners.gif +0 -0
  366. data/template-min/extjs/resources/themes/images/default/form/exclamation.gif +0 -0
  367. data/template-min/extjs/resources/themes/images/default/form/radio.gif +0 -0
  368. data/template-min/extjs/resources/themes/images/default/form/search-trigger.gif +0 -0
  369. data/template-min/extjs/resources/themes/images/default/form/spinner-small.gif +0 -0
  370. data/template-min/extjs/resources/themes/images/default/form/spinner.gif +0 -0
  371. data/template-min/extjs/resources/themes/images/default/form/text-bg.gif +0 -0
  372. data/template-min/extjs/resources/themes/images/default/form/trigger-square.gif +0 -0
  373. data/template-min/extjs/resources/themes/images/default/form/trigger-tpl.gif +0 -0
  374. data/template-min/extjs/resources/themes/images/default/form/trigger.gif +0 -0
  375. data/template-min/extjs/resources/themes/images/default/grid/arrow-left-white.gif +0 -0
  376. data/template-min/extjs/resources/themes/images/default/grid/arrow-right-white.gif +0 -0
  377. data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.gif +0 -0
  378. data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.png +0 -0
  379. data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif +0 -0
  380. data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png +0 -0
  381. data/template-min/extjs/resources/themes/images/default/grid/checked.gif +0 -0
  382. data/template-min/extjs/resources/themes/images/default/grid/col-move-bottom.gif +0 -0
  383. data/template-min/extjs/resources/themes/images/default/grid/col-move-top.gif +0 -0
  384. data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.gif +0 -0
  385. data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.png +0 -0
  386. data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.gif +0 -0
  387. data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.png +0 -0
  388. data/template-min/extjs/resources/themes/images/default/grid/columns.gif +0 -0
  389. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif +0 -0
  390. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png +0 -0
  391. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif +0 -0
  392. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png +0 -0
  393. data/template-min/extjs/resources/themes/images/default/grid/dirty.gif +0 -0
  394. data/template-min/extjs/resources/themes/images/default/grid/done.gif +0 -0
  395. data/template-min/extjs/resources/themes/images/default/grid/drop-no.gif +0 -0
  396. data/template-min/extjs/resources/themes/images/default/grid/drop-yes.gif +0 -0
  397. data/template-min/extjs/resources/themes/images/default/grid/footer-bg.gif +0 -0
  398. data/template-min/extjs/resources/themes/images/default/grid/grid-blue-hd.gif +0 -0
  399. data/template-min/extjs/resources/themes/images/default/grid/grid-blue-split.gif +0 -0
  400. data/template-min/extjs/resources/themes/images/default/grid/grid-hrow.gif +0 -0
  401. data/template-min/extjs/resources/themes/images/default/grid/grid-loading.gif +0 -0
  402. data/template-min/extjs/resources/themes/images/default/grid/grid-split.gif +0 -0
  403. data/template-min/extjs/resources/themes/images/default/grid/grid-vista-hd.gif +0 -0
  404. data/template-min/extjs/resources/themes/images/default/grid/grid3-hd-btn.gif +0 -0
  405. data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow-over.gif +0 -0
  406. data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow.gif +0 -0
  407. data/template-min/extjs/resources/themes/images/default/grid/grid3-rowheader.gif +0 -0
  408. data/template-min/extjs/resources/themes/images/default/grid/group-by.gif +0 -0
  409. data/template-min/extjs/resources/themes/images/default/grid/group-collapse.gif +0 -0
  410. data/template-min/extjs/resources/themes/images/default/grid/group-expand-sprite.gif +0 -0
  411. data/template-min/extjs/resources/themes/images/default/grid/group-expand.gif +0 -0
  412. data/template-min/extjs/resources/themes/images/default/grid/hd-pop.gif +0 -0
  413. data/template-min/extjs/resources/themes/images/default/grid/hmenu-asc.gif +0 -0
  414. data/template-min/extjs/resources/themes/images/default/grid/hmenu-desc.gif +0 -0
  415. data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.gif +0 -0
  416. data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.png +0 -0
  417. data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.gif +0 -0
  418. data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.png +0 -0
  419. data/template-min/extjs/resources/themes/images/default/grid/invalid_line.gif +0 -0
  420. data/template-min/extjs/resources/themes/images/default/grid/loading.gif +0 -0
  421. data/template-min/extjs/resources/themes/images/default/grid/mso-hd.gif +0 -0
  422. data/template-min/extjs/resources/themes/images/default/grid/nowait.gif +0 -0
  423. data/template-min/extjs/resources/themes/images/default/grid/page-first-disabled.gif +0 -0
  424. data/template-min/extjs/resources/themes/images/default/grid/page-first.gif +0 -0
  425. data/template-min/extjs/resources/themes/images/default/grid/page-last-disabled.gif +0 -0
  426. data/template-min/extjs/resources/themes/images/default/grid/page-last.gif +0 -0
  427. data/template-min/extjs/resources/themes/images/default/grid/page-next-disabled.gif +0 -0
  428. data/template-min/extjs/resources/themes/images/default/grid/page-next.gif +0 -0
  429. data/template-min/extjs/resources/themes/images/default/grid/page-prev-disabled.gif +0 -0
  430. data/template-min/extjs/resources/themes/images/default/grid/page-prev.gif +0 -0
  431. data/template-min/extjs/resources/themes/images/default/grid/pick-button.gif +0 -0
  432. data/template-min/extjs/resources/themes/images/default/grid/property-cell-bg.gif +0 -0
  433. data/template-min/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif +0 -0
  434. data/template-min/extjs/resources/themes/images/default/grid/refresh-disabled.gif +0 -0
  435. data/template-min/extjs/resources/themes/images/default/grid/refresh.gif +0 -0
  436. data/template-min/extjs/resources/themes/images/default/grid/row-check-sprite.gif +0 -0
  437. data/template-min/extjs/resources/themes/images/default/grid/row-expand-sprite.gif +0 -0
  438. data/template-min/extjs/resources/themes/images/default/grid/row-over.gif +0 -0
  439. data/template-min/extjs/resources/themes/images/default/grid/row-sel.gif +0 -0
  440. data/template-min/extjs/resources/themes/images/default/grid/sort-hd.gif +0 -0
  441. data/template-min/extjs/resources/themes/images/default/grid/sort_asc.gif +0 -0
  442. data/template-min/extjs/resources/themes/images/default/grid/sort_desc.gif +0 -0
  443. data/template-min/extjs/resources/themes/images/default/grid/unchecked.gif +0 -0
  444. data/template-min/extjs/resources/themes/images/default/grid/wait.gif +0 -0
  445. data/template-min/extjs/resources/themes/images/default/layout/mini-bottom.gif +0 -0
  446. data/template-min/extjs/resources/themes/images/default/layout/mini-left.gif +0 -0
  447. data/template-min/extjs/resources/themes/images/default/layout/mini-right.gif +0 -0
  448. data/template-min/extjs/resources/themes/images/default/layout/mini-top.gif +0 -0
  449. data/template-min/extjs/resources/themes/images/default/menu/checked.gif +0 -0
  450. data/template-min/extjs/resources/themes/images/default/menu/group-checked.gif +0 -0
  451. data/template-min/extjs/resources/themes/images/default/menu/item-over.gif +0 -0
  452. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif +0 -0
  453. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-corners.gif +0 -0
  454. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-sides.gif +0 -0
  455. data/template-min/extjs/resources/themes/images/default/menu/menu-parent.gif +0 -0
  456. data/template-min/extjs/resources/themes/images/default/menu/menu.gif +0 -0
  457. data/template-min/extjs/resources/themes/images/default/menu/unchecked.gif +0 -0
  458. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif +0 -0
  459. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif +0 -0
  460. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif +0 -0
  461. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif +0 -0
  462. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif +0 -0
  463. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif +0 -0
  464. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif +0 -0
  465. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif +0 -0
  466. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif +0 -0
  467. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif +0 -0
  468. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif +0 -0
  469. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif +0 -0
  470. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif +0 -0
  471. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif +0 -0
  472. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif +0 -0
  473. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif +0 -0
  474. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif +0 -0
  475. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif +0 -0
  476. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif +0 -0
  477. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif +0 -0
  478. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif +0 -0
  479. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif +0 -0
  480. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif +0 -0
  481. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif +0 -0
  482. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif +0 -0
  483. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif +0 -0
  484. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif +0 -0
  485. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif +0 -0
  486. data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif +0 -0
  487. data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif +0 -0
  488. data/template-min/extjs/resources/themes/images/default/progress/progress-default-bg.gif +0 -0
  489. data/template-min/extjs/resources/themes/images/default/shared/blue-loading.gif +0 -0
  490. data/template-min/extjs/resources/themes/images/default/shared/calendar.gif +0 -0
  491. data/template-min/extjs/resources/themes/images/default/shared/glass-bg.gif +0 -0
  492. data/template-min/extjs/resources/themes/images/default/shared/hd-sprite.gif +0 -0
  493. data/template-min/extjs/resources/themes/images/default/shared/icon-error.gif +0 -0
  494. data/template-min/extjs/resources/themes/images/default/shared/icon-info.gif +0 -0
  495. data/template-min/extjs/resources/themes/images/default/shared/icon-question.gif +0 -0
  496. data/template-min/extjs/resources/themes/images/default/shared/icon-warning.gif +0 -0
  497. data/template-min/extjs/resources/themes/images/default/shared/large-loading.gif +0 -0
  498. data/template-min/extjs/resources/themes/images/default/shared/left-btn.gif +0 -0
  499. data/template-min/extjs/resources/themes/images/default/shared/loading-balls.gif +0 -0
  500. data/template-min/extjs/resources/themes/images/default/shared/right-btn.gif +0 -0
  501. data/template-min/extjs/resources/themes/images/default/shared/shadow-c.png +0 -0
  502. data/template-min/extjs/resources/themes/images/default/shared/shadow-lr.png +0 -0
  503. data/template-min/extjs/resources/themes/images/default/shared/shadow.png +0 -0
  504. data/template-min/extjs/resources/themes/images/default/shared/warning.gif +0 -0
  505. data/template-min/extjs/resources/themes/images/default/sizer/e-handle-dark.gif +0 -0
  506. data/template-min/extjs/resources/themes/images/default/sizer/e-handle.gif +0 -0
  507. data/template-min/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif +0 -0
  508. data/template-min/extjs/resources/themes/images/default/sizer/ne-handle.gif +0 -0
  509. data/template-min/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif +0 -0
  510. data/template-min/extjs/resources/themes/images/default/sizer/nw-handle.gif +0 -0
  511. data/template-min/extjs/resources/themes/images/default/sizer/s-handle-dark.gif +0 -0
  512. data/template-min/extjs/resources/themes/images/default/sizer/s-handle.gif +0 -0
  513. data/template-min/extjs/resources/themes/images/default/sizer/se-handle-dark.gif +0 -0
  514. data/template-min/extjs/resources/themes/images/default/sizer/se-handle.gif +0 -0
  515. data/template-min/extjs/resources/themes/images/default/sizer/square.gif +0 -0
  516. data/template-min/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif +0 -0
  517. data/template-min/extjs/resources/themes/images/default/sizer/sw-handle.gif +0 -0
  518. data/template-min/extjs/resources/themes/images/default/slider/slider-bg.gif +0 -0
  519. data/template-min/extjs/resources/themes/images/default/slider/slider-bg.png +0 -0
  520. data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.gif +0 -0
  521. data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.png +0 -0
  522. data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.gif +0 -0
  523. data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.png +0 -0
  524. data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.gif +0 -0
  525. data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.png +0 -0
  526. data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-left.gif +0 -0
  527. data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-right.gif +0 -0
  528. data/template-min/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif +0 -0
  529. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif +0 -0
  530. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif +0 -0
  531. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif +0 -0
  532. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif +0 -0
  533. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif +0 -0
  534. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif +0 -0
  535. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif +0 -0
  536. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif +0 -0
  537. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif +0 -0
  538. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif +0 -0
  539. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif +0 -0
  540. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif +0 -0
  541. data/template-min/extjs/resources/themes/images/default/tab/tab-default-close.gif +0 -0
  542. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif +0 -0
  543. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif +0 -0
  544. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif +0 -0
  545. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif +0 -0
  546. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif +0 -0
  547. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif +0 -0
  548. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif +0 -0
  549. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif +0 -0
  550. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif +0 -0
  551. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif +0 -0
  552. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif +0 -0
  553. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif +0 -0
  554. data/template-min/extjs/resources/themes/images/default/tip/tip-corners.gif +0 -0
  555. data/template-min/extjs/resources/themes/images/default/tip/tip-sides.gif +0 -0
  556. data/template-min/extjs/resources/themes/images/default/toolbar/more.gif +0 -0
  557. data/template-min/extjs/resources/themes/images/default/toolbar/scroll-left.gif +0 -0
  558. data/template-min/extjs/resources/themes/images/default/toolbar/scroll-right.gif +0 -0
  559. data/template-min/extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif +0 -0
  560. data/template-min/extjs/resources/themes/images/default/tools/tool-sprite-tpl.gif +0 -0
  561. data/template-min/extjs/resources/themes/images/default/tools/tool-sprites.gif +0 -0
  562. data/template-min/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif +0 -0
  563. data/template-min/extjs/resources/themes/images/default/tree/arrows.gif +0 -0
  564. data/template-min/extjs/resources/themes/images/default/tree/drop-above.gif +0 -0
  565. data/template-min/extjs/resources/themes/images/default/tree/drop-add.gif +0 -0
  566. data/template-min/extjs/resources/themes/images/default/tree/drop-append.gif +0 -0
  567. data/template-min/extjs/resources/themes/images/default/tree/drop-below.gif +0 -0
  568. data/template-min/extjs/resources/themes/images/default/tree/drop-between.gif +0 -0
  569. data/template-min/extjs/resources/themes/images/default/tree/drop-no.gif +0 -0
  570. data/template-min/extjs/resources/themes/images/default/tree/drop-over.gif +0 -0
  571. data/template-min/extjs/resources/themes/images/default/tree/drop-under.gif +0 -0
  572. data/template-min/extjs/resources/themes/images/default/tree/drop-yes.gif +0 -0
  573. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif +0 -0
  574. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus.gif +0 -0
  575. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif +0 -0
  576. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus.gif +0 -0
  577. data/template-min/extjs/resources/themes/images/default/tree/elbow-end.gif +0 -0
  578. data/template-min/extjs/resources/themes/images/default/tree/elbow-line.gif +0 -0
  579. data/template-min/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif +0 -0
  580. data/template-min/extjs/resources/themes/images/default/tree/elbow-minus.gif +0 -0
  581. data/template-min/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif +0 -0
  582. data/template-min/extjs/resources/themes/images/default/tree/elbow-plus.gif +0 -0
  583. data/template-min/extjs/resources/themes/images/default/tree/elbow.gif +0 -0
  584. data/template-min/extjs/resources/themes/images/default/tree/folder-open.gif +0 -0
  585. data/template-min/extjs/resources/themes/images/default/tree/folder.gif +0 -0
  586. data/template-min/extjs/resources/themes/images/default/tree/leaf.gif +0 -0
  587. data/template-min/extjs/resources/themes/images/default/tree/loading.gif +0 -0
  588. data/template-min/extjs/resources/themes/images/default/tree/s.gif +0 -0
  589. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif +0 -0
  590. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-left.gif +0 -0
  591. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-right.gif +0 -0
  592. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-top.gif +0 -0
  593. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif +0 -0
  594. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif +0 -0
  595. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif +0 -0
  596. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif +0 -0
  597. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif +0 -0
  598. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif +0 -0
  599. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-corners.gif +0 -0
  600. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif +0 -0
  601. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif +0 -0
  602. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif +0 -0
  603. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif +0 -0
  604. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif +0 -0
  605. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif +0 -0
  606. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif +0 -0
  607. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif +0 -0
  608. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif +0 -0
  609. data/template-min/extjs/resources/themes/images/default/window/window-default-corners.gif +0 -0
  610. data/template-min/extjs/resources/themes/images/default/window/window-default-sides.gif +0 -0
  611. data/template-min/favicon.ico +0 -0
  612. data/template-min/index-template.html +35 -0
  613. data/template-min/index.php +95 -0
  614. data/template-min/mobile-redirect.js +1 -0
  615. data/template-min/print-template.html +52 -0
  616. data/template-min/resources/css/app-de670120f43fdad3091a0cc2c10daadb.css +1 -0
  617. data/template-min/resources/images/ajax-loader.gif +0 -0
  618. data/template-min/resources/images/arrows.png +0 -0
  619. data/template-min/resources/images/comment-bubble.png +0 -0
  620. data/template-min/resources/images/comment.png +0 -0
  621. data/template-min/resources/images/default-guide.png +0 -0
  622. data/template-min/resources/images/doc-m.png +0 -0
  623. data/template-min/resources/images/down-arr.png +0 -0
  624. data/template-min/resources/images/elbow-end.gif +0 -0
  625. data/template-min/resources/images/example-icons.png +0 -0
  626. data/template-min/resources/images/expandcollapse.png +0 -0
  627. data/template-min/resources/images/group-expand-sprite.gif +0 -0
  628. data/template-min/resources/images/header.png +0 -0
  629. data/template-min/resources/images/hero-extjs4-alt.png +0 -0
  630. data/template-min/resources/images/icons.png +0 -0
  631. data/template-min/resources/images/icons.xcf +0 -0
  632. data/template-min/resources/images/link-green-standard-over.png +0 -0
  633. data/template-min/resources/images/link-green-standard.png +0 -0
  634. data/template-min/resources/images/loading.gif +0 -0
  635. data/template-min/resources/images/logo-screen-noglow.png +0 -0
  636. data/template-min/resources/images/logo.png +0 -0
  637. data/template-min/resources/images/member-collapsed.gif +0 -0
  638. data/template-min/resources/images/member-expanded.gif +0 -0
  639. data/template-min/resources/images/member-hover.gif +0 -0
  640. data/template-min/resources/images/more.png +0 -0
  641. data/template-min/resources/images/phone-l.jpg +0 -0
  642. data/template-min/resources/images/phone-p.jpg +0 -0
  643. data/template-min/resources/images/phone-small-l.jpg +0 -0
  644. data/template-min/resources/images/phone-small-p.jpg +0 -0
  645. data/template-min/resources/images/print.png +0 -0
  646. data/template-min/resources/images/sample-over.gif +0 -0
  647. data/template-min/resources/images/search-box.png +0 -0
  648. data/template-min/resources/images/tablet-l.jpg +0 -0
  649. data/template-min/resources/images/tablet-p.jpg +0 -0
  650. data/template-min/resources/images/tabs.png +0 -0
  651. data/template-min/resources/images/text-bg.gif +0 -0
  652. data/template-min/resources/images/vote-arrows.png +0 -0
  653. data/template-min/resources/images/welcome-bg-js4.gif +0 -0
  654. data/template-min/resources/images/x.png +0 -0
  655. data/template-min/resources/images/x12.png +0 -0
  656. data/template-min/resources/prettify/prettify.css +1 -0
  657. data/template-min/resources/prettify/prettify.js +30 -0
  658. data/template-min/template.html +44 -0
  659. metadata +828 -0
@@ -0,0 +1,415 @@
1
+ /**
2
+ * @class RegExp
3
+ *
4
+ * Creates a regular expression object for matching text according to a pattern.
5
+ *
6
+ * When using the constructor function, the normal string escape rules (preceding
7
+ * special characters with \ when included in a string) are necessary. For
8
+ * example, the following are equivalent:
9
+ *
10
+ * var re = new RegExp("\\w+");
11
+ * var re = /\w+/;
12
+ *
13
+ * Notice that the parameters to the literal format do not use quotation marks to
14
+ * indicate strings, while the parameters to the constructor function do use
15
+ * quotation marks. So the following expressions create the same regular
16
+ * expression:
17
+ *
18
+ * /ab+c/i;
19
+ * new RegExp("ab+c", "i");
20
+ *
21
+ * # Special characters in regular expressions
22
+ *
23
+ * | Character | Meaning
24
+ * |:-----------------|:--------------------------------------------------------------------------------------
25
+ * | `\` | For characters that are usually treated literally, indicates that the next character
26
+ * | | is special and not to be interpreted literally.
27
+ * | | For example, `/b/` matches the character 'b'. By placing a backslash in front of b, that
28
+ * | | is by using `/\b/`, the character becomes special to mean match a word boundary.
29
+ * | |
30
+ * | | _or_
31
+ * | |
32
+ * | | For characters that are usually treated specially, indicates that the next character is
33
+ * | | not special and should be interpreted literally.
34
+ * | |
35
+ * | | For example, `*` is a special character that means 0 or more occurrences of the preceding
36
+ * | | character should be matched; for example, `/a*\/` means match 0 or more "a"s. To match *
37
+ * | | literally, precede it with a backslash; for example, `/a\*\/` matches 'a*'.
38
+ * | |
39
+ * | `^` | Matches beginning of input. If the multiline flag is set to true, also matches
40
+ * | | immediately after a line break character.
41
+ * | |
42
+ * | | For example, `/^A/` does not match the 'A' in "an A", but does match the first 'A' in
43
+ * | | "An A".
44
+ * | |
45
+ * | `$` | Matches end of input. If the multiline flag is set to true, also matches immediately
46
+ * | | before a line break character.
47
+ * | |
48
+ * | | For example, `/t$/` does not match the 't' in "eater", but does match it in "eat".
49
+ * | |
50
+ * | `*` | Matches the preceding item 0 or more times.
51
+ * | |
52
+ * | | For example, `/bo*\/` matches 'boooo' in "A ghost booooed" and 'b' in "A bird warbled",
53
+ * | | but nothing in "A goat grunted".
54
+ * | |
55
+ * | `+` | Matches the preceding item 1 or more times. Equivalent to `{1,}`.
56
+ * | |
57
+ * | | For example, `/a+/` matches the 'a' in "candy" and all the a's in "caaaaaaandy".
58
+ * | |
59
+ * | `?` | Matches the preceding item 0 or 1 time.
60
+ * | |
61
+ * | | For example, `/e?le?/` matches the 'el' in "angel" and the 'le' in "angle."
62
+ * | |
63
+ * | | If used immediately after any of the quantifiers `*`, `+`, `?`, or `{}`, makes the quantifier
64
+ * | | non-greedy (matching the minimum number of times), as opposed to the default, which is
65
+ * | | greedy (matching the maximum number of times).
66
+ * | |
67
+ * | | Also used in lookahead assertions, described under `(?=)`, `(?!)`, and `(?:)` in this table.
68
+ * | |
69
+ * | `.` | (The decimal point) matches any single character except the newline characters: \n \r
70
+ * | | \u2028 or \u2029. (`[\s\S]` can be used to match any character including new lines.)
71
+ * | |
72
+ * | | For example, `/.n/` matches 'an' and 'on' in "nay, an apple is on the tree", but not 'nay'.
73
+ * | |
74
+ * | `(x)` | Matches `x` and remembers the match. These are called capturing parentheses.
75
+ * | |
76
+ * | | For example, `/(foo)/` matches and remembers 'foo' in "foo bar." The matched substring can
77
+ * | | be recalled from the resulting array's elements `[1], ..., [n]` or from the predefined RegExp
78
+ * | | object's properties `$1, ..., $9`.
79
+ * | |
80
+ * | `(?:x)` | Matches `x` but does not remember the match. These are called non-capturing parentheses.
81
+ * | | The matched substring can not be recalled from the resulting array's elements `[1], ..., [n]`
82
+ * | | or from the predefined RegExp object's properties `$1, ..., $9`.
83
+ * | |
84
+ * | `x(?=y)` | Matches `x` only if `x` is followed by `y`. For example, `/Jack(?=Sprat)/` matches 'Jack' only if
85
+ * | | it is followed by 'Sprat'. `/Jack(?=Sprat|Frost)/` matches 'Jack' only if it is followed by
86
+ * | | 'Sprat' or 'Frost'. However, neither 'Sprat' nor 'Frost' is part of the match results.
87
+ * | |
88
+ * | `x(?!y)` | Matches `x` only if `x` is not followed by `y`. For example, `/\d+(?!\.)/` matches a number only
89
+ * | | if it is not followed by a decimal point.
90
+ * | |
91
+ * | | `/\d+(?!\.)/.exec("3.141")` matches 141 but not 3.141.
92
+ * | |
93
+ * |<code>x&#124;y</code>| Matches either `x` or `y`.
94
+ * | |
95
+ * | | For example, `/green|red/` matches 'green' in "green apple" and 'red' in "red apple."
96
+ * | |
97
+ * | `{n}` | Where `n` is a positive integer. Matches exactly n occurrences of the preceding item.
98
+ * | |
99
+ * | | For example, `/a{2}/` doesn't match the 'a' in "candy," but it matches all of the a's
100
+ * | | in "caandy," and the first two a's in "caaandy."
101
+ * | |
102
+ * | `{n,}` | Where `n` is a positive integer. Matches at least n occurrences of the preceding item.
103
+ * | |
104
+ * | | For example, `/a{2,}/` doesn't match the 'a' in "candy", but matches all of the a's in
105
+ * | | "caandy" and in "caaaaaaandy."
106
+ * | |
107
+ * | `{n,m}` | Where `n` and `m` are positive integers. Matches at least `n` and at most `m` occurrences of the
108
+ * | | preceding item.
109
+ * | |
110
+ * | | For example, `/a{1,3}/` matches nothing in "cndy", the 'a' in "candy," the first two a's
111
+ * | | in "caandy," and the first three a's in "caaaaaaandy". Notice that when matching
112
+ * | | "caaaaaaandy", the match is "aaa", even though the original string had more a's in it.
113
+ * | |
114
+ * | `[xyz]` | A character set. Matches any one of the enclosed characters. You can specify a range of
115
+ * | | characters by using a hyphen.
116
+ * | |
117
+ * | | For example, `[abcd]` is the same as `[a-d]`. They match the 'b' in "brisket" and the 'c'
118
+ * | | in "chop".
119
+ * | |
120
+ * | `[^xyz]` | A negated or complemented character set. That is, it matches anything that is not
121
+ * | | enclosed in the brackets. You can specify a range of characters by using a hyphen.
122
+ * | |
123
+ * | | For example, `[^abc]` is the same as `[^a-c]`. They initially match 'r' in "brisket" and
124
+ * | | 'h' in "chop."
125
+ * | |
126
+ * | `[\b]` | Matches a backspace. (Not to be confused with `\b`.)
127
+ * | |
128
+ * | `\b` | Matches a word boundary, such as a space. (Not to be confused with `[\b]`.)
129
+ * | |
130
+ * | | For example, `/\bn\w/` matches the 'no' in "noonday"; `/\wy\b/` matches the 'ly' in
131
+ * | | "possibly yesterday."
132
+ * | |
133
+ * | `\B` | Matches a non-word boundary.
134
+ * | |
135
+ * | | For example, `/\w\Bn/` matches 'on' in "noonday", and `/y\B\w/` matches 'ye' in "possibly
136
+ * | | yesterday."
137
+ * | |
138
+ * | `\cX` | Where X is a letter from A - Z. Matches a control character in a string.
139
+ * | |
140
+ * | | For example, `/\cM/` matches control-M in a string.
141
+ * | |
142
+ * | `\d` | Matches a digit character in the basic Latin alphabet. Equivalent to `[0-9]`.
143
+ * | |
144
+ * | | For example, `/\d/` or `/[0-9]/` matches '2' in "B2 is the suite number."
145
+ * | |
146
+ * | `\D` | Matches any non-digit character in the basic Latin alphabet. Equivalent to `[^0-9]`.
147
+ * | |
148
+ * | | For example, `/\D/` or `/[^0-9]/` matches 'B' in "B2 is the suite number.
149
+ * | |
150
+ * | `\f` | Matches a form-feed.
151
+ * | |
152
+ * | `\n` | Matches a linefeed.
153
+ * | |
154
+ * | `\r` | Matches a carriage return.
155
+ * | |
156
+ * | `\s` | Matches a single white space character, including space, tab, form feed, line feed and
157
+ * | | other unicode spaces. Equivalent to:
158
+ * | |
159
+ * | | `[\t\n\v\f\r \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]`
160
+ * | |
161
+ * | | For example, `/\s\w*\/` matches ' bar' in "foo bar."
162
+ * | |
163
+ * | `\S` | Matches a single character other than white space. Equivalent to:
164
+ * | |
165
+ * | | `[^\t\n\v\f\r \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]`
166
+ * | |
167
+ * | | For example, `/\S\w*\/` matches 'foo' in "foo bar."
168
+ * | |
169
+ * | `\t` | Matches a tab.
170
+ * | |
171
+ * | `\v` | Matches a vertical tab.
172
+ * | |
173
+ * | `\w` | Matches any alphanumeric character from the basic Latin alphabet, including the
174
+ * | | underscore. Equivalent to `[A-Za-z0-9_]`.
175
+ * | |
176
+ * | | For example, `/\w/` matches 'a' in "apple," '5' in "$5.28," and '3' in "3D."
177
+ * | |
178
+ * | `\W` | Matches any character that is not a word character from the basic Latin alphabet. Equivalent
179
+ * | | to `[^A-Za-z0-9_]`.
180
+ * | |
181
+ * | | For example, `/\W/` or `/[^A-Za-z0-9_]/` matches '%' in "50%."
182
+ * | |
183
+ * | `\n` | Where `n` is a positive integer. A back reference to the last substring matching the n
184
+ * | | parenthetical in the regular expression (counting left parentheses).
185
+ * | |
186
+ * | | For example, `/apple(,)\sorange\1/` matches 'apple, orange,' in "apple, orange, cherry,
187
+ * | | peach." A more complete example follows this table.
188
+ * | |
189
+ * | `\0` | Matches a NULL character. Do not follow this with another digit.
190
+ * | |
191
+ * | `\xhh` | Matches the character with the code `hh` (two hexadecimal digits)
192
+ * | |
193
+ * | `\uhhhh` | Matches the character with the Unicode value `hhhh` (four hexadecimal digits)
194
+ *
195
+ * The literal notation provides compilation of the regular expression when the expression is evaluated. Use
196
+ * literal notation when the regular expression will remain constant. For example, if you use literal notation
197
+ * to construct a regular expression used in a loop, the regular expression won't be recompiled on each iteration.
198
+ *
199
+ * The constructor of the regular expression object, for example, new RegExp("ab+c"), provides runtime
200
+ * compilation of the regular expression. Use the constructor function when you know the regular expression
201
+ * pattern will be changing, or you don't know the pattern and are getting it from another source, such as user input.
202
+ *
203
+ * <div class="notice">
204
+ * Documentation for this class comes from <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp">MDN</a>
205
+ * and is available under <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons: Attribution-Sharealike license</a>.
206
+ * </div>
207
+ */
208
+
209
+ /**
210
+ * @method constructor
211
+ * Creates new regular expression object.
212
+ *
213
+ * @param {String} pattern
214
+ * The text of the regular expression.
215
+ * @param {String} flags
216
+ * If specified, flags can have any combination of the following values:
217
+ *
218
+ * - "g" - global match
219
+ * - "i" - ignore case
220
+ * - "m" - Treat beginning and end characters (^ and $) as working over multiple lines
221
+ * (i.e., match the beginning or end of _each_ line (delimited by \n or \r), not
222
+ * only the very beginning or end of the whole input string)
223
+ */
224
+
225
+ //Methods
226
+
227
+ /**
228
+ * @method exec
229
+ * Executes a search for a match in its string parameter.
230
+ *
231
+ * If the match succeeds, the `exec` method returns an array and updates properties of the regular
232
+ * expression object. The returned array has the matched text as the first item, and then one item for
233
+ * each capturing parenthesis that matched containing the text that was captured. If the match fails,
234
+ * the `exec` method returns `null`.
235
+ *
236
+ * If you are executing a match simply to find true or false, use the `test` method or the `String
237
+ * search` method.
238
+ *
239
+ * Consider the following example:
240
+ *
241
+ * // Match one d followed by one or more b's followed by one d
242
+ * // Remember matched b's and the following d
243
+ * // Ignore case
244
+ * var re = /d(b+)(d)/ig;
245
+ * var result = re.exec("cdbBdbsbz");
246
+ *
247
+ * The following table shows the results for this script:
248
+ *
249
+ * | Object | Property/Index | Description | Example
250
+ * |:-----------------|:---------------|:---------------------------------------------------------------------|:---------------------
251
+ * | `result` | | The content of myArray. | `["dbBd", "bB", "d"]`
252
+ * | | `index` | The 0-based index of the match in the string | `1`
253
+ * | | `input` | The original string. | `cdbDdbsbz`
254
+ * | | `[0]` | The last matched characters. | `dbBd`
255
+ * | | `[1], ...[n]` | The parenthesized substring matches, if any. The number of possible | `[1] = bB`
256
+ * | | | parenthesized substrings is unlimited. | `[2] = d`
257
+ * | `re` | `lastIndex` | The index at which to start the next match. | `5`
258
+ * | | `ignoreCase` | Indicates the "`i`" flag was used to ignore case. | `true`
259
+ * | | `global` | Indicates the "`g`" flag was used for a global match. | `true`
260
+ * | | `multiline` | Indicates the "`m`" flag was used to search in strings across | `false`
261
+ * | | | multiple lines. |
262
+ * | | `source` | The text of the pattern. | d(b+)(d)
263
+ *
264
+ * If your regular expression uses the "`g`" flag, you can use the `exec` method multiple times to find
265
+ * successive matches in the same string. When you do so, the search starts at the substring of `str`
266
+ * specified by the regular expression's `lastIndex` property (`test` will also advance the `lastIndex`
267
+ * property). For example, assume you have this script:
268
+ *
269
+ * var myRe = /ab*\/g;
270
+ * var str = "abbcdefabh";
271
+ * var myArray;
272
+ * while ((myArray = myRe.exec(str)) != null)
273
+ * {
274
+ * var msg = "Found " + myArray[0] + ". ";
275
+ * msg += "Next match starts at " + myRe.lastIndex;
276
+ * print(msg);
277
+ * }
278
+ *
279
+ * This script displays the following text:
280
+ *
281
+ * Found abb. Next match starts at 3
282
+ * Found ab. Next match starts at 9
283
+ *
284
+ * You can also use `exec()` without creating a RegExp object:
285
+ *
286
+ * var matches = /(hello \S+)/.exec('This is a hello world!');
287
+ * alert(matches[1]);
288
+ *
289
+ * This will display an alert containing 'hello world!';
290
+ *
291
+ * @param {String} str The string against which to match the regular expression.
292
+ * @return {Array} Array of results or `NULL`.
293
+ */
294
+
295
+ /**
296
+ * @method test
297
+ * Tests for a match in its string parameter.
298
+ *
299
+ * When you want to know whether a pattern is found in a string use the test method (similar to the
300
+ * `String.search` method); for more information (but slower execution) use the exec method (similar to
301
+ * the `String.match` method). As with exec (or in combination with it), test called multiple times on
302
+ * the same global regular expression instance will advance past the previous match.
303
+ *
304
+ * The following example prints a message which depends on the success of the test:
305
+ *
306
+ * function testinput(re, str){
307
+ * if (re.test(str))
308
+ * midstring = " contains ";
309
+ * else
310
+ * midstring = " does not contain ";
311
+ * document.write (str + midstring + re.source);
312
+ * }
313
+ *
314
+ * @param {String} str The string against which to match the regular expression.
315
+ * @return {Boolean} true if string contains any matches, otherwise returns false.
316
+ */
317
+
318
+ /**
319
+ * @method toString
320
+ * Returns a string representing the specified object. Overrides the `Object.prototype.toString`
321
+ * method.
322
+ *
323
+ * The RegExp object overrides the `toString` method of the `Object` object; it does not inherit
324
+ * `Object.toString`. For RegExp objects, the `toString` method returns a string representation of the
325
+ * regular expression.
326
+ *
327
+ * The following example displays the string value of a RegExp object:
328
+ *
329
+ * myExp = new RegExp("a+b+c");
330
+ * alert(myExp.toString()); // displays "/a+b+c/"
331
+ *
332
+ * @return {String} Regular expression as a string.
333
+ */
334
+
335
+ //Properties
336
+
337
+ // Note that several of the RegExp properties have both long and short (Perl-like) names.
338
+ // Both names always refer to the same value. Perl is the programming language from which
339
+ // JavaScript modeled its regular expressions.
340
+
341
+ /**
342
+ * @property {Boolean} global
343
+ * Whether to test the regular expression against all possible matches in a
344
+ * string, or only against the first.
345
+ *
346
+ * `global` is a property of an individual regular expression object.
347
+ *
348
+ * The value of `global` is true if the "`g`" flag was used; otherwise, `false`. The "`g`" flag
349
+ * indicates that the regular expression should be tested against all possible matches in a string.
350
+ *
351
+ * You cannot change this property directly.
352
+ */
353
+
354
+ /**
355
+ * @property {Boolean} ignoreCase
356
+ * Whether to ignore case while attempting a match in a string.
357
+ *
358
+ * `ignoreCase` is a property of an individual regular expression object.
359
+ *
360
+ * The value of `ignoreCase` is true if the "`i`" flag was used; otherwise, false. The "`i`" flag indicates
361
+ * that case should be ignored while attempting a match in a string.
362
+ *
363
+ * You cannot change this property directly.
364
+ */
365
+
366
+ /**
367
+ * @property {Number} lastIndex
368
+ * The index at which to start the next match. A read/write integer property that specifies the index
369
+ * at which to start the next match.
370
+ *
371
+ * `lastIndex` is a property of an individual regular expression object.
372
+ *
373
+ * This property is set only if the regular expression used the "`g`" flag to indicate a global search.
374
+ * The following rules apply:
375
+ *
376
+ * - If `lastIndex` is greater than the length of the string, `regexp.test` and `regexp.exec` fail,
377
+ * and `lastIndex` is set to 0.
378
+ * - If `lastIndex` is equal to the length of the string and if the regular expression matches the
379
+ * empty string, then the regular expression matches input starting at `lastIndex`.
380
+ * - If `lastIndex` is equal to the length of the string and if the regular expression does not match
381
+ * the empty string, then the regular expression mismatches input, and `lastIndex` is reset to 0.
382
+ * - Otherwise, `lastIndex` is set to the next position following the most recent match.
383
+ *
384
+ * For example, consider the following sequence of statements:
385
+ *
386
+ * - `re = /(hi)?/g` Matches the empty string.
387
+ * - `re("hi")` Returns `["hi", "hi"]` with `lastIndex` equal to 2.
388
+ * - `re("hi")` Returns `[""]`, an empty array whose zeroth element is the match string. In this
389
+ * case, the empty string because `lastIndex` was 2 (and still is 2) and "`hi`" has length 2.
390
+ */
391
+
392
+ /**
393
+ * @property {Boolean} multiline
394
+ * Whether or not to search in strings across multiple lines.
395
+ *
396
+ * `multiline` is a property of an individual regular expression object..
397
+ *
398
+ * The value of `multiline` is true if the "`m`" flag was used; otherwise, `false`. The "`m`" flag
399
+ * indicates that a multiline input string should be treated as multiple lines. For example, if "`m`"
400
+ * is used, "`^`" and "`$`" change from matching at only the start or end of the entire string to the
401
+ * start or end of any line within the string.
402
+ *
403
+ * You cannot change this property directly.
404
+ */
405
+
406
+ /**
407
+ * @property {String} source
408
+ * The text of the pattern.
409
+ *
410
+ * A read-only property that contains the text of the pattern, excluding the forward slashes.
411
+ *
412
+ * `source` is a property of an individual regular expression object.
413
+ *
414
+ * You cannot change this property directly.
415
+ */
@@ -0,0 +1,1052 @@
1
+ /**
2
+ * @class String
3
+ *
4
+ * `String` is a global object that may be used to construct String instances.
5
+ *
6
+ * String objects may be created by calling the constructor `new String()`. The `String` object wraps
7
+ * JavaScript's string primitive data type with the methods described below. The global function
8
+ * `String()` can also be called without new in front to create a primitive string. String literals in
9
+ * JavaScript are primitive strings.
10
+ *
11
+ * Because JavaScript automatically converts between string primitives and String objects, you can call
12
+ * any of the methods of the `String` object on a string primitive. JavaScript automatically converts the
13
+ * string primitive to a temporary `String` object, calls the method, then discards the temporary String
14
+ * object. For example, you can use the `String.length` property on a string primitive created from a
15
+ * string literal:
16
+ *
17
+ * s_obj = new String(s_prim = s_also_prim = "foo");
18
+ *
19
+ * s_obj.length; // 3
20
+ * s_prim.length; // 3
21
+ * s_also_prim.length; // 3
22
+ * 'foo'.length; // 3
23
+ * "foo".length; // 3
24
+ *
25
+ * (A string literal is denoted with single or double quotation marks.)
26
+ *
27
+ * String objects can be converted to primitive strings with the `valueOf` method.
28
+ *
29
+ * String primitives and String objects give different results when evaluated as JavaScript. Primitives
30
+ * are treated as source code; String objects are treated as a character sequence object. For example:
31
+ *
32
+ * s1 = "2 + 2"; // creates a string primitive
33
+ * s2 = new String("2 + 2"); // creates a String object
34
+ * eval(s1); // returns the number 4
35
+ * eval(s2); // returns the string "2 + 2"
36
+ * eval(s2.valueOf()); // returns the number 4
37
+ *
38
+ * # Character access
39
+ *
40
+ * There are two ways to access an individual character in a string. The first is the `charAt` method:
41
+ *
42
+ * return 'cat'.charAt(1); // returns "a"
43
+ *
44
+ * The other way is to treat the string as an array, where each index corresponds to an individual
45
+ * character:
46
+ *
47
+ * return 'cat'[1]; // returns "a"
48
+ *
49
+ * The second way (treating the string as an array) is not part of ECMAScript 3. It is a JavaScript and
50
+ * ECMAScript 5 feature.
51
+ *
52
+ * In both cases, attempting to set an individual character won't work. Trying to set a character
53
+ * through `charAt` results in an error, while trying to set a character via indexing does not throw an
54
+ * error, but the string itself is unchanged.
55
+ *
56
+ * # Comparing strings
57
+ *
58
+ * C developers have the `strcmp()` function for comparing strings. In JavaScript, you just use the less-
59
+ * than and greater-than operators:
60
+ *
61
+ * var a = "a";
62
+ * var b = "b";
63
+ * if (a < b) // true
64
+ * print(a + " is less than " + b);
65
+ * else if (a > b)
66
+ * print(a + " is greater than " + b);
67
+ * else
68
+ * print(a + " and " + b + " are equal.");
69
+ *
70
+ * A similar result can be achieved using the `localeCompare` method inherited by `String` instances.
71
+ *
72
+ * <div class="notice">
73
+ * Documentation for this class comes from <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String">MDN</a>
74
+ * and is available under <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons: Attribution-Sharealike license</a>.
75
+ * </div>
76
+ */
77
+
78
+ /**
79
+ * @method constructor
80
+ * Creates new String object.
81
+ * @param {Object} value The value to wrap into String object.
82
+ */
83
+
84
+ //Methods
85
+
86
+ /**
87
+ * @method fromCharCode
88
+ * Returns a string created by using the specified sequence of Unicode values.
89
+ *
90
+ * This method returns a string and not a `String` object.
91
+ *
92
+ * Because `fromCharCode` is a static method of `String`, you always use it as `String.fromCharCode()`,
93
+ * rather than as a method of a `String` object you created.
94
+ *
95
+ * Although most common Unicode values can be represented in a fixed width system/with one number (as
96
+ * expected early on during JavaScript standardization) and `fromCharCode()` can be used to return a
97
+ * single character for the most common values (i.e., UCS-2 values which are the subset of UTF-16 with
98
+ * the most common characters), in order to deal with ALL legal Unicode values, `fromCharCode()` alone
99
+ * is inadequate. Since the higher code point characters use two (lower value) "surrogate" numbers to
100
+ * form a single character, `fromCharCode()` can be used to return such a pair and thus adequately
101
+ * represent these higher valued characters.
102
+ *
103
+ * Be aware, therefore, that the following utility function to grab the accurate character even for
104
+ * higher value code points, may be returning a value which is rendered as a single character, but
105
+ * which has a string count of two (though usually the count will be one).
106
+ *
107
+ * // String.fromCharCode() alone cannot get the character at such a high code point
108
+ * // The following, on the other hand, can return a 4-byte character as well as the
109
+ * // usual 2-byte ones (i.e., it can return a single character which actually has
110
+ * // a string length of 2 instead of 1!)
111
+ * alert(fixedFromCharCode(0x2F804)); // or 194564 in decimal
112
+ *
113
+ * function fixedFromCharCode (codePt) {
114
+ * if (codePt > 0xFFFF) {
115
+ * codePt -= 0x10000;
116
+ * return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 +
117
+ * (codePt & 0x3FF));
118
+ * }
119
+ * else {
120
+ * return String.fromCharCode(codePt);
121
+ * }
122
+ * }
123
+ *
124
+ * The following example returns the string "ABC".
125
+ *
126
+ * String.fromCharCode(65,66,67)
127
+ *
128
+ * @param {Number...} numbers A sequence of numbers that are Unicode values.
129
+ * @return {String} String containing characters from encoding.
130
+ */
131
+
132
+ //Properties
133
+
134
+ /**
135
+ * @property {Number} length
136
+ * Reflects the length of the string.
137
+ *
138
+ * This property returns the number of code units in the string. UTF-16, the string format used by JavaScript, uses a single 16-bit
139
+ * code unit to represent the most common characters, but needs to use two code units for less commonly-used characters, so it's
140
+ * possible for the value returned by `length` to not match the actual number of characters in the string.
141
+ *
142
+ * For an empty string, `length` is 0.
143
+ *
144
+ * var x = "Netscape";
145
+ * var empty = "";
146
+ *
147
+ * console.log("Netspace is " + x.length + " code units long");
148
+ * console.log("The empty string is has a length of " + empty.length); // should be 0
149
+ */
150
+
151
+ //Methods
152
+
153
+ /**
154
+ * @method charAt
155
+ * Returns the character at the specified index.
156
+ *
157
+ * Characters in a string are indexed from left to right. The index of the first character is 0, and
158
+ * the index of the last character in a string called `stringName` is `stringName.length - 1`. If the
159
+ * index you supply is out of range, JavaScript returns an empty string.
160
+ *
161
+ * The following example displays characters at different locations in the string "Brave new world":
162
+ *
163
+ * var anyString="Brave new world";
164
+ *
165
+ * document.writeln("The character at index 0 is '" + anyString.charAt(0) + "'");
166
+ * document.writeln("The character at index 1 is '" + anyString.charAt(1) + "'");
167
+ * document.writeln("The character at index 2 is '" + anyString.charAt(2) + "'");
168
+ * document.writeln("The character at index 3 is '" + anyString.charAt(3) + "'");
169
+ * document.writeln("The character at index 4 is '" + anyString.charAt(4) + "'");
170
+ * document.writeln("The character at index 999 is '" + anyString.charAt(999) + "'");
171
+ *
172
+ * These lines display the following:
173
+ *
174
+ * The character at index 0 is 'B'
175
+ * The character at index 1 is 'r'
176
+ * The character at index 2 is 'a'
177
+ * The character at index 3 is 'v'
178
+ * The character at index 4 is 'e'
179
+ * The character at index 999 is ''
180
+ *
181
+ * The following provides a means of ensuring that going through a string loop always provides a whole
182
+ * character, even if the string contains characters that are not in the Basic Multi-lingual Plane.
183
+ *
184
+ * var str = 'A\uD87E\uDC04Z'; // We could also use a non-BMP character directly
185
+ * for (var i=0, chr; i < str.length; i++) {
186
+ * if ((chr = getWholeChar(str, i)) === false) {continue;} // Adapt this line at the top of
187
+ * each loop, passing in the whole string and the current iteration and returning a variable to
188
+ * represent the individual character
189
+ * alert(chr);
190
+ * }
191
+ *
192
+ * function getWholeChar (str, i) {
193
+ * var code = str.charCodeAt(i);
194
+ *
195
+ * if (isNaN(code)) {
196
+ * return ''; // Position not found
197
+ * }
198
+ * if (code < 0xD800 || code > 0xDFFF) {
199
+ * return str.charAt(i);
200
+ * }
201
+ * if (0xD800 <= code && code <= 0xDBFF) { // High surrogate (could change last hex to 0xDB7F
202
+ * to treat high private surrogates as single characters)
203
+ * if (str.length <= (i+1)) {
204
+ * throw 'High surrogate without following low surrogate';
205
+ * }
206
+ * var next = str.charCodeAt(i+1);
207
+ * if (0xDC00 > next || next > 0xDFFF) {
208
+ * throw 'High surrogate without following low surrogate';
209
+ * }
210
+ * return str.charAt(i)+str.charAt(i+1);
211
+ * }
212
+ * // Low surrogate (0xDC00 <= code && code <= 0xDFFF)
213
+ * if (i === 0) {
214
+ * throw 'Low surrogate without preceding high surrogate';
215
+ * }
216
+ * var prev = str.charCodeAt(i-1);
217
+ * if (0xD800 > prev || prev > 0xDBFF) { // (could change last hex to 0xDB7F to treat high private
218
+ * surrogates as single characters)
219
+ * throw 'Low surrogate without preceding high surrogate';
220
+ * }
221
+ * return false; // We can pass over low surrogates now as the second component in a pair which we
222
+ * have already processed
223
+ * }
224
+ *
225
+ * While the second example may be more frequently useful for those wishing to support non-BMP
226
+ * characters (since the above does not require the caller to know where any non-BMP character might
227
+ * appear), in the event that one _does_ wish, in choosing a character by index, to treat the surrogate
228
+ * pairs within a string as the single characters they represent, one can use the following:
229
+ *
230
+ * function fixedCharAt (str, idx) {
231
+ * var ret = '';
232
+ * str += '';
233
+ * var end = str.length;
234
+ *
235
+ * var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
236
+ * while ((surrogatePairs.exec(str)) != null) {
237
+ * var li = surrogatePairs.lastIndex;
238
+ * if (li - 2 < idx) {
239
+ * idx++;
240
+ * }
241
+ * else {
242
+ * break;
243
+ * }
244
+ * }
245
+ *
246
+ * if (idx >= end || idx < 0) {
247
+ * return '';
248
+ * }
249
+ *
250
+ * ret += str.charAt(idx);
251
+ *
252
+ * if (/[\uD800-\uDBFF]/.test(ret) && /[\uDC00-\uDFFF]/.test(str.charAt(idx+1))) {
253
+ * ret += str.charAt(idx+1); // Go one further, since one of the "characters" is part of a
254
+ * surrogate pair
255
+ * }
256
+ * return ret;
257
+ * }
258
+ *
259
+ * @param {Number} index An integer between 0 and 1 less than the length of the string.
260
+ * @return {String} Individual character from string.
261
+ */
262
+
263
+ /**
264
+ * @method charCodeAt
265
+ * Returns a number indicating the Unicode value of the character at the given index.
266
+ *
267
+ * Unicode code points range from 0 to 1,114,111. The first 128 Unicode code points are a direct match
268
+ * of the ASCII character encoding.
269
+ *
270
+ * Note that `charCodeAt` will always return a value that is less than 65,536. This is because the
271
+ * higher code points are represented by a pair of (lower valued) "surrogate" pseudo-characters which
272
+ * are used to comprise the real character. Because of this, in order to examine or reproduce the full
273
+ * character for individual characters of value 65,536 and above, for such characters, it is necessary
274
+ * to retrieve not only `charCodeAt(i)`, but also `charCodeAt(i+1)` (as if examining/reproducing a
275
+ * string with two letters). See example 2 and 3 below.
276
+ *
277
+ * `charCodeAt` returns `NaN` if the given index is not greater than 0 or is greater than the length of
278
+ * the string.
279
+ *
280
+ * Backward Compatibility with JavaScript 1.2
281
+ *
282
+ * The `charCodeAt` method returns a number indicating the ISO-Latin-1 codeset value of the character
283
+ * at the given index. The ISO-Latin-1 codeset ranges from 0 to 255. The first 0 to 127 are a direct
284
+ * match of the ASCII character set.
285
+ *
286
+ * Example 1: Using `charCodeAt`
287
+ *
288
+ * The following example returns 65, the Unicode value for A.
289
+ *
290
+ * "ABC".charCodeAt(0) // returns 65
291
+ *
292
+ * Example 2: Fixing `charCodeAt` to handle non-Basic-Multilingual-Plane characters if their presence
293
+ * earlier in the string is unknown
294
+ *
295
+ * This version might be used in for loops and the like when it is unknown whether non-BMP characters
296
+ * exist before the specified index position.
297
+ *
298
+ * function fixedCharCodeAt (str, idx) {
299
+ * // ex. fixedCharCodeAt ('\uD800\uDC00', 0); // 65536
300
+ * // ex. fixedCharCodeAt ('\uD800\uDC00', 1); // 65536
301
+ * idx = idx || 0;
302
+ * var code = str.charCodeAt(idx);
303
+ * var hi, low;
304
+ * if (0xD800 <= code && code <= 0xDBFF) { // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single characters)
305
+ * hi = code;
306
+ * low = str.charCodeAt(idx+1);
307
+ * if (isNaN(low)) {
308
+ * throw 'High surrogate not followed by low surrogate in fixedCharCodeAt()';
309
+ * }
310
+ * return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
311
+ * }
312
+ * if (0xDC00 <= code && code <= 0xDFFF) { // Low surrogate
313
+ * // We return false to allow loops to skip this iteration since should have already handled
314
+ * high surrogate above in the previous iteration
315
+ * return false;
316
+ * }
317
+ * return code;
318
+ * }
319
+ *
320
+ * Example 3: Fixing `charCodeAt` to handle non-Basic-Multilingual-Plane characters if their presence
321
+ * earlier in the string is known
322
+ *
323
+ * function knownCharCodeAt (str, idx) {
324
+ * str += '';
325
+ * var code,
326
+ * end = str.length;
327
+ *
328
+ * var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
329
+ * while ((surrogatePairs.exec(str)) != null) {
330
+ * var li = surrogatePairs.lastIndex;
331
+ * if (li - 2 < idx) {
332
+ * idx++;
333
+ * }
334
+ * else {
335
+ * break;
336
+ * }
337
+ * }
338
+ *
339
+ * if (idx >= end || idx < 0) {
340
+ * return NaN;
341
+ * }
342
+ *
343
+ * code = str.charCodeAt(idx);
344
+ *
345
+ * var hi, low;
346
+ * if (0xD800 <= code && code <= 0xDBFF) {
347
+ * hi = code;
348
+ * low = str.charCodeAt(idx+1); // Go one further, since one of the "characters" is part of
349
+ * a surrogate pair
350
+ * return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
351
+ * }
352
+ * return code;
353
+ * }
354
+ *
355
+ * @param {Number} index An integer greater than 0 and less than the length of the string; if it is
356
+ * not a number, it defaults to 0.
357
+ * @return {Number} Value between 0 and 65535.
358
+ */
359
+
360
+ /**
361
+ * @method concat
362
+ * Combines combines the text from one or more strings and returns a new string. Changes to the text in
363
+ * one string do not affect the other string.
364
+ *
365
+ * The following example combines strings into a new string.
366
+ *
367
+ * var hello = "Hello, ";
368
+ * console.log(hello.concat("Kevin", " have a nice day.")); // Hello, Kevin have a nice day.
369
+ *
370
+ * @param {String...} strings The strings to concatenate.
371
+ * @return {String} Result of both strings.
372
+ */
373
+
374
+ /**
375
+ * @method indexOf
376
+ * Returns the index within the calling `String` object of the first occurrence of the specified value,
377
+ * or -1 if not found.
378
+ *
379
+ * Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character
380
+ * of a string called `stringName` is `stringName.length - 1`.
381
+ *
382
+ * "Blue Whale".indexOf("Blue") // returns 0
383
+ * "Blue Whale".indexOf("Blute") // returns -1
384
+ * "Blue Whale".indexOf("Whale",0) // returns 5
385
+ * "Blue Whale".indexOf("Whale",5) // returns 5
386
+ * "Blue Whale".indexOf("",9) // returns 9
387
+ * "Blue Whale".indexOf("",10) // returns 10
388
+ * "Blue Whale".indexOf("",11) // returns 10
389
+ *
390
+ * The `indexOf` method is case sensitive. For example, the following expression returns -1:
391
+ *
392
+ * "Blue Whale".indexOf("blue")
393
+ *
394
+ * Note that '0' doesn't evaluate to true and '-1' doesn't evaluate to false. Therefore, when checking if a specific string exists
395
+ * within another string the correct way to check would be:
396
+ *
397
+ * "Blue Whale".indexOf("Blue") != -1 // true
398
+ * "Blue Whale".indexOf("Bloe") != -1 // false
399
+ *
400
+ * The following example uses indexOf and lastIndexOf to locate values in the string "Brave new world".
401
+ *
402
+ * var anyString="Brave new world"
403
+ *
404
+ * document.write("<P>The index of the first w from the beginning is " + anyString.indexOf("w")) // Displays 8
405
+ * document.write("<P>The index of the first w from the end is " + anyString.lastIndexOf("w")) // Displays 10
406
+ * document.write("<P>The index of 'new' from the beginning is " + anyString.indexOf("new")) // Displays 6
407
+ * document.write("<P>The index of 'new' from the end is " + anyString.lastIndexOf("new")) // Displays 6
408
+ *
409
+ * The following example defines two string variables. The variables contain the same string except that the second string contains
410
+ * uppercase letters. The first `writeln` method displays 19. But because the `indexOf` method is case sensitive, the string
411
+ * "cheddar" is not found in `myCapString`, so the second `writeln` method displays -1.
412
+ *
413
+ * myString="brie, pepper jack, cheddar"
414
+ * myCapString="Brie, Pepper Jack, Cheddar"
415
+ * document.writeln('myString.indexOf("cheddar") is ' + myString.indexOf("cheddar"))
416
+ * document.writeln('<P>myCapString.indexOf("cheddar") is ' + myCapString.indexOf("cheddar"))
417
+ *
418
+ * The following example sets count to the number of occurrences of the letter x in the string str:
419
+ *
420
+ * count = 0;
421
+ * pos = str.indexOf("x");
422
+ * while ( pos != -1 ) {
423
+ * count++;
424
+ * pos = str.indexOf("x",pos+1);
425
+ * }
426
+ *
427
+ * @param {String} searchValue A string representing the value to search for.
428
+ * @param {Number} fromIndex The location within the calling string to start the search from. It can be any integer between 0 and
429
+ * the length of the string. The default value is 0.
430
+ * @return {Number} Position of specified value or -1 if not found.
431
+ */
432
+
433
+ /**
434
+ * @method lastIndexOf
435
+ * Returns the index within the calling String object of the last occurrence of
436
+ * the specified value, or -1 if not found. The calling string is searched
437
+ * backward, starting at fromIndex.
438
+ *
439
+ * Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character
440
+ * is `stringName.length - 1`.
441
+ *
442
+ * "canal".lastIndexOf("a") // returns 3
443
+ * "canal".lastIndexOf("a",2) // returns 1
444
+ * "canal".lastIndexOf("a",0) // returns -1
445
+ * "canal".lastIndexOf("x") // returns -1
446
+ *
447
+ * The `lastIndexOf` method is case sensitive. For example, the following expression returns -1:
448
+ *
449
+ * "Blue Whale, Killer Whale".lastIndexOf("blue")
450
+ *
451
+ * The following example uses `indexOf` and `lastIndexOf` to locate values in the string "`Brave new world`".
452
+ *
453
+ * var anyString="Brave new world"
454
+ *
455
+ * // Displays 8
456
+ * document.write("<P>The index of the first w from the beginning is " +
457
+ * anyString.indexOf("w"))
458
+ * // Displays 10
459
+ * document.write("<P>The index of the first w from the end is " +
460
+ * anyString.lastIndexOf("w"))
461
+ * // Displays 6
462
+ * document.write("<P>The index of 'new' from the beginning is " +
463
+ * anyString.indexOf("new"))
464
+ * // Displays 6
465
+ * document.write("<P>The index of 'new' from the end is " +
466
+ * anyString.lastIndexOf("new"))
467
+ *
468
+ * @param {String} searchValue A string representing the value to search for.
469
+ * @param {Number} fromIndex The location within the calling string to start the search from, indexed from left to right. It can
470
+ * be any integer between 0 and the length of the string. The default value is the length of the string.
471
+ * @return {Number}
472
+ */
473
+
474
+ /**
475
+ * @method localeCompare
476
+ * Returns a number indicating whether a reference string comes before or after or is the same as the
477
+ * given string in sort order.
478
+ *
479
+ * Returns a number indicating whether a reference string comes before or after or is the same as the
480
+ * given string in sort order. Returns -1 if the string occurs earlier in a sort than `compareString`,
481
+ * returns 1 if the string occurs afterwards in such a sort, and returns 0 if they occur at the same
482
+ * level.
483
+ *
484
+ * The following example demonstrates the different potential results for a string occurring before,
485
+ * after, or at the same level as another:
486
+ *
487
+ * alert('a'.localeCompare('b')); // -1
488
+ * alert('b'.localeCompare('a')); // 1
489
+ * alert('b'.localeCompare('b')); // 0
490
+ *
491
+ * @param {String} compareString The string against which the referring string is comparing.
492
+ * @return {Number} Returns -1 if the string occurs earlier in a sort than
493
+ * compareString, returns 1 if the string occurs afterwards in such a sort, and
494
+ * returns 0 if they occur at the same level.
495
+ */
496
+
497
+ /**
498
+ * @method match
499
+ * Used to match a regular expression against a string.
500
+ *
501
+ * If the regular expression does not include the `g` flag, returns the same result as `regexp.exec(string)`.
502
+ *
503
+ * If the regular expression includes the `g` flag, the method returns an Array containing all matches. If there were no matches,
504
+ * the method returns `null`.
505
+ *
506
+ * The returned {@link Array} has an extra `input` property, which contains the regexp that generated it as a result. In addition,
507
+ * it has an `index` property, which represents the zero-based index of the match in the string.
508
+ *
509
+ * In the following example, `match` is used to find "Chapter" followed by 1 or more numeric characters followed by a decimal point
510
+ * and numeric character 0 or more times. The regular expression includes the `i` flag so that case will be ignored.
511
+ *
512
+ * str = "For more information, see Chapter 3.4.5.1";
513
+ * re = /(chapter \d+(\.\d)*)/i;
514
+ * found = str.match(re);
515
+ * document.write(found);
516
+ *
517
+ * This returns the array containing Chapter 3.4.5.1,Chapter 3.4.5.1,.1
518
+ *
519
+ * "`Chapter 3.4.5.1`" is the first match and the first value remembered from `(Chapter \d+(\.\d)*)`.
520
+ *
521
+ * "`.1`" is the second value remembered from `(\.\d)`.
522
+ *
523
+ * The following example demonstrates the use of the global and ignore case flags with `match`. All letters A through E and a
524
+ * through e are returned, each its own element in the array
525
+ *
526
+ * var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
527
+ * var regexp = /[A-E]/gi;
528
+ * var matches_array = str.match(regexp);
529
+ * document.write(matches_array);
530
+ *
531
+ * `matches_array` now equals `['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']`.
532
+ *
533
+ * @param {RegExp} regexp A {@link RegExp} object. If a non-RegExp object `obj` is passed, it is
534
+ * implicitly converted to a RegExp by using `new RegExp(obj)`.
535
+ * @return {Array} Contains results of the match (if any).
536
+ */
537
+
538
+ /**
539
+ * @method replace
540
+ * Used to find a match between a regular expression and a string, and to replace the matched substring
541
+ * with a new substring.
542
+ *
543
+ * This method does not change the `String` object it is called on. It simply returns a new string.
544
+ *
545
+ * To perform a global search and replace, either include the `g` flag in the regular expression or if
546
+ * the first parameter is a string, include `g` in the flags parameter.
547
+ *
548
+ * The replacement string can include the following special replacement patterns:
549
+ *
550
+ * | Pattern | Inserts
551
+ * |:--------------|:--------------------------------------------------------------------------------------
552
+ * | `$$` | Inserts a `$`.
553
+ * | `$&` | Inserts the matched substring.
554
+ * | `$`` | Inserts the portion of the string that precedes the matched substring.
555
+ * | `$'` | Inserts the portion of the string that follows the matched substring.
556
+ * | `$n` or `$nn` | Where `n` or `nn` are decimal digits, inserts the _n_th parenthesized submatch string, provided the first
557
+ * | | argument was a `RegExp` object.
558
+ *
559
+ * You can specify a function as the second parameter. In this case, the function will be invoked after the match has been
560
+ * performed. The function's result (return value) will be used as the replacement string. (Note: the above-mentioned special
561
+ * replacement patterns do not apply in this case.) Note that the function will be invoked multiple times for each full match to be
562
+ * replaced if the regular expression in the first parameter is global.
563
+ *
564
+ * The arguments to the function are as follows:
565
+ *
566
+ * | Possible Name | Supplied Value
567
+ * |:--------------|:--------------------------------------------------------------------------------------
568
+ * | `str` | The matched substring. (Corresponds to `$&` above.)
569
+ * | `p1, p2, ...` | The _n_th parenthesized submatch string, provided the first argument to replace was a `RegExp` object.
570
+ * | | (Correspond to $1, $2, etc. above.)
571
+ * | `offset` | The offset of the matched substring within the total string being examined. (For example, if the total string
572
+ * | | was "`abcd`", and the matched substring was "`bc`", then this argument will be 1.)
573
+ * | `s` | The total string being examined.
574
+ *
575
+ * (The exact number of arguments will depend on whether the first argument was a `RegExp` object and, if so, how many parenthesized
576
+ * submatches it specifies.)
577
+ *
578
+ * The following example will set `newString` to "`XXzzzz - XX , zzzz`":
579
+ *
580
+ * function replacer(str, p1, p2, offset, s)
581
+ * {
582
+ * return str + " - " + p1 + " , " + p2;
583
+ * }
584
+ * var newString = "XXzzzz".replace(/(X*)(z*)/, replacer);
585
+ *
586
+ * In the following example, the regular expression includes the global and ignore case flags which permits replace to replace each
587
+ * occurrence of 'apples' in the string with 'oranges'.
588
+ *
589
+ * var re = /apples/gi;
590
+ * var str = "Apples are round, and apples are juicy.";
591
+ * var newstr = str.replace(re, "oranges");
592
+ * print(newstr);
593
+ *
594
+ * In this version, a string is used as the first parameter and the global and ignore case flags are specified in the flags
595
+ * parameter.
596
+ *
597
+ * var str = "Apples are round, and apples are juicy.";
598
+ * var newstr = str.replace("apples", "oranges", "gi");
599
+ * print(newstr);
600
+ *
601
+ * Both of these examples print "oranges are round, and oranges are juicy."
602
+ *
603
+ * In the following example, the regular expression is defined in replace and includes the ignore case flag.
604
+ *
605
+ * var str = "Twas the night before Xmas...";
606
+ * var newstr = str.replace(/xmas/i, "Christmas");
607
+ * print(newstr);
608
+ *
609
+ * This prints "Twas the night before Christmas..."
610
+ *
611
+ * The following script switches the words in the string. For the replacement text, the script uses the $1 and $2 replacement
612
+ * patterns.
613
+ *
614
+ * var re = /(\w+)\s(\w+)/;
615
+ * var str = "John Smith";
616
+ * var newstr = str.replace(re, "$2, $1");
617
+ * print(newstr);
618
+ *
619
+ * This prints "Smith, John".
620
+ *
621
+ * In this example, all occurrences of capital letters in the string are converted to lower case, and a hyphen is inserted just
622
+ * before the match location. The important thing here is that additional operations are needed on the matched item before it is
623
+ * given back as a replacement.
624
+ *
625
+ * The replacement function accepts the matched snippet as its parameter, and uses it to transform the case and concatenate the
626
+ * hyphen before returning.
627
+ *
628
+ * function styleHyphenFormat(propertyName)
629
+ * {
630
+ * function upperToHyphenLower(match)
631
+ * {
632
+ * return '-' + match.toLowerCase();
633
+ * }
634
+ * return propertyName.replace(/[A-Z]/, upperToHyphenLower);
635
+ * }
636
+ *
637
+ * Given `styleHyphenFormat('borderTop')`, this returns 'border-top'.
638
+ *
639
+ * Because we want to further transform the _result_ of the match before the final substitution is made, we must use a function.
640
+ * This forces the evaluation of the match prior to the `toLowerCase()` method. If we had tried to do this using the match without a
641
+ * function, the `toLowerCase()` would have no effect.
642
+ *
643
+ * var newString = propertyName.replace(/[A-Z]/, '-' + '$&'.toLowerCase()); // won't work
644
+ *
645
+ * This is because `'$&'.toLowerCase()` would be evaluated first as a string literal (resulting in the same `'$&'`) before using the
646
+ * characters as a pattern.
647
+ *
648
+ * The following example replaces a Fahrenheit degree with its equivalent Celsius degree. The Fahrenheit degree should be a number
649
+ * ending with F. The function returns the Celsius number ending with C. For example, if the input number is 212F, the function
650
+ * returns 100C. If the number is 0F, the function returns -17.77777777777778C.
651
+ *
652
+ * The regular expression `test` checks for any number that ends with F. The number of Fahrenheit degree is accessible to the
653
+ * function through its second parameter, `p1`. The function sets the Celsius number based on the Fahrenheit degree passed in a
654
+ * string to the `f2c` function. `f2c` then returns the Celsius number. This function approximates Perl's `s///e` flag.
655
+ *
656
+ * function f2c(x)
657
+ * {
658
+ * function convert(str, p1, offset, s)
659
+ * {
660
+ * return ((p1-32) * 5/9) + "C";
661
+ * }
662
+ * var s = String(x);
663
+ * var test = /(\d+(?:\.\d*)?)F\b/g;
664
+ * return s.replace(test, convert);
665
+ * }
666
+ *
667
+ * @param {String/RegExp} pattern Either a string or regular expression pattern to search for.
668
+ *
669
+ * @param {String/Function} replacement Either string or function:
670
+ *
671
+ * - The String to replace the `pattern` with. Number of special replacement patterns are supported;
672
+ * see the "Specifying a string as a parameter" section above.
673
+ * - A function to be invoked to create the replacement.
674
+ * The arguments supplied to this function are described in the "Specifying a function as a parameter"
675
+ * section above.
676
+ *
677
+ * @return {String} String of matched replaced items.
678
+ */
679
+
680
+ /**
681
+ * @method search
682
+ * Executes the search for a match between a regular expression and a specified string.
683
+ *
684
+ * If successful, search returns the index of the regular expression inside the string. Otherwise, it
685
+ * returns -1.
686
+ *
687
+ * When you want to know whether a pattern is found in a string use search (similar to the regular
688
+ * expression `test` method); for more information (but slower execution) use `match` (similar to the
689
+ * regular expression `exec` method).
690
+ *
691
+ * The following example prints a message which depends on the success of the test.
692
+ *
693
+ * function testinput(re, str){
694
+ * if (str.search(re) != -1)
695
+ * midstring = " contains ";
696
+ * else
697
+ * midstring = " does not contain ";
698
+ * document.write (str + midstring + re);
699
+ * }
700
+ *
701
+ * @param {RegExp} regexp A regular expression object. If a non-RegExp object obj is passed, it is
702
+ * implicitly converted to a RegExp by using `new RegExp(obj)`.
703
+ * @return {Number} If successful, search returns the index of the regular
704
+ * expression inside the string. Otherwise, it returns -1.
705
+ */
706
+
707
+ /**
708
+ * @method slice
709
+ * Extracts a section of a string and returns a new string.
710
+ *
711
+ * `slice` extracts the text from one string and returns a new string. Changes to the text in one
712
+ * string do not affect the other string.
713
+ *
714
+ * `slice` extracts up to but not including `endSlice`. `string.slice(1,4)` extracts the second
715
+ * character through the fourth character (characters indexed 1, 2, and 3).
716
+ *
717
+ * As a negative index, `endSlice` indicates an offset from the end of the string. `string.slice(2,-1)`
718
+ * extracts the third character through the second to last character in the string.
719
+ *
720
+ * The following example uses slice to create a new string.
721
+ *
722
+ * // assumes a print function is defined
723
+ * var str1 = "The morning is upon us.";
724
+ * var str2 = str1.slice(4, -2);
725
+ * print(str2);
726
+ *
727
+ * This writes:
728
+ *
729
+ * morning is upon u
730
+ *
731
+ * @param {Number} beginSlice The zero-based index at which to begin extraction.
732
+ * @param {Number} endSlice The zero-based index at which to end extraction. If omitted, `slice`
733
+ * extracts to the end of the string.
734
+ * @return {String} All characters from specified start up to (but excluding)
735
+ * end.
736
+ */
737
+
738
+ /**
739
+ * @method split
740
+ * Splits a `String` object into an array of strings by separating the string into substrings.
741
+ *
742
+ * The `split` method returns the new array.
743
+ *
744
+ * When found, `separator` is removed from the string and the substrings are returned in an array. If
745
+ * `separator` is omitted, the array contains one element consisting of the entire string.
746
+ *
747
+ * If `separator` is a regular expression that contains capturing parentheses, then each time separator
748
+ * is matched the results (including any undefined results) of the capturing parentheses are spliced
749
+ * into the output array. However, not all browsers support this capability.
750
+ *
751
+ * Note: When the string is empty, `split` returns an array containing one empty string, rather than an
752
+ * empty array.
753
+ *
754
+ * The following example defines a function that splits a string into an array of strings using the
755
+ * specified separator. After splitting the string, the function displays messages indicating the
756
+ * original string (before the split), the separator used, the number of elements in the array, and the
757
+ * individual array elements.
758
+ *
759
+ * function splitString(stringToSplit,separator)
760
+ * {
761
+ * var arrayOfStrings = stringToSplit.split(separator);
762
+ * print('The original string is: "' + stringToSplit + '"');
763
+ * print('The separator is: "' + separator + '"');
764
+ * print("The array has " + arrayOfStrings.length + " elements: ");
765
+ *
766
+ * for (var i=0; i < arrayOfStrings.length; i++)
767
+ * print(arrayOfStrings[i] + " / ");
768
+ * }
769
+ *
770
+ * var tempestString = "Oh brave new world that has such people in it.";
771
+ * var monthString = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec";
772
+ *
773
+ * var space = " ";
774
+ * var comma = ",";
775
+ *
776
+ * splitString(tempestString, space);
777
+ * splitString(tempestString);
778
+ * splitString(monthString, comma);
779
+ *
780
+ * This example produces the following output:
781
+ *
782
+ * The original string is: "Oh brave new world that has such people in it."
783
+ * The separator is: " "
784
+ * The array has 10 elements: Oh / brave / new / world / that / has / such / people / in / it. /
785
+ *
786
+ * The original string is: "Oh brave new world that has such people in it."
787
+ * The separator is: "undefined"
788
+ * The array has 1 elements: Oh brave new world that has such people in it. /
789
+ *
790
+ * The original string is: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
791
+ * The separator is: ","
792
+ * The array has 12 elements: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec /
793
+ *
794
+ * In the following example, `split` looks for 0 or more spaces followed by a semicolon followed by 0
795
+ * or more spaces and, when found, removes the spaces from the string. nameList is the array returned
796
+ * as a result of split.
797
+ *
798
+ * var names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
799
+ * print(names);
800
+ * var re = /\s*;\s*\/;
801
+ * var nameList = names.split(re);
802
+ * print(nameList);
803
+ *
804
+ * This prints two lines; the first line prints the original string, and the second line prints the
805
+ * resulting array.
806
+ *
807
+ * Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
808
+ * Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
809
+ *
810
+ * In the following example, split looks for 0 or more spaces in a string and returns the first 3
811
+ * splits that it finds.
812
+ *
813
+ * var myString = "Hello World. How are you doing?";
814
+ * var splits = myString.split(" ", 3);
815
+ * print(splits);
816
+ *
817
+ * This script displays the following:
818
+ *
819
+ * Hello,World.,How
820
+ *
821
+ * If `separator` contains capturing parentheses, matched results are returned in the array.
822
+ *
823
+ * var myString = "Hello 1 word. Sentence number 2.";
824
+ * var splits = myString.split(/(\d)/);
825
+ * print(splits);
826
+ *
827
+ * This script displays the following:
828
+ *
829
+ * Hello ,1, word. Sentence number ,2, .
830
+ *
831
+ * @param {String} seperator Specifies the character to use for separating the string. The separator is treated as a string or a
832
+ * regular expression. If separator is omitted, the array returned contains one element consisting of the entire string.
833
+ * @param {Number} limit Integer specifying a limit on the number of splits to be found. The split method still splits on every
834
+ * match of separator, but it truncates the returned array to at most limit elements.
835
+ * @return {Array} Substrings are returned in an array.
836
+ */
837
+
838
+ /**
839
+ * @method substr
840
+ * Returns the characters in a string beginning at the specified location through the specified number
841
+ * of characters.
842
+ *
843
+ * `start` is a character index. The index of the first character is 0, and the index of the last
844
+ * character is 1 less than the length of the string. `substr` begins extracting characters at start
845
+ * and collects length characters (unless it reaches the end of the string first, in which case it will
846
+ * return fewer).
847
+ *
848
+ * If `start` is positive and is greater than or equal to the length of the string, `substr` returns an
849
+ * empty string.
850
+ *
851
+ * If `start` is negative, `substr` uses it as a character index from the end of the string. If start
852
+ * is negative and abs(start) is larger than the length of the string, `substr` uses 0 as the start
853
+ * index. Note: the described handling of negative values of the start argument is not supported by
854
+ * Microsoft JScript.
855
+ *
856
+ * If length is 0 or negative, `substr` returns an empty string. If length is omitted, `substr`
857
+ * extracts characters to the end of the string.
858
+ *
859
+ * Consider the following script:
860
+ *
861
+ * // assumes a print function is defined
862
+ * var str = "abcdefghij";
863
+ * print("(1,2): " + str.substr(1,2));
864
+ * print("(-3,2): " + str.substr(-3,2));
865
+ * print("(-3): " + str.substr(-3));
866
+ * print("(1): " + str.substr(1));
867
+ * print("(-20, 2): " + str.substr(-20,2));
868
+ * print("(20, 2): " + str.substr(20,2));
869
+ *
870
+ * This script displays:
871
+ *
872
+ * (1,2): bc
873
+ * (-3,2): hi
874
+ * (-3): hij
875
+ * (1): bcdefghij
876
+ * (-20, 2): ab
877
+ * (20, 2):
878
+ *
879
+ * @param {Number} start Location at which to begin extracting characters.
880
+ * @param {Number} length The number of characters to extract.
881
+ * @return {String} Modified string.
882
+ */
883
+
884
+ /**
885
+ * @method substring
886
+ * Returns the characters in a string between two indexes into the string.
887
+ *
888
+ * substring extracts characters from indexA up to but not including indexB. In particular:
889
+ * * If `indexA` equals `indexB`, `substring` returns an empty string.
890
+ * * If `indexB` is omitted, substring extracts characters to the end of the string.
891
+ * * If either argument is less than 0 or is `NaN`, it is treated as if it were 0.
892
+ * * If either argument is greater than `stringName.length`, it is treated as if it were
893
+ * `stringName.length`.
894
+ *
895
+ * If `indexA` is larger than `indexB`, then the effect of substring is as if the two arguments were
896
+ * swapped; for example, `str.substring(1, 0) == str.substring(0, 1)`.
897
+ *
898
+ * The following example uses substring to display characters from the string "Sencha":
899
+ *
900
+ * // assumes a print function is defined
901
+ * var anyString = "Sencha";
902
+ *
903
+ * // Displays "Sen"
904
+ * print(anyString.substring(0,3));
905
+ * print(anyString.substring(3,0));
906
+ *
907
+ * // Displays "cha"
908
+ * print(anyString.substring(3,6));
909
+ * print(anyString.substring(6,3));
910
+ *
911
+ * // Displays "Sencha"
912
+ * print(anyString.substring(0,6));
913
+ * print(anyString.substring(0,10));
914
+ *
915
+ * The following example replaces a substring within a string. It will replace both individual
916
+ * characters and `substrings`. The function call at the end of the example changes the string "Brave
917
+ * New World" into "Brave New Web".
918
+ *
919
+ * function replaceString(oldS, newS, fullS) {
920
+ * // Replaces oldS with newS in the string fullS
921
+ * for (var i = 0; i < fullS.length; i++) {
922
+ * if (fullS.substring(i, i + oldS.length) == oldS) {
923
+ * fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length,
924
+ * fullS.length);
925
+ * }
926
+ * }
927
+ * return fullS;
928
+ * }
929
+ *
930
+ * replaceString("World", "Web", "Brave New World");
931
+ *
932
+ * @param {Number} indexA An integer between 0 and one less than the length of the string.
933
+ * @param {Number} indexB (optional) An integer between 0 and the length of the string.
934
+ * @return {String} Returns the characters in a string between two indexes into the string.
935
+ */
936
+
937
+ /**
938
+ * @method toLocaleLowerCase
939
+ * The characters within a string are converted to lower case while respecting the current locale. For
940
+ * most languages, this will return the same as `toLowerCase`.
941
+ *
942
+ * The `toLocaleLowerCase` method returns the value of the string converted to lower case according to
943
+ * any locale-specific case mappings. `toLocaleLowerCase` does not affect the value of the string
944
+ * itself. In most cases, this will produce the same result as `toLowerCase()`, but for some locales,
945
+ * such as Turkish, whose case mappings do not follow the default case mappings in Unicode, there may
946
+ * be a different result.
947
+ *
948
+ * The following example displays the string "sencha":
949
+ *
950
+ * var upperText="SENCHA";
951
+ * document.write(upperText.toLocaleLowerCase());
952
+ *
953
+ * @return {String} Returns value of the string in lowercase.
954
+ */
955
+
956
+ /**
957
+ * @method toLocaleUpperCase
958
+ * The characters within a string are converted to upper case while respecting the current locale. For
959
+ * most languages, this will return the same as `toUpperCase`.
960
+ *
961
+ * The `toLocaleUpperCase` method returns the value of the string converted to upper case according to
962
+ * any locale-specific case mappings. `toLocaleUpperCase` does not affect the value of the string
963
+ * itself. In most cases, this will produce the same result as `toUpperCase()`, but for some locales,
964
+ * such as Turkish, whose case mappings do not follow the default case mappings in Unicode, there may
965
+ * be a different result.
966
+ *
967
+ * The following example displays the string "SENCHA":
968
+ *
969
+ * var lowerText="sencha";
970
+ * document.write(lowerText.toLocaleUpperCase());
971
+ *
972
+ * @return {String} Returns value of the string in uppercase.
973
+ */
974
+
975
+ /**
976
+ * @method toLowerCase
977
+ * Returns the calling string value converted to lower case.
978
+ *
979
+ * The `toLowerCase` method returns the value of the string converted to lowercase. `toLowerCase` does
980
+ * not affect the value of the string itself.
981
+ *
982
+ * The following example displays the lowercase string "sencha":
983
+ *
984
+ * var upperText="SENCHA";
985
+ * document.write(upperText.toLowerCase());
986
+ *
987
+ * @return {String} Returns value of the string in lowercase.
988
+ */
989
+
990
+ /**
991
+ * @method toString
992
+ * Returns a string representing the specified object. Overrides the `Object.toString` method.
993
+ *
994
+ * The `String` object overrides the `toString` method of the `Object` object; it does not inherit
995
+ * `Object.toString`. For `String` objects, the `toString` method returns a string representation of
996
+ * the object.
997
+ *
998
+ * The following example displays the string value of a String object:
999
+ *
1000
+ * x = new String("Hello world");
1001
+ * alert(x.toString()) // Displays "Hello world"
1002
+ *
1003
+ * @return {String} A string representation of the object.
1004
+ */
1005
+
1006
+ /**
1007
+ * @method toUpperCase
1008
+ * Returns the calling string value converted to uppercase.
1009
+ *
1010
+ * The `toUpperCase` method returns the value of the string converted to uppercase. `toUpperCase` does
1011
+ * not affect the value of the string itself.
1012
+ *
1013
+ * The following example displays the string "SENCHA":
1014
+
1015
+ * var lowerText="sencha";
1016
+ * document.write(lowerText.toUpperCase());
1017
+ *
1018
+ * @return {String} Returns value of the string in uppercase.
1019
+ */
1020
+
1021
+ /**
1022
+ * @method valueOf
1023
+ * Returns the primitive value of the specified object. Overrides the `Object.valueOf` method.
1024
+ *
1025
+ * The `valueOf` method of String returns the primitive value of a `String` object as a string data
1026
+ * type. This value is equivalent to `String.toString`.
1027
+ *
1028
+ * This method is usually called internally by JavaScript and not explicitly in code.
1029
+ *
1030
+ * x = new String("Hello world");
1031
+ * alert(x.valueOf()) // Displays "Hello world"
1032
+ *
1033
+ * @return {String} Returns value of string.
1034
+ */
1035
+
1036
+ // ECMAScript 5 methods
1037
+
1038
+ /**
1039
+ * @method trim
1040
+ * Removes whitespace from both ends of the string.
1041
+ *
1042
+ * Does not affect the value of the string itself.
1043
+ *
1044
+ * The following example displays the lowercase string `"foo"`:
1045
+ *
1046
+ * var orig = " foo ";
1047
+ * alert(orig.trim());
1048
+ *
1049
+ * **NOTE:** This method is part of the ECMAScript 5 standard.
1050
+ *
1051
+ * @return {String} A string stripped of whitespace on both ends.
1052
+ */