inferred-types 0.52.5 → 0.52.7

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.
Files changed (125) hide show
  1. package/dist/index.cjs +50 -7
  2. package/dist/index.js +49 -7
  3. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  4. package/dist/runtime/css/createCssKeyframe.d.ts +15 -0
  5. package/dist/runtime/css/createCssKeyframe.d.ts.map +1 -0
  6. package/dist/runtime/css/createCssKeyframe.js +35 -0
  7. package/dist/runtime/css/index.d.ts +2 -0
  8. package/dist/runtime/css/index.d.ts.map +1 -0
  9. package/dist/runtime/css/index.js +1 -0
  10. package/dist/runtime/dictionary/entries.d.ts +6 -3
  11. package/dist/runtime/dictionary/entries.d.ts.map +1 -1
  12. package/dist/runtime/dictionary/entries.js +1 -2
  13. package/dist/runtime/dictionary/keysOf.d.ts +1 -1
  14. package/dist/runtime/dictionary/keysOf.d.ts.map +1 -1
  15. package/dist/runtime/index.d.ts +1 -0
  16. package/dist/runtime/index.d.ts.map +1 -1
  17. package/dist/runtime/index.js +1 -0
  18. package/dist/runtime/lists/index.d.ts +1 -1
  19. package/dist/runtime/lists/index.d.ts.map +1 -1
  20. package/dist/runtime/lists/index.js +1 -1
  21. package/dist/runtime/lists/{join.d.ts → joinWith.d.ts} +1 -1
  22. package/dist/runtime/lists/joinWith.d.ts.map +1 -0
  23. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  24. package/dist/types/kv/KeyValue.d.ts +5 -9
  25. package/dist/types/kv/KeyValue.d.ts.map +1 -1
  26. package/dist/types/lists/Slice.d.ts +1 -1
  27. package/dist/types/lists/Slice.d.ts.map +1 -1
  28. package/dist/types/string-literals/character-sets/css/absolute.d.ts +54 -0
  29. package/dist/types/string-literals/character-sets/css/absolute.d.ts.map +1 -0
  30. package/dist/types/string-literals/character-sets/css/align.d.ts +15 -0
  31. package/dist/types/string-literals/character-sets/css/align.d.ts.map +1 -0
  32. package/dist/types/string-literals/character-sets/css/align.js +1 -0
  33. package/dist/types/string-literals/character-sets/css/animation.d.ts +46 -0
  34. package/dist/types/string-literals/character-sets/css/animation.d.ts.map +1 -0
  35. package/dist/types/string-literals/character-sets/css/animation.js +1 -0
  36. package/dist/types/string-literals/character-sets/css/background.d.ts +17 -0
  37. package/dist/types/string-literals/character-sets/css/background.d.ts.map +1 -0
  38. package/dist/types/string-literals/character-sets/css/background.js +1 -0
  39. package/dist/types/string-literals/character-sets/css/border.d.ts +201 -0
  40. package/dist/types/string-literals/character-sets/css/border.d.ts.map +1 -0
  41. package/dist/types/string-literals/character-sets/css/border.js +1 -0
  42. package/dist/types/string-literals/character-sets/css/box.d.ts +18 -0
  43. package/dist/types/string-literals/character-sets/css/box.d.ts.map +1 -0
  44. package/dist/types/string-literals/character-sets/css/box.js +1 -0
  45. package/dist/types/string-literals/character-sets/css/break.d.ts +12 -0
  46. package/dist/types/string-literals/character-sets/css/break.d.ts.map +1 -0
  47. package/dist/types/string-literals/character-sets/css/break.js +1 -0
  48. package/dist/types/string-literals/character-sets/css/color.d.ts +2 -1
  49. package/dist/types/string-literals/character-sets/css/color.d.ts.map +1 -1
  50. package/dist/types/string-literals/character-sets/css/definition.d.ts +181 -0
  51. package/dist/types/string-literals/character-sets/css/definition.d.ts.map +1 -0
  52. package/dist/types/string-literals/character-sets/css/definition.js +1 -0
  53. package/dist/types/string-literals/character-sets/css/display-position.d.ts +2 -2
  54. package/dist/types/string-literals/character-sets/css/display-position.d.ts.map +1 -1
  55. package/dist/types/string-literals/character-sets/css/font.d.ts +75 -0
  56. package/dist/types/string-literals/character-sets/css/font.d.ts.map +1 -0
  57. package/dist/types/string-literals/character-sets/css/font.js +1 -0
  58. package/dist/types/string-literals/character-sets/css/functions.d.ts +1 -1
  59. package/dist/types/string-literals/character-sets/css/functions.d.ts.map +1 -1
  60. package/dist/types/string-literals/character-sets/css/index.d.ts +20 -1
  61. package/dist/types/string-literals/character-sets/css/index.d.ts.map +1 -1
  62. package/dist/types/string-literals/character-sets/css/index.js +20 -1
  63. package/dist/types/string-literals/character-sets/css/justify.d.ts +15 -0
  64. package/dist/types/string-literals/character-sets/css/justify.d.ts.map +1 -0
  65. package/dist/types/string-literals/character-sets/css/justify.js +1 -0
  66. package/dist/types/string-literals/character-sets/css/keyframe.d.ts +8 -0
  67. package/dist/types/string-literals/character-sets/css/keyframe.d.ts.map +1 -0
  68. package/dist/types/string-literals/character-sets/css/keyframe.js +1 -0
  69. package/dist/types/string-literals/character-sets/css/margin.d.ts +28 -0
  70. package/dist/types/string-literals/character-sets/css/margin.d.ts.map +1 -0
  71. package/dist/types/string-literals/character-sets/css/margin.js +2 -0
  72. package/dist/types/string-literals/character-sets/css/offset.d.ts +21 -0
  73. package/dist/types/string-literals/character-sets/css/offset.d.ts.map +1 -0
  74. package/dist/types/string-literals/character-sets/css/offset.js +1 -0
  75. package/dist/types/string-literals/character-sets/css/outline.d.ts +21 -0
  76. package/dist/types/string-literals/character-sets/css/outline.d.ts.map +1 -0
  77. package/dist/types/string-literals/character-sets/css/outline.js +1 -0
  78. package/dist/types/string-literals/character-sets/css/overflow.d.ts +25 -2
  79. package/dist/types/string-literals/character-sets/css/overflow.d.ts.map +1 -1
  80. package/dist/types/string-literals/character-sets/css/padding.d.ts +27 -0
  81. package/dist/types/string-literals/character-sets/css/padding.d.ts.map +1 -0
  82. package/dist/types/string-literals/character-sets/css/padding.js +2 -0
  83. package/dist/types/string-literals/character-sets/css/place.d.ts +15 -0
  84. package/dist/types/string-literals/character-sets/css/place.d.ts.map +1 -0
  85. package/dist/types/string-literals/character-sets/css/place.js +1 -0
  86. package/dist/types/string-literals/character-sets/css/props.d.ts +44 -2
  87. package/dist/types/string-literals/character-sets/css/props.d.ts.map +1 -1
  88. package/dist/types/string-literals/character-sets/css/stroke.d.ts +17 -0
  89. package/dist/types/string-literals/character-sets/css/stroke.d.ts.map +1 -0
  90. package/dist/types/string-literals/character-sets/css/stroke.js +1 -0
  91. package/dist/types/string-literals/character-sets/css/text.d.ts +46 -0
  92. package/dist/types/string-literals/character-sets/css/text.d.ts.map +1 -0
  93. package/dist/types/string-literals/character-sets/css/text.js +1 -0
  94. package/dist/types/string-literals/character-sets/css/transform.d.ts +19 -0
  95. package/dist/types/string-literals/character-sets/css/transform.d.ts.map +1 -0
  96. package/dist/types/string-literals/character-sets/css/transform.js +1 -0
  97. package/dist/types/string-literals/geo/zip.d.ts +1 -1
  98. package/dist/types/string-literals/geo/zip.d.ts.map +1 -1
  99. package/dist/types/tsconfig.tsbuildinfo +1 -1
  100. package/dist/types/type-conversion/ObjectToCssString.d.ts +19 -0
  101. package/dist/types/type-conversion/ObjectToCssString.d.ts.map +1 -0
  102. package/dist/types/type-conversion/ObjectToCssString.js +1 -0
  103. package/dist/types/type-conversion/ObjectToJsString.d.ts +19 -0
  104. package/dist/types/type-conversion/ObjectToJsString.d.ts.map +1 -0
  105. package/dist/types/type-conversion/ObjectToJsString.js +1 -0
  106. package/dist/types/type-conversion/ObjectToJsonString.d.ts +18 -0
  107. package/dist/types/type-conversion/ObjectToJsonString.d.ts.map +1 -0
  108. package/dist/types/type-conversion/ObjectToJsonString.js +1 -0
  109. package/dist/types/type-conversion/ObjectToKeyframeString.d.ts +19 -0
  110. package/dist/types/type-conversion/ObjectToKeyframeString.d.ts.map +1 -0
  111. package/dist/types/type-conversion/ObjectToKeyframeString.js +1 -0
  112. package/dist/types/type-conversion/ObjectToTuple.d.ts +28 -0
  113. package/dist/types/type-conversion/ObjectToTuple.d.ts.map +1 -0
  114. package/dist/types/type-conversion/ObjectToTuple.js +1 -0
  115. package/dist/types/type-conversion/ToJsonValue.d.ts +14 -3
  116. package/dist/types/type-conversion/ToJsonValue.d.ts.map +1 -1
  117. package/dist/types/type-conversion/index.d.ts +5 -1
  118. package/dist/types/type-conversion/index.d.ts.map +1 -1
  119. package/dist/types/type-conversion/index.js +5 -1
  120. package/package.json +1 -1
  121. package/dist/runtime/lists/join.d.ts.map +0 -1
  122. package/dist/types/type-conversion/ObjectToKvDict.d.ts +0 -19
  123. package/dist/types/type-conversion/ObjectToKvDict.d.ts.map +0 -1
  124. /package/dist/runtime/lists/{join.js → joinWith.js} +0 -0
  125. /package/dist/types/{type-conversion/ObjectToKvDict.js → string-literals/character-sets/css/absolute.js} +0 -0
