📄 serialization.ts¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 2 |
| 📊 Variables & Constants | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/rule-tester/src/utils/serialization.ts
Variables & Constants¶
| Name | Type | Kind | Value | Exported |
|---|---|---|---|---|
valAsObj |
Record<string, unknown> |
const | val as Record<string, unknown> |
✗ |
Functions¶
isSerializablePrimitiveOrPlainObject(val: unknown): boolean¶
Code
function isSerializablePrimitiveOrPlainObject(val: unknown): boolean {
return (
// eslint-disable-next-line eqeqeq, @typescript-eslint/internal/eqeq-nullish
val === null ||
typeof val === 'string' ||
typeof val === 'boolean' ||
typeof val === 'number' ||
(typeof val === 'object' && val.constructor === Object) ||
Array.isArray(val)
);
}
-
JSDoc:
-
Parameters:
val: unknown- Return Type:
boolean - Calls:
Array.isArray- Internal Comments:
isSerializable(val: unknown): boolean¶
Code
export function isSerializable(val: unknown): boolean {
if (!isSerializablePrimitiveOrPlainObject(val)) {
return false;
}
if (typeof val === 'object') {
const valAsObj = val as Record<string, unknown>;
for (const property in valAsObj) {
if (Object.hasOwn(valAsObj, property)) {
if (!isSerializablePrimitiveOrPlainObject(valAsObj[property])) {
return false;
}
if (
typeof valAsObj[property] === 'object' &&
!isSerializable(valAsObj[property])
) {
return false;
}
}
}
}
return true;
}
-
JSDoc:
-
Parameters:
val: unknown- Return Type:
boolean - Calls:
isSerializablePrimitiveOrPlainObjectObject.hasOwnisSerializable