@churchapps/helpers 1.2.0 → 1.2.2

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 (267) hide show
  1. package/dist/cjs/ApiHelper.d.ts.map +1 -0
  2. package/dist/cjs/ApiHelper.js.map +1 -0
  3. package/dist/cjs/AppearanceHelper.d.ts.map +1 -0
  4. package/dist/cjs/AppearanceHelper.js.map +1 -0
  5. package/dist/cjs/ArrayHelper.d.ts.map +1 -0
  6. package/dist/cjs/ArrayHelper.js.map +1 -0
  7. package/dist/cjs/CommonEnvironmentHelper.d.ts.map +1 -0
  8. package/dist/cjs/CommonEnvironmentHelper.js.map +1 -0
  9. package/dist/cjs/CurrencyHelper.d.ts.map +1 -0
  10. package/dist/cjs/CurrencyHelper.js.map +1 -0
  11. package/dist/cjs/DateHelper.d.ts.map +1 -0
  12. package/dist/cjs/DateHelper.js.map +1 -0
  13. package/dist/cjs/DonationHelper.d.ts.map +1 -0
  14. package/dist/cjs/DonationHelper.js.map +1 -0
  15. package/dist/cjs/ErrorHelper.d.ts.map +1 -0
  16. package/dist/cjs/ErrorHelper.js.map +1 -0
  17. package/dist/cjs/EventHelper.d.ts.map +1 -0
  18. package/dist/cjs/EventHelper.js.map +1 -0
  19. package/dist/cjs/FileHelper.d.ts.map +1 -0
  20. package/dist/cjs/FileHelper.js.map +1 -0
  21. package/dist/cjs/PersonHelper.d.ts.map +1 -0
  22. package/dist/cjs/PersonHelper.js.map +1 -0
  23. package/dist/cjs/UniqueIdHelper.d.ts.map +1 -0
  24. package/dist/cjs/UniqueIdHelper.js.map +1 -0
  25. package/dist/cjs/UserHelper.d.ts.map +1 -0
  26. package/dist/cjs/UserHelper.js.map +1 -0
  27. package/dist/cjs/index.d.ts +15 -0
  28. package/dist/cjs/index.d.ts.map +1 -0
  29. package/dist/cjs/index.js.map +1 -0
  30. package/dist/cjs/interfaces/Access.d.ts +132 -0
  31. package/dist/cjs/interfaces/Access.d.ts.map +1 -0
  32. package/dist/cjs/interfaces/Access.js +3 -0
  33. package/dist/cjs/interfaces/Access.js.map +1 -0
  34. package/dist/cjs/interfaces/Attendance.d.ts +45 -0
  35. package/dist/cjs/interfaces/Attendance.d.ts.map +1 -0
  36. package/dist/cjs/interfaces/Attendance.js +3 -0
  37. package/dist/cjs/interfaces/Attendance.js.map +1 -0
  38. package/dist/cjs/interfaces/Content.d.ts +86 -0
  39. package/dist/cjs/interfaces/Content.d.ts.map +1 -0
  40. package/dist/cjs/interfaces/Content.js +3 -0
  41. package/dist/cjs/interfaces/Content.js.map +1 -0
  42. package/dist/cjs/interfaces/Doing.d.ts +93 -0
  43. package/dist/cjs/interfaces/Doing.d.ts.map +1 -0
  44. package/dist/cjs/interfaces/Doing.js +3 -0
  45. package/dist/cjs/interfaces/Doing.js.map +1 -0
  46. package/dist/cjs/interfaces/Donation.d.ts +180 -0
  47. package/dist/cjs/interfaces/Donation.d.ts.map +1 -0
  48. package/dist/cjs/interfaces/Donation.js +27 -0
  49. package/dist/cjs/interfaces/Donation.js.map +1 -0
  50. package/dist/cjs/interfaces/Error.d.ts +17 -0
  51. package/dist/cjs/interfaces/Error.d.ts.map +1 -0
  52. package/dist/cjs/interfaces/Error.js +3 -0
  53. package/dist/cjs/interfaces/Error.js.map +1 -0
  54. package/dist/cjs/interfaces/Membership.d.ts +187 -0
  55. package/dist/cjs/interfaces/Membership.d.ts.map +1 -0
  56. package/dist/cjs/interfaces/Membership.js +3 -0
  57. package/dist/cjs/interfaces/Membership.js.map +1 -0
  58. package/dist/cjs/interfaces/Messaging.d.ts +86 -0
  59. package/dist/cjs/interfaces/Messaging.d.ts.map +1 -0
  60. package/dist/cjs/interfaces/Messaging.js +3 -0
  61. package/dist/cjs/interfaces/Messaging.js.map +1 -0
  62. package/dist/cjs/interfaces/Permissions.d.ts +166 -0
  63. package/dist/cjs/interfaces/Permissions.d.ts.map +1 -0
  64. package/dist/cjs/interfaces/Permissions.js +94 -0
  65. package/dist/cjs/interfaces/Permissions.js.map +1 -0
  66. package/dist/cjs/interfaces/Reporting.d.ts +45 -0
  67. package/dist/cjs/interfaces/Reporting.d.ts.map +1 -0
  68. package/dist/cjs/interfaces/Reporting.js +3 -0
  69. package/dist/cjs/interfaces/Reporting.js.map +1 -0
  70. package/dist/cjs/interfaces/UserContextInterface.d.ts +13 -0
  71. package/dist/cjs/interfaces/UserContextInterface.d.ts.map +1 -0
  72. package/dist/cjs/interfaces/UserContextInterface.js +3 -0
  73. package/dist/cjs/interfaces/UserContextInterface.js.map +1 -0
  74. package/dist/cjs/interfaces/index.d.ts +12 -0
  75. package/dist/cjs/interfaces/index.d.ts.map +1 -0
  76. package/dist/cjs/interfaces/index.js +29 -0
  77. package/dist/cjs/interfaces/index.js.map +1 -0
  78. package/dist/cjs/package.json +3 -0
  79. package/dist/esm/ApiHelper.d.ts +28 -0
  80. package/dist/esm/ApiHelper.d.ts.map +1 -0
  81. package/dist/esm/ApiHelper.js +162 -0
  82. package/dist/esm/ApiHelper.js.map +1 -0
  83. package/dist/esm/AppearanceHelper.d.ts +19 -0
  84. package/dist/esm/AppearanceHelper.d.ts.map +1 -0
  85. package/dist/esm/AppearanceHelper.js +60 -0
  86. package/dist/esm/AppearanceHelper.js.map +1 -0
  87. package/dist/esm/ArrayHelper.d.ts +16 -0
  88. package/dist/esm/ArrayHelper.d.ts.map +1 -0
  89. package/dist/esm/ArrayHelper.js +164 -0
  90. package/dist/esm/ArrayHelper.js.map +1 -0
  91. package/dist/esm/CommonEnvironmentHelper.d.ts +22 -0
  92. package/dist/esm/CommonEnvironmentHelper.d.ts.map +1 -0
  93. package/dist/esm/CommonEnvironmentHelper.js +100 -0
  94. package/dist/esm/CommonEnvironmentHelper.js.map +1 -0
  95. package/dist/esm/CurrencyHelper.d.ts +4 -0
  96. package/dist/esm/CurrencyHelper.d.ts.map +1 -0
  97. package/dist/esm/CurrencyHelper.js +11 -0
  98. package/dist/esm/CurrencyHelper.js.map +1 -0
  99. package/dist/esm/DateHelper.d.ts +23 -0
  100. package/dist/esm/DateHelper.d.ts.map +1 -0
  101. package/dist/esm/DateHelper.js +141 -0
  102. package/dist/esm/DateHelper.js.map +1 -0
  103. package/dist/esm/DonationHelper.d.ts +8 -0
  104. package/dist/esm/DonationHelper.d.ts.map +1 -0
  105. package/dist/esm/DonationHelper.js +29 -0
  106. package/dist/esm/DonationHelper.js.map +1 -0
  107. package/dist/esm/ErrorHelper.d.ts +13 -0
  108. package/dist/esm/ErrorHelper.d.ts.map +1 -0
  109. package/dist/esm/ErrorHelper.js +30 -0
  110. package/dist/esm/ErrorHelper.js.map +1 -0
  111. package/dist/esm/EventHelper.d.ts +11 -0
  112. package/dist/esm/EventHelper.d.ts.map +1 -0
  113. package/dist/esm/EventHelper.js +39 -0
  114. package/dist/esm/EventHelper.js.map +1 -0
  115. package/dist/esm/FileHelper.d.ts +5 -0
  116. package/dist/esm/FileHelper.d.ts.map +1 -0
  117. package/dist/esm/FileHelper.js +53 -0
  118. package/dist/esm/FileHelper.js.map +1 -0
  119. package/dist/esm/PersonHelper.d.ts +14 -0
  120. package/dist/esm/PersonHelper.d.ts.map +1 -0
  121. package/dist/esm/PersonHelper.js +80 -0
  122. package/dist/esm/PersonHelper.js.map +1 -0
  123. package/dist/esm/UniqueIdHelper.d.ts +9 -0
  124. package/dist/esm/UniqueIdHelper.d.ts.map +1 -0
  125. package/dist/esm/UniqueIdHelper.js +33 -0
  126. package/dist/esm/UniqueIdHelper.js.map +1 -0
  127. package/dist/esm/UserHelper.d.ts +14 -0
  128. package/dist/esm/UserHelper.d.ts.map +1 -0
  129. package/dist/esm/UserHelper.js +57 -0
  130. package/dist/esm/UserHelper.js.map +1 -0
  131. package/dist/esm/index.d.ts +15 -0
  132. package/dist/esm/index.d.ts.map +1 -0
  133. package/dist/esm/index.js +15 -0
  134. package/dist/esm/index.js.map +1 -0
  135. package/dist/esm/interfaces/Access.d.ts +132 -0
  136. package/dist/esm/interfaces/Access.d.ts.map +1 -0
  137. package/dist/esm/interfaces/Access.js +2 -0
  138. package/dist/esm/interfaces/Access.js.map +1 -0
  139. package/dist/esm/interfaces/Attendance.d.ts +45 -0
  140. package/dist/esm/interfaces/Attendance.d.ts.map +1 -0
  141. package/dist/esm/interfaces/Attendance.js +2 -0
  142. package/dist/esm/interfaces/Attendance.js.map +1 -0
  143. package/dist/esm/interfaces/Content.d.ts +86 -0
  144. package/dist/esm/interfaces/Content.d.ts.map +1 -0
  145. package/dist/esm/interfaces/Content.js +2 -0
  146. package/dist/esm/interfaces/Content.js.map +1 -0
  147. package/dist/esm/interfaces/Doing.d.ts +93 -0
  148. package/dist/esm/interfaces/Doing.d.ts.map +1 -0
  149. package/dist/esm/interfaces/Doing.js +2 -0
  150. package/dist/esm/interfaces/Doing.js.map +1 -0
  151. package/dist/esm/interfaces/Donation.d.ts +180 -0
  152. package/dist/esm/interfaces/Donation.d.ts.map +1 -0
  153. package/dist/esm/interfaces/Donation.js +23 -0
  154. package/dist/esm/interfaces/Donation.js.map +1 -0
  155. package/dist/esm/interfaces/Error.d.ts +17 -0
  156. package/dist/esm/interfaces/Error.d.ts.map +1 -0
  157. package/dist/esm/interfaces/Error.js +2 -0
  158. package/dist/esm/interfaces/Error.js.map +1 -0
  159. package/dist/esm/interfaces/Membership.d.ts +187 -0
  160. package/dist/esm/interfaces/Membership.d.ts.map +1 -0
  161. package/dist/esm/interfaces/Membership.js +2 -0
  162. package/dist/esm/interfaces/Membership.js.map +1 -0
  163. package/dist/esm/interfaces/Messaging.d.ts +86 -0
  164. package/dist/esm/interfaces/Messaging.d.ts.map +1 -0
  165. package/dist/esm/interfaces/Messaging.js +2 -0
  166. package/dist/esm/interfaces/Messaging.js.map +1 -0
  167. package/dist/esm/interfaces/Permissions.d.ts +166 -0
  168. package/dist/esm/interfaces/Permissions.d.ts.map +1 -0
  169. package/dist/esm/interfaces/Permissions.js +90 -0
  170. package/dist/esm/interfaces/Permissions.js.map +1 -0
  171. package/dist/esm/interfaces/Reporting.d.ts +45 -0
  172. package/dist/esm/interfaces/Reporting.d.ts.map +1 -0
  173. package/dist/esm/interfaces/Reporting.js +2 -0
  174. package/dist/esm/interfaces/Reporting.js.map +1 -0
  175. package/dist/esm/interfaces/UserContextInterface.d.ts +13 -0
  176. package/dist/esm/interfaces/UserContextInterface.d.ts.map +1 -0
  177. package/dist/esm/interfaces/UserContextInterface.js +2 -0
  178. package/dist/esm/interfaces/UserContextInterface.js.map +1 -0
  179. package/dist/esm/interfaces/index.d.ts +12 -0
  180. package/dist/esm/interfaces/index.d.ts.map +1 -0
  181. package/dist/esm/interfaces/index.js +13 -0
  182. package/dist/esm/interfaces/index.js.map +1 -0
  183. package/dist/esm/package.json +3 -0
  184. package/dist/index.d.ts +14 -14
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/interfaces/Access.d.ts.map +1 -1
  187. package/dist/interfaces/Access.js.map +1 -1
  188. package/dist/interfaces/Attendance.d.ts.map +1 -1
  189. package/dist/interfaces/Attendance.js.map +1 -1
  190. package/dist/interfaces/Content.d.ts.map +1 -1
  191. package/dist/interfaces/Content.js.map +1 -1
  192. package/dist/interfaces/Doing.d.ts.map +1 -1
  193. package/dist/interfaces/Doing.js.map +1 -1
  194. package/dist/interfaces/Donation.d.ts.map +1 -1
  195. package/dist/interfaces/Donation.js.map +1 -1
  196. package/dist/interfaces/Error.d.ts.map +1 -1
  197. package/dist/interfaces/Error.js.map +1 -1
  198. package/dist/interfaces/Membership.d.ts.map +1 -1
  199. package/dist/interfaces/Membership.js.map +1 -1
  200. package/dist/interfaces/Messaging.d.ts.map +1 -1
  201. package/dist/interfaces/Messaging.js.map +1 -1
  202. package/dist/interfaces/Permissions.d.ts.map +1 -1
  203. package/dist/interfaces/Permissions.js.map +1 -1
  204. package/dist/interfaces/Reporting.d.ts.map +1 -1
  205. package/dist/interfaces/Reporting.js.map +1 -1
  206. package/dist/interfaces/UserContextInterface.d.ts.map +1 -1
  207. package/dist/interfaces/UserContextInterface.js.map +1 -1
  208. package/dist/interfaces/index.d.ts.map +1 -1
  209. package/dist/interfaces/index.js.map +1 -1
  210. package/package.json +17 -7
  211. package/scripts/postbuild.js +61 -0
  212. package/tsconfig.esm.json +8 -0
  213. package/tsconfig.json +1 -1
  214. package/dist/ApiHelper.d.ts.map +0 -1
  215. package/dist/ApiHelper.js.map +0 -1
  216. package/dist/AppearanceHelper.d.ts.map +0 -1
  217. package/dist/AppearanceHelper.js.map +0 -1
  218. package/dist/ArrayHelper.d.ts.map +0 -1
  219. package/dist/ArrayHelper.js.map +0 -1
  220. package/dist/CommonEnvironmentHelper.d.ts.map +0 -1
  221. package/dist/CommonEnvironmentHelper.js.map +0 -1
  222. package/dist/CurrencyHelper.d.ts.map +0 -1
  223. package/dist/CurrencyHelper.js.map +0 -1
  224. package/dist/DateHelper.d.ts.map +0 -1
  225. package/dist/DateHelper.js.map +0 -1
  226. package/dist/DonationHelper.d.ts.map +0 -1
  227. package/dist/DonationHelper.js.map +0 -1
  228. package/dist/ErrorHelper.d.ts.map +0 -1
  229. package/dist/ErrorHelper.js.map +0 -1
  230. package/dist/EventHelper.d.ts.map +0 -1
  231. package/dist/EventHelper.js.map +0 -1
  232. package/dist/FileHelper.d.ts.map +0 -1
  233. package/dist/FileHelper.js.map +0 -1
  234. package/dist/PersonHelper.d.ts.map +0 -1
  235. package/dist/PersonHelper.js.map +0 -1
  236. package/dist/UniqueIdHelper.d.ts.map +0 -1
  237. package/dist/UniqueIdHelper.js.map +0 -1
  238. package/dist/UserHelper.d.ts.map +0 -1
  239. package/dist/UserHelper.js.map +0 -1
  240. package/dist/index.js.map +0 -1
  241. /package/dist/{ApiHelper.d.ts → cjs/ApiHelper.d.ts} +0 -0
  242. /package/dist/{ApiHelper.js → cjs/ApiHelper.js} +0 -0
  243. /package/dist/{AppearanceHelper.d.ts → cjs/AppearanceHelper.d.ts} +0 -0
  244. /package/dist/{AppearanceHelper.js → cjs/AppearanceHelper.js} +0 -0
  245. /package/dist/{ArrayHelper.d.ts → cjs/ArrayHelper.d.ts} +0 -0
  246. /package/dist/{ArrayHelper.js → cjs/ArrayHelper.js} +0 -0
  247. /package/dist/{CommonEnvironmentHelper.d.ts → cjs/CommonEnvironmentHelper.d.ts} +0 -0
  248. /package/dist/{CommonEnvironmentHelper.js → cjs/CommonEnvironmentHelper.js} +0 -0
  249. /package/dist/{CurrencyHelper.d.ts → cjs/CurrencyHelper.d.ts} +0 -0
  250. /package/dist/{CurrencyHelper.js → cjs/CurrencyHelper.js} +0 -0
  251. /package/dist/{DateHelper.d.ts → cjs/DateHelper.d.ts} +0 -0
  252. /package/dist/{DateHelper.js → cjs/DateHelper.js} +0 -0
  253. /package/dist/{DonationHelper.d.ts → cjs/DonationHelper.d.ts} +0 -0
  254. /package/dist/{DonationHelper.js → cjs/DonationHelper.js} +0 -0
  255. /package/dist/{ErrorHelper.d.ts → cjs/ErrorHelper.d.ts} +0 -0
  256. /package/dist/{ErrorHelper.js → cjs/ErrorHelper.js} +0 -0
  257. /package/dist/{EventHelper.d.ts → cjs/EventHelper.d.ts} +0 -0
  258. /package/dist/{EventHelper.js → cjs/EventHelper.js} +0 -0
  259. /package/dist/{FileHelper.d.ts → cjs/FileHelper.d.ts} +0 -0
  260. /package/dist/{FileHelper.js → cjs/FileHelper.js} +0 -0
  261. /package/dist/{PersonHelper.d.ts → cjs/PersonHelper.d.ts} +0 -0
  262. /package/dist/{PersonHelper.js → cjs/PersonHelper.js} +0 -0
  263. /package/dist/{UniqueIdHelper.d.ts → cjs/UniqueIdHelper.d.ts} +0 -0
  264. /package/dist/{UniqueIdHelper.js → cjs/UniqueIdHelper.js} +0 -0
  265. /package/dist/{UserHelper.d.ts → cjs/UserHelper.d.ts} +0 -0
  266. /package/dist/{UserHelper.js → cjs/UserHelper.js} +0 -0
  267. /package/dist/{index.js → cjs/index.js} +0 -0
