UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

24 lines 1.07 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.envFingerprint = envFingerprint; exports.fingerprint = fingerprint; const object_hash_1 = __importDefault(require("object-hash")); const environment_1 = require("../../dataflow/environments/environment"); const built_in_1 = require("../../dataflow/environments/built-in"); function envFingerprint(env) { return (0, object_hash_1.default)(env, { algorithm: 'md5', excludeKeys: key => key === 'id' || key === 'value', respectFunctionProperties: false, respectFunctionNames: false, ignoreUnknown: true, replacer: (v) => (v === environment_1.BuiltInEnvironment || v === built_in_1.EmptyBuiltInMemory) ? undefined : v }); } function fingerprint(id, envFingerprint, onlyForSideEffects) { return `${id}-${envFingerprint}-${onlyForSideEffects ? '0' : '1'}`; } //# sourceMappingURL=fingerprint.js.map