@@ -63,7 +63,9 @@ import hasWebAssemblySupport = require( '@stdlib/assert/has-wasm-support' );
6363import hasWeakMapSupport = require( '@stdlib/assert/has-weakmap-support' ) ;
6464import hasWeakSetSupport = require( '@stdlib/assert/has-weakset-support' ) ;
6565import instanceOf = require( '@stdlib/assert/instance-of' ) ;
66+ import isAbsoluteHttpURI = require( '@stdlib/assert/is-absolute-http-uri' ) ;
6667import isAbsolutePath = require( '@stdlib/assert/is-absolute-path' ) ;
68+ import isAbsoluteURI = require( '@stdlib/assert/is-absolute-uri' ) ;
6769import isAccessorProperty = require( '@stdlib/assert/is-accessor-property' ) ;
6870import isAccessorPropertyIn = require( '@stdlib/assert/is-accessor-property-in' ) ;
6971import isAlphagram = require( '@stdlib/assert/is-alphagram' ) ;
@@ -159,6 +161,7 @@ import isIteratorLike = require( '@stdlib/assert/is-iterator-like' );
159161import isJSON = require( '@stdlib/assert/is-json' ) ;
160162import isLeapYear = require( '@stdlib/assert/is-leap-year' ) ;
161163import IS_LITTLE_ENDIAN = require( '@stdlib/assert/is-little-endian' ) ;
164+ import isLocalhost = require( '@stdlib/assert/is-localhost' ) ;
162165import isLowercase = require( '@stdlib/assert/is-lowercase' ) ;
163166import isMatrixLike = require( '@stdlib/assert/is-matrix-like' ) ;
164167import isMethod = require( '@stdlib/assert/is-method' ) ;
@@ -218,6 +221,7 @@ import isPrimitiveArray = require( '@stdlib/assert/is-primitive-array' );
218221import isPRNGLike = require( '@stdlib/assert/is-prng-like' ) ;
219222import isProbability = require( '@stdlib/assert/is-probability' ) ;
220223import isProbabilityArray = require( '@stdlib/assert/is-probability-array' ) ;
224+ import isPropertyKey = require( '@stdlib/assert/is-property-key' ) ;
221225import isPrototypeOf = require( '@stdlib/assert/is-prototype-of' ) ;
222226import isRangeError = require( '@stdlib/assert/is-range-error' ) ;
223227import isReadOnlyProperty = require( '@stdlib/assert/is-read-only-property' ) ;
@@ -230,6 +234,7 @@ import isReferenceError = require( '@stdlib/assert/is-reference-error' );
230234import isRegExp = require( '@stdlib/assert/is-regexp' ) ;
231235import isRegExpString = require( '@stdlib/assert/is-regexp-string' ) ;
232236import isRelativePath = require( '@stdlib/assert/is-relative-path' ) ;
237+ import isRelativeURI = require( '@stdlib/assert/is-relative-uri' ) ;
233238import isSafeInteger = require( '@stdlib/assert/is-safe-integer' ) ;
234239import isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ) ;
235240import isSameValue = require( '@stdlib/assert/is-same-value' ) ;
@@ -946,6 +951,38 @@ interface Namespace {
946951 */
947952 instanceOf : typeof instanceOf ;
948953
954+ /**
955+ * Tests whether a value is an absolute HTTP(S) URI.
956+ *
957+ * @param value - value to test
958+ * @returns boolean indicating whether a value is an absolute HTTP(S) URI
959+ *
960+ * @example
961+ * var bool = ns.isAbsoluteHttpURI( 'http://example.com/' );
962+ * // returns true
963+ *
964+ * @example
965+ * var bool = ns.isAbsoluteHttpURI( 'https://example.com/docs#heading' );
966+ * // returns true
967+ *
968+ * @example
969+ * var bool = ns.isAbsoluteHttpURI( 'ftp://example.com' );
970+ * // returns false
971+ *
972+ * @example
973+ * var bool = ns.isAbsoluteHttpURI( '/dashboard' );
974+ * // returns false
975+ *
976+ * @example
977+ * var bool = ns.isAbsoluteHttpURI( './png.json' );
978+ * // returns false
979+ *
980+ * @example
981+ * var bool = ns.isAbsoluteHttpURI( null );
982+ * // returns false
983+ */
984+ isAbsoluteHttpURI : typeof isAbsoluteHttpURI ;
985+
949986 /**
950987 * Tests if a value is an absolute path.
951988 *
@@ -985,6 +1022,34 @@ interface Namespace {
9851022 */
9861023 isAbsolutePath : typeof isAbsolutePath ;
9871024
1025+ /**
1026+ * Tests whether a value is an absolute URI.
1027+ *
1028+ * @param value - value to test
1029+ * @returns boolean indicating whether a value is an absolute URI
1030+ *
1031+ * @example
1032+ * var bool = ns.isAbsoluteURI( 'http://example.com/' );
1033+ * // returns true
1034+ *
1035+ * @example
1036+ * var bool = ns.isAbsoluteURI( 'https://example.com/docs#heading' );
1037+ * // returns true
1038+ *
1039+ * @example
1040+ * var bool = ns.isAbsoluteURI( '/dashboard' );
1041+ * // returns false
1042+ *
1043+ * @example
1044+ * var bool = ns.isAbsoluteURI( './png.json' );
1045+ * // returns false
1046+ *
1047+ * @example
1048+ * var bool = ns.isAbsoluteURI( null );
1049+ * // returns false
1050+ */
1051+ isAbsoluteURI : typeof isAbsoluteURI ;
1052+
9881053 /**
9891054 * Tests if an object's own property has an accessor descriptor.
9901055 *
@@ -1294,7 +1359,7 @@ interface Namespace {
12941359 * function beep() {
12951360 * return 'beep';
12961361 * }
1297-
1362+ *
12981363 * var bool = ns.isArrowFunction( beep );
12991364 * // returns false
13001365 */
@@ -3173,6 +3238,38 @@ interface Namespace {
31733238 */
31743239 IS_LITTLE_ENDIAN : typeof IS_LITTLE_ENDIAN ;
31753240
3241+ /**
3242+ * Tests whether a value is a localhost hostname.
3243+ *
3244+ * @param value - value to test
3245+ * @returns boolean indicating whether value is a localhost hostname
3246+ *
3247+ * @example
3248+ * var bool = ns.isLocalhost( 'localhost' );
3249+ * // returns true
3250+ *
3251+ * @example
3252+ * var bool = ns.isLocalhost( '127.0.0.1' );
3253+ * // returns true
3254+ *
3255+ * @example
3256+ * var bool = ns.isLocalhost( '[::1]' );
3257+ * // returns true
3258+ *
3259+ * @example
3260+ * var bool = ns.isLocalhost( 'wikipedia.org' );
3261+ * // returns false
3262+ *
3263+ * @example
3264+ * var bool = ns.isLocalhost( 'stdlib.io' );
3265+ * // returns false
3266+ *
3267+ * @example
3268+ * var bool = ns.isLocalhost( null );
3269+ * // returns false
3270+ */
3271+ isLocalhost : typeof isLocalhost ;
3272+
31763273 /**
31773274 * Tests if a value is a lowercase string.
31783275 *
@@ -4636,6 +4733,34 @@ interface Namespace {
46364733 */
46374734 isProbabilityArray : typeof isProbabilityArray ;
46384735
4736+ /**
4737+ * Tests whether a value is a property key.
4738+ *
4739+ * ## Notes
4740+ *
4741+ * - A property key is either a string, symbol, or a nonnegative integer.
4742+ *
4743+ * @param value - value to test
4744+ * @returns boolean indicating whether value is a property key
4745+ *
4746+ * @example
4747+ * var bool = ns.isPropertyKey( 'beep' );
4748+ * // returns true
4749+ *
4750+ * @example
4751+ * var bool = ns.isPropertyKey( 37 );
4752+ * // returns true
4753+ *
4754+ * @example
4755+ * var bool = ns.isPropertyKey( {} );
4756+ * // returns false
4757+ *
4758+ * @example
4759+ * var bool = ns.isPropertyKey( [] );
4760+ * // returns false
4761+ */
4762+ isPropertyKey : typeof isPropertyKey ;
4763+
46394764 /**
46404765 * Tests if an object's prototype chain contains a provided prototype.
46414766 *
@@ -4978,6 +5103,30 @@ interface Namespace {
49785103 */
49795104 isRelativePath : typeof isRelativePath ;
49805105
5106+ /**
5107+ * Tests whether a value is a relative URI.
5108+ *
5109+ * @param value - value to test
5110+ * @returns boolean indicating whether a value is a relative URI
5111+ *
5112+ * @example
5113+ * var bool = ns.isRelativeURI( './beep/boop' );
5114+ * // returns true
5115+ *
5116+ * @example
5117+ * var bool = ns.isRelativeURI( '/dashboard/admin' );
5118+ * // returns true
5119+ *
5120+ * @example
5121+ * var bool = ns.isRelativeURI( 'http://wikipedia.org' );
5122+ * // returns false
5123+ *
5124+ * @example
5125+ * var bool = ns.isRelativeURI( null );
5126+ * // returns false
5127+ */
5128+ isRelativeURI : typeof isRelativeURI ;
5129+
49815130 /**
49825131 * Tests if a value is a safe integer.
49835132 *
0 commit comments