@hkdigital/lib-sveltekit 0.1.5 → 0.1.6
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 +127 -127
- package/dist/classes/data/IterableTree.js +243 -243
- package/dist/classes/data/Selector.js +190 -190
- package/dist/classes/data/index.js +2 -2
- package/dist/classes/index.js +3 -3
- package/dist/classes/promise/HkPromise.js +377 -377
- package/dist/classes/promise/index.js +1 -1
- package/dist/classes/stores/SubscribersCount.js +107 -107
- package/dist/classes/stores/index.js +1 -1
- package/dist/classes/streams/LogTransformStream.js +19 -19
- package/dist/classes/streams/ServerEventsStore.js +110 -110
- package/dist/classes/streams/TimeStampSource.js +26 -26
- package/dist/classes/streams/index.js +3 -3
- package/dist/classes/svelte/audio/AudioLoader.svelte.js +58 -58
- package/dist/classes/svelte/audio/AudioScene.svelte.js +282 -282
- package/dist/classes/svelte/audio/mocks.js +35 -35
- package/dist/classes/svelte/final-state-machine/FiniteStateMachine.svelte.js +133 -133
- package/dist/classes/svelte/final-state-machine/index.js +1 -1
- package/dist/classes/svelte/image/ImageLoader.svelte.js +47 -47
- package/dist/classes/svelte/image/ImageScene.svelte.js +253 -253
- package/dist/classes/svelte/image/ImageVariantsLoader.svelte.js +152 -152
- package/dist/classes/svelte/image/index.js +4 -4
- package/dist/classes/svelte/image/mocks.js +35 -35
- package/dist/classes/svelte/image/typedef.js +8 -8
- package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
- package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
- package/dist/classes/svelte/loading-state-machine/index.js +3 -3
- package/dist/classes/svelte/network-loader/NetworkLoader.svelte.js +331 -331
- package/dist/classes/svelte/network-loader/constants.js +3 -3
- package/dist/classes/svelte/network-loader/index.js +3 -3
- package/dist/classes/svelte/network-loader/mocks.js +30 -30
- package/dist/classes/svelte/network-loader/typedef.js +8 -8
- package/dist/components/area/HkArea.svelte +49 -49
- package/dist/components/area/HkArea.svelte.d.ts +0 -14
- package/dist/components/area/HkGridArea.svelte +77 -77
- package/dist/components/area/HkGridArea.svelte.d.ts +0 -22
- package/dist/components/area/index.js +2 -2
- package/dist/components/boxes/game-box/GameBox.svelte +112 -112
- package/dist/components/boxes/game-box/GameBox.svelte.d.ts +0 -15
- package/dist/components/boxes/game-box/gamebox.util.js +83 -83
- package/dist/components/boxes/index.js +2 -2
- package/dist/components/boxes/virtual-viewport/VirtualViewport.svelte +199 -199
- package/dist/components/boxes/virtual-viewport/VirtualViewport.svelte.d.ts +0 -22
- package/dist/components/buttons/button/Button.svelte +75 -75
- package/dist/components/buttons/button/Button.svelte.d.ts +0 -21
- package/dist/components/buttons/button-text/TextButton.svelte +21 -21
- package/dist/components/buttons/button-text/TextButton.svelte.d.ts +0 -7
- package/dist/components/buttons/index.js +2 -2
- package/dist/components/hkdev/blocks/TextBlock.svelte +46 -46
- package/dist/components/hkdev/blocks/TextBlock.svelte.d.ts +0 -13
- package/dist/components/hkdev/buttons/CheckButton.svelte +62 -62
- package/dist/components/hkdev/buttons/CheckButton.svelte.d.ts +0 -18
- package/dist/components/icon/HkIcon.svelte +86 -86
- package/dist/components/icon/HkIcon.svelte.d.ts +0 -12
- package/dist/components/icon/HkTabIcon.svelte +116 -116
- package/dist/components/icon/HkTabIcon.svelte.d.ts +0 -21
- package/dist/components/icon/index.js +4 -4
- package/dist/components/icon/typedef.js +16 -16
- package/dist/components/image/ImageBox.svelte +208 -208
- package/dist/components/image/ImageBox.svelte.d.ts +0 -19
- package/dist/components/image/index.js +5 -5
- package/dist/components/image/typedef.js +32 -32
- package/dist/components/index.js +2 -2
- package/dist/components/inputs/index.js +1 -1
- package/dist/components/inputs/text-input/TestTextInput.svelte__ +102 -102
- package/dist/components/inputs/text-input/TextInput.svelte +226 -226
- package/dist/components/inputs/text-input/TextInput.svelte.d.ts +0 -28
- package/dist/components/inputs/text-input/TextInput.svelte___ +83 -83
- package/dist/components/inputs/text-input/assets/IconInvalid.svelte +14 -14
- package/dist/components/inputs/text-input/assets/IconValid.svelte +12 -12
- package/dist/components/layout/HkAppLayout.state.svelte.js +25 -25
- package/dist/components/layout/HkAppLayout.svelte +251 -251
- package/dist/components/layout/HkAppLayout.svelte.d.ts +0 -11
- package/dist/components/layout/HkGridLayers.svelte +82 -82
- package/dist/components/layout/HkGridLayers.svelte.d.ts +0 -23
- package/dist/components/layout/index.js +9 -9
- package/dist/components/panels/index.js +1 -1
- package/dist/components/panels/plain-panel/PlainPanel.svelte +33 -33
- package/dist/components/panels/plain-panel/PlainPanel.svelte.d.ts +0 -12
- package/dist/components/rows/index.js +3 -3
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -104
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte.d.ts +0 -14
- package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -40
- package/dist/components/rows/panel-row-2/PanelRow2.svelte.d.ts +0 -14
- package/dist/components/tab-bar/HkTabBar.state.svelte.js +149 -149
- package/dist/components/tab-bar/HkTabBar.svelte +74 -74
- package/dist/components/tab-bar/HkTabBar.svelte.d.ts +0 -18
- package/dist/components/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
- package/dist/components/tab-bar/HkTabBarSelector.svelte +49 -49
- package/dist/components/tab-bar/HkTabBarSelector.svelte.d.ts +0 -19
- package/dist/components/tab-bar/index.js +17 -17
- package/dist/components/tab-bar/typedef.js +8 -8
- package/dist/components/widgets/compare-left-right/CompareLeftRight.svelte +179 -179
- package/dist/components/widgets/compare-left-right/CompareLeftRight.svelte.d.ts +0 -10
- package/dist/components/widgets/compare-left-right/index.js +1 -1
- package/dist/components/widgets/scale-control/index.js +1 -1
- package/dist/config/imagetools-config.js +189 -189
- package/dist/config/imagetools.d.ts +71 -71
- package/dist/config/typedef.js +8 -8
- package/dist/constants/errors/api.js +9 -9
- package/dist/constants/errors/generic.js +5 -5
- package/dist/constants/errors/index.js +3 -3
- package/dist/constants/errors/jwt.js +5 -5
- package/dist/constants/http/headers.js +6 -6
- package/dist/constants/http/index.js +2 -2
- package/dist/constants/http/methods.js +2 -2
- package/dist/constants/index.js +3 -3
- package/dist/constants/mime/application.js +5 -5
- package/dist/constants/mime/audio.js +13 -13
- package/dist/constants/mime/image.js +3 -3
- package/dist/constants/mime/index.js +4 -4
- package/dist/constants/mime/text.js +2 -2
- package/dist/constants/regexp/index.js +31 -31
- package/dist/constants/regexp/inspiratie.js__ +95 -95
- package/dist/constants/regexp/text.js +49 -49
- package/dist/constants/regexp/user.js +32 -32
- package/dist/constants/regexp/web.js +3 -3
- package/dist/constants/state-labels/input-states.js +11 -11
- package/dist/constants/state-labels/submit-states.js +4 -4
- package/dist/constants/time.js +28 -28
- package/dist/css/tw-prose.postcss__ +259 -259
- package/dist/css/utilities.postcss +43 -43
- package/dist/design/design-config.js +73 -73
- package/dist/design/tailwind-theme-extend.d.ts +4 -4
- package/dist/design/tailwind-theme-extend.js +151 -151
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/validate-url.js +180 -180
- package/dist/server/index.js +1 -1
- package/dist/server/logger.js +94 -94
- package/dist/states/index.js +1 -1
- package/dist/states/navigation.svelte.js +55 -55
- package/dist/stores/index.js +1 -1
- package/dist/stores/theme.js +80 -80
- package/dist/themes/hkdev/components/blocks/text-block.postcss +40 -40
- package/dist/themes/hkdev/components/boxes/game-box.postcss +13 -13
- package/dist/themes/hkdev/components/buttons/button-text.postcss +34 -34
- package/dist/themes/hkdev/components/buttons/button.postcss +138 -138
- package/dist/themes/hkdev/components/buttons/skip-button.postcss +8 -8
- package/dist/themes/hkdev/components/inputs/text-input.postcss +108 -108
- package/dist/themes/hkdev/components/panels/plain-panel.postcss +46 -46
- package/dist/themes/hkdev/components/panels/speech-bubble.postcss +52 -52
- package/dist/themes/hkdev/components/rows/panel-grid-row.postcss +7 -7
- package/dist/themes/hkdev/components/rows/panel-row-2.postcss +9 -9
- package/dist/themes/hkdev/components.postcss +55 -55
- package/dist/themes/hkdev/debug.postcss +1 -1
- package/dist/themes/hkdev/global/layout.postcss +39 -39
- package/dist/themes/hkdev/global/on-colors.postcss +53 -53
- package/dist/themes/hkdev/global/text.postcss__ +34 -34
- package/dist/themes/hkdev/global/vars.postcss__ +7 -7
- package/dist/themes/hkdev/globals.postcss +11 -11
- package/dist/themes/hkdev/responsive.postcss +12 -12
- package/dist/themes/hkdev/theme-ext.js +15 -15
- package/dist/themes/hkdev/theme.js +227 -227
- package/dist/themes/index.js +1 -1
- package/dist/util/array/index.js +455 -455
- package/dist/util/compare/index.js +247 -247
- package/dist/util/css/css-vars.js +83 -83
- package/dist/util/css/index.js +1 -1
- package/dist/util/design-system/components/states.js +22 -22
- package/dist/util/design-system/css/clamp.d.ts +2 -2
- package/dist/util/design-system/css/clamp.js +66 -66
- package/dist/util/design-system/css/root-design-vars.js +100 -100
- package/dist/util/design-system/index.js +5 -5
- package/dist/util/design-system/layout/scaling.js +97 -97
- package/dist/util/design-system/tailwind.js +289 -289
- package/dist/util/expect/arrays.js +47 -47
- package/dist/util/expect/index.js +259 -259
- package/dist/util/expect/primitives.js +55 -55
- package/dist/util/expect/url.js +60 -60
- package/dist/util/function/index.js +218 -218
- package/dist/util/http/errors.js +97 -97
- package/dist/util/http/headers.js +45 -45
- package/dist/util/http/http-request.js +273 -273
- package/dist/util/http/index.js +22 -22
- package/dist/util/http/json-request.js +143 -143
- package/dist/util/http/mocks.js +65 -65
- package/dist/util/http/response.js +228 -228
- package/dist/util/http/url.js +52 -52
- package/dist/util/image/index.js +86 -86
- package/dist/util/index.js +2 -2
- package/dist/util/is/index.js +140 -140
- package/dist/util/iterate/index.js +234 -234
- package/dist/util/object/index.js +1361 -1361
- package/dist/util/singleton/index.js +97 -97
- package/dist/util/string/index.js +184 -184
- package/dist/util/svelte/index.js +2 -2
- package/dist/util/svelte/observe/index.js +49 -49
- package/dist/util/svelte/state-context/index.js +83 -83
- package/dist/util/svelte/wait/index.js +38 -38
- package/dist/util/sveltekit/index.js +1 -1
- package/dist/util/sveltekit/route-folders/index.js +82 -82
- package/dist/util/time/index.js +339 -339
- package/dist/valibot/date.js__ +10 -10
- package/dist/valibot/index.js +9 -9
- package/dist/valibot/url.js +95 -95
- package/dist/valibot/user.js +23 -23
- package/dist/zod/all.js +33 -33
- package/dist/zod/generic.js +11 -11
- package/dist/zod/javascript.js +32 -32
- package/dist/zod/user.js +16 -16
- package/dist/zod/web.js +52 -52
- package/package.json +99 -99
- package/dist/themes/hkdev/components/buttons/button.postcss__ +0 -40
- package/dist/themes/hkdev/components/buttons/button.postcss___ +0 -91
package/dist/valibot/date.js__
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
// > Imports
|
2
|
-
|
3
|
-
import * as v from 'valibot';
|
4
|
-
|
5
|
-
// > Exports
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Schema to validate a Date or ISO timestamp.
|
9
|
-
*/
|
10
|
-
export const DateOrIsoTimeStamp = v.union([v.date(), v.pipe(v.string(), v.isoTimestamp())]);
|
1
|
+
// > Imports
|
2
|
+
|
3
|
+
import * as v from 'valibot';
|
4
|
+
|
5
|
+
// > Exports
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Schema to validate a Date or ISO timestamp.
|
9
|
+
*/
|
10
|
+
export const DateOrIsoTimeStamp = v.union([v.date(), v.pipe(v.string(), v.isoTimestamp())]);
|
package/dist/valibot/index.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import * as v from 'valibot';
|
2
|
-
|
3
|
-
// export * from './date.js';
|
4
|
-
|
5
|
-
export * from './user.js';
|
6
|
-
|
7
|
-
export * from './url.js';
|
8
|
-
|
9
|
-
export default v;
|
1
|
+
import * as v from 'valibot';
|
2
|
+
|
3
|
+
// export * from './date.js';
|
4
|
+
|
5
|
+
export * from './user.js';
|
6
|
+
|
7
|
+
export * from './url.js';
|
8
|
+
|
9
|
+
export default v;
|
package/dist/valibot/url.js
CHANGED
@@ -1,95 +1,95 @@
|
|
1
|
-
// > Imports
|
2
|
-
|
3
|
-
import * as v from 'valibot';
|
4
|
-
|
5
|
-
// > Exports
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Schema to validate an URL or empty string.
|
9
|
-
*/
|
10
|
-
export const UrlOrEmptyString = v.pipe(
|
11
|
-
v.pipe(v.string(), v.trim()),
|
12
|
-
v.union([v.literal(''), v.pipe(v.string(), v.url())])
|
13
|
-
);
|
14
|
-
|
15
|
-
/**
|
16
|
-
* Schema to validate an url that may miss the protocol part
|
17
|
-
*
|
18
|
-
* @note an empty string is not allowed!
|
19
|
-
*/
|
20
|
-
export const HumanUrl = v.pipe(
|
21
|
-
v.string(),
|
22
|
-
v.trim(),
|
23
|
-
v.transform((value) => {
|
24
|
-
if (!value.length || value.includes('://')) {
|
25
|
-
return value;
|
26
|
-
} else {
|
27
|
-
// Prefix 'url' with 'https://'
|
28
|
-
return `https://${value}`;
|
29
|
-
}
|
30
|
-
}),
|
31
|
-
v.url()
|
32
|
-
);
|
33
|
-
|
34
|
-
/**
|
35
|
-
* Schema to validate url path, without a search and hash part
|
36
|
-
*/
|
37
|
-
export const UrlPath = v.pipe(
|
38
|
-
v.string(),
|
39
|
-
v.transform((value) => {
|
40
|
-
// Convert relative url to URL object
|
41
|
-
// @note removes ../../ parts
|
42
|
-
try {
|
43
|
-
return new URL(value, 'http://localhost');
|
44
|
-
|
45
|
-
// eslint-disable-next-line no-unused-vars
|
46
|
-
} catch (e) {
|
47
|
-
return null;
|
48
|
-
}
|
49
|
-
}),
|
50
|
-
v.custom((urlOrNull) => {
|
51
|
-
return urlOrNull ? true : false;
|
52
|
-
}, 'Invalid URL pathname'),
|
53
|
-
v.transform((url) => {
|
54
|
-
return url.pathname;
|
55
|
-
})
|
56
|
-
);
|
57
|
-
|
58
|
-
/**
|
59
|
-
* Schema to validate a url path, which consists of
|
60
|
-
* a path and optionally search and hash parts
|
61
|
-
*/
|
62
|
-
export const RelativeUrl = v.pipe(
|
63
|
-
v.string(),
|
64
|
-
v.transform((value) => {
|
65
|
-
// Convert relative url to URL object
|
66
|
-
// @note removes ../../ parts
|
67
|
-
try {
|
68
|
-
return new URL(value, 'http://localhost');
|
69
|
-
|
70
|
-
// eslint-disable-next-line no-unused-vars
|
71
|
-
} catch (e) {
|
72
|
-
return null;
|
73
|
-
}
|
74
|
-
}),
|
75
|
-
v.custom((urlOrNull) => {
|
76
|
-
return urlOrNull ? true : false;
|
77
|
-
}, 'Invalid URL pathname or search part'),
|
78
|
-
v.transform((url) => {
|
79
|
-
return (
|
80
|
-
`${url.pathname}` +
|
81
|
-
`${url.search.length <= 1 ? '' : url.search}` +
|
82
|
-
`${url.hash.length <= 1 ? '' : url.hash}`
|
83
|
-
);
|
84
|
-
})
|
85
|
-
);
|
86
|
-
|
87
|
-
/**
|
88
|
-
* Schema to validate an absolute or relative url
|
89
|
-
*
|
90
|
-
* @note an empty string is not allowed!
|
91
|
-
*/
|
92
|
-
export const AbsOrRelUrl = v.union([
|
93
|
-
v.pipe(v.string(), v.trim(), v.url()),
|
94
|
-
v.pipe(v.string(), v.nonEmpty(), RelativeUrl)
|
95
|
-
]);
|
1
|
+
// > Imports
|
2
|
+
|
3
|
+
import * as v from 'valibot';
|
4
|
+
|
5
|
+
// > Exports
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Schema to validate an URL or empty string.
|
9
|
+
*/
|
10
|
+
export const UrlOrEmptyString = v.pipe(
|
11
|
+
v.pipe(v.string(), v.trim()),
|
12
|
+
v.union([v.literal(''), v.pipe(v.string(), v.url())])
|
13
|
+
);
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Schema to validate an url that may miss the protocol part
|
17
|
+
*
|
18
|
+
* @note an empty string is not allowed!
|
19
|
+
*/
|
20
|
+
export const HumanUrl = v.pipe(
|
21
|
+
v.string(),
|
22
|
+
v.trim(),
|
23
|
+
v.transform((value) => {
|
24
|
+
if (!value.length || value.includes('://')) {
|
25
|
+
return value;
|
26
|
+
} else {
|
27
|
+
// Prefix 'url' with 'https://'
|
28
|
+
return `https://${value}`;
|
29
|
+
}
|
30
|
+
}),
|
31
|
+
v.url()
|
32
|
+
);
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Schema to validate url path, without a search and hash part
|
36
|
+
*/
|
37
|
+
export const UrlPath = v.pipe(
|
38
|
+
v.string(),
|
39
|
+
v.transform((value) => {
|
40
|
+
// Convert relative url to URL object
|
41
|
+
// @note removes ../../ parts
|
42
|
+
try {
|
43
|
+
return new URL(value, 'http://localhost');
|
44
|
+
|
45
|
+
// eslint-disable-next-line no-unused-vars
|
46
|
+
} catch (e) {
|
47
|
+
return null;
|
48
|
+
}
|
49
|
+
}),
|
50
|
+
v.custom((urlOrNull) => {
|
51
|
+
return urlOrNull ? true : false;
|
52
|
+
}, 'Invalid URL pathname'),
|
53
|
+
v.transform((url) => {
|
54
|
+
return url.pathname;
|
55
|
+
})
|
56
|
+
);
|
57
|
+
|
58
|
+
/**
|
59
|
+
* Schema to validate a url path, which consists of
|
60
|
+
* a path and optionally search and hash parts
|
61
|
+
*/
|
62
|
+
export const RelativeUrl = v.pipe(
|
63
|
+
v.string(),
|
64
|
+
v.transform((value) => {
|
65
|
+
// Convert relative url to URL object
|
66
|
+
// @note removes ../../ parts
|
67
|
+
try {
|
68
|
+
return new URL(value, 'http://localhost');
|
69
|
+
|
70
|
+
// eslint-disable-next-line no-unused-vars
|
71
|
+
} catch (e) {
|
72
|
+
return null;
|
73
|
+
}
|
74
|
+
}),
|
75
|
+
v.custom((urlOrNull) => {
|
76
|
+
return urlOrNull ? true : false;
|
77
|
+
}, 'Invalid URL pathname or search part'),
|
78
|
+
v.transform((url) => {
|
79
|
+
return (
|
80
|
+
`${url.pathname}` +
|
81
|
+
`${url.search.length <= 1 ? '' : url.search}` +
|
82
|
+
`${url.hash.length <= 1 ? '' : url.hash}`
|
83
|
+
);
|
84
|
+
})
|
85
|
+
);
|
86
|
+
|
87
|
+
/**
|
88
|
+
* Schema to validate an absolute or relative url
|
89
|
+
*
|
90
|
+
* @note an empty string is not allowed!
|
91
|
+
*/
|
92
|
+
export const AbsOrRelUrl = v.union([
|
93
|
+
v.pipe(v.string(), v.trim(), v.url()),
|
94
|
+
v.pipe(v.string(), v.nonEmpty(), RelativeUrl)
|
95
|
+
]);
|
package/dist/valibot/user.js
CHANGED
@@ -1,23 +1,23 @@
|
|
1
|
-
// > Imports
|
2
|
-
|
3
|
-
import * as v from 'valibot';
|
4
|
-
|
5
|
-
import {
|
6
|
-
RE_FULLNAME,
|
7
|
-
RE_NAME,
|
8
|
-
RE_USERNAME,
|
9
|
-
RE_SURNAME,
|
10
|
-
RE_PHONENUMBER
|
11
|
-
} from '../constants/regexp/index.js';
|
12
|
-
|
13
|
-
// > Exports
|
14
|
-
|
15
|
-
export const Name = v.pipe(v.string(), v.trim(), v.regex(RE_NAME));
|
16
|
-
|
17
|
-
export const Fullname = v.pipe(v.string(), v.trim(), v.regex(RE_FULLNAME));
|
18
|
-
|
19
|
-
export const Username = v.pipe(v.string(), v.trim(), v.regex(RE_USERNAME));
|
20
|
-
|
21
|
-
export const Surname = v.pipe(v.string(), v.trim(), v.regex(RE_SURNAME));
|
22
|
-
|
23
|
-
export const PhoneNumber = v.pipe(v.string(), v.trim(), v.regex(RE_PHONENUMBER));
|
1
|
+
// > Imports
|
2
|
+
|
3
|
+
import * as v from 'valibot';
|
4
|
+
|
5
|
+
import {
|
6
|
+
RE_FULLNAME,
|
7
|
+
RE_NAME,
|
8
|
+
RE_USERNAME,
|
9
|
+
RE_SURNAME,
|
10
|
+
RE_PHONENUMBER
|
11
|
+
} from '../constants/regexp/index.js';
|
12
|
+
|
13
|
+
// > Exports
|
14
|
+
|
15
|
+
export const Name = v.pipe(v.string(), v.trim(), v.regex(RE_NAME));
|
16
|
+
|
17
|
+
export const Fullname = v.pipe(v.string(), v.trim(), v.regex(RE_FULLNAME));
|
18
|
+
|
19
|
+
export const Username = v.pipe(v.string(), v.trim(), v.regex(RE_USERNAME));
|
20
|
+
|
21
|
+
export const Surname = v.pipe(v.string(), v.trim(), v.regex(RE_SURNAME));
|
22
|
+
|
23
|
+
export const PhoneNumber = v.pipe(v.string(), v.trim(), v.regex(RE_PHONENUMBER));
|
package/dist/zod/all.js
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
/**
|
2
|
-
* The following namespace style import can be used to acces the named exports
|
3
|
-
* and als the JSdoc typedefs
|
4
|
-
*
|
5
|
-
* @example
|
6
|
-
*
|
7
|
-
* import * as Zods from '<path-to>/zod/all.js';
|
8
|
-
*
|
9
|
-
* JSdoc:
|
10
|
-
* `@param {Zods.Name} name
|
11
|
-
* `@param {Zods.Timeout} t
|
12
|
-
*
|
13
|
-
* Assert style:
|
14
|
-
* Zods.String.parse(name);
|
15
|
-
*
|
16
|
-
* Parse style:
|
17
|
-
* const name = Zods.Name.parse('Jens ');
|
18
|
-
*
|
19
|
-
* Use default export 'z':
|
20
|
-
* // eslint-disable-next-line no-unused-vars
|
21
|
-
* import z, * as Zods from '<path-to>/zod/all.js';
|
22
|
-
*
|
23
|
-
* z.string().parse(name);
|
24
|
-
*/
|
25
|
-
|
26
|
-
import { z } from 'zod';
|
27
|
-
|
28
|
-
export * from './generic.js';
|
29
|
-
export * from './javascript.js';
|
30
|
-
export * from './user.js';
|
31
|
-
export * from './web.js';
|
32
|
-
|
33
|
-
export default z;
|
1
|
+
/**
|
2
|
+
* The following namespace style import can be used to acces the named exports
|
3
|
+
* and als the JSdoc typedefs
|
4
|
+
*
|
5
|
+
* @example
|
6
|
+
*
|
7
|
+
* import * as Zods from '<path-to>/zod/all.js';
|
8
|
+
*
|
9
|
+
* JSdoc:
|
10
|
+
* `@param {Zods.Name} name
|
11
|
+
* `@param {Zods.Timeout} t
|
12
|
+
*
|
13
|
+
* Assert style:
|
14
|
+
* Zods.String.parse(name);
|
15
|
+
*
|
16
|
+
* Parse style:
|
17
|
+
* const name = Zods.Name.parse('Jens ');
|
18
|
+
*
|
19
|
+
* Use default export 'z':
|
20
|
+
* // eslint-disable-next-line no-unused-vars
|
21
|
+
* import z, * as Zods from '<path-to>/zod/all.js';
|
22
|
+
*
|
23
|
+
* z.string().parse(name);
|
24
|
+
*/
|
25
|
+
|
26
|
+
import { z } from 'zod';
|
27
|
+
|
28
|
+
export * from './generic.js';
|
29
|
+
export * from './javascript.js';
|
30
|
+
export * from './user.js';
|
31
|
+
export * from './web.js';
|
32
|
+
|
33
|
+
export default z;
|
package/dist/zod/generic.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
// > Imports
|
2
|
-
|
3
|
-
import { z } from 'zod';
|
4
|
-
|
5
|
-
// > Exports
|
6
|
-
|
7
|
-
export const Label = z.string().min(1).max(80);
|
8
|
-
/** @typedef {string} Label */
|
9
|
-
|
10
|
-
export const LabelOrSymbol = z.union([z.string().min(1).max(80), z.symbol()]);
|
11
|
-
/** @typedef {string|Symbol} LabelOrSymbol */
|
1
|
+
// > Imports
|
2
|
+
|
3
|
+
import { z } from 'zod';
|
4
|
+
|
5
|
+
// > Exports
|
6
|
+
|
7
|
+
export const Label = z.string().min(1).max(80);
|
8
|
+
/** @typedef {string} Label */
|
9
|
+
|
10
|
+
export const LabelOrSymbol = z.union([z.string().min(1).max(80), z.symbol()]);
|
11
|
+
/** @typedef {string|Symbol} LabelOrSymbol */
|
package/dist/zod/javascript.js
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
/**
|
2
|
-
* The following namespace style import can be used to acces the named exports
|
3
|
-
* and als the JSdoc typedefs
|
4
|
-
*
|
5
|
-
* import z, * as Zods from '<path-to>/all.js';
|
6
|
-
*
|
7
|
-
* @example
|
8
|
-
*
|
9
|
-
* JSdoc:
|
10
|
-
* `@param {Type.Name} name
|
11
|
-
*
|
12
|
-
* Assert style:
|
13
|
-
* Type.String.parse(name);
|
14
|
-
*
|
15
|
-
* Parse style:
|
16
|
-
* const name = Type.Name.parse('Jens ');
|
17
|
-
*/
|
18
|
-
|
19
|
-
// > Imports
|
20
|
-
|
21
|
-
import { z } from 'zod';
|
22
|
-
|
23
|
-
// > Exports
|
24
|
-
|
25
|
-
export const Timeout = z.number();
|
26
|
-
/** @typedef {number|NodeJS.Timeout} Timeout */
|
27
|
-
|
28
|
-
export const TimeoutOrUndefined = z.union([z.number(), z.undefined()]);
|
29
|
-
/** @typedef {number|NodeJS.Timeout|undefined} TimeoutOrUndefined */
|
30
|
-
|
31
|
-
// Export default is required for exporting typedefs
|
32
|
-
export default {};
|
1
|
+
/**
|
2
|
+
* The following namespace style import can be used to acces the named exports
|
3
|
+
* and als the JSdoc typedefs
|
4
|
+
*
|
5
|
+
* import z, * as Zods from '<path-to>/all.js';
|
6
|
+
*
|
7
|
+
* @example
|
8
|
+
*
|
9
|
+
* JSdoc:
|
10
|
+
* `@param {Type.Name} name
|
11
|
+
*
|
12
|
+
* Assert style:
|
13
|
+
* Type.String.parse(name);
|
14
|
+
*
|
15
|
+
* Parse style:
|
16
|
+
* const name = Type.Name.parse('Jens ');
|
17
|
+
*/
|
18
|
+
|
19
|
+
// > Imports
|
20
|
+
|
21
|
+
import { z } from 'zod';
|
22
|
+
|
23
|
+
// > Exports
|
24
|
+
|
25
|
+
export const Timeout = z.number();
|
26
|
+
/** @typedef {number|NodeJS.Timeout} Timeout */
|
27
|
+
|
28
|
+
export const TimeoutOrUndefined = z.union([z.number(), z.undefined()]);
|
29
|
+
/** @typedef {number|NodeJS.Timeout|undefined} TimeoutOrUndefined */
|
30
|
+
|
31
|
+
// Export default is required for exporting typedefs
|
32
|
+
export default {};
|
package/dist/zod/user.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
// > Imports
|
2
|
-
|
3
|
-
import { z } from 'zod';
|
4
|
-
|
5
|
-
import { RE_FULLNAME, RE_NAME, RE_USERNAME } from '../constants/regexp/index.js';
|
6
|
-
|
7
|
-
// > Exports
|
8
|
-
|
9
|
-
export const Name = z.string().trim().regex(RE_NAME);
|
10
|
-
/** @typedef { z.infer<typeof Name> } Name */
|
11
|
-
|
12
|
-
export const Fullname = z.string().trim().regex(RE_FULLNAME);
|
13
|
-
/** @typedef { z.infer<typeof Fullname> } Fullname */
|
14
|
-
|
15
|
-
export const Username = z.string().trim().regex(RE_USERNAME);
|
16
|
-
/** @typedef { z.infer<typeof Username> } Username */
|
1
|
+
// > Imports
|
2
|
+
|
3
|
+
import { z } from 'zod';
|
4
|
+
|
5
|
+
import { RE_FULLNAME, RE_NAME, RE_USERNAME } from '../constants/regexp/index.js';
|
6
|
+
|
7
|
+
// > Exports
|
8
|
+
|
9
|
+
export const Name = z.string().trim().regex(RE_NAME);
|
10
|
+
/** @typedef { z.infer<typeof Name> } Name */
|
11
|
+
|
12
|
+
export const Fullname = z.string().trim().regex(RE_FULLNAME);
|
13
|
+
/** @typedef { z.infer<typeof Fullname> } Fullname */
|
14
|
+
|
15
|
+
export const Username = z.string().trim().regex(RE_USERNAME);
|
16
|
+
/** @typedef { z.infer<typeof Username> } Username */
|
package/dist/zod/web.js
CHANGED
@@ -1,52 +1,52 @@
|
|
1
|
-
// > Imports
|
2
|
-
|
3
|
-
import { z } from 'zod';
|
4
|
-
|
5
|
-
// > Exports
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Parse Url
|
9
|
-
* - Allows relative urls (only the pathname and a search part of an url)
|
10
|
-
* - Require the use of the HTTP(s) protocol in absolute URL's
|
11
|
-
*
|
12
|
-
* @param {object} _
|
13
|
-
* @param {boolean} [_.allowRelative=true]
|
14
|
-
* @param {boolean} [_.requireHttp=true]
|
15
|
-
*
|
16
|
-
* @returns {{ parse:function }}
|
17
|
-
*/
|
18
|
-
export function UrlOrPath({ allowRelative = true, requireHttp = true } = {}) {
|
19
|
-
// > URL parser
|
20
|
-
return z.string().refine((value) => {
|
21
|
-
let url;
|
22
|
-
|
23
|
-
try {
|
24
|
-
if (!allowRelative) {
|
25
|
-
// > Ensure that URL is absolute
|
26
|
-
url = new URL(value);
|
27
|
-
|
28
|
-
if (requireHttp) {
|
29
|
-
// > Ensure that protocol is http(s)
|
30
|
-
if (url.protocol.startsWith('http')) {
|
31
|
-
return null;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
return `${url.origin}${url.pathname}` + `${url.search.length <= 1 ? '' : url.search}`;
|
36
|
-
} else {
|
37
|
-
// > Parse relative URL
|
38
|
-
// @note removes ../../ parts
|
39
|
-
|
40
|
-
url = new URL(value, 'http://localhost');
|
41
|
-
|
42
|
-
return `${url.pathname}` + `${url.search.length <= 1 ? '' : url.search}`;
|
43
|
-
}
|
44
|
-
// eslint-disable-next-line no-unused-vars
|
45
|
-
} catch (e) {
|
46
|
-
return null;
|
47
|
-
}
|
48
|
-
});
|
49
|
-
}
|
50
|
-
|
51
|
-
export const AbsOrRelUrl = UrlOrPath();
|
52
|
-
/** @typedef {string} AbsOrRelUrl */
|
1
|
+
// > Imports
|
2
|
+
|
3
|
+
import { z } from 'zod';
|
4
|
+
|
5
|
+
// > Exports
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Parse Url
|
9
|
+
* - Allows relative urls (only the pathname and a search part of an url)
|
10
|
+
* - Require the use of the HTTP(s) protocol in absolute URL's
|
11
|
+
*
|
12
|
+
* @param {object} _
|
13
|
+
* @param {boolean} [_.allowRelative=true]
|
14
|
+
* @param {boolean} [_.requireHttp=true]
|
15
|
+
*
|
16
|
+
* @returns {{ parse:function }}
|
17
|
+
*/
|
18
|
+
export function UrlOrPath({ allowRelative = true, requireHttp = true } = {}) {
|
19
|
+
// > URL parser
|
20
|
+
return z.string().refine((value) => {
|
21
|
+
let url;
|
22
|
+
|
23
|
+
try {
|
24
|
+
if (!allowRelative) {
|
25
|
+
// > Ensure that URL is absolute
|
26
|
+
url = new URL(value);
|
27
|
+
|
28
|
+
if (requireHttp) {
|
29
|
+
// > Ensure that protocol is http(s)
|
30
|
+
if (url.protocol.startsWith('http')) {
|
31
|
+
return null;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
return `${url.origin}${url.pathname}` + `${url.search.length <= 1 ? '' : url.search}`;
|
36
|
+
} else {
|
37
|
+
// > Parse relative URL
|
38
|
+
// @note removes ../../ parts
|
39
|
+
|
40
|
+
url = new URL(value, 'http://localhost');
|
41
|
+
|
42
|
+
return `${url.pathname}` + `${url.search.length <= 1 ? '' : url.search}`;
|
43
|
+
}
|
44
|
+
// eslint-disable-next-line no-unused-vars
|
45
|
+
} catch (e) {
|
46
|
+
return null;
|
47
|
+
}
|
48
|
+
});
|
49
|
+
}
|
50
|
+
|
51
|
+
export const AbsOrRelUrl = UrlOrPath();
|
52
|
+
/** @typedef {string} AbsOrRelUrl */
|