fable 3.1.50 → 3.1.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -2
- package/dist/fable.js +74 -46
- package/dist/fable.js.map +1 -1
- package/dist/fable.min.js +2 -2
- package/dist/fable.min.js.map +1 -1
- package/docs/.nojekyll +0 -0
- package/docs/README.md +95 -0
- package/docs/_sidebar.md +42 -0
- package/docs/architecture.md +326 -0
- package/docs/cover.md +11 -0
- package/docs/index.html +51 -0
- package/docs/services/README.md +76 -0
- package/docs/services/anticipate.md +331 -0
- package/docs/services/csv-parser.md +152 -0
- package/docs/services/data-format.md +277 -0
- package/docs/services/data-generation.md +142 -0
- package/docs/services/dates.md +216 -0
- package/docs/services/environment-data.md +44 -0
- package/docs/services/expression-parser-functions/README.md +178 -0
- package/docs/services/expression-parser-functions/abs.md +84 -0
- package/docs/services/expression-parser-functions/aggregationhistogram.md +83 -0
- package/docs/services/expression-parser-functions/aggregationhistogrambyobject.md +64 -0
- package/docs/services/expression-parser-functions/arrayconcat.md +64 -0
- package/docs/services/expression-parser-functions/avg.md +81 -0
- package/docs/services/expression-parser-functions/bucketset.md +69 -0
- package/docs/services/expression-parser-functions/ceil.md +70 -0
- package/docs/services/expression-parser-functions/cleanvaluearray.md +66 -0
- package/docs/services/expression-parser-functions/cleanvalueobject.md +68 -0
- package/docs/services/expression-parser-functions/compare.md +72 -0
- package/docs/services/expression-parser-functions/concat.md +73 -0
- package/docs/services/expression-parser-functions/concatraw.md +73 -0
- package/docs/services/expression-parser-functions/cos.md +75 -0
- package/docs/services/expression-parser-functions/count.md +73 -0
- package/docs/services/expression-parser-functions/countset.md +65 -0
- package/docs/services/expression-parser-functions/countsetelements.md +63 -0
- package/docs/services/expression-parser-functions/createarrayfromabsolutevalues.md +63 -0
- package/docs/services/expression-parser-functions/createvalueobjectbyhashes.md +69 -0
- package/docs/services/expression-parser-functions/cumulativesummation.md +96 -0
- package/docs/services/expression-parser-functions/dateadddays.md +79 -0
- package/docs/services/expression-parser-functions/dateaddhours.md +74 -0
- package/docs/services/expression-parser-functions/dateaddmilliseconds.md +65 -0
- package/docs/services/expression-parser-functions/dateaddminutes.md +72 -0
- package/docs/services/expression-parser-functions/dateaddmonths.md +74 -0
- package/docs/services/expression-parser-functions/dateaddseconds.md +66 -0
- package/docs/services/expression-parser-functions/dateaddweeks.md +73 -0
- package/docs/services/expression-parser-functions/dateaddyears.md +74 -0
- package/docs/services/expression-parser-functions/datedaydifference.md +84 -0
- package/docs/services/expression-parser-functions/datefromparts.md +81 -0
- package/docs/services/expression-parser-functions/datehourdifference.md +64 -0
- package/docs/services/expression-parser-functions/datemathadd.md +72 -0
- package/docs/services/expression-parser-functions/datemilliseconddifference.md +64 -0
- package/docs/services/expression-parser-functions/dateminutedifference.md +64 -0
- package/docs/services/expression-parser-functions/datemonthdifference.md +66 -0
- package/docs/services/expression-parser-functions/dateseconddifference.md +64 -0
- package/docs/services/expression-parser-functions/dateweekdifference.md +65 -0
- package/docs/services/expression-parser-functions/dateyeardifference.md +64 -0
- package/docs/services/expression-parser-functions/distributionhistogram.md +96 -0
- package/docs/services/expression-parser-functions/distributionhistogrambyobject.md +64 -0
- package/docs/services/expression-parser-functions/entryinset.md +72 -0
- package/docs/services/expression-parser-functions/euler.md +77 -0
- package/docs/services/expression-parser-functions/exp.md +74 -0
- package/docs/services/expression-parser-functions/findfirstvaluebyexactmatch.md +67 -0
- package/docs/services/expression-parser-functions/findfirstvaluebystringincludes.md +67 -0
- package/docs/services/expression-parser-functions/flatten.md +76 -0
- package/docs/services/expression-parser-functions/floor.md +70 -0
- package/docs/services/expression-parser-functions/gaussianelimination.md +75 -0
- package/docs/services/expression-parser-functions/generatearrayofobjectsfromsets.md +70 -0
- package/docs/services/expression-parser-functions/getvalue.md +90 -0
- package/docs/services/expression-parser-functions/getvaluearray.md +64 -0
- package/docs/services/expression-parser-functions/getvalueobject.md +67 -0
- package/docs/services/expression-parser-functions/if.md +109 -0
- package/docs/services/expression-parser-functions/iterativeseries.md +107 -0
- package/docs/services/expression-parser-functions/join.md +75 -0
- package/docs/services/expression-parser-functions/joinraw.md +64 -0
- package/docs/services/expression-parser-functions/largestinset.md +63 -0
- package/docs/services/expression-parser-functions/leastsquares.md +66 -0
- package/docs/services/expression-parser-functions/linest.md +58 -0
- package/docs/services/expression-parser-functions/log.md +74 -0
- package/docs/services/expression-parser-functions/match.md +71 -0
- package/docs/services/expression-parser-functions/matrixinverse.md +67 -0
- package/docs/services/expression-parser-functions/matrixmultiply.md +71 -0
- package/docs/services/expression-parser-functions/matrixtranspose.md +72 -0
- package/docs/services/expression-parser-functions/matrixvectormultiply.md +69 -0
- package/docs/services/expression-parser-functions/max.md +73 -0
- package/docs/services/expression-parser-functions/mean.md +63 -0
- package/docs/services/expression-parser-functions/median.md +79 -0
- package/docs/services/expression-parser-functions/min.md +73 -0
- package/docs/services/expression-parser-functions/mode.md +66 -0
- package/docs/services/expression-parser-functions/objectkeystoarray.md +66 -0
- package/docs/services/expression-parser-functions/objectvaluessortbyexternalobjectarray.md +65 -0
- package/docs/services/expression-parser-functions/objectvaluestoarray.md +67 -0
- package/docs/services/expression-parser-functions/percent.md +75 -0
- package/docs/services/expression-parser-functions/pi.md +77 -0
- package/docs/services/expression-parser-functions/polynomialregression.md +69 -0
- package/docs/services/expression-parser-functions/predict.md +71 -0
- package/docs/services/expression-parser-functions/rad.md +85 -0
- package/docs/services/expression-parser-functions/randomfloat.md +63 -0
- package/docs/services/expression-parser-functions/randomfloatbetween.md +72 -0
- package/docs/services/expression-parser-functions/randomfloatupto.md +65 -0
- package/docs/services/expression-parser-functions/randominteger.md +56 -0
- package/docs/services/expression-parser-functions/randomintegerbetween.md +72 -0
- package/docs/services/expression-parser-functions/randomintegerupto.md +64 -0
- package/docs/services/expression-parser-functions/resolvehtmlentities.md +64 -0
- package/docs/services/expression-parser-functions/round.md +111 -0
- package/docs/services/expression-parser-functions/setconcatenate.md +64 -0
- package/docs/services/expression-parser-functions/sin.md +83 -0
- package/docs/services/expression-parser-functions/slice.md +80 -0
- package/docs/services/expression-parser-functions/smallestinset.md +63 -0
- package/docs/services/expression-parser-functions/sorthistogram.md +70 -0
- package/docs/services/expression-parser-functions/sorthistogrambykeys.md +69 -0
- package/docs/services/expression-parser-functions/sortset.md +75 -0
- package/docs/services/expression-parser-functions/sqrt.md +85 -0
- package/docs/services/expression-parser-functions/stdev.md +81 -0
- package/docs/services/expression-parser-functions/stdeva.md +58 -0
- package/docs/services/expression-parser-functions/stdevp.md +83 -0
- package/docs/services/expression-parser-functions/stringcountsegments.md +66 -0
- package/docs/services/expression-parser-functions/stringgetsegments.md +74 -0
- package/docs/services/expression-parser-functions/subtractingsummation.md +66 -0
- package/docs/services/expression-parser-functions/sum.md +78 -0
- package/docs/services/expression-parser-functions/tan.md +78 -0
- package/docs/services/expression-parser-functions/tofixed.md +75 -0
- package/docs/services/expression-parser-functions/var.md +67 -0
- package/docs/services/expression-parser-functions/vara.md +58 -0
- package/docs/services/expression-parser-functions/varp.md +66 -0
- package/docs/services/expression-parser-functions/when.md +98 -0
- package/docs/services/expression-parser.md +314 -0
- package/docs/services/file-persistence.md +279 -0
- package/docs/services/logging.md +237 -0
- package/docs/services/logic.md +166 -0
- package/docs/services/manifest.md +256 -0
- package/docs/services/math.md +279 -0
- package/docs/services/meta-template.md +268 -0
- package/docs/services/object-cache.md +171 -0
- package/docs/services/operation.md +207 -0
- package/docs/services/progress-time.md +167 -0
- package/docs/services/progress-tracker-set.md +222 -0
- package/docs/services/rest-client.md +296 -0
- package/docs/services/settings-manager.md +265 -0
- package/docs/services/template.md +233 -0
- package/docs/services/utility.md +304 -0
- package/docs/services/uuid.md +162 -0
- package/package.json +1 -1
- package/source/services/Fable-Service-DataFormat.js +1 -0
- package/source/services/Fable-Service-ExpressionParser/Fable-Service-ExpressionParser-FunctionMap.json +24 -0
- package/source/services/Fable-Service-ExpressionParser/Fable-Service-ExpressionParser-ValueMarshal.js +6 -4
- package/source/services/Fable-Service-Math.js +65 -3
- package/test/ExpressionParser_tests.js +5 -0
- package/test/Math_test.js +29 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# createvalueobjectbyhashes
|
|
2
|
+
|
|
3
|
+
Creates an object from arrays of keys and values.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
createvalueobjectbyhashes(keys, values)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `keys` | Array | Array of property names |
|
|
16
|
+
| `values` | Array | Array of values |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
Object - New object with key-value pairs.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `createvalueobjectbyhashes` function creates an object by pairing up arrays of keys and values. Each key is matched with the value at the same index.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Keys = ["name", "age", "city"]
|
|
32
|
+
Values = ["John", 30, "NYC"]
|
|
33
|
+
Result = CREATEVALUEOBJECTBYHASHES(Keys, Values)
|
|
34
|
+
// Result: { name: "John", age: 30, city: "NYC" }
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### From Headers and Data
|
|
38
|
+
|
|
39
|
+
```expression
|
|
40
|
+
Headers = ["id", "product", "price"]
|
|
41
|
+
Row = ["001", "Widget", "9.99"]
|
|
42
|
+
Record = CREATEVALUEOBJECTBYHASHES(Headers, Row)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Dynamic Object Creation
|
|
46
|
+
|
|
47
|
+
```expression
|
|
48
|
+
PropertyNames = OBJECTKEYSTOARRAY(Template)
|
|
49
|
+
PropertyValues = GeneratedValues
|
|
50
|
+
NewObject = CREATEVALUEOBJECTBYHASHES(PropertyNames, PropertyValues)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Use Cases
|
|
54
|
+
|
|
55
|
+
- **CSV processing**: Convert rows to objects
|
|
56
|
+
- **Data transformation**: Build objects dynamically
|
|
57
|
+
- **Mapping**: Create lookup tables
|
|
58
|
+
- **Import**: Convert flat data to objects
|
|
59
|
+
|
|
60
|
+
## Related Functions
|
|
61
|
+
|
|
62
|
+
- [objectkeystoarray](./objectkeystoarray.md) - Extract keys
|
|
63
|
+
- [objectvaluestoarray](./objectvaluestoarray.md) - Extract values
|
|
64
|
+
- [generatearrayofobjectsfromsets](./generatearrayofobjectsfromsets.md) - Generate multiple objects
|
|
65
|
+
|
|
66
|
+
## Notes
|
|
67
|
+
|
|
68
|
+
- Arrays should have same length
|
|
69
|
+
- Uses the Logic service's `createValueObjectByHashes` method
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# cumulativesummation
|
|
2
|
+
|
|
3
|
+
Calculates cumulative (running) sums across a set of records.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
cumulativesummation(array, valueProperty, resultProperty)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `array` | Array | Array of objects to process |
|
|
16
|
+
| `valueProperty` | String | Property name containing values to sum |
|
|
17
|
+
| `resultProperty` | String | Property name to store the cumulative result |
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
Array - The input array with a new property added to each object containing the cumulative sum.
|
|
22
|
+
|
|
23
|
+
## Description
|
|
24
|
+
|
|
25
|
+
The `cumulativesummation` function iterates through an array of objects and calculates a running total. Each object receives a new property containing the sum of all values up to and including that point.
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
### Basic Usage
|
|
30
|
+
|
|
31
|
+
```expression
|
|
32
|
+
// Input data
|
|
33
|
+
Data = [
|
|
34
|
+
{ Value: 10 },
|
|
35
|
+
{ Value: 20 },
|
|
36
|
+
{ Value: 5 }
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
Result = cumulativesummation(Data, "Value", "RunningTotal")
|
|
40
|
+
|
|
41
|
+
// Result:
|
|
42
|
+
// [
|
|
43
|
+
// { Value: 10, RunningTotal: "10" },
|
|
44
|
+
// { Value: 20, RunningTotal: "30" },
|
|
45
|
+
// { Value: 5, RunningTotal: "35" }
|
|
46
|
+
// ]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Financial Running Balance
|
|
50
|
+
|
|
51
|
+
```expression
|
|
52
|
+
// Track cumulative spending
|
|
53
|
+
Transactions = [
|
|
54
|
+
{ Amount: 100, Description: "Purchase 1" },
|
|
55
|
+
{ Amount: 50, Description: "Purchase 2" },
|
|
56
|
+
{ Amount: 75, Description: "Purchase 3" }
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
Result = cumulativesummation(Transactions, "Amount", "TotalSpent")
|
|
60
|
+
// TotalSpent values: 100, 150, 225
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Inventory Tracking
|
|
64
|
+
|
|
65
|
+
```expression
|
|
66
|
+
// Track cumulative inventory received
|
|
67
|
+
Shipments = [
|
|
68
|
+
{ Quantity: 500 },
|
|
69
|
+
{ Quantity: 300 },
|
|
70
|
+
{ Quantity: 200 }
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
Result = cumulativesummation(Shipments, "Quantity", "TotalReceived")
|
|
74
|
+
// TotalReceived values: 500, 800, 1000
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Use Cases
|
|
78
|
+
|
|
79
|
+
- **Financial tracking**: Running balances, cumulative spending
|
|
80
|
+
- **Inventory management**: Cumulative receipts or shipments
|
|
81
|
+
- **Progress tracking**: Cumulative completion amounts
|
|
82
|
+
- **Statistical analysis**: Cumulative distribution functions
|
|
83
|
+
- **Reporting**: Year-to-date totals
|
|
84
|
+
|
|
85
|
+
## Related Functions
|
|
86
|
+
|
|
87
|
+
- [subtractingsummation](./subtractingsummation.md) - Subtracting cumulative
|
|
88
|
+
- [iterativeseries](./iterativeseries.md) - General iterative operations
|
|
89
|
+
- [sum](./sum.md) - Simple sum of all values
|
|
90
|
+
|
|
91
|
+
## Notes
|
|
92
|
+
|
|
93
|
+
- Modifies the input array by adding the result property
|
|
94
|
+
- Uses arbitrary precision arithmetic
|
|
95
|
+
- Works with the Math service's `cumulativeSummation` method
|
|
96
|
+
- The result property values are strings (arbitrary precision)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# dateadddays
|
|
2
|
+
|
|
3
|
+
Adds a specified number of days to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateadddays(date, days)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `days` | Number | Number of days to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateadddays` function adds a specified number of days to a date and returns the new date. Use negative numbers to subtract days.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDDAYS("2025-04-01T00:00:00.000Z", 10)
|
|
32
|
+
// Result: "2025-04-11T00:00:00.000Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Adding Many Days
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDDAYS(DATEFROMPARTS(2025, 4, 1, 13, 03, 51, 761), 87)
|
|
39
|
+
// Result: "2025-06-27T13:03:51.761Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Subtracting Days
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
Result = DATEADDDAYS("2025-04-15T00:00:00.000Z", -10)
|
|
46
|
+
// Result: "2025-04-05T00:00:00.000Z"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### With Variables
|
|
50
|
+
|
|
51
|
+
```expression
|
|
52
|
+
DueDate = DATEADDDAYS(OrderDate, ShippingDays)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Use Cases
|
|
56
|
+
|
|
57
|
+
- **Due date calculation**: Add business days to start date
|
|
58
|
+
- **Scheduling**: Calculate future appointments
|
|
59
|
+
- **Aging reports**: Determine dates in past or future
|
|
60
|
+
- **Date navigation**: Moving through calendars
|
|
61
|
+
|
|
62
|
+
## Related Functions
|
|
63
|
+
|
|
64
|
+
- [dateaddmilliseconds](./dateaddmilliseconds.md) - Add milliseconds
|
|
65
|
+
- [dateaddseconds](./dateaddseconds.md) - Add seconds
|
|
66
|
+
- [dateaddminutes](./dateaddminutes.md) - Add minutes
|
|
67
|
+
- [dateaddhours](./dateaddhours.md) - Add hours
|
|
68
|
+
- [dateaddweeks](./dateaddweeks.md) - Add weeks
|
|
69
|
+
- [dateaddmonths](./dateaddmonths.md) - Add months
|
|
70
|
+
- [dateaddyears](./dateaddyears.md) - Add years
|
|
71
|
+
- [datedaydifference](./datedaydifference.md) - Calculate day difference
|
|
72
|
+
- [datefromparts](./datefromparts.md) - Create date from parts
|
|
73
|
+
|
|
74
|
+
## Notes
|
|
75
|
+
|
|
76
|
+
- Returns ISO 8601 formatted string
|
|
77
|
+
- Handles month/year boundaries automatically
|
|
78
|
+
- Negative values subtract days
|
|
79
|
+
- Uses the Dates service internally
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# dateaddhours
|
|
2
|
+
|
|
3
|
+
Adds a specified number of hours to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateaddhours(date, hours)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `hours` | Number | Number of hours to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateaddhours` function adds a specified number of hours to a date and returns the new date/time. Use negative numbers to subtract hours.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDHOURS("2025-04-01T10:00:00.000Z", 5)
|
|
32
|
+
// Result: "2025-04-01T15:00:00.000Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Crossing Day Boundary
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDHOURS("2025-04-01T22:00:00.000Z", 4)
|
|
39
|
+
// Result: "2025-04-02T02:00:00.000Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Subtracting Hours
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
Result = DATEADDHOURS("2025-04-01T10:00:00.000Z", -3)
|
|
46
|
+
// Result: "2025-04-01T07:00:00.000Z"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Deadline Calculation
|
|
50
|
+
|
|
51
|
+
```expression
|
|
52
|
+
DeadlineTime = DATEADDHOURS(SubmissionStart, TimeLimit)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Use Cases
|
|
56
|
+
|
|
57
|
+
- **SLA tracking**: Hours until deadline
|
|
58
|
+
- **Scheduling**: Appointment times
|
|
59
|
+
- **Time zones**: Hour offset calculations
|
|
60
|
+
- **Shift scheduling**: Work shift end times
|
|
61
|
+
|
|
62
|
+
## Related Functions
|
|
63
|
+
|
|
64
|
+
- [dateaddminutes](./dateaddminutes.md) - Add minutes
|
|
65
|
+
- [dateaddseconds](./dateaddseconds.md) - Add seconds
|
|
66
|
+
- [dateadddays](./dateadddays.md) - Add days
|
|
67
|
+
- [datehourdifference](./datehourdifference.md) - Calculate hour difference
|
|
68
|
+
|
|
69
|
+
## Notes
|
|
70
|
+
|
|
71
|
+
- Returns ISO 8601 formatted string
|
|
72
|
+
- Handles day/month/year boundaries
|
|
73
|
+
- Negative values subtract hours
|
|
74
|
+
- Uses the Dates service internally
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# dateaddmilliseconds
|
|
2
|
+
|
|
3
|
+
Adds a specified number of milliseconds to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateaddmilliseconds(date, milliseconds)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `milliseconds` | Number | Number of milliseconds to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateaddmilliseconds` function adds a specified number of milliseconds to a date and returns the new date/time. Use negative numbers to subtract milliseconds.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDMILLISECONDS("2025-04-01T10:30:00.000Z", 500)
|
|
32
|
+
// Result: "2025-04-01T10:30:00.500Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Subtracting Milliseconds
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDMILLISECONDS("2025-04-01T10:30:00.500Z", -250)
|
|
39
|
+
// Result: "2025-04-01T10:30:00.250Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Precise Timing
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
AnimationFrame = DATEADDMILLISECONDS(StartTime, FrameDelay)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Use Cases
|
|
49
|
+
|
|
50
|
+
- **High precision timing**: Millisecond-level calculations
|
|
51
|
+
- **Animation**: Frame timing
|
|
52
|
+
- **Performance measurement**: Precise durations
|
|
53
|
+
- **Logging**: Precise timestamps
|
|
54
|
+
|
|
55
|
+
## Related Functions
|
|
56
|
+
|
|
57
|
+
- [dateaddseconds](./dateaddseconds.md) - Add seconds
|
|
58
|
+
- [datemilliseconddifference](./datemilliseconddifference.md) - Calculate millisecond difference
|
|
59
|
+
|
|
60
|
+
## Notes
|
|
61
|
+
|
|
62
|
+
- Returns ISO 8601 formatted string
|
|
63
|
+
- Handles second/minute boundaries
|
|
64
|
+
- Negative values subtract milliseconds
|
|
65
|
+
- Uses the Dates service internally
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# dateaddminutes
|
|
2
|
+
|
|
3
|
+
Adds a specified number of minutes to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateaddminutes(date, minutes)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `minutes` | Number | Number of minutes to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateaddminutes` function adds a specified number of minutes to a date and returns the new date/time. Use negative numbers to subtract minutes.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDMINUTES("2025-04-01T10:30:00.000Z", 45)
|
|
32
|
+
// Result: "2025-04-01T11:15:00.000Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Subtracting Minutes
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDMINUTES("2025-04-01T10:30:00.000Z", -15)
|
|
39
|
+
// Result: "2025-04-01T10:15:00.000Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Meeting Duration
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
MeetingEnd = DATEADDMINUTES(MeetingStart, Duration)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Buffer Time
|
|
49
|
+
|
|
50
|
+
```expression
|
|
51
|
+
ArrivalTime = DATEADDMINUTES(AppointmentTime, -15)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Use Cases
|
|
55
|
+
|
|
56
|
+
- **Meeting scheduling**: Calculate end times
|
|
57
|
+
- **Timers**: Add time intervals
|
|
58
|
+
- **Reminders**: Calculate reminder times
|
|
59
|
+
- **Transit**: Estimated arrival times
|
|
60
|
+
|
|
61
|
+
## Related Functions
|
|
62
|
+
|
|
63
|
+
- [dateaddseconds](./dateaddseconds.md) - Add seconds
|
|
64
|
+
- [dateaddhours](./dateaddhours.md) - Add hours
|
|
65
|
+
- [dateminutedifference](./dateminutedifference.md) - Calculate minute difference
|
|
66
|
+
|
|
67
|
+
## Notes
|
|
68
|
+
|
|
69
|
+
- Returns ISO 8601 formatted string
|
|
70
|
+
- Handles hour/day boundaries
|
|
71
|
+
- Negative values subtract minutes
|
|
72
|
+
- Uses the Dates service internally
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# dateaddmonths
|
|
2
|
+
|
|
3
|
+
Adds a specified number of months to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateaddmonths(date, months)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `months` | Number | Number of months to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateaddmonths` function adds a specified number of months to a date and returns the new date. Use negative numbers to subtract months.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDMONTHS("2025-01-15T00:00:00.000Z", 3)
|
|
32
|
+
// Result: "2025-04-15T00:00:00.000Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Subtracting Months
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDMONTHS("2025-06-15T00:00:00.000Z", -2)
|
|
39
|
+
// Result: "2025-04-15T00:00:00.000Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### With Variables
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
RenewalDate = DATEADDMONTHS(SubscriptionStart, SubscriptionLength)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Quarterly Calculations
|
|
49
|
+
|
|
50
|
+
```expression
|
|
51
|
+
NextQuarter = DATEADDMONTHS(CurrentDate, 3)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Use Cases
|
|
55
|
+
|
|
56
|
+
- **Subscriptions**: Calculate renewal dates
|
|
57
|
+
- **Billing cycles**: Monthly billing dates
|
|
58
|
+
- **Project planning**: Monthly milestones
|
|
59
|
+
- **Financial reporting**: Period end dates
|
|
60
|
+
|
|
61
|
+
## Related Functions
|
|
62
|
+
|
|
63
|
+
- [dateadddays](./dateadddays.md) - Add days
|
|
64
|
+
- [dateaddweeks](./dateaddweeks.md) - Add weeks
|
|
65
|
+
- [dateaddyears](./dateaddyears.md) - Add years
|
|
66
|
+
- [datemonthdifference](./datemonthdifference.md) - Calculate month difference
|
|
67
|
+
- [datefromparts](./datefromparts.md) - Create date from parts
|
|
68
|
+
|
|
69
|
+
## Notes
|
|
70
|
+
|
|
71
|
+
- Returns ISO 8601 formatted string
|
|
72
|
+
- Handles year boundaries automatically
|
|
73
|
+
- Negative values subtract months
|
|
74
|
+
- Uses the Dates service internally
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# dateaddseconds
|
|
2
|
+
|
|
3
|
+
Adds a specified number of seconds to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateaddseconds(date, seconds)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `seconds` | Number | Number of seconds to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateaddseconds` function adds a specified number of seconds to a date and returns the new date/time. Use negative numbers to subtract seconds.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDSECONDS("2025-04-01T10:30:00.000Z", 30)
|
|
32
|
+
// Result: "2025-04-01T10:30:30.000Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Subtracting Seconds
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDSECONDS("2025-04-01T10:30:30.000Z", -15)
|
|
39
|
+
// Result: "2025-04-01T10:30:15.000Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Timeout Calculation
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
TimeoutExpiry = DATEADDSECONDS(RequestTime, TimeoutSeconds)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Use Cases
|
|
49
|
+
|
|
50
|
+
- **Timeouts**: Calculate expiry times
|
|
51
|
+
- **Animations**: Timing calculations
|
|
52
|
+
- **Performance**: Measure durations
|
|
53
|
+
- **Precision timing**: Second-level calculations
|
|
54
|
+
|
|
55
|
+
## Related Functions
|
|
56
|
+
|
|
57
|
+
- [dateaddmilliseconds](./dateaddmilliseconds.md) - Add milliseconds
|
|
58
|
+
- [dateaddminutes](./dateaddminutes.md) - Add minutes
|
|
59
|
+
- [dateseconddifference](./dateseconddifference.md) - Calculate second difference
|
|
60
|
+
|
|
61
|
+
## Notes
|
|
62
|
+
|
|
63
|
+
- Returns ISO 8601 formatted string
|
|
64
|
+
- Handles minute/hour boundaries
|
|
65
|
+
- Negative values subtract seconds
|
|
66
|
+
- Uses the Dates service internally
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# dateaddweeks
|
|
2
|
+
|
|
3
|
+
Adds a specified number of weeks to a date.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
dateaddweeks(date, weeks)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `date` | String | Starting date (ISO 8601 format) |
|
|
16
|
+
| `weeks` | Number | Number of weeks to add (can be negative) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - The resulting date in ISO 8601 format.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `dateaddweeks` function adds a specified number of weeks to a date and returns the new date. Use negative numbers to subtract weeks.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = DATEADDWEEKS("2025-04-01T00:00:00.000Z", 2)
|
|
32
|
+
// Result: "2025-04-15T00:00:00.000Z"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Subtracting Weeks
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
Result = DATEADDWEEKS("2025-04-15T00:00:00.000Z", -1)
|
|
39
|
+
// Result: "2025-04-08T00:00:00.000Z"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Sprint Planning
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
SprintEndDate = DATEADDWEEKS(SprintStartDate, 2)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Weekly Schedule
|
|
49
|
+
|
|
50
|
+
```expression
|
|
51
|
+
NextMeeting = DATEADDWEEKS(LastMeeting, 1)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Use Cases
|
|
55
|
+
|
|
56
|
+
- **Sprint planning**: Calculate sprint dates
|
|
57
|
+
- **Scheduling**: Weekly recurring events
|
|
58
|
+
- **Project management**: Week-based milestones
|
|
59
|
+
- **Payroll**: Bi-weekly pay periods
|
|
60
|
+
|
|
61
|
+
## Related Functions
|
|
62
|
+
|
|
63
|
+
- [dateadddays](./dateadddays.md) - Add days
|
|
64
|
+
- [dateaddmonths](./dateaddmonths.md) - Add months
|
|
65
|
+
- [dateweekdifference](./dateweekdifference.md) - Calculate week difference
|
|
66
|
+
- [datefromparts](./datefromparts.md) - Create date from parts
|
|
67
|
+
|
|
68
|
+
## Notes
|
|
69
|
+
|
|
70
|
+
- Returns ISO 8601 formatted string
|
|
71
|
+
- One week equals 7 days
|
|
72
|
+
- Negative values subtract weeks
|
|
73
|
+
- Uses the Dates service internally
|