addedInput schema / additionalProperties
Added value: +false
addedInput schema / properties / a
Added value: +{
+ "additionalProperties": false,
+ "description": "Minuend duration. Required when operation is subtract.",
+ "properties": {
+ "hours": {
+ "default": 0,
+ "description": "Hours component of a.",
+ "type": "number"
+ },
+ "minutes": {
+ "default": 0,
+ "description": "Minutes component of a.",
+ "type": "number"
+ },
+ "seconds": {
+ "default": 0,
+ "description": "Seconds component of a.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / b
Added value: +{
+ "additionalProperties": false,
+ "description": "Subtrahend duration. Required when operation is subtract.",
+ "properties": {
+ "hours": {
+ "default": 0,
+ "description": "Hours component of b.",
+ "type": "number"
+ },
+ "minutes": {
+ "default": 0,
+ "description": "Minutes component of b.",
+ "type": "number"
+ },
+ "seconds": {
+ "default": 0,
+ "description": "Seconds component of b.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / crossesMidnight
Added value: +{
+ "default": false,
+ "description": "For between only: when true and end<=start, add 24h to end so the span wraps past midnight.",
+ "type": "boolean"
+}
addedInput schema / properties / divisor
Added value: +{
+ "description": "Finite non-zero divisor. Required when operation is divide; must not be 0.",
+ "type": "number"
+}
addedInput schema / properties / duration
Added value: +{
+ "additionalProperties": false,
+ "description": "Duration operand for multiply/divide; if omitted the top-level hours/minutes/seconds are used instead.",
+ "properties": {
+ "hours": {
+ "default": 0,
+ "description": "Hours component (signed, may be fractional).",
+ "type": "number"
+ },
+ "minutes": {
+ "default": 0,
+ "description": "Minutes component (signed).",
+ "type": "number"
+ },
+ "seconds": {
+ "default": 0,
+ "description": "Seconds component (signed, may be fractional).",
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / end
Added value: +{
+ "additionalProperties": false,
+ "description": "End clock time. Required when operation is between.",
+ "properties": {
+ "hour": {
+ "default": 0,
+ "description": "Hour of day 0-23.",
+ "maximum": 23,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minute": {
+ "default": 0,
+ "description": "Minute 0-59.",
+ "maximum": 59,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "second": {
+ "default": 0,
+ "description": "Second 0 to under 60; may be fractional.",
+ "maximum": 59.999999,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / factor
Added value: +{
+ "description": "Finite multiplier. Required when operation is multiply; may be negative or fractional.",
+ "type": "number"
+}
addedInput schema / properties / hours / default
Added value: +0
addedInput schema / properties / hours / description
Added value: +"Hours component for compute/multiply/divide (used when duration object is omitted). Defaults to 0; may be fractional or negative."
changedInput schema / properties / hours / type
Previous value: -"integer"New value: +"number"
addedInput schema / properties / items
Added value: +{
+ "description": "Durations to sum. Required when operation is add; 2-100 entries.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "hours": {
+ "default": 0,
+ "description": "Hours component of this duration.",
+ "type": "number"
+ },
+ "minutes": {
+ "default": 0,
+ "description": "Minutes component of this duration.",
+ "type": "number"
+ },
+ "seconds": {
+ "default": 0,
+ "description": "Seconds component of this duration.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "maxItems": 100,
+ "minItems": 2,
+ "type": "array"
+}
addedInput schema / properties / minutes / default
Added value: +0
addedInput schema / properties / minutes / description
Added value: +"Minutes component for compute/multiply/divide (used when duration object is omitted). Defaults to 0."
changedInput schema / properties / minutes / type
Previous value: -"integer"New value: +"number"
addedInput schema / properties / operation / description
Added value: +"\"compute\": normalize one duration (hours/minutes/seconds). \"add\": sum items. \"subtract\": a-b. \"multiply\": duration*factor. \"divide\": duration/divisor. \"between\": end-start of two clock times."
addedInput schema / properties / operation / enum
Added value: +[
+ "compute",
+ "add",
+ "subtract",
+ "multiply",
+ "divide",
+ "between"
+]
addedInput schema / properties / seconds / default
Added value: +0
addedInput schema / properties / seconds / description
Added value: +"Seconds component for compute/multiply/divide (used when duration object is omitted). Defaults to 0; may be fractional."
changedInput schema / properties / seconds / type
Previous value: -"integer"New value: +"number"
addedInput schema / properties / start
Added value: +{
+ "additionalProperties": false,
+ "description": "Start clock time. Required when operation is between.",
+ "properties": {
+ "hour": {
+ "default": 0,
+ "description": "Hour of day 0-23.",
+ "maximum": 23,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minute": {
+ "default": 0,
+ "description": "Minute 0-59.",
+ "maximum": 59,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "second": {
+ "default": 0,
+ "description": "Second 0 to under 60; may be fractional.",
+ "maximum": 59.999999,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
changedInput schema / required
Previous value: -[
- "operation",
- "hours",
- "minutes",
- "seconds"
-]New value: +[
+ "operation"
+]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "data": {
+ "description": "Normalized duration result.",
+ "properties": {
+ "hhmmss": {
+ "description": "HH:MM:SS string from the unsigned magnitude; hours may exceed 99; prefixed with - when negative.",
+ "type": "string"
+ },
+ "hms": {
+ "description": "Human-readable d/h/m/s form, sign-prefixed when negative.",
+ "type": "string"
+ },
+ "iso8601": {
+ "description": "ISO 8601 duration PT[H][M][S]; PT0S for zero; prefixed with - when negative.",
+ "type": "string"
+ },
+ "negative": {
+ "description": "True when the duration is less than zero.",
+ "type": "boolean"
+ },
+ "normalized": {
+ "description": "Signed component breakdown of the duration.",
+ "properties": {
+ "days": {
+ "description": "Whole days (signed if duration is negative).",
+ "type": "integer"
+ },
+ "hours": {
+ "description": "Whole hours after days (signed).",
+ "type": "integer"
+ },
+ "minutes": {
+ "description": "Whole minutes after hours (signed).",
+ "type": "integer"
+ },
+ "seconds": {
+ "description": "Seconds after minutes; may be fractional (signed).",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "totalDays": {
+ "description": "Whole duration in days (totalSeconds/86400).",
+ "type": "number"
+ },
+ "totalHours": {
+ "description": "Whole duration in hours (totalSeconds/3600).",
+ "type": "number"
+ },
+ "totalMinutes": {
+ "description": "Whole duration in minutes (totalSeconds/60).",
+ "type": "number"
+ },
+ "totalSeconds": {
+ "description": "Whole duration in seconds (signed; may be fractional).",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "operation": {
+ "description": "The operation that was run, echoed back.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+}