@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-alpha.4

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 (296) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/ApiClient/ApiClientBase.d.ts +5 -5
  3. package/dist/ApiClient/ApiClientBase.js +13 -13
  4. package/dist/ApiClient/ReadApiClient.d.ts +16 -16
  5. package/dist/ApiClient/ReadApiClient.js +24 -24
  6. package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
  7. package/dist/ApiClient/UpdateableApiClient.js +33 -33
  8. package/dist/AppServices/AppService.d.ts +46 -46
  9. package/dist/AppServices/AppService.js +25 -25
  10. package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
  11. package/dist/AppServices/Config/ConfigModel.js +28 -17
  12. package/dist/AppServices/Config/ConfigService.d.ts +15 -15
  13. package/dist/AppServices/Config/ConfigService.js +49 -53
  14. package/dist/AppServices/Module.d.ts +11 -11
  15. package/dist/AppServices/Module.js +13 -13
  16. package/dist/AppServices/NeoContainer.d.ts +22 -22
  17. package/dist/AppServices/NeoContainer.js +42 -42
  18. package/dist/AppServices/NeoModule.d.ts +3 -3
  19. package/dist/AppServices/NeoModule.js +30 -30
  20. package/dist/AppServices/NeoTypes.d.ts +61 -61
  21. package/dist/AppServices/NeoTypes.js +42 -42
  22. package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
  23. package/dist/AppServices/ServiceIdentifier.js +38 -39
  24. package/dist/AppServices/index.d.ts +7 -7
  25. package/dist/AppServices/index.js +7 -7
  26. package/dist/Components/AnimationHelper.d.ts +69 -69
  27. package/dist/Components/AnimationHelper.js +182 -182
  28. package/dist/Components/BootstrapHelpers.d.ts +8 -8
  29. package/dist/Components/BootstrapHelpers.js +30 -30
  30. package/dist/Components/BootstrapTypes.d.ts +35 -35
  31. package/dist/Components/BootstrapTypes.js +1 -1
  32. package/dist/Components/ButtonOptions.d.ts +63 -61
  33. package/dist/Components/ButtonOptions.js +1 -1
  34. package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
  35. package/dist/Components/ContextMenu/ContextMenu.js +1 -1
  36. package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
  37. package/dist/Components/ContextMenu/MenuUtils.js +34 -34
  38. package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
  39. package/dist/Components/DatePicker/DatePicker.js +502 -487
  40. package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
  41. package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
  42. package/dist/Components/ErrorHandler.d.ts +59 -55
  43. package/dist/Components/ErrorHandler.js +210 -138
  44. package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
  45. package/dist/Components/FileManager/BoundFileManager.js +60 -60
  46. package/dist/Components/FileManager/FileManager.d.ts +80 -78
  47. package/dist/Components/FileManager/FileManager.js +277 -257
  48. package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
  49. package/dist/Components/FileManager/FileUploadBatch.js +83 -82
  50. package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
  51. package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
  52. package/dist/Components/FormOptions.d.ts +34 -34
  53. package/dist/Components/FormOptions.js +1 -1
  54. package/dist/Components/ICollapsableOptions.d.ts +11 -11
  55. package/dist/Components/ICollapsableOptions.js +1 -1
  56. package/dist/Components/Modal/ModalHelper.d.ts +31 -31
  57. package/dist/Components/Modal/ModalHelper.js +174 -174
  58. package/dist/Components/Modal/ModalOptions.d.ts +61 -61
  59. package/dist/Components/Modal/ModalOptions.js +1 -1
  60. package/dist/Components/Modal/ModalStore.d.ts +32 -32
  61. package/dist/Components/Modal/ModalStore.js +82 -82
  62. package/dist/Components/Modal/ModalUtils.d.ts +61 -61
  63. package/dist/Components/Modal/ModalUtils.js +109 -109
  64. package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
  65. package/dist/Components/Notifications/INotificationHelper.js +1 -1
  66. package/dist/Components/Notifications/Notification.d.ts +32 -32
  67. package/dist/Components/Notifications/Notification.js +26 -27
  68. package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
  69. package/dist/Components/Notifications/NotificationHelper.js +111 -112
  70. package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
  71. package/dist/Components/Notifications/NotificationStore.js +78 -79
  72. package/dist/Components/PositionHelper.d.ts +10 -10
  73. package/dist/Components/PositionHelper.js +43 -43
  74. package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
  75. package/dist/Components/TaskRunner/Decorators.js +24 -24
  76. package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
  77. package/dist/Components/TaskRunner/ProgressState.js +71 -72
  78. package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
  79. package/dist/Components/TaskRunner/TaskRunner.js +253 -244
  80. package/dist/Components/TooltipOptions.d.ts +8 -8
  81. package/dist/Components/TooltipOptions.js +1 -1
  82. package/dist/Components/index.d.ts +22 -22
  83. package/dist/Components/index.js +13 -13
  84. package/dist/ConnectionManager.d.ts +45 -45
  85. package/dist/ConnectionManager.js +60 -61
  86. package/dist/Data/ApiDataSource.d.ts +46 -46
  87. package/dist/Data/ApiDataSource.js +140 -144
  88. package/dist/Data/AsyncDataSource.d.ts +35 -35
  89. package/dist/Data/AsyncDataSource.js +79 -80
  90. package/dist/Data/CacheService.d.ts +40 -40
  91. package/dist/Data/CacheService.js +63 -64
  92. package/dist/Data/DataCacheEntry.d.ts +42 -42
  93. package/dist/Data/DataCacheEntry.js +80 -80
  94. package/dist/Data/DataView.d.ts +43 -43
  95. package/dist/Data/DataView.js +173 -172
  96. package/dist/Data/Deserialiser.d.ts +42 -42
  97. package/dist/Data/Deserialiser.js +255 -255
  98. package/dist/Data/Paging/PageManager.d.ts +167 -167
  99. package/dist/Data/Paging/PageManager.js +323 -323
  100. package/dist/Data/Paging/PageRequest.d.ts +24 -24
  101. package/dist/Data/Paging/PageRequest.js +38 -39
  102. package/dist/Data/Paging/PageResult.d.ts +10 -10
  103. package/dist/Data/Paging/PageResult.js +14 -14
  104. package/dist/Data/Serialiser.d.ts +41 -41
  105. package/dist/Data/Serialiser.js +201 -201
  106. package/dist/Data/SortOperation.d.ts +8 -8
  107. package/dist/Data/SortOperation.js +26 -26
  108. package/dist/Data/StaticDataSource.d.ts +9 -9
  109. package/dist/Data/StaticDataSource.js +27 -27
  110. package/dist/Data/WindowedDataView.d.ts +8 -8
  111. package/dist/Data/WindowedDataView.js +49 -50
  112. package/dist/Data/index.d.ts +15 -15
  113. package/dist/Data/index.js +15 -15
  114. package/dist/Dates/DateUtils.d.ts +47 -47
  115. package/dist/Dates/DateUtils.js +226 -226
  116. package/dist/Dates/TimeSpan.d.ts +24 -24
  117. package/dist/Dates/TimeSpan.js +46 -46
  118. package/dist/DebounceHelper.d.ts +44 -38
  119. package/dist/DebounceHelper.js +122 -95
  120. package/dist/Extensions.d.ts +82 -82
  121. package/dist/Extensions.js +182 -182
  122. package/dist/FileUtils.d.ts +6 -6
  123. package/dist/FileUtils.js +37 -37
  124. package/dist/Globals.d.ts +19 -19
  125. package/dist/Globals.js +41 -41
  126. package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
  127. package/dist/JsonSchema/ClassMetadata.js +53 -53
  128. package/dist/JsonSchema/JsonData.d.ts +16 -16
  129. package/dist/JsonSchema/JsonData.js +97 -97
  130. package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
  131. package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
  132. package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
  133. package/dist/JsonSchema/PropertyMetadata.js +8 -8
  134. package/dist/JsonSchema/TypeCache.d.ts +16 -16
  135. package/dist/JsonSchema/TypeCache.js +44 -44
  136. package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
  137. package/dist/JsonSchema/TypeMetadata.js +170 -170
  138. package/dist/JsonSchema/index.d.ts +7 -7
  139. package/dist/JsonSchema/index.js +6 -6
  140. package/dist/Localisation/ILocalisationService.d.ts +11 -11
  141. package/dist/Localisation/ILocalisationService.js +1 -1
  142. package/dist/Localisation/LocalisationService.d.ts +4 -4
  143. package/dist/Localisation/LocalisationService.js +17 -17
  144. package/dist/Localisation/index.d.ts +1 -1
  145. package/dist/Localisation/index.js +1 -1
  146. package/dist/Misc.d.ts +6 -6
  147. package/dist/Misc.js +6 -6
  148. package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
  149. package/dist/Model/BaseModels/AuditValues.js +46 -48
  150. package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
  151. package/dist/Model/BaseModels/CriteriaBase.js +45 -34
  152. package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
  153. package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
  154. package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
  155. package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
  156. package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
  157. package/dist/Model/BaseModels/UserEvent.js +36 -32
  158. package/dist/Model/BindableBase.d.ts +46 -40
  159. package/dist/Model/BindableBase.js +79 -76
  160. package/dist/Model/Decorators.d.ts +47 -44
  161. package/dist/Model/Decorators.js +182 -177
  162. package/dist/Model/EnumHelper.d.ts +54 -54
  163. package/dist/Model/EnumHelper.js +104 -100
  164. package/dist/Model/IAutoRunner.d.ts +5 -5
  165. package/dist/Model/IAutoRunner.js +1 -1
  166. package/dist/Model/IModelBase.d.ts +92 -79
  167. package/dist/Model/IModelBase.js +1 -1
  168. package/dist/Model/IModelCreatorBase.d.ts +9 -9
  169. package/dist/Model/IModelCreatorBase.js +1 -1
  170. package/dist/Model/List.d.ts +79 -77
  171. package/dist/Model/List.js +208 -198
  172. package/dist/Model/LookupBase.d.ts +13 -6
  173. package/dist/Model/LookupBase.js +19 -10
  174. package/dist/Model/Misc.d.ts +83 -81
  175. package/dist/Model/Misc.js +59 -59
  176. package/dist/Model/ModelBase.d.ts +88 -86
  177. package/dist/Model/ModelBase.js +182 -180
  178. package/dist/Model/ModelCreatorBase.d.ts +24 -23
  179. package/dist/Model/ModelCreatorBase.js +92 -92
  180. package/dist/Model/ModelFieldInfo.d.ts +29 -12
  181. package/dist/Model/ModelFieldInfo.js +35 -26
  182. package/dist/Model/ModelGraphTraverser.d.ts +35 -35
  183. package/dist/Model/ModelGraphTraverser.js +101 -99
  184. package/dist/Model/NeoModel.d.ts +6 -6
  185. package/dist/Model/NeoModel.js +13 -13
  186. package/dist/Model/NeoTypeInfo.d.ts +52 -41
  187. package/dist/Model/NeoTypeInfo.js +300 -250
  188. package/dist/Model/ObservableProperty.d.ts +8 -8
  189. package/dist/Model/ObservableProperty.js +41 -41
  190. package/dist/Model/ObservableValue.d.ts +9 -9
  191. package/dist/Model/ObservableValue.js +25 -26
  192. package/dist/Model/PropertyInfo.d.ts +83 -81
  193. package/dist/Model/PropertyInfo.js +138 -137
  194. package/dist/Model/PropertyInstance.d.ts +84 -48
  195. package/dist/Model/PropertyInstance.js +173 -113
  196. package/dist/Model/ValueObject.d.ts +3 -3
  197. package/dist/Model/ValueObject.js +10 -10
  198. package/dist/Model/index.d.ts +15 -14
  199. package/dist/Model/index.js +13 -12
  200. package/dist/NumberUtils.d.ts +63 -49
  201. package/dist/NumberUtils.js +247 -197
  202. package/dist/Routing/IMenuItemProvider.d.ts +9 -9
  203. package/dist/Routing/IMenuItemProvider.js +1 -1
  204. package/dist/Routing/IMenuRoute.d.ts +18 -18
  205. package/dist/Routing/IMenuRoute.js +1 -1
  206. package/dist/Routing/INavigationHelper.d.ts +7 -7
  207. package/dist/Routing/INavigationHelper.js +1 -1
  208. package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
  209. package/dist/Routing/IPageLeaveHandler.js +7 -7
  210. package/dist/Routing/IRoute.d.ts +27 -27
  211. package/dist/Routing/IRoute.js +1 -1
  212. package/dist/Routing/IRouteSecurityService.d.ts +14 -14
  213. package/dist/Routing/IRouteSecurityService.js +1 -1
  214. package/dist/Routing/MenuItemProvider.d.ts +17 -17
  215. package/dist/Routing/MenuItemProvider.js +53 -54
  216. package/dist/Routing/RouteSecurityService.d.ts +18 -18
  217. package/dist/Routing/RouteSecurityService.js +35 -36
  218. package/dist/Routing/index.d.ts +7 -7
  219. package/dist/Routing/index.js +3 -3
  220. package/dist/Security/IAuthenticationService.d.ts +41 -36
  221. package/dist/Security/IAuthenticationService.js +1 -1
  222. package/dist/Security/IAuthorisationService.d.ts +11 -11
  223. package/dist/Security/IAuthorisationService.js +1 -1
  224. package/dist/Security/ILoginErrorHandler.d.ts +4 -4
  225. package/dist/Security/ILoginErrorHandler.js +1 -1
  226. package/dist/Security/ISecurityService.d.ts +10 -10
  227. package/dist/Security/ISecurityService.js +1 -1
  228. package/dist/Security/IUser.d.ts +10 -10
  229. package/dist/Security/IUser.js +1 -1
  230. package/dist/Security/IUserRole.d.ts +6 -6
  231. package/dist/Security/IUserRole.js +1 -1
  232. package/dist/Security/LoginErrorHandler.d.ts +15 -15
  233. package/dist/Security/LoginErrorHandler.js +97 -98
  234. package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
  235. package/dist/Security/Oidc/OidcAuthService.js +216 -189
  236. package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
  237. package/dist/Security/Oidc/OidcTypes.js +1 -1
  238. package/dist/Security/Oidc/OidcUser.d.ts +9 -9
  239. package/dist/Security/Oidc/OidcUser.js +33 -33
  240. package/dist/Security/SecurityService.d.ts +12 -12
  241. package/dist/Security/SecurityService.js +33 -34
  242. package/dist/Security/SignInResult.d.ts +13 -13
  243. package/dist/Security/SignInResult.js +8 -8
  244. package/dist/Security/User.d.ts +12 -12
  245. package/dist/Security/User.js +24 -24
  246. package/dist/Security/index.d.ts +10 -10
  247. package/dist/Security/index.js +5 -5
  248. package/dist/Settings.d.ts +71 -57
  249. package/dist/Settings.js +100 -87
  250. package/dist/SignalR/HubBase.d.ts +70 -70
  251. package/dist/SignalR/HubBase.js +164 -164
  252. package/dist/SignalR/HubReceiver.d.ts +11 -11
  253. package/dist/SignalR/HubReceiver.js +25 -25
  254. package/dist/SignalR/HubSubscription.d.ts +12 -12
  255. package/dist/SignalR/HubSubscription.js +14 -14
  256. package/dist/SignalR/index.d.ts +3 -3
  257. package/dist/SignalR/index.js +1 -1
  258. package/dist/StringUtils.d.ts +7 -7
  259. package/dist/StringUtils.js +24 -24
  260. package/dist/Utils.d.ts +81 -80
  261. package/dist/Utils.js +220 -218
  262. package/dist/Validation/Decorators.d.ts +12 -12
  263. package/dist/Validation/Decorators.js +52 -52
  264. package/dist/Validation/DisplayHelper.d.ts +20 -19
  265. package/dist/Validation/DisplayHelper.js +104 -104
  266. package/dist/Validation/Misc.d.ts +10 -10
  267. package/dist/Validation/Misc.js +11 -11
  268. package/dist/Validation/ModelProxy.d.ts +20 -20
  269. package/dist/Validation/ModelProxy.js +46 -46
  270. package/dist/Validation/RuleContext.d.ts +86 -86
  271. package/dist/Validation/RuleContext.js +130 -130
  272. package/dist/Validation/Rules.d.ts +70 -70
  273. package/dist/Validation/Rules.js +177 -177
  274. package/dist/Validation/ValidationHelpers.d.ts +12 -12
  275. package/dist/Validation/ValidationHelpers.js +57 -57
  276. package/dist/Validation/ValidationRules.d.ts +18 -18
  277. package/dist/Validation/ValidationRules.js +34 -34
  278. package/dist/Validation/ValidationState.d.ts +42 -42
  279. package/dist/Validation/ValidationState.js +74 -74
  280. package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
  281. package/dist/Validation/Validators/IModelValidator.js +1 -1
  282. package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
  283. package/dist/Validation/Validators/IPropertyValidator.js +15 -15
  284. package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
  285. package/dist/Validation/Validators/ModelValidator.js +143 -137
  286. package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
  287. package/dist/Validation/Validators/PropertyValidator.js +64 -67
  288. package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
  289. package/dist/Validation/Validators/RuleValidator.js +51 -55
  290. package/dist/Validation/index.d.ts +9 -9
  291. package/dist/Validation/index.js +7 -7
  292. package/dist/Views/IViewBase.d.ts +5 -5
  293. package/dist/Views/IViewBase.js +1 -1
  294. package/dist/index.d.ts +37 -36
  295. package/dist/index.js +44 -43
  296. package/package.json +11 -10
