Namespace JSV
				
				
			
				
				
				
					
Defined in:  jsv.js.
				
			
| Constructor Attributes | Constructor Name and Description | 
|---|---|
| A globaly accessible object that provides the ability to create and manage Environments,
as well as providing utility methods. | 
| Method Attributes | Method Name and Description | 
|---|---|
| <static> | JSV.createEnvironment(id)
								 Creates and returns a new Environment that is a clone of the environment registered with the provided ID. | 
| <static> | JSV.getDefaultEnvironmentID()
								 Returns the ID of the default environment. | 
| <static> | JSV.isJSONInstance(o)
								 Returns if the provide value is an instance of JSONInstance. | 
| <static> | JSV.isJSONSchema(o)
								 Returns if the provide value is an instance of JSONSchema. | 
| <static> | JSV.registerEnvironment(id, env)
								 Registers the provided Environment with the provided ID. | 
| <static> | JSV.setDefaultEnvironmentID(id)
								 Sets which registered ID is the default environment. | 
| Utility Method Attributes | Utility Method Name and Description | 
|---|---|
| <static> | JSV.clone(o, deep)
								 Creates a copy of the target object. | 
| <static> | JSV.createObject(proto)
								 Return a new object that inherits all of the properties of the provided object. | 
| <static> | JSV.escapeURIComponent(str)
								 Properly escapes a URI component for embedding into a URI string. | 
| <static> | JSV.filterArray(arr, iterator, scope)
								 Returns a new array that only contains the items allowed by the iterator. | 
| <static> | JSV.formatURI(uri)
								 Returns a URI that is formated for JSV. | 
| <static> | JSV.inherits(base, extra, extension)
								 Merges two schemas/instance together. | 
| <static> | JSV.keys(o)
								 Returns an array of the names of all properties of an object. | 
| <static> | JSV.mapArray(arr, iterator, scope)
								 Returns a new array with each item transformed by the iterator. | 
| <static> | JSV.mapObject(obj, iterator, scope)
								 Returns a new object with each property transformed by the iterator. | 
| <static> | JSV.popFirst(arr, o)
								 Mutates the array by removing the first item that matches the provided value in the array. | 
| <static> | JSV.pushUnique(arr, o)
								 Mutates the array by pushing the provided value onto the array only if it is not already there. | 
| <static> | JSV.randomUUID()
								 Generates a pseudo-random UUID. | 
| <static> | JSV.searchArray(arr, o)
								 Returns the first index in the array that the provided item is located at. | 
| <static> | JSV.toArray(o)
								 Returns an array representation of a value. | 
| <static> | JSV.typeOf(o)
								 Returns the name of the type of the provided value. | 
					Namespace Detail
				
				
				
						JSV
				
				
				
					A globaly accessible object that provides the ability to create and manage Environments,
as well as providing utility methods.
					
				
				
				
				
				
					
					
					
					
					
					
					
			
					Method Detail
				
				
					 
					<static> 
					
					{Environment}
					JSV.createEnvironment(id)
					
					
					
						Creates and returns a new Environment that is a clone of the environment registered with the provided ID.
If no environment ID is provided, the default environment is cloned.
						
						
					
					
					
					
						
							- Parameters:
- {String} id Optional
- The ID of the environment to clone. If undefined, the default environment ID is used.
- Throws:
- {Error}
- If there is no environment registered with the provided ID
- Returns:
- {Environment} A newly cloned Environment
<static> 
					
					{String}
					JSV.getDefaultEnvironmentID()
					
					
					
						Returns the ID of the default environment.
						
						
					
					
					
					
						
						
						
						
						
							- Returns:
- {String} The ID of the default environment
<static> 
					
					{Boolean}
					JSV.isJSONInstance(o)
					
					
					
						Returns if the provide value is an instance of JSONInstance.
						
						
					
					
					
					
						
							- Parameters:
- o
- The value to test
- Returns:
- {Boolean} If the provide value is an instance of JSONInstance
<static> 
					
					{Boolean}
					JSV.isJSONSchema(o)
					
					
					
						Returns if the provide value is an instance of JSONSchema.
						
						
					
					
					
					
						
							- Parameters:
- o
- The value to test
- Returns:
- {Boolean} If the provide value is an instance of JSONSchema
<static> 
					
					
					JSV.registerEnvironment(id, env)
					
					
					
						Registers the provided Environment with the provided ID.
						
						
					
					
					
					
						
							- Parameters:
- {String} id
- The ID of the environment
- {Environment} env
- The environment to register
<static> 
					
					
					JSV.setDefaultEnvironmentID(id)
					
					
					
						Sets which registered ID is the default environment.
						
						
					
					
					
					
						
							- Parameters:
- {String} id
- The ID of the registered environment that is default
- Throws:
- {Error}
- If there is no registered environment with the provided ID
					Utility Method Detail
				
				
					 
					<static> 
					
					
					JSV.clone(o, deep)
					
					
					
						Creates a copy of the target object.
					
					
					
						
							
