@anglr/datetime 1.0.0-beta.20210804101324 → 2.0.0-beta.20220221120606

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/changelog.md +13 -1
  2. package/date-fns/datetime-date-fns.d.ts +64 -0
  3. package/date-fns/datetime-date-fns.internal.d.ts +64 -0
  4. package/date-fns/package.json +7 -7
  5. package/date-fns/src/{date-fns.d.ts → index.d.ts} +4 -4
  6. package/date-fns/src/index.d.ts.map +1 -0
  7. package/date-fns/src/misc/tokens.d.ts +10 -10
  8. package/date-fns/src/services/dateFnsDateApi.service.d.ts +36 -33
  9. package/date-fns/src/services/dateFnsDateApi.service.d.ts.map +1 -1
  10. package/date-fns/src/services/dateFnsLocale.service.d.ts +10 -10
  11. package/date-fns/temp/datetime-date-fns.api.md +47 -0
  12. package/datetime.d.ts +1913 -5
  13. package/datetime.internal.d.ts +2090 -0
  14. package/es2015/date-fns/src/index.js +4 -0
  15. package/es2015/date-fns/src/index.js.map +1 -0
  16. package/es2015/date-fns/src/misc/tokens.js +20 -0
  17. package/es2015/date-fns/src/misc/tokens.js.map +1 -0
  18. package/es2015/date-fns/src/services/dateFnsDateApi.service.js +438 -0
  19. package/es2015/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  20. package/es2015/date-fns/src/services/dateFnsLocale.service.js +2 -0
  21. package/es2015/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  22. package/es2015/karma.conf.js +57 -0
  23. package/es2015/karma.conf.js.map +1 -0
  24. package/{moment/src/moment.d.ts → es2015/moment/src/index.js} +3 -3
  25. package/es2015/moment/src/index.js.map +1 -0
  26. package/es2015/moment/src/misc/tokens.js +15 -0
  27. package/es2015/moment/src/misc/tokens.js.map +1 -0
  28. package/es2015/moment/src/services/momentDateApi.service.js +398 -0
  29. package/es2015/moment/src/services/momentDateApi.service.js.map +1 -0
  30. package/{src/datetime.d.ts → es2015/src/index.js} +19 -19
  31. package/es2015/src/index.js.map +1 -0
  32. package/es2015/src/misc/constants.js +33 -0
  33. package/es2015/src/misc/constants.js.map +1 -0
  34. package/es2015/src/misc/datetime.interface.js +2 -0
  35. package/es2015/src/misc/datetime.interface.js.map +1 -0
  36. package/es2015/src/misc/tokens.js +19 -0
  37. package/es2015/src/misc/tokens.js.map +1 -0
  38. package/es2015/src/misc/validators.js +58 -0
  39. package/es2015/src/misc/validators.js.map +1 -0
  40. package/es2015/src/modules/datePipes.module.js +33 -0
  41. package/es2015/src/modules/datePipes.module.js.map +1 -0
  42. package/es2015/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  43. package/es2015/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  44. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  45. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  46. package/es2015/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  47. package/es2015/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  48. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  49. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  50. package/es2015/src/picker/components/picker/picker.component.animations.js +71 -0
  51. package/es2015/src/picker/components/picker/picker.component.animations.js.map +1 -0
  52. package/es2015/src/picker/components/picker/picker.component.js +241 -0
  53. package/es2015/src/picker/components/picker/picker.component.js.map +1 -0
  54. package/es2015/src/picker/components/pickerBase.component.js +243 -0
  55. package/es2015/src/picker/components/pickerBase.component.js.map +1 -0
  56. package/es2015/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  57. package/es2015/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  58. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  59. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  60. package/es2015/src/picker/interfaces.js +5 -0
  61. package/es2015/src/picker/interfaces.js.map +1 -0
  62. package/es2015/src/picker/misc/datetimePicker.interface.js +2 -0
  63. package/es2015/src/picker/misc/datetimePicker.interface.js.map +1 -0
  64. package/es2015/src/picker/misc/tokens.js +6 -0
  65. package/es2015/src/picker/misc/tokens.js.map +1 -0
  66. package/es2015/src/picker/modules/picker.module.js +46 -0
  67. package/es2015/src/picker/modules/picker.module.js.map +1 -0
  68. package/es2015/src/picker/types.js +8 -0
  69. package/es2015/src/picker/types.js.map +1 -0
  70. package/es2015/src/pipes/asRequiredType.js +22 -0
  71. package/es2015/src/pipes/asRequiredType.js.map +1 -0
  72. package/es2015/src/pipes/dateConvert.pipe.js +35 -0
  73. package/es2015/src/pipes/dateConvert.pipe.js.map +1 -0
  74. package/es2015/src/pipes/dateFormat.pipe.js +45 -0
  75. package/es2015/src/pipes/dateFormat.pipe.js.map +1 -0
  76. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +421 -0
  77. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  78. package/es2015/src/selector/components/selector/selector.component.animations.js +15 -0
  79. package/es2015/src/selector/components/selector/selector.component.animations.js.map +1 -0
  80. package/es2015/src/selector/components/selector/selector.component.js +344 -0
  81. package/es2015/src/selector/components/selector/selector.component.js.map +1 -0
  82. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +317 -0
  83. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  84. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  85. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  86. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  87. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  88. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  89. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  90. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +119 -0
  91. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  92. package/es2015/src/selector/interfaces.js +2 -0
  93. package/es2015/src/selector/interfaces.js.map +1 -0
  94. package/es2015/src/selector/misc/datetimeSelector.interface.js +2 -0
  95. package/es2015/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  96. package/es2015/src/selector/misc/tokens.js +6 -0
  97. package/es2015/src/selector/misc/tokens.js.map +1 -0
  98. package/es2015/src/selector/modules/basicSelector.module.js +20 -0
  99. package/es2015/src/selector/modules/basicSelector.module.js.map +1 -0
  100. package/es2015/src/selector/modules/selector.module.js +60 -0
  101. package/es2015/src/selector/modules/selector.module.js.map +1 -0
  102. package/es2015/src/selector/types.js +10 -0
  103. package/es2015/src/selector/types.js.map +1 -0
  104. package/es2015/src/services/dateApi.interface.js +2 -0
  105. package/es2015/src/services/dateApi.interface.js.map +1 -0
  106. package/es2015/src/services/datePositionParser.interface.js +2 -0
  107. package/es2015/src/services/datePositionParser.interface.js.map +1 -0
  108. package/es2015/src/services/datePositionParser.service.js +227 -0
  109. package/es2015/src/services/datePositionParser.service.js.map +1 -0
  110. package/es2015/src/services/dateTimeRelativeParser.service.js +66 -0
  111. package/es2015/src/services/dateTimeRelativeParser.service.js.map +1 -0
  112. package/es2015/src/services/dateValueProvider.service.js +58 -0
  113. package/es2015/src/services/dateValueProvider.service.js.map +1 -0
  114. package/es2015/src/services/formatProvider.interface.js +2 -0
  115. package/es2015/src/services/formatProvider.interface.js.map +1 -0
  116. package/es2015/src/services/index.js +4 -0
  117. package/es2015/src/services/index.js.map +1 -0
  118. package/es2020/date-fns/src/index.js +4 -0
  119. package/es2020/date-fns/src/index.js.map +1 -0
  120. package/es2020/date-fns/src/misc/tokens.js +20 -0
  121. package/es2020/date-fns/src/misc/tokens.js.map +1 -0
  122. package/es2020/date-fns/src/services/dateFnsDateApi.service.js +437 -0
  123. package/es2020/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  124. package/es2020/date-fns/src/services/dateFnsLocale.service.js +2 -0
  125. package/es2020/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  126. package/es2020/karma.conf.js +57 -0
  127. package/es2020/karma.conf.js.map +1 -0
  128. package/es2020/moment/src/index.js +3 -0
  129. package/es2020/moment/src/index.js.map +1 -0
  130. package/es2020/moment/src/misc/tokens.js +15 -0
  131. package/es2020/moment/src/misc/tokens.js.map +1 -0
  132. package/es2020/moment/src/services/momentDateApi.service.js +398 -0
  133. package/es2020/moment/src/services/momentDateApi.service.js.map +1 -0
  134. package/es2020/src/index.js +19 -0
  135. package/es2020/src/index.js.map +1 -0
  136. package/es2020/src/misc/constants.js +33 -0
  137. package/es2020/src/misc/constants.js.map +1 -0
  138. package/es2020/src/misc/datetime.interface.js +2 -0
  139. package/es2020/src/misc/datetime.interface.js.map +1 -0
  140. package/es2020/src/misc/tokens.js +19 -0
  141. package/es2020/src/misc/tokens.js.map +1 -0
  142. package/es2020/src/misc/validators.js +58 -0
  143. package/es2020/src/misc/validators.js.map +1 -0
  144. package/es2020/src/modules/datePipes.module.js +33 -0
  145. package/es2020/src/modules/datePipes.module.js.map +1 -0
  146. package/es2020/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  147. package/es2020/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  148. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  149. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  150. package/es2020/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  151. package/es2020/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  152. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  153. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  154. package/es2020/src/picker/components/picker/picker.component.animations.js +71 -0
  155. package/es2020/src/picker/components/picker/picker.component.animations.js.map +1 -0
  156. package/es2020/src/picker/components/picker/picker.component.js +236 -0
  157. package/es2020/src/picker/components/picker/picker.component.js.map +1 -0
  158. package/es2020/src/picker/components/pickerBase.component.js +243 -0
  159. package/es2020/src/picker/components/pickerBase.component.js.map +1 -0
  160. package/es2020/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  161. package/es2020/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  162. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  163. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  164. package/es2020/src/picker/interfaces.js +5 -0
  165. package/es2020/src/picker/interfaces.js.map +1 -0
  166. package/es2020/src/picker/misc/datetimePicker.interface.js +2 -0
  167. package/es2020/src/picker/misc/datetimePicker.interface.js.map +1 -0
  168. package/es2020/src/picker/misc/tokens.js +6 -0
  169. package/es2020/src/picker/misc/tokens.js.map +1 -0
  170. package/es2020/src/picker/modules/picker.module.js +46 -0
  171. package/es2020/src/picker/modules/picker.module.js.map +1 -0
  172. package/es2020/src/picker/types.js +8 -0
  173. package/es2020/src/picker/types.js.map +1 -0
  174. package/es2020/src/pipes/asRequiredType.js +22 -0
  175. package/es2020/src/pipes/asRequiredType.js.map +1 -0
  176. package/es2020/src/pipes/dateConvert.pipe.js +35 -0
  177. package/es2020/src/pipes/dateConvert.pipe.js.map +1 -0
  178. package/es2020/src/pipes/dateFormat.pipe.js +45 -0
  179. package/es2020/src/pipes/dateFormat.pipe.js.map +1 -0
  180. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js +417 -0
  181. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  182. package/es2020/src/selector/components/selector/selector.component.animations.js +15 -0
  183. package/es2020/src/selector/components/selector/selector.component.animations.js.map +1 -0
  184. package/es2020/src/selector/components/selector/selector.component.js +334 -0
  185. package/es2020/src/selector/components/selector/selector.component.js.map +1 -0
  186. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +314 -0
  187. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  188. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  189. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  190. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  191. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  192. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  193. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  194. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +118 -0
  195. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  196. package/es2020/src/selector/interfaces.js +2 -0
  197. package/es2020/src/selector/interfaces.js.map +1 -0
  198. package/es2020/src/selector/misc/datetimeSelector.interface.js +2 -0
  199. package/es2020/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  200. package/es2020/src/selector/misc/tokens.js +6 -0
  201. package/es2020/src/selector/misc/tokens.js.map +1 -0
  202. package/es2020/src/selector/modules/basicSelector.module.js +20 -0
  203. package/es2020/src/selector/modules/basicSelector.module.js.map +1 -0
  204. package/es2020/src/selector/modules/selector.module.js +60 -0
  205. package/es2020/src/selector/modules/selector.module.js.map +1 -0
  206. package/es2020/src/selector/types.js +10 -0
  207. package/es2020/src/selector/types.js.map +1 -0
  208. package/es2020/src/services/dateApi.interface.js +2 -0
  209. package/es2020/src/services/dateApi.interface.js.map +1 -0
  210. package/es2020/src/services/datePositionParser.interface.js +2 -0
  211. package/es2020/src/services/datePositionParser.interface.js.map +1 -0
  212. package/es2020/src/services/datePositionParser.service.js +227 -0
  213. package/es2020/src/services/datePositionParser.service.js.map +1 -0
  214. package/es2020/src/services/dateTimeRelativeParser.service.js +65 -0
  215. package/es2020/src/services/dateTimeRelativeParser.service.js.map +1 -0
  216. package/es2020/src/services/dateValueProvider.service.js +58 -0
  217. package/es2020/src/services/dateValueProvider.service.js.map +1 -0
  218. package/es2020/src/services/formatProvider.interface.js +2 -0
  219. package/es2020/src/services/formatProvider.interface.js.map +1 -0
  220. package/es2020/src/services/index.js +4 -0
  221. package/es2020/src/services/index.js.map +1 -0
  222. package/karma.conf.d.ts +2 -0
  223. package/karma.conf.d.ts.map +1 -0
  224. package/moment/datetime-moment.d.ts +47 -0
  225. package/moment/datetime-moment.internal.d.ts +47 -0
  226. package/moment/package.json +7 -7
  227. package/moment/src/index.d.ts +3 -0
  228. package/moment/src/index.d.ts.map +1 -0
  229. package/moment/src/misc/tokens.d.ts +5 -5
  230. package/moment/src/services/momentDateApi.service.d.ts +35 -32
  231. package/moment/src/services/momentDateApi.service.d.ts.map +1 -1
  232. package/moment/temp/datetime-moment.api.md +36 -0
  233. package/package.json +91 -48
  234. package/src/index.d.ts +19 -0
  235. package/src/index.d.ts.map +1 -0
  236. package/src/misc/constants.d.ts +32 -32
  237. package/src/misc/datetime.interface.d.ts +34 -34
  238. package/src/misc/tokens.d.ts +10 -10
  239. package/src/misc/validators.d.ts +25 -25
  240. package/src/modules/datePipes.module.d.ts +12 -5
  241. package/src/modules/datePipes.module.d.ts.map +1 -1
  242. package/src/picker/components/dayPicker/dayPicker.component.d.ts +68 -65
  243. package/src/picker/components/dayPicker/dayPicker.component.d.ts.map +1 -1
  244. package/src/picker/components/dayPicker/dayPicker.component.html +7 -7
  245. package/src/picker/components/dayPicker/dayPicker.interfaces.d.ts +10 -10
  246. package/src/picker/components/monthPicker/monthPicker.component.d.ts +52 -49
  247. package/src/picker/components/monthPicker/monthPicker.component.d.ts.map +1 -1
  248. package/src/picker/components/monthPicker/monthPicker.component.html +6 -6
  249. package/src/picker/components/monthPicker/monthPicker.interfaces.d.ts +6 -6
  250. package/src/picker/components/picker/picker.component.animations.d.ts +4 -4
  251. package/src/picker/components/picker/picker.component.d.ts +104 -101
  252. package/src/picker/components/picker/picker.component.d.ts.map +1 -1
  253. package/src/picker/components/pickerBase.component.d.ts +169 -166
  254. package/src/picker/components/pickerBase.component.d.ts.map +1 -1
  255. package/src/picker/components/yearPicker/yearPicker.component.d.ts +57 -54
  256. package/src/picker/components/yearPicker/yearPicker.component.d.ts.map +1 -1
  257. package/src/picker/components/yearPicker/yearPicker.component.html +6 -6
  258. package/src/picker/components/yearPicker/yearPicker.interfaces.d.ts +6 -6
  259. package/src/picker/interfaces.d.ts +4 -4
  260. package/src/picker/misc/datetimePicker.interface.d.ts +188 -188
  261. package/src/picker/misc/tokens.d.ts +6 -6
  262. package/src/picker/modules/picker.module.d.ts +16 -5
  263. package/src/picker/modules/picker.module.d.ts.map +1 -1
  264. package/src/picker/types.d.ts +7 -7
  265. package/src/pipes/asRequiredType.d.ts +21 -0
  266. package/src/pipes/asRequiredType.d.ts.map +1 -0
  267. package/src/pipes/dateConvert.pipe.d.ts +18 -15
  268. package/src/pipes/dateConvert.pipe.d.ts.map +1 -1
  269. package/src/pipes/dateFormat.pipe.d.ts +20 -17
  270. package/src/pipes/dateFormat.pipe.d.ts.map +1 -1
  271. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts +187 -184
  272. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts.map +1 -1
  273. package/src/selector/components/selector/selector.component.animations.d.ts +4 -4
  274. package/src/selector/components/selector/selector.component.d.ts +155 -152
  275. package/src/selector/components/selector/selector.component.d.ts.map +1 -1
  276. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts +170 -167
  277. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts.map +1 -1
  278. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts +22 -19
  279. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts.map +1 -1
  280. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts +22 -19
  281. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts.map +1 -1
  282. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts +21 -18
  283. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts.map +1 -1
  284. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts +53 -50
  285. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts.map +1 -1
  286. package/src/selector/interfaces.d.ts +1 -1
  287. package/src/selector/misc/datetimeSelector.interface.d.ts +82 -82
  288. package/src/selector/misc/tokens.d.ts +6 -6
  289. package/src/selector/modules/basicSelector.module.d.ts +10 -5
  290. package/src/selector/modules/basicSelector.module.d.ts.map +1 -1
  291. package/src/selector/modules/selector.module.d.ts +18 -5
  292. package/src/selector/modules/selector.module.d.ts.map +1 -1
  293. package/src/selector/types.d.ts +9 -9
  294. package/src/services/dateApi.interface.d.ts +275 -275
  295. package/src/services/datePositionParser.interface.d.ts +40 -40
  296. package/src/services/datePositionParser.service.d.ts +60 -57
  297. package/src/services/datePositionParser.service.d.ts.map +1 -1
  298. package/src/services/dateTimeRelativeParser.service.d.ts +21 -18
  299. package/src/services/dateTimeRelativeParser.service.d.ts.map +1 -1
  300. package/src/services/dateValueProvider.service.d.ts +18 -15
  301. package/src/services/dateValueProvider.service.d.ts.map +1 -1
  302. package/src/services/formatProvider.interface.d.ts +17 -17
  303. package/src/services/index.d.ts +3 -3
  304. package/tsconfig.karma.json +5 -6
  305. package/version.bak +1 -1
  306. package/appveyor.yml +0 -70
  307. package/date-fns/dist/es2015/date-fns/index.js +0 -10
  308. package/date-fns/dist/es2015/date-fns/public_api.js +0 -7
  309. package/date-fns/dist/es2015/date-fns/src/date-fns.js +0 -9
  310. package/date-fns/dist/es2015/date-fns/src/misc/tokens.js +0 -32
  311. package/date-fns/dist/es2015/date-fns/src/services/dateFnsDateApi.service.js +0 -512
  312. package/date-fns/dist/es2015/date-fns/src/services/dateFnsLocale.service.js +0 -18
  313. package/date-fns/dist/es5/date-fns/index.js +0 -10
  314. package/date-fns/dist/es5/date-fns/public_api.js +0 -7
  315. package/date-fns/dist/es5/date-fns/src/date-fns.js +0 -9
  316. package/date-fns/dist/es5/date-fns/src/misc/tokens.js +0 -32
  317. package/date-fns/dist/es5/date-fns/src/services/dateFnsDateApi.service.js +0 -902
  318. package/date-fns/dist/es5/date-fns/src/services/dateFnsLocale.service.js +0 -18
  319. package/date-fns/index.d.ts +0 -5
  320. package/date-fns/index.d.ts.map +0 -1
  321. package/date-fns/index.metadata.json +0 -1
  322. package/date-fns/public_api.d.ts +0 -2
  323. package/date-fns/public_api.d.ts.map +0 -1
  324. package/date-fns/src/date-fns.d.ts.map +0 -1
  325. package/date-fns/src/services/dateFnsDateApi.service.ngfactory.d.ts.map +0 -1
  326. package/datetime.d.ts.map +0 -1
  327. package/datetime.metadata.json +0 -1
  328. package/dist/es2015/datetime.js +0 -10
  329. package/dist/es2015/public_api.js +0 -7
  330. package/dist/es2015/src/datetime.js +0 -24
  331. package/dist/es2015/src/misc/constants.js +0 -46
  332. package/dist/es2015/src/misc/datetime.interface.js +0 -52
  333. package/dist/es2015/src/misc/tokens.js +0 -29
  334. package/dist/es2015/src/misc/validators.js +0 -80
  335. package/dist/es2015/src/modules/datePipes.module.js +0 -26
  336. package/dist/es2015/src/picker/components/dayPicker/dayPicker.component.js +0 -215
  337. package/dist/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  338. package/dist/es2015/src/picker/components/monthPicker/monthPicker.component.js +0 -138
  339. package/dist/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  340. package/dist/es2015/src/picker/components/picker/picker.component.animations.js +0 -77
  341. package/dist/es2015/src/picker/components/picker/picker.component.js +0 -386
  342. package/dist/es2015/src/picker/components/pickerBase.component.js +0 -406
  343. package/dist/es2015/src/picker/components/yearPicker/yearPicker.component.js +0 -158
  344. package/dist/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  345. package/dist/es2015/src/picker/interfaces.js +0 -10
  346. package/dist/es2015/src/picker/misc/datetimePicker.interface.js +0 -245
  347. package/dist/es2015/src/picker/misc/tokens.js +0 -12
  348. package/dist/es2015/src/picker/modules/picker.module.js +0 -35
  349. package/dist/es2015/src/picker/types.js +0 -13
  350. package/dist/es2015/src/pipes/dateConvert.pipe.js +0 -50
  351. package/dist/es2015/src/pipes/dateFormat.pipe.js +0 -64
  352. package/dist/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +0 -588
  353. package/dist/es2015/src/selector/components/selector/selector.component.animations.js +0 -21
  354. package/dist/es2015/src/selector/components/selector/selector.component.js +0 -514
  355. package/dist/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -456
  356. package/dist/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -73
  357. package/dist/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -73
  358. package/dist/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -70
  359. package/dist/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -171
  360. package/dist/es2015/src/selector/interfaces.js +0 -7
  361. package/dist/es2015/src/selector/misc/datetimeSelector.interface.js +0 -106
  362. package/dist/es2015/src/selector/misc/tokens.js +0 -12
  363. package/dist/es2015/src/selector/modules/basicSelector.module.js +0 -20
  364. package/dist/es2015/src/selector/modules/selector.module.js +0 -45
  365. package/dist/es2015/src/selector/types.js +0 -15
  366. package/dist/es2015/src/services/dateApi.interface.js +0 -316
  367. package/dist/es2015/src/services/datePositionParser.interface.js +0 -56
  368. package/dist/es2015/src/services/datePositionParser.service.js +0 -297
  369. package/dist/es2015/src/services/dateTimeRelativeParser.service.js +0 -97
  370. package/dist/es2015/src/services/dateValueProvider.service.js +0 -79
  371. package/dist/es2015/src/services/formatProvider.interface.js +0 -28
  372. package/dist/es2015/src/services/index.js +0 -9
  373. package/dist/es5/datetime.js +0 -10
  374. package/dist/es5/public_api.js +0 -7
  375. package/dist/es5/src/datetime.js +0 -24
  376. package/dist/es5/src/misc/constants.js +0 -46
  377. package/dist/es5/src/misc/datetime.interface.js +0 -52
  378. package/dist/es5/src/misc/tokens.js +0 -29
  379. package/dist/es5/src/misc/validators.js +0 -124
  380. package/dist/es5/src/modules/datePipes.module.js +0 -30
  381. package/dist/es5/src/picker/components/dayPicker/dayPicker.component.js +0 -323
  382. package/dist/es5/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  383. package/dist/es5/src/picker/components/monthPicker/monthPicker.component.js +0 -233
  384. package/dist/es5/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  385. package/dist/es5/src/picker/components/picker/picker.component.animations.js +0 -77
  386. package/dist/es5/src/picker/components/picker/picker.component.js +0 -460
  387. package/dist/es5/src/picker/components/pickerBase.component.js +0 -561
  388. package/dist/es5/src/picker/components/yearPicker/yearPicker.component.js +0 -253
  389. package/dist/es5/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  390. package/dist/es5/src/picker/interfaces.js +0 -10
  391. package/dist/es5/src/picker/misc/datetimePicker.interface.js +0 -245
  392. package/dist/es5/src/picker/misc/tokens.js +0 -12
  393. package/dist/es5/src/picker/modules/picker.module.js +0 -39
  394. package/dist/es5/src/picker/types.js +0 -13
  395. package/dist/es5/src/pipes/dateConvert.pipe.js +0 -63
  396. package/dist/es5/src/pipes/dateFormat.pipe.js +0 -79
  397. package/dist/es5/src/selector/components/inputDateTime/inputDateTime.component.js +0 -808
  398. package/dist/es5/src/selector/components/selector/selector.component.animations.js +0 -21
  399. package/dist/es5/src/selector/components/selector/selector.component.js +0 -653
  400. package/dist/es5/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -656
  401. package/dist/es5/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -84
  402. package/dist/es5/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -84
  403. package/dist/es5/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -82
  404. package/dist/es5/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -230
  405. package/dist/es5/src/selector/interfaces.js +0 -7
  406. package/dist/es5/src/selector/misc/datetimeSelector.interface.js +0 -106
  407. package/dist/es5/src/selector/misc/tokens.js +0 -12
  408. package/dist/es5/src/selector/modules/basicSelector.module.js +0 -24
  409. package/dist/es5/src/selector/modules/selector.module.js +0 -49
  410. package/dist/es5/src/selector/types.js +0 -15
  411. package/dist/es5/src/services/dateApi.interface.js +0 -316
  412. package/dist/es5/src/services/datePositionParser.interface.js +0 -56
  413. package/dist/es5/src/services/datePositionParser.service.js +0 -366
  414. package/dist/es5/src/services/dateTimeRelativeParser.service.js +0 -108
  415. package/dist/es5/src/services/dateValueProvider.service.js +0 -92
  416. package/dist/es5/src/services/formatProvider.interface.js +0 -28
  417. package/dist/es5/src/services/index.js +0 -9
  418. package/moment/dist/es2015/moment/index.js +0 -10
  419. package/moment/dist/es2015/moment/public_api.js +0 -7
  420. package/moment/dist/es2015/moment/src/misc/tokens.js +0 -26
  421. package/moment/dist/es2015/moment/src/moment.js +0 -8
  422. package/moment/dist/es2015/moment/src/services/momentDateApi.service.js +0 -466
  423. package/moment/dist/es5/moment/index.js +0 -10
  424. package/moment/dist/es5/moment/public_api.js +0 -7
  425. package/moment/dist/es5/moment/src/misc/tokens.js +0 -26
  426. package/moment/dist/es5/moment/src/moment.js +0 -8
  427. package/moment/dist/es5/moment/src/services/momentDateApi.service.js +0 -858
  428. package/moment/index.d.ts +0 -5
  429. package/moment/index.d.ts.map +0 -1
  430. package/moment/index.metadata.json +0 -1
  431. package/moment/public_api.d.ts +0 -2
  432. package/moment/public_api.d.ts.map +0 -1
  433. package/moment/src/moment.d.ts.map +0 -1
  434. package/moment/src/services/momentDateApi.service.ngfactory.d.ts.map +0 -1
  435. package/public_api.d.ts +0 -2
  436. package/public_api.d.ts.map +0 -1
  437. package/src/datetime.d.ts.map +0 -1
  438. package/src/modules/datePipes.module.ngfactory.d.ts.map +0 -1
  439. package/src/picker/components/dayPicker/dayPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  440. package/src/picker/components/dayPicker/dayPicker.component.ngfactory.d.ts.map +0 -1
  441. package/src/picker/components/monthPicker/monthPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  442. package/src/picker/components/monthPicker/monthPicker.component.ngfactory.d.ts.map +0 -1
  443. package/src/picker/components/picker/picker.component.ngfactory.d.ts.map +0 -1
  444. package/src/picker/components/yearPicker/yearPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  445. package/src/picker/components/yearPicker/yearPicker.component.ngfactory.d.ts.map +0 -1
  446. package/src/picker/modules/picker.module.ngfactory.d.ts.map +0 -1
  447. package/src/pipes/dateConvert.pipe.ngfactory.d.ts.map +0 -1
  448. package/src/pipes/dateFormat.pipe.ngfactory.d.ts.map +0 -1
  449. package/src/selector/components/inputDateTime/inputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  450. package/src/selector/components/inputDateTime/inputDateTime.component.ngfactory.d.ts.map +0 -1
  451. package/src/selector/components/selector/selector.component.css.shim.ngstyle.d.ts.map +0 -1
  452. package/src/selector/components/selector/selector.component.ngfactory.d.ts.map +0 -1
  453. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  454. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.ngfactory.d.ts.map +0 -1
  455. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.ngfactory.d.ts.map +0 -1
  456. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.ngfactory.d.ts.map +0 -1
  457. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.ngfactory.d.ts.map +0 -1
  458. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.ngfactory.d.ts.map +0 -1
  459. package/src/selector/modules/basicSelector.module.ngfactory.d.ts.map +0 -1
  460. package/src/selector/modules/selector.module.ngfactory.d.ts.map +0 -1
  461. package/src/services/datePositionParser.service.ngfactory.d.ts.map +0 -1
  462. package/src/services/dateTimeRelativeParser.service.ngfactory.d.ts.map +0 -1
  463. package/src/services/dateValueProvider.service.ngfactory.d.ts.map +0 -1
