inferred-types 0.51.3 → 0.51.5
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 +76 -2
- package/dist/index.js +68 -2
- package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
- package/dist/runtime/errors/KindError.d.ts.map +1 -1
- package/dist/runtime/errors/KindError.js +2 -2
- package/dist/runtime/literals/stripChars.d.ts +2 -2
- package/dist/runtime/literals/stripChars.d.ts.map +1 -1
- package/dist/runtime/literals/stripChars.js +1 -1
- package/dist/runtime/literals/toKebabCase.d.ts.map +1 -1
- package/dist/runtime/literals/toKebabCase.js +1 -1
- package/dist/runtime/tsconfig.tsbuildinfo +1 -1
- package/dist/runtime/type-conversion/index.d.ts +1 -0
- package/dist/runtime/type-conversion/index.d.ts.map +1 -1
- package/dist/runtime/type-conversion/index.js +1 -0
- package/dist/runtime/type-conversion/stripParenthesis.d.ts +9 -0
- package/dist/runtime/type-conversion/stripParenthesis.d.ts.map +1 -0
- package/dist/runtime/type-conversion/stripParenthesis.js +10 -0
- package/dist/runtime/type-guards/date-time/index.d.ts +4 -0
- package/dist/runtime/type-guards/date-time/index.d.ts.map +1 -0
- package/dist/runtime/type-guards/date-time/index.js +3 -0
- package/dist/runtime/type-guards/date-time/isDateTime.d.ts +3 -0
- package/dist/runtime/type-guards/date-time/isDateTime.d.ts.map +1 -0
- package/dist/runtime/type-guards/date-time/isDateTime.js +4 -0
- package/dist/runtime/type-guards/date-time/isIsoDate.d.ts +23 -0
- package/dist/runtime/type-guards/date-time/isIsoDate.d.ts.map +1 -0
- package/dist/runtime/type-guards/date-time/isIsoDate.js +53 -0
- package/dist/runtime/type-guards/date-time/isIsoTime.d.ts +8 -0
- package/dist/runtime/type-guards/date-time/isIsoTime.d.ts.map +1 -0
- package/dist/runtime/type-guards/date-time/isIsoTime.js +25 -0
- package/dist/runtime/type-guards/index.d.ts +1 -0
- package/dist/runtime/type-guards/index.d.ts.map +1 -1
- package/dist/runtime/type-guards/index.js +1 -0
- package/dist/types/errors/KindError.d.ts +2 -2
- package/dist/types/errors/KindError.d.ts.map +1 -1
- package/dist/types/string-literals/DateTime.d.ts +59 -1
- package/dist/types/string-literals/DateTime.d.ts.map +1 -1
- package/dist/types/string-literals/casing/KebabCase.d.ts +7 -5
- package/dist/types/string-literals/casing/KebabCase.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/type-conversion/StripChars.d.ts +1 -1
- package/dist/types/type-conversion/StripChars.d.ts.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-conversion/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-conversion/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StripSurround, Trim } from "inferred-types/dist/types/index";
|
|
2
|
+
/**
|
|
3
|
+
* **stripParenthesis**`(val)`
|
|
4
|
+
*
|
|
5
|
+
* A runtime utility which strips leading and trailing whitespace as well
|
|
6
|
+
* as any leading or trailing parenthesis characters.
|
|
7
|
+
*/
|
|
8
|
+
export declare const stripParenthesis: <T extends string>(val: T) => Trim<StripSurround<Trim<T>, "(" | ")">>;
|
|
9
|
+
//# sourceMappingURL=stripParenthesis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripParenthesis.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-conversion/stripParenthesis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAA;AAGrE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,CAAC,SAAS,MAAM,OACX,CAAC,KACwE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAC,GAAG,CAAC,CACnH,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { stripLeading, stripTrailing } from "inferred-types/dist/runtime/index";
|
|
2
|
+
/**
|
|
3
|
+
* **stripParenthesis**`(val)`
|
|
4
|
+
*
|
|
5
|
+
* A runtime utility which strips leading and trailing whitespace as well
|
|
6
|
+
* as any leading or trailing parenthesis characters.
|
|
7
|
+
*/
|
|
8
|
+
export const stripParenthesis = (val) => {
|
|
9
|
+
return stripTrailing(stripLeading(val.trim(), "("), ")").trim();
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/date-time/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDateTime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/date-time/isDateTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIlE,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,GAAG,IAAI,eAEnD,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Iso8601Date } from "inferred-types/dist/types/index";
|
|
2
|
+
/**
|
|
3
|
+
* Type guard which validates whether the passed in `val` is an ISO 8601 date
|
|
4
|
+
* representation with an explicit `-` seperator between units (YYYY-MM-DD).
|
|
5
|
+
*
|
|
6
|
+
* **Related:** `isIsoDate`, `isIsoImplictDate`
|
|
7
|
+
*/
|
|
8
|
+
export declare const isIsoExplicitDate: (val: unknown) => val is Iso8601Date<"explicit">;
|
|
9
|
+
/**
|
|
10
|
+
* Type guard which validates whether the passed in `val` is an ISO 8601 date
|
|
11
|
+
* representation without an explicit `-` seperator between units (YYYYMMDD).
|
|
12
|
+
*
|
|
13
|
+
* **Related:** `isIsoDate`, `isIsoExplictDate`
|
|
14
|
+
*/
|
|
15
|
+
export declare const isIsoImplicitDate: (val: unknown) => val is Iso8601Date<"implicit">;
|
|
16
|
+
/**
|
|
17
|
+
* Type guard which validates whether the passed in `val` is an ISO 8601 date
|
|
18
|
+
* representation.
|
|
19
|
+
*
|
|
20
|
+
* **Related:** `isIsoExplictDate`, `isIsoImplictDate`
|
|
21
|
+
*/
|
|
22
|
+
export declare const isIsoDate: (val: unknown) => val is Iso8601Date<"both">;
|
|
23
|
+
//# sourceMappingURL=isIsoDate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isIsoDate.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/date-time/isIsoDate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,GAAG,IAAI,WAAW,CAAC,UAAU,CAY7E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,GAAG,IAAI,WAAW,CAAC,UAAU,CAY7E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,QAAS,OAAO,KAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAQjE,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isString, isNumberLike } from "src/runtime/index";
|
|
2
|
+
/**
|
|
3
|
+
* Type guard which validates whether the passed in `val` is an ISO 8601 date
|
|
4
|
+
* representation with an explicit `-` seperator between units (YYYY-MM-DD).
|
|
5
|
+
*
|
|
6
|
+
* **Related:** `isIsoDate`, `isIsoImplictDate`
|
|
7
|
+
*/
|
|
8
|
+
export const isIsoExplicitDate = (val) => {
|
|
9
|
+
if (isString(val)) {
|
|
10
|
+
const parts = val.split("-").map(i => Number(i));
|
|
11
|
+
return val.includes("-")
|
|
12
|
+
? val.split("-").every(i => isNumberLike(i))
|
|
13
|
+
? parts[0] >= 0 && parts[0] <= 9999 && parts[1] >= 1 && parts[1] <= 12 && parts[2] >= 1 && parts[2] <= 31
|
|
14
|
+
: false
|
|
15
|
+
: false;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Type guard which validates whether the passed in `val` is an ISO 8601 date
|
|
23
|
+
* representation without an explicit `-` seperator between units (YYYYMMDD).
|
|
24
|
+
*
|
|
25
|
+
* **Related:** `isIsoDate`, `isIsoExplictDate`
|
|
26
|
+
*/
|
|
27
|
+
export const isIsoImplicitDate = (val) => {
|
|
28
|
+
if (isString(val) && val.length === 8 && isNumberLike(val)) {
|
|
29
|
+
const year = Number(val.slice(0, 4));
|
|
30
|
+
const month = Number(val.slice(4, 6));
|
|
31
|
+
const date = Number(val.slice(6, 8));
|
|
32
|
+
return (year >= 0 && year <= 9999 && month >= 1 && month <= 12 && date >= 1 && date <= 31);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Type guard which validates whether the passed in `val` is an ISO 8601 date
|
|
40
|
+
* representation.
|
|
41
|
+
*
|
|
42
|
+
* **Related:** `isIsoExplictDate`, `isIsoImplictDate`
|
|
43
|
+
*/
|
|
44
|
+
export const isIsoDate = (val) => {
|
|
45
|
+
if (isString(val)) {
|
|
46
|
+
return val.includes("-")
|
|
47
|
+
? isIsoExplicitDate(val)
|
|
48
|
+
: isIsoImplicitDate(val);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Iso8601Time } from "inferred-types/dist/types/index";
|
|
2
|
+
export declare const isIsoExplicitTime: (val: unknown) => val is Iso8601Time<"explicit">;
|
|
3
|
+
export declare const isIsoImplicitTime: (val: unknown) => val is Iso8601Time<"implicit">;
|
|
4
|
+
/**
|
|
5
|
+
* Type guard which validates that the passed in `val` is a valid ISO-8601 time.
|
|
6
|
+
*/
|
|
7
|
+
export declare const isIsoTime: (val: unknown) => val is Iso8601Time<"both">;
|
|
8
|
+
//# sourceMappingURL=isIsoTime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isIsoTime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/date-time/isIsoTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,GAAG,IAAI,WAAW,CAAC,UAAU,CAO7E,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,GAAG,IAAI,WAAW,CAAC,UAAU,CAO7E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAS,OAAO,KAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAEjE,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { isString, stripAfter, stripLeading } from "src/runtime/index";
|
|
2
|
+
export const isIsoExplicitTime = (val) => {
|
|
3
|
+
if (isString(val)) {
|
|
4
|
+
const parts = stripLeading(stripAfter(val, "Z"), "T").split(/[:.]/).map(i => Number(i));
|
|
5
|
+
return val.startsWith("T") && val.includes(":") && val.split(":").length === 3 && parts[0] >= 0 && parts[0] <= 23 && parts[1] >= 0 && parts[1] <= 59;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
export const isIsoImplicitTime = (val) => {
|
|
12
|
+
if (isString(val)) {
|
|
13
|
+
const parts = stripAfter(val, "Z").split(/[:.]/).map(i => Number(i));
|
|
14
|
+
return val.includes(":") && val.split(":").length === 3 && parts[0] >= 0 && parts[0] <= 23 && parts[1] >= 0 && parts[1] <= 59;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Type guard which validates that the passed in `val` is a valid ISO-8601 time.
|
|
22
|
+
*/
|
|
23
|
+
export const isIsoTime = (val) => {
|
|
24
|
+
return isIsoExplicitTime(val) || isIsoImplicitTime(val);
|
|
25
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAE1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAE1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PascalCase, KebabCase, EmptyObject, Narrowable, MergeObjects } from "inferred-types/dist/types/index";
|
|
1
|
+
import { PascalCase, KebabCase, EmptyObject, Narrowable, MergeObjects, StripChars } from "inferred-types/dist/types/index";
|
|
2
2
|
import { StackFrame } from "error-stack-parser-es";
|
|
3
3
|
/**
|
|
4
4
|
* **KindError**
|
|
@@ -27,7 +27,7 @@ import { StackFrame } from "error-stack-parser-es";
|
|
|
27
27
|
export interface KindError<TKind extends string, TContext extends Record<string, unknown> = EmptyObject> extends Error {
|
|
28
28
|
__kind: "KindError";
|
|
29
29
|
name: PascalCase<TKind>;
|
|
30
|
-
kind: KebabCase<TKind
|
|
30
|
+
kind: KebabCase<StripChars<TKind, "<" | ">" | "[" | "]" | "(" | ")">>;
|
|
31
31
|
file?: string;
|
|
32
32
|
line?: number;
|
|
33
33
|
col?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KindError.d.ts","sourceRoot":"","sources":["../../../src/types/errors/KindError.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"KindError.d.ts","sourceRoot":"","sources":["../../../src/types/errors/KindError.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,SAAS,CACxB,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CACtD,SAAQ,KAAK;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAC,GAAG,GAAE,GAAG,GAAE,GAAG,GAAE,GAAG,GAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAChC,EAAE,SAAS,UAAU,GAAG,UAAU,IAChC,CACF,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAClC,CAAC,SAAS,UAAU,EAEpB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,KACf,SAAS,CACZ,KAAK,EACL,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC9B,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { DateSeparator, HoursMinutes, HoursMinutesSeconds, TZ, Time, YMD, TypeRequired, TimeNomenclature, TimeResolution } from "inferred-types/dist/types/index";
|
|
1
|
+
import { DateSeparator, HoursMinutes, HoursMinutesSeconds, TZ, Time, YMD, TypeRequired, TimeNomenclature, TimeResolution, NumericChar, NumericCharZeroToFive } from "inferred-types/dist/types/index";
|
|
2
|
+
/**
|
|
3
|
+
* The ISO8601 standard means of representing a _timezone_. `Z` by itself represents UTC.
|
|
4
|
+
*/
|
|
5
|
+
export type Timezone = `Z${"+" | "-"}${number}` | `Z${"+" | "-"}${number}:${number}` | "Z";
|
|
2
6
|
/**
|
|
3
7
|
* **DateTimeMinutes**
|
|
4
8
|
*
|
|
@@ -23,6 +27,59 @@ export type DateTime<TResolution extends TimeResolution = "HH:MM:SS", TNomenclat
|
|
|
23
27
|
timezone: TTimezone;
|
|
24
28
|
strength: "simple";
|
|
25
29
|
}>}`;
|
|
30
|
+
type IsoExplicitness = "both" | "explicit" | "implicit";
|
|
31
|
+
type Month = `0${NumericChar}` | `10` | `11` | `12`;
|
|
32
|
+
type Date = `${"0" | "1" | "2"}${NumericChar}` | "30" | "31";
|
|
33
|
+
/**
|
|
34
|
+
* A calendar date -- by the ISO-8601 standard -- must be represented as:
|
|
35
|
+
*
|
|
36
|
+
* 1. `YYYY-MM-DD`, or
|
|
37
|
+
* 2. `YYYYMMDD`
|
|
38
|
+
*
|
|
39
|
+
* You can use the generic `T` to choose whether you want to use the explicit, implicit, or
|
|
40
|
+
* allow both formats for the date.
|
|
41
|
+
*/
|
|
42
|
+
export type Iso8601Date<T extends IsoExplicitness = "explicit"> = T extends "explicit" ? `${number}-${Month}-${Date}` : T extends "implicit" ? `${number}${Month}${Date}` : `${number}-${Month}-${Date}` | `${number}${Month}${Date}`;
|
|
43
|
+
/**
|
|
44
|
+
* **Iso8601Year**
|
|
45
|
+
*
|
|
46
|
+
* A year represented by the ISO-8601 standard. It is represented as either:
|
|
47
|
+
*
|
|
48
|
+
* 1. `YYYY` (the standard way)
|
|
49
|
+
* 2. `+`/`-` followed by `YYYYY` for years beyond the range of 0000 and 9999
|
|
50
|
+
*/
|
|
51
|
+
export type Iso8601Year = `${NumericChar}${NumericChar}${NumericChar}${NumericChar}` | `${"+" | "-"}${number}`;
|
|
52
|
+
type IsoTimeSymbol<T extends IsoExplicitness> = T extends "both" ? "T" | "" : T extends "explicit" ? "T" : "";
|
|
53
|
+
type IsoHour = `${"0" | "1" | "2"}${NumericChar}`;
|
|
54
|
+
type IsoMonth = `${NumericCharZeroToFive}${NumericChar}`;
|
|
55
|
+
/**
|
|
56
|
+
* **Iso8601Time**`<[TExplicit], [TZ]>`
|
|
57
|
+
*
|
|
58
|
+
* The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard's representation of a **time**.
|
|
59
|
+
*
|
|
60
|
+
* This allows for the following structures:
|
|
61
|
+
*
|
|
62
|
+
* - `[hh][mm]`
|
|
63
|
+
* - `[hh][mm][ss]`
|
|
64
|
+
* - `[hh][mm][ss].[mmm]`
|
|
65
|
+
*
|
|
66
|
+
* The `TExplicit` generic can express whether the leading `T` is required as it is in the _explicit_ form. This generic
|
|
67
|
+
* can take any of the following values: `explicit`, `implicit` or (by default) `both`.
|
|
68
|
+
*
|
|
69
|
+
* A time can express a _timezone_ along with the numeric value. A time with a timezone
|
|
70
|
+
*/
|
|
71
|
+
export type Iso8601Time<TExplicit extends IsoExplicitness = "both", TZ extends Timezone | "" = ""> = `${IsoTimeSymbol<TExplicit>}${IsoHour}:${IsoMonth}${TZ}` | `${IsoTimeSymbol<TExplicit>}${IsoHour}:${IsoMonth}:${number}${TZ}` | `${IsoTimeSymbol<TExplicit>}${IsoHour}:${IsoMonth}:${number}.${number}${TZ}`;
|
|
72
|
+
/**
|
|
73
|
+
* **Iso8601DateTime**`<[TExplicit],[TZ]>`
|
|
74
|
+
*
|
|
75
|
+
* A strongly typed [ISO 8601]() representation of a DateTime.
|
|
76
|
+
*
|
|
77
|
+
* - by default it enforces the "explicit" syntaxes used most commonly in the standard
|
|
78
|
+
* but you can change `TExplicit` to moodify this default.
|
|
79
|
+
* - by default, the timezone is considered optional but you can adjust this with the `TZ`
|
|
80
|
+
* generic.
|
|
81
|
+
*/
|
|
82
|
+
export type Iso8601DateTime<TZ extends Timezone | "" = Timezone | ""> = `${number}-${number}-${number}${Iso8601Time<"explicit">}${TZ}`;
|
|
26
83
|
/**
|
|
27
84
|
* **Iso8601**<TStrength>
|
|
28
85
|
*
|
|
@@ -33,4 +90,5 @@ export type DateTime<TResolution extends TimeResolution = "HH:MM:SS", TNomenclat
|
|
|
33
90
|
* - a timezone is optional by default but can be isolated to "required" or "excluded"
|
|
34
91
|
*/
|
|
35
92
|
export type Iso8601<TTimezone extends TypeRequired = "optional"> = `${number}-${number}-${number}T${number}:${number}:${number}.${number}${TZ<TTimezone>}`;
|
|
93
|
+
export {};
|
|
36
94
|
//# sourceMappingURL=DateTime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/DateTime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,EAAE,EACF,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,gBAAgB,EAChB,cAAc,
|
|
1
|
+
{"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/DateTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { LeftWhitespace, Replace, RightWhitespace, Trim, Concat, DashUppercase, LowerAllCaps } from "inferred-types/dist/types/index";
|
|
2
|
+
type Process<TString extends string, TPreserve extends boolean = false> = TPreserve extends true ? Concat<[
|
|
3
|
+
LeftWhitespace<TString>,
|
|
4
|
+
KebabCase<TString, false>,
|
|
5
|
+
RightWhitespace<TString>
|
|
6
|
+
]> : string extends TString ? string : DashUppercase<Trim<LowerAllCaps<TString>>> extends `${infer Begin}${"_" | " "}${infer Rest}` ? KebabCase<`${Lowercase<Begin>}-${Rest}`> : Replace<Lowercase<DashUppercase<Uncapitalize<Trim<LowerAllCaps<TString>>>>>, "--", "-">;
|
|
2
7
|
/**
|
|
3
8
|
* **KebabCase**`<TString,TPreserve>`
|
|
4
9
|
*
|
|
@@ -14,9 +19,6 @@ import { LeftWhitespace, Replace, RightWhitespace, Trim, Concat, DashUppercase,
|
|
|
14
19
|
* type Dash = Dasherize<"\n foo bar \t">;
|
|
15
20
|
* ```
|
|
16
21
|
*/
|
|
17
|
-
export type KebabCase<TString extends string, TPreserve extends boolean = false> = TPreserve extends
|
|
18
|
-
|
|
19
|
-
KebabCase<TString, false>,
|
|
20
|
-
RightWhitespace<TString>
|
|
21
|
-
]> : string extends TString ? string : DashUppercase<Trim<LowerAllCaps<TString>>> extends `${infer Begin}${"_" | " "}${infer Rest}` ? KebabCase<`${Lowercase<Begin>}-${Rest}`> : Replace<Lowercase<DashUppercase<Uncapitalize<Trim<LowerAllCaps<TString>>>>>, "--", "-">;
|
|
22
|
+
export type KebabCase<TString extends string, TPreserve extends boolean = false> = Process<TString, TPreserve> extends string ? Process<TString, TPreserve> : never;
|
|
23
|
+
export {};
|
|
22
24
|
//# sourceMappingURL=KebabCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KebabCase.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/casing/KebabCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,eAAe,EACf,IAAI,EACJ,MAAM,EACN,aAAa,EACb,YAAY,EACb,MAAM,iCAAiC,CAAA;AAGxC
|
|
1
|
+
{"version":3,"file":"KebabCase.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/casing/KebabCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,eAAe,EACf,IAAI,EACJ,MAAM,EACN,aAAa,EACb,YAAY,EACb,MAAM,iCAAiC,CAAA;AAGxC,KAAK,OAAO,CACZ,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,OAAO,GAAG,KAAK,IAC7B,SAAS,SAAS,IAAI,GAExB,MAAM,CAAC;IACL,cAAc,CAAC,OAAO,CAAC;IACvB,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;IACzB,eAAe,CAAC,OAAO,CAAC;CACzB,CAAC,GAGF,MAAM,SAAS,OAAO,GAClB,MAAM,GACN,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,IAAI,EAAE,GAC1F,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,GACxC,OAAO,CACL,SAAS,CACP,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACzD,EACD,IAAI,EAAE,GAAG,CACV,CAAC;AAEV;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,SAAS,CACnB,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,OAAO,GAAG,KAAK,IAC/B,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,MAAM,GAC5C,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,GAC3B,KAAK,CAAC"}
|