@@ -0,0 +1,19 @@
1
+ import { AnyObject, ExplicitlyEmptyObject, ObjectKey } from "base-types";
2
+ import { IsWideContainer } from "boolean-logic";
3
+ import { ObjectToTuple } from "./ObjectToTuple";
4
+ import { AsString } from "./AsString";
5
+ import { Join, Surround } from "string-literals";
6
+ type Prefix<T extends boolean> = T extends true ? "\n " : "";
7
+ type Process<T extends readonly Record<ObjectKey, any>[], E extends boolean> = Join<{
8
+ [K in keyof T]: T[K] extends Record<infer Key extends string, infer Value> ? `${Prefix<E>}${Key}: ${AsString<Value>}` : never;
9
+ }, "; ">;
10
+ /**
11
+ * **ObjectToCssString**`<T>`
12
+ *
13
+ * Converts a Javascript object into a CSS representation.
14
+ *
15
+ * **Related:** `ObjectToJsString`, `ObjectToJsonString`, `ObjectToTuple`
16
+ */
17
+ export type ObjectToCssString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process<ObjectToTuple<TObj, true>, false>, TExpand extends false ? "{ " : "{", TExpand extends false ? " }" : "\n}">;
18
+ export {};
19
+ //# sourceMappingURL=ObjectToCssString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectToCssString.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ObjectToCssString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAG,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAC7C,MAAM,GACN,EAAE,CAAC;AAEL,KAAK,OAAO,CACV,CAAC,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAC3C,CAAC,SAAS,OAAO,IACf,IAAI,CAAC;KACN,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,EAAC,MAAM,KAAK,CAAC,GACrE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,EAAE,GACxC,KAAK;CACV,EAAE,IAAI,CAAC,CAAC;AAGT;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAC3B,IAAI,SAAS,SAAS,EACtB,OAAO,SAAS,OAAO,GAAG,KAAK,IAC7B,IAAI,SAAS,qBAAqB,GACpC,IAAI,GACJ,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,MAAM,GACN,QAAQ,CACN,OAAO,CAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAG,KAAK,CAAC,EAC3C,OAAO,SAAS,KAAK,GAAG,IAAI,GAAG,GAAG,EAClC,OAAO,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CACrC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { AnyObject, ExplicitlyEmptyObject, ObjectKey } from "base-types";
2
+ import { IsWideContainer } from "boolean-logic";
3
+ import { ObjectToTuple } from "./ObjectToTuple";
4
+ import { AsString } from "./AsString";
5
+ import { Join, Surround } from "string-literals";
6
+ type Prefix<T extends boolean> = T extends true ? "\n " : "";
7
+ type Process<T extends readonly Record<ObjectKey, any>[], E extends boolean> = Join<{
8
+ [K in keyof T]: T[K] extends Record<infer Key extends string, infer Value> ? `${Prefix<E>}${Key}: ${Value extends string ? `"${Value}"` : `${AsString<Value>}`}` : never;
9
+ }, ", ">;
10
+ /**
11
+ * **ObjectToJsString**`<T>`
12
+ *
13
+ * Converts a Javascript object into a string representation.
14
+ *
15
+ * **Related:** `ObjectToCssString`, `ObjectToJsonString`, `ObjectToTuple`
16
+ */
17
+ export type ObjectToJsString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process<ObjectToTuple<TObj, true>, TExpand>, "{ ", " }">;
18
+ export {};
19
+ //# sourceMappingURL=ObjectToJsString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectToJsString.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ObjectToJsString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAG,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAC7C,MAAM,GACN,EAAE,CAAC;AAEL,KAAK,OAAO,CACV,CAAC,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAC3C,CAAC,SAAS,OAAO,IACf,IAAI,CAAC;KACN,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,EAAC,MAAM,KAAK,CAAC,GACrE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,SAAS,MAAM,GAAG,IAAI,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GACnF,KAAK;CACV,EAAE,IAAI,CAAC,CAAC;AAGT;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,SAAS,EACtB,OAAO,SAAS,OAAO,GAAG,KAAK,IAC7B,IAAI,SAAS,qBAAqB,GACpC,IAAI,GACJ,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,MAAM,GACN,QAAQ,CACN,OAAO,CAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAG,OAAO,CAAC,EAC7C,IAAI,EACJ,IAAI,CACL,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { AnyObject, ExplicitlyEmptyObject, ObjectKey } from "base-types";
2
+ import { IsWideContainer } from "boolean-logic";
3
+ import { ObjectToTuple } from "./ObjectToTuple";
4
+ import { AsString } from "./AsString";
5
+ import { Join, Surround } from "string-literals";
6
+ type Process<T extends readonly Record<ObjectKey, any>[]> = Join<{
7
+ [K in keyof T]: T[K] extends Record<infer Key extends string, infer Value> ? `${Surround<Key, `"`, `"`>}: ${Value extends string ? `"${Value}"` : `${AsString<Value>}`}` : never;
8
+ }, ", ">;
9
+ /**
10
+ * **ObjectToJsonString**`<T>`
11
+ *
12
+ * Converts a Javascript object into a JSON string representation.
13
+ *
14
+ * **Related:** `ObjectToCssString`, `ObjectToJsString`, `ObjectToTuple`
15
+ */
16
+ export type ObjectToJsonString<TObj extends AnyObject> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process<ObjectToTuple<TObj, true>>, "{ ", " }">;
17
+ export {};
18
+ //# sourceMappingURL=ObjectToJsonString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectToJsonString.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ObjectToJsonString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAG,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,OAAO,CACV,CAAC,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,IACzC,IAAI,CAAC;KACN,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,EAAC,MAAM,KAAK,CAAC,GACrE,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,MAAM,GAAG,IAAI,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAC3F,KAAK;CACV,EAAE,IAAI,CAAC,CAAC;AAGT;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAC5B,IAAI,SAAS,SAAS,IACpB,IAAI,SAAS,qBAAqB,GACpC,IAAI,GACJ,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,MAAM,GACN,QAAQ,CACN,OAAO,CAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAE,EACpC,IAAI,EACJ,IAAI,CACL,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { AnyObject, ExplicitlyEmptyObject, ObjectKey } from "base-types";
2
+ import { IsWideContainer } from "boolean-logic";
3
+ import { ObjectToTuple } from "./ObjectToTuple";
4
+ import { AsString } from "./AsString";
5
+ import { Join, Surround } from "string-literals";
6
+ type Prefix<T extends boolean> = T extends true ? "\n " : "";
7
+ type Process<T extends readonly Record<ObjectKey, any>[], E extends boolean> = Join<{
8
+ [K in keyof T]: T[K] extends Record<infer Key extends string, infer Value> ? Value extends AnyObject ? `${Prefix<E>}${Key} ${AsString<Value>}` : never : never;
9
+ }, "\n ">;
10
+ /**
11
+ * **ObjectToKeyframeString**`<T>`
12
+ *
13
+ * Converts a Javascript object into a CSS Keyframe representation.
14
+ *
15
+ * **Related:** `ObjectToJsString`, `ObjectToJsonString`, `ObjectToTuple`, `ObjectToCssString`
16
+ */
17
+ export type ObjectToKeyframeString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process<ObjectToTuple<TObj, true>, false>, TExpand extends false ? "{ " : "{\n ", TExpand extends false ? " }" : "\n}">;
18
+ export {};
19
+ //# sourceMappingURL=ObjectToKeyframeString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectToKeyframeString.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ObjectToKeyframeString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAG,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAC7C,MAAM,GACN,EAAE,CAAC;AAEL,KAAK,OAAO,CACV,CAAC,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAC3C,CAAC,SAAS,OAAO,IACf,IAAI,CAAC;KACN,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,EAAC,MAAM,KAAK,CAAC,GACrE,KAAK,SAAS,SAAS,GACpB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,GACxC,KAAK,GACP,KAAK;CACV,EAAE,MAAM,CAAC,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,CAChC,IAAI,SAAS,SAAS,EACtB,OAAO,SAAS,OAAO,GAAG,KAAK,IAC7B,IAAI,SAAS,qBAAqB,GACpC,IAAI,GACJ,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,MAAM,GACN,QAAQ,CACN,OAAO,CAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAG,KAAK,CAAC,EAC3C,OAAO,SAAS,KAAK,GAAG,IAAI,GAAG,OAAO,EACtC,OAAO,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CACrC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { AfterFirst, AnyObject, As, ExplicitlyEmptyObject, First, IsWideContainer, Keys, KeyValue, ObjectKey } from "inferred-types/types";
2
+ type Process<TSource extends AnyObject, TKeys extends readonly (ObjectKey & keyof TSource)[], TTuple extends readonly KeyValue[] = []> = [] extends TKeys ? TTuple : Process<TSource, AfterFirst<TKeys>, [
3
+ ...TTuple,
4
+ {
5
+ key: First<TKeys>;
6
+ value: TSource[First<TKeys>];
7
+ }
8
+ ]>;
9
+ type Compact<TSource extends AnyObject, TKeys extends readonly (ObjectKey & keyof TSource)[], TTuple extends readonly Record<ObjectKey, any>[] = []> = [] extends TKeys ? TTuple : Compact<TSource, AfterFirst<TKeys>, [
10
+ ...TTuple,
11
+ Record<First<TKeys>, TSource[First<TKeys>]>
12
+ ]>;
13
+ /**
14
+ * **ObjectToTuple**`<TObj,[TCompact]>`
15
+ *
16
+ * Type utility to convert an object to an array of object based key-value pairs.
17
+ *
18
+ * Example:
19
+ * ```ts
20
+ * // readonly [ {key: "foo", value: 1} ]
21
+ * type T = ObjectToTuple<{ foo: 1 }>
22
+ * // readonly [ { foo: 1 } ]
23
+ * type C = ObjectToTuple< foo: 1 }, true>;
24
+ * ```
25
+ */
26
+ export type ObjectToTuple<TObj extends AnyObject, TCompact extends boolean = false> = TObj extends ExplicitlyEmptyObject ? [] : IsWideContainer<TObj> extends true ? TCompact extends false ? KeyValue[] : Record<ObjectKey, any>[] : TCompact extends false ? Process<TObj, As<Keys<TObj>, readonly (ObjectKey & keyof TObj)[]>> : Compact<TObj, As<Keys<TObj>, readonly (ObjectKey & keyof TObj)[]>>;
27
+ export {};
28
+ //# sourceMappingURL=ObjectToTuple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectToTuple.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ObjectToTuple.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,EAAE,EACF,qBAAqB,EACrB,KAAK,EACL,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,KAAK,OAAO,CACV,OAAO,SAAS,SAAS,EACzB,KAAK,SAAS,SAAS,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,EACpD,MAAM,SAAS,SAAS,QAAQ,EAAE,GAAG,EAAE,IACrC,EAAE,SAAS,KAAK,GAClB,MAAM,GACN,OAAO,CACL,OAAO,EACP,UAAU,CAAC,KAAK,CAAC,EACjB;IAAE,GAAG,MAAM;IAAE;QAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;KAAE;CAAE,CACnE,CAAC;AAEJ,KAAK,OAAO,CACV,OAAO,SAAS,SAAS,EACzB,KAAK,SAAS,SAAS,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,EACpD,MAAM,SAAS,SAAS,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IACnD,EAAE,SAAS,KAAK,GAClB,MAAM,GACN,OAAO,CACL,OAAO,EACP,UAAU,CAAC,KAAK,CAAC,EACjB;IACE,GAAG,MAAM;IACT,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;CAC5C,CACF,CAAC;AAGJ;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,CACvB,IAAI,SAAS,SAAS,EACtB,QAAQ,SAAS,OAAO,GAAG,KAAK,IAC9B,IAAI,SAAS,qBAAqB,GACpC,EAAE,GACF,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,QAAQ,SAAS,KAAK,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,SAAS,EAAC,GAAG,CAAC,EAAE,GAC7D,QAAQ,SAAS,KAAK,GACpB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAE,CAAC,GACnE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAE,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,22 @@
1
- import { As, Join, Tuple } from "inferred-types/types";
1
+ import { As, Join, ToStringArray, Tuple } from "inferred-types/types";
2
2
  type AsJsonArray<T extends Tuple> = Join<[
3
3
  "[ ",
4
- ...T,
4
+ ...ToStringArray<T>,
5
5
  " ]"
6
6
  ]>;
