si-funciona 1.0.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/LICENSE +21 -0
- package/README.md +1127 -4
- package/browser/siFunciona.js +20614 -0
- package/browser/siFunciona.min.js +1 -0
- package/dist/helpers/arrays/addUniqueToArray.js +24 -0
- package/dist/helpers/arrays/addUniqueToArray.min.js +1 -0
- package/dist/helpers/arrays/buildArray.js +29 -0
- package/dist/helpers/arrays/buildArray.min.js +1 -0
- package/dist/helpers/arrays/buildArrayOfReferences.js +26 -0
- package/dist/helpers/arrays/buildArrayOfReferences.min.js +1 -0
- package/dist/helpers/arrays/compareArrays.js +173 -0
- package/dist/helpers/arrays/compareArrays.min.js +1 -0
- package/dist/helpers/arrays/mergeArrays.js +59 -0
- package/dist/helpers/arrays/mergeArrays.min.js +1 -0
- package/dist/helpers/arrays/uniqueArray.js +28 -0
- package/dist/helpers/arrays/uniqueArray.min.js +1 -0
- package/dist/helpers/arrays.js +32 -0
- package/dist/helpers/arrays.min.js +1 -0
- package/dist/helpers/descriptors/assignDescriptor.js +92 -0
- package/dist/helpers/descriptors/assignDescriptor.min.js +1 -0
- package/dist/helpers/descriptors/assignDescriptorDetail.js +69 -0
- package/dist/helpers/descriptors/assignDescriptorDetail.min.js +1 -0
- package/dist/helpers/descriptors/checkClearValues.js +29 -0
- package/dist/helpers/descriptors/checkClearValues.min.js +1 -0
- package/dist/helpers/descriptors/checkDescriptorComplete.js +32 -0
- package/dist/helpers/descriptors/checkDescriptorComplete.min.js +1 -0
- package/dist/helpers/descriptors/cloneDescriptor.js +40 -0
- package/dist/helpers/descriptors/cloneDescriptor.min.js +1 -0
- package/dist/helpers/descriptors/cloneDescriptorDetail.js +36 -0
- package/dist/helpers/descriptors/cloneDescriptorDetail.min.js +1 -0
- package/dist/helpers/descriptors/compareDescriptor.js +50 -0
- package/dist/helpers/descriptors/compareDescriptor.min.js +1 -0
- package/dist/helpers/descriptors/describeObject.js +54 -0
- package/dist/helpers/descriptors/describeObject.min.js +1 -0
- package/dist/helpers/descriptors/describeObjectDetail.js +49 -0
- package/dist/helpers/descriptors/describeObjectDetail.min.js +1 -0
- package/dist/helpers/descriptors/describeObjectMap.js +115 -0
- package/dist/helpers/descriptors/describeObjectMap.min.js +1 -0
- package/dist/helpers/descriptors/nextReference.js +44 -0
- package/dist/helpers/descriptors/nextReference.min.js +1 -0
- package/dist/helpers/descriptors/sameDescriptor.js +33 -0
- package/dist/helpers/descriptors/sameDescriptor.min.js +1 -0
- package/dist/helpers/descriptors/samples/descriptor.js +36 -0
- package/dist/helpers/descriptors/samples/descriptor.min.js +1 -0
- package/dist/helpers/descriptors/samples/descriptorDetail.js +42 -0
- package/dist/helpers/descriptors/samples/descriptorDetail.min.js +1 -0
- package/dist/helpers/descriptors/samples/descriptorMap.js +21 -0
- package/dist/helpers/descriptors/samples/descriptorMap.min.js +1 -0
- package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +286 -0
- package/dist/helpers/descriptors/samples/mappedDescriptorMap.min.js +1 -0
- package/dist/helpers/descriptors.js +44 -0
- package/dist/helpers/descriptors.min.js +1 -0
- package/dist/helpers/functions/callWithParams.js +41 -0
- package/dist/helpers/functions/callWithParams.min.js +1 -0
- package/dist/helpers/functions/curry.js +33 -0
- package/dist/helpers/functions/curry.min.js +1 -0
- package/dist/helpers/functions/delay.js +48 -0
- package/dist/helpers/functions/delay.min.js +1 -0
- package/dist/helpers/functions/onBodyLoad.js +53 -0
- package/dist/helpers/functions/onBodyLoad.min.js +1 -0
- package/dist/helpers/functions/pipe.js +33 -0
- package/dist/helpers/functions/pipe.min.js +1 -0
- package/dist/helpers/functions/preloadParams.js +54 -0
- package/dist/helpers/functions/preloadParams.min.js +1 -0
- package/dist/helpers/functions/queueManager.js +107 -0
- package/dist/helpers/functions/queueManager.min.js +1 -0
- package/dist/helpers/functions/queueTimeout.js +46 -0
- package/dist/helpers/functions/queueTimeout.min.js +1 -0
- package/dist/helpers/functions/relevancyFilter.js +59 -0
- package/dist/helpers/functions/relevancyFilter.min.js +1 -0
- package/dist/helpers/functions/trace.js +29 -0
- package/dist/helpers/functions/trace.min.js +1 -0
- package/dist/helpers/functions.js +40 -0
- package/dist/helpers/functions.min.js +1 -0
- package/dist/helpers/numbers/absoluteMax.js +21 -0
- package/dist/helpers/numbers/absoluteMax.min.js +1 -0
- package/dist/helpers/numbers/absoluteMin.js +21 -0
- package/dist/helpers/numbers/absoluteMin.min.js +1 -0
- package/dist/helpers/numbers/compare.js +24 -0
- package/dist/helpers/numbers/compare.min.js +1 -0
- package/dist/helpers/numbers/randomInteger.js +26 -0
- package/dist/helpers/numbers/randomInteger.min.js +1 -0
- package/dist/helpers/numbers/randomNumber.js +26 -0
- package/dist/helpers/numbers/randomNumber.min.js +1 -0
- package/dist/helpers/numbers.js +30 -0
- package/dist/helpers/numbers.min.js +1 -0
- package/dist/helpers/objects/cloneObject.js +45 -0
- package/dist/helpers/objects/cloneObject.min.js +1 -0
- package/dist/helpers/objects/dotGet.js +58 -0
- package/dist/helpers/objects/dotGet.min.js +1 -0
- package/dist/helpers/objects/dotNotate.js +112 -0
- package/dist/helpers/objects/dotNotate.min.js +1 -0
- package/dist/helpers/objects/dotSet.js +52 -0
- package/dist/helpers/objects/dotSet.min.js +1 -0
- package/dist/helpers/objects/dotUnset.js +50 -0
- package/dist/helpers/objects/dotUnset.min.js +1 -0
- package/dist/helpers/objects/emptyObject.js +23 -0
- package/dist/helpers/objects/emptyObject.min.js +1 -0
- package/dist/helpers/objects/filterObject.js +54 -0
- package/dist/helpers/objects/filterObject.min.js +1 -0
- package/dist/helpers/objects/isCloneable.js +30 -0
- package/dist/helpers/objects/isCloneable.min.js +1 -0
- package/dist/helpers/objects/isInstanceObject.js +30 -0
- package/dist/helpers/objects/isInstanceObject.min.js +1 -0
- package/dist/helpers/objects/isObject.js +28 -0
- package/dist/helpers/objects/isObject.min.js +1 -0
- package/dist/helpers/objects/mapObject.js +49 -0
- package/dist/helpers/objects/mapObject.min.js +1 -0
- package/dist/helpers/objects/mergeObjects.js +23 -0
- package/dist/helpers/objects/mergeObjects.min.js +1 -0
- package/dist/helpers/objects/mergeObjectsBase.js +120 -0
- package/dist/helpers/objects/mergeObjectsBase.min.js +1 -0
- package/dist/helpers/objects/mergeObjectsMutable.js +21 -0
- package/dist/helpers/objects/mergeObjectsMutable.min.js +1 -0
- package/dist/helpers/objects/objectKeys.js +46 -0
- package/dist/helpers/objects/objectKeys.min.js +1 -0
- package/dist/helpers/objects/objectValues.js +30 -0
- package/dist/helpers/objects/objectValues.min.js +1 -0
- package/dist/helpers/objects/reduceObject.js +50 -0
- package/dist/helpers/objects/reduceObject.min.js +1 -0
- package/dist/helpers/objects/setAndReturnValue.js +23 -0
- package/dist/helpers/objects/setAndReturnValue.min.js +1 -0
- package/dist/helpers/objects/setValue.js +24 -0
- package/dist/helpers/objects/setValue.min.js +1 -0
- package/dist/helpers/objects.js +58 -0
- package/dist/helpers/objects.min.js +1 -0
- package/dist/helpers/strings/camelCase.js +31 -0
- package/dist/helpers/strings/camelCase.min.js +1 -0
- package/dist/helpers/strings/kabobCase.js +30 -0
- package/dist/helpers/strings/kabobCase.min.js +1 -0
- package/dist/helpers/strings/snakeCase.js +30 -0
- package/dist/helpers/strings/snakeCase.min.js +1 -0
- package/dist/helpers/strings/strAfter.js +15 -0
- package/dist/helpers/strings/strAfter.min.js +1 -0
- package/dist/helpers/strings/strAfterLast.js +15 -0
- package/dist/helpers/strings/strAfterLast.min.js +1 -0
- package/dist/helpers/strings/strBefore.js +16 -0
- package/dist/helpers/strings/strBefore.min.js +1 -0
- package/dist/helpers/strings/strBeforeLast.js +15 -0
- package/dist/helpers/strings/strBeforeLast.min.js +1 -0
- package/dist/helpers/strings/titleCase.js +31 -0
- package/dist/helpers/strings/titleCase.min.js +1 -0
- package/dist/helpers/strings/ucFirst.js +21 -0
- package/dist/helpers/strings/ucFirst.min.js +1 -0
- package/dist/helpers/strings/words.js +22 -0
- package/dist/helpers/strings/words.min.js +1 -0
- package/dist/helpers/strings.js +40 -0
- package/dist/helpers/strings.min.js +1 -0
- package/dist/main.js +28 -0
- package/dist/main.min.js +1 -0
- package/package.json +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,1127 @@
|
|
|
1
|
+
# Sí, funciona
|
|
2
|
+
|
|
3
|
+
## Funciones de utilidad para uso general. [General usage utility functions.]
|
|
4
|
+
|
|
5
|
+
## Modules
|
|
6
|
+
|
|
7
|
+
<dl>
|
|
8
|
+
<dt><a href="#module_siFunciona">siFunciona</a></dt>
|
|
9
|
+
<dd><p>All of the siFunciona system functions for stringing together functions and simplifying logic.</p>
|
|
10
|
+
</dd>
|
|
11
|
+
<dt><a href="#module_stringHelpers">stringHelpers</a></dt>
|
|
12
|
+
<dd><p>Manage how strings are manipulated with these utilities.</p>
|
|
13
|
+
</dd>
|
|
14
|
+
<dt><a href="#module_objectHelpers">objectHelpers</a></dt>
|
|
15
|
+
<dd><p>Simplify working with object by providing array-like parsing. Also, provides cloning and merging along with accessors that always have a return value for optimal nesting.</p>
|
|
16
|
+
</dd>
|
|
17
|
+
<dt><a href="#module_numberHelpers">numberHelpers</a></dt>
|
|
18
|
+
<dd><p>Some number comparators and random number generators.</p>
|
|
19
|
+
</dd>
|
|
20
|
+
<dt><a href="#module_functionHelpers">functionHelpers</a></dt>
|
|
21
|
+
<dd><p>Manage how functions are called with these utilities.</p>
|
|
22
|
+
</dd>
|
|
23
|
+
<dt><a href="#module_objectDescriptors">objectDescriptors</a></dt>
|
|
24
|
+
<dd><p>Create a format to standardize every object into a specific template.</p>
|
|
25
|
+
</dd>
|
|
26
|
+
<dt><a href="#module_arrayHelpers">arrayHelpers</a></dt>
|
|
27
|
+
<dd><p>Some simple utility functions for generating arrays or performing work on arrays.</p>
|
|
28
|
+
</dd>
|
|
29
|
+
</dl>
|
|
30
|
+
|
|
31
|
+
<a name="module_siFunciona"></a>
|
|
32
|
+
|
|
33
|
+
## siFunciona
|
|
34
|
+
All of the siFunciona system functions for stringing together functions and simplifying logic.
|
|
35
|
+
|
|
36
|
+
**Version**: 1.0.0
|
|
37
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
38
|
+
<a name="module_stringHelpers"></a>
|
|
39
|
+
|
|
40
|
+
## stringHelpers
|
|
41
|
+
Manage how strings are manipulated with these utilities.
|
|
42
|
+
|
|
43
|
+
**Version**: 1.0.0
|
|
44
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
45
|
+
|
|
46
|
+
* [stringHelpers](#module_stringHelpers)
|
|
47
|
+
* [.words(str)](#module_stringHelpers.words) ⇒ <code>array</code>
|
|
48
|
+
* [.ucFirst(str)](#module_stringHelpers.ucFirst) ⇒ <code>string</code>
|
|
49
|
+
* [.titleCase(str)](#module_stringHelpers.titleCase) ⇒ <code>string</code>
|
|
50
|
+
* [.snakeCase(str)](#module_stringHelpers.snakeCase) ⇒ <code>string</code>
|
|
51
|
+
* [.kabobCase(str)](#module_stringHelpers.kabobCase) ⇒ <code>string</code>
|
|
52
|
+
* [.camelCase(str)](#module_stringHelpers.camelCase) ⇒ <code>string</code>
|
|
53
|
+
|
|
54
|
+
<a name="module_stringHelpers.words"></a>
|
|
55
|
+
|
|
56
|
+
### stringHelpers.words(str) ⇒ <code>array</code>
|
|
57
|
+
Split a string into sets of numbers or letters.
|
|
58
|
+
|
|
59
|
+
**Kind**: static method of [<code>stringHelpers</code>](#module_stringHelpers)
|
|
60
|
+
|
|
61
|
+
| Param | Type |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| str | <code>string</code> |
|
|
64
|
+
|
|
65
|
+
<a name="module_stringHelpers.ucFirst"></a>
|
|
66
|
+
|
|
67
|
+
### stringHelpers.ucFirst(str) ⇒ <code>string</code>
|
|
68
|
+
Given a string, make the first character uppercase and the rest lowercase.
|
|
69
|
+
|
|
70
|
+
**Kind**: static method of [<code>stringHelpers</code>](#module_stringHelpers)
|
|
71
|
+
|
|
72
|
+
| Param | Type |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| str | <code>string</code> |
|
|
75
|
+
|
|
76
|
+
<a name="module_stringHelpers.titleCase"></a>
|
|
77
|
+
|
|
78
|
+
### stringHelpers.titleCase(str) ⇒ <code>string</code>
|
|
79
|
+
Given a string in kebab-case, snake_case, camelCase or 'Sentence case', convert to 'Title Case'.
|
|
80
|
+
|
|
81
|
+
**Kind**: static method of [<code>stringHelpers</code>](#module_stringHelpers)
|
|
82
|
+
|
|
83
|
+
| Param | Type |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| str | <code>string</code> |
|
|
86
|
+
|
|
87
|
+
<a name="module_stringHelpers.snakeCase"></a>
|
|
88
|
+
|
|
89
|
+
### stringHelpers.snakeCase(str) ⇒ <code>string</code>
|
|
90
|
+
Given a string in kebab-case, camelCase or 'Sentence case', convert to snake_case.
|
|
91
|
+
|
|
92
|
+
**Kind**: static method of [<code>stringHelpers</code>](#module_stringHelpers)
|
|
93
|
+
|
|
94
|
+
| Param | Type |
|
|
95
|
+
| --- | --- |
|
|
96
|
+
| str | <code>string</code> |
|
|
97
|
+
|
|
98
|
+
<a name="module_stringHelpers.kabobCase"></a>
|
|
99
|
+
|
|
100
|
+
### stringHelpers.kabobCase(str) ⇒ <code>string</code>
|
|
101
|
+
Given a string in snake_case, camelCase or 'Sentence case', convert to kabob-case.
|
|
102
|
+
|
|
103
|
+
**Kind**: static method of [<code>stringHelpers</code>](#module_stringHelpers)
|
|
104
|
+
|
|
105
|
+
| Param | Type |
|
|
106
|
+
| --- | --- |
|
|
107
|
+
| str | <code>string</code> |
|
|
108
|
+
|
|
109
|
+
<a name="module_stringHelpers.camelCase"></a>
|
|
110
|
+
|
|
111
|
+
### stringHelpers.camelCase(str) ⇒ <code>string</code>
|
|
112
|
+
Given a string in kebab-case, snake_case or 'Sentence case', convert to camelCase.
|
|
113
|
+
|
|
114
|
+
**Kind**: static method of [<code>stringHelpers</code>](#module_stringHelpers)
|
|
115
|
+
|
|
116
|
+
| Param | Type |
|
|
117
|
+
| --- | --- |
|
|
118
|
+
| str | <code>string</code> |
|
|
119
|
+
|
|
120
|
+
<a name="module_objectHelpers"></a>
|
|
121
|
+
|
|
122
|
+
## objectHelpers
|
|
123
|
+
Simplify working with object by providing array-like parsing. Also, provides cloning and merging along with accessors that always have a return value for optimal nesting.
|
|
124
|
+
|
|
125
|
+
**Version**: 1.0.0
|
|
126
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
127
|
+
|
|
128
|
+
* [objectHelpers](#module_objectHelpers)
|
|
129
|
+
* _static_
|
|
130
|
+
* [.setValue(key, value, item)](#module_objectHelpers.setValue) ⇒ <code>Object</code> \| <code>Array</code>
|
|
131
|
+
* [.setAndReturnValue(item, key, value)](#module_objectHelpers.setAndReturnValue) ⇒ <code>\*</code>
|
|
132
|
+
* [.reduceObject(obj, fn, [initialValue])](#module_objectHelpers.reduceObject) ⇒ <code>Object</code> \| <code>Array</code>
|
|
133
|
+
* [.objectValues(object, [includeInherited])](#module_objectHelpers.objectValues) ⇒ <code>Array</code>
|
|
134
|
+
* [.objectKeys(object, [includeInherited])](#module_objectHelpers.objectKeys) ⇒ <code>Array.<(string\|number)></code>
|
|
135
|
+
* [.mergeObjectsMutable(...objects)](#module_objectHelpers.mergeObjectsMutable) ⇒ <code>\*</code>
|
|
136
|
+
* [.mergeObjectsBase([options])](#module_objectHelpers.mergeObjectsBase) ⇒ [<code>mergeObjectsCallback</code>](#module_objectHelpers..mergeObjectsCallback)
|
|
137
|
+
* [.mergeObjects(...objects)](#module_objectHelpers.mergeObjects) ⇒ <code>\*</code>
|
|
138
|
+
* [.mapObject(obj, fn, [thisArg])](#module_objectHelpers.mapObject) ⇒ <code>Object</code> \| <code>Array</code>
|
|
139
|
+
* [.isObject(object)](#module_objectHelpers.isObject) ⇒ <code>boolean</code>
|
|
140
|
+
* [.isInstanceObject(object)](#module_objectHelpers.isInstanceObject) ⇒ <code>boolean</code>
|
|
141
|
+
* [.isCloneable(value)](#module_objectHelpers.isCloneable) ⇒ <code>boolean</code>
|
|
142
|
+
* [.filterObject(obj, fn, [thisArg])](#module_objectHelpers.filterObject) ⇒ <code>Object</code> \| <code>Array</code>
|
|
143
|
+
* [.emptyObject(item)](#module_objectHelpers.emptyObject) ⇒ <code>boolean</code>
|
|
144
|
+
* [.dotUnset(arrayObject, dotNotation)](#module_objectHelpers.dotUnset) ⇒ <code>Object</code>
|
|
145
|
+
* [.dotSet(arrayObject, dotNotation, value)](#module_objectHelpers.dotSet) ⇒ <code>Object</code>
|
|
146
|
+
* [.dotNotate(arrayObject, [retainObjects])](#module_objectHelpers.dotNotate) ⇒ <code>DotNotatedObject</code>
|
|
147
|
+
* [.dotGet(arrayObject, dotNotation, [defaultValue])](#module_objectHelpers.dotGet) ⇒ <code>\*</code>
|
|
148
|
+
* [.cloneObject(object, [options])](#module_objectHelpers.cloneObject) ⇒ <code>Object</code>
|
|
149
|
+
* [.DotNotationString](#module_objectHelpers.DotNotationString) : <code>string</code>
|
|
150
|
+
* [.DotNotatedObject](#module_objectHelpers.DotNotatedObject) : <code>Object.<DotNotationString, \*></code>
|
|
151
|
+
* _inner_
|
|
152
|
+
* [~handleRetainObjects([retainObjects])](#module_objectHelpers..handleRetainObjects) ⇒ <code>function</code>
|
|
153
|
+
* [~performDotNotate(arrayObject, didRetain, [prepend], [results])](#module_objectHelpers..performDotNotate) ⇒ <code>DotNotatedObject</code>
|
|
154
|
+
* [~reduceCallback](#module_objectHelpers..reduceCallback) ⇒ <code>\*</code>
|
|
155
|
+
* [~mergeObjectsCallback](#module_objectHelpers..mergeObjectsCallback) ⇒ <code>\*</code>
|
|
156
|
+
* [~mapCallback](#module_objectHelpers..mapCallback) ⇒ <code>\*</code>
|
|
157
|
+
* [~filterCallback](#module_objectHelpers..filterCallback) ⇒ <code>boolean</code>
|
|
158
|
+
|
|
159
|
+
<a name="module_objectHelpers.setValue"></a>
|
|
160
|
+
|
|
161
|
+
### objectHelpers.setValue(key, value, item) ⇒ <code>Object</code> \| <code>Array</code>
|
|
162
|
+
Set a value on an item, then return the item.
|
|
163
|
+
|
|
164
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
165
|
+
|
|
166
|
+
| Param | Type | Description |
|
|
167
|
+
| --- | --- | --- |
|
|
168
|
+
| key | <code>string</code> \| <code>number</code> | The key on the item which will have its value set |
|
|
169
|
+
| value | <code>\*</code> | Any value to be applied to the key |
|
|
170
|
+
| item | <code>Object</code> \| <code>Array</code> | An object or array to be updated |
|
|
171
|
+
|
|
172
|
+
<a name="module_objectHelpers.setAndReturnValue"></a>
|
|
173
|
+
|
|
174
|
+
### objectHelpers.setAndReturnValue(item, key, value) ⇒ <code>\*</code>
|
|
175
|
+
Set a value on an item, then return the value
|
|
176
|
+
|
|
177
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
178
|
+
|
|
179
|
+
| Param | Type | Description |
|
|
180
|
+
| --- | --- | --- |
|
|
181
|
+
| item | <code>Object</code> \| <code>Array</code> | An object or array to be updated |
|
|
182
|
+
| key | <code>string</code> \| <code>number</code> | The key on the item which will have its value set |
|
|
183
|
+
| value | <code>\*</code> | Any value to be applied to the key |
|
|
184
|
+
|
|
185
|
+
<a name="module_objectHelpers.reduceObject"></a>
|
|
186
|
+
|
|
187
|
+
### objectHelpers.reduceObject(obj, fn, [initialValue]) ⇒ <code>Object</code> \| <code>Array</code>
|
|
188
|
+
This function is intended to replicate behaviour of the Array.reduce() function but for Objects.
|
|
189
|
+
|
|
190
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
191
|
+
|
|
192
|
+
| Param | Type | Description |
|
|
193
|
+
| --- | --- | --- |
|
|
194
|
+
| obj | <code>Object</code> \| <code>Array</code> | The Object (or Array) to be filtered |
|
|
195
|
+
| fn | [<code>reduceCallback</code>](#module_objectHelpers..reduceCallback) \| <code>function</code> | The function to be processed for each filtered property |
|
|
196
|
+
| [initialValue] | <code>Object</code> \| <code>Array</code> | Optional. Value to use as the first argument to the first call of the callback. If no initial value is supplied, the first element in the array will be used. Calling reduce on an empty array without an initial value is an error. |
|
|
197
|
+
|
|
198
|
+
<a name="module_objectHelpers.objectValues"></a>
|
|
199
|
+
|
|
200
|
+
### objectHelpers.objectValues(object, [includeInherited]) ⇒ <code>Array</code>
|
|
201
|
+
Get an array of values from any object or array. Will return empty array when invalid or there are no values.
|
|
202
|
+
|
|
203
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
204
|
+
|
|
205
|
+
| Param | Type | Default |
|
|
206
|
+
| --- | --- | --- |
|
|
207
|
+
| object | <code>Object</code> \| <code>Array</code> | |
|
|
208
|
+
| [includeInherited] | <code>boolean</code> | <code>false</code> |
|
|
209
|
+
|
|
210
|
+
<a name="module_objectHelpers.objectKeys"></a>
|
|
211
|
+
|
|
212
|
+
### objectHelpers.objectKeys(object, [includeInherited]) ⇒ <code>Array.<(string\|number)></code>
|
|
213
|
+
Get an array of keys from any object or array. Will return empty array when invalid or there are no keys.
|
|
214
|
+
|
|
215
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
216
|
+
|
|
217
|
+
| Param | Type | Default |
|
|
218
|
+
| --- | --- | --- |
|
|
219
|
+
| object | <code>Object</code> \| <code>Array</code> | |
|
|
220
|
+
| [includeInherited] | <code>boolean</code> | <code>false</code> |
|
|
221
|
+
|
|
222
|
+
<a name="module_objectHelpers.mergeObjectsMutable"></a>
|
|
223
|
+
|
|
224
|
+
### objectHelpers.mergeObjectsMutable(...objects) ⇒ <code>\*</code>
|
|
225
|
+
Uses mergeObjectsBase deep merge objects and arrays, merge by reference.
|
|
226
|
+
|
|
227
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
228
|
+
**See**: [mergeObjectsCallback](#module_objectHelpers..mergeObjectsCallback)
|
|
229
|
+
|
|
230
|
+
| Param | Type | Description |
|
|
231
|
+
| --- | --- | --- |
|
|
232
|
+
| ...objects | <code>Object</code> | Provide a list of objects which will be merged starting from the end up into the first |
|
|
233
|
+
|
|
234
|
+
<a name="module_objectHelpers.mergeObjectsBase"></a>
|
|
235
|
+
|
|
236
|
+
### objectHelpers.mergeObjectsBase([options]) ⇒ [<code>mergeObjectsCallback</code>](#module_objectHelpers..mergeObjectsCallback)
|
|
237
|
+
Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
|
|
238
|
+
|
|
239
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
240
|
+
|
|
241
|
+
| Param | Type | Default |
|
|
242
|
+
| --- | --- | --- |
|
|
243
|
+
| [options] | <code>Object</code> | <code>{}</code> |
|
|
244
|
+
| [options.mapLimit] | <code>number</code> | <code>1000</code> |
|
|
245
|
+
| [options.depthLimit] | <code>number</code> | <code>-1</code> |
|
|
246
|
+
| [options.relevancyRange] | <code>number</code> | <code>100</code> |
|
|
247
|
+
| [options.map] | <code>Iterable</code> \| <code>array</code> | <code>[]</code> |
|
|
248
|
+
| [options.useClone] | <code>boolean</code> | <code>false</code> |
|
|
249
|
+
|
|
250
|
+
<a name="module_objectHelpers.mergeObjects"></a>
|
|
251
|
+
|
|
252
|
+
### objectHelpers.mergeObjects(...objects) ⇒ <code>\*</code>
|
|
253
|
+
Uses mergeObjectsBase deep merge objects and arrays, merge by value.
|
|
254
|
+
|
|
255
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
256
|
+
**See**: [mergeObjectsCallback](#module_objectHelpers..mergeObjectsCallback)
|
|
257
|
+
|
|
258
|
+
| Param | Type | Description |
|
|
259
|
+
| --- | --- | --- |
|
|
260
|
+
| ...objects | <code>Object</code> | Provide a list of objects which will be merged starting from the end up into the first |
|
|
261
|
+
|
|
262
|
+
<a name="module_objectHelpers.mapObject"></a>
|
|
263
|
+
|
|
264
|
+
### objectHelpers.mapObject(obj, fn, [thisArg]) ⇒ <code>Object</code> \| <code>Array</code>
|
|
265
|
+
This function is intended to replicate behaviour of the Array.map() function but for Objects.
|
|
266
|
+
|
|
267
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
268
|
+
|
|
269
|
+
| Param | Type | Description |
|
|
270
|
+
| --- | --- | --- |
|
|
271
|
+
| obj | <code>Object</code> \| <code>Array</code> | The Object (or Array) to be mapped |
|
|
272
|
+
| fn | [<code>mapCallback</code>](#module_objectHelpers..mapCallback) \| <code>function</code> | The function to be processed for each mapped property |
|
|
273
|
+
| [thisArg] | <code>Object</code> \| <code>Array</code> | Optional. Value to use as this when executing callback. |
|
|
274
|
+
|
|
275
|
+
<a name="module_objectHelpers.isObject"></a>
|
|
276
|
+
|
|
277
|
+
### objectHelpers.isObject(object) ⇒ <code>boolean</code>
|
|
278
|
+
Check if the provided thing is an object / array.
|
|
279
|
+
|
|
280
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
281
|
+
|
|
282
|
+
| Param | Type |
|
|
283
|
+
| --- | --- |
|
|
284
|
+
| object | <code>\*</code> |
|
|
285
|
+
|
|
286
|
+
<a name="module_objectHelpers.isInstanceObject"></a>
|
|
287
|
+
|
|
288
|
+
### objectHelpers.isInstanceObject(object) ⇒ <code>boolean</code>
|
|
289
|
+
Check if the current object has inherited properties.
|
|
290
|
+
|
|
291
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
292
|
+
|
|
293
|
+
| Param | Type |
|
|
294
|
+
| --- | --- |
|
|
295
|
+
| object | <code>Object</code> \| <code>Array</code> |
|
|
296
|
+
|
|
297
|
+
<a name="module_objectHelpers.isCloneable"></a>
|
|
298
|
+
|
|
299
|
+
### objectHelpers.isCloneable(value) ⇒ <code>boolean</code>
|
|
300
|
+
Determine if the value is a reference instance
|
|
301
|
+
|
|
302
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
303
|
+
|
|
304
|
+
| Param | Type |
|
|
305
|
+
| --- | --- |
|
|
306
|
+
| value | <code>Array</code> \| <code>Object</code> \| <code>\*</code> |
|
|
307
|
+
|
|
308
|
+
<a name="module_objectHelpers.filterObject"></a>
|
|
309
|
+
|
|
310
|
+
### objectHelpers.filterObject(obj, fn, [thisArg]) ⇒ <code>Object</code> \| <code>Array</code>
|
|
311
|
+
This function is intended to replicate behaviour of the Array.filter() function but for Objects.
|
|
312
|
+
|
|
313
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
314
|
+
|
|
315
|
+
| Param | Type | Description |
|
|
316
|
+
| --- | --- | --- |
|
|
317
|
+
| obj | <code>Object</code> \| <code>Array</code> | The Object (or Array) to be filtered |
|
|
318
|
+
| fn | [<code>filterCallback</code>](#module_objectHelpers..filterCallback) \| <code>function</code> | The function to be processed for each filtered property |
|
|
319
|
+
| [thisArg] | <code>Object</code> \| <code>Array</code> | Optional. Value to use as this when executing callback. |
|
|
320
|
+
|
|
321
|
+
<a name="module_objectHelpers.emptyObject"></a>
|
|
322
|
+
|
|
323
|
+
### objectHelpers.emptyObject(item) ⇒ <code>boolean</code>
|
|
324
|
+
Helper function for testing if the item is an Object or Array that does not have any properties
|
|
325
|
+
|
|
326
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
327
|
+
|
|
328
|
+
| Param | Type | Description |
|
|
329
|
+
| --- | --- | --- |
|
|
330
|
+
| item | <code>Object</code> \| <code>Array</code> | Object or Array to test |
|
|
331
|
+
|
|
332
|
+
<a name="module_objectHelpers.dotUnset"></a>
|
|
333
|
+
|
|
334
|
+
### objectHelpers.dotUnset(arrayObject, dotNotation) ⇒ <code>Object</code>
|
|
335
|
+
Unset a nested property value an object.
|
|
336
|
+
|
|
337
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
338
|
+
**Returns**: <code>Object</code> - The modified object
|
|
339
|
+
|
|
340
|
+
| Param | Type | Description |
|
|
341
|
+
| --- | --- | --- |
|
|
342
|
+
| arrayObject | <code>Object</code> | The array or object to set the property on |
|
|
343
|
+
| dotNotation | <code>string</code> | The path for the property |
|
|
344
|
+
|
|
345
|
+
<a name="module_objectHelpers.dotSet"></a>
|
|
346
|
+
|
|
347
|
+
### objectHelpers.dotSet(arrayObject, dotNotation, value) ⇒ <code>Object</code>
|
|
348
|
+
Set a nested property value an object.
|
|
349
|
+
|
|
350
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
351
|
+
**Returns**: <code>Object</code> - The modified object
|
|
352
|
+
|
|
353
|
+
| Param | Type | Default | Description |
|
|
354
|
+
| --- | --- | --- | --- |
|
|
355
|
+
| arrayObject | <code>Object</code> | | The array or object to set the property on |
|
|
356
|
+
| dotNotation | <code>string</code> | | The path for the property |
|
|
357
|
+
| value | <code>\*</code> | <code></code> | The default value to return if the property is not found |
|
|
358
|
+
|
|
359
|
+
<a name="module_objectHelpers.dotNotate"></a>
|
|
360
|
+
|
|
361
|
+
### objectHelpers.dotNotate(arrayObject, [retainObjects]) ⇒ <code>DotNotatedObject</code>
|
|
362
|
+
Convert an array or object to a single dimensional associative array with dot notation.
|
|
363
|
+
|
|
364
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
365
|
+
**Returns**: <code>DotNotatedObject</code> - The dot-notated object
|
|
366
|
+
|
|
367
|
+
| Param | Type | Default | Description |
|
|
368
|
+
| --- | --- | --- | --- |
|
|
369
|
+
| arrayObject | <code>Object</code> | | The array or object to dot-notate |
|
|
370
|
+
| [retainObjects] | <code>Array.<DotNotationString></code> | <code>[]</code> | An array of keys to retain as objects |
|
|
371
|
+
|
|
372
|
+
<a name="module_objectHelpers.dotGet"></a>
|
|
373
|
+
|
|
374
|
+
### objectHelpers.dotGet(arrayObject, dotNotation, [defaultValue]) ⇒ <code>\*</code>
|
|
375
|
+
Get a nested property value from an object.
|
|
376
|
+
|
|
377
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
378
|
+
**Returns**: <code>\*</code> - The value of the property
|
|
379
|
+
|
|
380
|
+
| Param | Type | Default | Description |
|
|
381
|
+
| --- | --- | --- | --- |
|
|
382
|
+
| arrayObject | <code>Object</code> | | The array or object to get the property from |
|
|
383
|
+
| dotNotation | <code>string</code> | | The path to the property |
|
|
384
|
+
| [defaultValue] | <code>string</code> \| <code>null</code> | <code>null</code> | The default value to return if the property is not found |
|
|
385
|
+
|
|
386
|
+
<a name="module_objectHelpers.cloneObject"></a>
|
|
387
|
+
|
|
388
|
+
### objectHelpers.cloneObject(object, [options]) ⇒ <code>Object</code>
|
|
389
|
+
Clone objects for manipulation without data corruption, returns a copy of the provided object.
|
|
390
|
+
|
|
391
|
+
**Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
392
|
+
|
|
393
|
+
| Param | Type | Default | Description |
|
|
394
|
+
| --- | --- | --- | --- |
|
|
395
|
+
| object | <code>Object</code> | | The original object that is being cloned |
|
|
396
|
+
| [options] | <code>Object</code> | <code>{}</code> | |
|
|
397
|
+
| [options.mapLimit] | <code>number</code> | <code>1000</code> | |
|
|
398
|
+
| [options.depthLimit] | <code>number</code> | <code>-1</code> | |
|
|
399
|
+
| [options.relevancyRange] | <code>number</code> | <code>100</code> | |
|
|
400
|
+
| [options.map] | <code>Iterable</code> | <code>[]</code> | |
|
|
401
|
+
|
|
402
|
+
<a name="module_objectHelpers.DotNotationString"></a>
|
|
403
|
+
|
|
404
|
+
### objectHelpers.DotNotationString : <code>string</code>
|
|
405
|
+
A string representing the full-path to a property in an object. Each depth of the path is separated by a period.
|
|
406
|
+
|
|
407
|
+
**Kind**: static typedef of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
408
|
+
**Example**
|
|
409
|
+
```js
|
|
410
|
+
'a.b.c'
|
|
411
|
+
```
|
|
412
|
+
<a name="module_objectHelpers.DotNotatedObject"></a>
|
|
413
|
+
|
|
414
|
+
### objectHelpers.DotNotatedObject : <code>Object.<DotNotationString, \*></code>
|
|
415
|
+
An array or object where all properties have been flatted and keyed by a dot-notated string.
|
|
416
|
+
|
|
417
|
+
**Kind**: static typedef of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
418
|
+
<a name="module_objectHelpers..handleRetainObjects"></a>
|
|
419
|
+
|
|
420
|
+
### objectHelpers~handleRetainObjects([retainObjects]) ⇒ <code>function</code>
|
|
421
|
+
Convert an array of keys into a regex, return a function to test if incoming keys match.
|
|
422
|
+
|
|
423
|
+
**Kind**: inner method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
424
|
+
**Returns**: <code>function</code> - The dot-notated array
|
|
425
|
+
|
|
426
|
+
| Param | Type | Default | Description |
|
|
427
|
+
| --- | --- | --- | --- |
|
|
428
|
+
| [retainObjects] | <code>Array.<DotNotationString></code> | <code>[]</code> | An array of keys to retain as objects |
|
|
429
|
+
|
|
430
|
+
<a name="module_objectHelpers..performDotNotate"></a>
|
|
431
|
+
|
|
432
|
+
### objectHelpers~performDotNotate(arrayObject, didRetain, [prepend], [results]) ⇒ <code>DotNotatedObject</code>
|
|
433
|
+
The underlying logic function for converting arrays to dot-notation.
|
|
434
|
+
|
|
435
|
+
**Kind**: inner method of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
436
|
+
**Returns**: <code>DotNotatedObject</code> - The dot-notated object
|
|
437
|
+
|
|
438
|
+
| Param | Type | Default | Description |
|
|
439
|
+
| --- | --- | --- | --- |
|
|
440
|
+
| arrayObject | <code>Object</code> | | The array or object to dot-notate |
|
|
441
|
+
| didRetain | <code>function</code> | | The test function to see if a key should be retained |
|
|
442
|
+
| [prepend] | <code>DotNotationString</code> | <code>''</code> | The path for the property being processed |
|
|
443
|
+
| [results] | <code>DotNotatedObject</code> | <code>{}</code> | The final array to return |
|
|
444
|
+
|
|
445
|
+
<a name="module_objectHelpers..reduceCallback"></a>
|
|
446
|
+
|
|
447
|
+
### objectHelpers~reduceCallback ⇒ <code>\*</code>
|
|
448
|
+
Function to execute on each property in the object, taking four arguments
|
|
449
|
+
|
|
450
|
+
**Kind**: inner typedef of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
451
|
+
|
|
452
|
+
| Param | Type | Default | Description |
|
|
453
|
+
| --- | --- | --- | --- |
|
|
454
|
+
| [accumulator] | <code>\*</code> | <code>{}</code> | The accumulator accumulates the callback's return values; it is the accumulated value previously returned in the last invocation of the callback, or initialValue, if supplied (see below). |
|
|
455
|
+
| [currentProperty] | <code>\*</code> | <code>{}</code> | The current property being processed in the object. |
|
|
456
|
+
| [currentIndex] | <code>string</code> | <code>0</code> | The index of the current element being processed in the array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise. |
|
|
457
|
+
| [object] | <code>Object</code> \| <code>Array</code> | <code>{}</code> | The object reduce was called upon. |
|
|
458
|
+
|
|
459
|
+
<a name="module_objectHelpers..mergeObjectsCallback"></a>
|
|
460
|
+
|
|
461
|
+
### objectHelpers~mergeObjectsCallback ⇒ <code>\*</code>
|
|
462
|
+
Function that takes one or more objects and combines them into one.
|
|
463
|
+
|
|
464
|
+
**Kind**: inner typedef of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
465
|
+
|
|
466
|
+
| Param | Type | Description |
|
|
467
|
+
| --- | --- | --- |
|
|
468
|
+
| ...objects | <code>Object</code> | Provide a list of objects which will be merged starting from the end up into the first |
|
|
469
|
+
|
|
470
|
+
<a name="module_objectHelpers..mapCallback"></a>
|
|
471
|
+
|
|
472
|
+
### objectHelpers~mapCallback ⇒ <code>\*</code>
|
|
473
|
+
Function that produces a property of the new Object, taking three arguments
|
|
474
|
+
|
|
475
|
+
**Kind**: inner typedef of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
476
|
+
|
|
477
|
+
| Param | Type | Description |
|
|
478
|
+
| --- | --- | --- |
|
|
479
|
+
| currentProperty | <code>\*</code> | The current property being processed in the object. |
|
|
480
|
+
| [currentIndex] | <code>string</code> | The property name of the current property being processed in the object. |
|
|
481
|
+
| [object] | <code>Object</code> \| <code>Array</code> | The object map was called upon. |
|
|
482
|
+
|
|
483
|
+
<a name="module_objectHelpers..filterCallback"></a>
|
|
484
|
+
|
|
485
|
+
### objectHelpers~filterCallback ⇒ <code>boolean</code>
|
|
486
|
+
Function is a predicate, to test each property value of the object. Return true to keep the element, false
|
|
487
|
+
|
|
488
|
+
**Kind**: inner typedef of [<code>objectHelpers</code>](#module_objectHelpers)
|
|
489
|
+
|
|
490
|
+
| Param | Type | Description |
|
|
491
|
+
| --- | --- | --- |
|
|
492
|
+
| currentProperty | <code>\*</code> | The current property being processed in the object. |
|
|
493
|
+
| [currentIndex] | <code>string</code> | The property name of the current property being processed in the object. |
|
|
494
|
+
| [object] | <code>Object</code> \| <code>Array</code> | The object filter was called upon. |
|
|
495
|
+
|
|
496
|
+
<a name="module_numberHelpers"></a>
|
|
497
|
+
|
|
498
|
+
## numberHelpers
|
|
499
|
+
Some number comparators and random number generators.
|
|
500
|
+
|
|
501
|
+
**Version**: 1.0.0
|
|
502
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
503
|
+
|
|
504
|
+
* [numberHelpers](#module_numberHelpers)
|
|
505
|
+
* [.randomNumber(range, [offset], [interval])](#module_numberHelpers.randomNumber) ⇒ <code>number</code>
|
|
506
|
+
* [.randomInteger(range, [offset], [interval])](#module_numberHelpers.randomInteger) ⇒ <code>number</code>
|
|
507
|
+
* [.compare(val1, val2)](#module_numberHelpers.compare) ⇒ <code>number</code>
|
|
508
|
+
* [.absoluteMin(num1, num2)](#module_numberHelpers.absoluteMin) ⇒ <code>number</code>
|
|
509
|
+
* [.absoluteMax(num1, num2)](#module_numberHelpers.absoluteMax) ⇒ <code>number</code>
|
|
510
|
+
|
|
511
|
+
<a name="module_numberHelpers.randomNumber"></a>
|
|
512
|
+
|
|
513
|
+
### numberHelpers.randomNumber(range, [offset], [interval]) ⇒ <code>number</code>
|
|
514
|
+
Create a single random number within provided range. And with optional offset,
|
|
515
|
+
|
|
516
|
+
**Kind**: static method of [<code>numberHelpers</code>](#module_numberHelpers)
|
|
517
|
+
|
|
518
|
+
| Param | Type | Default | Description |
|
|
519
|
+
| --- | --- | --- | --- |
|
|
520
|
+
| range | <code>number</code> | | Choose the breadth of the random number (0-100 would be 100 for range) |
|
|
521
|
+
| [offset] | <code>number</code> | <code>0</code> | Choose the starting number (1-10 would be 1 for offset, 9 for range) |
|
|
522
|
+
| [interval] | <code>number</code> | <code>1</code> | Choose the distance between numbers (~5, ~10, ~15 would be 5 for interval, 1 for offset, 2 for range) |
|
|
523
|
+
|
|
524
|
+
<a name="module_numberHelpers.randomInteger"></a>
|
|
525
|
+
|
|
526
|
+
### numberHelpers.randomInteger(range, [offset], [interval]) ⇒ <code>number</code>
|
|
527
|
+
Create a single random integer within provide range. And with optional offset,
|
|
528
|
+
|
|
529
|
+
**Kind**: static method of [<code>numberHelpers</code>](#module_numberHelpers)
|
|
530
|
+
|
|
531
|
+
| Param | Type | Default | Description |
|
|
532
|
+
| --- | --- | --- | --- |
|
|
533
|
+
| range | <code>number</code> | | Choose the breadth of the random number (0-100 would be 100 for range) |
|
|
534
|
+
| [offset] | <code>number</code> | <code>0</code> | Choose the starting number (1-10 would be 1 for offset, 9 for range) |
|
|
535
|
+
| [interval] | <code>number</code> | <code>1</code> | Choose the distance between numbers (5, 10, 15 would be 5 for interval, 1 for offset, 2 for range) |
|
|
536
|
+
|
|
537
|
+
<a name="module_numberHelpers.compare"></a>
|
|
538
|
+
|
|
539
|
+
### numberHelpers.compare(val1, val2) ⇒ <code>number</code>
|
|
540
|
+
Compare two numbers and return:
|
|
-
|
|
|
541
|
+
|
|
542
|
+
**Kind**: static method of [<code>numberHelpers</code>](#module_numberHelpers)
|
|
543
|
+
|
|
544
|
+
| Param | Type | Description |
|
|
545
|
+
| --- | --- | --- |
|
|
546
|
+
| val1 | <code>number</code> | The first number to compare |
|
|
547
|
+
| val2 | <code>number</code> | The second number to compare |
|
|
548
|
+
|
|
549
|
+
<a name="module_numberHelpers.absoluteMin"></a>
|
|
550
|
+
|
|
551
|
+
### numberHelpers.absoluteMin(num1, num2) ⇒ <code>number</code>
|
|
552
|
+
Helper for returning the absolute min value
|
|
553
|
+
|
|
554
|
+
**Kind**: static method of [<code>numberHelpers</code>](#module_numberHelpers)
|
|
555
|
+
|
|
556
|
+
| Param | Type | Description |
|
|
557
|
+
| --- | --- | --- |
|
|
558
|
+
| num1 | <code>number</code> | A number to compare |
|
|
559
|
+
| num2 | <code>number</code> | Another number to be compared against |
|
|
560
|
+
|
|
561
|
+
<a name="module_numberHelpers.absoluteMax"></a>
|
|
562
|
+
|
|
563
|
+
### numberHelpers.absoluteMax(num1, num2) ⇒ <code>number</code>
|
|
564
|
+
Helper for returning the absolute max value
|
|
565
|
+
|
|
566
|
+
**Kind**: static method of [<code>numberHelpers</code>](#module_numberHelpers)
|
|
567
|
+
|
|
568
|
+
| Param | Type | Description |
|
|
569
|
+
| --- | --- | --- |
|
|
570
|
+
| num1 | <code>number</code> | A number to compare |
|
|
571
|
+
| num2 | <code>number</code> | Another number to be compared against |
|
|
572
|
+
|
|
573
|
+
<a name="module_functionHelpers"></a>
|
|
574
|
+
|
|
575
|
+
## functionHelpers
|
|
576
|
+
Manage how functions are called with these utilities.
|
|
577
|
+
|
|
578
|
+
**Version**: 1.0.0
|
|
579
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
580
|
+
|
|
581
|
+
* [functionHelpers](#module_functionHelpers)
|
|
582
|
+
* _static_
|
|
583
|
+
* [.trace(label, useClone)](#module_functionHelpers.trace) ⇒ <code>function</code>
|
|
584
|
+
* [.relevancyFilter(map, [options])](#module_functionHelpers.relevancyFilter) ⇒ <code>relevanceMap</code>
|
|
585
|
+
* [.queueTimeout([queueManagerHandle])](#module_functionHelpers.queueTimeout) ⇒ [<code>queueTimeoutHandle</code>](#module_functionHelpers..queueTimeoutHandle)
|
|
586
|
+
* [.queueManager([queue])](#module_functionHelpers.queueManager) ⇒ [<code>queueManagerHandle</code>](#module_functionHelpers..queueManagerHandle)
|
|
587
|
+
* [.preloadParams(fn, params, [unassignedParam])](#module_functionHelpers.preloadParams) ⇒ [<code>callWithMissing</code>](#module_functionHelpers..callWithMissing)
|
|
588
|
+
* [.pipe(...fns)](#module_functionHelpers.pipe) ⇒ <code>\*</code>
|
|
589
|
+
* [.onBodyLoad(callback, [reset])](#module_functionHelpers.onBodyLoad) ⇒ <code>Array.<function()></code>
|
|
590
|
+
* [.delay(time)](#module_functionHelpers.delay) ⇒ [<code>delayHandler</code>](#module_functionHelpers..delayHandler)
|
|
591
|
+
* [.curry(fn)](#module_functionHelpers.curry) ⇒ <code>function</code> \| <code>\*</code>
|
|
592
|
+
* [.callWithParams(fn, params, [minimum])](#module_functionHelpers.callWithParams) ⇒ <code>\*</code>
|
|
593
|
+
* [.relevanceObject](#module_functionHelpers.relevanceObject) : <code>Object</code>
|
|
594
|
+
* [.relevanceMap](#module_functionHelpers.relevanceMap) : <code>Array.<relevanceObject></code>
|
|
595
|
+
* _inner_
|
|
596
|
+
* [~queueTimeoutHandle](#module_functionHelpers..queueTimeoutHandle) ⇒ <code>Promise</code>
|
|
597
|
+
* [~queueManagerHandle](#module_functionHelpers..queueManagerHandle) ⇒ <code>Promise</code>
|
|
598
|
+
* [~callWithMissing](#module_functionHelpers..callWithMissing) ⇒ <code>\*</code>
|
|
599
|
+
* [~delayHandler](#module_functionHelpers..delayHandler) : <code>Object</code>
|
|
600
|
+
|
|
601
|
+
<a name="module_functionHelpers.trace"></a>
|
|
602
|
+
|
|
603
|
+
### functionHelpers.trace(label, useClone) ⇒ <code>function</code>
|
|
604
|
+
Output the a value with label to the console and return the value to not interrupt the code.
|
|
605
|
+
|
|
606
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
607
|
+
|
|
608
|
+
| Param | Type | Default | Description |
|
|
609
|
+
| --- | --- | --- | --- |
|
|
610
|
+
| label | <code>string</code> | | Pass an identifying label of the value being output. |
|
|
611
|
+
| useClone | | <code>true</code> | Determines if the logged data should be a clone of the original to preserve state. |
|
|
612
|
+
|
|
613
|
+
<a name="module_functionHelpers.relevancyFilter"></a>
|
|
614
|
+
|
|
615
|
+
### functionHelpers.relevancyFilter(map, [options]) ⇒ <code>relevanceMap</code>
|
|
616
|
+
Remove elements out of relevance range and update the max relevance.
|
|
617
|
+
|
|
618
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
619
|
+
|
|
620
|
+
| Param | Type | Default |
|
|
621
|
+
| --- | --- | --- |
|
|
622
|
+
| map | <code>relevanceMap</code> | |
|
|
623
|
+
| [options] | <code>Object</code> | <code>{}</code> |
|
|
624
|
+
| [options.mapLimit] | <code>int</code> | <code>1000</code> |
|
|
625
|
+
| [options.relevancyRange] | <code>int</code> | <code>100</code> |
|
|
626
|
+
|
|
627
|
+
<a name="module_functionHelpers.queueTimeout"></a>
|
|
628
|
+
|
|
629
|
+
### functionHelpers.queueTimeout([queueManagerHandle]) ⇒ [<code>queueTimeoutHandle</code>](#module_functionHelpers..queueTimeoutHandle)
|
|
630
|
+
Manage functions to run sequentially with delays.
|
|
631
|
+
|
|
632
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
633
|
+
|
|
634
|
+
| Param | Type | Default |
|
|
635
|
+
| --- | --- | --- |
|
|
636
|
+
| [queueManagerHandle] | [<code>queueManagerHandle</code>](#module_functionHelpers..queueManagerHandle) | <code></code> |
|
|
637
|
+
|
|
638
|
+
<a name="module_functionHelpers.queueManager"></a>
|
|
639
|
+
|
|
640
|
+
### functionHelpers.queueManager([queue]) ⇒ [<code>queueManagerHandle</code>](#module_functionHelpers..queueManagerHandle)
|
|
641
|
+
Manage functions to run sequentially.
|
|
642
|
+
|
|
643
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
644
|
+
|
|
645
|
+
| Param | Type | Default | Description |
|
|
646
|
+
| --- | --- | --- | --- |
|
|
647
|
+
| [queue] | <code>Iterable</code> \| <code>array</code> | <code>[]</code> | The iterable that can be used to store queued functions |
|
|
648
|
+
|
|
649
|
+
<a name="module_functionHelpers.preloadParams"></a>
|
|
650
|
+
|
|
651
|
+
### functionHelpers.preloadParams(fn, params, [unassignedParam]) ⇒ [<code>callWithMissing</code>](#module_functionHelpers..callWithMissing)
|
|
652
|
+
Provide an array of parameters to be used with a function, allow the function to be called later
|
|
653
|
+
|
|
654
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
655
|
+
|
|
656
|
+
| Param | Type | Default | Description |
|
|
657
|
+
| --- | --- | --- | --- |
|
|
658
|
+
| fn | <code>function</code> | | The function to be called |
|
|
659
|
+
| params | <code>Array</code> | | The parameters to preload |
|
|
660
|
+
| [unassignedParam] | <code>number</code> | <code>0</code> | Position of missing parameter (zero indexed) |
|
|
661
|
+
|
|
662
|
+
<a name="module_functionHelpers.pipe"></a>
|
|
663
|
+
|
|
664
|
+
### functionHelpers.pipe(...fns) ⇒ <code>\*</code>
|
|
665
|
+
Take one or more function with a single parameter and return value.
|
|
666
|
+
|
|
667
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
668
|
+
|
|
669
|
+
| Param | Type | Description |
|
|
670
|
+
| --- | --- | --- |
|
|
671
|
+
| ...fns | <code>function</code> | Takes a series of functions having the same parameter |
|
|
672
|
+
|
|
673
|
+
<a name="module_functionHelpers.onBodyLoad"></a>
|
|
674
|
+
|
|
675
|
+
### functionHelpers.onBodyLoad(callback, [reset]) ⇒ <code>Array.<function()></code>
|
|
676
|
+
Prepare functions to be called once the body is available.
|
|
677
|
+
|
|
678
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
679
|
+
|
|
680
|
+
| Param | Type | Default |
|
|
681
|
+
| --- | --- | --- |
|
|
682
|
+
| callback | <code>function</code> | |
|
|
683
|
+
| [reset] | <code>boolean</code> | <code>false</code> |
|
|
684
|
+
|
|
685
|
+
<a name="module_functionHelpers.delay"></a>
|
|
686
|
+
|
|
687
|
+
### functionHelpers.delay(time) ⇒ [<code>delayHandler</code>](#module_functionHelpers..delayHandler)
|
|
688
|
+
Provide a timeout which returns a promise.
|
|
689
|
+
|
|
690
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
691
|
+
|
|
692
|
+
| Param | Type | Default | Description |
|
|
693
|
+
| --- | --- | --- | --- |
|
|
694
|
+
| time | <code>number</code> | <code>0</code> | Delay in milliseconds |
|
|
695
|
+
|
|
696
|
+
<a name="module_functionHelpers.curry"></a>
|
|
697
|
+
|
|
698
|
+
### functionHelpers.curry(fn) ⇒ <code>function</code> \| <code>\*</code>
|
|
699
|
+
Return a curried version of the passed function.
|
|
700
|
+
|
|
701
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
702
|
+
|
|
703
|
+
| Param | Type | Description |
|
|
704
|
+
| --- | --- | --- |
|
|
705
|
+
| fn | <code>function</code> | Receives a function to be curried |
|
|
706
|
+
|
|
707
|
+
<a name="module_functionHelpers.callWithParams"></a>
|
|
708
|
+
|
|
709
|
+
### functionHelpers.callWithParams(fn, params, [minimum]) ⇒ <code>\*</code>
|
|
710
|
+
Given a function, call with the correct number of paramters from an array of possible parameters.
|
|
711
|
+
|
|
712
|
+
**Kind**: static method of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
713
|
+
|
|
714
|
+
| Param | Type | Default | Description |
|
|
715
|
+
| --- | --- | --- | --- |
|
|
716
|
+
| fn | <code>function</code> | | The function to be called |
|
|
717
|
+
| params | <code>Array</code> | | Array of possible function parameters |
|
|
718
|
+
| [minimum] | <code>number</code> | <code>2</code> | Minimumn number of parameters to use in the function |
|
|
719
|
+
|
|
720
|
+
<a name="module_functionHelpers.relevanceObject"></a>
|
|
721
|
+
|
|
722
|
+
### functionHelpers.relevanceObject : <code>Object</code>
|
|
723
|
+
An object having an integer valued property named 'relevance'.
|
|
724
|
+
|
|
725
|
+
**Kind**: static typedef of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
726
|
+
**Properties**
|
|
727
|
+
|
|
728
|
+
| Name | Type |
|
|
729
|
+
| --- | --- |
|
|
730
|
+
| relevance | <code>int</code> |
|
|
731
|
+
|
|
732
|
+
<a name="module_functionHelpers.relevanceMap"></a>
|
|
733
|
+
|
|
734
|
+
### functionHelpers.relevanceMap : <code>Array.<relevanceObject></code>
|
|
735
|
+
A map of relevanceObjects which can be manipulated to filter results.
|
|
736
|
+
|
|
737
|
+
**Kind**: static typedef of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
738
|
+
<a name="module_functionHelpers..queueTimeoutHandle"></a>
|
|
739
|
+
|
|
740
|
+
### functionHelpers~queueTimeoutHandle ⇒ <code>Promise</code>
|
|
741
|
+
Run Timeout functions one after the otherin queue.
|
|
742
|
+
|
|
743
|
+
**Kind**: inner typedef of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
744
|
+
|
|
745
|
+
| Param | Type | Description |
|
|
746
|
+
| --- | --- | --- |
|
|
747
|
+
| fn | <code>function</code> | A callback function to be performed at some time in the future. |
|
|
748
|
+
| time | <code>number</code> | The time in milliseconds to delay. |
|
|
749
|
+
| ...args | <code>\*</code> | Arguments to be passed to the callback once it is implemented. |
|
|
750
|
+
|
|
751
|
+
<a name="module_functionHelpers..queueManagerHandle"></a>
|
|
752
|
+
|
|
753
|
+
### functionHelpers~queueManagerHandle ⇒ <code>Promise</code>
|
|
754
|
+
Each time queue handle is called the passed function is added to the queue to be called when ready.
|
|
755
|
+
|
|
756
|
+
**Kind**: inner typedef of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
757
|
+
|
|
758
|
+
| Param | Type | Description |
|
|
759
|
+
| --- | --- | --- |
|
|
760
|
+
| fn | <code>function</code> | A function to enqueue |
|
|
761
|
+
| ...args | <code>\*</code> | Arguments to be passed to the function once it is ready |
|
|
762
|
+
|
|
763
|
+
<a name="module_functionHelpers..callWithMissing"></a>
|
|
764
|
+
|
|
765
|
+
### functionHelpers~callWithMissing ⇒ <code>\*</code>
|
|
766
|
+
The return function which takes the missing parameter in order to call the preloaded function.
|
|
767
|
+
|
|
768
|
+
**Kind**: inner typedef of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
769
|
+
|
|
770
|
+
| Param | Type | Description |
|
|
771
|
+
| --- | --- | --- |
|
|
772
|
+
| missing | <code>\*</code> | The missing parameter to be applied |
|
|
773
|
+
|
|
774
|
+
<a name="module_functionHelpers..delayHandler"></a>
|
|
775
|
+
|
|
776
|
+
### functionHelpers~delayHandler : <code>Object</code>
|
|
777
|
+
Provide a way to cancel a request or attach a resolve event.
|
|
778
|
+
|
|
779
|
+
**Kind**: inner typedef of [<code>functionHelpers</code>](#module_functionHelpers)
|
|
780
|
+
**Properties**
|
|
781
|
+
|
|
782
|
+
| Name | Type |
|
|
783
|
+
| --- | --- |
|
|
784
|
+
| resolver | <code>Promise</code> |
|
|
785
|
+
| cancel | <code>function</code> |
|
|
786
|
+
|
|
787
|
+
<a name="module_objectDescriptors"></a>
|
|
788
|
+
|
|
789
|
+
## objectDescriptors
|
|
790
|
+
Create a format to standardize every object into a specific template.
|
|
791
|
+
|
|
792
|
+
**Version**: 1.0.0
|
|
793
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
794
|
+
|
|
795
|
+
* [objectDescriptors](#module_objectDescriptors)
|
|
796
|
+
* _static_
|
|
797
|
+
* [.mappedDescriptorMap](#module_objectDescriptors.mappedDescriptorMap) : [<code>descriptorMap</code>](#module_objectDescriptors..descriptorMap)
|
|
798
|
+
* [.descriptorMapSample](#module_objectDescriptors.descriptorMapSample) : [<code>descriptorMap</code>](#module_objectDescriptors..descriptorMap)
|
|
799
|
+
* [.descriptorDetailSample](#module_objectDescriptors.descriptorDetailSample) : [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
800
|
+
* [.descriptorSample](#module_objectDescriptors.descriptorSample) : [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
801
|
+
* [.sameDescriptor(descriptor1, descriptor2)](#module_objectDescriptors.sameDescriptor) ⇒ <code>boolean</code>
|
|
802
|
+
* [.nextReference(descriptor, currentReference)](#module_objectDescriptors.nextReference) ⇒ <code>number</code> \| <code>undefined</code>
|
|
803
|
+
* [.describeObjectMap(object, [options])](#module_objectDescriptors.describeObjectMap) ⇒ [<code>descriptorMap</code>](#module_objectDescriptors..descriptorMap)
|
|
804
|
+
* [.describeObjectDetail(value, [key], [index])](#module_objectDescriptors.describeObjectDetail) ⇒ [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
805
|
+
* [.describeObject(object)](#module_objectDescriptors.describeObject) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
806
|
+
* [.compareDescriptor(descriptor1, descriptor2)](#module_objectDescriptors.compareDescriptor) ⇒ <code>boolean</code>
|
|
807
|
+
* [.cloneDescriptorDetail(originalDetail)](#module_objectDescriptors.cloneDescriptorDetail) ⇒ [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
808
|
+
* [.cloneDescriptor(originalMap)](#module_objectDescriptors.cloneDescriptor) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
809
|
+
* [.checkDescriptorComplete(descriptor)](#module_objectDescriptors.checkDescriptorComplete) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
810
|
+
* [.checkClearValues(descriptor, [keepValues])](#module_objectDescriptors.checkClearValues) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
811
|
+
* [.assignDescriptorDetail(originalDetail, ...details)](#module_objectDescriptors.assignDescriptorDetail) ⇒ [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
812
|
+
* [.assignDescriptor(originalMap, ...descriptors)](#module_objectDescriptors.assignDescriptor) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
813
|
+
* _inner_
|
|
814
|
+
* [~descriptorMap](#module_objectDescriptors..descriptorMap) : [<code>Array.<descriptor></code>](#module_objectDescriptors..descriptor)
|
|
815
|
+
* [~descriptorDetail](#module_objectDescriptors..descriptorDetail) : <code>Object</code>
|
|
816
|
+
* [~descriptor](#module_objectDescriptors..descriptor) : <code>Object</code>
|
|
817
|
+
|
|
818
|
+
<a name="module_objectDescriptors.mappedDescriptorMap"></a>
|
|
819
|
+
|
|
820
|
+
### objectDescriptors.mappedDescriptorMap : [<code>descriptorMap</code>](#module_objectDescriptors..descriptorMap)
|
|
821
|
+
**Kind**: static constant of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
822
|
+
<a name="module_objectDescriptors.descriptorMapSample"></a>
|
|
823
|
+
|
|
824
|
+
### objectDescriptors.descriptorMapSample : [<code>descriptorMap</code>](#module_objectDescriptors..descriptorMap)
|
|
825
|
+
**Kind**: static constant of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
826
|
+
<a name="module_objectDescriptors.descriptorDetailSample"></a>
|
|
827
|
+
|
|
828
|
+
### objectDescriptors.descriptorDetailSample : [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
829
|
+
**Kind**: static constant of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
830
|
+
<a name="module_objectDescriptors.descriptorSample"></a>
|
|
831
|
+
|
|
832
|
+
### objectDescriptors.descriptorSample : [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
833
|
+
**Kind**: static constant of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
834
|
+
<a name="module_objectDescriptors.sameDescriptor"></a>
|
|
835
|
+
|
|
836
|
+
### objectDescriptors.sameDescriptor(descriptor1, descriptor2) ⇒ <code>boolean</code>
|
|
837
|
+
Check if the two descriptors are the same.
|
|
838
|
+
|
|
839
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
840
|
+
|
|
841
|
+
| Param | Type |
|
|
842
|
+
| --- | --- |
|
|
843
|
+
| descriptor1 | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
844
|
+
| descriptor2 | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
845
|
+
|
|
846
|
+
<a name="module_objectDescriptors.nextReference"></a>
|
|
847
|
+
|
|
848
|
+
### objectDescriptors.nextReference(descriptor, currentReference) ⇒ <code>number</code> \| <code>undefined</code>
|
|
849
|
+
Find the index of the next module:objectDescriptors.descriptorDetail to build a resource for.
|
|
850
|
+
|
|
851
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
852
|
+
|
|
853
|
+
| Param | Type |
|
|
854
|
+
| --- | --- |
|
|
855
|
+
| descriptor | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
856
|
+
| currentReference | <code>number</code> |
|
|
857
|
+
|
|
858
|
+
<a name="module_objectDescriptors.describeObjectMap"></a>
|
|
859
|
+
|
|
860
|
+
### objectDescriptors.describeObjectMap(object, [options]) ⇒ [<code>descriptorMap</code>](#module_objectDescriptors..descriptorMap)
|
|
861
|
+
Trace out the entire object including nested objects.
|
|
862
|
+
|
|
863
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
864
|
+
|
|
865
|
+
| Param | Type | Default |
|
|
866
|
+
| --- | --- | --- |
|
|
867
|
+
| object | <code>Object</code> \| <code>Array</code> | |
|
|
868
|
+
| [options] | <code>Object</code> | <code>{}</code> |
|
|
869
|
+
| [options.mapLimit] | <code>number</code> | <code>1000000000</code> |
|
|
870
|
+
| [options.depthLimit] | <code>number</code> | <code>-1</code> |
|
|
871
|
+
| [options.keepValues] | <code>boolean</code> | <code>false</code> |
|
|
872
|
+
|
|
873
|
+
<a name="module_objectDescriptors.describeObjectDetail"></a>
|
|
874
|
+
|
|
875
|
+
### objectDescriptors.describeObjectDetail(value, [key], [index]) ⇒ [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
876
|
+
Trace an object's attribute and provide details about it.
|
|
877
|
+
|
|
878
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
879
|
+
|
|
880
|
+
| Param | Type | Default |
|
|
881
|
+
| --- | --- | --- |
|
|
882
|
+
| value | <code>\*</code> | |
|
|
883
|
+
| [key] | <code>string</code> \| <code>number</code> | <code>0</code> |
|
|
884
|
+
| [index] | <code>number</code> | <code>0</code> |
|
|
885
|
+
|
|
886
|
+
<a name="module_objectDescriptors.describeObject"></a>
|
|
887
|
+
|
|
888
|
+
### objectDescriptors.describeObject(object) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
889
|
+
Trace an object and return the descriptor which defines the object's structure and attributes.
|
|
890
|
+
|
|
891
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
892
|
+
|
|
893
|
+
| Param | Type |
|
|
894
|
+
| --- | --- |
|
|
895
|
+
| object | <code>Object</code> |
|
|
896
|
+
|
|
897
|
+
<a name="module_objectDescriptors.compareDescriptor"></a>
|
|
898
|
+
|
|
899
|
+
### objectDescriptors.compareDescriptor(descriptor1, descriptor2) ⇒ <code>boolean</code>
|
|
900
|
+
Check if two descriptors are the same or similar in that they have similar keys and the associated types are the same.
|
|
901
|
+
|
|
902
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
903
|
+
|
|
904
|
+
| Param | Type |
|
|
905
|
+
| --- | --- |
|
|
906
|
+
| descriptor1 | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
907
|
+
| descriptor2 | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
908
|
+
|
|
909
|
+
<a name="module_objectDescriptors.cloneDescriptorDetail"></a>
|
|
910
|
+
|
|
911
|
+
### objectDescriptors.cloneDescriptorDetail(originalDetail) ⇒ [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
912
|
+
Get a new copy of an existing Descriptor Detail
|
|
913
|
+
|
|
914
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
915
|
+
|
|
916
|
+
| Param | Type |
|
|
917
|
+
| --- | --- |
|
|
918
|
+
| originalDetail | [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail) |
|
|
919
|
+
|
|
920
|
+
<a name="module_objectDescriptors.cloneDescriptor"></a>
|
|
921
|
+
|
|
922
|
+
### objectDescriptors.cloneDescriptor(originalMap) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
923
|
+
Make a copy of an object descriptor so that the original will not be mutated.
|
|
924
|
+
|
|
925
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
926
|
+
|
|
927
|
+
| Param | Type |
|
|
928
|
+
| --- | --- |
|
|
929
|
+
| originalMap | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
930
|
+
|
|
931
|
+
<a name="module_objectDescriptors.checkDescriptorComplete"></a>
|
|
932
|
+
|
|
933
|
+
### objectDescriptors.checkDescriptorComplete(descriptor) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
934
|
+
Check if the descriptors references have all been built and set complete to true if they have.
|
|
935
|
+
|
|
936
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
937
|
+
|
|
938
|
+
| Param | Type |
|
|
939
|
+
| --- | --- |
|
|
940
|
+
| descriptor | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
941
|
+
|
|
942
|
+
<a name="module_objectDescriptors.checkClearValues"></a>
|
|
943
|
+
|
|
944
|
+
### objectDescriptors.checkClearValues(descriptor, [keepValues]) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
945
|
+
Check if we should clear the values on this descriptor
|
|
946
|
+
|
|
947
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
948
|
+
|
|
949
|
+
| Param | Type | Default |
|
|
950
|
+
| --- | --- | --- |
|
|
951
|
+
| descriptor | [<code>descriptor</code>](#module_objectDescriptors..descriptor) | |
|
|
952
|
+
| [keepValues] | <code>boolean</code> | <code>false</code> |
|
|
953
|
+
|
|
954
|
+
<a name="module_objectDescriptors.assignDescriptorDetail"></a>
|
|
955
|
+
|
|
956
|
+
### objectDescriptors.assignDescriptorDetail(originalDetail, ...details) ⇒ [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail)
|
|
957
|
+
Assign properties from other details onto an existing detail.
|
|
958
|
+
|
|
959
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
960
|
+
|
|
961
|
+
| Param | Type |
|
|
962
|
+
| --- | --- |
|
|
963
|
+
| originalDetail | [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail) |
|
|
964
|
+
| ...details | [<code>descriptorDetail</code>](#module_objectDescriptors..descriptorDetail) |
|
|
965
|
+
|
|
966
|
+
<a name="module_objectDescriptors.assignDescriptor"></a>
|
|
967
|
+
|
|
968
|
+
### objectDescriptors.assignDescriptor(originalMap, ...descriptors) ⇒ [<code>descriptor</code>](#module_objectDescriptors..descriptor)
|
|
969
|
+
Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
|
|
970
|
+
|
|
971
|
+
**Kind**: static method of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
972
|
+
|
|
973
|
+
| Param | Type |
|
|
974
|
+
| --- | --- |
|
|
975
|
+
| originalMap | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
976
|
+
| ...descriptors | [<code>descriptor</code>](#module_objectDescriptors..descriptor) |
|
|
977
|
+
|
|
978
|
+
<a name="module_objectDescriptors..descriptorMap"></a>
|
|
979
|
+
|
|
980
|
+
### objectDescriptors~descriptorMap : [<code>Array.<descriptor></code>](#module_objectDescriptors..descriptor)
|
|
981
|
+
**Kind**: inner typedef of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
982
|
+
<a name="module_objectDescriptors..descriptorDetail"></a>
|
|
983
|
+
|
|
984
|
+
### objectDescriptors~descriptorDetail : <code>Object</code>
|
|
985
|
+
**Kind**: inner typedef of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
986
|
+
**Properties**
|
|
987
|
+
|
|
988
|
+
| Name | Type |
|
|
989
|
+
| --- | --- |
|
|
990
|
+
| index | <code>number</code> |
|
|
991
|
+
| key | <code>string</code> \| <code>number</code> |
|
|
992
|
+
| type | <code>Array.<string></code> |
|
|
993
|
+
| value | <code>Array</code> |
|
|
994
|
+
| nullable | <code>boolean</code> |
|
|
995
|
+
| optional | <code>boolean</code> |
|
|
996
|
+
| circular | <code>boolean</code> |
|
|
997
|
+
| isReference | <code>boolean</code> |
|
|
998
|
+
| isInstance | <code>boolean</code> |
|
|
999
|
+
| arrayReference | <code>null</code> \| <code>number</code> |
|
|
1000
|
+
| objectReference | <code>null</code> \| <code>number</code> |
|
|
1001
|
+
|
|
1002
|
+
<a name="module_objectDescriptors..descriptor"></a>
|
|
1003
|
+
|
|
1004
|
+
### objectDescriptors~descriptor : <code>Object</code>
|
|
1005
|
+
**Kind**: inner typedef of [<code>objectDescriptors</code>](#module_objectDescriptors)
|
|
1006
|
+
**Properties**
|
|
1007
|
+
|
|
1008
|
+
| Name | Type |
|
|
1009
|
+
| --- | --- |
|
|
1010
|
+
| index | <code>number</code> |
|
|
1011
|
+
| details | [<code>Array.<descriptorDetail></code>](#module_objectDescriptors..descriptorDetail) |
|
|
1012
|
+
| length | <code>number</code> |
|
|
1013
|
+
| keys | <code>Array.<(string\|number)></code> |
|
|
1014
|
+
| references | <code>Array.<number></code> |
|
|
1015
|
+
| isArray | <code>boolean</code> |
|
|
1016
|
+
| complete | <code>boolean</code> |
|
|
1017
|
+
|
|
1018
|
+
<a name="module_arrayHelpers"></a>
|
|
1019
|
+
|
|
1020
|
+
## arrayHelpers
|
|
1021
|
+
Some simple utility functions for generating arrays or performing work on arrays.
|
|
1022
|
+
|
|
1023
|
+
**Version**: 1.0.0
|
|
1024
|
+
**Author**: Joshua Heagle <joshuaheagle@gmail.com>
|
|
1025
|
+
|
|
1026
|
+
* [arrayHelpers](#module_arrayHelpers)
|
|
1027
|
+
* _static_
|
|
1028
|
+
* [.uniqueArray(array)](#module_arrayHelpers.uniqueArray) ⇒ <code>Array</code>
|
|
1029
|
+
* [.mergeArrays(...arrays)](#module_arrayHelpers.mergeArrays) ⇒ <code>Array</code>
|
|
1030
|
+
* [.compareArrays(...arrays)](#module_arrayHelpers.compareArrays) ⇒ [<code>Array.<compareArrayResult></code>](#module_arrayHelpers..compareArrayResult)
|
|
1031
|
+
* [.buildArrayOfReferences(item, length)](#module_arrayHelpers.buildArrayOfReferences) ⇒ <code>Array.<\*></code>
|
|
1032
|
+
* [.buildArray(item, length)](#module_arrayHelpers.buildArray) ⇒ <code>Array.<\*></code>
|
|
1033
|
+
* [.addUniqueToArray(item, array)](#module_arrayHelpers.addUniqueToArray) ⇒ <code>Array</code> \| <code>Buffer</code> \| <code>\*</code> \| <code>string</code>
|
|
1034
|
+
* _inner_
|
|
1035
|
+
* [~compareArrayResult](#module_arrayHelpers..compareArrayResult) : <code>Object.<string, (string\|Array.<number>)></code>
|
|
1036
|
+
|
|
1037
|
+
<a name="module_arrayHelpers.uniqueArray"></a>
|
|
1038
|
+
|
|
1039
|
+
### arrayHelpers.uniqueArray(array) ⇒ <code>Array</code>
|
|
1040
|
+
Remove duplicate values from an array.
|
|
1041
|
+
|
|
1042
|
+
**Kind**: static method of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1043
|
+
|
|
1044
|
+
| Param | Type | Description |
|
|
1045
|
+
| --- | --- | --- |
|
|
1046
|
+
| array | <code>Array</code> | The array to make unique |
|
|
1047
|
+
|
|
1048
|
+
<a name="module_arrayHelpers.mergeArrays"></a>
|
|
1049
|
+
|
|
1050
|
+
### arrayHelpers.mergeArrays(...arrays) ⇒ <code>Array</code>
|
|
1051
|
+
Take multiple arrays and then filter all these into one unique array.
|
|
1052
|
+
|
|
1053
|
+
**Kind**: static method of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1054
|
+
|
|
1055
|
+
| Param | Type | Description |
|
|
1056
|
+
| --- | --- | --- |
|
|
1057
|
+
| ...arrays | <code>Array</code> | Provide multiple arrays to create one unique array |
|
|
1058
|
+
|
|
1059
|
+
<a name="module_arrayHelpers.compareArrays"></a>
|
|
1060
|
+
|
|
1061
|
+
### arrayHelpers.compareArrays(...arrays) ⇒ [<code>Array.<compareArrayResult></code>](#module_arrayHelpers..compareArrayResult)
|
|
1062
|
+
Compare two Arrays and return the Object where the value for each property is as follows:
|
|
1
|
-
|
|
1063
|
+
|
|
1064
|
+
**Kind**: static method of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1065
|
+
|
|
1066
|
+
| Param | Type | Description |
|
|
1067
|
+
| --- | --- | --- |
|
|
1068
|
+
| ...arrays | <code>Array</code> | The arrays to compare |
|
|
1069
|
+
|
|
1070
|
+
**Example**
|
|
1071
|
+
```js
|
|
1072
|
+
// example of input and resulting output
|
|
2
1073
|
['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
|
|
3
1074
|
['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
|
|
4
1075
|
{
|
|
5
1076
|
value: 'match1',
|
|
6
1077
|
keys: [[0], [0]],
|
|
7
1078
|
result: [0, 0]
|
|
8
1079
|
},
|
|
9
1080
|
{
|
|
10
1081
|
value: 'firstMismatch1',
|
|
11
1082
|
keys: [[1], []],
|
|
12
1083
|
result: [1, -1]
|
|
13
1084
|
},
|
|
14
1085
|
{
|
|
15
1086
|
value: 'match2',
|
|
16
1087
|
keys: [[2], [1]],
|
|
17
1088
|
result: [0, 0]
|
|
18
1089
|
},
|
|
19
1090
|
{
|
|
20
1091
|
value: 'firstMismatch2',
|
|
21
1092
|
keys: [[3], []],
|
|
22
1093
|
result: [1, -1]
|
|
23
1094
|
},
|
|
24
1095
|
{
|
|
25
1096
|
value: 'badMatch1',
|
|
26
1097
|
keys: [[4], [3, 4]],
|
|
27
1098
|
result: [0, 0]
|
|
28
1099
|
},
|
|
29
1100
|
{
|
|
30
1101
|
value: 'secondMismatch1',
|
|
31
1102
|
keys: [[], [2]],
|
|
32
1103
|
result: [-1, 1]
|
|
33
1104
|
}
|
|
1105
|
+
```
|
|
1106
|
+
<a name="module_arrayHelpers.buildArrayOfReferences"></a>
|
|
1107
|
+
|
|
1108
|
+
### arrayHelpers.buildArrayOfReferences(item, length) ⇒ <code>Array.<\*></code>
|
|
1109
|
+
Leverage buildArrayBase to generate an array filled with references to the provided item.
|
|
1110
|
+
|
|
1111
|
+
**Kind**: static method of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1112
|
+
|
|
1113
|
+
| Param | Type | Description |
|
|
1114
|
+
| --- | --- | --- |
|
|
1115
|
+
| item | <code>\*</code> | The item to be used for each array element |
|
|
1116
|
+
| length | <code>number</code> | The desired length of the array |
|
|
1117
|
+
|
|
1118
|
+
<a name="module_arrayHelpers.buildArray"></a>
|
|
1119
|
+
|
|
1120
|
+
### arrayHelpers.buildArray(item, length) ⇒ <code>Array.<\*></code>
|
|
1121
|
+
Leverage buildArrayBase to generate an array filled with a copy of the provided item.
|
|
1122
|
+
|
|
1123
|
+
**Kind**: static method of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1124
|
+
|
|
1125
|
+
| Param | Type | Description |
|
|
1126
|
+
| --- | --- | --- |
|
|
1127
|
+
| item | <code>\*</code> | The item to be used for each array element |
|
|
1128
|
+
| length | <code>number</code> | The desired length of the array |
|
|
1129
|
+
|
|
1130
|
+
<a name="module_arrayHelpers.addUniqueToArray"></a>
|
|
1131
|
+
|
|
1132
|
+
### arrayHelpers.addUniqueToArray(item, array) ⇒ <code>Array</code> \| <code>Buffer</code> \| <code>\*</code> \| <code>string</code>
|
|
1133
|
+
Having an array and a potential new array element, check if the element is in the array, if not append to array.
|
|
1134
|
+
|
|
1135
|
+
**Kind**: static method of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1136
|
+
|
|
1137
|
+
| Param | Type | Description |
|
|
1138
|
+
| --- | --- | --- |
|
|
1139
|
+
| item | <code>\*</code> | An potential array element, possibly a DomItem |
|
|
1140
|
+
| array | <code>Array</code> | An array where an element may be appended. |
|
|
1141
|
+
|
|
1142
|
+
<a name="module_arrayHelpers..compareArrayResult"></a>
|
|
1143
|
+
|
|
1144
|
+
### arrayHelpers~compareArrayResult : <code>Object.<string, (string\|Array.<number>)></code>
|
|
1145
|
+
Store the comparison result for an element that may exist in either of compared arrays.
|
|
34
|
-
value stores the element value from the arrays being compared
|
|
35
|
-
results has the comparison results where first index (0) is result for first compared array
|
|
36
1146
|
and the second index (1) will be the result for the second compared array
|
|
1147
|
+
|
|
1148
|
+
**Kind**: inner typedef of [<code>arrayHelpers</code>](#module_arrayHelpers)
|
|
1149
|
+
**Properties**
|
|
1150
|
+
|
|
1151
|
+
| Name | Type | Description |
|
|
1152
|
+
| --- | --- | --- |
|
|
1153
|
+
| value | <code>string</code> | The element value being compared |
|
|
1154
|
+
| keys | <code>Array.<Array.<(string\|number)>></code> | Keys in arrays associated with this value |
|
|
1155
|
+
| result | <code>Array.<number></code> | The results in the order of the compared arrays |
|
|
1156
|
+
|
|
1157
|
+
**Example**
|
|
1158
|
+
```js
|
|
1159
|
+
// example of input and resulting output
|
|
1160
|
+
```
|