Add some `extends object` constraints to type parameters to fix errors.
authorRobert Sesek <rsesek@bluestatic.org>
Sat, 25 Mar 2023 16:55:08 +0000 (12:55 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Sat, 25 Mar 2023 16:55:08 +0000 (12:55 -0400)
src/core/Form.ts
src/core/Line.ts

index 5d03a2f46bea4d3dedfd2b697a6a464cc8c49a75..3893fae08c36c30d4304fb00e39619f93f67c99a 100644 (file)
@@ -9,7 +9,7 @@ import * as Trace from './Trace';
 import { Line } from './Line';
 import { InconsistencyError, NotFoundError } from './Errors';
 
-export default abstract class Form<I = unknown> {
+export default abstract class Form<I extends object = any> {
   abstract readonly name: string;
 
   abstract readonly lines: { [key: string]: Line<any> };
index 46d0fe0009a7123df02ed7c8dd91e5ef4d6d3e8e..27b48b78c42bdc92f371e81490cd973fc04a3c9c 100644 (file)
@@ -117,7 +117,7 @@ export class SymbolicLine<F extends Form & { [key in K]: ComputeFunc<ReturnType<
   }
 }
 
-export class InputLine<U = unknown, T extends keyof U = any> extends Line<U[T]> {
+export class InputLine<U extends object, T extends keyof U = any> extends Line<U[T]> {
   private _input: T;
   private _fallback: U[T];