7
+ /**
8
+ * **ToJsonValue**`<T>`
9
+ *
10
+ * Converts the value in `T` to a form appropriate for a
11
+ * JSON value.
12
+ *
13
+ * Note: all outputs are a _string_ but:
14
+ *
15
+ * - string are placed in double quotes
16
+ * - tuples are processed recursively
17
+ */
7
18
  export type ToJsonValue<T> = T extends string ? `"${T}"` : T extends number ? `${T}` : T extends boolean ? `${T}` : T extends undefined ? "undefined" : T extends null ? "null" : T extends Tuple ? AsJsonArray<As<{
8
19
  [K in keyof T]: ToJsonValue<T[K]>;
9
- }, Tuple>> : never;
20
+ }, string>> : never;
10
21
  export {};
11
22
  //# sourceMappingURL=ToJsonValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToJsonValue.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ToJsonValue.ts"],"names":[],"mappings":"AACA,OAAO,EACL,EAAE,EACF,IAAI,EACJ,KAAK,EACL,MAAM,sBAAsB,CAAC;AAG/B,KAAK,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CACtC;IACE,IAAI;IACJ,GAAG,CAAC;IACJ,IAAI;CACL,CACF,CAAC;AA6CF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC3C,IAAI,CAAC,GAAG,GACR,CAAC,SAAS,MAAM,GAChB,GAAG,CAAC,EAAE,GACN,CAAC,SAAS,OAAO,GACjB,GAAG,CAAC,EAAE,GACN,CAAC,SAAS,SAAS,GACnB,WAAW,GACX,CAAC,SAAS,IAAI,GACd,MAAM,GACN,CAAC,SAAS,KAAK,GACf,WAAW,CACT,EAAE,CAAC;KAAE,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAC,EAAE,KAAK,CAAC,CAC/C,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"ToJsonValue.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ToJsonValue.ts"],"names":[],"mappings":"AACA,OAAO,EACL,EAAE,EACF,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,sBAAsB,CAAC;AAG/B,KAAK,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CACtC;IACE,IAAI;IACJ,GAAG,aAAa,CAAC,CAAC,CAAC;IACnB,IAAI;CACL,CACF,CAAC;AAIF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACzC,IAAI,CAAC,GAAG,GACR,CAAC,SAAS,MAAM,GAChB,GAAG,CAAC,EAAE,GACN,CAAC,SAAS,OAAO,GACjB,GAAG,CAAC,EAAE,GACN,CAAC,SAAS,SAAS,GACnB,WAAW,GACX,CAAC,SAAS,IAAI,GACd,MAAM,GACN,CAAC,SAAS,KAAK,GACf,WAAW,CACT,EAAE,CAAC;KAAE,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAC,EAAE,MAAM,CAAC,CAChD,GACD,KAAK,CAAC"}
