inferred-types 0.50.10 → 0.50.12

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 (58) hide show
  1. package/dist/constants/TypeTokens.d.ts +1 -0
  2. package/dist/constants/TypeTokens.d.ts.map +1 -1
  3. package/dist/constants/TypeTokens.js +6 -0
  4. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  5. package/dist/index.cjs +65 -13
  6. package/dist/index.js +62 -12
  7. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  8. package/dist/runtime/literals/identity.d.ts +2 -1
  9. package/dist/runtime/literals/identity.d.ts.map +1 -1
  10. package/dist/runtime/literals/identity.js +5 -1
  11. package/dist/runtime/runtime-types/asDefineObject.d.ts +4 -0
  12. package/dist/runtime/runtime-types/asDefineObject.d.ts.map +1 -0
  13. package/dist/runtime/runtime-types/asDefineObject.js +20 -0
  14. package/dist/runtime/runtime-types/asToken.d.ts +2 -3
  15. package/dist/runtime/runtime-types/asToken.d.ts.map +1 -1
  16. package/dist/runtime/runtime-types/asToken.js +18 -8
  17. package/dist/runtime/runtime-types/asType.d.ts +11 -2
  18. package/dist/runtime/runtime-types/asType.d.ts.map +1 -1
  19. package/dist/runtime/runtime-types/asType.js +22 -2
  20. package/dist/runtime/runtime-types/shape-helpers/singletons.d.ts.map +1 -1
  21. package/dist/runtime/runtime-types/shape-helpers/singletons.js +2 -0
  22. package/dist/runtime/runtime-types/tokens/createTypeToken.d.ts +1 -1
  23. package/dist/runtime/runtime-types/tokens/createTypeToken.d.ts.map +1 -1
  24. package/dist/runtime/runtime-types/tokens/createTypeToken.js +2 -2
  25. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  26. package/dist/runtime/type-guards/tokens/index.d.ts +2 -0
  27. package/dist/runtime/type-guards/tokens/index.d.ts.map +1 -1
  28. package/dist/runtime/type-guards/tokens/index.js +2 -0
  29. package/dist/runtime/type-guards/tokens/isDefineObject.d.ts +6 -0
  30. package/dist/runtime/type-guards/tokens/isDefineObject.d.ts.map +1 -0
  31. package/dist/runtime/type-guards/tokens/isDefineObject.js +12 -0
  32. package/dist/runtime/type-guards/tokens/isShapeCallback.d.ts +6 -0
  33. package/dist/runtime/type-guards/tokens/isShapeCallback.d.ts.map +1 -0
  34. package/dist/runtime/type-guards/tokens/isShapeCallback.js +7 -0
  35. package/dist/runtime/type-guards/tokens/isSimpleToken.d.ts.map +1 -1
  36. package/dist/types/dictionary/DefineObject.d.ts +40 -0
  37. package/dist/types/dictionary/DefineObject.d.ts.map +1 -0
  38. package/dist/types/dictionary/DefineObject.js +1 -0
  39. package/dist/types/dictionary/index.d.ts +1 -0
  40. package/dist/types/dictionary/index.d.ts.map +1 -1
  41. package/dist/types/dictionary/index.js +1 -0
  42. package/dist/types/literals/FromDefn.d.ts +5 -6
  43. package/dist/types/literals/FromDefn.d.ts.map +1 -1
  44. package/dist/types/literals/index.d.ts +0 -1
  45. package/dist/types/literals/index.d.ts.map +1 -1
  46. package/dist/types/literals/index.js +0 -1
  47. package/dist/types/{literals → runtime-types}/Shape.d.ts +20 -4
  48. package/dist/types/runtime-types/Shape.d.ts.map +1 -0
  49. package/dist/types/runtime-types/Type.d.ts.map +1 -1
  50. package/dist/types/runtime-types/TypeToken.d.ts +2 -7
  51. package/dist/types/runtime-types/TypeToken.d.ts.map +1 -1
  52. package/dist/types/runtime-types/index.d.ts +1 -0
  53. package/dist/types/runtime-types/index.d.ts.map +1 -1
  54. package/dist/types/runtime-types/index.js +1 -0
  55. package/dist/types/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +1 -1
  57. package/dist/types/literals/Shape.d.ts.map +0 -1
  58. /package/dist/types/{literals → runtime-types}/Shape.js +0 -0
package/dist/index.js CHANGED
@@ -515,6 +515,12 @@ var SIMPLE_OPT_SCALAR_TOKENS = [
515
515
  "Opt<number(TOKEN)>",
516
516
  "Opt<undefined>"
517
517
  ];
518
+ var SIMPLE_FN_TOKENS = [
519
+ "Fn<none> => Unknown",
520
+ "Fn<string> => Unknown",
521
+ "Fn<number> => Unknown",
522
+ "Fn<boolean> => Unknown"
523
+ ];
518
524
  var SIMPLE_UNION_TOKENS = [
519
525
  `Union(TOKEN)`
520
526
  ];
@@ -2296,7 +2302,7 @@ function unbox(val) {
2296
2302
  }
