• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FontoXML / fontoxpath / 6234074041

19 Sep 2023 10:08AM CUT coverage: 91.578%. First build
6234074041

push

github

DrRataplan
Update testcases csv

4961 of 5761 branches covered (0.0%)

Branch coverage included in aggregate %.

10665 of 11302 relevant lines covered (94.36%)

97712.03 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.0
/src/expressions/functions/builtInFunctions_duration.ts
1
import createAtomicValue from '../dataTypes/createAtomicValue';
9✔
2
import sequenceFactory from '../dataTypes/sequenceFactory';
9✔
3
import { SequenceMultiplicity, ValueType } from '../dataTypes/Value';
4
import { BUILT_IN_NAMESPACE_URIS } from '../staticallyKnownNamespaces';
5
import { BuiltinDeclarationType } from './builtInFunctions';
6
import FunctionDefinitionType from './FunctionDefinitionType';
7

8
const fnYearsFromDuration: FunctionDefinitionType = (
9✔
9
        _dynamicContext,
10
        _executionParameters,
11
        _staticContext,
12
        sequence
13
) => {
14
        if (sequence.isEmpty()) {
18!
15
                return sequence;
×
16
        }
17
        return sequenceFactory.singleton(
18✔
18
                createAtomicValue(sequence.first().value.getYears(), ValueType.XSINTEGER)
19
        );
20
};
21

22
const fnMonthsFromDuration: FunctionDefinitionType = (
9✔
23
        _dynamicContext,
24
        _executionParameters,
25
        _staticContext,
26
        sequence
27
) => {
28
        if (sequence.isEmpty()) {
18!
29
                return sequence;
×
30
        }
31
        return sequenceFactory.singleton(
18✔
32
                createAtomicValue(sequence.first().value.getMonths(), ValueType.XSINTEGER)
33
        );
34
};
35

36
const fnDaysFromDuration: FunctionDefinitionType = (
9✔
37
        _dynamicContext,
38
        _executionParameters,
39
        _staticContext,
40
        sequence
41
) => {
42
        if (sequence.isEmpty()) {
18!
43
                return sequence;
×
44
        }
45
        return sequenceFactory.singleton(
18✔
46
                createAtomicValue(sequence.first().value.getDays(), ValueType.XSINTEGER)
47
        );
48
};
49

50
const fnHoursFromDuration: FunctionDefinitionType = (
9✔
51
        _dynamicContext,
52
        _executionParameters,
53
        _staticContext,
54
        sequence
55
) => {
56
        if (sequence.isEmpty()) {
18!
57
                return sequence;
×
58
        }
59
        return sequenceFactory.singleton(
18✔
60
                createAtomicValue(sequence.first().value.getHours(), ValueType.XSINTEGER)
61
        );
62
};
63

64
const fnMinutesFromDuration: FunctionDefinitionType = (
9✔
65
        _dynamicContext,
66
        _executionParameters,
67
        _staticContext,
68
        sequence
69
) => {
70
        if (sequence.isEmpty()) {
18!
71
                return sequence;
×
72
        }
73
        return sequenceFactory.singleton(
18✔
74
                createAtomicValue(sequence.first().value.getMinutes(), ValueType.XSINTEGER)
75
        );
76
};
77

78
const fnSecondsFromDuration: FunctionDefinitionType = (
9✔
79
        _dynamicContext,
80
        _executionParameters,
81
        _staticContext,
82
        sequence
83
) => {
84
        if (sequence.isEmpty()) {
18!
85
                return sequence;
×
86
        }
87
        return sequenceFactory.singleton(
18✔
88
                createAtomicValue(sequence.first().value.getSeconds(), ValueType.XSDECIMAL)
89
        );
90
};
91

92
const declarations: BuiltinDeclarationType[] = [
9✔
93
        {
94
                namespaceURI: BUILT_IN_NAMESPACE_URIS.FUNCTIONS_NAMESPACE_URI,
95
                localName: 'years-from-duration',
96
                argumentTypes: [{ type: ValueType.XSDURATION, mult: SequenceMultiplicity.ZERO_OR_ONE }],
97
                returnType: { type: ValueType.XSINTEGER, mult: SequenceMultiplicity.ZERO_OR_ONE },
98
                callFunction: fnYearsFromDuration,
99
        },
100
        {
101
                namespaceURI: BUILT_IN_NAMESPACE_URIS.FUNCTIONS_NAMESPACE_URI,
102
                localName: 'months-from-duration',
103
                argumentTypes: [{ type: ValueType.XSDURATION, mult: SequenceMultiplicity.ZERO_OR_ONE }],
104
                returnType: { type: ValueType.XSINTEGER, mult: SequenceMultiplicity.ZERO_OR_ONE },
105
                callFunction: fnMonthsFromDuration,
106
        },
107
        {
108
                namespaceURI: BUILT_IN_NAMESPACE_URIS.FUNCTIONS_NAMESPACE_URI,
109
                localName: 'days-from-duration',
110
                argumentTypes: [{ type: ValueType.XSDURATION, mult: SequenceMultiplicity.ZERO_OR_ONE }],
111
                returnType: { type: ValueType.XSINTEGER, mult: SequenceMultiplicity.ZERO_OR_ONE },
112
                callFunction: fnDaysFromDuration,
113
        },
114
        {
115
                namespaceURI: BUILT_IN_NAMESPACE_URIS.FUNCTIONS_NAMESPACE_URI,
116
                localName: 'hours-from-duration',
117
                argumentTypes: [{ type: ValueType.XSDURATION, mult: SequenceMultiplicity.ZERO_OR_ONE }],
118
                returnType: { type: ValueType.XSINTEGER, mult: SequenceMultiplicity.ZERO_OR_ONE },
119
                callFunction: fnHoursFromDuration,
120
        },
121
        {
122
                namespaceURI: BUILT_IN_NAMESPACE_URIS.FUNCTIONS_NAMESPACE_URI,
123
                localName: 'minutes-from-duration',
124
                argumentTypes: [{ type: ValueType.XSDURATION, mult: SequenceMultiplicity.ZERO_OR_ONE }],
125
                returnType: { type: ValueType.XSINTEGER, mult: SequenceMultiplicity.ZERO_OR_ONE },
126
                callFunction: fnMinutesFromDuration,
127
        },
128
        {
129
                namespaceURI: BUILT_IN_NAMESPACE_URIS.FUNCTIONS_NAMESPACE_URI,
130
                localName: 'seconds-from-duration',
131
                argumentTypes: [{ type: ValueType.XSDURATION, mult: SequenceMultiplicity.ZERO_OR_ONE }],
132
                returnType: { type: ValueType.XSDECIMAL, mult: SequenceMultiplicity.ZERO_OR_ONE },
133
                callFunction: fnSecondsFromDuration,
134
        },
135
];
136

137
export default {
9✔
138
        declarations,
139
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc