@@ -48,7 +48,9 @@ const {fromRDF: _fromRDF} = require('./fromRdf');
4848const { toRDF : _toRDF } = require ( './toRdf' ) ;
4949
5050const {
51- frameMergedOrDefault : _frameMergedOrDefault
51+ frameMergedOrDefault : _frameMergedOrDefault ,
52+ cleanupNull : _cleanupNull ,
53+ cleanupPreserve : _cleanupPreserve
5254} = require ( './frame' ) ;
5355
5456const {
@@ -70,8 +72,7 @@ const {
7072
7173const {
7274 compact : _compact ,
73- compactIri : _compactIri ,
74- removePreserve : _removePreserve
75+ compactIri : _compactIri
7576} = require ( './compact' ) ;
7677
7778const {
@@ -225,12 +226,6 @@ jsonld.compact = async function(input, ctx, options) {
225226 ctx = ctx [ 0 ] ;
226227 }
227228
228- if ( options . framing ) {
229- // remove @preserve from results
230- options . link = { } ;
231- compacted = _removePreserve ( activeCtx , compacted , options ) ;
232- }
233-
234229 // add context and/or @graph
235230 if ( _isArray ( compacted ) ) {
236231 // use '@graph' keyword
@@ -493,13 +488,17 @@ jsonld.frame = async function(input, frame, options) {
493488 opts . is11 = _processingMode ( activeCtx , 1.1 ) ;
494489
495490 // do framing
496- const framed = _frameMergedOrDefault ( expanded , expandedFrame , opts ) ;
491+ let framed = _frameMergedOrDefault ( expanded , expandedFrame , opts ) ;
497492
498493 opts . graph = ! options . omitGraph ;
499494 opts . skipExpansion = true ;
500495 opts . link = { } ;
501496 opts . framing = true ;
502- const compacted = await jsonld . compact ( framed , frameContext , opts ) ;
497+ let compacted = await jsonld . compact ( framed , frameContext , opts ) ;
498+
499+ // replace @null with null, compacting arrays
500+ opts . link = { } ;
501+ compacted = _cleanupNull ( compacted , opts ) ;
503502
504503 return compacted ;
505504} ;
0 commit comments