@0xtorch/csv 0.0.22 → 0.0.24

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.
@@ -22,16 +22,16 @@ const isMatchPattern = ({ value, pattern, }) => {
22
22
  return !pattern.values.includes(trimmedValue);
23
23
  }
24
24
  case 'positive': {
25
- return Number(trimmedValue) > 0;
25
+ return Number(trimmedValue.replaceAll('"', '')) > 0;
26
26
  }
27
27
  case 'negative': {
28
- return Number(trimmedValue) < 0;
28
+ return Number(trimmedValue.replaceAll('"', '')) < 0;
29
29
  }
30
30
  case 'nonpositive': {
31
- return Number(trimmedValue) <= 0;
31
+ return Number(trimmedValue.replaceAll('"', '')) <= 0;
32
32
  }
33
33
  case 'nonnegative': {
34
- return Number(trimmedValue) >= 0;
34
+ return Number(trimmedValue.replaceAll('"', '')) >= 0;
35
35
  }
36
36
  }
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../parseRowsToActions/pattern.ts"],"names":[],"mappings":";;;AAAA,wCAAyC;AAIlC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,OAAO,GAIR,EAAW,EAAE;IACZ,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,YAAY,KAAK,OAAO,CAAA;IACjC,CAAC;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,CACL,YAAY,KAAK,IAAA,gBAAS,EAAC,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACxE,CAAA;QACH,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,CACL,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAChC,YAAY,KAAK,IAAA,gBAAS,EAAC,SAAS,CAAC,CACtC,CAAA;QACH,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AA1CY,QAAA,cAAc,kBA0C1B"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../parseRowsToActions/pattern.ts"],"names":[],"mappings":";;;AAAA,wCAAyC;AAIlC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,OAAO,GAIR,EAAW,EAAE;IACZ,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,YAAY,KAAK,OAAO,CAAA;IACjC,CAAC;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,CACL,YAAY,KAAK,IAAA,gBAAS,EAAC,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACxE,CAAA;QACH,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,CACL,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAChC,YAAY,KAAK,IAAA,gBAAS,EAAC,SAAS,CAAC,CACtC,CAAA;QACH,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACtD,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AA1CY,QAAA,cAAc,kBA0C1B"}
@@ -7,16 +7,16 @@ 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+)?$/)
11
- .transform((v) => (0, big_decimal_1.createBigDecimal)(v));
10
+ .regex(/^(" *)?-?[\d,]+(\.\d+)?( *")?$/)
11
+ .transform((v) => (0, big_decimal_1.createBigDecimal)(v.replaceAll('"', '').trim()));
12
12
  exports.bigDecimalPositiveTextSchema = zod_1.z
13
13
  .string()
14
- .regex(/^[\d,]+(\.\d+)?$/)
15
- .transform((v) => (0, big_decimal_1.createBigDecimal)(v));
14
+ .regex(/^(" *)?[\d,]+(\.\d+)?( *")?$/)
15
+ .transform((v) => (0, big_decimal_1.createBigDecimal)(v.replaceAll('"', '').trim()));
16
16
  exports.bigDecimalNegativeTextSchema = zod_1.z
17
17
  .string()
18
- .regex(/^-[\d,]+(\.\d+)?$/)
19
- .transform((v) => (0, big_decimal_1.createBigDecimal)(v));
18
+ .regex(/^(" *)?-[\d,]+(\.\d+)?( *")?$/)
19
+ .transform((v) => (0, big_decimal_1.createBigDecimal)(v.replaceAll('"', '').trim()));
20
20
  exports.iso8601TextSchema = zod_1.z
21
21
  .string()
22
22
  .regex(/^\d{4}-?\d{1,2}-?\d{1,2}(?:(T|( ))\d{1,2}(?::?\d{1,2}(?::?\d{1,2}(?:\.\d+)?)?)?( )?(?:Z|[+-]\d{1,2}:?\d{1,2})?)?$/)
@@ -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,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,mHAAmH,CACpH;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,gEAAgE,CAAC;KACvE,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,kEAAkE,CAAC;KACzE,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
+ {"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,gCAAgC,CAAC;KACvC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAEtD,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,8BAA8B,CAAC;KACrC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAEtD,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC;KACtC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAEtD,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,mHAAmH,CACpH;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,gEAAgE,CAAC;KACvE,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,kEAAkE,CAAC;KACzE,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"}
@@ -19,16 +19,16 @@ export const isMatchPattern = ({ value, pattern, }) => {
19
19
  return !pattern.values.includes(trimmedValue);
20
20
  }
