@churchapps/helpers 1.0.0 → 1.0.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.
package/README.md CHANGED
@@ -10,4 +10,6 @@ Library of helper functions not specific to any project or framework.
10
10
 
11
11
  ## To Publish
12
12
 
13
- 1. Run `npm publish --access=public`
13
+ 1. Update version number in package.json
14
+ 2. Run `npm run build`
15
+ 3. Run `npm publish --access=public`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@churchapps/helpers",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Library of helper functions not specific to any one ChurchApps project or framework.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -29,7 +29,9 @@
29
29
  "typescript": "^5.2.2"
30
30
  },
31
31
  "dependencies": {
32
+ "axios": "^1.5.0",
32
33
  "date-fns": "^2.30.0",
34
+ "dayjs": "^1.11.9",
33
35
  "react-ga4": "^2.1.0",
34
36
  "rrule": "^2.7.2"
35
37
  }
@@ -20,7 +20,7 @@ export class AppearanceHelper {
20
20
  return appearanceSettings?.favicon_16x16;
21
21
  }
22
22
 
23
- return;
23
+ return null;
24
24
  }
25
25
 
26
26
  public static getLogo(appearanceSettings: AppearanceInterface, defaultLogoLight: string, defaultLogoDark: string, backgroundColor: string) {
package/src/DateHelper.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { format as dateFormat } from "date-fns"
2
+ import dayjs from "dayjs"
2
3
 
3
4
  export class DateHelper {
4
5
 
@@ -105,4 +106,17 @@ export class DateHelper {
105
106
  return dateFormat(date, format);
106
107
  } catch { return ""; }
107
108
  }
109
+
110
+ public static toMysqlDate(d: Date) {
111
+ if (d === null || d === undefined) {
112
+ return undefined;
113
+ }
114
+ return dayjs(d).format("YYYY-MM-DD HH:mm:ss")
115
+ }
116
+
117
+ public static subtractHoursFromNow(hour: number) {
118
+ const now = new Date();
119
+ return new Date(now.setHours(now.getHours() - hour));
120
+ }
121
+
108
122
  }
@@ -1,4 +1,4 @@
1
- import { ErrorLogInterface, ErrrorAppDataInterface } from "../interfaces/Error";
1
+ import { ErrorLogInterface, ErrrorAppDataInterface } from "./interfaces/Error";
2
2
  import { ApiHelper } from "./ApiHelper";
3
3
 
4
4
 
@@ -1,4 +1,4 @@
1
- import { EventInterface } from "../interfaces";
1
+ import { EventInterface } from "./interfaces";
2
2
  import { RRule, datetime } from "rrule";
3
3
  import { ParsedOptions } from "rrule/dist/esm/types";
4
4
 
@@ -1,12 +0,0 @@
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 getDeepValue(item: any, propertyName: string): any;
11
- }
12
- //# sourceMappingURL=ArrayHelper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrayHelper.d.ts","sourceRoot":"","sources":["../src/ArrayHelper.ts"],"names":[],"mappings":"AAAA,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;IAYtB,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM;IAUzD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM;CASpD"}
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArrayHelper = void 0;
4
- class ArrayHelper {
5
- static getIds(array, propertyName) {
6
- const result = [];
7
- for (const item of array) {
8
- const id = item[propertyName]?.toString();
9
- if (id && result.indexOf(id) === -1)
10
- result.push(id);
11
- }
12
- return result;
13
- }
14
- static sortBy(array, propertyName, descending = false) {
15
- array.sort((a, b) => {
16
- const valA = a[propertyName];
17
- const valB = b[propertyName];
18
- if (valA < valB)
19
- return descending ? 1 : -1;
20
- else
21
- return descending ? -1 : 1;
22
- });
23
- }
24
- static getIndex(array, propertyName, value) {
25
- for (let i = 0; i < array.length; i++) {
26
- const item = array[i];
27
- if (ArrayHelper.compare(item, propertyName, value))
28
- return i;
29
- }
30
- return -1;
31
- }
32
- static getOne(array, propertyName, value) {
33
- for (const item of array || [])
34
- if (ArrayHelper.compare(item, propertyName, value))
35
- return item;
36
- return null;
37
- }
38
- static getAll(array, propertyName, value) {
39
- const result = [];
40
- for (const item of array || []) {
41
- if (ArrayHelper.compare(item, propertyName, value))
42
- result.push(item);
43
- }
44
- return result;
45
- }
46
- static getAllArray(array, propertyName, values) {
47
- const result = [];
48
- for (const item of array || [])
49
- if (values.indexOf(item[propertyName]) > -1)
50
- result.push(item);
51
- return result;
52
- }
53
- static compare(item, propertyName, value) {
54
- const propChain = propertyName.split(".");
55
- if (propChain.length === 1)
56
- return item[propertyName] === value;
57
- else {
58
- let obj = item;
59
- for (let i = 0; i < propChain.length - 1; i++) {
60
- if (obj)
61
- obj = item[propChain[i]];
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 getDeepValue(item, propertyName) {
76
- const propertyNames = propertyName.split(".");
77
- let result = item;
78
- propertyNames.forEach(name => {
79
- result = result[name];
80
- });
81
- return result;
82
- }
83
- }
84
- exports.ArrayHelper = ArrayHelper;
85
- //# sourceMappingURL=ArrayHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrayHelper.js","sourceRoot":"","sources":["../src/ArrayHelper.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { ArrayHelper } from "./ArrayHelper";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA"}
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArrayHelper = void 0;
4
- var ArrayHelper_1 = require("./ArrayHelper");
5
- Object.defineProperty(exports, "ArrayHelper", { enumerable: true, get: function () { return ArrayHelper_1.ArrayHelper; } });
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,0GAAA,WAAW,OAAA"}