@rickosborne/guard 2024.12.35 → 2024.12.36
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 +22 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/ts/has-object.js +22 -0
- package/cjs/ts/has-object.js.map +1 -0
- package/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/ts/has-object.js +17 -0
- package/esm/ts/has-object.js.map +1 -0
- package/esm/tsconfig.module.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/index.js +1 -0
- package/types/index.js.map +1 -1
- package/types/ts/has-object.d.ts +11 -0
- package/types/ts/has-object.d.ts.map +1 -0
- package/types/ts/has-object.js +22 -0
- package/types/ts/has-object.js.map +1 -0
- package/types/tsconfig.types.tsbuildinfo +1 -1
package/README.md
CHANGED
|
@@ -100,6 +100,17 @@ hasNumber: <Name extends string>(obj: unknown, name: Name) => obj is { [k in Nam
|
|
|
100
100
|
Guard for whether an object has a property with the given name and a numeric value.
|
|
101
101
|
|
|
102
102
|
|
|
103
|
+
#### hasObject
|
|
104
|
+
|
|
105
|
+
<a id="api-hasobject"></a>
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
hasObject: <Name extends string>(obj: unknown, name: Name) => obj is { [k in Name]: object; }
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Guard for whether an object has a property with the given name and an object value.
|
|
112
|
+
|
|
113
|
+
|
|
103
114
|
#### hasOwn
|
|
104
115
|
|
|
105
116
|
<a id="api-hasown"></a>
|
|
@@ -126,6 +137,17 @@ Guard for whether the given value is an object with a property with the given na
|
|
|
126
137
|
Guard for whether the given value is an object with a property with the given name. This variant checks the value against the given predicate.
|
|
127
138
|
|
|
128
139
|
|
|
140
|
+
#### hasPlainObject
|
|
141
|
+
|
|
142
|
+
<a id="api-hasplainobject"></a>
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
hasPlainObject: <Name extends string>(obj: unknown, name: Name) => obj is { [k in Name]: Record<never, never>; }
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Guard for whether an object has a property with the given name and a plain object value.
|
|
149
|
+
|
|
150
|
+
|
|
129
151
|
#### isDefined
|
|
130
152
|
|
|
131
153
|
<a id="api-isdefined"></a>
|
package/cjs/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./ts/error-from-message.js"), exports);
|
|
18
18
|
__exportStar(require("./ts/has-array.js"), exports);
|
|
19
19
|
__exportStar(require("./ts/has-number.js"), exports);
|
|
20
|
+
__exportStar(require("./ts/has-object.js"), exports);
|
|
20
21
|
__exportStar(require("./ts/has-own.js"), exports);
|
|
21
22
|
__exportStar(require("./ts/is-defined.js"), exports);
|
|
22
23
|
__exportStar(require("./ts/is-int.js"), exports);
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,oDAAkC;AAClC,uDAAqC;AACrC,4DAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,oDAAkC;AAClC,uDAAqC;AACrC,4DAA0C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasPlainObject = exports.hasObject = void 0;
|
|
4
|
+
const has_own_js_1 = require("./has-own.js");
|
|
5
|
+
const is_object_js_1 = require("./is-object.js");
|
|
6
|
+
/**
|
|
7
|
+
* Guard for whether an object has a property with the given name
|
|
8
|
+
* and an object value.
|
|
9
|
+
*/
|
|
10
|
+
const hasObject = (obj, name) => {
|
|
11
|
+
return (0, has_own_js_1.hasOwn)(obj, name) && (0, is_object_js_1.isObject)(obj[name]);
|
|
12
|
+
};
|
|
13
|
+
exports.hasObject = hasObject;
|
|
14
|
+
/**
|
|
15
|
+
* Guard for whether an object has a property with the given name
|
|
16
|
+
* and a plain object value.
|
|
17
|
+
*/
|
|
18
|
+
const hasPlainObject = (obj, name) => {
|
|
19
|
+
return (0, has_own_js_1.hasOwn)(obj, name) && (0, is_object_js_1.isPlainObject)(obj[name]);
|
|
20
|
+
};
|
|
21
|
+
exports.hasPlainObject = hasPlainObject;
|
|
22
|
+
//# sourceMappingURL=has-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-object.js","sourceRoot":"","sources":["../../../ts/has-object.ts"],"names":[],"mappings":";;;AAAA,6CAAsC;AACtC,iDAAyD;AAEzD;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAsB,GAAY,EAAE,IAAU,EAAkC,EAAE;IAC1G,OAAO,IAAA,mBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAA,uBAAQ,EAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAsB,GAAY,EAAE,IAAU,EAAgD,EAAE;IAC7H,OAAO,IAAA,mBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAA,4BAAa,EAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../index.ts","../../ts/error-from-message.ts","../../ts/has-array.ts","../../ts/has-number.ts","../../ts/has-own.ts","../../ts/is-defined.ts","../../ts/is-int.ts","../../ts/is-list-of.ts","../../ts/is-object.ts","../../ts/is-predicate.ts","../../ts/scrub-stack-trace.ts"],"version":"5.7.2"}
|
|
1
|
+
{"root":["../../index.ts","../../ts/error-from-message.ts","../../ts/has-array.ts","../../ts/has-number.ts","../../ts/has-object.ts","../../ts/has-own.ts","../../ts/is-defined.ts","../../ts/is-int.ts","../../ts/is-list-of.ts","../../ts/is-object.ts","../../ts/is-predicate.ts","../../ts/scrub-stack-trace.ts"],"version":"5.7.2"}
|
package/esm/index.js
CHANGED
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { hasOwn } from "./has-own.js";
|
|
2
|
+
import { isObject, isPlainObject } from "./is-object.js";
|
|
3
|
+
/**
|
|
4
|
+
* Guard for whether an object has a property with the given name
|
|
5
|
+
* and an object value.
|
|
6
|
+
*/
|
|
7
|
+
export const hasObject = (obj, name) => {
|
|
8
|
+
return hasOwn(obj, name) && isObject(obj[name]);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Guard for whether an object has a property with the given name
|
|
12
|
+
* and a plain object value.
|
|
13
|
+
*/
|
|
14
|
+
export const hasPlainObject = (obj, name) => {
|
|
15
|
+
return hasOwn(obj, name) && isPlainObject(obj[name]);
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=has-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-object.js","sourceRoot":"","sources":["../../../ts/has-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAsB,GAAY,EAAE,IAAU,EAAkC,EAAE;IAC1G,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAsB,GAAY,EAAE,IAAU,EAAgD,EAAE;IAC7H,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../index.ts","../../ts/error-from-message.ts","../../ts/has-array.ts","../../ts/has-number.ts","../../ts/has-own.ts","../../ts/is-defined.ts","../../ts/is-int.ts","../../ts/is-list-of.ts","../../ts/is-object.ts","../../ts/is-predicate.ts","../../ts/scrub-stack-trace.ts"],"version":"5.7.2"}
|
|
1
|
+
{"root":["../../index.ts","../../ts/error-from-message.ts","../../ts/has-array.ts","../../ts/has-number.ts","../../ts/has-object.ts","../../ts/has-own.ts","../../ts/is-defined.ts","../../ts/is-int.ts","../../ts/is-list-of.ts","../../ts/is-object.ts","../../ts/is-predicate.ts","../../ts/scrub-stack-trace.ts"],"version":"5.7.2"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"url": "https://rickosborne.org"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@rickosborne/typical": "2024.12.
|
|
7
|
+
"@rickosborne/typical": "2024.12.36"
|
|
8
8
|
},
|
|
9
9
|
"description": "Rick Osborne's collection of type guards.",
|
|
10
10
|
"engines": {
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
},
|
|
41
41
|
"types": "types/index.d.ts",
|
|
42
42
|
"typings": "types/index.d.ts",
|
|
43
|
-
"version": "2024.12.
|
|
43
|
+
"version": "2024.12.36"
|
|
44
44
|
}
|
package/types/index.d.ts
CHANGED
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
|
package/types/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./ts/error-from-message.js"), exports);
|
|
18
18
|
__exportStar(require("./ts/has-array.js"), exports);
|
|
19
19
|
__exportStar(require("./ts/has-number.js"), exports);
|
|
20
|
+
__exportStar(require("./ts/has-object.js"), exports);
|
|
20
21
|
__exportStar(require("./ts/has-own.js"), exports);
|
|
21
22
|
__exportStar(require("./ts/is-defined.js"), exports);
|
|
22
23
|
__exportStar(require("./ts/is-int.js"), exports);
|
package/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,oDAAkC;AAClC,uDAAqC;AACrC,4DAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,oDAAkC;AAClC,uDAAqC;AACrC,4DAA0C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guard for whether an object has a property with the given name
|
|
3
|
+
* and an object value.
|
|
4
|
+
*/
|
|
5
|
+
export declare const hasObject: <Name extends string>(obj: unknown, name: Name) => obj is { [k in Name]: object; };
|
|
6
|
+
/**
|
|
7
|
+
* Guard for whether an object has a property with the given name
|
|
8
|
+
* and a plain object value.
|
|
9
|
+
*/
|
|
10
|
+
export declare const hasPlainObject: <Name extends string>(obj: unknown, name: Name) => obj is { [k in Name]: Record<never, never>; };
|
|
11
|
+
//# sourceMappingURL=has-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-object.d.ts","sourceRoot":"","sources":["../../../ts/has-object.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,IAAI,SAAS,MAAM,OAAO,OAAO,QAAQ,IAAI,KAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,GAErG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,SAAS,MAAM,OAAO,OAAO,QAAQ,IAAI,KAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAExH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasPlainObject = exports.hasObject = void 0;
|
|
4
|
+
const has_own_js_1 = require("./has-own.js");
|
|
5
|
+
const is_object_js_1 = require("./is-object.js");
|
|
6
|
+
/**
|
|
7
|
+
* Guard for whether an object has a property with the given name
|
|
8
|
+
* and an object value.
|
|
9
|
+
*/
|
|
10
|
+
const hasObject = (obj, name) => {
|
|
11
|
+
return (0, has_own_js_1.hasOwn)(obj, name) && (0, is_object_js_1.isObject)(obj[name]);
|
|
12
|
+
};
|
|
13
|
+
exports.hasObject = hasObject;
|
|
14
|
+
/**
|
|
15
|
+
* Guard for whether an object has a property with the given name
|
|
16
|
+
* and a plain object value.
|
|
17
|
+
*/
|
|
18
|
+
const hasPlainObject = (obj, name) => {
|
|
19
|
+
return (0, has_own_js_1.hasOwn)(obj, name) && (0, is_object_js_1.isPlainObject)(obj[name]);
|
|
20
|
+
};
|
|
21
|
+
exports.hasPlainObject = hasPlainObject;
|
|
22
|
+
//# sourceMappingURL=has-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-object.js","sourceRoot":"","sources":["../../../ts/has-object.ts"],"names":[],"mappings":";;;AAAA,6CAAsC;AACtC,iDAAyD;AAEzD;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAsB,GAAY,EAAE,IAAU,EAAkC,EAAE;IAC1G,OAAO,IAAA,mBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAA,uBAAQ,EAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAsB,GAAY,EAAE,IAAU,EAAgD,EAAE;IAC7H,OAAO,IAAA,mBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAA,4BAAa,EAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../index.ts","../../ts/error-from-message.ts","../../ts/has-array.ts","../../ts/has-number.ts","../../ts/has-own.ts","../../ts/is-defined.ts","../../ts/is-int.ts","../../ts/is-list-of.ts","../../ts/is-object.ts","../../ts/is-predicate.ts","../../ts/scrub-stack-trace.ts"],"version":"5.7.2"}
|
|
1
|
+
{"root":["../../index.ts","../../ts/error-from-message.ts","../../ts/has-array.ts","../../ts/has-number.ts","../../ts/has-object.ts","../../ts/has-own.ts","../../ts/is-defined.ts","../../ts/is-int.ts","../../ts/is-list-of.ts","../../ts/is-object.ts","../../ts/is-predicate.ts","../../ts/scrub-stack-trace.ts"],"version":"5.7.2"}
|