21
21
  case 'positive': {
22
- return Number(trimmedValue) > 0;
22
+ return Number(trimmedValue.replaceAll('"', '')) > 0;
23
23
  }
24
24
  case 'negative': {
25
- return Number(trimmedValue) < 0;
25
+ return Number(trimmedValue.replaceAll('"', '')) < 0;
26
26
  }
27
27
  case 'nonpositive': {
28
- return Number(trimmedValue) <= 0;
28
+ return Number(trimmedValue.replaceAll('"', '')) <= 0;
29
29
  }
30
30
  case 'nonnegative': {
31
- return Number(trimmedValue) >= 0;
31
+ return Number(trimmedValue.replaceAll('"', '')) >= 0;
32
32
  }
33
33
  }
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../parseRowsToActions/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,OAAO,GAIR,EAAW,EAAE;IACZ,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,YAAY,KAAK,OAAO,CAAA;IACjC,CAAC;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,CACL,YAAY,KAAK,SAAS,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACxE,CAAA;QACH,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,CACL,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAChC,YAAY,KAAK,SAAS,CAAC,SAAS,CAAC,CACtC,CAAA;QACH,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../parseRowsToActions/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,OAAO,GAIR,EAAW,EAAE;IACZ,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,YAAY,KAAK,OAAO,CAAA;IACjC,CAAC;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,CACL,YAAY,KAAK,SAAS,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACxE,CAAA;QACH,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,CACL,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAChC,YAAY,KAAK,SAAS,CAAC,SAAS,CAAC,CACtC,CAAA;QACH,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACtD,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -4,16 +4,16 @@ 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+)?$/)
8
- .transform((v) => createBigDecimal(v));
7
+ .regex(/^(" *)?-?[\d,]+(\.\d+)?( *")?$/)
8
+ .transform((v) => createBigDecimal(v.replaceAll('"', '').trim()));
9
9
  export const bigDecimalPositiveTextSchema = z
10
10
  .string()
11
- .regex(/^[\d,]+(\.\d+)?$/)
12
- .transform((v) => createBigDecimal(v));
11
+ .regex(/^(" *)?[\d,]+(\.\d+)?( *")?$/)
12
+ .transform((v) => createBigDecimal(v.replaceAll('"', '').trim()));
13
13
  export const bigDecimalNegativeTextSchema = z
14
14
  .string()
15
- .regex(/^-[\d,]+(\.\d+)?$/)
16
- .transform((v) => createBigDecimal(v));
15
+ .regex(/^(" *)?-[\d,]+(\.\d+)?( *")?$/)
16
+ .transform((v) => createBigDecimal(v.replaceAll('"', '').trim()));
17
17
  export const iso8601TextSchema = z
18
18
  .string()
19
19
  .regex(/^\d{4}-?\d{1,2}-?\d{1,2}(?:(T|( ))\d{1,2}(?::?\d{1,2}(?::?\d{1,2}(?:\.\d+)?)?)?( )?(?:Z|[+-]\d{1,2}:?\d{1,2})?)?$/)
@@ -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,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,mHAAmH,CACpH;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,gEAAgE,CAAC;KACvE,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,kEAAkE,CAAC;KACzE,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
+ {"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,gCAAgC,CAAC;KACvC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,8BAA8B,CAAC;KACrC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC;KACtC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,mHAAmH,CACpH;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,gEAAgE,CAAC;KACvE,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,kEAAkE,CAAC;KACzE,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":"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"}
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,8EAGkC,CAAA;AAEnE,eAAO,MAAM,4BAA4B,8EAG0B,CAAA;AAEnE,eAAO,MAAM,4BAA4B,8EAG0B,CAAA;AAEnE,eAAO,MAAM,iBAAiB,2CAKY,CAAA;AAE1C,eAAO,MAAM,mBAAmB,2CAGqB,CAAA;AAGrD,eAAO,MAAM,oBAAoB,2CAGoB,CAAA;AAErD,eAAO,MAAM,oBAAoB,qbAS/B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/csv",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "Cryptorch CSV extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -32,16 +32,16 @@ export const isMatchPattern = ({
32
32
  return !pattern.values.includes(trimmedValue)
33
33
  }
34
34
  case 'positive': {
35
- return Number(trimmedValue) > 0
35
+ return Number(trimmedValue.replaceAll('"', '')) > 0
36
36
  }
37
37
  case 'negative': {
38
- return Number(trimmedValue) < 0
38
+ return Number(trimmedValue.replaceAll('"', '')) < 0
39
39
  }
40
40
  case 'nonpositive': {
41
- return Number(trimmedValue) <= 0
41
+ return Number(trimmedValue.replaceAll('"', '')) <= 0
42
42
  }
43
43
  case 'nonnegative': {
44
- return Number(trimmedValue) >= 0
44
+ return Number(trimmedValue.replaceAll('"', '')) >= 0
45
45
  }
46
46
  }
