@nemigo/helpers 0.4.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cases.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export type CaseResult<V, T> = (value: V | null, mutate: boolean) => T;
1
+ export type CaseResult<V, T> = (value: V | undefined, mutate: boolean) => T;
2
2
  /**
3
3
  * Отлов строковых значений
4
4
  *
5
5
  * - `string` → `string`, `false`
6
6
  * - `number` → `string`, `true`
7
- * - `NaN` → `null`, `false`
8
- * - `ETC` → `null`, `false`
7
+ * - `NaN` → `undefined`, `false`
8
+ * - `ETC` → `undefined`, `false`
9
9
  */
10
10
  export declare const caseString: <T>(value: unknown, call: CaseResult<string, T>) => T;
11
11
  /**
@@ -13,8 +13,8 @@ export declare const caseString: <T>(value: unknown, call: CaseResult<string, T>
13
13
  *
14
14
  * - `number` → `number`, `false`
15
15
  * - `string` → `number`, `true`
16
- * - `NaN` → `null`, `false`
17
- * - `ETC` → `null`, `false`
16
+ * - `NaN` → `undefined`, `false`
17
+ * - `ETC` → `undefined`, `false`
18
18
  */
19
19
  export declare const caseNumber: <T>(value: unknown, call: CaseResult<number, T>) => T;
20
20
  /**
@@ -25,6 +25,6 @@ export declare const caseNumber: <T>(value: unknown, call: CaseResult<number, T>
25
25
  * - `"true"` -> `boolean`, `true`
26
26
  * - `0` -> `boolean`, `true`
27
27
  * - `1` -> `boolean`, `true`
28
- * - `ETC` → `null`, `false`
28
+ * - `ETC` → `undefined`, `false`
29
29
  */
30
30
  export declare const caseBoolean: <T>(value: unknown, call: CaseResult<boolean, T>) => T;
package/dist/cases.js CHANGED
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * - `string` → `string`, `false`
5
5
  * - `number` → `string`, `true`
6
- * - `NaN` → `null`, `false`
7
- * - `ETC` → `null`, `false`
6
+ * - `NaN` → `undefined`, `false`
7
+ * - `ETC` → `undefined`, `false`
8
8
  */
