MCPcopy Create free account
hub / github.com/DeepNotesApp/DeepNotes / hmset

Method hmset

packages/@stdlib/data/src/data-abstraction.ts:696–780  ·  view source on GitHub ↗
(
    prefix: DataPrefix_,
    suffix: string,
    values: Record<DataField_, any>,
    params?: HMSetParams,
  )

Source from the content-addressed store, hash-verified

694 }
695
696 async hmset<
697 DataPrefix_ extends DataPrefix,
698 DataField_ extends Extract<
699 keyof DataHashes_[DataPrefix_]['fields'],
700 string
701 > = Extract<keyof DataHashes_[DataPrefix_]['fields'], string>,
702 >(
703 prefix: DataPrefix_,
704 suffix: string,
705 values: Record<DataField_, any>,
706 params?: HMSetParams,
707 ) {
708 classLogger.sub('hmset').info(`${prefix}:${suffix}`);
709
710 const dataHash = this.dataHashes[prefix];
711
712 const key = `${prefix}:${suffix}`;
713
714 const fields: FieldInfo[] = Object.entries<any>(values).map(
715 ([field, value]) => ({
716 name: field,
717 fullKey: `${key}>${field}`,
718
719 infos: dataHash?.fields[field],
720
721 value: value,
722 valueBuffer: Buffer.from(pack(value as any)),
723 }),
724 );
725
726 const dtrx = params?.dtrx ?? new DataTransaction(params?.trx);
727
728 const internalParams = {
729 prefix,
730 suffix,
731 key,
732
733 fields,
734
735 dataHash,
736
737 model: {},
738
739 ...params,
740
741 dtrx,
742 trx: dtrx.trx,
743 };
744
745 await this._hmsetLocal(internalParams);
746
747 // Publish data updates
748
749 this.addToTransaction(dtrx, () =>
750 Promise.allSettled(
751 fields.map((field) => {
752 if (!field.infos?.notifyUpdates) {
753 return;

Callers 4

insertMethod · 0.95
patchMethod · 0.95
deleteMethod · 0.95
insertPageSnapshotFunction · 0.45

Calls 5

_hmsetLocalMethod · 0.95
addToTransactionMethod · 0.95
_handleDataUpdateMethod · 0.95
subMethod · 0.80
commitMethod · 0.80

Tested by

no test coverage detected