47
47
  }
@@ -7,18 +7,18 @@ export const stringTextSchema = z.string()
7
7
 
8
8
  export const bigDecimalTextSchema = z
9
9
  .string()
10
- .regex(/^-?[\d,]+(\.\d+)?$/)
11
- .transform((v) => createBigDecimal(v))
10
+ .regex(/^(" *)?-?[\d,]+(\.\d+)?( *")?$/)
11
+ .transform((v) => createBigDecimal(v.replaceAll('"', '').trim()))
12
12
 
13
13
  export const bigDecimalPositiveTextSchema = z
14
14
  .string()
15
- .regex(/^[\d,]+(\.\d+)?$/)
16
- .transform((v) => createBigDecimal(v))
15
+ .regex(/^(" *)?[\d,]+(\.\d+)?( *")?$/)
16
+ .transform((v) => createBigDecimal(v.replaceAll('"', '').trim()))
17
17
 
18
18
  export const bigDecimalNegativeTextSchema = z
19
19
  .string()
20
- .regex(/^-[\d,]+(\.\d+)?$/)
21
- .transform((v) => createBigDecimal(v))
20
+ .regex(/^(" *)?-[\d,]+(\.\d+)?( *")?$/)
21
+ .transform((v) => createBigDecimal(v.replaceAll('"', '').trim()))
22
22
 
23
23
  export const iso8601TextSchema = z
24
24
  .string()
