@0xtorch/csv 0.0.10 → 0.0.12

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.
@@ -53,6 +53,13 @@ const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(forma
53
53
  }
54
54
  return [column, parsed.data];
55
55
  }
56
+ case 'iso8601-jp': {
57
+ const parsed = formatterTypes_1.iso8601JpTextSchema.safeParse(value);
58
+ if (!parsed.success) {
59
+ break;
60
+ }
61
+ return [column, parsed.data];
62
+ }
56
63
  case 'datetime-jp': {
57
64
  const parsed = formatterTypes_1.datetimeJpTextSchema.safeParse(value);
58
65
  if (!parsed.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.formatterValueTypeSchema = zod_1.z.union([
9
9
  zod_1.z.literal('big-decimal-positive'),
10
10
  zod_1.z.literal('big-decimal-negative'),
11
11
  zod_1.z.literal('iso8601'),
12
+ zod_1.z.literal('iso8601-jp'),
12
13
  zod_1.z.literal('datetime-jp'),
13
14
  ]);
14
15
  exports.formatterSchema = zod_1.z.record(zod_1.z.array(exports.formatterValueTypeSchema));
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9C,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEW,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9C,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,OAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACvB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEW,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC,CAAC,CAAA"}
@@ -1,26 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatterValueSchema = exports.datetimeJpTextSchema = exports.iso8601TextSchema = exports.bigDecimalNegativeTextSchema = exports.bigDecimalPositiveTextSchema = exports.bigDecimalTextSchema = exports.stringTextSchema = exports.blankTextSchema = void 0;
3
+ exports.formatterValueSchema = exports.datetimeJpTextSchema = exports.iso8601JpTextSchema = exports.iso8601TextSchema = exports.bigDecimalNegativeTextSchema = exports.bigDecimalPositiveTextSchema = exports.bigDecimalTextSchema = exports.stringTextSchema = exports.blankTextSchema = void 0;
4
4
  const big_decimal_1 = require("@0xtorch/big-decimal");
5
5
  const zod_1 = require("zod");
6
6
  exports.blankTextSchema = zod_1.z.literal('').transform(() => undefined);
7
7
  exports.stringTextSchema = zod_1.z.string();
8
8
  exports.bigDecimalTextSchema = zod_1.z
9
9
  .string()
10
- .regex(/^-?\d+(\.\d+)?$/)
10
+ .regex(/^-?[\d,]+(\.\d+)?$/)
11
11
  .transform((v) => (0, big_decimal_1.createBigDecimal)(v));
12
12
  exports.bigDecimalPositiveTextSchema = zod_1.z
13
13
  .string()
14
- .regex(/^\d+(\.\d+)?$/)
14
+ .regex(/^[\d,]+(\.\d+)?$/)
15
15
  .transform((v) => (0, big_decimal_1.createBigDecimal)(v));
16
16
  exports.bigDecimalNegativeTextSchema = zod_1.z
17
17
  .string()
18
- .regex(/^-\d+(\.\d+)?$/)
18
+ .regex(/^-[\d,]+(\.\d+)?$/)
19
19
  .transform((v) => (0, big_decimal_1.createBigDecimal)(v));
20
20
  exports.iso8601TextSchema = zod_1.z
21
21
  .string()
22
22
  .regex(/^\d{4}-?\d\d-?\d\d(?:(T|( ))\d\d(?::?\d\d(?::?\d\d(?:\.\d+)?)?)?( )?(?:Z|[+-]\d\d:?\d\d)?)?$/)
23
23
  .transform((v) => new Date(v).getTime());
24
+ exports.iso8601JpTextSchema = zod_1.z
25
+ .string()
26
+ .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
27
+ .transform((v) => new Date(`${v}+09:00`).getTime());
24
28
  exports.datetimeJpTextSchema = zod_1.z
25
29
  .string()
26
30
  .regex(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/)
@@ -32,6 +36,7 @@ exports.formatterValueSchema = zod_1.z.union([
32
36
  exports.bigDecimalPositiveTextSchema,
33
37
  exports.bigDecimalNegativeTextSchema,
34
38
  exports.iso8601TextSchema,
39
+ exports.iso8601JpTextSchema,
35
40
  exports.datetimeJpTextSchema,
36
41
  ]);
37
42
  //# sourceMappingURL=formatterTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AACvD,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAE1D,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;AAE7B,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,CAAC;KACxB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,eAAe,CAAC;KACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAG7B,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAExC,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC1C,uBAAe;IACf,wBAAgB;IAChB,4BAAoB;IACpB,oCAA4B;IAC5B,oCAA4B;IAC5B,yBAAiB;IACjB,4BAAoB;CACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AACvD,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAE1D,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;AAE7B,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,oBAAoB,CAAC;KAC3B,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,CAAC;KACzB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,mBAAmB,CAAC;KAC1B,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAE7B,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,EAAE;KACR,KAAK,CAAC,uCAAuC,CAAC;KAC9C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAGxC,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAExC,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC1C,uBAAe;IACf,wBAAgB;IAChB,4BAAoB;IACpB,oCAA4B;IAC5B,oCAA4B;IAC5B,yBAAiB;IACjB,2BAAmB;IACnB,4BAAoB;CACrB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { bigDecimalNegativeTextSchema, bigDecimalPositiveTextSchema, bigDecimalTextSchema, blankTextSchema, datetimeJpTextSchema, iso8601TextSchema, stringTextSchema, } from './schemas/formatterTypes';
1
+ import { bigDecimalNegativeTextSchema, bigDecimalPositiveTextSchema, bigDecimalTextSchema, blankTextSchema, datetimeJpTextSchema, iso8601JpTextSchema, iso8601TextSchema, stringTextSchema, } from './schemas/formatterTypes';
2
2
  export const formatCsvRows = ({ rows, formatter, }) => rows.map((row) => formatCsvRow(row, formatter));
3
3
  const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(formatter).map(([column, schemaTypes]) => {
4
4
  // column に一致する column が無かったらエラー
@@ -51,6 +51,13 @@ const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(forma
51
51
  }
52
52
  return [column, parsed.data];
53
53
  }
54
+ case 'iso8601-jp': {
55
+ const parsed = iso8601JpTextSchema.safeParse(value);
56
+ if (!parsed.success) {
57
+ break;
58
+ }
59
+ return [column, parsed.data];
60
+ }
54
61
  case 'datetime-jp': {
55
62
  const parsed = datetimeJpTextSchema.safeParse(value);
56
63
  if (!parsed.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export const formatterValueTypeSchema = z.union([
6
6
  z.literal('big-decimal-positive'),
7
7
  z.literal('big-decimal-negative'),
8
8
  z.literal('iso8601'),
9
+ z.literal('iso8601-jp'),
9
10
  z.literal('datetime-jp'),
10
11
  ]);
11
12
  export const formatterSchema = z.record(z.array(formatterValueTypeSchema));
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACvB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA"}
@@ -4,20 +4,24 @@ export const blankTextSchema = z.literal('').transform(() => undefined);
4
4
  export const stringTextSchema = z.string();
5
5
  export const bigDecimalTextSchema = z
6
6
  .string()
7
- .regex(/^-?\d+(\.\d+)?$/)
7
+ .regex(/^-?[\d,]+(\.\d+)?$/)
8
8
  .transform((v) => createBigDecimal(v));
9
9
  export const bigDecimalPositiveTextSchema = z
10
10
  .string()
11
- .regex(/^\d+(\.\d+)?$/)
11
+ .regex(/^[\d,]+(\.\d+)?$/)
12
12
  .transform((v) => createBigDecimal(v));
13
13
  export const bigDecimalNegativeTextSchema = z
14
14
  .string()
15
- .regex(/^-\d+(\.\d+)?$/)
15
+ .regex(/^-[\d,]+(\.\d+)?$/)
16
16
  .transform((v) => createBigDecimal(v));
17
17
  export const iso8601TextSchema = z
18
18
  .string()
19
19
  .regex(/^\d{4}-?\d\d-?\d\d(?:(T|( ))\d\d(?::?\d\d(?::?\d\d(?:\.\d+)?)?)?( )?(?:Z|[+-]\d\d:?\d\d)?)?$/)
20
20
  .transform((v) => new Date(v).getTime());
21
+ export const iso8601JpTextSchema = z
22
+ .string()
23
+ .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
24
+ .transform((v) => new Date(`${v}+09:00`).getTime());
21
25
  // TODO timezone 追加型 date を導入する
22
26
  export const datetimeJpTextSchema = z
23
27
  .string()
@@ -30,6 +34,7 @@ export const formatterValueSchema = z.union([
30
34
  bigDecimalPositiveTextSchema,
31
35
  bigDecimalNegativeTextSchema,
32
36
  iso8601TextSchema,
37
+ iso8601JpTextSchema,
33
38
  datetimeJpTextSchema,
34
39
  ]);
35
40
  //# sourceMappingURL=formatterTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,CAAC;KACxB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,eAAe,CAAC;KACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAE1C,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,4BAA4B;IAC5B,4BAA4B;IAC5B,iBAAiB;IACjB,oBAAoB;CACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,oBAAoB,CAAC;KAC3B,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,CAAC;KACzB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,mBAAmB,CAAC;KAC1B,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,EAAE;KACR,KAAK,CAAC,uCAAuC,CAAC;KAC9C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAErD,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,4BAA4B;IAC5B,4BAA4B;IAC5B,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.d.ts","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAA;AAEtE,KAAK,MAAM,GAAG;IACZ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa,yBAGvB,uBAAuB,KAAG,SAAS,YAAY,EACD,CAAA"}
1
+ {"version":3,"file":"formatCsvRows.d.ts","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAA;AAEtE,KAAK,MAAM,GAAG;IACZ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa,yBAGvB,uBAAuB,KAAG,SAAS,YAAY,EACD,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { z } from 'zod';
2
- export declare const formatterValueTypeSchema: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"datetime-jp">]>;
3
- export declare const formatterSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"datetime-jp">]>, "many">>;
2
+ export declare const formatterValueTypeSchema: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"iso8601-jp">, z.ZodLiteral<"datetime-jp">]>;
3
+ export declare const formatterSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"iso8601-jp">, z.ZodLiteral<"datetime-jp">]>, "many">>;
4
4
  //# sourceMappingURL=formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,wBAAwB,4NAQnC,CAAA;AAEF,eAAO,MAAM,eAAe,0QAA8C,CAAA"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,wBAAwB,wPASnC,CAAA;AAEF,eAAO,MAAM,eAAe,sSAA8C,CAAA"}
@@ -5,6 +5,7 @@ export declare const bigDecimalTextSchema: z.ZodEffects<z.ZodString, import("@0x
5
5
  export declare const bigDecimalPositiveTextSchema: z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>;
6
6
  export declare const bigDecimalNegativeTextSchema: z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>;
7
7
  export declare const iso8601TextSchema: z.ZodEffects<z.ZodString, number, string>;
8
+ export declare const iso8601JpTextSchema: z.ZodEffects<z.ZodString, number, string>;
8
9
  export declare const datetimeJpTextSchema: z.ZodEffects<z.ZodString, number, string>;
9
- export declare const formatterValueSchema: z.ZodUnion<[z.ZodEffects<z.ZodLiteral<"">, undefined, "">, z.ZodString, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, number, string>, z.ZodEffects<z.ZodString, number, string>]>;
10
+ export declare const formatterValueSchema: z.ZodUnion<[z.ZodEffects<z.ZodLiteral<"">, undefined, "">, z.ZodString, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, number, string>, z.ZodEffects<z.ZodString, number, string>, z.ZodEffects<z.ZodString, number, string>]>;
10
11
  //# sourceMappingURL=formatterTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatterTypes.d.ts","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe,+CAA2C,CAAA;AAEvE,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,8EAGO,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,iBAAiB,2CAKY,CAAA;AAG1C,eAAO,MAAM,oBAAoB,2CAGoB,CAAA;AAErD,eAAO,MAAM,oBAAoB,0YAQ/B,CAAA"}
1
+ {"version":3,"file":"formatterTypes.d.ts","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe,+CAA2C,CAAA;AAEvE,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,8EAGO,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,iBAAiB,2CAKY,CAAA;AAE1C,eAAO,MAAM,mBAAmB,2CAGqB,CAAA;AAGrD,eAAO,MAAM,oBAAoB,2CAGoB,CAAA;AAErD,eAAO,MAAM,oBAAoB,qbAS/B,CAAA"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  export declare const csvFormatSchema: z.ZodObject<{
3
3
  id: z.ZodString;
4
4
  service: z.ZodString;
5
- formatter: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"datetime-jp">]>, "many">>;
5
+ formatter: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"iso8601-jp">, z.ZodLiteral<"datetime-jp">]>, "many">>;
6
6
  parsers: z.ZodArray<z.ZodObject<{
7
7
  conditions: z.ZodArray<z.ZodObject<{
8
8
  column: z.ZodString;
@@ -432,7 +432,7 @@ export declare const csvFormatSchema: z.ZodObject<{
432
432
  }, "strip", z.ZodTypeAny, {
433
433
  service: string;
434
434
  id: string;
435
- formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "datetime-jp")[]>;
435
+ formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "iso8601-jp" | "datetime-jp")[]>;
436
436
  parsers: {
437
437
  conditions: {
438
438
  column: string;
@@ -512,7 +512,7 @@ export declare const csvFormatSchema: z.ZodObject<{
512
512
  }, {
513
513
  service: string;
514
514
  id: string;
515
- formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "datetime-jp")[]>;
515
+ formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "iso8601-jp" | "datetime-jp")[]>;
516
516
  parsers: {
517
517
  conditions: {
518
518
  column: string;
package/formatCsvRows.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  bigDecimalTextSchema,
5
5
  blankTextSchema,
6
6
  datetimeJpTextSchema,
7
+ iso8601JpTextSchema,
7
8
  iso8601TextSchema,
8
9
  stringTextSchema,
9
10
  } from './schemas/formatterTypes'
@@ -78,6 +79,13 @@ const formatCsvRow = (row: RawRow, formatter: Formatter): FormattedRow =>
78
79
  }
79
80
  return [column, parsed.data]
80
81
  }
82
+ case 'iso8601-jp': {
83
+ const parsed = iso8601JpTextSchema.safeParse(value)
84
+ if (!parsed.success) {
85
+ break
86
+ }
87
+ return [column, parsed.data]
88
+ }
81
89
  case 'datetime-jp': {
82
90
  const parsed = datetimeJpTextSchema.safeParse(value)
83
91
  if (!parsed.success) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/csv",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Cryptorch CSV extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -7,6 +7,7 @@ export const formatterValueTypeSchema = z.union([
7
7
  z.literal('big-decimal-positive'),
8
8
  z.literal('big-decimal-negative'),
9
9
  z.literal('iso8601'),
10
+ z.literal('iso8601-jp'),
10
11
  z.literal('datetime-jp'),
11
12
  ])
12
13
 
@@ -7,17 +7,17 @@ export const stringTextSchema = z.string()
7
7
 
8
8
  export const bigDecimalTextSchema = z
9
9
  .string()
10
- .regex(/^-?\d+(\.\d+)?$/)
10
+ .regex(/^-?[\d,]+(\.\d+)?$/)
11
11
  .transform((v) => createBigDecimal(v))
12
12
 
13
13
  export const bigDecimalPositiveTextSchema = z
14
14
  .string()
15
- .regex(/^\d+(\.\d+)?$/)
15
+ .regex(/^[\d,]+(\.\d+)?$/)
16
16
  .transform((v) => createBigDecimal(v))
17
17
 
18
18
  export const bigDecimalNegativeTextSchema = z
19
19
  .string()
20
- .regex(/^-\d+(\.\d+)?$/)
20
+ .regex(/^-[\d,]+(\.\d+)?$/)
21
21
  .transform((v) => createBigDecimal(v))
22
22
 
23
23
  export const iso8601TextSchema = z
@@ -27,6 +27,11 @@ export const iso8601TextSchema = z
27
27
  )
28
28
  .transform((v) => new Date(v).getTime())
29
29
 
30
+ export const iso8601JpTextSchema = z
31
+ .string()
32
+ .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
33
+ .transform((v) => new Date(`${v}+09:00`).getTime())
34
+
30
35
  // TODO timezone 追加型 date を導入する
31
36
  export const datetimeJpTextSchema = z
32
37
  .string()
@@ -40,5 +45,6 @@ export const formatterValueSchema = z.union([
40
45
  bigDecimalPositiveTextSchema,
41
46
  bigDecimalNegativeTextSchema,
42
47
  iso8601TextSchema,
48
+ iso8601JpTextSchema,
43
49
  datetimeJpTextSchema,
44
50
  ])