All files default-values.js

100% Statements 12/12
100% Branches 7/7
100% Functions 2/2
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29        6x 6x     42x   42x 36x   2x 2x 4x   2x     2x                
export default {
  rxdb: true,
  prototypes: {
    RxDatabase(proto) {
      const prevCollection = proto.collection;
      Object.assign(proto, {
        async collection(model, ...other) {
          const defaultValues =
            model && model.options && model.options.defaultValues;
 
          const collection = await prevCollection.call(this, model, other);
          if (!defaultValues) return collection;
 
          collection.preInsert((data) => {
            Object.entries(defaultValues).forEach(([key, value]) => {
              if (!data.hasOwnProperty([key])) data[key] = value;
            });
            return data;
          });
 
          return collection;
        }
      });
    }
  },
  overwritable: {},
  hooks: {}
};