@@ -0,0 +1,60 @@
1
+ export class AppearanceHelper {
2
+ static getLogoDark(appearanceSettings, defaultLogo) {
3
+ return (appearanceSettings?.logoDark) ? appearanceSettings.logoDark : defaultLogo;
4
+ }
5
+ static getLogoLight(appearanceSettings, defaultLogo) {
6
+ return (appearanceSettings?.logoLight) ? appearanceSettings.logoLight : defaultLogo;
7
+ }
8
+ static getFavicon(appearanceSettings, size) {
9
+ if (size === "400") {
10
+ return appearanceSettings?.favicon_400x400;
11
+ }
12
+ if (size === "16") {
13
+ return appearanceSettings?.favicon_16x16;
14
+ }
15
+ return null;
16
+ }
17
+ static getLogo(appearanceSettings, defaultLogoLight, defaultLogoDark, backgroundColor) {
18
+ const isDark = (appearanceSettings.logoDark) ? this.isDark(backgroundColor) : false;
19
+ if (isDark)
20
+ return this.getLogoDark(appearanceSettings, defaultLogoDark);
21
+ else
22
+ return this.getLogoLight(appearanceSettings, defaultLogoLight);
23
+ }
24
+ static isDark(backgroundColor) {
25
+ let valid = false;
26
+ let r = 0;
27
+ let g = 0;
28
+ let b = 0;
29
+ if (backgroundColor.match(/#[0-9a-fA-F]{6}/)) {
30
+ r = this.getHexValue(backgroundColor.substring(1, 3));
31
+ g = this.getHexValue(backgroundColor.substring(3, 5));
32
+ b = this.getHexValue(backgroundColor.substring(5, 7));
33
+ valid = true;
34
+ }
35
+ else if (backgroundColor.match(/#[0-9a-fA-F]{3}/)) {
36
+ r = this.getHexValue(backgroundColor.substring(1, 2));
37
+ g = this.getHexValue(backgroundColor.substring(2, 3));
38
+ b = this.getHexValue(backgroundColor.substring(3, 4));
39
+ valid = true;
40
+ }
41
+ if (!valid)
42
+ return false;
43
+ else {
44
+ //HSP brightness formula. Some colors have a bigger impact on our perceived brightness than others.
45
+ const rWeight = .299 * Math.pow(r, 2);
46
+ const gWeight = .587 * Math.pow(g, 2);
47
+ const bWeight = .114 * Math.pow(b, 2);
48
+ const brightness = Math.sqrt(rWeight + gWeight + bWeight);
49
+ //return brightness < 128; //
50
+ return brightness < 156;
51
+ }
52
+ }
53
+ static getHexValue(hex) {
54
+ let result = parseInt(hex, 16);
55
+ if (hex.length === 1)
56
+ result = result * 16;
57
+ return result;
58
+ }
59
+ }
60
+ //# sourceMappingURL=AppearanceHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppearanceHelper.js","sourceRoot":"","sources":["../../src/AppearanceHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare class ArrayHelper {
2
+ static getIds(array: any[], propertyName: string): string[];
3
+ static sortBy(array: any[], propertyName: string, descending?: boolean): void;
4
+ static getIndex(array: any[], propertyName: string, value: any): number;
5
+ static getOne(array: any[], propertyName: string, value: any): any;
6
+ static getAll(array: any[], propertyName: string, value: any): any[];
7
+ static getAllArray(array: any[], propertyName: string, values: any[]): any[];
8
+ private static compare;
9
+ static getUniqueValues(array: any[], propertyName: string): any[];
10
+ static getUnique(array: any[]): any[];
11
+ static getAllOperatorArray(array: any[], propertyName: string, values: any[], operator: string, dataType?: string): any[];
12
+ static getAllOperator(array: any[], propertyName: string, value: any, operator: string, dataType?: string): any[];
13
+ static getDeepValue(item: any, propertyName: string): any;
14
+ static fillArray(contents: string, length: number): any[];
15
+ }
16
+ //# sourceMappingURL=ArrayHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayHelper.d.ts","sourceRoot":"","sources":["../../src/ArrayHelper.ts"],"names":[],"mappings":"AAEA,qBAAa,WAAW;IACtB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM;IAShD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe;IAS7E,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAQ9D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAK5D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAQ5D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAMpE,OAAO,CAAC,MAAM,CAAC,OAAO;IAatB,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM;IAUzD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;IAa7B,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAW;IASnH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAW;IAgD3G,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM;IASnD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAMlD"}
@@ -0,0 +1,164 @@
1
+ import { UniqueIdHelper } from "./UniqueIdHelper";
2
+ export class ArrayHelper {
3
+ static getIds(array, propertyName) {
4
+ const result = [];
5
+ for (const item of array) {
6
+ const id = item[propertyName]?.toString();
7
+ if (!UniqueIdHelper.isMissing(id) && result.indexOf(id) === -1)
8
+ result.push(id);
9
+ }
10
+ return result;
11
+ }
12
+ static sortBy(array, propertyName, descending = false) {
13
+ array.sort((a, b) => {
14
+ const valA = a[propertyName];
15
+ const valB = b[propertyName];
16
+ if (valA < valB)
17
+ return descending ? 1 : -1;
18
+ else
19
+ return descending ? -1 : 1;
20
+ });
21
+ }
22
+ static getIndex(array, propertyName, value) {
23
+ for (let i = 0; i < array.length; i++) {
24
+ const item = array[i];
25
+ if (ArrayHelper.compare(item, propertyName, value))
26
+ return i;
27
+ }
28
+ return -1;
29
+ }
30
+ static getOne(array, propertyName, value) {
31
+ for (const item of array || [])
32
+ if (ArrayHelper.compare(item, propertyName, value))
33
+ return item;
34
+ return null;
35
+ }
36
+ static getAll(array, propertyName, value) {
37
+ const result = [];
38
+ for (const item of array || []) {
39
+ if (ArrayHelper.compare(item, propertyName, value))
40
+ result.push(item);
41
+ }
42
+ return result;
43
+ }
44
+ static getAllArray(array, propertyName, values) {
45
+ const result = [];
46
+ for (const item of array || [])
47
+ if (values.indexOf(item[propertyName]) > -1)
48
+ result.push(item);
49
+ return result;
50
+ }
51
+ static compare(item, propertyName, value) {
52
+ const propChain = propertyName.split(".");
53
+ if (propChain.length === 1)
54
+ return item[propertyName] === value;
55
+ else {
56
+ let obj = item;
57
+ for (let i = 0; i < propChain.length - 1; i++) {
58
+ if (obj && obj[propChain[i]] !== undefined)
59
+ obj = obj[propChain[i]];
60
+ else
61
+ return false;
62
+ }
63
+ return obj[propChain[propChain.length - 1]] === value;
64
+ }
65
+ }
66
+ static getUniqueValues(array, propertyName) {
67
+ const result = [];
68
+ for (const item of array) {
69
+ const val = (propertyName.indexOf(".") === -1) ? item[propertyName] : this.getDeepValue(item, propertyName);
70
+ if (result.indexOf(val) === -1)
71
+ result.push(val);
72
+ }
73
+ return result;
74
+ }
75
+ static getUnique(array) {
76
+ const result = [];
77
+ const jsonList = [];
78
+ for (const item of array) {
79
+ const json = JSON.stringify(item);
80
+ if (jsonList.indexOf(json) === -1) {
81
+ result.push(item);
82
+ jsonList.push(json);
83
+ }
84
+ }
85
+ return result;
86
+ }
87
+ static getAllOperatorArray(array, propertyName, values, operator, dataType = "string") {
88
+ const result = [];
89
+ values.forEach(v => {
90
+ const filtered = this.getAllOperator(array, propertyName, v, operator.replace("notIn", "notEqual").replace("in", "equals").replace("donatedToAny", "equals").replace("donatedTo", "equals").replace("attendedCampus", "equals").replace("attendedAny", "equals").replace("attendedServiceTime", "equals").replace("attendedService", "equals").replace("attendedGroup", "equals"), dataType);
91
+ filtered.forEach(f => result.push(f));
92
+ });
93
+ return result;
94
+ }
95
+ static getAllOperator(array, propertyName, value, operator, dataType = "string") {
96
+ const result = [];
97
+ for (const item of array) {
98
+ let propVal = item[propertyName] || "";
99
+ let compVal = value || "";
100
+ if (dataType === "number") {
101
+ propVal = parseFloat(propVal);
102
+ compVal = parseFloat(compVal);
103
+ }
104
+ else if (dataType === "string") {
105
+ propVal = propVal.toLowerCase();
106
+ compVal = compVal.toLowerCase();
107
+ }
108
+ switch (operator) {
109
+ case "equals":
110
+ if (propVal === compVal)
111
+ result.push(item);
112
+ break;
113
+ case "startsWith":
114
+ if (propVal.indexOf(compVal) === 0)
115
+ result.push(item);
116
+ break;
117
+ case "endsWith":
118
+ if (propVal.indexOf(compVal) === propVal.length - compVal.length)
119
+ result.push(item);
120
+ break;
121
+ case "contains":
122
+ if (propVal.indexOf(compVal) > -1)
123
+ result.push(item);
124
+ break;
125
+ case "greaterThan":
126
+ if (propVal > compVal)
127
+ result.push(item);
128
+ break;
129
+ case "greaterThanEqual":
130
+ if (propVal >= compVal)
131
+ result.push(item);
132
+ break;
133
+ case "lessThan":
134
+ if (propVal < compVal)
135
+ result.push(item);
136
+ break;
137
+ case "lessThanEqual":
138
+ if (propVal <= compVal)
139
+ result.push(item);
140
+ break;
141
+ case "notEqual":
142
+ if (propVal !== compVal)
143
+ result.push(item);
144
+ break;
145
+ }
146
+ }
147
+ return result;
148
+ }
149
+ static getDeepValue(item, propertyName) {
150
+ const propertyNames = propertyName.split(".");
151
+ let result = item;
152
+ propertyNames.forEach(name => {
153
+ result = result[name];
154
+ });
155
+ return result;
156
+ }
157
+ static fillArray(contents, length) {
158
+ const result = [];
159
+ for (let i = 0; i < length; i++)
160
+ result.push(contents);
161
+ return result;
162
+ }
163
+ }
164
+ //# sourceMappingURL=ArrayHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayHelper.js","sourceRoot":"","sources":["../../src/ArrayHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare class CommonEnvironmentHelper {
2
+ static AttendanceApi: string;
3
+ static DoingApi: string;
4
+ static GivingApi: string;
5
+ static MembershipApi: string;
6
+ static ReportingApi: string;
7
+ static MessagingApi: string;
8
+ static MessagingApiSocket: string;
9
+ static ContentApi: string;
10
+ static AskApi: string;
11
+ static GoogleAnalyticsTag: string;
12
+ static ContentRoot: string;
13
+ static B1Root: string;
14
+ static ChumsRoot: string;
15
+ static LessonsRoot: string;
16
+ static init: (stage: string) => void;
17
+ static initDev: () => void;
18
+ static initDemo: () => void;
19
+ static initStaging: () => void;
20
+ static initProd: () => void;
21
+ }
22
+ //# sourceMappingURL=CommonEnvironmentHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonEnvironmentHelper.d.ts","sourceRoot":"","sources":["../../src/CommonEnvironmentHelper.ts"],"names":[],"mappings":"AACA,qBAAa,uBAAuB;IAClC,OAAc,aAAa,SAAM;IACjC,OAAc,QAAQ,SAAM;IAC5B,OAAc,SAAS,SAAM;IAC7B,OAAc,aAAa,SAAM;IACjC,OAAc,YAAY,SAAM;IAChC,OAAc,YAAY,SAAM;IAChC,OAAc,kBAAkB,SAAM;IACtC,OAAc,UAAU,SAAM;IAC9B,OAAc,MAAM,SAAM;IAC1B,OAAc,kBAAkB,SAAM;IAEtC,MAAM,CAAC,WAAW,SAAM;IACxB,MAAM,CAAC,MAAM,SAAM;IACnB,MAAM,CAAC,SAAS,SAAM;IACtB,MAAM,CAAC,WAAW,SAAM;IAExB,MAAM,CAAC,IAAI,GAAI,OAAO,MAAM,UAO3B;IAED,MAAM,CAAC,OAAO,aAiBb;IAGD,MAAM,CAAC,QAAQ,aAgBd;IAGD,MAAM,CAAC,WAAW,aAgBjB;IAGD,MAAM,CAAC,QAAQ,aAed;CAEF"}
@@ -0,0 +1,100 @@
1
+ export class CommonEnvironmentHelper {
2
+ static AttendanceApi = "";
3
+ static DoingApi = "";
4
+ static GivingApi = "";
5
+ static MembershipApi = "";
6
+ static ReportingApi = "";
7
+ static MessagingApi = "";
8
+ static MessagingApiSocket = "";
9
+ static ContentApi = "";
10
+ static AskApi = "";
11
+ static GoogleAnalyticsTag = "";
12
+ static ContentRoot = "";
13
+ static B1Root = "";
14
+ static ChumsRoot = "";
15
+ static LessonsRoot = "";
16
+ static init = (stage) => {
17
+ switch (stage) {
18
+ case "demo":
19
+ CommonEnvironmentHelper.initDemo();
20
+ break;
21
+ case "staging":
22
+ CommonEnvironmentHelper.initStaging();
23
+ break;
24
+ case "prod":
25
+ CommonEnvironmentHelper.initProd();
26
+ break;
27
+ default:
28
+ CommonEnvironmentHelper.initDev();
29
+ break;
30
+ }
31
+ };
32
+ static initDev = () => {
33
+ this.initStaging(); //Use staging values for anything not provided
34
+ CommonEnvironmentHelper.AttendanceApi = process.env.REACT_APP_ATTENDANCE_API || process.env.NEXT_PUBLIC_ATTENDANCE_API || CommonEnvironmentHelper.AttendanceApi;
35
+ CommonEnvironmentHelper.DoingApi = process.env.REACT_APP_DOING_API || process.env.NEXT_PUBLIC_DOING_API || CommonEnvironmentHelper.DoingApi;
36
+ CommonEnvironmentHelper.GivingApi = process.env.REACT_APP_GIVING_API || process.env.NEXT_PUBLIC_GIVING_API || CommonEnvironmentHelper.GivingApi;
37
+ CommonEnvironmentHelper.MembershipApi = process.env.REACT_APP_MEMBERSHIP_API || process.env.NEXT_PUBLIC_MEMBERSHIP_API || CommonEnvironmentHelper.MembershipApi;
38
+ CommonEnvironmentHelper.ReportingApi = process.env.REACT_APP_REPORTING_API || process.env.NEXT_PUBLIC_REPORTING_API || CommonEnvironmentHelper.ReportingApi;
39
+ CommonEnvironmentHelper.MessagingApi = process.env.REACT_APP_MESSAGING_API || process.env.NEXT_PUBLIC_MESSAGING_API || CommonEnvironmentHelper.MessagingApi;
40
+ CommonEnvironmentHelper.MessagingApiSocket = process.env.REACT_APP_MESSAGING_API_SOCKET || process.env.NEXT_PUBLIC_MESSAGING_API_SOCKET || CommonEnvironmentHelper.MessagingApiSocket;
41
+ CommonEnvironmentHelper.ContentApi = process.env.REACT_APP_CONTENT_API || process.env.NEXT_PUBLIC_CONTENT_API || CommonEnvironmentHelper.ContentApi;
42
+ CommonEnvironmentHelper.AskApi = process.env.REACT_APP_ASK_API || process.env.NEXT_PUBLIC_ASK_API || CommonEnvironmentHelper.AskApi;
43
+ CommonEnvironmentHelper.GoogleAnalyticsTag = process.env.REACT_APP_GOOGLE_ANALYTICS || process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS || CommonEnvironmentHelper.GoogleAnalyticsTag;
44
+ CommonEnvironmentHelper.ContentRoot = process.env.REACT_APP_CONTENT_ROOT || process.env.NEXT_PUBLIC_CONTENT_ROOT || CommonEnvironmentHelper.ContentRoot;
45
+ CommonEnvironmentHelper.B1Root = process.env.REACT_APP_B1_ROOT || process.env.NEXT_PUBLIC_B1_ROOT || CommonEnvironmentHelper.B1Root;
46
+ CommonEnvironmentHelper.ChumsRoot = process.env.REACT_APP_CHUMS_ROOT || process.env.NEXT_PUBLIC_CHUMS_ROOT || CommonEnvironmentHelper.ChumsRoot;
47
+ CommonEnvironmentHelper.LessonsRoot = process.env.REACT_APP_LESSONS_ROOT || process.env.NEXT_PUBLIC_LESSONS_ROOT || CommonEnvironmentHelper.LessonsRoot;
48
+ };
49
+ //NOTE: None of these values are secret.
50
+ static initDemo = () => {
51
+ CommonEnvironmentHelper.AttendanceApi = "https://api.demo.churchapps.org/attendance";
52
+ CommonEnvironmentHelper.DoingApi = "https://api.demo.churchapps.org/doing";
53
+ CommonEnvironmentHelper.GivingApi = "https://api.demo.churchapps.org/giving";
54
+ CommonEnvironmentHelper.MembershipApi = "https://api.demo.churchapps.org/membership";
55
+ CommonEnvironmentHelper.ReportingApi = "https://api.demo.churchapps.org/reporting";
56
+ CommonEnvironmentHelper.MessagingApi = "https://api.demo.churchapps.org/messaging";
57
+ CommonEnvironmentHelper.MessagingApiSocket = "wss://socket.demo.churchapps.org";
58
+ CommonEnvironmentHelper.ContentApi = "https://api.demo.churchapps.org/content";
59
+ CommonEnvironmentHelper.AskApi = "https://askapi.demo.churchapps.org";
60
+ CommonEnvironmentHelper.GoogleAnalyticsTag = "";
61
+ CommonEnvironmentHelper.ContentRoot = "https://democontent.churchapps.org";
62
+ CommonEnvironmentHelper.B1Root = "https://{key}.demo.b1.church";
63
+ CommonEnvironmentHelper.ChumsRoot = "https://app.demo.chums.org";
64
+ CommonEnvironmentHelper.LessonsRoot = "https://demo.lessons.church";
65
+ };
66
+ //NOTE: None of these values are secret.
67
+ static initStaging = () => {
68
+ CommonEnvironmentHelper.AttendanceApi = "https://api.staging.churchapps.org/attendance";
69
+ CommonEnvironmentHelper.DoingApi = "https://api.staging.churchapps.org/doing";
70
+ CommonEnvironmentHelper.GivingApi = "https://api.staging.churchapps.org/giving";
71
+ CommonEnvironmentHelper.MembershipApi = "https://api.staging.churchapps.org/membership";
72
+ CommonEnvironmentHelper.ReportingApi = "https://api.staging.churchapps.org/reporting";
73
+ CommonEnvironmentHelper.MessagingApi = "https://api.staging.churchapps.org/messaging";
74
+ CommonEnvironmentHelper.MessagingApiSocket = "wss://socket.staging.churchapps.org";
75
+ CommonEnvironmentHelper.ContentApi = "https://api.staging.churchapps.org/content";
76
+ CommonEnvironmentHelper.AskApi = "https://askapi.staging.churchapps.org";
77
+ CommonEnvironmentHelper.GoogleAnalyticsTag = "";
78
+ CommonEnvironmentHelper.ContentRoot = "https://content.staging.churchapps.org";
79
+ CommonEnvironmentHelper.B1Root = "https://{key}.staging.b1.church";
80
+ CommonEnvironmentHelper.ChumsRoot = "https://app.staging.chums.org";
81
+ CommonEnvironmentHelper.LessonsRoot = "https://staging.lessons.church";
82
+ };
83
+ //NOTE: None of these values are secret.
84
+ static initProd = () => {
85
+ CommonEnvironmentHelper.AttendanceApi = "https://api.churchapps.org/attendance";
86
+ CommonEnvironmentHelper.DoingApi = "https://api.churchapps.org/doing";
87
+ CommonEnvironmentHelper.GivingApi = "https://api.churchapps.org/giving";
88
+ CommonEnvironmentHelper.MembershipApi = "https://api.churchapps.org/membership";
89
+ CommonEnvironmentHelper.ReportingApi = "https://api.churchapps.org/reporting";
90
+ CommonEnvironmentHelper.MessagingApi = "https://api.churchapps.org/messaging";
91
+ CommonEnvironmentHelper.MessagingApiSocket = "wss://socket.churchapps.org";
92
+ CommonEnvironmentHelper.ContentApi = "https://api.churchapps.org/content";
93
+ CommonEnvironmentHelper.AskApi = "https://askapi.churchapps.org";
94
+ CommonEnvironmentHelper.ContentRoot = "https://content.churchapps.org";
95
+ CommonEnvironmentHelper.B1Root = "https://{key}.b1.church";
96
+ CommonEnvironmentHelper.ChumsRoot = "https://app.chums.org";
97
+ CommonEnvironmentHelper.LessonsRoot = "https://lessons.church";
98
+ };
99
+ }
100
+ //# sourceMappingURL=CommonEnvironmentHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonEnvironmentHelper.js","sourceRoot":"","sources":["../../src/CommonEnvironmentHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class CurrencyHelper {
2
+ static formatCurrency(amount: number): string;
3
+ }
4
+ //# sourceMappingURL=CurrencyHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrencyHelper.d.ts","sourceRoot":"","sources":["../../src/CurrencyHelper.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;CAQrC"}
@@ -0,0 +1,11 @@
1
+ export class CurrencyHelper {
2
+ static formatCurrency(amount) {
3
+ const formatter = new Intl.NumberFormat("en-US", {
4
+ style: "currency",
5
+ currency: "USD",
6
+ minimumFractionDigits: 2
7
+ });
8
+ return formatter.format(amount);
9
+ }
10
+ }
11
+ //# sourceMappingURL=CurrencyHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrencyHelper.js","sourceRoot":"","sources":["../../src/CurrencyHelper.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,cAAc,CAAC,MAAc;QAClC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC/C,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,KAAK;YACf,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ export declare class DateHelper {
2
+ static toDate(input: any): Date;
3
+ static toDateTime(input: any): Date;
4
+ static convertToDate(input: any): Date;
5
+ static addDays(date: Date, days: number): Date;
6
+ static prettyDate(date: Date): string;
7
+ static prettyDateTime(date: Date): string;
8
+ static prettyTime(date: Date): string;
9
+ static getLastSunday(): Date;
10
+ static getNextSunday(): Date;
11
+ static getWeekSunday(year: number, week: number): Date;
12
+ static formatHtml5Date(date: Date): string;
13
+ static formatHtml5Time(time: Date): string;
14
+ static formatHtml5DateTime(date: Date): string;
15
+ static getDisplayDuration(d: Date): string;
16
+ static getShortDate(d: Date): string;
17
+ static convertDatePickerFormat(d: Date): Date;
18
+ private static formatDateTime;
19
+ static toMysqlDate(d: Date): string;
20
+ static subtractHoursFromNow(hour: number): Date;
21
+ static toUTCDate(d: Date): string;
22
+ }
23
+ //# sourceMappingURL=DateHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateHelper.d.ts","sourceRoot":"","sources":["../../src/DateHelper.ts"],"names":[],"mappings":"AAeA,qBAAa,UAAU;IAGrB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG;IAIxB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG;IAK5B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG;IAI/B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;IAMvC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI;IAK5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI;IAKhC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI;IAK5B,MAAM,CAAC,aAAa;IAMpB,MAAM,CAAC,aAAa;IAMpB,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAO/C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAU1C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO1C,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO9C,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM;IAiB1C,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM;IAIpC,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI;IAM7C,OAAO,CAAC,MAAM,CAAC,cAAc;WAcf,WAAW,CAAC,CAAC,EAAE,IAAI;WAOnB,oBAAoB,CAAC,IAAI,EAAE,MAAM;WAKjC,SAAS,CAAC,CAAC,EAAE,IAAI;CAIhC"}
@@ -0,0 +1,141 @@
1
+ import dayjs from "dayjs";
2
+ // Use dynamic import for ES module compatibility with dayjs plugins
3
+ const loadPlugins = async () => {
4
+ const utc = await import("dayjs/plugin/utc");
5
+ const customParseFormat = await import("dayjs/plugin/customParseFormat");
6
+ dayjs.extend(utc.default || utc);
7
+ dayjs.extend(customParseFormat.default || customParseFormat);
8
+ };
9
+ // Initialize the plugins
10
+ loadPlugins().catch(() => {
11
+ console.warn("Could not load dayjs plugins");
12
+ });
13
+ export class DateHelper {
14
+ //Fixes timezone issues when you just need the date.
15
+ static toDate(input) {
16
+ return new Date(Date.parse(input.toString().replace("Z", "")));
17
+ }
18
+ static toDateTime(input) {
19
+ return new Date(Date.parse(input.toString()));
20
+ }
21
+ //obsolete. Do not use
22
+ static convertToDate(input) {
23
+ return this.toDateTime(input);
24
+ }
25
+ static addDays(date, days) {
26
+ const result = new Date(date.getTime());
27
+ result.setDate(result.getDate() + days);
28
+ return result;
29
+ }
30
+ static prettyDate(date) {
31
+ if (date === undefined || date === null)
32
+ return "";
33
+ return this.formatDateTime(date, "MMM d, yyyy");
34
+ }
35
+ static prettyDateTime(date) {
36
+ if (date === undefined || date === null)
37
+ return "";
38
+ return this.formatDateTime(date, "MMM d, yyyy h:mm a");
39
+ }
40
+ static prettyTime(date) {
41
+ if (date === undefined || date === null)
42
+ return "";
43
+ return this.formatDateTime(date, "h:mm a");
44
+ }
45
+ static getLastSunday() {
46
+ let result = new Date();
47
+ while (result.getDay() !== 0)
48
+ result.setDate(result.getDate() - 1);
49
+ return result;
50
+ }
51
+ static getNextSunday() {
52
+ let result = this.getLastSunday();
53
+ result.setDate(result.getDate() + 7);
54
+ return result;
55
+ }
56
+ static getWeekSunday(year, week) {
57
+ let result = new Date(year, 0, 1);
58
+ while (result.getDay() !== 0)
59
+ result.setDate(result.getDate() + 1);
60
+ result.setDate(result.getDate() + ((week - 1) * 7));
61
+ return result;
62
+ }
63
+ static formatHtml5Date(date) {
64
+ let result = "";
65
+ if (date !== undefined && date !== null) {
66
+ try {
67
+ result = new Date(date).toISOString().split("T")[0];
68
+ }
69
+ catch { }
70
+ }
71
+ return result;
72
+ }
73
+ static formatHtml5Time(time) {
74
+ let h = time.getHours();
75
+ let m = time.getMinutes();
76
+ let s = time.getSeconds();
77
+ return `${h < 10 ? ("0" + h) : h}:${m < 10 ? ("0" + m) : m}:${s < 10 ? ("0" + s) : s}`;
78
+ }
79
+ static formatHtml5DateTime(date) {
80
+ if (date === undefined || date === null)
81
+ return "";
82
+ else {
83
+ return this.formatDateTime(date, "yyyy-MM-dd") + "T" + this.formatDateTime(date, "HH:mm");
84
+ }
85
+ }
86
+ static getDisplayDuration(d) {
87
+ let seconds = Math.round((new Date().getTime() - d.getTime()) / 1000);
88
+ if (seconds > 86400) {
89
+ let days = Math.floor(seconds / 86400);
90
+ return (days === 1) ? "1d" : days.toString() + "d";
91
+ }
92
+ else if (seconds > 3600) {
93
+ let hours = Math.floor(seconds / 3600);
94
+ return (hours === 1) ? "1h" : hours.toString() + "h";
95
+ }
96
+ else if (seconds > 60) {
97
+ let minutes = Math.floor(seconds / 60);
98
+ return (minutes === 1) ? "1m" : minutes.toString() + "m";
99
+ }
100
+ else
101
+ return (seconds === 1) ? "1s" : Math.floor(seconds).toString() + "s";
102
+ }
103
+ static getShortDate(d) {
104
+ return (d.getMonth() + 1).toString() + "/" + (d.getDate()).toString() + "/" + d.getFullYear().toString();
105
+ }
106
+ static convertDatePickerFormat(d) {
107
+ const date = this.formatHtml5Date(d).split("-");
108
+ if (date.length === 3)
109
+ return new Date(`${date[1]}-${date[2]}-${date[0]}`);
110
+ return new Date();
111
+ }
112
+ static formatDateTime(date, format) {
113
+ try {
114
+ // Convert date-fns format to dayjs format
115
+ const dayjsFormat = format
116
+ .replace(/yyyy/g, 'YYYY')
117
+ .replace(/yy/g, 'YY')
118
+ .replace(/d/g, 'D')
119
+ .replace(/DD/g, 'DD')
120
+ .replace(/a/g, 'A');
121
+ return dayjs(date).format(dayjsFormat);
122
+ }
123
+ catch {
124
+ return "";
125
+ }
126
+ }
127
+ static toMysqlDate(d) {
128
+ if (d === null || d === undefined) {
129
+ return undefined;
130
+ }
131
+ return dayjs(d).format("YYYY-MM-DD HH:mm:ss");
132
+ }
133
+ static subtractHoursFromNow(hour) {
134
+ const now = new Date();
135
+ return new Date(now.setHours(now.getHours() - hour));
136
+ }
137
+ static toUTCDate(d) {
138
+ return dayjs(d).utc().format("YYYY-MM-DD HH:mm:ss");
139
+ }
140
+ }
141
+ //# sourceMappingURL=DateHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateHelper.js","sourceRoot":"","sources":["../../src/DateHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class DonationHelper {
2
+ static getInterval(intervalName: string): {
3
+ interval_count: number;
4
+ interval: string;
5
+ };
6
+ static getIntervalKeyName(intervalCount: number, intervalType: string): string;
7
+ }
8
+ //# sourceMappingURL=DonationHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DonationHelper.d.ts","sourceRoot":"","sources":["../../src/DonationHelper.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAEzB,MAAM,CAAC,WAAW,CAAC,YAAY,EAAC,MAAM;;;;IAgBtC,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAOtE"}