@@ -437,68 +437,6 @@ export function parseSetData(
437437 ) ;
438438}
439439
440- export function parse (
441- userDataReader : UserDataReader ,
442- methodName : string ,
443- targetDoc : DocumentKey ,
444- input : unknown ,
445- hasConverter : boolean ,
446- options : SetOptions = { }
447- ) : ParsedSetData {
448- const context = userDataReader . createContext (
449- options . merge || options . mergeFields
450- ? UserDataSource . MergeSet
451- : UserDataSource . Set ,
452- methodName ,
453- targetDoc ,
454- hasConverter
455- ) ;
456- validatePlainObject ( 'Data must be an object, but it was:' , context , input ) ;
457- const updateData = parseObject ( input , context ) ! ;
458-
459- let fieldMask : FieldMask | null ;
460- let fieldTransforms : FieldTransform [ ] ;
461-
462- if ( options . merge ) {
463- fieldMask = new FieldMask ( context . fieldMask ) ;
464- fieldTransforms = context . fieldTransforms ;
465- } else if ( options . mergeFields ) {
466- const validatedFieldPaths : InternalFieldPath [ ] = [ ] ;
467-
468- for ( const stringOrFieldPath of options . mergeFields ) {
469- const fieldPath = fieldPathFromArgument (
470- methodName ,
471- stringOrFieldPath ,
472- targetDoc
473- ) ;
474- if ( ! context . contains ( fieldPath ) ) {
475- throw new FirestoreError (
476- Code . INVALID_ARGUMENT ,
477- `Field '${ fieldPath } ' is specified in your field mask but missing from your input data.`
478- ) ;
479- }
480-
481- if ( ! fieldMaskContains ( validatedFieldPaths , fieldPath ) ) {
482- validatedFieldPaths . push ( fieldPath ) ;
483- }
484- }
485-
486- fieldMask = new FieldMask ( validatedFieldPaths ) ;
487- fieldTransforms = context . fieldTransforms . filter ( transform =>
488- fieldMask ! . covers ( transform . field )
489- ) ;
490- } else {
491- fieldMask = null ;
492- fieldTransforms = context . fieldTransforms ;
493- }
494-
495- return new ParsedSetData (
496- new ObjectValue ( updateData ) ,
497- fieldMask ,
498- fieldTransforms
499- ) ;
500- }
501-
502440export class DeleteFieldValueImpl extends FieldValue {
503441 _toFieldTransform ( context : ParseContextImpl ) : null {
504442 if ( context . dataSource === UserDataSource . MergeSet ) {
0 commit comments