@@ -0,0 +1,5 @@
1
+ 注文id,取引id,通貨ペア,タイプ,売/買,数量,価格,手数料,m/t,取引日時
2
+ 38358369122,1346558054,eth_jpy,limit,sell,1.61890000,396100.00000000,-128.2492580000000000000000,maker,2024-08-26 21:12:26.987
3
+ 38358369122,1346558052,eth_jpy,limit,sell,1.25950000,396100.00000000,-99.7775900000000000000000,maker,2024-08-26 21:12:26.555
4
+ 33885818016,1313923681,eth_jpy,limit,sell,0.07800000,518645.00000000,48.5451720000000000000000,taker,2024-02-29 18:47:09.078
5
+ 32750989897,1304559399,btc_jpy,limit,buy,0.03740000,6660910.00000000,298.9416408000000000000000,taker,2024-01-10 15:09:25.43
@@ -0,0 +1,264 @@
1
+ import type { CsvFormat } from '../types'
2
+
3
+ export const bitbankFormat = {
4
+ id: 'bitbank-spot-trade',
5
+ service: 'bitbank',
6
+ formatter: {
7
+ 取引id: ['string'],
8
+ 通貨ペア: ['string'],
9
+ '売/買': ['string'],
10
+ 数量: ['big-decimal-positive'],
11
+ 価格: ['big-decimal-positive'],
12
+ 手数料: ['big-decimal'],
13
+ 取引日時: ['iso8601-jp'],
14
+ },
15
+ parser: {
16
+ parsers: [
17
+ {
18
+ conditions: [
19
+ {
20
+ value: {
21
+ type: 'cell',
22
+ column: '売/買',
23
+ row: 0,
24
+ },
25
+ pattern: {
26
+ type: 'in',
27
+ values: ['buy', 'sell'],
28
+ },
29
+ },
30
+ ],
31
+ generators: [
32
+ {
33
+ type: 'trade',
34
+ source: {
35
+ type: 'join',
36
+ values: [
37
+ { type: 'service' },
38
+ '_spot-trade_',
39
+ {
40
+ type: 'cell',
41
+ column: '取引id',
42
+ row: 0,
43
+ },
44
+ ],
45
+ },
46
+ timestamp: {
47
+ type: 'cell',
48
+ column: '取引日時',
49
+ row: 0,
50
+ },
51
+ transfers: [
52
+ {
53
+ target: [
54
+ {
55
+ column: '売/買',
56
+ pattern: 'buy',
57
+ },
58
+ ],
59
+ direction: 'in',
60
+ amount: {
61
+ type: 'text',
62
+ value: {
63
+ type: 'cell',
64
+ column: '数量',
65
+ row: 0,
66
+ },
67
+ },
68
+ asset: {
69
+ type: 'symbol',
70
+ value: {
71
+ type: 'split',
72
+ value: {
73
+ type: 'cell',
74
+ column: '通貨ペア',
75
+ row: 0,
76
+ },
77
+ splitter: '_',
78
+ index: 0,
79
+ },
80
+ },
81
+ },
82
+ {
83
+ target: [
84
+ {
85
+ column: '売/買',
86
+ pattern: 'sell',
87
+ },
88
+ ],
89
+ direction: 'out',
90
+ amount: {
91
+ type: 'text',
92
+ value: {
93
+ type: 'cell',
94
+ column: '数量',
95
+ row: 0,
96
+ },
97
+ },
98
+ asset: {
99
+ type: 'symbol',
100
+ value: {
101
+ type: 'split',
102
+ value: {
103
+ type: 'cell',
104
+ column: '通貨ペア',
105
+ row: 0,
106
+ },
107
+ splitter: '_',
108
+ index: 0,
109
+ },
110
+ },
111
+ },
112
+ {
113
+ target: [
114
+ {
115
+ column: '売/買',
116
+ pattern: 'buy',
117
+ },
118
+ ],
119
+ direction: 'out',
120
+ amount: {
121
+ type: 'text',
122
+ value: {
123
+ type: 'math',
124
+ values: [
125
+ {
126
+ type: 'cell',
127
+ column: '数量',
128
+ row: 0,
129
+ },
130
+ '*',
131
+ {
132
+ type: 'cell',
133
+ column: '価格',
134
+ row: 0,
135
+ },
136
+ ],
137
+ },
138
+ },
139
+ asset: {
140
+ type: 'symbol',
141
+ value: {
142
+ type: 'split',
143
+ value: {
144
+ type: 'cell',
145
+ column: '通貨ペア',
146
+ row: 0,
147
+ },
148
+ splitter: '_',
149
+ index: 1,
150
+ },
151
+ },
152
+ },
153
+ {
154
+ target: [
155
+ {
156
+ column: '売/買',
157
+ pattern: 'sell',
158
+ },
159
+ ],
160
+ direction: 'in',
161
+ amount: {
162
+ type: 'text',
163
+ value: {
164
+ type: 'math',
165
+ values: [
166
+ {
167
+ type: 'cell',
168
+ column: '数量',
169
+ row: 0,
170
+ },
171
+ '*',
172
+ {
173
+ type: 'cell',
174
+ column: '価格',
175
+ row: 0,
176
+ },
177
+ ],
178
+ },
179
+ },
180
+ asset: {
181
+ type: 'symbol',
182
+ value: {
183
+ type: 'split',
184
+ value: {
185
+ type: 'cell',
186
+ column: '通貨ペア',
187
+ row: 0,
188
+ },
189
+ splitter: '_',
190
+ index: 1,
191
+ },
192
+ },
193
+ },
194
+ {
195
+ target: [
196
+ {
197
+ column: '手数料',
198
+ pattern: {
199
+ type: 'positive',
200
+ },
201
+ },
202
+ ],
203
+ direction: 'out',
204
+ amount: {
205
+ type: 'text',
206
+ value: {
207
+ type: 'cell',
208
+ column: '手数料',
209
+ row: 0,
210
+ },
211
+ },
212
+ asset: {
213
+ type: 'symbol',
214
+ value: {
215
+ type: 'split',
216
+ value: {
217
+ type: 'cell',
218
+ column: '通貨ペア',
219
+ row: 0,
220
+ },
221
+ splitter: '_',
222
+ index: 1,
223
+ },
224
+ },
225
+ },
226
+ {
227
+ target: [
228
+ {
229
+ column: '手数料',
230
+ pattern: {
231
+ type: 'negative',
232
+ },
233
+ },
234
+ ],
235
+ direction: 'in',
236
+ amount: {
237
+ type: 'text',
238
+ value: {
239
+ type: 'cell',
240
+ column: '手数料',
241
+ row: 0,
242
+ },
243
+ },
244
+ asset: {
245
+ type: 'symbol',
246
+ value: {
247
+ type: 'split',
248
+ value: {
249
+ type: 'cell',
250
+ column: '通貨ペア',
251
+ row: 0,
252
+ },
253
+ splitter: '_',
254
+ index: 1,
255
+ },
256
+ },
257
+ },
258
+ ],
259
+ },
260
+ ],
261
+ },
262
+ ],
263
+ },
264
+ } satisfies CsvFormat