This method will create a new instance of the target, and then mixin the properties of the target.
If deep is true, then each property will be cloned before mixin.
Warning: This is not a generic clone function, as it will only properly clone objects and arrays.
- Parameters:
- {Any} o
- The value to clone
- {Boolean} deep Optional, Default: false
- If each property should be recursively cloned
- Returns:
- A cloned copy of the provided value
<static> 
					
					{Object}
					JSV.createObject(proto)
					
					
					
						Return a new object that inherits all of the properties of the provided object.
						
						
					
					
					
					
						
							- Parameters:
- {Object} proto
- The prototype of the new object
- Returns:
- {Object} A new object that inherits all of the properties of the provided object
<static> 
					
					{String}
					JSV.escapeURIComponent(str)
					
					
					
						Properly escapes a URI component for embedding into a URI string.
						
						
					
					
					
					
						
							- Parameters:
- {String} str
- The URI component to escape
- Returns:
- {String} The escaped URI component
<static> 
					
					{Array}
					JSV.filterArray(arr, iterator, scope)
					
					
					
						Returns a new array that only contains the items allowed by the iterator.
						
						
					
					
					
					
						
							- Parameters:
- {Array} arr
- The array to filter
- {Function} iterator
- The function that returns true if the provided property should be added to the array
- {Object} scope
- The value of thiswithin the iterator
- Returns:
- {Array} A new array that contains the items allowed by the iterator
<static> 
					
					{String}
					JSV.formatURI(uri)
					
					
					
						Returns a URI that is formated for JSV. Currently, this only ensures that the URI ends with a hash tag (
					
					
					
						
							#).
						
						
					- Parameters:
- {String} uri
- The URI to format
- Returns:
- {String} The URI formatted for JSV
<static> 
					
					{Any}
					JSV.inherits(base, extra, extension)
					
					
					
						Merges two schemas/instance together.
						
						
					
					
					
					
						
							- Parameters:
- {JSONSchema|Any} base
- The old value to merge
- {JSONSchema|Any} extra
- The new value to merge
- {Boolean} extension
- If the merge is a JSON Schema extension
- Returns:
- {Any} The modified base value
<static> 
					
					{Array}
					JSV.keys(o)
					
					
					
						Returns an array of the names of all properties of an object.
						
						
					
					
					
					
						
							- Parameters:
- {Object|Array} o
- The object in question
- Returns:
- {Array} The names of all properties
<static> 
					
					{Array}
					JSV.mapArray(arr, iterator, scope)
					
					
					
						Returns a new array with each item transformed by the iterator.
						
						
					
					
					
					
						
							- Parameters:
- {Array} arr
- The array to transform
- {Function} iterator
- A function that returns the new value of the provided item
- {Object} scope
- The value of thisin the iterator
- Returns:
- {Array} A new array with each item transformed
<static> 
					
					{Object}
					JSV.mapObject(obj, iterator, scope)
					
					
					
						Returns a new object with each property transformed by the iterator.
						
						
					
					
					
					
						
							- Parameters:
- {Object} obj
- The object to transform
- {Function} iterator
- A function that returns the new value of the provided property
- {Object} scope Optional
- The value of thisin the iterator
- Returns:
- {Object} A new object with each property transformed
<static> 
					
					{Array}
					JSV.popFirst(arr, o)
					
					
					
						Mutates the array by removing the first item that matches the provided value in the array.
						
						
					
					
					
					
						
							- Parameters:
- {Array} arr
- The array to modify
- {Any} o
- The object to remove from the array
- Returns:
- {Array} The provided array for chaining
<static> 
					
					{Array}
					JSV.pushUnique(arr, o)
					
					
					
						Mutates the array by pushing the provided value onto the array only if it is not already there.
						
						
					
					
					
					
						
							- Parameters:
- {Array} arr
- The array to modify
- {Any} o
- The object to add to the array if it is not already there
- Returns:
- {Array} The provided array for chaining
<static> 
					
					{String}
					JSV.randomUUID()
					
					
					
						Generates a pseudo-random UUID.
						
						
					
					
					
					
						
						
						
						
						
							- Returns:
- {String} A new universally unique ID
<static> 
					
					{Number}
					JSV.searchArray(arr, o)
					
					
					
						Returns the first index in the array that the provided item is located at.
						
						
					
					
					
					
						
							- Parameters:
- {Array} arr
- The array to search
- {Any} o
- The item being searched for
- Returns:
- {Number} The index of the item in the array, or -1if not found
<static> 
					
					{Array}
					JSV.toArray(o)
					
					
					
						Returns an array representation of a value.
					
					
					
						
							- For array-like objects, the value will be casted as an Array type.
- If an array is provided, the function will simply return the same array.
- For a null or undefined value, the result will be an empty Array.
- For all other values, the value will be the first element in a new Array.
- Parameters:
- {Any} o
- The value to convert into an array
- Returns:
- {Array} The value as an array
<static> 
					
					{String}
					JSV.typeOf(o)
					
					
					
						Returns the name of the type of the provided value.
						
						
					
					
					
					
						
							- Parameters:
- {Any} o
- The value to determine the type of
- Returns:
- {String} The name of the type of the value