@@ -1,226 +1,226 @@
1
- import { Misc } from "../";
2
- import { TimeSpan } from "./TimeSpan";
3
- var DateUtils = /** @class */ (function () {
4
- function DateUtils() {
5
- }
6
- DateUtils.format = function (dateOrDateProperty, formatString, utc) {
7
- if (utc === void 0) { utc = false; }
8
- var date = dateOrDateProperty;
9
- var dateProperty = dateOrDateProperty;
10
- if (dateProperty === null || dateProperty === void 0 ? void 0 : dateProperty.propertyInfo) {
11
- date = dateProperty.value;
12
- formatString = dateProperty.propertyInfo.timeZoneSerialisation === Misc.TimeZoneFormat.None ? DateUtils.defaultFormatString : DateUtils.defaultFormatStringWithTime;
13
- }
14
- if (!date)
15
- return "";
16
- // Passing date through Date applies Date.parse, if necessary
17
- if (isNaN(date))
18
- throw SyntaxError("invalid date");
19
- if (!formatString)
20
- formatString = DateUtils.defaultFormatString;
21
- formatString = formatString.replace(/ /g, '\xA0'); //replace spaces with non-breaking spaces.
22
- // Allow setting the utc argument via the mask
23
- if (formatString.slice(0, 4) == "UTC:") {
24
- formatString = formatString.slice(4);
25
- utc = true;
26
- }
27
- var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), M = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), m = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = {
28
- d: d,
29
- dd: DateUtils.pad(d),
30
- ddd: DateUtils.i18n.dayNames[D],
31
- dddd: DateUtils.i18n.dayNames[D + 7],
32
- M: M + 1,
33
- MM: DateUtils.pad(M + 1),
34
- MMM: DateUtils.i18n.monthNames[M],
35
- MMMM: DateUtils.i18n.monthNames[M + 12],
36
- yy: String(y).slice(2),
37
- yyyy: y,
38
- h: H % 12 || 12,
39
- hh: DateUtils.pad(H % 12 || 12),
40
- H: H,
41
- HH: DateUtils.pad(H),
42
- m: m,
43
- mm: DateUtils.pad(m),
44
- s: s,
45
- ss: DateUtils.pad(s),
46
- l: DateUtils.pad(L, 3),
47
- L: DateUtils.pad(L > 99 ? Math.round(L / 10) : L),
48
- t: H < 12 ? "a" : "p",
49
- tt: H < 12 ? "am" : "pm",
50
- T: H < 12 ? "A" : "P",
51
- TT: H < 12 ? "AM" : "PM",
52
- Z: utc ? "UTC" : (String(date).match(DateUtils.timezone) || [""]).pop().replace(DateUtils.timezoneClip, ""),
53
- o: (o > 0 ? "-" : "+") + DateUtils.pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
54
- S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
55
- };
56
- return formatString.replace(DateUtils.token, function ($0) {
57
- return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
58
- });
59
- };
60
- DateUtils.pad = function (val, len) {
61
- if (len === void 0) { len = 2; }
62
- val = String(val);
63
- while (val.length < len)
64
- val = "0" + val;
65
- return val;
66
- };
67
- ;
68
- /**
69
- * Tries to parse a date from a string using the supplied format string
70
- * @param dateString The string to parse
71
- * @param format The format string. This is only used to get the order of d/m/y
72
- * @param requireAllParts True if day month and year must be specified
73
- * @param refDate Reference date. E.g. if the year is ommitted in the date string, then the year from the reference date will be used. Today is used if no reference date is supplied.
74
- */
75
- DateUtils.tryParse = function (dateString, format, requireAllParts, refDate) {
76
- if (format === void 0) { format = ""; }
77
- if (requireAllParts === void 0) { requireAllParts = false; }
78
- if (!dateString)
79
- return null;
80
- if (!format)
81
- format = DateUtils.defaultFormatString;
82
- var returnDate = !refDate ? new Date() : new Date(refDate);
83
- // Find the position of d m and y in the format string.
84
- var d = format.indexOf('d'), m = format.indexOf('M'), y = format.indexOf('y'), Extra = 100;
85
- // Check for time component.
86
- var timeString = "";
87
- var isPM = false;
88
- var timePos = dateString.indexOf(":");
89
- if (timePos == -1) {
90
- timePos = dateString.toUpperCase().indexOf("PM");
91
- }
92
- if (timePos == -1) {
93
- timePos = dateString.toUpperCase().indexOf("AM");
94
- }
95
- if (timePos >= 1) {
96
- timePos = Math.max(0, timePos - (dateString[timePos - 1] == " " ? 3 : 2));
97
- timeString = dateString.substring(timePos);
98
- dateString = dateString.substring(0, timePos);
99
- isPM = timeString.toUpperCase().indexOf("PM") > 0;
100
- timeString = timeString.replace(/a/gi, "").replace(/p/gi, "").replace(/m/gi, "").replace(/ /gi, "");
101
- }
102
- // Date component
103
- if (d >= 0 || m >= 0 || y >= 0) {
104
- // Add missing d/m/y on the end.
105
- d = d == -1 ? Extra++ : d;
106
- m = m == -1 ? Extra++ : m;
107
- y = y == -1 ? Extra++ : y;
108
- // Replace common separators in the date string with /
109
- var str = dateString.replace(/-/g, '/').replace(/ /g, '/').replace(/\xA0/g, '/');
110
- // If the user doesnt put in separators, e.g. 0103, then add them to make the string value 01/03
111
- if ((d == 0 || m == 0) && str.indexOf('/') == -1 && str.length >= 4 && !isNaN(+str)) {
112
- str = str.substring(0, 2) + '/' + str.substring(2, 4) + (str.length == 8 || str.length == 6 ? '/' + str.substring(4, str.length) : '');
113
- }
114
- var parts = str.split('/');
115
- if (requireAllParts && parts.length < 3)
116
- return null;
117
- // if format is dd mmm yyyy, and the user omits the dd, then add 1st day.
118
- if (d == 0 && parts[0].length > 2)
119
- parts.splice(0, 0, "1");
120
- var Year = y > m ? (y > d ? parts[2] : parts[1]) : (y > d ? parts[1] : parts[0]);
121
- var Month = m > d ? (m > y ? parts[2] : parts[1]) : (m > y ? parts[1] : parts[0]);
122
- var Day = d > m ? (d > y ? parts[2] : parts[1]) : (d > y ? parts[1] : parts[0]);
123
- if (Year && (Year.length == 1 || Year.length == 3 || Year.length > 4))
124
- return null;
125
- Year = !Year ? returnDate.getFullYear().toString() : Year;
126
- Month = !Month ? (returnDate.getMonth() + 1).toString() : Month;
127
- Day = !Day ? 1 : Day;
128
- if (Month.length < 3 && parseInt(Month) <= 12) {
129
- Month = DateUtils.i18n.monthNames[parseInt(Month) - 1];
130
- }
131
- if (Year.length == 2) {
132
- if (requireAllParts) {
133
- return null;
134
- }
135
- Year = "20" + Year;
136
- }
137
- returnDate = new Date(Day + " " + Month + " " + Year);
138
- if (isNaN(returnDate)) {
139
- return null;
140
- }
141
- }
142
- // Get time component.
143
- if (timeString) {
144
- var time = new Date(0);
145
- time.setHours.apply(time, timeString.split(":").map(function (s) { return parseInt(s); }));
146
- if (isNaN(time)) {
147
- return returnDate;
148
- }
149
- returnDate.setHours(time.getHours() + (isPM ? 12 : 0), time.getMinutes(), time.getSeconds());
150
- }
151
- return returnDate;
152
- };
153
- DateUtils.min = function (date1, date2) {
154
- return new Date(date1.getTime() < date2.getTime() ? date1 : date2);
155
- };
156
- DateUtils.max = function (date1, date2) {
157
- return new Date(date1.getTime() > date2.getTime() ? date1 : date2);
158
- };
159
- /** Returns the first date of the month for the specified date. */
160
- DateUtils.monthStart = function (date) {
161
- if (date === void 0) { date = new Date(); }
162
- return new Date(date.getFullYear(), date.getMonth(), 1);
163
- };
164
- /** Returns the last date of the month for the specified date. */
165
- DateUtils.monthEnd = function (date) {
166
- if (date === void 0) { date = new Date(); }
167
- return new Date(date.getFullYear(), date.getMonth() + 1, 0);
168
- };
169
- /**
170
- * Returns the current date without time.
171
- */
172
- DateUtils.today = function () {
173
- return this.stripTime(new Date());
174
- };
175
- /**
176
- * Returns a new date with no time component.
177
- */
178
- DateUtils.stripTime = function (dateWithTime) {
179
- return new Date(dateWithTime.getFullYear(), dateWithTime.getMonth(), dateWithTime.getDate());
180
- };
181
- /**
182
- * Returns a new date, with the timespan components added to it.
183
- * Use negative numbers to subtract.
184
- */
185
- DateUtils.add = function (date, timeSpan) {
186
- var _a, _b, _c, _d, _e, _f, _g;
187
- var newDate = new Date();
188
- newDate.setFullYear(date.getFullYear() + ((_a = timeSpan.years) !== null && _a !== void 0 ? _a : 0), date.getMonth() + ((_b = timeSpan.months) !== null && _b !== void 0 ? _b : 0), date.getDate() + ((_c = timeSpan.days) !== null && _c !== void 0 ? _c : 0));
189
- newDate.setHours(date.getHours() + ((_d = timeSpan.hours) !== null && _d !== void 0 ? _d : 0), date.getMinutes() + ((_e = timeSpan.minutes) !== null && _e !== void 0 ? _e : 0), date.getSeconds() + ((_f = timeSpan.seconds) !== null && _f !== void 0 ? _f : 0), date.getMilliseconds() + ((_g = timeSpan.milliseconds) !== null && _g !== void 0 ? _g : 0));
190
- return newDate;
191
- };
192
- /**
193
- * Gets the difference between 2 dates.
194
- */
195
- DateUtils.difference = function (startDate, endDate) {
196
- var compareDate = new Date();
197
- compareDate.setFullYear(endDate.getFullYear() - startDate.getFullYear(), endDate.getMonth() - startDate.getMonth(), endDate.getDate() - startDate.getDate());
198
- compareDate.setHours(endDate.getHours() - startDate.getHours(), endDate.getMinutes() - startDate.getMinutes(), endDate.getSeconds() - startDate.getSeconds(), endDate.getMilliseconds() - startDate.getMilliseconds());
199
- return new TimeSpan(compareDate.getFullYear(), compareDate.getMonth(), compareDate.getDate(), compareDate.getHours(), compareDate.getMinutes(), compareDate.getSeconds(), compareDate.getMilliseconds(), endDate.getTime() - startDate.getTime());
200
- };
201
- DateUtils.defaultFormatString = "dd MMM yyyy";
202
- DateUtils.defaultFormatStringWithTime = "dd MMM yyyy HH:mm";
203
- DateUtils.token = /d{1,4}|M{1,4}|yy(?:yy)?|([HhmsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g;
204
- DateUtils.timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
205
- DateUtils.timezoneClip = /[^-+\dA-Z]/g;
206
- /*
207
- * Date Format 1.2.3
208
- * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
209
- * MIT license
210
- *
211
- * Includes enhancements by Scott Trenda <scott.trenda.net>
212
- * and Kris Kowal <cixar.com/~kris.kowal/>
213
- */
214
- DateUtils.i18n = {
215
- dayNames: [
216
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
217
- "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
218
- ],
219
- monthNames: [
220
- "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
221
- "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
222
- ]
223
- };
224
- return DateUtils;
225
- }());
226
- export default DateUtils;
1
+ import { Misc } from "../";
2
+ import { TimeSpan } from "./TimeSpan";
3
+ var DateUtils = /** @class */ (function () {
4
+ function DateUtils() {
5
+ }
6
+ DateUtils.format = function (dateOrDateProperty, formatString, utc) {
7
+ if (utc === void 0) { utc = false; }
8
+ var date = dateOrDateProperty;
9
+ var dateProperty = dateOrDateProperty;
10
+ if (dateProperty === null || dateProperty === void 0 ? void 0 : dateProperty.propertyInfo) {
11
+ date = dateProperty.value;
12
+ formatString = dateProperty.propertyInfo.timeZoneSerialisation === Misc.TimeZoneFormat.None ? DateUtils.defaultFormatString : DateUtils.defaultFormatStringWithTime;
13
+ }
14
+ if (!date)
15
+ return "";
16
+ // Passing date through Date applies Date.parse, if necessary
17
+ if (isNaN(date))
18
+ throw SyntaxError("invalid date");
19
+ if (!formatString)
20
+ formatString = DateUtils.defaultFormatString;
21
+ formatString = formatString.replace(/ /g, '\xA0'); //replace spaces with non-breaking spaces.
22
+ // Allow setting the utc argument via the mask
23
+ if (formatString.slice(0, 4) == "UTC:") {
24
+ formatString = formatString.slice(4);
25
+ utc = true;
26
+ }
27
+ var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), M = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), m = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = {
28
+ d: d,
29
+ dd: DateUtils.pad(d),
30
+ ddd: DateUtils.i18n.dayNames[D],
31
+ dddd: DateUtils.i18n.dayNames[D + 7],
32
+ M: M + 1,
33
+ MM: DateUtils.pad(M + 1),
34
+ MMM: DateUtils.i18n.monthNames[M],
35
+ MMMM: DateUtils.i18n.monthNames[M + 12],
36
+ yy: String(y).slice(2),
37
+ yyyy: y,
38
+ h: H % 12 || 12,
39
+ hh: DateUtils.pad(H % 12 || 12),
40
+ H: H,
41
+ HH: DateUtils.pad(H),
42
+ m: m,
43
+ mm: DateUtils.pad(m),
44
+ s: s,
45
+ ss: DateUtils.pad(s),
46
+ l: DateUtils.pad(L, 3),
47
+ L: DateUtils.pad(L > 99 ? Math.round(L / 10) : L),
48
+ t: H < 12 ? "a" : "p",
49
+ tt: H < 12 ? "am" : "pm",
50
+ T: H < 12 ? "A" : "P",
51
+ TT: H < 12 ? "AM" : "PM",
52
+ Z: utc ? "UTC" : (String(date).match(DateUtils.timezone) || [""]).pop().replace(DateUtils.timezoneClip, ""),
53
+ o: (o > 0 ? "-" : "+") + DateUtils.pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
54
+ S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
55
+ };
56
+ return formatString.replace(DateUtils.token, function ($0) {
57
+ return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
58
+ });
59
+ };
60
+ DateUtils.pad = function (val, len) {
61
+ if (len === void 0) { len = 2; }
62
+ val = String(val);
63
+ while (val.length < len)
64
+ val = "0" + val;
65
+ return val;
66
+ };
67
+ ;
68
+ /**
69
+ * Tries to parse a date from a string using the supplied format string
70
+ * @param dateString The string to parse
71
+ * @param format The format string. This is only used to get the order of d/m/y
72
+ * @param requireAllParts True if day month and year must be specified
73
+ * @param refDate Reference date. E.g. if the year is ommitted in the date string, then the year from the reference date will be used. Today is used if no reference date is supplied.
74
+ */
75
+ DateUtils.tryParse = function (dateString, format, requireAllParts, refDate) {
76
+ if (format === void 0) { format = ""; }
77
+ if (requireAllParts === void 0) { requireAllParts = false; }
78
+ if (!dateString)
79
+ return null;
80
+ if (!format)
81
+ format = DateUtils.defaultFormatString;
82
+ var returnDate = !refDate ? new Date() : new Date(refDate);
83
+ // Find the position of d m and y in the format string.
84
+ var d = format.indexOf('d'), m = format.indexOf('M'), y = format.indexOf('y'), Extra = 100;
85
+ // Check for time component.
86
+ var timeString = "";
87
+ var isPM = false;
88
+ var timePos = dateString.indexOf(":");
89
+ if (timePos == -1) {
90
+ timePos = dateString.toUpperCase().indexOf("PM");
91
+ }
92
+ if (timePos == -1) {
93
+ timePos = dateString.toUpperCase().indexOf("AM");
94
+ }
95
+ if (timePos >= 1) {
96
+ timePos = Math.max(0, timePos - (dateString[timePos - 1] == " " ? 3 : 2));
97
+ timeString = dateString.substring(timePos);
98
+ dateString = dateString.substring(0, timePos);
99
+ isPM = timeString.toUpperCase().indexOf("PM") > 0;
100
+ timeString = timeString.replace(/a/gi, "").replace(/p/gi, "").replace(/m/gi, "").replace(/ /gi, "");
101
+ }
102
+ // Date component
103
+ if (d >= 0 || m >= 0 || y >= 0) {
104
+ // Add missing d/m/y on the end.
105
+ d = d == -1 ? Extra++ : d;
106
+ m = m == -1 ? Extra++ : m;
107
+ y = y == -1 ? Extra++ : y;
108
+ // Replace common separators in the date string with /
109
+ var str = dateString.replace(/-/g, '/').replace(/ /g, '/').replace(/\xA0/g, '/');
110
+ // If the user doesnt put in separators, e.g. 0103, then add them to make the string value 01/03
111
+ if ((d == 0 || m == 0) && str.indexOf('/') == -1 && str.length >= 4 && !isNaN(+str)) {
112
+ str = str.substring(0, 2) + '/' + str.substring(2, 4) + (str.length == 8 || str.length == 6 ? '/' + str.substring(4, str.length) : '');
113
+ }
114
+ var parts = str.split('/');
115
+ if (requireAllParts && parts.length < 3)
116
+ return null;
117
+ // if format is dd mmm yyyy, and the user omits the dd, then add 1st day.
118
+ if (d == 0 && parts[0].length > 2)
119
+ parts.splice(0, 0, "1");
120
+ var Year = y > m ? (y > d ? parts[2] : parts[1]) : (y > d ? parts[1] : parts[0]);
121
+ var Month = m > d ? (m > y ? parts[2] : parts[1]) : (m > y ? parts[1] : parts[0]);
122
+ var Day = d > m ? (d > y ? parts[2] : parts[1]) : (d > y ? parts[1] : parts[0]);
123
+ if (Year && (Year.length == 1 || Year.length == 3 || Year.length > 4))
124
+ return null;
125
+ Year = !Year ? returnDate.getFullYear().toString() : Year;
126
+ Month = !Month ? (returnDate.getMonth() + 1).toString() : Month;
127
+ Day = !Day ? 1 : Day;
128
+ if (Month.length < 3 && parseInt(Month) <= 12) {
129
+ Month = DateUtils.i18n.monthNames[parseInt(Month) - 1];
130
+ }
131
+ if (Year.length == 2) {
132
+ if (requireAllParts) {
133
+ return null;
134
+ }
135
+ Year = "20" + Year;
136
+ }
137
+ returnDate = new Date(Day + " " + Month + " " + Year);
138
+ if (isNaN(returnDate)) {
139
+ return null;
140
+ }
141
+ }
142
+ // Get time component.
143
+ if (timeString) {
144
+ var time = new Date(0);
145
+ time.setHours.apply(time, timeString.split(":").map(function (s) { return parseInt(s); }));
146
+ if (isNaN(time)) {
147
+ return returnDate;
148
+ }
149
+ returnDate.setHours(time.getHours() + (isPM ? 12 : 0), time.getMinutes(), time.getSeconds());
150
+ }
151
+ return returnDate;
152
+ };
153
+ DateUtils.min = function (date1, date2) {
154
+ return new Date(date1.getTime() < date2.getTime() ? date1 : date2);
155
+ };
156
+ DateUtils.max = function (date1, date2) {
157
+ return new Date(date1.getTime() > date2.getTime() ? date1 : date2);
158
+ };
159
+ /** Returns the first date of the month for the specified date. */
160
+ DateUtils.monthStart = function (date) {
161
+ if (date === void 0) { date = new Date(); }
162
+ return new Date(date.getFullYear(), date.getMonth(), 1);
163
+ };
164
+ /** Returns the last date of the month for the specified date. */
165
+ DateUtils.monthEnd = function (date) {
166
+ if (date === void 0) { date = new Date(); }
167
+ return new Date(date.getFullYear(), date.getMonth() + 1, 0);
168
+ };
169
+ /**
170
+ * Returns the current date without time.
171
+ */
172
+ DateUtils.today = function () {
173
+ return this.stripTime(new Date());
174
+ };
175
+ /**
176
+ * Returns a new date with no time component.
177
+ */
178
+ DateUtils.stripTime = function (dateWithTime) {
179
+ return new Date(dateWithTime.getFullYear(), dateWithTime.getMonth(), dateWithTime.getDate());
180
+ };
181
+ /**
182
+ * Returns a new date, with the timespan components added to it.
183
+ * Use negative numbers to subtract.
184
+ */
185
+ DateUtils.add = function (date, timeSpan) {
186
+ var _a, _b, _c, _d, _e, _f, _g;
187
+ var newDate = new Date();
188
+ newDate.setFullYear(date.getFullYear() + ((_a = timeSpan.years) !== null && _a !== void 0 ? _a : 0), date.getMonth() + ((_b = timeSpan.months) !== null && _b !== void 0 ? _b : 0), date.getDate() + ((_c = timeSpan.days) !== null && _c !== void 0 ? _c : 0));
189
+ newDate.setHours(date.getHours() + ((_d = timeSpan.hours) !== null && _d !== void 0 ? _d : 0), date.getMinutes() + ((_e = timeSpan.minutes) !== null && _e !== void 0 ? _e : 0), date.getSeconds() + ((_f = timeSpan.seconds) !== null && _f !== void 0 ? _f : 0), date.getMilliseconds() + ((_g = timeSpan.milliseconds) !== null && _g !== void 0 ? _g : 0));
190
+ return newDate;
191
+ };
192
+ /**
193
+ * Gets the difference between 2 dates.
194
+ */
195
+ DateUtils.difference = function (startDate, endDate) {
196
+ var compareDate = new Date();
197
+ compareDate.setFullYear(endDate.getFullYear() - startDate.getFullYear(), endDate.getMonth() - startDate.getMonth(), endDate.getDate() - startDate.getDate());
198
+ compareDate.setHours(endDate.getHours() - startDate.getHours(), endDate.getMinutes() - startDate.getMinutes(), endDate.getSeconds() - startDate.getSeconds(), endDate.getMilliseconds() - startDate.getMilliseconds());
199
+ return new TimeSpan(compareDate.getFullYear(), compareDate.getMonth(), compareDate.getDate(), compareDate.getHours(), compareDate.getMinutes(), compareDate.getSeconds(), compareDate.getMilliseconds(), endDate.getTime() - startDate.getTime());
200
+ };
201
+ DateUtils.defaultFormatString = "dd MMM yyyy";
202
+ DateUtils.defaultFormatStringWithTime = "dd MMM yyyy HH:mm";
203
+ DateUtils.token = /d{1,4}|M{1,4}|yy(?:yy)?|([HhmsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g;
204
+ DateUtils.timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
205
+ DateUtils.timezoneClip = /[^-+\dA-Z]/g;
206
+ /*
207
+ * Date Format 1.2.3
208
+ * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
209
+ * MIT license
210
+ *
211
+ * Includes enhancements by Scott Trenda <scott.trenda.net>
212
+ * and Kris Kowal <cixar.com/~kris.kowal/>
213
+ */
214
+ DateUtils.i18n = {
215
+ dayNames: [
216
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
217
+ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
218
+ ],
219
+ monthNames: [
220
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
221
+ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
222
+ ]
223
+ };
224
+ return DateUtils;
225
+ }());
226
+ export default DateUtils;
@@ -1,24 +1,24 @@
1
- export interface ITimeSpan {
2
- years: number;
3
- months: number;
4
- days: number;
5
- hours: number;
6
- minutes: number;
7
- seconds: number;
8
- milliseconds: number;
9
- }
10
- export declare class TimeSpan implements ITimeSpan {
11
- readonly years: number;
12
- readonly months: number;
13
- readonly days: number;
14
- readonly hours: number;
15
- readonly minutes: number;
16
- readonly seconds: number;
17
- readonly milliseconds: number;
18
- readonly totalMilliseconds: number;
19
- constructor(years: number, months: number, days: number, hours: number, minutes: number, seconds: number, milliseconds: number, totalMilliseconds: number);
20
- get totalSeconds(): number;
21
- get totalMinutes(): number;
22
- get totalHours(): number;
23
- get totalDays(): number;
24
- }
1
+ export interface ITimeSpan {
2
+ years: number;
3
+ months: number;
4
+ days: number;
5
+ hours: number;
6
+ minutes: number;
7
+ seconds: number;
8
+ milliseconds: number;
9
+ }
10
+ export declare class TimeSpan implements ITimeSpan {
11
+ readonly years: number;
12
+ readonly months: number;
13
+ readonly days: number;
14
+ readonly hours: number;
15
+ readonly minutes: number;
16
+ readonly seconds: number;
17
+ readonly milliseconds: number;
18
+ readonly totalMilliseconds: number;
19
+ constructor(years: number, months: number, days: number, hours: number, minutes: number, seconds: number, milliseconds: number, totalMilliseconds: number);
20
+ get totalSeconds(): number;
21
+ get totalMinutes(): number;
22
+ get totalHours(): number;
23
+ get totalDays(): number;
24
+ }
@@ -1,46 +1,46 @@
1
- var msPerSecond = 1000;
2
- var msPerMinute = msPerSecond * 60;
3
- var msPerHour = msPerMinute * 60;
4
- var msPerDay = msPerHour * 24;
5
- var TimeSpan = /** @class */ (function () {
6
- function TimeSpan(years, months, days, hours, minutes, seconds, milliseconds, totalMilliseconds) {
7
- this.years = years;
8
- this.months = months;
9
- this.days = days;
10
- this.hours = hours;
11
- this.minutes = minutes;
12
- this.seconds = seconds;
13
- this.milliseconds = milliseconds;
14
- this.totalMilliseconds = totalMilliseconds;
15
- }
16
- Object.defineProperty(TimeSpan.prototype, "totalSeconds", {
17
- get: function () {
18
- return Math.floor(this.totalMilliseconds / msPerSecond);
19
- },
20
- enumerable: false,
21
- configurable: true
22
- });
23
- Object.defineProperty(TimeSpan.prototype, "totalMinutes", {
24
- get: function () {
25
- return Math.floor(this.totalMilliseconds / msPerMinute);
26
- },
27
- enumerable: false,
28
- configurable: true
29
- });
30
- Object.defineProperty(TimeSpan.prototype, "totalHours", {
31
- get: function () {
32
- return Math.floor(this.totalMilliseconds / msPerHour);
33
- },
34
- enumerable: false,
35
- configurable: true
36
- });
37
- Object.defineProperty(TimeSpan.prototype, "totalDays", {
38
- get: function () {
39
- return Math.floor(this.totalMilliseconds / msPerDay);
40
- },
41
- enumerable: false,
42
- configurable: true
43
- });
44
- return TimeSpan;
45
- }());
46
- export { TimeSpan };
1
+ var msPerSecond = 1000;
2
+ var msPerMinute = msPerSecond * 60;
3
+ var msPerHour = msPerMinute * 60;
4
+ var msPerDay = msPerHour * 24;
5
+ var TimeSpan = /** @class */ (function () {
6
+ function TimeSpan(years, months, days, hours, minutes, seconds, milliseconds, totalMilliseconds) {
7
+ this.years = years;
8
+ this.months = months;
9
+ this.days = days;
10
+ this.hours = hours;
11
+ this.minutes = minutes;
12
+ this.seconds = seconds;
13
+ this.milliseconds = milliseconds;
14
+ this.totalMilliseconds = totalMilliseconds;
15
+ }
16
+ Object.defineProperty(TimeSpan.prototype, "totalSeconds", {
17
+ get: function () {
18
+ return Math.floor(this.totalMilliseconds / msPerSecond);
19
+ },
20
+ enumerable: false,
21
+ configurable: true
22
+ });
23
+ Object.defineProperty(TimeSpan.prototype, "totalMinutes", {
24
+ get: function () {
25
+ return Math.floor(this.totalMilliseconds / msPerMinute);
26
+ },
27
+ enumerable: false,
28
+ configurable: true
29
+ });
30
+ Object.defineProperty(TimeSpan.prototype, "totalHours", {
31
+ get: function () {
32
+ return Math.floor(this.totalMilliseconds / msPerHour);
33
+ },
34
+ enumerable: false,
35
+ configurable: true
36
+ });
37
+ Object.defineProperty(TimeSpan.prototype, "totalDays", {
38
+ get: function () {
39
+ return Math.floor(this.totalMilliseconds / msPerDay);
40
+ },
41
+ enumerable: false,
42
+ configurable: true
43
+ });
44
+ return TimeSpan;
45
+ }());
46
+ export { TimeSpan };