@wopjs/cast 0.1.2 → 0.1.3
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/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -8
- package/src/is-to-as.test.ts +17 -0
- package/src/is-to-as.ts +3 -0
package/dist/index.d.mts
CHANGED
|
@@ -15,6 +15,8 @@ interface IsFalsy {
|
|
|
15
15
|
declare const isFalsy: IsFalsy;
|
|
16
16
|
/** Returns `true` if `Boolean(x)` is `true`. */
|
|
17
17
|
declare const isTruthy: <T>(x: T) => x is Exclude<T, Falsy>;
|
|
18
|
+
/** Returns `x` if `Boolean(x)` is `true`, otherwise returns `undefined`. */
|
|
19
|
+
declare const toTruthy: <T>(x: T) => Exclude<T, Falsy> | _;
|
|
18
20
|
declare const isBoolean: (x: unknown) => x is boolean;
|
|
19
21
|
/** Returns `x` if `x` is `true` or `false`, otherwise returns `undefined`. */
|
|
20
22
|
declare const toBoolean: (x: unknown) => boolean | _;
|
|
@@ -87,4 +89,4 @@ declare const returnsFalse: () => false;
|
|
|
87
89
|
declare const returnsTrue: () => true;
|
|
88
90
|
declare const returnsEmptyString: () => string;
|
|
89
91
|
|
|
90
|
-
export { type Falsy, type IsFalsy, type PlainObject, type _, asArray, asNumber, asObject, asPlainObject, asString, asTrue, isArray, isBoolean, isDefined, isFalsy, isNonEmptyJSONObject, isNonEmptyPlainObject, isNonEmptyString, isNumber, isObject, isPlainObject, isString, isTrue, isTruthy, noop, print, returnsEmptyString, returnsFalse, returnsNull, returnsTrue, returnsUndefined, toArray, toBoolean, toNonEmptyArray, toNonEmptyJSONObject, toNonEmptyPlainObject, toNonEmptyString, toNumber, toPlainObject, toPlainObjectOf, toPlainObjectOfTrue, toString, toTrue };
|
|
92
|
+
export { type Falsy, type IsFalsy, type PlainObject, type _, asArray, asNumber, asObject, asPlainObject, asString, asTrue, isArray, isBoolean, isDefined, isFalsy, isNonEmptyJSONObject, isNonEmptyPlainObject, isNonEmptyString, isNumber, isObject, isPlainObject, isString, isTrue, isTruthy, noop, print, returnsEmptyString, returnsFalse, returnsNull, returnsTrue, returnsUndefined, toArray, toBoolean, toNonEmptyArray, toNonEmptyJSONObject, toNonEmptyPlainObject, toNonEmptyString, toNumber, toPlainObject, toPlainObjectOf, toPlainObjectOfTrue, toString, toTrue, toTruthy };
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ interface IsFalsy {
|
|
|
15
15
|
declare const isFalsy: IsFalsy;
|
|
16
16
|
/** Returns `true` if `Boolean(x)` is `true`. */
|
|
17
17
|
declare const isTruthy: <T>(x: T) => x is Exclude<T, Falsy>;
|
|
18
|
+
/** Returns `x` if `Boolean(x)` is `true`, otherwise returns `undefined`. */
|
|
19
|
+
declare const toTruthy: <T>(x: T) => Exclude<T, Falsy> | _;
|
|
18
20
|
declare const isBoolean: (x: unknown) => x is boolean;
|
|
19
21
|
/** Returns `x` if `x` is `true` or `false`, otherwise returns `undefined`. */
|
|
20
22
|
declare const toBoolean: (x: unknown) => boolean | _;
|
|
@@ -87,4 +89,4 @@ declare const returnsFalse: () => false;
|
|
|
87
89
|
declare const returnsTrue: () => true;
|
|
88
90
|
declare const returnsEmptyString: () => string;
|
|
89
91
|
|
|
90
|
-
export { type Falsy, type IsFalsy, type PlainObject, type _, asArray, asNumber, asObject, asPlainObject, asString, asTrue, isArray, isBoolean, isDefined, isFalsy, isNonEmptyJSONObject, isNonEmptyPlainObject, isNonEmptyString, isNumber, isObject, isPlainObject, isString, isTrue, isTruthy, noop, print, returnsEmptyString, returnsFalse, returnsNull, returnsTrue, returnsUndefined, toArray, toBoolean, toNonEmptyArray, toNonEmptyJSONObject, toNonEmptyPlainObject, toNonEmptyString, toNumber, toPlainObject, toPlainObjectOf, toPlainObjectOfTrue, toString, toTrue };
|
|
92
|
+
export { type Falsy, type IsFalsy, type PlainObject, type _, asArray, asNumber, asObject, asPlainObject, asString, asTrue, isArray, isBoolean, isDefined, isFalsy, isNonEmptyJSONObject, isNonEmptyPlainObject, isNonEmptyString, isNumber, isObject, isPlainObject, isString, isTrue, isTruthy, noop, print, returnsEmptyString, returnsFalse, returnsNull, returnsTrue, returnsUndefined, toArray, toBoolean, toNonEmptyArray, toNonEmptyJSONObject, toNonEmptyPlainObject, toNonEmptyString, toNumber, toPlainObject, toPlainObjectOf, toPlainObjectOfTrue, toString, toTrue, toTruthy };
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ var toTrue = (x) => x === true ? true : _;
|
|
|
8
8
|
var asTrue = (x) => x === true ? x : false;
|
|
9
9
|
var isFalsy = (x) => !x;
|
|
10
10
|
var isTruthy = (x) => !!x;
|
|
11
|
+
var toTruthy = (x) => isTruthy(x) ? x : _;
|
|
11
12
|
var isBoolean = (x) => x === true || x === false;
|
|
12
13
|
var toBoolean = (x) => isBoolean(x) ? x : _;
|
|
13
14
|
var isNumber = (x) => typeof x === "number" && x === x;
|
|
@@ -105,5 +106,6 @@ exports.toPlainObjectOf = toPlainObjectOf;
|
|
|
105
106
|
exports.toPlainObjectOfTrue = toPlainObjectOfTrue;
|
|
106
107
|
exports.toString = toString;
|
|
107
108
|
exports.toTrue = toTrue;
|
|
109
|
+
exports.toTruthy = toTruthy;
|
|
108
110
|
//# sourceMappingURL=index.js.map
|
|
109
111
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/is-to-as.ts","../src/returns.ts"],"names":[],"mappings":";;;AAAA,IAAM,
|
|
1
|
+
{"version":3,"sources":["../src/is-to-as.ts","../src/returns.ts"],"names":[],"mappings":"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","file":"index.js"}
|
package/dist/index.mjs
CHANGED
|
@@ -6,6 +6,7 @@ var toTrue = (x) => x === true ? true : _;
|
|
|
6
6
|
var asTrue = (x) => x === true ? x : false;
|
|
7
7
|
var isFalsy = (x) => !x;
|
|
8
8
|
var isTruthy = (x) => !!x;
|
|
9
|
+
var toTruthy = (x) => isTruthy(x) ? x : _;
|
|
9
10
|
var isBoolean = (x) => x === true || x === false;
|
|
10
11
|
var toBoolean = (x) => isBoolean(x) ? x : _;
|
|
11
12
|
var isNumber = (x) => typeof x === "number" && x === x;
|
|
@@ -65,6 +66,6 @@ var returnsFalse = () => false;
|
|
|
65
66
|
var returnsTrue = () => true;
|
|
66
67
|
var returnsEmptyString = () => "";
|
|
67
68
|
|
|
68
|
-
export { asArray, asNumber, asObject, asPlainObject, asString, asTrue, isArray, isBoolean, isDefined, isFalsy, isNonEmptyJSONObject, isNonEmptyPlainObject, isNonEmptyString, isNumber, isObject, isPlainObject, isString, isTrue, isTruthy, noop, print, returnsEmptyString, returnsFalse, returnsNull, returnsTrue, returnsUndefined, toArray, toBoolean, toNonEmptyArray, toNonEmptyJSONObject, toNonEmptyPlainObject, toNonEmptyString, toNumber, toPlainObject, toPlainObjectOf, toPlainObjectOfTrue, toString, toTrue };
|
|
69
|
+
export { asArray, asNumber, asObject, asPlainObject, asString, asTrue, isArray, isBoolean, isDefined, isFalsy, isNonEmptyJSONObject, isNonEmptyPlainObject, isNonEmptyString, isNumber, isObject, isPlainObject, isString, isTrue, isTruthy, noop, print, returnsEmptyString, returnsFalse, returnsNull, returnsTrue, returnsUndefined, toArray, toBoolean, toNonEmptyArray, toNonEmptyJSONObject, toNonEmptyPlainObject, toNonEmptyString, toNumber, toPlainObject, toPlainObjectOf, toPlainObjectOfTrue, toString, toTrue, toTruthy };
|
|
69
70
|
//# sourceMappingURL=index.mjs.map
|
|
70
71
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/is-to-as.ts","../src/returns.ts"],"names":[],"mappings":";AAAA,IAAM,
|
|
1
|
+
{"version":3,"sources":["../src/is-to-as.ts","../src/returns.ts"],"names":[],"mappings":"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","file":"index.mjs"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wopjs/cast",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Filter types from unknown",
|
|
5
5
|
"repository": "wopjs/cast",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,21 +41,21 @@
|
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@eslint/js": "^9.15.0",
|
|
44
|
-
"@types/node": "^
|
|
45
|
-
"@vitest/coverage-v8": "^
|
|
44
|
+
"@types/node": "^24.9.1",
|
|
45
|
+
"@vitest/coverage-v8": "^4.0.4",
|
|
46
46
|
"commit-and-tag-version": "^12.5.0",
|
|
47
47
|
"eslint": "^9.15.0",
|
|
48
|
-
"eslint-config-prettier": "^
|
|
49
|
-
"eslint-import-resolver-typescript": "^
|
|
48
|
+
"eslint-config-prettier": "^10.1.8",
|
|
49
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
50
50
|
"eslint-plugin-import": "^2.31.0",
|
|
51
51
|
"gzip-size": "^7.0.0",
|
|
52
52
|
"prettier": "^3.3.3",
|
|
53
|
-
"pretty-bytes": "^
|
|
53
|
+
"pretty-bytes": "^7.1.0",
|
|
54
54
|
"tsup": "^8.3.5",
|
|
55
|
-
"typedoc": "^0.
|
|
55
|
+
"typedoc": "^0.28.14",
|
|
56
56
|
"typescript": "^5.6.3",
|
|
57
57
|
"typescript-eslint": "^8.15.0",
|
|
58
|
-
"vitest": "^
|
|
58
|
+
"vitest": "^4.0.4",
|
|
59
59
|
"yoctocolors": "^2.1.1"
|
|
60
60
|
}
|
|
61
61
|
}
|
package/src/is-to-as.test.ts
CHANGED
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
toNonEmptyJSONObject,
|
|
34
34
|
toPlainObjectOf,
|
|
35
35
|
toPlainObjectOfTrue,
|
|
36
|
+
toTruthy,
|
|
36
37
|
} from ".";
|
|
37
38
|
|
|
38
39
|
describe("primitive.ts", () => {
|
|
@@ -65,6 +66,22 @@ describe("primitive.ts", () => {
|
|
|
65
66
|
expect(isTruthy(1)).toBe(true);
|
|
66
67
|
});
|
|
67
68
|
|
|
69
|
+
it("toTruthy", () => {
|
|
70
|
+
const expectTruthy = (o: unknown) => expect(toTruthy(o)).toBe(o);
|
|
71
|
+
expectTruthy({});
|
|
72
|
+
expectTruthy([]);
|
|
73
|
+
expectTruthy("string");
|
|
74
|
+
expectTruthy(Symbol());
|
|
75
|
+
expectTruthy(1);
|
|
76
|
+
expectTruthy(true);
|
|
77
|
+
|
|
78
|
+
expect(toTruthy(false)).toBe(undefined);
|
|
79
|
+
expect(toTruthy(0)).toBe(undefined);
|
|
80
|
+
expect(toTruthy(NaN)).toBe(undefined);
|
|
81
|
+
expect(toTruthy(null)).toBe(undefined);
|
|
82
|
+
expect(toTruthy(undefined)).toBe(undefined);
|
|
83
|
+
});
|
|
84
|
+
|
|
68
85
|
it("isFalsy", () => {
|
|
69
86
|
expect(isFalsy(true)).toBe(false);
|
|
70
87
|
expect(isFalsy(false)).toBe(true);
|
package/src/is-to-as.ts
CHANGED
|
@@ -25,6 +25,9 @@ export const isFalsy: IsFalsy = (x: unknown): x is Falsy => !x;
|
|
|
25
25
|
/** Returns `true` if `Boolean(x)` is `true`. */
|
|
26
26
|
export const isTruthy = <T>(x: T): x is Exclude<T, Falsy> => !!x;
|
|
27
27
|
|
|
28
|
+
/** Returns `x` if `Boolean(x)` is `true`, otherwise returns `undefined`. */
|
|
29
|
+
export const toTruthy = <T>(x: T): Exclude<T, Falsy> | _ => (isTruthy(x) ? x : _);
|
|
30
|
+
|
|
28
31
|
export const isBoolean = (x: unknown): x is boolean => x === true || x === false;
|
|
29
32
|
|
|
30
33
|
/** Returns `x` if `x` is `true` or `false`, otherwise returns `undefined`. */
|