@@ -32,7 +32,11 @@ export * from "./LeftWhitespace";
32
32
  export * from "./Replace";
33
33
  export * from "./ReplaceAll";
34
34
  export * from "./RightWhitespace";
35
- export * from "./ObjectToKvDict";
35
+ export * from "./ObjectToTuple";
36
+ export * from "./ObjectToJsString";
37
+ export * from "./ObjectToJsonString";
38
+ export * from "./ObjectToCssString";
39
+ export * from "./ObjectToKeyframeString";
36
40
  export * from "./StringLength";
37
41
  export * from "./Trim";
38
42
  export * from "./TrimLeft";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/index.ts"],"names":[],"mappings":"AAOA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/index.ts"],"names":[],"mappings":"AAOA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAA"}
@@ -37,7 +37,11 @@ export * from "./LeftWhitespace";
37
37
  export * from "./Replace";
38
38
  export * from "./ReplaceAll";
39
39
  export * from "./RightWhitespace";
40
- export * from "./ObjectToKvDict";
40
+ export * from "./ObjectToTuple";
41
+ export * from "./ObjectToJsString";
42
+ export * from "./ObjectToJsonString";
43
+ export * from "./ObjectToCssString";
44
+ export * from "./ObjectToKeyframeString";
41
45
  export * from "./StringLength";
