danholibraryjs 1.11.0 → 2.0.1
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 +0 -1
- package/_package.github-release.json +6 -0
- package/_package.npm-release.json +6 -0
- package/dist/Classes/DanhoLogger.d.ts +23 -0
- package/dist/Classes/DanhoLogger.js +65 -0
- package/dist/Classes/Events/Event.d.ts +66 -66
- package/dist/Classes/Events/Event.js +114 -114
- package/dist/Classes/Events/EventCollection.d.ts +57 -57
- package/dist/Classes/Events/EventCollection.js +109 -109
- package/dist/Classes/Events/EventEmitter.d.ts +74 -74
- package/dist/Classes/Events/EventEmitter.js +97 -97
- package/dist/Classes/Events/index.d.ts +3 -3
- package/dist/Classes/Events/index.js +19 -19
- package/dist/Classes/Time/Date.d.ts +148 -147
- package/dist/Classes/Time/Date.js +241 -238
- package/dist/Classes/Time/Time.d.ts +66 -65
- package/dist/Classes/Time/Time.js +120 -117
- package/dist/Classes/Time/TimeProperties.d.ts +3 -3
- package/dist/Classes/Time/TimeProperties.js +2 -2
- package/dist/Classes/Time/TimeSpan.d.ts +123 -123
- package/dist/Classes/Time/TimeSpan.js +179 -179
- package/dist/Classes/Time/index.d.ts +4 -4
- package/dist/Classes/Time/index.js +20 -20
- package/dist/Classes/index.d.ts +4 -3
- package/dist/Classes/index.js +20 -19
- package/dist/Classes/store.d.ts +75 -75
- package/dist/Classes/store.js +84 -84
- package/dist/Extensions/Array/array.extension.d.ts +42 -0
- package/dist/Extensions/Array/array.extension.js +57 -0
- package/dist/Extensions/Array/crud.extension.d.ts +24 -0
- package/dist/Extensions/Array/crud.extension.js +28 -0
- package/dist/Extensions/Array/index.d.ts +6 -0
- package/dist/Extensions/Array/index.js +22 -0
- package/dist/Extensions/Array/loop.extension.d.ts +18 -0
- package/dist/Extensions/Array/loop.extension.js +23 -0
- package/dist/Extensions/Array/random.extension.d.ts +23 -0
- package/dist/Extensions/Array/random.extension.js +35 -0
- package/dist/Extensions/Array/sort.extension.d.ts +27 -0
- package/dist/Extensions/Array/sort.extension.js +31 -0
- package/dist/Extensions/Array/string.extension.d.ts +13 -0
- package/dist/Extensions/Array/string.extension.js +14 -0
- package/dist/Extensions/Function.d.ts +29 -14
- package/dist/Extensions/Function.js +23 -10
- package/dist/Extensions/Map.d.ts +54 -54
- package/dist/Extensions/Map.js +42 -42
- package/dist/Extensions/Number.d.ts +13 -0
- package/dist/Extensions/Number.js +40 -0
- package/dist/Extensions/Object/arrays.extension.d.ts +17 -0
- package/dist/Extensions/Object/arrays.extension.js +13 -0
- package/dist/Extensions/Object/booleans.extension.d.ts +18 -0
- package/dist/Extensions/Object/booleans.extension.js +37 -0
- package/dist/Extensions/Object/extracts.extension.d.ts +38 -0
- package/dist/Extensions/Object/extracts.extension.js +72 -0
- package/dist/Extensions/Object/index.d.ts +4 -49
- package/dist/Extensions/Object/index.js +20 -38
- package/dist/Extensions/Object/properties.d.ts +28 -28
- package/dist/Extensions/Object/properties.extension.d.ts +33 -0
- package/dist/Extensions/Object/properties.extension.js +21 -0
- package/dist/Extensions/Object/properties.js +20 -20
- package/dist/Extensions/String/case.extension.d.ts +12 -0
- package/dist/Extensions/String/case.extension.js +55 -0
- package/dist/Extensions/String/index.d.ts +1 -0
- package/dist/{Functions → Extensions/String}/index.js +17 -21
- package/dist/Extensions/index.d.ts +6 -17
- package/dist/Extensions/index.js +22 -30
- package/dist/Interfaces/ElementOptions.d.ts +15 -15
- package/dist/Interfaces/ElementOptions.js +2 -2
- package/dist/Interfaces/IReplacement.d.ts +12 -12
- package/dist/Interfaces/IReplacement.js +2 -2
- package/dist/Interfaces/index.d.ts +2 -2
- package/dist/Interfaces/index.js +18 -18
- package/dist/Types/Able.d.ts +16 -0
- package/dist/Types/Able.js +2 -0
- package/dist/Types/Array.d.ts +6 -0
- package/dist/Types/Array.js +2 -0
- package/dist/Types/BetterTypes.d.ts +9 -9
- package/dist/Types/BetterTypes.js +2 -2
- package/dist/Types/C#.d.ts +8 -0
- package/dist/Types/C#.js +2 -0
- package/dist/Types/Date.d.ts +6 -6
- package/dist/Types/Date.js +2 -2
- package/dist/Types/Events.d.ts +10 -10
- package/dist/Types/Events.js +2 -2
- package/dist/Types/Function.d.ts +5 -0
- package/dist/Types/Function.js +2 -0
- package/dist/Types/Object.d.ts +4 -0
- package/dist/Types/Object.js +2 -0
- package/dist/Types/PropertiesWith.d.ts +34 -13
- package/dist/Types/PropertiesWith.js +2 -2
- package/dist/Types/String.d.ts +1 -0
- package/dist/Types/String.js +2 -0
- package/dist/Types/TransformTypes.d.ts +22 -16
- package/dist/Types/TransformTypes.js +2 -2
- package/dist/Types/index.d.ts +24 -65
- package/dist/Types/index.js +27 -21
- package/dist/Utils/{ApiUtil → ApiUtils}/ApiTypes.d.ts +15 -15
- package/dist/Utils/{ApiUtil → ApiUtils}/ApiTypes.js +15 -15
- package/dist/Utils/{ApiUtil → ApiUtils}/RequestUtil.d.ts +19 -19
- package/dist/Utils/{ApiUtil → ApiUtils}/RequestUtil.js +73 -73
- package/dist/Utils/{ApiUtil → ApiUtils}/index.d.ts +20 -20
- package/dist/Utils/{ApiUtil → ApiUtils}/index.js +33 -33
- package/dist/Utils/ColorUtils.d.ts +11 -0
- package/dist/Utils/ColorUtils.js +93 -0
- package/dist/Utils/{FormUtil.d.ts → FormUtils.d.ts} +6 -6
- package/dist/Utils/{FormUtil.js → FormUtils.js} +35 -35
- package/dist/Utils/NumberUtils.d.ts +1 -0
- package/dist/Utils/NumberUtils.js +7 -0
- package/dist/Utils/PatcherUtils.d.ts +6 -0
- package/dist/Utils/PatcherUtils.js +80 -0
- package/dist/Utils/StringUtils.d.ts +3 -0
- package/dist/Utils/StringUtils.js +47 -0
- package/dist/Utils/TimeUtils/debounce.util.d.ts +22 -0
- package/dist/Utils/TimeUtils/debounce.util.js +78 -0
- package/dist/Utils/TimeUtils/functions.util.d.ts +4 -0
- package/dist/Utils/TimeUtils/functions.util.js +21 -0
- package/dist/Utils/TimeUtils/index.d.ts +15 -0
- package/dist/Utils/TimeUtils/index.js +34 -0
- package/dist/Utils/TimeUtils/throttle.util.d.ts +15 -0
- package/dist/Utils/TimeUtils/throttle.util.js +43 -0
- package/dist/Utils/index.d.ts +7 -2
- package/dist/Utils/index.js +23 -18
- package/dist/index.d.ts +4 -5
- package/dist/index.js +20 -21
- package/docs/Classes.md +78 -3
- package/docs/Extensions.md +219 -78
- package/docs/Types.md +202 -58
- package/docs/index.md +0 -1
- package/package.json +4 -2
- package/src/Classes/DanhoLogger.ts +78 -0
- package/src/Classes/Events/Event.ts +96 -96
- package/src/Classes/Events/EventCollection.ts +90 -90
- package/src/Classes/Events/EventEmitter.ts +68 -68
- package/src/Classes/Time/Date.ts +219 -216
- package/src/Classes/Time/Time.ts +109 -104
- package/src/Classes/Time/TimeSpan.ts +171 -171
- package/src/Classes/index.ts +1 -0
- package/src/Classes/store.ts +22 -22
- package/src/Extensions/Array/array.extension.ts +103 -0
- package/src/Extensions/Array/crud.extension.ts +46 -0
- package/src/Extensions/Array/index.ts +6 -0
- package/src/Extensions/Array/loop.extension.ts +38 -0
- package/src/Extensions/Array/random.extension.ts +56 -0
- package/src/Extensions/Array/sort.extension.ts +52 -0
- package/src/Extensions/Array/string.extension.ts +22 -0
- package/src/Extensions/Function.ts +37 -10
- package/src/Extensions/Map.ts +56 -56
- package/src/Extensions/Number.ts +50 -0
- package/src/Extensions/Object/arrays.extension.ts +27 -0
- package/src/Extensions/Object/booleans.extension.ts +46 -0
- package/src/Extensions/Object/extracts.extension.ts +102 -0
- package/src/Extensions/Object/index.ts +4 -82
- package/src/Extensions/Object/properties.extension.ts +59 -0
- package/src/Extensions/Object/properties.ts +36 -36
- package/src/Extensions/String/case.extension.ts +95 -0
- package/src/Extensions/String/index.ts +1 -0
- package/src/Extensions/index.ts +3 -21
- package/src/Interfaces/ElementOptions.ts +7 -7
- package/src/Interfaces/IReplacement.ts +2 -2
- package/src/Types/Able.ts +22 -0
- package/src/Types/Array.ts +7 -0
- package/src/Types/C#.ts +9 -0
- package/src/Types/Date.ts +1 -1
- package/src/Types/Events.ts +12 -12
- package/src/Types/Function.ts +10 -0
- package/src/Types/Object.ts +4 -0
- package/src/Types/PropertiesWith.ts +35 -4
- package/src/Types/String.ts +1 -0
- package/src/Types/TransformTypes.ts +21 -13
- package/src/Types/index.ts +7 -69
- package/src/Utils/{ApiUtil → ApiUtils}/ApiTypes.ts +2 -1
- package/src/Utils/{ApiUtil → ApiUtils}/index.ts +1 -1
- package/src/Utils/ColorUtils.ts +102 -0
- package/src/Utils/{FormUtil.ts → FormUtils.ts} +2 -2
- package/src/Utils/NumberUtils.ts +3 -0
- package/src/Utils/PatcherUtils.ts +111 -0
- package/src/Utils/StringUtils.ts +44 -0
- package/src/Utils/TimeUtils/debounce.util.ts +85 -0
- package/src/Utils/TimeUtils/functions.util.ts +18 -0
- package/src/Utils/TimeUtils/index.ts +9 -0
- package/src/Utils/TimeUtils/throttle.util.ts +44 -0
- package/src/Utils/index.ts +8 -2
- package/src/index.ts +0 -1
- package/dist/Extensions/Array.d.ts +0 -52
- package/dist/Extensions/Array.js +0 -51
- package/dist/Extensions/Document.d.ts +0 -27
- package/dist/Extensions/Document.js +0 -32
- package/dist/Extensions/String.d.ts +0 -36
- package/dist/Extensions/String.js +0 -25
- package/dist/Functions/CopyToClipboard.d.ts +0 -7
- package/dist/Functions/CopyToClipboard.js +0 -15
- package/dist/Functions/GetCSSProperty.d.ts +0 -15
- package/dist/Functions/GetCSSProperty.js +0 -26
- package/dist/Functions/GetNestedProperty.d.ts +0 -9
- package/dist/Functions/GetNestedProperty.js +0 -23
- package/dist/Functions/HTMLEvent.d.ts +0 -11
- package/dist/Functions/HTMLEvent.js +0 -14
- package/dist/Functions/SetNavigationSelected.d.ts +0 -9
- package/dist/Functions/SetNavigationSelected.js +0 -25
- package/dist/Functions/index.d.ts +0 -5
- package/docs/Functions.md +0 -61
- package/src/Extensions/Array.ts +0 -95
- package/src/Extensions/Document.ts +0 -58
- package/src/Extensions/String.ts +0 -54
- package/src/Functions/CopyToClipboard.ts +0 -10
- package/src/Functions/GetCSSProperty.ts +0 -27
- package/src/Functions/GetNestedProperty.ts +0 -29
- package/src/Functions/HTMLEvent.ts +0 -13
- package/src/Functions/SetNavigationSelected.ts +0 -19
- package/src/Functions/index.ts +0 -5
- /package/src/Utils/{ApiUtil → ApiUtils}/RequestUtil.ts +0 -0
package/src/Extensions/String.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import IReplacement from "../Interfaces/IReplacement";
|
|
2
|
-
|
|
3
|
-
declare global {
|
|
4
|
-
interface String {
|
|
5
|
-
/**
|
|
6
|
-
* Uppercases first letter of string
|
|
7
|
-
*/
|
|
8
|
-
toPascalCase(): string
|
|
9
|
-
/**
|
|
10
|
-
* Replaces "replacer" (default: ' ') with "replacement" (default: '_')
|
|
11
|
-
* @param replaceOptions This is practically your stereotypical String.replace, if you really want it to be
|
|
12
|
-
*/
|
|
13
|
-
toSnakeCase(replaceOptions?: IReplacement): string
|
|
14
|
-
/**
|
|
15
|
-
* Replaces "replacer" (default: ' ') with "replacement" (default: '-')
|
|
16
|
-
* @param replaceOptions This is practically your stereotypical String.replace, if you really want it to be
|
|
17
|
-
*/
|
|
18
|
-
toKebabCase(replaceOptions?: IReplacement): string,
|
|
19
|
-
/**
|
|
20
|
-
* String.substring but accepting negative numbers to cut from length
|
|
21
|
-
* @param start Start of string. 0 indexed, if negative number, subtracts number from length
|
|
22
|
-
* @param end End of string. 0 indexed, if negative number, substracts number from length
|
|
23
|
-
*/
|
|
24
|
-
clip(start: number, end?: number): string
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function toPascalCase(this: string) {
|
|
29
|
-
return this.substring(0, 1).toUpperCase() + this.substring(1);
|
|
30
|
-
}
|
|
31
|
-
String.prototype.toPascalCase = toPascalCase;
|
|
32
|
-
|
|
33
|
-
function spaceReplacer(self: string, replacer: string | RegExp, replacement: string) {
|
|
34
|
-
return self.replace(new RegExp(`${typeof replacer == 'string' ? replacer : replacer.source}+`), replacement);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function toSnakeCase(this: string, replaceOptions: IReplacement) {
|
|
38
|
-
return spaceReplacer(this, replaceOptions.replacer || ' ', replaceOptions.replacement || '_')
|
|
39
|
-
}
|
|
40
|
-
String.prototype.toSnakeCase = toSnakeCase;
|
|
41
|
-
|
|
42
|
-
function toKebabCase(this: string, replaceOptions: IReplacement) {
|
|
43
|
-
return spaceReplacer(this, replaceOptions.replacer || ' ', replaceOptions.replacement || '-');
|
|
44
|
-
}
|
|
45
|
-
String.prototype.toKebabCase = toKebabCase;
|
|
46
|
-
|
|
47
|
-
function clip(this: string, start: number, end?: number) {
|
|
48
|
-
return this.substring(start < 0 ? this.length - start : start, end && end < 0 ? this.length + end : end);
|
|
49
|
-
}
|
|
50
|
-
String.prototype.clip = clip;
|
|
51
|
-
|
|
52
|
-
export const StringExtensions = {
|
|
53
|
-
toPascalCase, toSnakeCase, toKebabCase, clip
|
|
54
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copies value to clipboard and alerts a response, if response is defined
|
|
3
|
-
* @param value Value to clipboard
|
|
4
|
-
* @param response Alerts if response is given
|
|
5
|
-
*/
|
|
6
|
-
export async function CopyToClipboard(value: string, response?: string) {
|
|
7
|
-
await navigator.clipboard.writeText(value);
|
|
8
|
-
if (response) alert(response);
|
|
9
|
-
}
|
|
10
|
-
export default CopyToClipboard;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
type CSSReturnTypes = {
|
|
2
|
-
string: string,
|
|
3
|
-
number: number
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Gets the value of "property" in type "type" from query "query"
|
|
8
|
-
* Basically, you can get your --color-primary from :root
|
|
9
|
-
*
|
|
10
|
-
* @param property Name of the property to get
|
|
11
|
-
* @param type Type of the property to parse
|
|
12
|
-
* @param query Query to get the element that has the property
|
|
13
|
-
* @returns Property value converted to type
|
|
14
|
-
*/
|
|
15
|
-
export function GetCSSProperty<Type extends keyof CSSReturnTypes>(property: string, type: Type, query = ":root"): CSSReturnTypes[Type] {
|
|
16
|
-
const rootEl = document.querySelector(query);
|
|
17
|
-
if (!rootEl) throw new Error(`${query} does not exist!`);
|
|
18
|
-
|
|
19
|
-
const rootStyles = getComputedStyle(rootEl);
|
|
20
|
-
const cssProp = rootStyles.getPropertyValue(property);
|
|
21
|
-
if (type === 'string') return cssProp as CSSReturnTypes[Type];
|
|
22
|
-
|
|
23
|
-
const numberValue = parseInt(cssProp);
|
|
24
|
-
if (isNaN(numberValue)) throw new Error(`${property} is not a number!: ${cssProp}`);
|
|
25
|
-
return numberValue as CSSReturnTypes[Type];
|
|
26
|
-
}
|
|
27
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export type GetNestedProperty<Parent, Key extends string> =
|
|
2
|
-
Key extends keyof Parent
|
|
3
|
-
? Parent[Key]
|
|
4
|
-
: Key extends `${infer K}.${infer Rest}`
|
|
5
|
-
? K extends keyof Parent
|
|
6
|
-
? GetNestedProperty<Parent[K], Rest>
|
|
7
|
-
: never
|
|
8
|
-
: never;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Gets a nested property from an object
|
|
12
|
-
* @param parent Parent object to search
|
|
13
|
-
* @param key Key to search for. Can be nested with dot notation
|
|
14
|
-
* @returns Value of key or null if not found
|
|
15
|
-
*/
|
|
16
|
-
export function GetNestedProperty<Parent extends object, Key extends string>(parent: Parent, key: Key): GetNestedProperty<Parent, Key> | null {
|
|
17
|
-
if (key in parent) return parent[key as any as keyof Parent] as any;
|
|
18
|
-
|
|
19
|
-
for (const prop in parent) {
|
|
20
|
-
if (typeof parent[prop] === 'object') {
|
|
21
|
-
const result = GetNestedProperty((parent as any)[prop], key);
|
|
22
|
-
if (result) return result as any;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export default GetNestedProperty;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create HTMLEvent object from function
|
|
3
|
-
* @param name Name of the event
|
|
4
|
-
* @param handler Handler for the event
|
|
5
|
-
* @returns Parameters as object
|
|
6
|
-
*/
|
|
7
|
-
export function HTMLEvent<
|
|
8
|
-
Event extends keyof HTMLElementEventMap,
|
|
9
|
-
ReturnType extends any
|
|
10
|
-
>(name: Event, handler: (event: HTMLElementEventMap[Event]) => ReturnType) {
|
|
11
|
-
return { name, handler };
|
|
12
|
-
}
|
|
13
|
-
export default HTMLEvent;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Appends classes to header's "a" elements, when navigation to "a"'s page is selected
|
|
3
|
-
* @param query The query selector for Document.querySelector
|
|
4
|
-
* @param currentPageClasses Class(es) to append header's "a" elements
|
|
5
|
-
*
|
|
6
|
-
* @borrows Document.querySelector
|
|
7
|
-
*/
|
|
8
|
-
export function SetNavigationSelected(query: string, ...currentPageClasses: string[]) {
|
|
9
|
-
const header = document.querySelector(query);
|
|
10
|
-
if (!header) throw { message: `Couldn't find header from query, ${query}` }
|
|
11
|
-
const children = header.children.array().filter(c => c.tagName === 'a') as HTMLAnchorElement[];
|
|
12
|
-
const currentPage = document.location.href;
|
|
13
|
-
|
|
14
|
-
children.forEach(gc => {
|
|
15
|
-
if (gc.href != currentPage) gc.classList.remove(...currentPageClasses);
|
|
16
|
-
else gc.classList.add(...currentPageClasses);
|
|
17
|
-
})
|
|
18
|
-
}
|
|
19
|
-
export default SetNavigationSelected;
|
package/src/Functions/index.ts
DELETED
|
File without changes
|