purify-ts-extra-codec
Advanced tools
Comparing version 0.1.0 to 0.1.1
@@ -1,3 +0,3 @@ | ||
import { Codec } from "purify-ts/es"; | ||
import { Codec } from "purify-ts"; | ||
export declare const DateFromAny: Codec<Date>; | ||
export declare const DateFromStringFormatOf: (format: string) => Codec<Date>; |
@@ -1,2 +0,2 @@ | ||
import { Codec } from "purify-ts/es"; | ||
import { Codec } from "purify-ts"; | ||
export declare type NumberRangeOption = { | ||
@@ -3,0 +3,0 @@ gt?: number; |
@@ -7,3 +7,3 @@ 'use strict'; | ||
var es = require('purify-ts/es'); | ||
var purifyTs = require('purify-ts'); | ||
var formatDate = _interopDefault(require('date-fns/format')); | ||
@@ -14,3 +14,3 @@ var parseDate = _interopDefault(require('date-fns/parse')); | ||
var extendCodec = function extendCodec(base, decoder) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -26,3 +26,3 @@ return base.decode(value).chain(decoder); | ||
if (!c3) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -38,3 +38,3 @@ return c1.decode(value).chain(c2.decode); | ||
if (!c4) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -50,3 +50,3 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode); | ||
if (!c5) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -62,3 +62,3 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode).chain(c4.decode); | ||
if (!c6) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -74,3 +74,3 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode).chain(c4.decode).chain(c5.decode); | ||
if (!c7) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -86,3 +86,3 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode).chain(c4.decode).chain(c5.decode).chain(c6.decode); | ||
if (!c8) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -98,3 +98,3 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode).chain(c4.decode).chain(c5.decode).chain(c6.decode).chain(c7.decode); | ||
if (!c9) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -109,3 +109,3 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode).chain(c4.decode).chain(c5.decode).chain(c6.decode).chain(c7.decode).chain(c8.decode); | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
@@ -125,17 +125,17 @@ return c1.decode(value).chain(c2.decode).chain(c3.decode).chain(c4.decode).chain(c5.decode).chain(c6.decode).chain(c7.decode).chain(c8.decode).chain(c9.decode); | ||
lte = _ref.lte; | ||
return extendCodec(es.number, function (value) { | ||
if (gt != null && !(gt < value)) return es.Left(value + " must be greater than " + gt); | ||
if (gte != null && !(gte <= value)) return es.Left(value + " must be greater than equal " + gte); | ||
if (lt != null && !(lt > value)) return es.Left(value + " must be less than " + lt); | ||
if (lte != null && !(lte >= value)) return es.Left(value + " must be less than equal " + lte); | ||
return es.Right(value); | ||
return extendCodec(purifyTs.number, function (value) { | ||
if (gt != null && !(gt < value)) return purifyTs.Left(value + " must be greater than " + gt); | ||
if (gte != null && !(gte <= value)) return purifyTs.Left(value + " must be greater than equal " + gte); | ||
if (lt != null && !(lt > value)) return purifyTs.Left(value + " must be less than " + lt); | ||
if (lte != null && !(lte >= value)) return purifyTs.Left(value + " must be less than equal " + lte); | ||
return purifyTs.Right(value); | ||
}); | ||
}; | ||
var NumberFromString = /*#__PURE__*/es.Codec.custom({ | ||
var NumberFromString = /*#__PURE__*/purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
return es.string.decode(value).chain(function (value) { | ||
return purifyTs.string.decode(value).chain(function (value) { | ||
var num = Number(value); | ||
if (Number.isNaN(num)) return es.Left(value + " is not number parsable string"); | ||
if (!Number.isFinite(num)) return es.Left(value + " is not finite number"); | ||
return es.Right(num); | ||
if (Number.isNaN(num)) return purifyTs.Left(value + " is not number parsable string"); | ||
if (!Number.isFinite(num)) return purifyTs.Left(value + " is not finite number"); | ||
return purifyTs.Right(num); | ||
}); | ||
@@ -147,12 +147,12 @@ }, | ||
}); | ||
var Integer = /*#__PURE__*/extendCodec(es.number, function (value) { | ||
if (value !== Math.floor(value)) return es.Left(value + " is not integer"); | ||
if (!Number.isFinite(value)) return es.Left(value + " is not finite number"); | ||
return es.Right(value); | ||
var Integer = /*#__PURE__*/extendCodec(purifyTs.number, function (value) { | ||
if (value !== Math.floor(value)) return purifyTs.Left(value + " is not integer"); | ||
if (!Number.isFinite(value)) return purifyTs.Left(value + " is not finite number"); | ||
return purifyTs.Right(value); | ||
}); | ||
var IntegerFromString = /*#__PURE__*/chainCodec(NumberFromString, Integer); | ||
var NonEmptyString = /*#__PURE__*/extendCodec(es.string, function (value) { | ||
if (value === "") return es.Left("value must not be empty"); | ||
return es.Right(value); | ||
var NonEmptyString = /*#__PURE__*/extendCodec(purifyTs.string, function (value) { | ||
if (value === "") return purifyTs.Left("value must not be empty"); | ||
return purifyTs.Right(value); | ||
}); | ||
@@ -164,25 +164,25 @@ var StringLengthRangedIn = function StringLengthRangedIn(_ref) { | ||
lte = _ref.lte; | ||
return extendCodec(es.string, function (value) { | ||
return extendCodec(purifyTs.string, function (value) { | ||
var length = value.length; | ||
if (gt != null && !(gt < length)) return es.Left("length of " + value + " must be greater than " + gt); | ||
if (gte != null && !(gte <= length)) return es.Left("length of " + value + " must be greater than equal " + gte); | ||
if (lt != null && !(lt > length)) return es.Left("length of " + value + " must be less than " + lt); | ||
if (lte != null && !(lte >= length)) return es.Left("length of " + value + " must be less than equal " + lte); | ||
return es.Right(value); | ||
if (gt != null && !(gt < length)) return purifyTs.Left("length of " + value + " must be greater than " + gt); | ||
if (gte != null && !(gte <= length)) return purifyTs.Left("length of " + value + " must be greater than equal " + gte); | ||
if (lt != null && !(lt > length)) return purifyTs.Left("length of " + value + " must be less than " + lt); | ||
if (lte != null && !(lte >= length)) return purifyTs.Left("length of " + value + " must be less than equal " + lte); | ||
return purifyTs.Right(value); | ||
}); | ||
}; | ||
var RegExpMatchedString = function RegExpMatchedString(regexp) { | ||
return extendCodec(es.string, function (value) { | ||
if (!regexp.test(value)) return es.Left(value + " is not matched to " + regexp); | ||
return es.Right(value); | ||
return extendCodec(purifyTs.string, function (value) { | ||
if (!regexp.test(value)) return purifyTs.Left(value + " is not matched to " + regexp); | ||
return purifyTs.Right(value); | ||
}); | ||
}; | ||
var FormattedStringFromDate = function FormattedStringFromDate(format) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
if (!(value instanceof Date)) { | ||
return es.Left(value + " is not instance of Date"); | ||
return purifyTs.Left(value + " is not instance of Date"); | ||
} | ||
return es.Right(formatDate(value, format)); | ||
return purifyTs.Right(formatDate(value, format)); | ||
}, | ||
@@ -195,11 +195,11 @@ encode: function encode(value) { | ||
var DateFromAny = /*#__PURE__*/es.Codec.custom({ | ||
var DateFromAny = /*#__PURE__*/purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
if (typeof value !== "string" && typeof value !== "number" && !(value instanceof Date)) { | ||
return es.Left(value + " cannot convert to Date"); | ||
return purifyTs.Left(value + " cannot convert to Date"); | ||
} | ||
var date = new Date(value); | ||
if (!isValid(date)) return es.Left(value + " cannot convert to valid Date"); | ||
return es.Right(date); | ||
if (!isValid(date)) return purifyTs.Left(value + " cannot convert to valid Date"); | ||
return purifyTs.Right(date); | ||
}, | ||
@@ -211,8 +211,8 @@ encode: function encode(value) { | ||
var DateFromStringFormatOf = function DateFromStringFormatOf(format) { | ||
return es.Codec.custom({ | ||
return purifyTs.Codec.custom({ | ||
decode: function decode(value) { | ||
return es.string.decode(value).chain(function (str) { | ||
return purifyTs.string.decode(value).chain(function (str) { | ||
var date = parseDate(str, format, new Date()); | ||
if (!isValid(date)) return es.Left(value + " is not suitable format of " + format); | ||
return es.Right(date); | ||
if (!isValid(date)) return purifyTs.Left(value + " is not suitable format of " + format); | ||
return purifyTs.Right(date); | ||
}); | ||
@@ -219,0 +219,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("purify-ts/es"),t=e(require("date-fns/format")),o=e(require("date-fns/parse")),c=e(require("date-fns/isValid")),d=function(e,t){return n.Codec.custom({decode:function(n){return e.decode(n).chain(t)},encode:e.encode})};function r(e,t,o,c,d,r,i,u,a){return t?n.Codec.custom(o?c?d?r?i?u?a?{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode).chain(i.decode).chain(u.decode).chain(a.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(i.encode(u.encode(a.encode(n)))))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode).chain(i.decode).chain(u.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(i.encode(u.encode(n))))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode).chain(i.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(i.encode(n)))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(n))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(n)))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(n))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode)},encode:function(n){return e.encode(t.encode(o.encode(n)))}}:{decode:function(n){return e.decode(n).chain(t.decode)},encode:function(n){return e.encode(t.encode(n))}}):e}var i=n.Codec.custom({decode:function(e){return n.string.decode(e).chain((function(e){var t=Number(e);return Number.isNaN(t)?n.Left(e+" is not number parsable string"):Number.isFinite(t)?n.Right(t):n.Left(e+" is not finite number")}))},encode:function(e){return""+e}}),u=d(n.number,(function(e){return e!==Math.floor(e)?n.Left(e+" is not integer"):Number.isFinite(e)?n.Right(e):n.Left(e+" is not finite number")})),a=r(i,u),f=d(n.string,(function(e){return""===e?n.Left("value must not be empty"):n.Right(e)}));exports.DateFromAny=n.Codec.custom({decode:function(e){if("string"!=typeof e&&"number"!=typeof e&&!(e instanceof Date))return n.Left(e+" cannot convert to Date");var t=new Date(e);return c(t)?n.Right(t):n.Left(e+" cannot convert to valid Date")},encode:function(e){return e.toJSON()}}),exports.DateFromStringFormatOf=function(e){return n.Codec.custom({decode:function(t){return n.string.decode(t).chain((function(d){var r=o(d,e,new Date);return c(r)?n.Right(r):n.Left(t+" is not suitable format of "+e)}))},encode:function(n){return t(n,e)}})},exports.FormattedStringFromDate=function(e){return n.Codec.custom({decode:function(o){return o instanceof Date?n.Right(t(o,e)):n.Left(o+" is not instance of Date")},encode:function(n){return o(n,e,new Date)}})},exports.Integer=u,exports.IntegerFromString=a,exports.NonEmptyString=f,exports.NumberFromString=i,exports.NumberRangedIn=function(e){var t=e.gt,o=e.gte,c=e.lt,r=e.lte;return d(n.number,(function(e){return null==t||t<e?null==o||o<=e?null==c||c>e?null==r||r>=e?n.Right(e):n.Left(e+" must be less than equal "+r):n.Left(e+" must be less than "+c):n.Left(e+" must be greater than equal "+o):n.Left(e+" must be greater than "+t)}))},exports.RegExpMatchedString=function(e){return d(n.string,(function(t){return e.test(t)?n.Right(t):n.Left(t+" is not matched to "+e)}))},exports.StringLengthRangedIn=function(e){var t=e.gt,o=e.gte,c=e.lt,r=e.lte;return d(n.string,(function(e){var d=e.length;return null==t||t<d?null==o||o<=d?null==c||c>d?null==r||r>=d?n.Right(e):n.Left("length of "+e+" must be less than equal "+r):n.Left("length of "+e+" must be less than "+c):n.Left("length of "+e+" must be greater than equal "+o):n.Left("length of "+e+" must be greater than "+t)}))},exports.chainCodec=r,exports.extendCodec=d; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("purify-ts"),t=e(require("date-fns/format")),o=e(require("date-fns/parse")),c=e(require("date-fns/isValid")),d=function(e,t){return n.Codec.custom({decode:function(n){return e.decode(n).chain(t)},encode:e.encode})};function r(e,t,o,c,d,r,i,u,a){return t?n.Codec.custom(o?c?d?r?i?u?a?{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode).chain(i.decode).chain(u.decode).chain(a.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(i.encode(u.encode(a.encode(n)))))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode).chain(i.decode).chain(u.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(i.encode(u.encode(n))))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode).chain(i.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(i.encode(n)))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode).chain(r.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(r.encode(n))))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode).chain(d.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(d.encode(n)))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode).chain(c.decode)},encode:function(n){return e.encode(t.encode(o.encode(c.encode(n))))}}:{decode:function(n){return e.decode(n).chain(t.decode).chain(o.decode)},encode:function(n){return e.encode(t.encode(o.encode(n)))}}:{decode:function(n){return e.decode(n).chain(t.decode)},encode:function(n){return e.encode(t.encode(n))}}):e}var i=n.Codec.custom({decode:function(e){return n.string.decode(e).chain((function(e){var t=Number(e);return Number.isNaN(t)?n.Left(e+" is not number parsable string"):Number.isFinite(t)?n.Right(t):n.Left(e+" is not finite number")}))},encode:function(e){return""+e}}),u=d(n.number,(function(e){return e!==Math.floor(e)?n.Left(e+" is not integer"):Number.isFinite(e)?n.Right(e):n.Left(e+" is not finite number")})),a=r(i,u),f=d(n.string,(function(e){return""===e?n.Left("value must not be empty"):n.Right(e)}));exports.DateFromAny=n.Codec.custom({decode:function(e){if("string"!=typeof e&&"number"!=typeof e&&!(e instanceof Date))return n.Left(e+" cannot convert to Date");var t=new Date(e);return c(t)?n.Right(t):n.Left(e+" cannot convert to valid Date")},encode:function(e){return e.toJSON()}}),exports.DateFromStringFormatOf=function(e){return n.Codec.custom({decode:function(t){return n.string.decode(t).chain((function(d){var r=o(d,e,new Date);return c(r)?n.Right(r):n.Left(t+" is not suitable format of "+e)}))},encode:function(n){return t(n,e)}})},exports.FormattedStringFromDate=function(e){return n.Codec.custom({decode:function(o){return o instanceof Date?n.Right(t(o,e)):n.Left(o+" is not instance of Date")},encode:function(n){return o(n,e,new Date)}})},exports.Integer=u,exports.IntegerFromString=a,exports.NonEmptyString=f,exports.NumberFromString=i,exports.NumberRangedIn=function(e){var t=e.gt,o=e.gte,c=e.lt,r=e.lte;return d(n.number,(function(e){return null==t||t<e?null==o||o<=e?null==c||c>e?null==r||r>=e?n.Right(e):n.Left(e+" must be less than equal "+r):n.Left(e+" must be less than "+c):n.Left(e+" must be greater than equal "+o):n.Left(e+" must be greater than "+t)}))},exports.RegExpMatchedString=function(e){return d(n.string,(function(t){return e.test(t)?n.Right(t):n.Left(t+" is not matched to "+e)}))},exports.StringLengthRangedIn=function(e){var t=e.gt,o=e.gte,c=e.lt,r=e.lte;return d(n.string,(function(e){var d=e.length;return null==t||t<d?null==o||o<=d?null==c||c>d?null==r||r>=d?n.Right(e):n.Left("length of "+e+" must be less than equal "+r):n.Left("length of "+e+" must be less than "+c):n.Left("length of "+e+" must be greater than equal "+o):n.Left("length of "+e+" must be greater than "+t)}))},exports.chainCodec=r,exports.extendCodec=d; | ||
//# sourceMappingURL=purify-ts-extra-codec.cjs.production.min.js.map |
@@ -1,2 +0,2 @@ | ||
import { Codec, Left, Right, number, string } from 'purify-ts/es'; | ||
import { Codec, Left, Right, number, string } from 'purify-ts'; | ||
import formatDate from 'date-fns/format'; | ||
@@ -3,0 +3,0 @@ import parseDate from 'date-fns/parse'; |
@@ -1,2 +0,2 @@ | ||
import { Codec } from "purify-ts/es"; | ||
import { Codec } from "purify-ts"; | ||
export declare const NonEmptyString: Codec<string>; | ||
@@ -3,0 +3,0 @@ export declare type StringLengthRangeOption = { |
@@ -1,2 +0,2 @@ | ||
import { Codec, Either } from "purify-ts/es"; | ||
import { Codec, Either } from "purify-ts"; | ||
export declare const extendCodec: <T>(base: Codec<T>, decoder: (value: T) => Either<string, T>) => Codec<T>; | ||
@@ -3,0 +3,0 @@ export declare function chainCodec<T1>(c1: Codec<T1>): Codec<T1>; |
@@ -5,3 +5,3 @@ { | ||
"module": "dist/purify-ts-extra-codec.esm.js", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"license": "MIT", | ||
@@ -26,2 +26,3 @@ "main": "dist/index.js", | ||
"devDependencies": { | ||
"eslint-plugin-prettier": "^3.1.3", | ||
"husky": "^4.2.5", | ||
@@ -28,0 +29,0 @@ "prettier": "^2.0.5", |
@@ -22,5 +22,5 @@ # purify-ts-extra-codec | ||
```typescript | ||
NonEmptyString.decode("asdf") // Right("asdf") | ||
NonEmptyString.decode("") // Left("[error message]") | ||
NonEmptyString.decode(1234) // Left("[error message]") | ||
NonEmptyString.decode("asdf"); // Right("asdf") | ||
NonEmptyString.decode(""); // Left("[error message]") | ||
NonEmptyString.decode(1234); // Left("[error message]") | ||
``` | ||
@@ -33,5 +33,5 @@ | ||
```typescript | ||
StringLengthRangedIn({ gt: 2, lte: 5 }).decode("asdf") // Right("asdf") | ||
StringLengthRangedIn({ gte: 5, lte: 5 }).decode("asdf") // Left("[error message]") | ||
StringLengthRangedIn({ gte: 5, lte: 5 }).decode(1234) // Left("[error message]") | ||
StringLengthRangedIn({ gt: 2, lte: 5 }).decode("asdf"); // Right("asdf") | ||
StringLengthRangedIn({ gte: 5, lte: 5 }).decode("asdf"); // Left("[error message]") | ||
StringLengthRangedIn({ gte: 5, lte: 5 }).decode(1234); // Left("[error message]") | ||
``` | ||
@@ -44,5 +44,5 @@ | ||
```typescript | ||
RegExpMatchedString(/\w+/).decode("asdf") // Right("asdf") | ||
RegExpMatchedString(/\w+/).decode("1234") // Left("[error message]") | ||
RegExpMatchedString(/\w+/).decode(1234) // Left("[error message]") | ||
RegExpMatchedString(/\w+/).decode("asdf"); // Right("asdf") | ||
RegExpMatchedString(/\w+/).decode("1234"); // Left("[error message]") | ||
RegExpMatchedString(/\w+/).decode(1234); // Left("[error message]") | ||
``` | ||
@@ -55,5 +55,5 @@ | ||
```typescript | ||
FormattedStringFromDate("yyyy_MM_dd").decode(new Date()) // Right("2020_01_01") | ||
FormattedStringFromDate("yyyy_MM_dd").decode(new Date("InvalidDate")) // Left("[error message]") | ||
FormattedStringFromDate("yyyy_MM_dd").decode("asdf") // Left("[error message]") | ||
FormattedStringFromDate("yyyy_MM_dd").decode(new Date()); // Right("2020_01_01") | ||
FormattedStringFromDate("yyyy_MM_dd").decode(new Date("InvalidDate")); // Left("[error message]") | ||
FormattedStringFromDate("yyyy_MM_dd").decode("asdf"); // Left("[error message]") | ||
``` | ||
@@ -68,5 +68,5 @@ | ||
```typescript | ||
NumberRangedIn({ gt: 2, lte: 5 }).decode(3) // Right(3) | ||
NumberRangedIn({ gte: 2, lt: 5 }).decode(0) // Left("[error message]") | ||
NumberRangedIn({ gt: 2, lte: 5 }).decode("a") // Left("[error message]") | ||
NumberRangedIn({ gt: 2, lte: 5 }).decode(3); // Right(3) | ||
NumberRangedIn({ gte: 2, lt: 5 }).decode(0); // Left("[error message]") | ||
NumberRangedIn({ gt: 2, lte: 5 }).decode("a"); // Left("[error message]") | ||
``` | ||
@@ -79,5 +79,5 @@ | ||
```typescript | ||
NumberFromString.decode("-12.34") // Right(-12.34) | ||
NumberFromString.decode("Infinity") // Left("[error message]") | ||
NumberFromString.decode(1234) // Left("[error message]") | ||
NumberFromString.decode("-12.34"); // Right(-12.34) | ||
NumberFromString.decode("Infinity"); // Left("[error message]") | ||
NumberFromString.decode(1234); // Left("[error message]") | ||
``` | ||
@@ -90,5 +90,5 @@ | ||
```typescript | ||
Integer.decode(1234) // Right(1234) | ||
Integer.decode(12.34) // Left("[error message]") | ||
Integer.decode("1234") // Left("[error message]") | ||
Integer.decode(1234); // Right(1234) | ||
Integer.decode(12.34); // Left("[error message]") | ||
Integer.decode("1234"); // Left("[error message]") | ||
``` | ||
@@ -101,5 +101,5 @@ | ||
```typescript | ||
IntegerFromString.decode("1234") // Right(1234) | ||
IntegerFromString.decode("12.34") // Left("[error message]") | ||
IntegerFromString.decode(1234) // Left("[error message]") | ||
IntegerFromString.decode("1234"); // Right(1234) | ||
IntegerFromString.decode("12.34"); // Left("[error message]") | ||
IntegerFromString.decode(1234); // Left("[error message]") | ||
``` | ||
@@ -114,5 +114,5 @@ | ||
```typescript | ||
DateFromAny.decode("2020/01/01") // Right(Wed Jan 01 2020 00:00:00) | ||
DateFromAny.decode(1577804400000) // Right(Wed Jan 01 2020 00:00:00) | ||
DateFromAny.decode("today") // Left("[error message]") | ||
DateFromAny.decode("2020/01/01"); // Right(Wed Jan 01 2020 00:00:00) | ||
DateFromAny.decode(1577804400000); // Right(Wed Jan 01 2020 00:00:00) | ||
DateFromAny.decode("today"); // Left("[error message]") | ||
``` | ||
@@ -125,5 +125,5 @@ | ||
```typescript | ||
DateFromStringFormatOf("yyyy_MM_dd").decode("2020_01_01") // Right(Wed Jan 01 2020 00:00:00) | ||
DateFromStringFormatOf("yyyy_MM_dd").decode("2020") // Left("[error message]") | ||
DateFromStringFormatOf("yyyy_MM_dd").decode(new Date()) // Left("[error message]") | ||
DateFromStringFormatOf("yyyy_MM_dd").decode("2020_01_01"); // Right(Wed Jan 01 2020 00:00:00) | ||
DateFromStringFormatOf("yyyy_MM_dd").decode("2020"); // Left("[error message]") | ||
DateFromStringFormatOf("yyyy_MM_dd").decode(new Date()); // Left("[error message]") | ||
``` | ||
@@ -138,10 +138,9 @@ | ||
```typescript | ||
const ThreeLengthString = extendCodec( | ||
stringCodec, | ||
str => str.length === 3 ? Right(str) : Left(`${str} must have exact 3 length`) | ||
const ThreeLengthString = extendCodec(stringCodec, (str) => | ||
str.length === 3 ? Right(str) : Left(`${str} must have exact 3 length`) | ||
); | ||
ThreeLengthString.decode("123") // Right("123"); | ||
ThreeLengthString.decode("1") // Left("[error message]") | ||
ThreeLengthString.decode(1) // Left("[error message]") | ||
ThreeLengthString.decode("123"); // Right("123"); | ||
ThreeLengthString.decode("1"); // Left("[error message]") | ||
ThreeLengthString.decode(1); // Left("[error message]") | ||
``` | ||
@@ -155,7 +154,11 @@ | ||
```typescript | ||
const ThreeDigitIntegerFromString = chainCodec(ThreeLengthString, NumberFromString, Integer); | ||
const ThreeDigitIntegerFromString = chainCodec( | ||
ThreeLengthString, | ||
NumberFromString, | ||
Integer | ||
); | ||
ThreeDigitNumberFromString.decode("123") // Right(123) | ||
ThreeDigitNumberFromString.decode("1.4") // Left("[error message]") | ||
ThreeDigitNumberFromString.decode(123) // Left("[error message]") | ||
ThreeDigitNumberFromString.decode("123"); // Right(123) | ||
ThreeDigitNumberFromString.decode("1.4"); // Left("[error message]") | ||
ThreeDigitNumberFromString.decode(123); // Left("[error message]") | ||
``` |
import "jest"; | ||
import { DateFromAny, DateFromStringFormatOf } from "./Date"; | ||
import { Left, Right } from "purify-ts/es"; | ||
import { Left, Right } from "purify-ts"; | ||
@@ -5,0 +5,0 @@ const left = Left(expect.any(String)); |
@@ -1,2 +0,2 @@ | ||
import { Codec, Left, Right, string } from "purify-ts/es"; | ||
import { Codec, Left, Right, string } from "purify-ts"; | ||
import isValid from "date-fns/isValid"; | ||
@@ -3,0 +3,0 @@ import formatDate from "date-fns/format"; |
@@ -1,2 +0,2 @@ | ||
import { Left, Right } from "purify-ts/es"; | ||
import { Left, Right } from "purify-ts"; | ||
import { | ||
@@ -3,0 +3,0 @@ Integer, |
import { chainCodec, extendCodec } from "./utils"; | ||
import { Codec, Left, number, Right, string } from "purify-ts/es"; | ||
import { Codec, Left, number, Right, string } from "purify-ts"; | ||
@@ -4,0 +4,0 @@ export type NumberRangeOption = { |
@@ -8,3 +8,3 @@ import "jest"; | ||
} from "./String"; | ||
import { Left, Right } from "purify-ts/es"; | ||
import { Left, Right } from "purify-ts"; | ||
@@ -11,0 +11,0 @@ const left = Left(expect.any(String)); |
import { extendCodec } from "./utils"; | ||
import { Codec, Left, Right, string } from "purify-ts/es"; | ||
import { Codec, Left, Right, string } from "purify-ts"; | ||
import formatDate from "date-fns/format"; | ||
@@ -4,0 +4,0 @@ import parseDate from "date-fns/parse"; |
@@ -1,2 +0,2 @@ | ||
import { Codec, Either } from "purify-ts/es"; | ||
import { Codec, Either } from "purify-ts"; | ||
@@ -3,0 +3,0 @@ export const extendCodec = <T>( |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
101402
153
2
0
7