ts-std-lib
Version:
A standard library for typescript
15 lines (12 loc) • 472 B
text/typescript
import { IJsonSerializer, jsonSerializer } from './IJsonSerializer';
import { Type, PrimitiveType } from '../../Type';
/**
* Checks if an object is a json serializer
*/
export function isJsonSerializer<T>(object: unknown): object is IJsonSerializer<T> {
return Type.hasKeysOf<IJsonSerializer<T>>(object, new Map<keyof IJsonSerializer<T>, PrimitiveType>([
[jsonSerializer, 'boolean'],
['serialize', 'function'],
['deserialize', 'function']
]));
}