42
46
  export * from "./Trim";
43
47
  export * from "./TrimLeft";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inferred-types",
3
- "version": "0.52.5",
3
+ "version": "0.52.7",
4
4
  "description": "Functions which provide useful type inference on TS projects",
5
5
  "license": "MIT",
6
6
  "author": "Ken Snyder<ken@ken.net>",
@@ -1 +0,0 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/runtime/lists/join.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,MAAM,CAChB,KAAK,SAAS,MAAM,IAAI,CAAC,QAAQ,SAAS,KAAK,CAAC,MAAM,CAAC,EACvD,GAAG,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAC,KAAK,CAAC,CAAC;AAG9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,SAAS,MAAM,EAC3C,QAAQ,EAAE,KAAK,IAMP,QAAQ,SAAS,SAAS,MAAM,EAAE,YAC9B,QAAQ,KACjB,IAAI,CAAC,QAAQ,EAAC,KAAK,CAAC,CAIxB"}
@@ -1,19 +0,0 @@
1
- import { AnyObject } from "inferred-types/types";
2
- /**
3
- * **ObjectToKv**`<TObj>`
4
- *
5
- * Type utility to convert an object to an array of object based key-value pairs.
6
- *
7
- * Example:
8
- * ```ts
9
- * // readonly [ {key: "foo", value: 1} ]
10
- * type T = ObjectToKv<{ foo: 1 }>
11
- * ```
12
- */
13
- export type ObjectToKvDict<TObj extends AnyObject> = {
14
- [K in keyof TObj]: {
15
- key: K;
16
- value: TObj[K];
17
- };
18
- };
19
- //# sourceMappingURL=ObjectToKvDict.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectToKvDict.d.ts","sourceRoot":"","sources":["../../../src/types/type-conversion/ObjectToKvDict.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACV,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CACxB,IAAI,SAAS,SAAS,IACpB;KACD,CAAC,IAAI,MAAM,IAAI,GAAG;QAAC,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;KAAC;CAC5C,CAAC"}
File without changes