|
Last change
on this file was e4c61dd, checked in by istevanoska <ilinastevanoska@…>, 6 months ago |
|
Prototype 1.1
|
-
Property mode
set to
100644
|
|
File size:
796 bytes
|
| Line | |
|---|
| 1 | export default function autoType(object) {
|
|---|
| 2 | for (var key in object) {
|
|---|
| 3 | var value = object[key].trim(), number, m;
|
|---|
| 4 | if (!value) value = null;
|
|---|
| 5 | else if (value === "true") value = true;
|
|---|
| 6 | else if (value === "false") value = false;
|
|---|
| 7 | else if (value === "NaN") value = NaN;
|
|---|
| 8 | else if (!isNaN(number = +value)) value = number;
|
|---|
| 9 | else if (m = value.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)) {
|
|---|
| 10 | if (fixtz && !!m[4] && !m[7]) value = value.replace(/-/g, "/").replace(/T/, " ");
|
|---|
| 11 | value = new Date(value);
|
|---|
| 12 | }
|
|---|
| 13 | else continue;
|
|---|
| 14 | object[key] = value;
|
|---|
| 15 | }
|
|---|
| 16 | return object;
|
|---|
| 17 | }
|
|---|
| 18 |
|
|---|
| 19 | // https://github.com/d3/d3-dsv/issues/45
|
|---|
| 20 | const fixtz = new Date("2019-01-01T00:00").getHours() || new Date("2019-07-01T00:00").getHours(); |
|---|
Note:
See
TracBrowser
for help on using the repository browser.