fable 3.0.95 → 3.0.96
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/dist/fable.compatible.js +2 -21
- package/dist/fable.compatible.min.js +2 -2
- package/dist/fable.compatible.min.js.map +1 -1
- package/dist/fable.js +2 -21
- package/dist/fable.min.js +2 -2
- package/dist/fable.min.js.map +1 -1
- package/package.json +1 -1
- package/source/services/Fable-Service-Utility.js +21 -62
- package/test/DataGeneration_tests.js +3 -1
- package/test/Utility_tests.js +0 -2
package/package.json
CHANGED
|
@@ -57,7 +57,6 @@ class FableServiceUtility extends libFableServiceBase
|
|
|
57
57
|
template(pTemplateText, pData)
|
|
58
58
|
{
|
|
59
59
|
let tmpTemplate = this.fable.instantiateServiceProviderWithoutRegistration('Template');
|
|
60
|
-
|
|
61
60
|
return tmpTemplate.buildTemplateFunction(pTemplateText, pData);
|
|
62
61
|
}
|
|
63
62
|
|
|
@@ -65,9 +64,7 @@ class FableServiceUtility extends libFableServiceBase
|
|
|
65
64
|
buildHashedTemplate(pTemplateHash, pTemplateText, pData)
|
|
66
65
|
{
|
|
67
66
|
let tmpTemplate = this.fable.instantiateServiceProvider('Template', {}, pTemplateHash);
|
|
68
|
-
|
|
69
67
|
this.templates[pTemplateHash] = tmpTemplate.buildTemplateFunction(pTemplateText, pData);
|
|
70
|
-
|
|
71
68
|
return this.templates[pTemplateHash];
|
|
72
69
|
}
|
|
73
70
|
|
|
@@ -108,70 +105,32 @@ class FableServiceUtility extends libFableServiceBase
|
|
|
108
105
|
// with ultra limited JS capabilities where those don't work.
|
|
109
106
|
isoStringToDate (pISOString)
|
|
110
107
|
{
|
|
111
|
-
|
|
112
|
-
// Split the string into an array based on the digit groups.
|
|
113
|
-
let tmpDateParts = pISOString.split( /\D+/ );
|
|
114
|
-
|
|
115
|
-
// Set up a date object with the current time.
|
|
116
|
-
let tmpReturnDate = new Date();
|
|
117
|
-
|
|
118
|
-
// Track the number of hours we need to adjust the date by based on the timezone.
|
|
119
|
-
let tmpTimeZoneOffsetInHours = 0;
|
|
120
|
-
// Track the number of minutes we need to adjust the date by based on the timezone.
|
|
121
|
-
let tmpTimeZoneOffsetInMinutes = 0;
|
|
122
|
-
|
|
123
|
-
// This fixes an inconsistency with constructing the date programmatically.
|
|
124
|
-
tmpReturnDate.setUTCDate(1);
|
|
125
|
-
tmpReturnDate.setUTCMonth(1);
|
|
126
|
-
tmpReturnDate.setUTCHours(0);
|
|
127
|
-
tmpReturnDate.setUTCMinutes(0);
|
|
128
|
-
tmpReturnDate.setUTCSeconds(0);
|
|
129
|
-
tmpReturnDate.setUTCMilliseconds(0);
|
|
130
|
-
|
|
131
|
-
// Manually parse the parts of the string and set each part for the
|
|
132
|
-
// date. Note: Using the UTC versions of these functions is necessary
|
|
133
|
-
// because we're manually adjusting for time zones stored in the
|
|
134
|
-
// string.
|
|
135
|
-
tmpReturnDate.setUTCFullYear( parseInt( tmpDateParts[ 0 ] ) );
|
|
136
|
-
|
|
137
|
-
// The month numbers are one "off" from what normal humans would expect
|
|
138
|
-
// because January == 0.
|
|
139
|
-
tmpReturnDate.setUTCMonth( parseInt( tmpDateParts[ 1 ] ) - 1 );
|
|
140
|
-
|
|
141
|
-
tmpReturnDate.setUTCDate( parseInt( tmpDateParts[ 2 ] ) );
|
|
142
|
-
|
|
143
|
-
// Set the time parts of the date object.
|
|
144
|
-
tmpReturnDate.setUTCHours( parseInt( tmpDateParts[ 3 ] ) );
|
|
145
|
-
tmpReturnDate.setUTCMinutes( parseInt( tmpDateParts[ 4 ] ) );
|
|
146
|
-
tmpReturnDate.setUTCSeconds( parseInt( tmpDateParts[ 5 ] ) );
|
|
147
|
-
tmpReturnDate.setUTCMilliseconds( parseInt( tmpDateParts[ 6 ] ) );
|
|
148
|
-
|
|
149
|
-
// If there's a value for either the hours or minutes offset.
|
|
150
|
-
if (tmpDateParts[ 7 ] || tmpDateParts[ 8 ])
|
|
108
|
+
if (!this.fable.hasOwnProperty('Dates'))
|
|
151
109
|
{
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
{
|
|
155
|
-
// Convert the minutes value into an hours value.
|
|
156
|
-
tmpTimeZoneOffsetInMinutes = parseInt(tmpDateParts[8]) / 60;
|
|
157
|
-
}
|
|
110
|
+
this.fable.instantiateServiceProvider('Dates');
|
|
111
|
+
}
|
|
158
112
|
|
|
159
|
-
|
|
160
|
-
tmpTimeZoneOffsetInHours = parseInt(tmpDateParts[7]) + tmpTimeZoneOffsetInMinutes;
|
|
113
|
+
let tmpDate = false;
|
|
161
114
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
115
|
+
try
|
|
116
|
+
{
|
|
117
|
+
tmpDate = this.fable.Dates.dayJS.utc(pISOString);
|
|
118
|
+
}
|
|
119
|
+
catch(pError)
|
|
120
|
+
{
|
|
121
|
+
// TODO: Should this throw? Doubtful.
|
|
122
|
+
this.fable.log.error(`Could not parse date string ${pISOString} with dayJS.`);
|
|
123
|
+
return false;
|
|
168
124
|
}
|
|
169
125
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
126
|
+
if (tmpDate)
|
|
127
|
+
{
|
|
128
|
+
return tmpDate.toDate();
|
|
129
|
+
}
|
|
130
|
+
else
|
|
131
|
+
{
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
175
134
|
}
|
|
176
135
|
}
|
|
177
136
|
|
|
@@ -39,7 +39,9 @@ suite
|
|
|
39
39
|
let testFable = new libFable();
|
|
40
40
|
let tmpDataGeneration = testFable.instantiateServiceProvider('DataGeneration');
|
|
41
41
|
Expect(tmpDataGeneration.randomNumericString()).to.be.a('string');
|
|
42
|
-
|
|
42
|
+
// Ok non deterministic was hilarious for a while.
|
|
43
|
+
Expect(tmpDataGeneration.randomNumericString().length).to.be.lessThanOrEqual(10);
|
|
44
|
+
Expect(tmpDataGeneration.randomNumericString().length).to.be.greaterThanOrEqual(9);
|
|
43
45
|
return fTestComplete();
|
|
44
46
|
}
|
|
45
47
|
);
|
package/test/Utility_tests.js
CHANGED
|
@@ -205,8 +205,6 @@ suite
|
|
|
205
205
|
Expect(testFable.services.Utility.isoStringToDate('2022-11-04T11:34:46.000Z').getTime()).to.equal(1667561686000);
|
|
206
206
|
Expect(testFable.services.Utility.isoStringToDate('2022-11-04T11:34:45.000Z').getTime()).to.equal(1667561685000);
|
|
207
207
|
Expect(testFable.services.Utility.isoStringToDate('1986-06-11T09:34:46.012Z').getTime()).to.equal(518866486012);
|
|
208
|
-
Expect(testFable.services.Utility.isoStringToDate('1986-06-11T09:34:46.012Z+0200').getTime()).to.equal(519586486012);
|
|
209
|
-
Expect(testFable.services.Utility.isoStringToDate('1986-06-11T09:34:46.012Z+0200').getTime()).to.equal(519586486012);
|
|
210
208
|
Expect(testFable.services.Utility.isoStringToDate('2023-02-07T21:45:00.999Z').getMonth()).to.equal(1);
|
|
211
209
|
fDone();
|
|
212
210
|
}
|