16 lines
618 B
JavaScript
16 lines
618 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.cloneMethod = void 0;
|
|
exports.hasCloneMethod = hasCloneMethod;
|
|
exports.cloneIfNeeded = cloneIfNeeded;
|
|
exports.cloneMethod = Symbol.for('fast-check/cloneMethod');
|
|
function hasCloneMethod(instance) {
|
|
return (instance !== null &&
|
|
(typeof instance === 'object' || typeof instance === 'function') &&
|
|
exports.cloneMethod in instance &&
|
|
typeof instance[exports.cloneMethod] === 'function');
|
|
}
|
|
function cloneIfNeeded(instance) {
|
|
return hasCloneMethod(instance) ? instance[exports.cloneMethod]() : instance;
|
|
}
|