9
9
  export const caseString = (value, call) => {
10
10
  switch (typeof value) {
@@ -14,20 +14,20 @@ export const caseString = (value, call) => {
14
14
  if (!isNaN(value))
15
15
  return call(String(value), true);
16
16
  }
17
- return call(null, false);
17
+ return call(undefined, false);
18
18
  };
19
19
  /**
20
20
  * Отлов числовых значений
21
21
  *
22
22
  * - `number` → `number`, `false`
23
23
  * - `string` → `number`, `true`
24
- * - `NaN` → `null`, `false`
25
- * - `ETC` → `null`, `false`
24
+ * - `NaN` → `undefined`, `false`
25
+ * - `ETC` → `undefined`, `false`
26
26
  */
27
27
  export const caseNumber = (value, call) => {
28
28
  switch (typeof value) {
29
29
  case "number":
30
- return call(isNaN(value) ? null : value, false);
30
+ return call(isNaN(value) ? undefined : value, false);
31
31
  case "string": {
32
32
  const trimmed = value.trim();
33
33
  const number = Number(trimmed);
@@ -35,7 +35,7 @@ export const caseNumber = (value, call) => {
35
35
  return call(number, true);
36
36
  }
37
37
  }
38
- return call(null, false);
38
+ return call(undefined, false);
39
39
  };
40
40
  /**
41
41
  * Отлов булевых значений
@@ -45,7 +45,7 @@ export const caseNumber = (value, call) => {
45
45
  * - `"true"` -> `boolean`, `true`
46
46
  * - `0` -> `boolean`, `true`
47
47
  * - `1` -> `boolean`, `true`
48
- * - `ETC` → `null`, `false`
48
+ * - `ETC` → `undefined`, `false`
49
49
  */
50
50
  export const caseBoolean = (value, call) => {
51
51
  switch (typeof value) {
@@ -65,5 +65,5 @@ export const caseBoolean = (value, call) => {
65
65
  return call(true, true);
66
66
  }
67
67
  }
68
- return call(null, false);
68
+ return call(undefined, false);
69
69
  };
package/dist/format.js CHANGED
@@ -7,7 +7,7 @@ export const FormatNumberRegExp = /\B(?=(\d{3})+(?!\d))/g;
7
7
  * @example "1 234" или "1 234,56"
8
8
  */
9
9
  export const formatNumber = (amount, { fraction = 2, fallback = "---", zero = "value", postfix } = {}) => caseNumber(amount, (v) => {
10
- if (v === null)
10
+ if (v === undefined)
11
11
  return zero === "always" ? (postfix ? "0 " + postfix : "0") : fallback;
12
12
  if (v === 0)
13
13
  return zero === "never" ? fallback : postfix ? "0 " + postfix : "0";
package/dist/xod.js CHANGED
@@ -27,7 +27,7 @@ export const nullSchema = z.union([
27
27
  }),
28
28
  ]);
29
29
  //...
30
- export const booleanSchema = z.unknown().transform((value, ctx) => caseBoolean(value, (result) => result === null
30
+ export const booleanSchema = z.unknown().transform((value, ctx) => caseBoolean(value, (result) => result === undefined
31
31
  ? invalid(value, ctx, {
32
32
  message: "It isn't a boolean",
33
33
  expected: "boolean (or string / number like boolean)",
@@ -35,7 +35,7 @@ export const booleanSchema = z.unknown().transform((value, ctx) => caseBoolean(v
35
35
  : result));
36
36
  export const booleanSchemaOptional = z.union([nullSchema, booleanSchema]);
37
37
  //...
38
- export const numberSchema = z.unknown().transform((value, ctx) => caseNumber(value, (result) => result === null
38
+ export const numberSchema = z.unknown().transform((value, ctx) => caseNumber(value, (result) => result === undefined
39
39
  ? invalid(value, ctx, {
40
40
  message: "It isn't a number",
41
41
  expected: "number (or string like number)",
@@ -44,7 +44,7 @@ export const numberSchema = z.unknown().transform((value, ctx) => caseNumber(val
44
44
  export const numberSchemaOptional = z.union([nullSchema, numberSchema]);
45
45
  //...
46
46
  export const stringSchema = z.unknown().transform((value, ctx) => caseString(value, (result) => {
47
- const trimmed = result === null ? "" : result.trim();
47
+ const trimmed = result === undefined ? "" : result.trim();
48
48
  return trimmed === ""
49
49
  ? invalid(value, ctx, {
50
50
  message: "It isn't a string or empty string",
package/package.json CHANGED
@@ -1,146 +1,146 @@
1
- {
2
- "name": "@nemigo/helpers",
3
- "version": "0.4.4",
4
- "private": false,
5
- "author": {
6
- "name": "Vlad Logvin",
7
- "email": "vlad.logvin84@gmail.com"
8
- },
9
- "type": "module",
10
- "scripts": {
11
- "build": "svelte-package && rimraf .svelte-kit",
12
- "check": "tsc --noemit",
13
- "lint": "eslint ./",
14
- "test": "vitest --run",
15
- "format": "prettier --write ./"
16
- },
17
- "exports": {
18
- ".": {
19
- "types": "./dist/index.d.ts",
20
- "default": "./dist/index.js"
21
- },
22
- "./async": {
23
- "types": "./dist/async.d.ts",
24
- "default": "./dist/async.js"
25
- },
26
- "./cases": {
27
- "types": "./dist/cases.d.ts",
28
- "default": "./dist/cases.js"
29
- },
30
- "./clean": {
31
- "types": "./dist/clean.d.ts",
32
- "default": "./dist/clean.js"
33
- },
34
- "./cookie": {
35
- "types": "./dist/cookie.d.ts",
36
- "default": "./dist/cookie.js"
37
- },
38
- "./datetime": {
39
- "types": "./dist/datetime.d.ts",
40
- "default": "./dist/datetime.js"
41
- },
42
- "./emitter": {
43
- "types": "./dist/emitter.d.ts",
44
- "default": "./dist/emitter.js"
45
- },
46
- "./explorer": {
47
- "types": "./dist/explorer.d.ts",
48
- "default": "./dist/explorer.js"
49
- },
50
- "./files": {
51
- "types": "./dist/files.d.ts",
52
- "default": "./dist/files.js"
53
- },
54
- "./format": {
55
- "types": "./dist/format.d.ts",
56
- "default": "./dist/format.js"
57
- },
58
- "./future": {
59
- "types": "./dist/future.d.ts",
60
- "default": "./dist/future.js"
61
- },
62
- "./html": {
63
- "types": "./dist/html.d.ts",
64
- "default": "./dist/html.js"
65
- },
66
- "./humanly": {
67
- "types": "./dist/humanly.d.ts",
68
- "default": "./dist/humanly.js"
69
- },
70
- "./lens": {
71
- "types": "./dist/lens.d.ts",
72
- "default": "./dist/lens.js"
73
- },
74
- "./lru": {
75
- "types": "./dist/lru.d.ts",
76
- "default": "./dist/lru.js"
77
- },
78
- "./msgpack": {
79
- "types": "./dist/msgpack.d.ts",
80
- "default": "./dist/msgpack.js"
81
- },
82
- "./omitter": {
83
- "types": "./dist/omitter.d.ts",
84
- "default": "./dist/omitter.js"
85
- },
86
- "./phymath": {
87
- "types": "./dist/phymath.d.ts",
88
- "default": "./dist/phymath.js"
89
- },
90
- "./phymath/types": {
91
- "types": "./dist/phymath.types.d.ts",
92
- "default": "./dist/phymath.types.js"
93
- },
94
- "./promoter": {
95
- "types": "./dist/promoter.d.ts",
96
- "default": "./dist/promoter.js"
97
- },
98
- "./queue": {
99
- "types": "./dist/queue.d.ts",
100
- "default": "./dist/queue.js"
101
- },
102
- "./random": {
103
- "types": "./dist/random.d.ts",
104
- "default": "./dist/random.js"
105
- },
106
- "./script": {
107
- "types": "./dist/script.d.ts",
108
- "default": "./dist/script.js"
109
- },
110
- "./string": {
111
- "types": "./dist/string.d.ts",
112
- "default": "./dist/string.js"
113
- },
114
- "./types": {
115
- "types": "./dist/types.d.ts",
116
- "default": "./dist/types.js"
117
- },
118
- "./url": {
119
- "types": "./dist/url.d.ts",
120
- "default": "./dist/url.js"
121
- },
122
- "./xod": {
123
- "types": "./dist/xod.d.ts",
124
- "default": "./dist/xod.js"
125
- },
126
- "./zipper": {
127
- "types": "./dist/zipper.d.ts",
128
- "default": "./dist/zipper.js"
129
- }
130
- },
131
- "peerDependencies": {
132
- "zod": "^4.0.0"
133
- },
134
- "peerDependenciesMeta": {
135
- "zod": {
136
- "optional": true
137
- }
138
- },
139
- "dependencies": {
140
- "@std/msgpack": "jsr:^1.0.0"
141
- },
142
- "devDependencies": {
143
- "@nemigo/configs": "workspace:*",
144
- "zod": "4.1.5"
145
- }
146
- }
1
+ {
2
+ "name": "@nemigo/helpers",
3
+ "version": "0.6.0",
4
+ "private": false,
5
+ "author": {
6
+ "name": "Vlad Logvin",
7
+ "email": "vlad.logvin84@gmail.com"
8
+ },
9
+ "type": "module",
10
+ "scripts": {
11
+ "build": "svelte-package && rimraf .svelte-kit",
12
+ "check": "tsc --noemit",
13
+ "lint": "eslint ./",
14
+ "test": "vitest --run",
15
+ "format": "prettier --write ./"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "default": "./dist/index.js"
21
+ },
22
+ "./async": {
23
+ "types": "./dist/async.d.ts",
24
+ "default": "./dist/async.js"
25
+ },
26
+ "./cases": {
27
+ "types": "./dist/cases.d.ts",
28
+ "default": "./dist/cases.js"
29
+ },
30
+ "./clean": {
31
+ "types": "./dist/clean.d.ts",
32
+ "default": "./dist/clean.js"
33
+ },
34
+ "./cookie": {
35
+ "types": "./dist/cookie.d.ts",
36
+ "default": "./dist/cookie.js"
37
+ },
38
+ "./datetime": {
39
+ "types": "./dist/datetime.d.ts",
40
+ "default": "./dist/datetime.js"
41
+ },
42
+ "./emitter": {
43
+ "types": "./dist/emitter.d.ts",
44
+ "default": "./dist/emitter.js"
45
+ },
46
+ "./explorer": {
47
+ "types": "./dist/explorer.d.ts",
48
+ "default": "./dist/explorer.js"
49
+ },
50
+ "./files": {
51
+ "types": "./dist/files.d.ts",
52
+ "default": "./dist/files.js"
53
+ },
54
+ "./format": {
55
+ "types": "./dist/format.d.ts",
56
+ "default": "./dist/format.js"
57
+ },
58
+ "./future": {
59
+ "types": "./dist/future.d.ts",
60
+ "default": "./dist/future.js"
61
+ },
62
+ "./html": {
63
+ "types": "./dist/html.d.ts",
64
+ "default": "./dist/html.js"
65
+ },
66
+ "./humanly": {
67
+ "types": "./dist/humanly.d.ts",
68
+ "default": "./dist/humanly.js"
69
+ },
70
+ "./lens": {
71
+ "types": "./dist/lens.d.ts",
72
+ "default": "./dist/lens.js"
73
+ },
74
+ "./lru": {
75
+ "types": "./dist/lru.d.ts",
76
+ "default": "./dist/lru.js"
77
+ },
78
+ "./msgpack": {
79
+ "types": "./dist/msgpack.d.ts",
80
+ "default": "./dist/msgpack.js"
81
+ },
82
+ "./omitter": {
83
+ "types": "./dist/omitter.d.ts",
84
+ "default": "./dist/omitter.js"
85
+ },
86
+ "./phymath": {
87
+ "types": "./dist/phymath.d.ts",
88
+ "default": "./dist/phymath.js"
89
+ },
90
+ "./phymath/types": {
91
+ "types": "./dist/phymath.types.d.ts",
92
+ "default": "./dist/phymath.types.js"
93
+ },
94
+ "./promoter": {
95
+ "types": "./dist/promoter.d.ts",
96
+ "default": "./dist/promoter.js"
97
+ },
98
+ "./queue": {
99
+ "types": "./dist/queue.d.ts",
100
+ "default": "./dist/queue.js"
101
+ },
102
+ "./random": {
103
+ "types": "./dist/random.d.ts",
104
+ "default": "./dist/random.js"
105
+ },
106
+ "./script": {
107
+ "types": "./dist/script.d.ts",
108
+ "default": "./dist/script.js"
109
+ },
110
+ "./string": {
111
+ "types": "./dist/string.d.ts",
112
+ "default": "./dist/string.js"
113
+ },
114
+ "./types": {
115
+ "types": "./dist/types.d.ts",
116
+ "default": "./dist/types.js"
117
+ },
118
+ "./url": {
119
+ "types": "./dist/url.d.ts",
120
+ "default": "./dist/url.js"
121
+ },
122
+ "./xod": {
123
+ "types": "./dist/xod.d.ts",
124
+ "default": "./dist/xod.js"
125
+ },
126
+ "./zipper": {
127
+ "types": "./dist/zipper.d.ts",
128
+ "default": "./dist/zipper.js"
129
+ }
130
+ },
131
+ "peerDependencies": {
132
+ "zod": "^4.0.0"
133
+ },
134
+ "peerDependenciesMeta": {
135
+ "zod": {
136
+ "optional": true
137
+ }
138
+ },
139
+ "dependencies": {
140
+ "@std/msgpack": "jsr:^1.0.0"
141
+ },
142
+ "devDependencies": {
143
+ "@nemigo/configs": "workspace:*",
144
+ "zod": "4.1.5"
145
+ }
146
+ }