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.
Files changed (148) hide show
  1. package/README.md +87 -2
  2. package/dist/fable.js +74 -46
  3. package/dist/fable.js.map +1 -1
  4. package/dist/fable.min.js +2 -2
  5. package/dist/fable.min.js.map +1 -1
  6. package/docs/.nojekyll +0 -0
  7. package/docs/README.md +95 -0
  8. package/docs/_sidebar.md +42 -0
  9. package/docs/architecture.md +326 -0
  10. package/docs/cover.md +11 -0
  11. package/docs/index.html +51 -0
  12. package/docs/services/README.md +76 -0
  13. package/docs/services/anticipate.md +331 -0
  14. package/docs/services/csv-parser.md +152 -0
  15. package/docs/services/data-format.md +277 -0
  16. package/docs/services/data-generation.md +142 -0
  17. package/docs/services/dates.md +216 -0
  18. package/docs/services/environment-data.md +44 -0
  19. package/docs/services/expression-parser-functions/README.md +178 -0
  20. package/docs/services/expression-parser-functions/abs.md +84 -0
  21. package/docs/services/expression-parser-functions/aggregationhistogram.md +83 -0
  22. package/docs/services/expression-parser-functions/aggregationhistogrambyobject.md +64 -0
  23. package/docs/services/expression-parser-functions/arrayconcat.md +64 -0
  24. package/docs/services/expression-parser-functions/avg.md +81 -0
  25. package/docs/services/expression-parser-functions/bucketset.md +69 -0
  26. package/docs/services/expression-parser-functions/ceil.md +70 -0
  27. package/docs/services/expression-parser-functions/cleanvaluearray.md +66 -0
  28. package/docs/services/expression-parser-functions/cleanvalueobject.md +68 -0
  29. package/docs/services/expression-parser-functions/compare.md +72 -0
  30. package/docs/services/expression-parser-functions/concat.md +73 -0
  31. package/docs/services/expression-parser-functions/concatraw.md +73 -0
  32. package/docs/services/expression-parser-functions/cos.md +75 -0
  33. package/docs/services/expression-parser-functions/count.md +73 -0
  34. package/docs/services/expression-parser-functions/countset.md +65 -0
  35. package/docs/services/expression-parser-functions/countsetelements.md +63 -0
  36. package/docs/services/expression-parser-functions/createarrayfromabsolutevalues.md +63 -0
  37. package/docs/services/expression-parser-functions/createvalueobjectbyhashes.md +69 -0
  38. package/docs/services/expression-parser-functions/cumulativesummation.md +96 -0
  39. package/docs/services/expression-parser-functions/dateadddays.md +79 -0
  40. package/docs/services/expression-parser-functions/dateaddhours.md +74 -0
  41. package/docs/services/expression-parser-functions/dateaddmilliseconds.md +65 -0
  42. package/docs/services/expression-parser-functions/dateaddminutes.md +72 -0
  43. package/docs/services/expression-parser-functions/dateaddmonths.md +74 -0
  44. package/docs/services/expression-parser-functions/dateaddseconds.md +66 -0
  45. package/docs/services/expression-parser-functions/dateaddweeks.md +73 -0
  46. package/docs/services/expression-parser-functions/dateaddyears.md +74 -0
  47. package/docs/services/expression-parser-functions/datedaydifference.md +84 -0
  48. package/docs/services/expression-parser-functions/datefromparts.md +81 -0
  49. package/docs/services/expression-parser-functions/datehourdifference.md +64 -0
  50. package/docs/services/expression-parser-functions/datemathadd.md +72 -0
  51. package/docs/services/expression-parser-functions/datemilliseconddifference.md +64 -0
  52. package/docs/services/expression-parser-functions/dateminutedifference.md +64 -0
  53. package/docs/services/expression-parser-functions/datemonthdifference.md +66 -0
  54. package/docs/services/expression-parser-functions/dateseconddifference.md +64 -0
  55. package/docs/services/expression-parser-functions/dateweekdifference.md +65 -0
  56. package/docs/services/expression-parser-functions/dateyeardifference.md +64 -0
  57. package/docs/services/expression-parser-functions/distributionhistogram.md +96 -0
  58. package/docs/services/expression-parser-functions/distributionhistogrambyobject.md +64 -0
  59. package/docs/services/expression-parser-functions/entryinset.md +72 -0
  60. package/docs/services/expression-parser-functions/euler.md +77 -0
  61. package/docs/services/expression-parser-functions/exp.md +74 -0
  62. package/docs/services/expression-parser-functions/findfirstvaluebyexactmatch.md +67 -0
  63. package/docs/services/expression-parser-functions/findfirstvaluebystringincludes.md +67 -0
  64. package/docs/services/expression-parser-functions/flatten.md +76 -0
  65. package/docs/services/expression-parser-functions/floor.md +70 -0
  66. package/docs/services/expression-parser-functions/gaussianelimination.md +75 -0
  67. package/docs/services/expression-parser-functions/generatearrayofobjectsfromsets.md +70 -0
  68. package/docs/services/expression-parser-functions/getvalue.md +90 -0
  69. package/docs/services/expression-parser-functions/getvaluearray.md +64 -0
  70. package/docs/services/expression-parser-functions/getvalueobject.md +67 -0
  71. package/docs/services/expression-parser-functions/if.md +109 -0
  72. package/docs/services/expression-parser-functions/iterativeseries.md +107 -0
  73. package/docs/services/expression-parser-functions/join.md +75 -0
  74. package/docs/services/expression-parser-functions/joinraw.md +64 -0
  75. package/docs/services/expression-parser-functions/largestinset.md +63 -0
  76. package/docs/services/expression-parser-functions/leastsquares.md +66 -0
  77. package/docs/services/expression-parser-functions/linest.md +58 -0
  78. package/docs/services/expression-parser-functions/log.md +74 -0
  79. package/docs/services/expression-parser-functions/match.md +71 -0
  80. package/docs/services/expression-parser-functions/matrixinverse.md +67 -0
  81. package/docs/services/expression-parser-functions/matrixmultiply.md +71 -0
  82. package/docs/services/expression-parser-functions/matrixtranspose.md +72 -0
  83. package/docs/services/expression-parser-functions/matrixvectormultiply.md +69 -0
  84. package/docs/services/expression-parser-functions/max.md +73 -0
  85. package/docs/services/expression-parser-functions/mean.md +63 -0
  86. package/docs/services/expression-parser-functions/median.md +79 -0
  87. package/docs/services/expression-parser-functions/min.md +73 -0
  88. package/docs/services/expression-parser-functions/mode.md +66 -0
  89. package/docs/services/expression-parser-functions/objectkeystoarray.md +66 -0
  90. package/docs/services/expression-parser-functions/objectvaluessortbyexternalobjectarray.md +65 -0
  91. package/docs/services/expression-parser-functions/objectvaluestoarray.md +67 -0
  92. package/docs/services/expression-parser-functions/percent.md +75 -0
  93. package/docs/services/expression-parser-functions/pi.md +77 -0
  94. package/docs/services/expression-parser-functions/polynomialregression.md +69 -0
  95. package/docs/services/expression-parser-functions/predict.md +71 -0
  96. package/docs/services/expression-parser-functions/rad.md +85 -0
  97. package/docs/services/expression-parser-functions/randomfloat.md +63 -0
  98. package/docs/services/expression-parser-functions/randomfloatbetween.md +72 -0
  99. package/docs/services/expression-parser-functions/randomfloatupto.md +65 -0
  100. package/docs/services/expression-parser-functions/randominteger.md +56 -0
  101. package/docs/services/expression-parser-functions/randomintegerbetween.md +72 -0
  102. package/docs/services/expression-parser-functions/randomintegerupto.md +64 -0
  103. package/docs/services/expression-parser-functions/resolvehtmlentities.md +64 -0
  104. package/docs/services/expression-parser-functions/round.md +111 -0
  105. package/docs/services/expression-parser-functions/setconcatenate.md +64 -0
  106. package/docs/services/expression-parser-functions/sin.md +83 -0
  107. package/docs/services/expression-parser-functions/slice.md +80 -0
  108. package/docs/services/expression-parser-functions/smallestinset.md +63 -0
  109. package/docs/services/expression-parser-functions/sorthistogram.md +70 -0
  110. package/docs/services/expression-parser-functions/sorthistogrambykeys.md +69 -0
  111. package/docs/services/expression-parser-functions/sortset.md +75 -0
  112. package/docs/services/expression-parser-functions/sqrt.md +85 -0
  113. package/docs/services/expression-parser-functions/stdev.md +81 -0
  114. package/docs/services/expression-parser-functions/stdeva.md +58 -0
  115. package/docs/services/expression-parser-functions/stdevp.md +83 -0
  116. package/docs/services/expression-parser-functions/stringcountsegments.md +66 -0
  117. package/docs/services/expression-parser-functions/stringgetsegments.md +74 -0
  118. package/docs/services/expression-parser-functions/subtractingsummation.md +66 -0
  119. package/docs/services/expression-parser-functions/sum.md +78 -0
  120. package/docs/services/expression-parser-functions/tan.md +78 -0
  121. package/docs/services/expression-parser-functions/tofixed.md +75 -0
  122. package/docs/services/expression-parser-functions/var.md +67 -0
  123. package/docs/services/expression-parser-functions/vara.md +58 -0
  124. package/docs/services/expression-parser-functions/varp.md +66 -0
  125. package/docs/services/expression-parser-functions/when.md +98 -0
  126. package/docs/services/expression-parser.md +314 -0
  127. package/docs/services/file-persistence.md +279 -0
  128. package/docs/services/logging.md +237 -0
  129. package/docs/services/logic.md +166 -0
  130. package/docs/services/manifest.md +256 -0
  131. package/docs/services/math.md +279 -0
  132. package/docs/services/meta-template.md +268 -0
  133. package/docs/services/object-cache.md +171 -0
  134. package/docs/services/operation.md +207 -0
  135. package/docs/services/progress-time.md +167 -0
  136. package/docs/services/progress-tracker-set.md +222 -0
  137. package/docs/services/rest-client.md +296 -0
  138. package/docs/services/settings-manager.md +265 -0
  139. package/docs/services/template.md +233 -0
  140. package/docs/services/utility.md +304 -0
  141. package/docs/services/uuid.md +162 -0
  142. package/package.json +1 -1
  143. package/source/services/Fable-Service-DataFormat.js +1 -0
  144. package/source/services/Fable-Service-ExpressionParser/Fable-Service-ExpressionParser-FunctionMap.json +24 -0
  145. package/source/services/Fable-Service-ExpressionParser/Fable-Service-ExpressionParser-ValueMarshal.js +6 -4
  146. package/source/services/Fable-Service-Math.js +65 -3
  147. package/test/ExpressionParser_tests.js +5 -0
  148. 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