@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +1 -1
  3. package/dist/ApiClient/ApiClientBase.d.ts +5 -5
  4. package/dist/ApiClient/ApiClientBase.js +13 -13
  5. package/dist/ApiClient/ReadApiClient.d.ts +16 -16
  6. package/dist/ApiClient/ReadApiClient.js +24 -24
  7. package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
  8. package/dist/ApiClient/UpdateableApiClient.js +33 -33
  9. package/dist/AppServices/AppService.d.ts +46 -46
  10. package/dist/AppServices/AppService.js +25 -25
  11. package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
  12. package/dist/AppServices/Config/ConfigModel.js +28 -17
  13. package/dist/AppServices/Config/ConfigService.d.ts +15 -15
  14. package/dist/AppServices/Config/ConfigService.js +49 -53
  15. package/dist/AppServices/Module.d.ts +11 -11
  16. package/dist/AppServices/Module.js +13 -13
  17. package/dist/AppServices/NeoContainer.d.ts +22 -22
  18. package/dist/AppServices/NeoContainer.js +42 -42
  19. package/dist/AppServices/NeoModule.d.ts +3 -3
  20. package/dist/AppServices/NeoModule.js +30 -30
  21. package/dist/AppServices/NeoTypes.d.ts +61 -61
  22. package/dist/AppServices/NeoTypes.js +42 -42
  23. package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
  24. package/dist/AppServices/ServiceIdentifier.js +38 -39
  25. package/dist/AppServices/index.d.ts +7 -7
  26. package/dist/AppServices/index.js +7 -7
  27. package/dist/Components/AnimationHelper.d.ts +69 -69
  28. package/dist/Components/AnimationHelper.js +182 -182
  29. package/dist/Components/BootstrapHelpers.d.ts +8 -8
  30. package/dist/Components/BootstrapHelpers.js +30 -30
  31. package/dist/Components/BootstrapTypes.d.ts +35 -35
  32. package/dist/Components/BootstrapTypes.js +1 -1
  33. package/dist/Components/ButtonOptions.d.ts +63 -61
  34. package/dist/Components/ButtonOptions.js +1 -1
  35. package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
  36. package/dist/Components/ContextMenu/ContextMenu.js +1 -1
  37. package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
  38. package/dist/Components/ContextMenu/MenuUtils.js +34 -34
  39. package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
  40. package/dist/Components/DatePicker/DatePicker.js +510 -487
  41. package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
  42. package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
  43. package/dist/Components/ErrorHandler.d.ts +63 -55
  44. package/dist/Components/ErrorHandler.js +211 -138
  45. package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
  46. package/dist/Components/FileManager/BoundFileManager.js +60 -60
  47. package/dist/Components/FileManager/FileManager.d.ts +80 -78
  48. package/dist/Components/FileManager/FileManager.js +277 -257
  49. package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
  50. package/dist/Components/FileManager/FileUploadBatch.js +83 -82
  51. package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
  52. package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
  53. package/dist/Components/FormOptions.d.ts +34 -34
  54. package/dist/Components/FormOptions.js +1 -1
  55. package/dist/Components/ICollapsableOptions.d.ts +11 -11
  56. package/dist/Components/ICollapsableOptions.js +1 -1
  57. package/dist/Components/Modal/ModalHelper.d.ts +31 -31
  58. package/dist/Components/Modal/ModalHelper.js +174 -174
  59. package/dist/Components/Modal/ModalOptions.d.ts +61 -61
  60. package/dist/Components/Modal/ModalOptions.js +1 -1
  61. package/dist/Components/Modal/ModalStore.d.ts +32 -32
  62. package/dist/Components/Modal/ModalStore.js +82 -82
  63. package/dist/Components/Modal/ModalUtils.d.ts +61 -61
  64. package/dist/Components/Modal/ModalUtils.js +109 -109
  65. package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
  66. package/dist/Components/Notifications/INotificationHelper.js +1 -1
  67. package/dist/Components/Notifications/Notification.d.ts +32 -32
  68. package/dist/Components/Notifications/Notification.js +26 -27
  69. package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
  70. package/dist/Components/Notifications/NotificationHelper.js +111 -112
  71. package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
  72. package/dist/Components/Notifications/NotificationStore.js +78 -79
  73. package/dist/Components/PositionHelper.d.ts +10 -10
  74. package/dist/Components/PositionHelper.js +43 -43
  75. package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
  76. package/dist/Components/TaskRunner/Decorators.js +24 -24
  77. package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
  78. package/dist/Components/TaskRunner/ProgressState.js +71 -72
  79. package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
  80. package/dist/Components/TaskRunner/TaskRunner.js +253 -244
  81. package/dist/Components/TooltipOptions.d.ts +8 -8
  82. package/dist/Components/TooltipOptions.js +1 -1
  83. package/dist/Components/index.d.ts +22 -22
  84. package/dist/Components/index.js +13 -13
  85. package/dist/ConnectionManager.d.ts +45 -45
  86. package/dist/ConnectionManager.js +60 -61
  87. package/dist/Data/ApiDataSource.d.ts +46 -46
  88. package/dist/Data/ApiDataSource.js +140 -144
  89. package/dist/Data/AsyncDataSource.d.ts +35 -35
  90. package/dist/Data/AsyncDataSource.js +79 -80
  91. package/dist/Data/CacheService.d.ts +40 -40
  92. package/dist/Data/CacheService.js +63 -64
  93. package/dist/Data/DataCacheEntry.d.ts +42 -42
  94. package/dist/Data/DataCacheEntry.js +80 -80
  95. package/dist/Data/DataView.d.ts +43 -43
  96. package/dist/Data/DataView.js +173 -172
  97. package/dist/Data/Deserialiser.d.ts +42 -42
  98. package/dist/Data/Deserialiser.js +255 -255
  99. package/dist/Data/Paging/PageManager.d.ts +167 -167
  100. package/dist/Data/Paging/PageManager.js +323 -323
  101. package/dist/Data/Paging/PageRequest.d.ts +24 -24
  102. package/dist/Data/Paging/PageRequest.js +38 -39
  103. package/dist/Data/Paging/PageResult.d.ts +10 -10
  104. package/dist/Data/Paging/PageResult.js +14 -14
  105. package/dist/Data/Serialiser.d.ts +41 -41
  106. package/dist/Data/Serialiser.js +201 -201
  107. package/dist/Data/SortOperation.d.ts +8 -8
  108. package/dist/Data/SortOperation.js +26 -26
  109. package/dist/Data/StaticDataSource.d.ts +9 -9
  110. package/dist/Data/StaticDataSource.js +27 -27
  111. package/dist/Data/WindowedDataView.d.ts +8 -8
  112. package/dist/Data/WindowedDataView.js +49 -50
  113. package/dist/Data/index.d.ts +15 -15
  114. package/dist/Data/index.js +15 -15
  115. package/dist/Dates/DateUtils.d.ts +47 -47
  116. package/dist/Dates/DateUtils.js +226 -226
  117. package/dist/Dates/TimeSpan.d.ts +24 -24
  118. package/dist/Dates/TimeSpan.js +46 -46
  119. package/dist/DebounceHelper.d.ts +44 -38
  120. package/dist/DebounceHelper.js +122 -95
  121. package/dist/Extensions.d.ts +82 -82
  122. package/dist/Extensions.js +182 -182
  123. package/dist/FileUtils.d.ts +6 -6
  124. package/dist/FileUtils.js +37 -37
  125. package/dist/Globals.d.ts +19 -19
  126. package/dist/Globals.js +41 -41
  127. package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
  128. package/dist/JsonSchema/ClassMetadata.js +53 -53
  129. package/dist/JsonSchema/JsonData.d.ts +16 -16
  130. package/dist/JsonSchema/JsonData.js +97 -97
  131. package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
  132. package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
  133. package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
  134. package/dist/JsonSchema/PropertyMetadata.js +8 -8
  135. package/dist/JsonSchema/TypeCache.d.ts +16 -16
  136. package/dist/JsonSchema/TypeCache.js +44 -44
  137. package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
  138. package/dist/JsonSchema/TypeMetadata.js +170 -170
  139. package/dist/JsonSchema/index.d.ts +7 -7
  140. package/dist/JsonSchema/index.js +6 -6
  141. package/dist/Localisation/ILocalisationService.d.ts +11 -11
  142. package/dist/Localisation/ILocalisationService.js +1 -1
  143. package/dist/Localisation/LocalisationService.d.ts +4 -4
  144. package/dist/Localisation/LocalisationService.js +17 -17
  145. package/dist/Localisation/index.d.ts +1 -1
  146. package/dist/Localisation/index.js +1 -1
  147. package/dist/Misc.d.ts +6 -6
  148. package/dist/Misc.js +6 -6
  149. package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
  150. package/dist/Model/BaseModels/AuditValues.js +46 -48
  151. package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
  152. package/dist/Model/BaseModels/CriteriaBase.js +45 -34
  153. package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
  154. package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
  155. package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
  156. package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
  157. package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
  158. package/dist/Model/BaseModels/UserEvent.js +36 -32
  159. package/dist/Model/BindableBase.d.ts +46 -40
  160. package/dist/Model/BindableBase.js +82 -76
  161. package/dist/Model/Decorators.d.ts +50 -44
  162. package/dist/Model/Decorators.js +189 -177
  163. package/dist/Model/EnumHelper.d.ts +54 -54
  164. package/dist/Model/EnumHelper.js +104 -100
  165. package/dist/Model/IAutoRunner.d.ts +5 -5
  166. package/dist/Model/IAutoRunner.js +1 -1
  167. package/dist/Model/IModelBase.d.ts +101 -79
  168. package/dist/Model/IModelBase.js +1 -1
  169. package/dist/Model/IModelCreatorBase.d.ts +9 -9
  170. package/dist/Model/IModelCreatorBase.js +1 -1
  171. package/dist/Model/List.d.ts +79 -77
  172. package/dist/Model/List.js +208 -198
  173. package/dist/Model/LookupBase.d.ts +13 -6
  174. package/dist/Model/LookupBase.js +19 -10
  175. package/dist/Model/MethodInfo.d.ts +8 -0
  176. package/dist/Model/MethodInfo.js +7 -0
  177. package/dist/Model/Misc.d.ts +83 -81
  178. package/dist/Model/Misc.js +59 -59
  179. package/dist/Model/ModelBase.d.ts +88 -86
  180. package/dist/Model/ModelBase.js +189 -180
  181. package/dist/Model/ModelCreatorBase.d.ts +23 -23
  182. package/dist/Model/ModelCreatorBase.js +91 -92
  183. package/dist/Model/ModelFieldInfo.d.ts +29 -12
  184. package/dist/Model/ModelFieldInfo.js +35 -26
  185. package/dist/Model/ModelGraphTraverser.d.ts +35 -35
  186. package/dist/Model/ModelGraphTraverser.js +101 -99
  187. package/dist/Model/NeoModel.d.ts +6 -6
  188. package/dist/Model/NeoModel.js +13 -13
  189. package/dist/Model/NeoTypeInfo.d.ts +55 -41
  190. package/dist/Model/NeoTypeInfo.js +319 -250
  191. package/dist/Model/ObservableProperty.d.ts +8 -8
  192. package/dist/Model/ObservableProperty.js +41 -41
  193. package/dist/Model/ObservableValue.d.ts +9 -9
  194. package/dist/Model/ObservableValue.js +25 -26
  195. package/dist/Model/PropertyInfo.d.ts +83 -81
  196. package/dist/Model/PropertyInfo.js +137 -137
  197. package/dist/Model/PropertyInstance.d.ts +84 -48
  198. package/dist/Model/PropertyInstance.js +173 -113
  199. package/dist/Model/ValueObject.d.ts +3 -3
  200. package/dist/Model/ValueObject.js +10 -10
  201. package/dist/Model/index.d.ts +15 -14
  202. package/dist/Model/index.js +13 -12
  203. package/dist/NumberUtils.d.ts +63 -49
  204. package/dist/NumberUtils.js +247 -197
  205. package/dist/Routing/IMenuItemProvider.d.ts +9 -9
  206. package/dist/Routing/IMenuItemProvider.js +1 -1
  207. package/dist/Routing/IMenuRoute.d.ts +18 -18
  208. package/dist/Routing/IMenuRoute.js +1 -1
  209. package/dist/Routing/INavigationHelper.d.ts +7 -7
  210. package/dist/Routing/INavigationHelper.js +1 -1
  211. package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
  212. package/dist/Routing/IPageLeaveHandler.js +7 -7
  213. package/dist/Routing/IRoute.d.ts +27 -27
  214. package/dist/Routing/IRoute.js +1 -1
  215. package/dist/Routing/IRouteSecurityService.d.ts +14 -14
  216. package/dist/Routing/IRouteSecurityService.js +1 -1
  217. package/dist/Routing/MenuItemProvider.d.ts +17 -17
  218. package/dist/Routing/MenuItemProvider.js +53 -54
  219. package/dist/Routing/RouteSecurityService.d.ts +18 -18
  220. package/dist/Routing/RouteSecurityService.js +35 -36
  221. package/dist/Routing/index.d.ts +7 -7
  222. package/dist/Routing/index.js +3 -3
  223. package/dist/Security/IAuthenticationService.d.ts +41 -36
  224. package/dist/Security/IAuthenticationService.js +1 -1
  225. package/dist/Security/IAuthorisationService.d.ts +11 -11
  226. package/dist/Security/IAuthorisationService.js +1 -1
  227. package/dist/Security/ILoginErrorHandler.d.ts +4 -4
  228. package/dist/Security/ILoginErrorHandler.js +1 -1
  229. package/dist/Security/ISecurityService.d.ts +10 -10
  230. package/dist/Security/ISecurityService.js +1 -1
  231. package/dist/Security/IUser.d.ts +10 -10
  232. package/dist/Security/IUser.js +1 -1
  233. package/dist/Security/IUserRole.d.ts +6 -6
  234. package/dist/Security/IUserRole.js +1 -1
  235. package/dist/Security/LoginErrorHandler.d.ts +15 -15
  236. package/dist/Security/LoginErrorHandler.js +97 -98
  237. package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
  238. package/dist/Security/Oidc/OidcAuthService.js +216 -189
  239. package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
  240. package/dist/Security/Oidc/OidcTypes.js +1 -1
  241. package/dist/Security/Oidc/OidcUser.d.ts +9 -9
  242. package/dist/Security/Oidc/OidcUser.js +33 -33
  243. package/dist/Security/SecurityService.d.ts +12 -12
  244. package/dist/Security/SecurityService.js +33 -34
  245. package/dist/Security/SignInResult.d.ts +13 -13
  246. package/dist/Security/SignInResult.js +8 -8
  247. package/dist/Security/User.d.ts +12 -12
  248. package/dist/Security/User.js +24 -24
  249. package/dist/Security/index.d.ts +10 -10
  250. package/dist/Security/index.js +5 -5
  251. package/dist/Settings.d.ts +71 -57
  252. package/dist/Settings.js +100 -87
  253. package/dist/SignalR/HubBase.d.ts +70 -70
  254. package/dist/SignalR/HubBase.js +164 -164
  255. package/dist/SignalR/HubReceiver.d.ts +11 -11
  256. package/dist/SignalR/HubReceiver.js +25 -25
  257. package/dist/SignalR/HubSubscription.d.ts +12 -12
  258. package/dist/SignalR/HubSubscription.js +14 -14
  259. package/dist/SignalR/index.d.ts +3 -3
  260. package/dist/SignalR/index.js +1 -1
  261. package/dist/StringUtils.d.ts +7 -7
  262. package/dist/StringUtils.js +24 -24
  263. package/dist/Utils.d.ts +81 -80
  264. package/dist/Utils.js +220 -218
  265. package/dist/Validation/Decorators.d.ts +12 -12
  266. package/dist/Validation/Decorators.js +52 -52
  267. package/dist/Validation/DisplayHelper.d.ts +20 -19
  268. package/dist/Validation/DisplayHelper.js +104 -104
  269. package/dist/Validation/Misc.d.ts +10 -10
  270. package/dist/Validation/Misc.js +11 -11
  271. package/dist/Validation/ModelProxy.d.ts +20 -20
  272. package/dist/Validation/ModelProxy.js +46 -46
  273. package/dist/Validation/RuleContext.d.ts +86 -86
  274. package/dist/Validation/RuleContext.js +130 -130
  275. package/dist/Validation/Rules.d.ts +70 -70
  276. package/dist/Validation/Rules.js +177 -177
  277. package/dist/Validation/ValidationHelpers.d.ts +12 -12
  278. package/dist/Validation/ValidationHelpers.js +57 -57
  279. package/dist/Validation/ValidationRules.d.ts +18 -18
  280. package/dist/Validation/ValidationRules.js +34 -34
  281. package/dist/Validation/ValidationState.d.ts +42 -42
  282. package/dist/Validation/ValidationState.js +74 -74
  283. package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
  284. package/dist/Validation/Validators/IModelValidator.js +1 -1
  285. package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
  286. package/dist/Validation/Validators/IPropertyValidator.js +15 -15
  287. package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
  288. package/dist/Validation/Validators/ModelValidator.js +143 -137
  289. package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
  290. package/dist/Validation/Validators/PropertyValidator.js +64 -67
  291. package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
  292. package/dist/Validation/Validators/RuleValidator.js +51 -55
  293. package/dist/Validation/index.d.ts +9 -9
  294. package/dist/Validation/index.js +7 -7
  295. package/dist/Views/IViewBase.d.ts +5 -5
  296. package/dist/Views/IViewBase.js +1 -1
  297. package/dist/index.d.ts +37 -36
  298. package/dist/index.js +44 -43
  299. 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 };