decoders 2.7.0 → 2.7.2
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/index.cjs +7 -6
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +6 -5
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -114,7 +114,7 @@ function indent(s, prefix = INDENT) {
|
|
|
114
114
|
}
|
|
115
115
|
var quotePattern = /'/g;
|
|
116
116
|
function quote(value) {
|
|
117
|
-
return typeof value === "string" ? "'" + value.replace(quotePattern, "\\'") + "'" : JSON.stringify(value);
|
|
117
|
+
return typeof value === "string" ? "'" + value.replace(quotePattern, "\\'") + "'" : value === void 0 ? "undefined" : JSON.stringify(value);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
// src/core/format.ts
|
|
@@ -613,9 +613,9 @@ function either(...decoders) {
|
|
|
613
613
|
}
|
|
614
614
|
function oneOf(constants) {
|
|
615
615
|
return define((blob, ok2, err2) => {
|
|
616
|
-
const
|
|
617
|
-
if (
|
|
618
|
-
return ok2(
|
|
616
|
+
const index = constants.indexOf(blob);
|
|
617
|
+
if (index !== -1) {
|
|
618
|
+
return ok2(constants[index]);
|
|
619
619
|
}
|
|
620
620
|
return err2(`Must be one of ${constants.map((value) => quote(value)).join(", ")}`);
|
|
621
621
|
});
|
|
@@ -753,7 +753,7 @@ function bySizeOptions(options) {
|
|
|
753
753
|
}
|
|
754
754
|
|
|
755
755
|
// src/strings.ts
|
|
756
|
-
var url_re = /^([A-Za-z]{
|
|
756
|
+
var url_re = /^([A-Za-z]{2,12}(?:[+][A-Za-z]{2,12})?):\/\/(?:([-;:&=+$,\w]+)@)?(?:([A-Za-z0-9.-]+)(?::([0-9]{2,5}))?)(\/(?:[-+~%/.,\w]*)?(?:\?[-+=&;%@.,/\w]*)?(?:#[.,!/\w]*)?)?$/;
|
|
757
757
|
var string = define(
|
|
758
758
|
(blob, ok2, err2) => isString(blob) ? ok2(blob) : err2("Must be string")
|
|
759
759
|
);
|
|
@@ -934,4 +934,5 @@ var json = either(
|
|
|
934
934
|
|
|
935
935
|
|
|
936
936
|
|
|
937
|
-
|
|
937
|
+
|
|
938
|
+
exports.always = always; exports.anyNumber = anyNumber; exports.array = array; exports.bigint = bigint; exports.boolean = boolean; exports.constant = constant; exports.date = date; exports.dateString = dateString; exports.datelike = datelike; exports.decimal = decimal; exports.define = define; exports.dict = dict; exports.either = either; exports.email = email; exports.endsWith = endsWith; exports.enum_ = enum_; exports.err = err; exports.exact = exact; exports.fail = fail; exports.formatInline = formatInline; exports.formatShort = formatShort; exports.hardcoded = hardcoded; exports.hexadecimal = hexadecimal; exports.httpsUrl = httpsUrl; exports.identifier = identifier; exports.inexact = inexact; exports.instanceOf = instanceOf; exports.integer = integer; exports.iso8601 = iso8601; exports.json = json; exports.jsonArray = jsonArray; exports.jsonObject = jsonObject; exports.lazy = lazy; exports.mapping = mapping; exports.maybe = maybe; exports.mixed = mixed; exports.nanoid = nanoid; exports.never = never; exports.nonEmptyArray = nonEmptyArray; exports.nonEmptyString = nonEmptyString; exports.null_ = null_; exports.nullable = nullable; exports.nullish = nullish; exports.number = number; exports.numeric = numeric; exports.object = object; exports.ok = ok; exports.oneOf = oneOf; exports.optional = optional; exports.poja = poja; exports.pojo = pojo; exports.positiveInteger = positiveInteger; exports.positiveNumber = positiveNumber; exports.prep = prep; exports.record = record; exports.regex = regex; exports.select = select; exports.set = set; exports.setFromArray = setFromArray; exports.startsWith = startsWith; exports.string = string; exports.taggedUnion = taggedUnion; exports.truthy = truthy; exports.tuple = tuple; exports.undefined_ = undefined_; exports.unknown = unknown; exports.url = url; exports.uuid = uuid; exports.uuidv1 = uuidv1; exports.uuidv4 = uuidv4;
|
package/dist/index.d.cts
CHANGED
|
@@ -370,6 +370,10 @@ declare function mapping<T>(decoder: Decoder<T>): Decoder<Map<string, T>>;
|
|
|
370
370
|
* Accepts and returns `Date` instances.
|
|
371
371
|
*/
|
|
372
372
|
declare const date: Decoder<Date>;
|
|
373
|
+
/**
|
|
374
|
+
* Accepts and returns [ISO8601](https://en.wikipedia.org/wiki/ISO_8601)-formatted strings.
|
|
375
|
+
*/
|
|
376
|
+
declare const dateString: Decoder<string>;
|
|
373
377
|
/**
|
|
374
378
|
* Accepts [ISO8601](https://en.wikipedia.org/wiki/ISO_8601)-formatted strings,
|
|
375
379
|
* returns them as `Date` instances.
|
|
@@ -664,4 +668,4 @@ declare function taggedUnion<O extends Record<string, Decoder<unknown>>>(field:
|
|
|
664
668
|
*/
|
|
665
669
|
declare function select<T, D extends Decoder<unknown>>(scout: Decoder<T>, selectFn: (result: T) => D): Decoder<DecoderType<D>>;
|
|
666
670
|
|
|
667
|
-
export { type DecodeResult, type Decoder, type DecoderType, type Err, type Formatter, type JSONArray, type JSONObject, type JSONValue, type Ok, type Result, type Scalar, type SizeOptions, always, anyNumber, array, bigint, boolean, constant, date, datelike, decimal, define, dict, either, email, endsWith, enum_, err, exact, fail, formatInline, formatShort, hardcoded, hexadecimal, httpsUrl, identifier, inexact, instanceOf, integer, iso8601, json, jsonArray, jsonObject, lazy, mapping, maybe, mixed, nanoid, never, nonEmptyArray, nonEmptyString, null_, nullable, nullish, number, numeric, object, ok, oneOf, optional, poja, pojo, positiveInteger, positiveNumber, prep, record, regex, select, set, setFromArray, startsWith, string, taggedUnion, truthy, tuple, undefined_, unknown, url, uuid, uuidv1, uuidv4 };
|
|
671
|
+
export { type DecodeResult, type Decoder, type DecoderType, type Err, type Formatter, type JSONArray, type JSONObject, type JSONValue, type Ok, type Result, type Scalar, type SizeOptions, always, anyNumber, array, bigint, boolean, constant, date, dateString, datelike, decimal, define, dict, either, email, endsWith, enum_, err, exact, fail, formatInline, formatShort, hardcoded, hexadecimal, httpsUrl, identifier, inexact, instanceOf, integer, iso8601, json, jsonArray, jsonObject, lazy, mapping, maybe, mixed, nanoid, never, nonEmptyArray, nonEmptyString, null_, nullable, nullish, number, numeric, object, ok, oneOf, optional, poja, pojo, positiveInteger, positiveNumber, prep, record, regex, select, set, setFromArray, startsWith, string, taggedUnion, truthy, tuple, undefined_, unknown, url, uuid, uuidv1, uuidv4 };
|
package/dist/index.d.ts
CHANGED
|
@@ -370,6 +370,10 @@ declare function mapping<T>(decoder: Decoder<T>): Decoder<Map<string, T>>;
|
|
|
370
370
|
* Accepts and returns `Date` instances.
|
|
371
371
|
*/
|
|
372
372
|
declare const date: Decoder<Date>;
|
|
373
|
+
/**
|
|
374
|
+
* Accepts and returns [ISO8601](https://en.wikipedia.org/wiki/ISO_8601)-formatted strings.
|
|
375
|
+
*/
|
|
376
|
+
declare const dateString: Decoder<string>;
|
|
373
377
|
/**
|
|
374
378
|
* Accepts [ISO8601](https://en.wikipedia.org/wiki/ISO_8601)-formatted strings,
|
|
375
379
|
* returns them as `Date` instances.
|
|
@@ -664,4 +668,4 @@ declare function taggedUnion<O extends Record<string, Decoder<unknown>>>(field:
|
|
|
664
668
|
*/
|
|
665
669
|
declare function select<T, D extends Decoder<unknown>>(scout: Decoder<T>, selectFn: (result: T) => D): Decoder<DecoderType<D>>;
|
|
666
670
|
|
|
667
|
-
export { type DecodeResult, type Decoder, type DecoderType, type Err, type Formatter, type JSONArray, type JSONObject, type JSONValue, type Ok, type Result, type Scalar, type SizeOptions, always, anyNumber, array, bigint, boolean, constant, date, datelike, decimal, define, dict, either, email, endsWith, enum_, err, exact, fail, formatInline, formatShort, hardcoded, hexadecimal, httpsUrl, identifier, inexact, instanceOf, integer, iso8601, json, jsonArray, jsonObject, lazy, mapping, maybe, mixed, nanoid, never, nonEmptyArray, nonEmptyString, null_, nullable, nullish, number, numeric, object, ok, oneOf, optional, poja, pojo, positiveInteger, positiveNumber, prep, record, regex, select, set, setFromArray, startsWith, string, taggedUnion, truthy, tuple, undefined_, unknown, url, uuid, uuidv1, uuidv4 };
|
|
671
|
+
export { type DecodeResult, type Decoder, type DecoderType, type Err, type Formatter, type JSONArray, type JSONObject, type JSONValue, type Ok, type Result, type Scalar, type SizeOptions, always, anyNumber, array, bigint, boolean, constant, date, dateString, datelike, decimal, define, dict, either, email, endsWith, enum_, err, exact, fail, formatInline, formatShort, hardcoded, hexadecimal, httpsUrl, identifier, inexact, instanceOf, integer, iso8601, json, jsonArray, jsonObject, lazy, mapping, maybe, mixed, nanoid, never, nonEmptyArray, nonEmptyString, null_, nullable, nullish, number, numeric, object, ok, oneOf, optional, poja, pojo, positiveInteger, positiveNumber, prep, record, regex, select, set, setFromArray, startsWith, string, taggedUnion, truthy, tuple, undefined_, unknown, url, uuid, uuidv1, uuidv4 };
|
package/dist/index.js
CHANGED
|
@@ -114,7 +114,7 @@ function indent(s, prefix = INDENT) {
|
|
|
114
114
|
}
|
|
115
115
|
var quotePattern = /'/g;
|
|
116
116
|
function quote(value) {
|
|
117
|
-
return typeof value === "string" ? "'" + value.replace(quotePattern, "\\'") + "'" : JSON.stringify(value);
|
|
117
|
+
return typeof value === "string" ? "'" + value.replace(quotePattern, "\\'") + "'" : value === void 0 ? "undefined" : JSON.stringify(value);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
// src/core/format.ts
|
|
@@ -613,9 +613,9 @@ function either(...decoders) {
|
|
|
613
613
|
}
|
|
614
614
|
function oneOf(constants) {
|
|
615
615
|
return define((blob, ok2, err2) => {
|
|
616
|
-
const
|
|
617
|
-
if (
|
|
618
|
-
return ok2(
|
|
616
|
+
const index = constants.indexOf(blob);
|
|
617
|
+
if (index !== -1) {
|
|
618
|
+
return ok2(constants[index]);
|
|
619
619
|
}
|
|
620
620
|
return err2(`Must be one of ${constants.map((value) => quote(value)).join(", ")}`);
|
|
621
621
|
});
|
|
@@ -753,7 +753,7 @@ function bySizeOptions(options) {
|
|
|
753
753
|
}
|
|
754
754
|
|
|
755
755
|
// src/strings.ts
|
|
756
|
-
var url_re = /^([A-Za-z]{
|
|
756
|
+
var url_re = /^([A-Za-z]{2,12}(?:[+][A-Za-z]{2,12})?):\/\/(?:([-;:&=+$,\w]+)@)?(?:([A-Za-z0-9.-]+)(?::([0-9]{2,5}))?)(\/(?:[-+~%/.,\w]*)?(?:\?[-+=&;%@.,/\w]*)?(?:#[.,!/\w]*)?)?$/;
|
|
757
757
|
var string = define(
|
|
758
758
|
(blob, ok2, err2) => isString(blob) ? ok2(blob) : err2("Must be string")
|
|
759
759
|
);
|
|
@@ -872,6 +872,7 @@ export {
|
|
|
872
872
|
boolean,
|
|
873
873
|
constant,
|
|
874
874
|
date,
|
|
875
|
+
dateString,
|
|
875
876
|
datelike,
|
|
876
877
|
decimal,
|
|
877
878
|
define,
|