@xylabs/object-model
v5.1.2
Published
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Keywords
Readme
@xylabs/object-model
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Install
Using npm:
npm install {{name}}Using yarn:
yarn add {{name}}Using pnpm:
pnpm add {{name}}Using bun:
bun add {{name}}License
See the LICENSE file for license rights and limitations (LGPL-3.0-only).
Reference
packages
object-model
### .temp-typedoc
### interfaces
### <a id="AsTypeFunction"></a>AsTypeFunctionA type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
T
T extends AnyNonPromise = AnyNonPromise
Call Signature
AsTypeFunction<TType>(value): TType | undefined;A type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
TType
TType extends AnyNonPromise
Parameters
value
AnyNonPromise
Returns
TType | undefined
Call Signature
AsTypeFunction<TType>(value, config): TType;A type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
TType
TType extends AnyNonPromise
Parameters
value
AnyNonPromise
config
Returns
TType
Call Signature
AsTypeFunction<TType>(value, config): TType | undefined;A type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
TType
TType extends AnyNonPromise
Parameters
value
AnyNonPromise
config
| TypeCheckConfig
| TypeCheckOptionalConfig
Returns
TType | undefined
Call Signature
AsTypeFunction<TType>(value, assert): TType | undefined;A type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
TType
TType extends AnyNonPromise
Parameters
value
AnyNonPromise
assert
StringOrAlertFunction<TType>
Returns
TType | undefined
Call Signature
AsTypeFunction<TType>(
value,
assert,
config): TType;A type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
TType
TType extends AnyNonPromise
Parameters
value
AnyNonPromise
assert
StringOrAlertFunction<TType>
config
Returns
TType
Call Signature
AsTypeFunction<TType>(
value,
assert,
config): TType | undefined;A type-narrowing function that attempts to cast a value to T, with optional assertion and configuration overloads.
Type Parameters
TType
TType extends AnyNonPromise
Parameters
value
AnyNonPromise
assert
StringOrAlertFunction<TType>
config
| TypeCheckConfig
| TypeCheckOptionalConfig
Returns
TType | undefined
### <a id="TypeCheck"></a>TypeCheckA type guard function that checks whether a value conforms to type T, with optional configuration.
Type Parameters
T
T extends TypedValue
Call Signature
TypeCheck(obj): obj is T;A type guard function that checks whether a value conforms to type T, with optional configuration.
Parameters
obj
AnyNonPromise
Returns
obj is T
Call Signature
TypeCheck(obj, config): obj is T;A type guard function that checks whether a value conforms to type T, with optional configuration.
Parameters
obj
AnyNonPromise
config
Returns
obj is T
Call Signature
TypeCheck(obj, config): obj is T;A type guard function that checks whether a value conforms to type T, with optional configuration.
Parameters
obj
AnyNonPromise
config
number | TypeCheckConfig | undefined
Returns
obj is T
### <a id="TypeCheckConfig"></a>TypeCheckConfigConfiguration options for type check functions, with optional logging.
Extended by
Properties
log?
optional log?: boolean | Logger; ### <a id="TypeCheckOptionalConfig"></a>TypeCheckOptionalConfigType check configuration that marks the value as optional, returning undefined on failure.
Extends
Properties
log?
optional log?: boolean | Logger;Inherited from
required
required: false; ### <a id="TypeCheckRequiredConfig"></a>TypeCheckRequiredConfigType check configuration that marks the value as required, causing assertions on failure.
Extends
Properties
log?
optional log?: boolean | Logger;Inherited from
required
required: true; ### type-aliases
### <a id="AnyObject"></a>AnyObjecttype AnyObject = EmptyObject & Partial<Record<TypedKey, unknown>>;Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject will result in a type that includes the universal set of field names
### <a id="AsOptionalTypeFunction"></a>AsOptionalTypeFunctiontype AsOptionalTypeFunction<T> = <TType>(value) => TType | undefined;A simplified type-narrowing function that returns T or undefined, without assertion support.
Type Parameters
T
T extends AnyNonPromise = AnyNonPromise
Type Parameters
TType
TType extends T
Parameters
value
AnyNonPromise
Returns
TType | undefined
### <a id="Compare"></a>Comparetype Compare<T> = (a, b) => number;A comparator function that returns a negative number if a < b, zero if a == b, and a positive number if a > b.
Type Parameters
T
T
Parameters
a
T
b
T
Returns
number
### <a id="EmptyObject"></a>EmptyObjecttype EmptyObject<T> = Exclude<{ [K in keyof T]?: never }, unknown[] | ((...args) => unknown) | null>;An empty object, which means that it does enforce the set of field names, defaulting to an empty set until extended from, which then adds only those additional fields
Type Parameters
T
T extends object = object
### <a id="StringOrAlertFunction"></a>StringOrAlertFunctiontype StringOrAlertFunction<T> = string | AssertExMessageFunc<T>;A string message or function that produces an assertion error message for a failed type check.
Type Parameters
T
T extends AnyNonPromise