@@ -1,10 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/index.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- /**
7
- * Generated bundle index. Do not edit.
8
- */
9
- export { MomentDateApi, MOMENT_FORMAT_PROVIDER } from './public_api';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlBLHNEQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,7 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/public_api.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { MomentDateApi, MOMENT_FORMAT_PROVIDER } from './src/moment';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9tb21lbnQnOyJdfQ==
@@ -1,26 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/src/misc/tokens.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { FORMAT_PROVIDER } from '@anglr/datetime';
7
- const ɵ0 = /**
8
- * @return {?}
9
- */
10
- () => {
11
- return (/** @type {?} */ ({
12
- date: 'L',
13
- dateTime: 'L LT',
14
- time: 'LT'
15
- }));
16
- };
17
- /**
18
- * Injection token used for obtaining moment FormatProvider implementation
19
- * @type {?}
20
- */
21
- export const MOMENT_FORMAT_PROVIDER = {
22
- provide: FORMAT_PROVIDER,
23
- useFactory: (ɵ0)
24
- };
25
- export { ɵ0 };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21pc2MvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFpQixlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVFoRCxHQUFHLEVBQUU7SUFFYixPQUFPLG1CQUFnQjtRQUNuQixJQUFJLEVBQUUsR0FBRztRQUNULFFBQVEsRUFBRSxNQUFNO1FBQ2hCLElBQUksRUFBRSxJQUFJO0tBQ2IsRUFBQSxDQUFDO0FBQ04sQ0FBQzs7Ozs7QUFWTCxNQUFNLE9BQU8sc0JBQXNCLEdBQ25DO0lBQ0ksT0FBTyxFQUFFLGVBQWU7SUFDeEIsVUFBVSxNQU9UO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZhY3RvcnlQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybWF0UHJvdmlkZXIsIEZPUk1BVF9QUk9WSURFUn0gZnJvbSAnQGFuZ2xyL2RhdGV0aW1lJztcclxuXHJcbi8qKlxyXG4gKiBJbmplY3Rpb24gdG9rZW4gdXNlZCBmb3Igb2J0YWluaW5nIG1vbWVudCBGb3JtYXRQcm92aWRlciBpbXBsZW1lbnRhdGlvblxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IE1PTUVOVF9GT1JNQVRfUFJPVklERVI6IEZhY3RvcnlQcm92aWRlciA9XHJcbntcclxuICAgIHByb3ZpZGU6IEZPUk1BVF9QUk9WSURFUixcclxuICAgIHVzZUZhY3Rvcnk6ICgpID0+XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIDxGb3JtYXRQcm92aWRlcj57XHJcbiAgICAgICAgICAgIGRhdGU6ICdMJyxcclxuICAgICAgICAgICAgZGF0ZVRpbWU6ICdMIExUJyxcclxuICAgICAgICAgICAgdGltZTogJ0xUJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn07Il19
@@ -1,8 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/src/moment.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { MomentDateApi } from './services/momentDateApi.service';
7
- export { MOMENT_FORMAT_PROVIDER } from './misc/tokens';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhCQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHVDQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbW9tZW50RGF0ZUFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9taXNjL3Rva2Vucyc7Il19
@@ -1,466 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/src/services/momentDateApi.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable } from '@angular/core';
7
- import { DateTimeRelativeParser } from '@anglr/datetime';
8
- import { isBlank, isPresent } from '@jscrpt/common';
9
- import moment from 'moment';
10
- /**
11
- * Instance of object wrapping TDate, allowing manipulation with it
12
- */
13
- class MomentDateApiObject {
14
- //######################### constructor #########################
15
- /**
16
- * @param {?} value
17
- * @param {?=} format
18
- */
19
- constructor(value, format) {
20
- this._value = this._originalValue = moment(value, format);
21
- }
22
- //######################### public properties - implementation of DateApiObject #########################
23
- /**
24
- * Original value that is not changed unless 'updateOriginal' is called
25
- * @return {?}
26
- */
27
- get originalValue() {
28
- return this._originalValue;
29
- }
30
- /**
31
- * Instance of date
32
- * @return {?}
33
- */
34
- get value() {
35
- return this._value;
36
- }
37
- //######################### public methods - implementation of DateApiObject #########################
38
- /**
39
- * Gets indication whether provided instance of date is valid
40
- * @return {?}
41
- */
42
- isValid() {
43
- return this._value.isValid();
44
- }
45
- /**
46
- * Gets indication whether provided instance of date is weekend day
47
- * @return {?}
48
- */
49
- isWeekend() {
50
- /** @type {?} */
51
- let weekday = this._value.isoWeekday();
52
- return weekday == 6 || weekday == 7;
53
- }
54
- /**
55
- * Formats date value
56
- * @param {?} format - Format token used for creating formatted string
57
- * @return {?}
58
- */
59
- format(format) {
60
- return this._value.format(format.replace(/y/g, 'Y').replace(/d/g, 'D'));
61
- }
62
- /**
63
- * Updates value to start date and time of current decade
64
- * @return {?} Itself for fluent API
65
- */
66
- startOfDecade() {
67
- /** @type {?} */
68
- let diff = (this._value.year() % 10);
69
- this._value = moment(this._value).subtract(diff, 'years').startOf('year');
70
- return this;
71
- }
72
- /**
73
- * Updates value to end date and time of current decade
74
- * @return {?} Itself for fluent API
75
- */
76
- endOfDecade() {
77
- /** @type {?} */
78
- let diff = 9 - (this._value.year() % 10);
79
- this._value = moment(this._value).add(diff, 'years').endOf('year');
80
- return this;
81
- }
82
- /**
83
- * Updates value to start date and time of current year
84
- * @return {?} Itself for fluent API
85
- */
86
- startOfYear() {
87
- this._value = moment(this._value).startOf('year');
88
- return this;
89
- }
90
- /**
91
- * Updates value to end date and time of current year
92
- * @return {?} Itself for fluent API
93
- */
94
- endOfYear() {
95
- this._value = moment(this._value).endOf('year');
96
- return this;
97
- }
98
- /**
99
- * Add years, if count not specified adds 1 year
100
- * @param {?=} count - Number of years count
101
- * @return {?} Itself for fluent API
102
- */
103
- addYears(count) {
104
- this._value = moment(this._value).add(count !== null && count !== void 0 ? count : 1, 'years');
105
- return this;
106
- }
107
- /**
108
- * Subtract years, if count not specified subtract 1 year
109
- * @param {?=} count - Number of years count
110
- * @return {?} Itself for fluent API
111
- */
112
- subtractYears(count) {
113
- this._value = moment(this._value).subtract(count !== null && count !== void 0 ? count : 1, 'years');
114
- return this;
115
- }
116
- /**
117
- * Updates value to start date and time of current month
118
- * @return {?} Itself for fluent API
119
- */
120
- startOfMonth() {
121
- this._value = moment(this._value).startOf('month');
122
- return this;
123
- }
124
- /**
125
- * Updates value to end date and time of current month
126
- * @return {?} Itself for fluent API
127
- */
128
- endOfMonth() {
129
- this._value = moment(this._value).endOf('month');
130
- return this;
131
- }
132
- /**
133
- * Add months, if count not specified adds 1 month
134
- * @param {?=} count - Number of months count
135
- * @return {?} Itself for fluent API
136
- */
137
- addMonths(count) {
138
- this._value = moment(this._value).add(count !== null && count !== void 0 ? count : 1, 'months');
139
- return this;
140
- }
141
- /**
142
- * Subtract months, if count not specified subtract 1 month
143
- * @param {?=} count - Number of months count
144
- * @return {?} Itself for fluent API
145
- */
146
- subtractMonths(count) {
147
- this._value = moment(this._value).subtract(count !== null && count !== void 0 ? count : 1, 'months');
148
- return this;
149
- }
150
- /**
151
- * Updates value to start date and time of current week
152
- * @return {?} Itself for fluent API
153
- */
154
- startOfWeek() {
155
- this._value = moment(this._value).startOf('week');
156
- return this;
157
- }
158
- /**
159
- * Updates value to end date and time of current week
160
- * @return {?} Itself for fluent API
161
- */
162
- endOfWeek() {
163
- this._value = moment(this._value).endOf('week');
164
- return this;
165
- }
166
- /**
167
- * Add weeks, if count not specified adds 1 week
168
- * @param {?=} count - Number of weeks count
169
- * @return {?} Itself for fluent API
170
- */
171
- addWeeks(count) {
172
- this._value = moment(this._value).add(count !== null && count !== void 0 ? count : 1, 'weeks');
173
- return this;
174
- }
175
- /**
176
- * Subtract weeks, if count not specified subtract 1 week
177
- * @param {?=} count - Number of weeks count
178
- * @return {?} Itself for fluent API
179
- */
180
- subtractWeeks(count) {
181
- this._value = moment(this._value).subtract(count !== null && count !== void 0 ? count : 1, 'weeks');
182
- return this;
183
- }
184
- /**
185
- * Updates value to start date and time of current day
186
- * @return {?} Itself for fluent API
187
- */
188
- startOfDay() {
189
- this._value = moment(this._value).startOf('day');
190
- return this;
191
- }
192
- /**
193
- * Updates value to end date and time of current day
194
- * @return {?} Itself for fluent API
195
- */
196
- endOfDay() {
197
- this._value = moment(this._value).endOf('day');
198
- return this;
199
- }
200
- /**
201
- * Add days, if count not specified adds 1 day
202
- * @param {?=} count - Number of days count
203
- * @return {?} Itself for fluent API
204
- */
205
- addDays(count) {
206
- this._value = moment(this._value).add(count !== null && count !== void 0 ? count : 1, 'days');
207
- return this;
208
- }
209
- /**
210
- * Subtract days, if count not specified subtract 1 day
211
- * @param {?=} count - Number of days count
212
- * @return {?} Itself for fluent API
213
- */
214
- subtractDays(count) {
215
- this._value = moment(this._value).subtract(count !== null && count !== void 0 ? count : 1, 'days');
216
- return this;
217
- }
218
- /**
219
- * Gets number of days in month
220
- * @return {?}
221
- */
222
- daysInMonth() {
223
- return this._value.daysInMonth();
224
- }
225
- /**
226
- * Gets or sets year
227
- * @param {?=} year - If specified, sets year
228
- * @return {?}
229
- */
230
- year(year) {
231
- if (isPresent(year)) {
232
- this._value = moment(this._value).year((/** @type {?} */ (year)));
233
- return this;
234
- }
235
- return this._value.year();
236
- }
237
- /**
238
- * Gets or sets month
239
- * @param {?=} month - If specified, sets month
240
- * @return {?}
241
- */
242
- month(month) {
243
- if (isPresent(month)) {
244
- this._value = moment(this._value).month((/** @type {?} */ (month)));
245
- return this;
246
- }
247
- return this._value.month();
248
- }
249
- /**
250
- * Gets or sets day of month one based
251
- * @param {?=} day - If specified, sets day of month
252
- * @return {?}
253
- */
254
- dayOfMonth(day) {
255
- if (isPresent(day)) {
256
- this._value = moment(this._value).date((/** @type {?} */ (day)));
257
- return this;
258
- }
259
- return this._value.date();
260
- }
261
- /**
262
- * Gets or sets day of week zero based, first is monday
263
- * @param {?=} day - If specified, sets day of week
264
- * @return {?}
265
- */
266
- dayOfWeek(day) {
267
- if (isPresent(day)) {
268
- this._value = moment(this._value).weekday((/** @type {?} */ (day)));
269
- return this;
270
- }
271
- return this._value.weekday();
272
- }
273
- /**
274
- * Gets indication whether current value is before 'date'
275
- * @param {?} date - Date which is this date compared to
276
- * @return {?}
277
- */
278
- isBefore(date) {
279
- return this._value.isBefore(date);
280
- }
281
- /**
282
- * Gets indication whether current value is after 'date'
283
- * @param {?} date - Date which is this date compared to
284
- * @return {?}
285
- */
286
- isAfter(date) {
287
- return this._value.isAfter(date);
288
- }
289
- /**
290
- * Gets number of days between this and provided date
291
- * @param {?} date - Date which is used for computation of diff against
292
- * @return {?}
293
- */
294
- diffDays(date) {
295
- return moment(this._value).startOf('day').diff(moment(date).startOf('day'), 'days');
296
- }
297
- /**
298
- * Compares whether this date is same week as provided date
299
- * @param {?} date - Date which is used for comparison of same week
300
- * @return {?}
301
- */
302
- isSameWeek(date) {
303
- return this._value.isSame(date, 'week');
304
- }
305
- /**
306
- * Compares whether this date is same decade as provided date
307
- * @param {?} date - Date which is used for comparison of same decade
308
- * @return {?}
309
- */
310
- isSameDecade(date) {
311
- /** @type {?} */
312
- let year = this._value.year();
313
- /** @type {?} */
314
- let start = year - (year % 10);
315
- /** @type {?} */
316
- let end = start + 10;
317
- return date.year() >= start && date.year() < end;
318
- }
319
- /**
320
- * Compares whether this date is same year as provided date
321
- * @param {?} date - Date which is used for comparison of same year
322
- * @return {?}
323
- */
324
- isSameYear(date) {
325
- return this._value.isSame(date, 'year');
326
- }
327
- /**
328
- * Compares whether this date is same month as provided date
329
- * @param {?} date - Date which is used for comparison of same month
330
- * @return {?}
331
- */
332
- isSameMonth(date) {
333
- return this._value.isSame(date, 'month');
334
- }
335
- /**
336
- * Compares whether this date is same day as provided date
337
- * @param {?} date - Date which is used for comparison of same day
338
- * @return {?}
339
- */
340
- isSameDay(date) {
341
- return this._value.isSame(date, 'day');
342
- }
343
- /**
344
- * Creates clone of this instance, value and originalValue have same value and are cloned from value
345
- * @return {?}
346
- */
347
- clone() {
348
- return new MomentDateApiObject(moment(this._value));
349
- }
350
- /**
351
- * Creates clone of this instance, value and originalValue have same value and are cloned from originalValue
352
- * @return {?}
353
- */
354
- cloneOriginal() {
355
- return new MomentDateApiObject(moment(this._originalValue));
356
- }
357
- /**
358
- * Updates originalValue, if value is not provided originalValue is set to value
359
- * @param {?=} value - Value to be set as original, or null (value will be used as value)
360
- * @return {?} Itself for fluent API
361
- */
362
- updateOriginal(value) {
363
- if (isBlank(value)) {
364
- this._originalValue = this._value;
365
- }
366
- else {
367
- this._value = this._originalValue = (/** @type {?} */ (value));
368
- }
369
- return this;
370
- }
371
- /**
372
- * Changes value to same value as originalValue
373
- * @return {?} Itself for fluent API
374
- */
375
- resetOriginal() {
376
- this._value = this._originalValue;
377
- return this;
378
- }
379
- }
380
- if (false) {
381
- /**
382
- * Original value that is not changed unless 'updateOriginal' is called
383
- * @type {?}
384
- * @private
385
- */
386
- MomentDateApiObject.prototype._originalValue;
387
- /**
388
- * Instance of date
389
- * @type {?}
390
- * @private
391
- */
392
- MomentDateApiObject.prototype._value;
393
- }
394
- /**
395
- * Date api using MomentJS, used for obtaining DateApi wrapper object
396
- */
397
- export class MomentDateApi {
398
- //######################### constructor #########################
399
- /**
400
- * @param {?} _relativeParser
401
- */
402
- constructor(_relativeParser) {
403
- this._relativeParser = _relativeParser;
404
- }
405
- //######################### public methods #########################
406
- /**
407
- * Gets wrapping object used for manipulation
408
- * @param {?} value - Value to be converted (parsed) and used for manipulation
409
- * @param {?=} format - Format string used for parsing string value
410
- * @return {?}
411
- */
412
- getValue(value, format) {
413
- return new MomentDateApiObject(this._relativeParser.parse(value), format);
414
- }
415
- /**
416
- * Gets wrapping object used for manipulation instantiated to current date and time
417
- * @return {?}
418
- */
419
- now() {
420
- return new MomentDateApiObject(moment());
421
- }
422
- /**
423
- * Gets format string using pseudo format
424
- * @param {?} pseudoFormat - Pseudo format token, used for obtaining 'date' or 'time' format string
425
- * @return {?}
426
- */
427
- getFormat(pseudoFormat) {
428
- if (/^((LT|LTS|L+|l+)\s*)*$/g.test(pseudoFormat)) {
429
- return pseudoFormat.split(' ').map((/**
430
- * @param {?} itm
431
- * @return {?}
432
- */
433
- itm => moment.localeData().longDateFormat((/** @type {?} */ (itm))))).join(' ');
434
- }
435
- return pseudoFormat;
436
- }
437
- /**
438
- * Gets information
439
- * @return {?}
440
- */
441
- weekStartsOnMonday() {
442
- return moment.localeData().firstDayOfWeek() === 1;
443
- }
444
- /**
445
- * Gets array of weekday names in short format, order of days is dependent on locale
446
- * @return {?}
447
- */
448
- weekdaysShort() {
449
- return moment.weekdaysShort(true);
450
- }
451
- }
452
- MomentDateApi.decorators = [
453
- { type: Injectable }
454
- ];
455
- /** @nocollapse */
456
- MomentDateApi.ctorParameters = () => [
457
- { type: DateTimeRelativeParser }
458
- ];
459
- if (false) {
460
- /**
461
- * @type {?}
462
- * @protected
463
- */
464
- MomentDateApi.prototype._relativeParser;
465
- }
466
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50RGF0ZUFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21vbWVudERhdGVBcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFvQyxzQkFBc0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFGLE9BQU8sRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxNQUEyQixNQUFNLFFBQVEsQ0FBQzs7OztBQUtqRCxNQUFNLG1CQUFtQjs7Ozs7O0lBaUNyQixZQUFZLEtBQThCLEVBQUUsTUFBZTtRQUV2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDOzs7Ozs7SUFqQkQsSUFBVyxhQUFhO1FBRXBCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDOzs7OztJQUtELElBQVcsS0FBSztRQUVaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDOzs7Ozs7SUFhTSxPQUFPO1FBRVYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBS00sU0FBUzs7WUFFUixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFFdEMsT0FBTyxPQUFPLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7O0lBTU0sTUFBTSxDQUFDLE1BQWM7UUFFeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FB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dEQsQ0FBQzs7Ozs7SUFLTSxhQUFhO1FBRWhCLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7WUF4REosVUFBVTs7OztZQXRnQmdDLHNCQUFzQjs7Ozs7OztJQTBnQmpELHdDQUFnRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RGF0ZUFwaSwgRGF0ZVZhbHVlLCBEYXRlQXBpT2JqZWN0LCBEYXRlVGltZVJlbGF0aXZlUGFyc2VyfSBmcm9tICdAYW5nbHIvZGF0ZXRpbWUnO1xyXG5pbXBvcnQge2lzQmxhbmssIGlzUHJlc2VudH0gZnJvbSAnQGpzY3JwdC9jb21tb24nO1xyXG5pbXBvcnQgbW9tZW50LCB7TG9uZ0RhdGVGb3JtYXRLZXl9IGZyb20gJ21vbWVudCc7XHJcblxyXG4vKipcclxuICogSW5zdGFuY2Ugb2Ygb2JqZWN0IHdyYXBwaW5nIFREYXRlLCBhbGxvd2luZyBtYW5pcHVsYXRpb24gd2l0aCBpdFxyXG4gKi9cclxuY2xhc3MgTW9tZW50RGF0ZUFwaU9iamVjdCBpbXBsZW1lbnRzIERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxue1xyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHByaXZhdGUgZmllbGRzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9yaWdpbmFsIHZhbHVlIHRoYXQgaXMgbm90IGNoYW5nZWQgdW5sZXNzICd1cGRhdGVPcmlnaW5hbCcgaXMgY2FsbGVkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX29yaWdpbmFsVmFsdWU6IG1vbWVudC5Nb21lbnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnN0YW5jZSBvZiBkYXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3ZhbHVlOiBtb21lbnQuTW9tZW50O1xyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgcHJvcGVydGllcyAtIGltcGxlbWVudGF0aW9uIG9mIERhdGVBcGlPYmplY3QgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3JpZ2luYWwgdmFsdWUgdGhhdCBpcyBub3QgY2hhbmdlZCB1bmxlc3MgJ3VwZGF0ZU9yaWdpbmFsJyBpcyBjYWxsZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBvcmlnaW5hbFZhbHVlKCk6IG1vbWVudC5Nb21lbnRcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluc3RhbmNlIG9mIGRhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBtb21lbnQuTW9tZW50XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBjb25zdHJ1Y3RvciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZTogRGF0ZVZhbHVlfG1vbWVudC5Nb21lbnQsIGZvcm1hdD86IHN0cmluZylcclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX29yaWdpbmFsVmFsdWUgPSBtb21lbnQodmFsdWUsIGZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHB1YmxpYyBtZXRob2RzIC0gaW1wbGVtZW50YXRpb24gb2YgRGF0ZUFwaU9iamVjdCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGluZGljYXRpb24gd2hldGhlciBwcm92aWRlZCBpbnN0YW5jZSBvZiBkYXRlIGlzIHZhbGlkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNWYWxpZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBpbmRpY2F0aW9uIHdoZXRoZXIgcHJvdmlkZWQgaW5zdGFuY2Ugb2YgZGF0ZSBpcyB3ZWVrZW5kIGRheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNXZWVrZW5kKCk6IGJvb2xlYW5cclxuICAgIHtcclxuICAgICAgICBsZXQgd2Vla2RheSA9IHRoaXMuX3ZhbHVlLmlzb1dlZWtkYXkoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHdlZWtkYXkgPT0gNiB8fCB3ZWVrZGF5ID09IDc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JtYXRzIGRhdGUgdmFsdWVcclxuICAgICAqIEBwYXJhbSBmb3JtYXQgLSBGb3JtYXQgdG9rZW4gdXNlZCBmb3IgY3JlYXRpbmcgZm9ybWF0dGVkIHN0cmluZ1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZm9ybWF0KGZvcm1hdDogc3RyaW5nKTogc3RyaW5nXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmZvcm1hdChmb3JtYXQucmVwbGFjZSgveS9nLCAnWScpLnJlcGxhY2UoL2QvZywgJ0QnKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHZhbHVlIHRvIHN0YXJ0IGRhdGUgYW5kIHRpbWUgb2YgY3VycmVudCBkZWNhZGVcclxuICAgICAqIEByZXR1cm5zIEl0c2VsZiBmb3IgZmx1ZW50IEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhcnRPZkRlY2FkZSgpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgbGV0IGRpZmYgPSAodGhpcy5fdmFsdWUueWVhcigpICUgMTApO1xyXG5cclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuc3VidHJhY3QoZGlmZiwgJ3llYXJzJykuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB2YWx1ZSB0byBlbmQgZGF0ZSBhbmQgdGltZSBvZiBjdXJyZW50IGRlY2FkZVxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbmRPZkRlY2FkZSgpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgbGV0IGRpZmYgPSA5IC0gKHRoaXMuX3ZhbHVlLnllYXIoKSAlIDEwKTtcclxuXHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLmFkZChkaWZmLCAneWVhcnMnKS5lbmRPZigneWVhcicpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB2YWx1ZSB0byBzdGFydCBkYXRlIGFuZCB0aW1lIG9mIGN1cnJlbnQgeWVhclxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGFydE9mWWVhcigpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLnN0YXJ0T2YoJ3llYXInKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHZhbHVlIHRvIGVuZCBkYXRlIGFuZCB0aW1lIG9mIGN1cnJlbnQgeWVhclxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbmRPZlllYXIoKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbW9tZW50KHRoaXMuX3ZhbHVlKS5lbmRPZigneWVhcicpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB5ZWFycywgaWYgY291bnQgbm90IHNwZWNpZmllZCBhZGRzIDEgeWVhclxyXG4gICAgICogQHBhcmFtIGNvdW50IC0gTnVtYmVyIG9mIHllYXJzIGNvdW50XHJcbiAgICAgKiBAcmV0dXJucyBJdHNlbGYgZm9yIGZsdWVudCBBUElcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZFllYXJzKGNvdW50PzogbnVtYmVyKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbW9tZW50KHRoaXMuX3ZhbHVlKS5hZGQoY291bnQgPz8gMSwgJ3llYXJzJyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3VidHJhY3QgeWVhcnMsIGlmIGNvdW50IG5vdCBzcGVjaWZpZWQgc3VidHJhY3QgMSB5ZWFyXHJcbiAgICAgKiBAcGFyYW0gY291bnQgLSBOdW1iZXIgb2YgeWVhcnMgY291bnRcclxuICAgICAqIEByZXR1cm5zIEl0c2VsZiBmb3IgZmx1ZW50IEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3VidHJhY3RZZWFycyhjb3VudD86IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuc3VidHJhY3QoY291bnQgPz8gMSwgJ3llYXJzJyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB2YWx1ZSB0byBzdGFydCBkYXRlIGFuZCB0aW1lIG9mIGN1cnJlbnQgbW9udGhcclxuICAgICAqIEByZXR1cm5zIEl0c2VsZiBmb3IgZmx1ZW50IEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhcnRPZk1vbnRoKCk6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuc3RhcnRPZignbW9udGgnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHZhbHVlIHRvIGVuZCBkYXRlIGFuZCB0aW1lIG9mIGN1cnJlbnQgbW9udGhcclxuICAgICAqIEByZXR1cm5zIEl0c2VsZiBmb3IgZmx1ZW50IEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZW5kT2ZNb250aCgpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLmVuZE9mKCdtb250aCcpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCBtb250aHMsIGlmIGNvdW50IG5vdCBzcGVjaWZpZWQgYWRkcyAxIG1vbnRoXHJcbiAgICAgKiBAcGFyYW0gY291bnQgLSBOdW1iZXIgb2YgbW9udGhzIGNvdW50XHJcbiAgICAgKiBAcmV0dXJucyBJdHNlbGYgZm9yIGZsdWVudCBBUElcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZE1vbnRocyhjb3VudD86IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuYWRkKGNvdW50ID8/IDEsICdtb250aHMnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdWJ0cmFjdCBtb250aHMsIGlmIGNvdW50IG5vdCBzcGVjaWZpZWQgc3VidHJhY3QgMSBtb250aFxyXG4gICAgICogQHBhcmFtIGNvdW50IC0gTnVtYmVyIG9mIG1vbnRocyBjb3VudFxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdWJ0cmFjdE1vbnRocyhjb3VudD86IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuc3VidHJhY3QoY291bnQgPz8gMSwgJ21vbnRocycpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdmFsdWUgdG8gc3RhcnQgZGF0ZSBhbmQgdGltZSBvZiBjdXJyZW50IHdlZWtcclxuICAgICAqIEByZXR1cm5zIEl0c2VsZiBmb3IgZmx1ZW50IEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhcnRPZldlZWsoKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbW9tZW50KHRoaXMuX3ZhbHVlKS5zdGFydE9mKCd3ZWVrJyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB2YWx1ZSB0byBlbmQgZGF0ZSBhbmQgdGltZSBvZiBjdXJyZW50IHdlZWtcclxuICAgICAqIEByZXR1cm5zIEl0c2VsZiBmb3IgZmx1ZW50IEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZW5kT2ZXZWVrKCk6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuZW5kT2YoJ3dlZWsnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgd2Vla3MsIGlmIGNvdW50IG5vdCBzcGVjaWZpZWQgYWRkcyAxIHdlZWtcclxuICAgICAqIEBwYXJhbSBjb3VudCAtIE51bWJlciBvZiB3ZWVrcyBjb3VudFxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRXZWVrcyhjb3VudD86IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuYWRkKGNvdW50ID8/IDEsICd3ZWVrcycpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFN1YnRyYWN0IHdlZWtzLCBpZiBjb3VudCBub3Qgc3BlY2lmaWVkIHN1YnRyYWN0IDEgd2Vla1xyXG4gICAgICogQHBhcmFtIGNvdW50IC0gTnVtYmVyIG9mIHdlZWtzIGNvdW50XHJcbiAgICAgKiBAcmV0dXJucyBJdHNlbGYgZm9yIGZsdWVudCBBUElcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN1YnRyYWN0V2Vla3MoY291bnQ/OiBudW1iZXIpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLnN1YnRyYWN0KGNvdW50ID8/IDEsICd3ZWVrcycpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdmFsdWUgdG8gc3RhcnQgZGF0ZSBhbmQgdGltZSBvZiBjdXJyZW50IGRheVxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGFydE9mRGF5KCk6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG1vbWVudCh0aGlzLl92YWx1ZSkuc3RhcnRPZignZGF5Jyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB2YWx1ZSB0byBlbmQgZGF0ZSBhbmQgdGltZSBvZiBjdXJyZW50IGRheVxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbmRPZkRheSgpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLmVuZE9mKCdkYXknKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgZGF5cywgaWYgY291bnQgbm90IHNwZWNpZmllZCBhZGRzIDEgZGF5XHJcbiAgICAgKiBAcGFyYW0gY291bnQgLSBOdW1iZXIgb2YgZGF5cyBjb3VudFxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGREYXlzKGNvdW50PzogbnVtYmVyKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbW9tZW50KHRoaXMuX3ZhbHVlKS5hZGQoY291bnQgPz8gMSwgJ2RheXMnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdWJ0cmFjdCBkYXlzLCBpZiBjb3VudCBub3Qgc3BlY2lmaWVkIHN1YnRyYWN0IDEgZGF5XHJcbiAgICAgKiBAcGFyYW0gY291bnQgLSBOdW1iZXIgb2YgZGF5cyBjb3VudFxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdWJ0cmFjdERheXMoY291bnQ/OiBudW1iZXIpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLnN1YnRyYWN0KGNvdW50ID8/IDEsICdkYXlzJyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBudW1iZXIgb2YgZGF5cyBpbiBtb250aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF5c0luTW9udGgoKTogbnVtYmVyXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmRheXNJbk1vbnRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHllYXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIHllYXIoKTogbnVtYmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHllYXJcclxuICAgICAqIEBwYXJhbSB5ZWFyIC0gWWVhciB0byBiZSBzZXRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHllYXIoeWVhcjogbnVtYmVyKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PjtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHllYXJcclxuICAgICAqIEBwYXJhbSB5ZWFyIC0gSWYgc3BlY2lmaWVkLCBzZXRzIHllYXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIHllYXIoeWVhcj86IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD58bnVtYmVyXHJcbiAgICB7XHJcbiAgICAgICAgaWYoaXNQcmVzZW50KHllYXIpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLnllYXIoeWVhciEpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUueWVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBtb250aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbW9udGgoKTogbnVtYmVyXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgbW9udGhcclxuICAgICAqIEBwYXJhbSBtb250aCAtIE1vbnRoIHRvIGJlIHNldFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbW9udGgobW9udGg6IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIG1vbnRoXHJcbiAgICAgKiBAcGFyYW0gbW9udGggLSBJZiBzcGVjaWZpZWQsIHNldHMgbW9udGhcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1vbnRoKG1vbnRoPzogbnVtYmVyKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PnxudW1iZXJcclxuICAgIHtcclxuICAgICAgICBpZihpc1ByZXNlbnQobW9udGgpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLm1vbnRoKG1vbnRoISk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5tb250aCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBkYXkgb2YgbW9udGggb25lIGJhc2VkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkYXlPZk1vbnRoKCk6IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBkYXkgb2YgbW9udGggb25lIGJhc2VkXHJcbiAgICAgKiBAcGFyYW0gZGF5IC0gRGF5IG9mIG1vbnRoIHRvIGJlIHNldFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF5T2ZNb250aChkYXk6IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD47XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBkYXkgb2YgbW9udGggb25lIGJhc2VkXHJcbiAgICAgKiBAcGFyYW0gZGF5IC0gSWYgc3BlY2lmaWVkLCBzZXRzIGRheSBvZiBtb250aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF5T2ZNb250aChkYXk/OiBudW1iZXIpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+fG51bWJlclxyXG4gICAge1xyXG4gICAgICAgIGlmKGlzUHJlc2VudChkYXkpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLmRhdGUoZGF5ISk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5kYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGRheSBvZiB3ZWVrIHplcm8gYmFzZWQsIGZpcnN0IGlzIG1vbmRheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF5T2ZXZWVrKCk6IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBkYXkgb2Ygd2VlayB6ZXJvIGJhc2VkLCBmaXJzdCBpcyBtb25kYXlcclxuICAgICAqIEBwYXJhbSBkYXkgLSBEYXkgb2Ygd2VlayB0byBiZSBzZXRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRheU9mV2VlayhkYXk6IG51bWJlcik6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD47XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBkYXkgb2Ygd2VlayB6ZXJvIGJhc2VkLCBmaXJzdCBpcyBtb25kYXlcclxuICAgICAqIEBwYXJhbSBkYXkgLSBJZiBzcGVjaWZpZWQsIHNldHMgZGF5IG9mIHdlZWtcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRheU9mV2VlayhkYXk/OiBudW1iZXIpOiBudW1iZXJ8RGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIGlmKGlzUHJlc2VudChkYXkpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBtb21lbnQodGhpcy5fdmFsdWUpLndlZWtkYXkoZGF5ISk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS53ZWVrZGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGluZGljYXRpb24gd2hldGhlciBjdXJyZW50IHZhbHVlIGlzIGJlZm9yZSAnZGF0ZSdcclxuICAgICAqIEBwYXJhbSBkYXRlIC0gRGF0ZSB3aGljaCBpcyB0aGlzIGRhdGUgY29tcGFyZWQgdG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzQmVmb3JlKGRhdGU6IG1vbWVudC5Nb21lbnQpOiBib29sZWFuXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmlzQmVmb3JlKGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBpbmRpY2F0aW9uIHdoZXRoZXIgY3VycmVudCB2YWx1ZSBpcyBhZnRlciAnZGF0ZSdcclxuICAgICAqIEBwYXJhbSBkYXRlIC0gRGF0ZSB3aGljaCBpcyB0aGlzIGRhdGUgY29tcGFyZWQgdG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzQWZ0ZXIoZGF0ZTogbW9tZW50Lk1vbWVudCk6IGJvb2xlYW5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNBZnRlcihkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgbnVtYmVyIG9mIGRheXMgYmV0d2VlbiB0aGlzIGFuZCBwcm92aWRlZCBkYXRlXHJcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIERhdGUgd2hpY2ggaXMgdXNlZCBmb3IgY29tcHV0YXRpb24gb2YgZGlmZiBhZ2FpbnN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkaWZmRGF5cyhkYXRlOiBtb21lbnQuTW9tZW50KTogbnVtYmVyXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLl92YWx1ZSkuc3RhcnRPZignZGF5JykuZGlmZihtb21lbnQoZGF0ZSkuc3RhcnRPZignZGF5JyksICdkYXlzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlcyB3aGV0aGVyIHRoaXMgZGF0ZSBpcyBzYW1lIHdlZWsgYXMgcHJvdmlkZWQgZGF0ZVxyXG4gICAgICogQHBhcmFtIGRhdGUgLSBEYXRlIHdoaWNoIGlzIHVzZWQgZm9yIGNvbXBhcmlzb24gb2Ygc2FtZSB3ZWVrXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc1NhbWVXZWVrKGRhdGU6IG1vbWVudC5Nb21lbnQpOiBib29sZWFuXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmlzU2FtZShkYXRlLCAnd2VlaycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZXMgd2hldGhlciB0aGlzIGRhdGUgaXMgc2FtZSBkZWNhZGUgYXMgcHJvdmlkZWQgZGF0ZVxyXG4gICAgICogQHBhcmFtIGRhdGUgLSBEYXRlIHdoaWNoIGlzIHVzZWQgZm9yIGNvbXBhcmlzb24gb2Ygc2FtZSBkZWNhZGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzU2FtZURlY2FkZShkYXRlOiBtb21lbnQuTW9tZW50KTogYm9vbGVhblxyXG4gICAge1xyXG4gICAgICAgIGxldCB5ZWFyID0gdGhpcy5fdmFsdWUueWVhcigpO1xyXG4gICAgICAgIGxldCBzdGFydCA9IHllYXIgLSAoeWVhciAlIDEwKTtcclxuICAgICAgICBsZXQgZW5kID0gc3RhcnQgKyAxMDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGUueWVhcigpID49IHN0YXJ0ICYmIGRhdGUueWVhcigpIDwgZW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZXMgd2hldGhlciB0aGlzIGRhdGUgaXMgc2FtZSB5ZWFyIGFzIHByb3ZpZGVkIGRhdGVcclxuICAgICAqIEBwYXJhbSBkYXRlIC0gRGF0ZSB3aGljaCBpcyB1c2VkIGZvciBjb21wYXJpc29uIG9mIHNhbWUgeWVhclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNTYW1lWWVhcihkYXRlOiBtb21lbnQuTW9tZW50KTogYm9vbGVhblxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5pc1NhbWUoZGF0ZSwgJ3llYXInKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmVzIHdoZXRoZXIgdGhpcyBkYXRlIGlzIHNhbWUgbW9udGggYXMgcHJvdmlkZWQgZGF0ZVxyXG4gICAgICogQHBhcmFtIGRhdGUgLSBEYXRlIHdoaWNoIGlzIHVzZWQgZm9yIGNvbXBhcmlzb24gb2Ygc2FtZSBtb250aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNTYW1lTW9udGgoZGF0ZTogbW9tZW50Lk1vbWVudCk6IGJvb2xlYW5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNTYW1lKGRhdGUsICdtb250aCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZXMgd2hldGhlciB0aGlzIGRhdGUgaXMgc2FtZSBkYXkgYXMgcHJvdmlkZWQgZGF0ZVxyXG4gICAgICogQHBhcmFtIGRhdGUgLSBEYXRlIHdoaWNoIGlzIHVzZWQgZm9yIGNvbXBhcmlzb24gb2Ygc2FtZSBkYXlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzU2FtZURheShkYXRlOiBtb21lbnQuTW9tZW50KTogYm9vbGVhblxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5pc1NhbWUoZGF0ZSwgJ2RheScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBjbG9uZSBvZiB0aGlzIGluc3RhbmNlLCB2YWx1ZSBhbmQgb3JpZ2luYWxWYWx1ZSBoYXZlIHNhbWUgdmFsdWUgYW5kIGFyZSBjbG9uZWQgZnJvbSB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xvbmUoKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiBuZXcgTW9tZW50RGF0ZUFwaU9iamVjdChtb21lbnQodGhpcy5fdmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgY2xvbmUgb2YgdGhpcyBpbnN0YW5jZSwgdmFsdWUgYW5kIG9yaWdpbmFsVmFsdWUgaGF2ZSBzYW1lIHZhbHVlIGFuZCBhcmUgY2xvbmVkIGZyb20gb3JpZ2luYWxWYWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xvbmVPcmlnaW5hbCgpOiBEYXRlQXBpT2JqZWN0PG1vbWVudC5Nb21lbnQ+XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNb21lbnREYXRlQXBpT2JqZWN0KG1vbWVudCh0aGlzLl9vcmlnaW5hbFZhbHVlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIG9yaWdpbmFsVmFsdWUsIGlmIHZhbHVlIGlzIG5vdCBwcm92aWRlZCBvcmlnaW5hbFZhbHVlIGlzIHNldCB0byB2YWx1ZVxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gYmUgc2V0IGFzIG9yaWdpbmFsLCBvciBudWxsICh2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdmFsdWUpXHJcbiAgICAgKiBAcmV0dXJucyBJdHNlbGYgZm9yIGZsdWVudCBBUElcclxuICAgICAqL1xyXG4gICAgcHVibGljIHVwZGF0ZU9yaWdpbmFsKHZhbHVlPzogbW9tZW50Lk1vbWVudCk6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICBpZihpc0JsYW5rKHZhbHVlKSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX29yaWdpbmFsVmFsdWUgPSB0aGlzLl92YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9vcmlnaW5hbFZhbHVlID0gdmFsdWUhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGFuZ2VzIHZhbHVlIHRvIHNhbWUgdmFsdWUgYXMgb3JpZ2luYWxWYWx1ZVxyXG4gICAgICogQHJldHVybnMgSXRzZWxmIGZvciBmbHVlbnQgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXNldE9yaWdpbmFsKCk6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX29yaWdpbmFsVmFsdWU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogRGF0ZSBhcGkgdXNpbmcgTW9tZW50SlMsIHVzZWQgZm9yIG9idGFpbmluZyBEYXRlQXBpIHdyYXBwZXIgb2JqZWN0XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb21lbnREYXRlQXBpIGltcGxlbWVudHMgRGF0ZUFwaTxtb21lbnQuTW9tZW50PlxyXG57XHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgY29uc3RydWN0b3IgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9yZWxhdGl2ZVBhcnNlcjogRGF0ZVRpbWVSZWxhdGl2ZVBhcnNlcjxtb21lbnQuTW9tZW50PilcclxuICAgIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB3cmFwcGluZyBvYmplY3QgdXNlZCBmb3IgbWFuaXB1bGF0aW9uXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBWYWx1ZSB0byBiZSBjb252ZXJ0ZWQgKHBhcnNlZCkgYW5kIHVzZWQgZm9yIG1hbmlwdWxhdGlvblxyXG4gICAgICogQHBhcmFtIGZvcm1hdCAtIEZvcm1hdCBzdHJpbmcgdXNlZCBmb3IgcGFyc2luZyBzdHJpbmcgdmFsdWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFZhbHVlKHZhbHVlOiBEYXRlVmFsdWV8bW9tZW50Lk1vbWVudCwgZm9ybWF0Pzogc3RyaW5nKTogRGF0ZUFwaU9iamVjdDxtb21lbnQuTW9tZW50PlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiBuZXcgTW9tZW50RGF0ZUFwaU9iamVjdCh0aGlzLl9yZWxhdGl2ZVBhcnNlci5wYXJzZSh2YWx1ZSksIGZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHdyYXBwaW5nIG9iamVjdCB1c2VkIGZvciBtYW5pcHVsYXRpb24gaW5zdGFudGlhdGVkIHRvIGN1cnJlbnQgZGF0ZSBhbmQgdGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbm93KCk6IERhdGVBcGlPYmplY3Q8bW9tZW50Lk1vbWVudD5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gbmV3IE1vbWVudERhdGVBcGlPYmplY3QobW9tZW50KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBmb3JtYXQgc3RyaW5nIHVzaW5nIHBzZXVkbyBmb3JtYXRcclxuICAgICAqIEBwYXJhbSBwc2V1ZG9Gb3JtYXQgLSBQc2V1ZG8gZm9ybWF0IHRva2VuLCB1c2VkIGZvciBvYnRhaW5pbmcgJ2RhdGUnIG9yICd0aW1lJyBmb3JtYXQgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRGb3JtYXQocHNldWRvRm9ybWF0OiBzdHJpbmcpOiBzdHJpbmdcclxuICAgIHtcclxuICAgICAgICBpZigvXigoTFR8TFRTfEwrfGwrKVxccyopKiQvZy50ZXN0KHBzZXVkb0Zvcm1hdCkpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICByZXR1cm4gcHNldWRvRm9ybWF0LnNwbGl0KCcgJykubWFwKGl0bSA9PiBtb21lbnQubG9jYWxlRGF0YSgpLmxvbmdEYXRlRm9ybWF0KGl0bSBhcyBMb25nRGF0ZUZvcm1hdEtleSkpLmpvaW4oJyAnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBwc2V1ZG9Gb3JtYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGluZm9ybWF0aW9uIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd2Vla1N0YXJ0c09uTW9uZGF5KCk6IGJvb2xlYW5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50LmxvY2FsZURhdGEoKS5maXJzdERheU9mV2VlaygpID09PSAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhcnJheSBvZiB3ZWVrZGF5IG5hbWVzIGluIHNob3J0IGZvcm1hdCwgb3JkZXIgb2YgZGF5cyBpcyBkZXBlbmRlbnQgb24gbG9jYWxlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3ZWVrZGF5c1Nob3J0KCk6IHN0cmluZ1tdXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIG1vbWVudC53ZWVrZGF5c1Nob3J0KHRydWUpO1xyXG4gICAgfVxyXG59Il19
@@ -1,10 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/index.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- /**
7
- * Generated bundle index. Do not edit.
8
- */
9
- export { MomentDateApi, MOMENT_FORMAT_PROVIDER } from './public_api';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlBLHNEQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,7 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/public_api.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { MomentDateApi, MOMENT_FORMAT_PROVIDER } from './src/moment';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9tb21lbnQnOyJdfQ==
@@ -1,26 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/src/misc/tokens.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { FORMAT_PROVIDER } from '@anglr/datetime';
7
- var ɵ0 = /**
8
- * @return {?}
9
- */
10
- function () {
11
- return (/** @type {?} */ ({
12
- date: 'L',
13
- dateTime: 'L LT',
14
- time: 'LT'
15
- }));
16
- };
17
- /**
18
- * Injection token used for obtaining moment FormatProvider implementation
19
- * @type {?}
20
- */
21
- export var MOMENT_FORMAT_PROVIDER = {
22
- provide: FORMAT_PROVIDER,
23
- useFactory: (ɵ0)
24
- };
25
- export { ɵ0 };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21pc2MvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFpQixlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVFoRDtJQUVSLE9BQU8sbUJBQWdCO1FBQ25CLElBQUksRUFBRSxHQUFHO1FBQ1QsUUFBUSxFQUFFLE1BQU07UUFDaEIsSUFBSSxFQUFFLElBQUk7S0FDYixFQUFBLENBQUM7QUFDTixDQUFDOzs7OztBQVZMLE1BQU0sS0FBTyxzQkFBc0IsR0FDbkM7SUFDSSxPQUFPLEVBQUUsZUFBZTtJQUN4QixVQUFVLE1BT1Q7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmFjdG9yeVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtYXRQcm92aWRlciwgRk9STUFUX1BST1ZJREVSfSBmcm9tICdAYW5nbHIvZGF0ZXRpbWUnO1xyXG5cclxuLyoqXHJcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIGZvciBvYnRhaW5pbmcgbW9tZW50IEZvcm1hdFByb3ZpZGVyIGltcGxlbWVudGF0aW9uXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTU9NRU5UX0ZPUk1BVF9QUk9WSURFUjogRmFjdG9yeVByb3ZpZGVyID1cclxue1xyXG4gICAgcHJvdmlkZTogRk9STUFUX1BST1ZJREVSLFxyXG4gICAgdXNlRmFjdG9yeTogKCkgPT5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gPEZvcm1hdFByb3ZpZGVyPntcclxuICAgICAgICAgICAgZGF0ZTogJ0wnLFxyXG4gICAgICAgICAgICBkYXRlVGltZTogJ0wgTFQnLFxyXG4gICAgICAgICAgICB0aW1lOiAnTFQnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufTsiXX0=
@@ -1,8 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: moment/src/moment.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { MomentDateApi } from './services/momentDateApi.service';
7
- export { MOMENT_FORMAT_PROVIDER } from './misc/tokens';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhCQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHVDQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbW9tZW50RGF0ZUFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9taXNjL3Rva2Vucyc7Il19