Base functionality used throughout XY Labs TypeScript/JavaScript libraries
npm install @xylabs/object-model[![logo][]](https://xylabs.com)
[![main-build][]][main-build-link]
[![npm-badge][]][npm-link]
[![npm-downloads-badge][]][npm-link]
[![jsdelivr-badge][]][jsdelivr-link]
[![npm-license-badge][]](LICENSE)
[![codacy-badge][]][codacy-link]
[![codeclimate-badge][]][codeclimate-link]
[![snyk-badge][]][snyk-link]
[![socket-badge][]][socket-link]
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
@xylabs/object-model
*
- TypeCheckConfig
- TypeCheckRequiredConfig
- TypeCheckOptionalConfig
- AnyObject
- AsTypeFunction
- AsOptionalTypeFunction
- Compare
- StringOrAlertFunction
- TypeCheck
*
- TypeCheckRequiredConfig
- TypeCheckOptionalConfig
``ts`
optional log: boolean | Logger;
*
`ts`
optional log: boolean | Logger;
*
`ts`
required: false;
*
`ts`
optional log: boolean | Logger;
*
`ts`
required: true;
*
`ts`
type AnyObject = Record
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
*
`ts`
type AsOptionalTypeFunction
T extends AnyNonPromise = AnyNonPromise
TType extends AnyNonPromise
AnyNonPromise
undefined \| TType
*
`ts`
type AsTypeFunction
};
T extends AnyNonPromise = AnyNonPromise
`ts`
TType extends AnyNonPromise
AnyNonPromise
undefined \| TType
`ts`
TType extends AnyNonPromise
AnyNonPromise
TType
`ts`
TType extends AnyNonPromise
AnyNonPromise
TypeCheckConfig | TypeCheckOptionalConfig
undefined \| TType
`ts`
TType extends AnyNonPromise
AnyNonPromise
StringOrAlertFunction\<TType\>
undefined \| TType
`ts`
value,
assert,
config): TType;
TType extends AnyNonPromise
AnyNonPromise
StringOrAlertFunction\<TType\>
TType
`ts`
value,
assert,
config): undefined | TType;
TType extends AnyNonPromise
AnyNonPromise
StringOrAlertFunction\<TType\>
TypeCheckConfig | TypeCheckOptionalConfig
undefined \| TType
*
`ts`
type Compare
T
T
T
number
*
`ts`
type StringOrAlertFunction
T extends AnyNonPromise
*
`ts`
type TypeCheck
(obj): obj is T;
(obj, config): obj is T;
(obj, config): obj is T;
};
T extends TypedValue
`ts`
(obj): obj is T;
AnyNonPromise
obj is T
`ts`
(obj, config): obj is T;
AnyNonPromise
obj is T
`ts`
(obj, config): obj is T;
AnyNonPromise
undefined | number | TypeCheckConfig
obj is T`
Part of sdk-js
- Arie Trouw (arietrouw.com)
- Matt Jones
- Joel Carter
- Jordan Trouw
> See the LICENSE file for license details
[logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
[main-build]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml/badge.svg
[main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml
[npm-badge]: https://img.shields.io/npm/v/@xylabs/object-model.svg
[npm-link]: https://www.npmjs.com/package/@xylabs/object-model
[codacy-badge]: https://app.codacy.com/project/badge/Grade/c8e15e14f37741c18cfb47ac7245c698
[codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-js&utm_campaign=Badge_Grade
[codeclimate-badge]: https://api.codeclimate.com/v1/badges/c5eb068f806f0b047ea7/maintainability
[codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-js/maintainability
[snyk-badge]: https://snyk.io/test/github/xylabs/sdk-js/badge.svg?targetFile=package.json
[snyk-link]: https://snyk.io/test/github/xylabs/sdk-js?targetFile=package.json
[npm-downloads-badge]: https://img.shields.io/npm/dw/@xylabs/object-model
[npm-license-badge]: https://img.shields.io/npm/l/@xylabs/object-model
[jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/@xylabs/object-model/badge
[jsdelivr-link]: https://www.jsdelivr.com/package/npm/@xylabs/object-model
[socket-badge]: https://socket.dev/api/badge/npm/package/@xylabs/object-model
[socket-link]: https://socket.dev/npm/package/@xylabs/object-model