From f56cbd9ed33e107bcdef874667c83331cb378597 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 21 Nov 2018 15:10:13 +0000 Subject: [PATCH] Reuse a constant Discard() instance --- packages/core/src/assertions.js | 2 ++ packages/syntax/src/plugin.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/src/assertions.js b/packages/core/src/assertions.js index 93fbfd2..3a1b5b0 100644 --- a/packages/core/src/assertions.js +++ b/packages/core/src/assertions.js @@ -33,6 +33,8 @@ Seal.prototype.toJSON = function () { }; module.exports.Discard = Record.makeConstructor('discard', []); +module.exports.Discard._instance = module.exports.Discard(); + module.exports.Capture = Record.makeConstructor('capture', ['specification']); module.exports.Observe = Record.makeConstructor('observe', ['specification']); diff --git a/packages/syntax/src/plugin.js b/packages/syntax/src/plugin.js index ceb7085..a484f57 100644 --- a/packages/syntax/src/plugin.js +++ b/packages/syntax/src/plugin.js @@ -61,7 +61,7 @@ function hasCapturesOrDiscards(nodePath) { return result; } -const _discardAst = template.expression(`SYNDICATE.Discard()`); +const _discardAst = template.expression(`SYNDICATE.Discard._instance`); function discardAst(state) { return _discardAst({ SYNDICATE: state.SyndicateID }); }