inferred-types 0.54.6 → 0.54.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.
@@ -51,12 +51,15 @@ __export(src_exports, {
51
51
  createFnWithProps: () => createFnWithProps,
52
52
  createFnWithPropsExplicit: () => createFnWithPropsExplicit,
53
53
  createLifoQueue: () => createLifoQueue,
54
+ createMapper: () => createMapper,
55
+ createObjectMap: () => createObjectMap,
54
56
  createTypeToken: () => createTypeToken,
55
57
  cssColor: () => cssColor,
56
58
  csv: () => csv,
57
59
  defineCss: () => defineCss,
58
60
  defineObj: () => defineObj,
59
61
  defineObject: () => defineObject,
62
+ defineObjectApi: () => defineObjectApi,
60
63
  defineTuple: () => defineTuple,
61
64
  endsWith: () => endsWith,
62
65
  ensureLeading: () => ensureLeading,
@@ -375,7 +378,10 @@ __export(src_exports, {
375
378
  mergeTuples: () => mergeTuples,
376
379
  nameLiteral: () => nameLiteral,
377
380
  narrow: () => narrow,
381
+ narrowObjectTo: () => narrowObjectTo,
382
+ narrowObjectToType: () => narrowObjectToType,
378
383
  never: () => never,
384
+ objectToApi: () => objectToApi,
379
385
  omit: () => omit,
380
386
  optional: () => optional,
381
387
  optionalOrNull: () => optionalOrNull,
@@ -476,6 +482,115 @@ function handleDoneFn(val, call_bare_fn = false) {
476
482
  return isObject(val) || isFunction(val) ? isDoneFn(val) ? val.done() : isFunction(val) ? call_bare_fn ? val() : val : val : isFunction(val) ? call_bare_fn ? val() : val : val;
477
483
  }
478
484
 
485
+ // src/initializers/addFnToProps.ts
486
+ function addPropsToFn(fn2, clone_fn) {
487
+ const localFn = clone_fn ? (...args) => fn2(args) : fn2;
488
+ return (obj) => {
489
+ for (const k in obj) {
490
+ localFn[k] = obj[k];
491
+ }
492
+ return localFn;
493
+ };
494
+ }
495
+
496
+ // src/initializers/addPropsToFn.ts
497
+ function addFnToProps(props, _clone_fn) {
498
+ return (fn2) => {
499
+ const localFn = (...args) => fn2(args);
500
+ for (const k in props) {
501
+ localFn[k] = props[k];
502
+ }
503
+ return localFn;
504
+ };
505
+ }
506
+
507
+ // src/initializers/createCssSelector.ts
508
+ function createCssSelector(_opt) {
509
+ return (...selectors) => {
510
+ return selectors.join(" ");
511
+ };
512
+ }
513
+
514
+ // src/initializers/createFnWithProps.ts
515
+ function createFnWithProps(fn2, props, narrowing = false) {
516
+ const fnWithProps = fn2;
517
+ for (const prop of Object.keys(props)) {
518
+ fnWithProps[prop] = props[prop];
519
+ }
520
+ return isTrue(narrowing) ? fnWithProps : fnWithProps;
521
+ }
522
+ function createFnWithPropsExplicit(fn2, props) {
523
+ const fnWithProps = fn2;
524
+ for (const prop of Object.keys(props)) {
525
+ fnWithProps[prop] = props[prop];
526
+ }
527
+ return fnWithProps;
528
+ }
529
+
530
+ // src/initializers/defineObj.ts
531
+ function defineObj(literal2 = {}) {
532
+ return (wide2 = {}) => {
533
+ const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
534
+ return obj;
535
+ };
536
+ }
537
+
538
+ // src/initializers/defineTuple.ts
539
+ function defineTuple(...values) {
540
+ return values.map(
541
+ (i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i
542
+ );
543
+ }
544
+
545
+ // src/api/objectToApi.ts
546
+ function objectToApi(obj, def = null) {
547
+ const transformed = Object.keys(obj).reduce(
548
+ (acc, key) => {
549
+ const val = obj[key];
550
+ return {
551
+ ...acc,
552
+ [key]: () => val
553
+ };
554
+ },
555
+ {}
556
+ );
557
+ const api2 = {
558
+ __kind: "ObjectApi",
559
+ done: () => def,
560
+ ...transformed
561
+ };
562
+ return api2;
563
+ }
564
+ function mapper() {
565
+ return (map2) => {
566
+ return (input) => {
567
+ const api2 = objectToApi(input);
568
+ const rtn = map2(api2);
569
+ return handleDoneFn(rtn);
570
+ };
571
+ };
572
+ }
573
+ function objectApi() {
574
+ return {
575
+ mapTo: (_defn) => ({
576
+ mapper: mapper()
577
+ }),
578
+ mapToWithType: () => mapper()
579
+ };
580
+ }
581
+ function defineObjectApi__Fn(_inputDefn) {
582
+ return objectApi();
583
+ }
584
+ var defineObjectApi__Prop = {
585
+ withType: () => {
586
+ return objectApi();
587
+ }
588
+ };
589
+ var defineObjectApi = createFnWithProps(
590
+ defineObjectApi__Fn,
591
+ defineObjectApi__Prop
592
+ );
593
+
479
594
  // src/boolean-logic/ifArray.ts
480
595
  function ifArray(val, isAnArray, isNotAnArray) {
481
596
  return Array.isArray(val) ? isAnArray(val) : isNotAnArray(val);
@@ -2523,6 +2638,33 @@ function keysOf(container) {
2523
2638
  return keys;
2524
2639
  }
2525
2640
 
2641
+ // src/dictionary/narrowObjectTo.ts
2642
+ function callback() {
2643
+ return (cb) => {
2644
+ return (input) => cb(input);
2645
+ };
2646
+ }
2647
+ function narrowFn() {
2648
+ const fn2 = (obj) => obj;
2649
+ return fn2;
2650
+ }
2651
+ function narrowObjectTo(_defn) {
2652
+ return createFnWithPropsExplicit(
2653
+ narrowFn(),
2654
+ {
2655
+ asCallback: callback()
2656
+ }
2657
+ );
2658
+ }
2659
+ function narrowObjectToType() {
2660
+ return createFnWithPropsExplicit(
2661
+ narrowFn(),
2662
+ {
2663
+ asCallback: callback()
2664
+ }
2665
+ );
2666
+ }
2667
+
2526
2668
  // src/dictionary/omit.ts
2527
2669
  function omit(obj, ...removeKeys) {
2528
2670
  const keys = Object.keys(obj);
@@ -2635,90 +2777,30 @@ function fnMeta(func) {
2635
2777
  // src/functions/wrapFn.ts
2636
2778
  var wrapFn = "NOT IMPLEMENTED";
2637
2779
 
2638
- // src/initializers/addFnToProps.ts
2639
- function addPropsToFn(fn2, clone_fn) {
2640
- const localFn = clone_fn ? (...args) => fn2(args) : fn2;
2641
- return (obj) => {
2642
- for (const k in obj) {
2643
- localFn[k] = obj[k];
2644
- }
2645
- return localFn;
2646
- };
2647
- }
2648
-
2649
- // src/initializers/addPropsToFn.ts
2650
- function addFnToProps(props, _clone_fn) {
2651
- return (fn2) => {
2652
- const localFn = (...args) => fn2(args);
2653
- for (const k in props) {
2654
- localFn[k] = props[k];
2655
- }
2656
- return localFn;
2657
- };
2658
- }
2659
-
2660
- // src/initializers/createCssSelector.ts
2661
- function createCssSelector(_opt) {
2662
- return (...selectors) => {
2663
- return selectors.join(" ");
2664
- };
2665
- }
2666
-
2667
- // src/initializers/createFnWithProps.ts
2668
- function createFnWithProps(fn2, props, narrowing = false) {
2669
- const fnWithProps = fn2;
2670
- for (const prop of Object.keys(props)) {
2671
- fnWithProps[prop] = props[prop];
2672
- }
2673
- return isTrue(narrowing) ? fnWithProps : fnWithProps;
2674
- }
2675
- function createFnWithPropsExplicit(fn2, props) {
2676
- const fnWithProps = fn2;
2677
- for (const prop of Object.keys(props)) {
2678
- fnWithProps[prop] = props[prop];
2679
- }
2680
- return fnWithProps;
2681
- }
2682
-
2683
- // src/initializers/defineObj.ts
2684
- function defineObj(literal2 = {}) {
2685
- return (wide2 = {}) => {
2686
- const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
2687
- return obj;
2688
- };
2689
- }
2690
-
2691
- // src/initializers/defineTuple.ts
2692
- function defineTuple(...values) {
2693
- return values.map(
2694
- (i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i
2695
- );
2696
- }
2697
-
2698
2780
  // src/lists/asArray.ts
2699
2781
  function asArray(thing) {
2700
2782
  return Array.isArray(thing) === true ? thing : typeof thing === "undefined" ? [] : [thing];
2701
2783
  }
2702
2784
 
2703
2785
  // src/lists/createConverter.ts
2704
- function createConverter(mapper) {
2786
+ function createConverter(mapper2) {
2705
2787
  return (input) => {
2706
2788
  let result2;
2707
2789
  if (isNothing(input)) {
2708
- result2 = mapper.nothing ? mapper.nothing(input) : Never;
2790
+ result2 = mapper2.nothing ? mapper2.nothing(input) : Never;
2709
2791
  } else if (isObject(input)) {
2710
- result2 = mapper.object ? mapper.object(input) : Never;
2792
+ result2 = mapper2.object ? mapper2.object(input) : Never;
2711
2793
  } else {
2712
2794
  switch (typeof input) {
2713
2795
  case "string":
2714
- result2 = mapper.string ? mapper.string(input) : Never;
2796
+ result2 = mapper2.string ? mapper2.string(input) : Never;
2715
2797
  break;
2716
2798
  case "number":
2717
2799
  case "bigint":
2718
- result2 = mapper.number ? mapper.number(input) : Never;
2800
+ result2 = mapper2.number ? mapper2.number(input) : Never;
2719
2801
  break;
2720
2802
  case "boolean":
2721
- result2 = mapper.boolean ? mapper.boolean(input) : Never;
2803
+ result2 = mapper2.boolean ? mapper2.boolean(input) : Never;
2722
2804
  break;
2723
2805
  default:
2724
2806
  throw new Error(`Unhandled type: ${typeof input}`);
@@ -3347,6 +3429,39 @@ function lookupCountryCode(token) {
3347
3429
  return isNumberLike(token) ? lookupNumericCode(token, "countryCode") : isIso3166Alpha2(uc) ? lookupAlpha2Code(uc, "countryCode") : isIso3166Alpha3(uc) ? lookupAlpha3Code(uc, "countryCode") : isIso3166CountryName(token) ? lookupName(token, "countryCode") : void 0;
3348
3430
  }
3349
3431
 
3432
+ // src/type-conversion/map/createMapper.ts
3433
+ function asMapper(fn2) {
3434
+ const props = {
3435
+ kind: "Mapper",
3436
+ map: (from) => {
3437
+ return from.map(fn2);
3438
+ }
3439
+ };
3440
+ return createFnWithPropsExplicit(fn2, props);
3441
+ }
3442
+ function createObjectMap() {
3443
+ return (map2) => {
3444
+ const fn2 = (input) => {
3445
+ return Object.keys(map2).reduce(
3446
+ (acc, key) => {
3447
+ const val = map2[key];
3448
+ return {
3449
+ ...acc,
3450
+ [key]: isFunction(val) ? val(input) : val
3451
+ };
3452
+ },
3453
+ {}
3454
+ );
3455
+ };
3456
+ return fn2;
3457
+ };
3458
+ }
3459
+ function createMapper() {
3460
+ return (fn2) => {
3461
+ return asMapper(fn2);
3462
+ };
3463
+ }
3464
+
3350
3465
  // src/type-conversion/mergeObjects.ts
3351
3466
  function mergeObjects(defVal, override) {
3352
3467
  const intersectingKeys = sharedKeys(defVal, override);
@@ -5332,12 +5447,15 @@ function asVueRef(value) {
5332
5447
  createFnWithProps,
5333
5448
  createFnWithPropsExplicit,
5334
5449
  createLifoQueue,
5450
+ createMapper,
5451
+ createObjectMap,
5335
5452
  createTypeToken,
5336
5453
  cssColor,
5337
5454
  csv,
5338
5455
  defineCss,
5339
5456
  defineObj,
5340
5457
  defineObject,
5458
+ defineObjectApi,
5341
5459
  defineTuple,
5342
5460
  endsWith,
5343
5461
  ensureLeading,
@@ -5656,7 +5774,10 @@ function asVueRef(value) {
5656
5774
  mergeTuples,
5657
5775
  nameLiteral,
5658
5776
  narrow,
5777
+ narrowObjectTo,
5778
+ narrowObjectToType,
5659
5779
  never,
5780
+ objectToApi,
5660
5781
  omit,
5661
5782
  optional,
5662
5783
  optionalOrNull,