2297
2303
 
2298
2304
  // src/runtime/literals/identity.ts
2299
- var identity = (v) => v;
2305
+ var identity = (...values) => values.length === 1 ? values[0] : values.length === 0 ? void 0 : values;
2300
2306
 
2301
2307
  // src/runtime/literals/literal.ts
2302
2308
  function idLiteral(o) {
@@ -3043,6 +3049,30 @@ var isSimpleContainerTokenTuple = (val) => {
3043
3049
  return isArray(val) && val.length !== 0 && val.every(isSimpleContainerToken);
3044
3050
  };
3045
3051
 
3052
+ // src/runtime/type-guards/tokens/isShapeCallback.ts
3053
+ var isShapeCallback = (val) => {
3054
+ return isFunction(val) && val.kind === "shape";
3055
+ };
3056
+
3057
+ // src/runtime/type-guards/tokens/isShapeToken.ts
3058
+ var token_types = [
3059
+ ...TT_Atomics,
3060
+ ...TT_Containers,
3061
+ ...TT_Functions,
3062
+ ...TT_Sets,
3063
+ ...TT_Singletons
3064
+ ];
3065
+ var isShapeToken = (val) => {
3066
+ return isString(val) && val.startsWith("<<") && val.endsWith(">>") && token_types.some((t) => val.startsWith(`<<${t}`));
3067
+ };
3068
+
3069
+ // src/runtime/type-guards/tokens/isDefineObject.ts
3070
+ var isDefineObject = (val) => {
3071
+ return isObject(val) && Object.keys(val).some(
3072
+ (key) => isSimpleToken(val[key]) || isShapeToken(val) || isShapeCallback(val)
3073
+ );
3074
+ };
3075
+
3046
3076
  // src/runtime/type-guards/higher-order/endsWith.ts
3047
3077
  var endsWith = (endingIn2) => (val) => {
3048
3078
  return isString(val) ? val.endsWith(endingIn2) ? true : false : isNumber(val) ? String(val).endsWith(endingIn2) ? true : false : false;
@@ -4011,6 +4041,8 @@ var addSingleton = (token, api) => (...literals) => {
4011
4041
  );
4012
4042
  };
4013
4043
  var stringApi = {
4044
+ startsWith: (startsWith2) => addToken(`string-set`, `startsWith::${startsWith2}`),
4045
+ endsWith: (endsWith2) => addToken(`string-set`, `endsWith::${endsWith2}`),
4014
4046
  zip: () => addToken("string-set", "Zip5"),
4015
4047
  zipPlus4: () => addToken("string-set", "Zip5_4"),
4016
4048
  zipCode: () => addToken("string-set", "ZipCode"),
@@ -4154,19 +4186,31 @@ var ip6Prefix = (...groups) => {
4154
4186
  ].join("");
4155
4187
  };
4156
4188
 
4189
+ // src/runtime/runtime-types/asDefineObject.ts
4190
+ var asDefineObject = (defn) => {
4191
+ const result2 = Object.keys(defn).reduce(
4192
+ (acc, i) => isSimpleToken(defn[i]) ? { ...acc, [i]: asType(defn[i]) } : isDoneFn(defn[i]) ? {
4193
+ ...acc,
4194
+ [i]: handleDoneFn(defn[i](ShapeApiImplementation))
4195
+ } : isFunction(defn[i]) ? {
4196
+ ...acc,
4197
+ [i]: handleDoneFn(defn[i](ShapeApiImplementation))
4198
+ } : Never,
4199
+ {}
4200
+ );
4201
+ return result2;
4202
+ };
4203
+
4157
4204
  // src/runtime/runtime-types/asType.ts
4158
- var asType = (token) => {
4159
- return token;
4205
+ var asType = (...token) => {
4206
+ return isFunction(token) ? token(ShapeApiImplementation) : token.length === 1 ? isFunction(token[0]) ? handleDoneFn(token[0](ShapeApiImplementation)) : isDefineObject(token[0]) ? asDefineObject(token[0]) : token[0] : token.map((i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i);
4160
4207
  };
4161
4208
  var asStringLiteral = (...values) => {
4162
4209
  return values.map((i) => i);
4163
4210
  };
4164
4211
 
4165
4212
  // src/runtime/runtime-types/asToken.ts
4166
- var asSimpleToken = (_val) => {
4167
- return "not ready";
4168
- };
4169
- var scalarToToken = {
4213
+ var scalarToToken = identity({
4170
4214
  string: "<<string>>",
4171
4215
  number: "<<number>>",
4172
4216
  boolean: "<<boolean>>",
@@ -4177,15 +4221,19 @@ var scalarToToken = {
4177
4221
  unknown: "<<unknown>>",
4178
4222
  any: "<<any>>",
4179
4223
  never: "<<never>>"
4180
- };
4224
+ });
4181
4225
  var stringLiteral = (str) => {
4182
4226
  return stripAfter(stripBefore(str, "string("), ")");
4183
4227
  };
4184
4228
  var numericLiteral = (str) => {
4185
4229
  return stripAfter(stripBefore(str, "number("), ")");
4186
4230
  };
4231
+ var handleOptional = (token) => {
4232
+ const bare = stripTrailing(stripLeading(token, "Opt<"), ">");
4233
+ return bare.startsWith("string") ? `<<union::[ <<string>>, <<undefined>> ]>>` : bare.startsWith("number") ? `<<union::[ <<number>>, <<undefined>> ]>>` : bare.startsWith("boolean") ? `<<union::[ <<boolean>>, <<undefined>> ]>>` : bare.startsWith("unknown") ? `<<union::[ <<unknown>>, <<undefined>> ]>>` : `<<never>>`;
4234
+ };
4187
4235
  var simpleScalarTokenToTypeToken = (val) => {
4188
- return val in scalarToToken ? scalarToToken[val] : val.startsWith("string(") ? stringLiteral(val).includes(",") ? `<<union::[ ${stringLiteral(val).split(/,\s{0,1}/).map((i) => `"${i}"`).join(", ")} ]>>` : `<<string::${stringLiteral(val)}>>` : val.startsWith("number(") ? numericLiteral(val).includes(",") ? `<<union::[ ${numericLiteral(val).split(/,\s{0,1}/).join(", ")} ]>>` : `<<number::${numericLiteral(val)}>>` : `<<never>>`;
4236
+ return val in scalarToToken ? scalarToToken[val] : val.startsWith("string(") ? stringLiteral(val).includes(",") ? `<<union::[ ${stringLiteral(val).split(/,\s{0,1}/).map((i) => `"${i}"`).join(", ")} ]>>` : `<<string::${stringLiteral(val)}>>` : val.startsWith("number(") ? numericLiteral(val).includes(",") ? `<<union::[ ${numericLiteral(val).split(/,\s{0,1}/).join(", ")} ]>>` : `<<number::${numericLiteral(val)}>>` : val.startsWith("Opt<") ? handleOptional(val) : `<<never>>`;
4189
4237
  };
4190
4238
  var unionNode = (node) => {
4191
4239
  return isNumberLike(node) ? `<<number::${node}>>` : isBooleanLike(node) ? `<<${node}>>` : isSimpleContainerToken(node) ? simpleContainerTokenToTypeToken(node) : isSimpleScalarToken(node) ? simpleScalarToken(node) : `<<string::${node}>>`;
@@ -4224,14 +4272,14 @@ var simpleType = (token) => {
4224
4272
  var unionToken = (...els) => {
4225
4273
  return `<<union::[${jsonValues(els)}]>>`;
4226
4274
  };
4227
- var singleton = (base) => {
4275
+ var singletonApi = (base) => {
4228
4276
  const handler = (...lits) => {
4229
4277
  return lits.length === 0 ? base === "string" ? `<<string>>` : `<<number>>` : lits.length === 1 ? base === "string" ? `<<string::${lits[0]}>>` : `<<number::${lits[0]}>>` : base === "string" ? `<<string::${unionToken(...lits)}>>` : `<<number::${unionToken(...lits)}>>`;
4230
4278
  };
4231
4279
  return handler;
4232
4280
  };
4233
4281
  var createTypeToken = (base) => {
4234
- return isAtomicToken(base) ? `<<${base}>>` : isSingletonToken(base) ? singleton(base) : "";
4282
+ return isAtomicToken(base) ? `<<${base}>>` : isSingletonToken(base) ? singletonApi(base) : "";
4235
4283
  };
4236
4284
 
4237
4285
  // src/runtime/sets/uniqueKeys.ts
@@ -4351,6 +4399,7 @@ export {
4351
4399
  SIMPLE_CONTAINER_TOKENS,
4352
4400
  SIMPLE_DICT_TOKENS,
4353
4401
  SIMPLE_DICT_VALUES,
4402
+ SIMPLE_FN_TOKENS,
4354
4403
  SIMPLE_MAP_KEYS,
4355
4404
  SIMPLE_MAP_TOKENS,
4356
4405
  SIMPLE_MAP_VALUES,
@@ -4437,7 +4486,6 @@ export {
4437
4486
  asOptionalParamFunction,
4438
4487
  asPhoneFormat,
4439
4488
  asRecord,
4440
- asSimpleToken,
4441
4489
  asString,
4442
4490
  asStringLiteral,
4443
4491
  asType,
@@ -4539,6 +4587,7 @@ export {
4539
4587
  isCurrentMetric,
4540
4588
  isCurrentUom,
4541
4589
  isCvsUrl,
4590
+ isDefineObject,
4542
4591
  isDefined,
4543
4592
  isDellUrl,
4544
4593
  isDistanceMetric,
@@ -4627,6 +4676,7 @@ export {
4627
4676
  isSet,
4628
4677
  isSetToken,
4629
4678
  isShape,
4679
+ isShapeCallback,
4630
4680
  isSimpleContainerToken,
4631
4681
  isSimpleContainerTokenTuple,
4632
4682
  isSimpleScalarToken,