@ddd-qc/profiles-dvm 0.29.2 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/edit-profile.d.ts.map +1 -1
- package/dist/elements/edit-profile.js.map +1 -1
- package/dist/profiles.dvm.d.ts +3 -4
- package/dist/profiles.dvm.d.ts.map +1 -1
- package/dist/profiles.dvm.js +6 -5
- package/dist/profiles.dvm.js.map +1 -1
- package/dist/profiles.zvm.d.ts +0 -1
- package/dist/profiles.zvm.d.ts.map +1 -1
- package/dist/profiles.zvm.js +0 -3
- package/dist/profiles.zvm.js.map +1 -1
- package/dist/profilesAlt.dvm.d.ts +3 -4
- package/dist/profilesAlt.dvm.d.ts.map +1 -1
- package/dist/profilesAlt.dvm.js +6 -5
- package/dist/profilesAlt.dvm.js.map +1 -1
- package/dist/profilesAlt.zvm.d.ts +1 -1
- package/dist/profilesAlt.zvm.d.ts.map +1 -1
- package/dist/profilesAlt.zvm.js +1 -1
- package/dist/profilesAlt.zvm.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-profile.d.ts","sourceRoot":"","sources":["../../src/elements/edit-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAC,MAAM,KAAK,CAAC;AAK1C,OAAO,6DAA6D,CAAC;AACrE,OAAO,EAAC,OAAO,EAAC,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"edit-profile.d.ts","sourceRoot":"","sources":["../../src/elements/edit-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAC,MAAM,KAAK,CAAC;AAK1C,OAAO,6DAA6D,CAAC;AACrE,OAAO,EAAC,OAAO,EAAC,MAAM,+BAA+B,CAAC;AAiBtD,qBAEa,WAAY,SAAQ,UAAU;IAKzC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAQvB,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAwBlD,gBAAgB,CAAC,EAAE,EAAE,GAAG;IAWrB,MAAM;IA8Cf,OAAgB,MAAM,0DA6DhB;CACP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-profile.js","sourceRoot":"","sources":["../../src/elements/edit-profile.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"edit-profile.js","sourceRoot":"","sources":["../../src/elements/edit-profile.ts"],"names":[],"mappings":"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","sourcesContent":["import {css, html, LitElement} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { localized, msg, str } from '@lit/localize';\nimport { onSubmit, sharedStyles } from '@holochain-open-dev/elements';\n\nimport '@holochain-open-dev/elements/dist/elements/select-avatar.js';\nimport {Profile} from \"../bindings/profilesAlt.types\";\n\n//import \"@shoelace-style/shoelace/dist/components/avatar/avatar.js\";\n//import \"@shoelace-style/shoelace/dist/components/button/button.js\";\n//import \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\n//import \"@shoelace-style/shoelace/dist/components/input/input.js\";\n//import \"@shoelace-style/shoelace/dist/components/radio/radio.js\";\n//import \"@shoelace-style/shoelace/dist/components/radio-group/radio-group.js\";\n//import \"@shoelace-style/shoelace/dist/components/tooltip/tooltip.js\";\n\n\nconst MIN_NICKNAME_LENGTH = 2\n\n\n/**\n * @fires save-profile - Fired when the save profile button is clicked\n */\n@localized()\n@customElement('profiles-edit-profile')\nexport class EditProfile extends LitElement {\n\n\n /** The profile to be edited. */\n @property({ type: Object })\n profile: Profile | undefined;\n\n\n /** -- Methods -- */\n\n /**\n * Seperate Mailgun token from other fields as we don't want it to be saved in Profiles\n */\n async fireSaveProfile(formFields: Record<string, string>) {\n console.log(\"fireSaveProfile()\", formFields);\n const nickname = formFields['nickname'];\n delete formFields['nickname'];\n\n const fields: Record<string, string> = {}\n //fields['email'] = formFields['email'];\n fields['avatar'] = formFields['avatar']? formFields['avatar'] : \"\";\n fields['lang'] = formFields['option']? formFields['option'] : \"\";\n\n\n /** */\n this.dispatchEvent(\n new CustomEvent<Profile>('save-profile', {\n detail: {nickname, fields} as Profile,\n bubbles: true,\n composed: true,\n })\n );\n\n }\n\n\n /** */\n async handleLangChange(_e: any) {\n //console.log({langChangeEvent: e});\n const langRadioGroup = this.shadowRoot!.getElementById(\"langRadioGroup\") as any;\n console.log({langRadioGroup});\n const lang = langRadioGroup.value;\n console.log(\"handleLangChange: lang =\", lang);\n this.dispatchEvent(new CustomEvent('lang-selected', { detail: lang, bubbles: true, composed: true }));\n }\n\n\n /** */\n override render() {\n console.log(\"<profiles-edit-profile>.render()\", this.profile);\n\n /** */\n return html`\n <form id=\"profile-form\" class=\"column\"\n ${onSubmit(fields => /*await*/ this.fireSaveProfile(fields))}>\n \n <div class=\"row\"\n style=\"justify-content: center; align-self: start; margin-bottom: 16px; width: 100%;\">\n <select-avatar\n style=\"cursor:pointer\"\n name=\"avatar\"\n .value=${this.profile?.fields['avatar'] || undefined}\n ></select-avatar>\n <label for=\"nickname\">Nickname:</label>\n <input\n type=\"text\"\n name=\"nickname\"\n .label=${msg('Nickname')}\n required\n minLength=${MIN_NICKNAME_LENGTH}\n .value=${this.profile?.nickname || ''}\n .helpText=${msg(str`Min. ${MIN_NICKNAME_LENGTH} characters`)}\n style=\"margin-left: 16px;\"\n >\n </div>\n \n <div class=\"row\" style=\"justify-content: center; margin-bottom: 8px; align-self: start;\" >\n <span style=\"font-size:18px;padding-right:10px;\">${msg('Language')}:</span>\n <sl-radio-group id=\"langRadioGroup\" @click=${this.handleLangChange} .value=${this.profile?.fields['lang']}>\n <sl-radio value=\"en\">🇬🇧</sl-radio>\n <sl-radio value=\"fr-fr\">🇫🇷</sl-radio>\n </sl-radio-group>\n </div>\n \n <div class=\"row\" style=\"margin-top: 8px;\">\n <button style=\"flex: 1;\" variant=\"primary\" type=\"submit\"\n >${msg('Save Profile')}\n </button>\n </div>\n </form>\n `;\n }\n\n\n static override styles = [sharedStyles, css`\n\n sl-radio {\n font-size: larger;\n }\n .small-margin {\n margin-top: 6px;\n }\n .big-margin {\n margin-top: 23px;\n }\n\n .fill {\n flex: 1;\n height: 100%;\n }\n\n .title {\n font-size: 20px;\n }\n\n .center-content {\n align-items: center;\n justify-content: center;\n }\n\n .placeholder {\n color: rgba(0, 0, 0, 0.7);\n }\n\n .label {\n color: var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6));\n font-family: var(\n --mdc-typography-caption-font-family,\n var(--mdc-typography-font-family, Roboto, sans-serif)\n );\n font-size: var(--mdc-typography-caption-font-size, 0.79rem);\n font-weight: var(--mdc-typography-caption-font-weight, 400);\n }\n\n .flex-scrollable-parent {\n position: relative;\n display: flex;\n flex: 1;\n }\n\n .flex-scrollable-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .flex-scrollable-x {\n max-width: 100%;\n overflow-x: auto;\n }\n .flex-scrollable-y {\n max-height: 100%;\n overflow-y: auto;\n }`];\n}\n"]}
|
package/dist/profiles.dvm.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { DnaViewModel } from "@ddd-qc/lit-happ";
|
|
2
|
-
import {
|
|
2
|
+
import { Signal, SignalCb } from "@holochain/client";
|
|
3
3
|
import { ProfilesZvm } from "./profiles.zvm";
|
|
4
4
|
export declare class ProfilesDvm extends DnaViewModel {
|
|
5
5
|
static readonly DEFAULT_BASE_ROLE_NAME = "profiles";
|
|
6
6
|
static readonly ZVM_DEFS: (typeof ProfilesZvm)[];
|
|
7
|
-
readonly signalHandler?:
|
|
7
|
+
readonly signalHandler?: SignalCb;
|
|
8
8
|
get profilesZvm(): ProfilesZvm;
|
|
9
|
-
protected hasChanged(): boolean;
|
|
10
9
|
get perspective(): Object;
|
|
11
|
-
handleSignal(signal:
|
|
10
|
+
handleSignal(signal: Signal): void;
|
|
12
11
|
}
|
|
13
12
|
//# sourceMappingURL=profiles.dvm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.dvm.d.ts","sourceRoot":"","sources":["../src/profiles.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"profiles.dvm.d.ts","sourceRoot":"","sources":["../src/profiles.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,MAAM,EAAE,QAAQ,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAY3C,qBAAa,WAAY,SAAQ,YAAY;IAE3C,gBAAyB,sBAAsB,cAAc;IAC7D,gBAAyB,QAAQ,yBAAgB;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAqB;IAItD,IAAI,WAAW,IAAI,WAAW,CAE7B;IAKD,IAAI,WAAW,IAAI,MAAM,CAExB;IAMD,YAAY,CAAC,MAAM,EAAE,MAAM;CAY5B"}
|
package/dist/profiles.dvm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DnaViewModel } from "@ddd-qc/lit-happ";
|
|
2
|
+
import { SignalType, } from "@holochain/client";
|
|
2
3
|
import { ProfilesZvm } from "./profiles.zvm";
|
|
3
4
|
export class ProfilesDvm extends DnaViewModel {
|
|
4
5
|
constructor() {
|
|
@@ -8,15 +9,15 @@ export class ProfilesDvm extends DnaViewModel {
|
|
|
8
9
|
get profilesZvm() {
|
|
9
10
|
return this.getZomeViewModel(ProfilesZvm.DEFAULT_ZOME_NAME);
|
|
10
11
|
}
|
|
11
|
-
hasChanged() {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
12
|
get perspective() {
|
|
15
13
|
return {};
|
|
16
14
|
}
|
|
17
15
|
handleSignal(signal) {
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
if (!(SignalType.App in signal)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const appSignal = signal.App;
|
|
20
|
+
if (appSignal.zome_name !== ProfilesZvm.DEFAULT_ZOME_NAME) {
|
|
20
21
|
return;
|
|
21
22
|
}
|
|
22
23
|
}
|
package/dist/profiles.dvm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.dvm.js","sourceRoot":"","sources":["../src/profiles.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"profiles.dvm.js","sourceRoot":"","sources":["../src/profiles.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEa,UAAU,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAY3C,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QAIW,kBAAa,GAAc,IAAI,CAAC,YAAY,CAAC;IA+BxD,CAAC;IA3BC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAgB,CAAC;IAC7E,CAAC;IAKD,IAAI,WAAW;QACb,OAAO,EAAE,CAAA;IACX,CAAC;IAMD,YAAY,CAAC,MAAc;QAEzB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,SAAS,GAAc,MAAM,CAAC,GAAG,CAAC;QACxC,IAAI,SAAS,CAAC,SAAS,KAAK,WAAW,CAAC,iBAAiB,EAAE;YACzD,OAAO;SACR;IACH,CAAC;;AA9BwB,kCAAsB,GAAG,UAAU,AAAb,CAAc;AACpC,oBAAQ,GAAG,CAAC,WAAW,CAAC,AAAhB,CAAgB","sourcesContent":["import {DnaViewModel} from \"@ddd-qc/lit-happ\";\nimport {\n AppSignal,\n Signal, SignalCb, SignalType,\n} from \"@holochain/client\";\nimport {ProfilesZvm} from \"./profiles.zvm\";\n\n\n/** */\n// export interface ProfilesDnaPerspective {\n// agentPresences: Record<string, number>,\n// }\n\n\n/**\n * ViewModel fo a DNA holding a Profiles zome\n */\nexport class ProfilesDvm extends DnaViewModel {\n\n static override readonly DEFAULT_BASE_ROLE_NAME = \"profiles\";\n static override readonly ZVM_DEFS = [ProfilesZvm]\n readonly signalHandler?: SignalCb = this.handleSignal;\n\n\n /** QoL Helpers */\n get profilesZvm(): ProfilesZvm {\n return this.getZomeViewModel(ProfilesZvm.DEFAULT_ZOME_NAME) as ProfilesZvm;\n }\n\n /** -- Perspective -- */\n\n\n get perspective(): Object {\n return {}\n }\n\n\n /** -- Signaling -- */\n\n /** */\n handleSignal(signal: Signal) {\n //console.log(\"profilesZvm Received Signal\", signal);\n if (!(SignalType.App in signal)) {\n return;\n }\n const appSignal: AppSignal = signal.App;\n if (appSignal.zome_name !== ProfilesZvm.DEFAULT_ZOME_NAME) {\n return;\n }\n }\n\n\n}\n"]}
|
package/dist/profiles.zvm.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ export type ProfilesPerspective = {
|
|
|
9
9
|
export declare class ProfilesZvm extends ZomeViewModel {
|
|
10
10
|
static readonly ZOME_PROXY: typeof ProfilesProxy;
|
|
11
11
|
get zomeProxy(): ProfilesProxy;
|
|
12
|
-
protected hasChanged(): boolean;
|
|
13
12
|
initializePerspectiveOnline(): Promise<void>;
|
|
14
13
|
probeAllInner(): void;
|
|
15
14
|
get perspective(): ProfilesPerspective;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.zvm.d.ts","sourceRoot":"","sources":["../src/profiles.zvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAC,cAAc,EAA2C,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAKxD,MAAM,MAAM,mBAAmB,GAAG;IAEhC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAK1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C,CAAA;AAMD,qBAAa,WAAY,SAAQ,aAAa;IAE5C,gBAAyB,UAAU,uBAAiB;IACpD,IAAI,SAAS,IAAI,aAAa,CAA2C;
|
|
1
|
+
{"version":3,"file":"profiles.zvm.d.ts","sourceRoot":"","sources":["../src/profiles.zvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAC,cAAc,EAA2C,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAKxD,MAAM,MAAM,mBAAmB,GAAG;IAEhC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAK1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C,CAAA;AAMD,qBAAa,WAAY,SAAQ,aAAa;IAE5C,gBAAyB,UAAU,uBAAiB;IACpD,IAAI,SAAS,IAAI,aAAa,CAA2C;IAI1D,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlD,aAAa;IAOtB,IAAI,WAAW,IAAI,mBAAmB,CAOrC;IAED,OAAO,CAAC,SAAS,CAAuC;IAExD,OAAO,CAAC,SAAS,CAAsC;IAGvD,YAAY,IAAI,OAAO,GAAG,SAAS;IAEnC,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS;IAItD,SAAS,IAAI,cAAc,EAAE;IAE7B,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,MAAM;IAO3B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAUjD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;IAYzC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAsBlE,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;IAQlD,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAiBrE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAKvD"}
|
package/dist/profiles.zvm.js
CHANGED
package/dist/profiles.zvm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.zvm.js","sourceRoot":"","sources":["../src/profiles.zvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAiB,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAkBxC,MAAM,OAAO,WAAY,SAAQ,aAAa;IAA9C;;
|
|
1
|
+
{"version":3,"file":"profiles.zvm.js","sourceRoot":"","sources":["../src/profiles.zvm.ts"],"names":[],"mappings":"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","sourcesContent":["import {ZomeViewModel} from \"@ddd-qc/lit-happ\";\nimport {Profile} from \"./bindings/profiles.types\";\nimport {AgentPubKeyB64, decodeHashFromBase64, encodeHashToBase64} from \"@holochain/client\";\nimport {ProfilesProxy} from \"./bindings/profiles.proxy\";\nimport {decode} from \"@msgpack/msgpack\";\n\n\n/** */\nexport type ProfilesPerspective = {\n /* AgentPubKeyB64 -> Profile */\n profiles: Record<AgentPubKeyB64, Profile>,\n ///* AgentPubKeyB64 -> Profile hash */\n //profile_ahs: Record<AgentPubKeyB64, ActionHashB64>,\n\n /** Nickname -> AgentPubKeyB64 */\n reversed: Record<string, AgentPubKeyB64>,\n}\n\n\n/**\n *\n */\nexport class ProfilesZvm extends ZomeViewModel {\n\n static override readonly ZOME_PROXY = ProfilesProxy;\n get zomeProxy(): ProfilesProxy {return this._zomeProxy as ProfilesProxy;}\n\n\n /** */\n override async initializePerspectiveOnline(): Promise<void> {\n await this.probeAllProfiles();\n }\n\n /** */\n override probeAllInner() {\n this.probeAllProfiles();\n }\n\n /** -- Perspective -- */\n\n /* */\n get perspective(): ProfilesPerspective {\n const pers: ProfilesPerspective = {\n profiles: this._profiles,\n reversed: this._reversed,\n //profile_ahs: this._profile_ahs,\n };\n return pers;\n }\n\n private _profiles: Record<AgentPubKeyB64, Profile> = {};\n //private _profile_ahs: Record<AgentPubKeyB64, ActionHashB64> = {};\n private _reversed: Record<string, AgentPubKeyB64> = {};\n\n\n getMyProfile(): Profile | undefined { return this._profiles[this.cell.address.agentId.b64] }\n\n getProfile(agent: AgentPubKeyB64): Profile | undefined {return this._profiles[agent]}\n\n //getProfileHash(agent: AgentPubKeyB64): ActionHashB64 | undefined {return this._profile_ahs[agent]}\n\n getAgents(): AgentPubKeyB64[] { return Object.keys(this._profiles)}\n\n getNames(): string[] { return Object.keys(this._reversed)}\n\n\n /** Dump perspective as JSON */\n exportPerspective(): string {\n //console.log(\"exportPerspective()\", perspMat);\n return JSON.stringify(this._profiles, null, 2);\n }\n\n\n /** */\n importPerspective(json: string, _mapping?: Object) {\n const profiles = JSON.parse(json) as Record<AgentPubKeyB64, Profile>;\n for (const [pubKey, profileMat] of Object.entries(profiles)) {\n this.storeProfile(pubKey, profileMat);\n }\n }\n\n /** -- Methods -- */\n\n /* */\n findProfiles(names: string[]): AgentPubKeyB64[] {\n let res: AgentPubKeyB64[] = []\n for (const name of names) {\n if (this._reversed[name]) {\n res.push(this._reversed[name]!)\n }\n }\n return res;\n }\n\n\n /** */\n async probeAllProfiles(): Promise<Record<AgentPubKeyB64, Profile>> {\n let allAgents;\n /** Attempt a retry on fail as this can create an entry (path anchor) and generate a 'head has moved' error */\n try {\n allAgents = await this.zomeProxy.getAgentsWithProfile();\n } catch(e) {\n allAgents = await this.zomeProxy.getAgentsWithProfile();\n }\n for (const agentPubKey of allAgents) {\n const maybeProfile = await this.zomeProxy.getAgentProfile(agentPubKey);\n if (!maybeProfile) {\n continue;\n }\n const profile: Profile = decode((maybeProfile.entry as any).Present.entry) as Profile;\n this.storeProfile(encodeHashToBase64(agentPubKey), profile);\n }\n this.notifySubscribers();\n return this._profiles;\n }\n\n\n /** */\n storeProfile(pubKeyB64: AgentPubKeyB64, profile: Profile) {\n this._profiles[pubKeyB64] = profile;\n this._reversed[profile.nickname] = pubKeyB64;\n this.notifySubscribers();\n }\n\n\n /** */\n async probeProfile(pubKeyB64: AgentPubKeyB64): Promise<Profile | undefined> {\n const maybeProfile = await this.zomeProxy.getAgentProfile(decodeHashFromBase64(pubKeyB64));\n console.log(\"probeProfile() maybeProfile\", maybeProfile);\n if (!maybeProfile) {\n return;\n }\n // const profileEntry: any = decode((maybeProfile.entry as any).Present.entry);\n // console.log(\"probeProfile() profileEntry\", profileEntry);\n //const profile: Profile = decode(profileEntry.record.entry.Present.entry) as Profile;\n const profile: Profile = decode((maybeProfile.entry as any).Present.entry) as Profile;\n console.log(\"probeProfile() profile\", profile);\n this.storeProfile(pubKeyB64, profile);\n return profile;\n }\n\n\n /** */\n async createMyProfile(profile: Profile): Promise<void> {\n /*const record =*/ await this.zomeProxy.createProfile(profile);\n this.storeProfile(this.cell.address.agentId.b64, profile);\n }\n\n\n /** */\n async updateMyProfile(profile: Profile): Promise<void> {\n /*const record =*/ await this.zomeProxy.updateProfile(profile);\n this.storeProfile(this.cell.address.agentId.b64, profile);\n }\n\n}\n"]}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { DnaViewModel } from "@ddd-qc/lit-happ";
|
|
2
|
-
import {
|
|
2
|
+
import { Signal, SignalCb } from "@holochain/client";
|
|
3
3
|
import { ProfilesAltZvm } from "./profilesAlt.zvm";
|
|
4
4
|
export declare class ProfilesAltDvm extends DnaViewModel {
|
|
5
5
|
static readonly DEFAULT_BASE_ROLE_NAME = "profiles";
|
|
6
6
|
static readonly ZVM_DEFS: (typeof ProfilesAltZvm)[];
|
|
7
|
-
readonly signalHandler?:
|
|
7
|
+
readonly signalHandler?: SignalCb;
|
|
8
8
|
get profilesZvm(): ProfilesAltZvm;
|
|
9
|
-
protected hasChanged(): boolean;
|
|
10
9
|
get perspective(): Object;
|
|
11
|
-
handleSignal(signal:
|
|
10
|
+
handleSignal(signal: Signal): void;
|
|
12
11
|
exportPerspective(): string;
|
|
13
12
|
importPerspective(json: string, canPublish: boolean): Promise<void>;
|
|
14
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profilesAlt.dvm.d.ts","sourceRoot":"","sources":["../src/profilesAlt.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"profilesAlt.dvm.d.ts","sourceRoot":"","sources":["../src/profilesAlt.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEL,MAAM,EAAE,QAAQ,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAMjD,qBAAa,cAAe,SAAQ,YAAY;IAE9C,gBAAyB,sBAAsB,cAAc;IAC7D,gBAAyB,QAAQ,4BAAmB;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAqB;IAItD,IAAI,WAAW,IAAI,cAAc,CAEhC;IAID,IAAI,WAAW,IAAI,MAAM,CAExB;IAMD,YAAY,CAAC,MAAM,EAAE,MAAM;IAe3B,iBAAiB,IAAI,MAAM;IASrB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;CAQ1D"}
|
package/dist/profilesAlt.dvm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DnaViewModel, holoIdReviver } from "@ddd-qc/lit-happ";
|
|
2
|
+
import { SignalType, } from "@holochain/client";
|
|
2
3
|
import { ProfilesZvm } from "./profiles.zvm";
|
|
3
4
|
import { ProfilesAltZvm } from "./profilesAlt.zvm";
|
|
4
5
|
export class ProfilesAltDvm extends DnaViewModel {
|
|
@@ -9,15 +10,15 @@ export class ProfilesAltDvm extends DnaViewModel {
|
|
|
9
10
|
get profilesZvm() {
|
|
10
11
|
return this.getZomeViewModel(ProfilesAltZvm.DEFAULT_ZOME_NAME);
|
|
11
12
|
}
|
|
12
|
-
hasChanged() {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
13
|
get perspective() {
|
|
16
14
|
return {};
|
|
17
15
|
}
|
|
18
16
|
handleSignal(signal) {
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
if (!(SignalType.App in signal)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const appSignal = signal.App;
|
|
21
|
+
if (appSignal.zome_name !== ProfilesZvm.DEFAULT_ZOME_NAME) {
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profilesAlt.dvm.js","sourceRoot":"","sources":["../src/profilesAlt.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"profilesAlt.dvm.js","sourceRoot":"","sources":["../src/profilesAlt.dvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEa,UAAU,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAMjD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAAhD;;QAIW,kBAAa,GAAc,IAAI,CAAC,YAAY,CAAC;IAkDxD,CAAC;IA9CC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAA;IAClF,CAAC;IAID,IAAI,WAAW;QACb,OAAO,EAAE,CAAA;IACX,CAAC;IAMD,YAAY,CAAC,MAAc;QAEzB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,SAAS,GAAc,MAAM,CAAC,GAAG,CAAC;QACxC,IAAI,SAAS,CAAC,SAAS,KAAK,WAAW,CAAC,iBAAiB,EAAE;YACzD,OAAO;SACR;IACH,CAAC;IAMD,iBAAiB;QACf,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxC,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAID,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,UAAmB;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAQ,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;;AAjDwB,qCAAsB,GAAG,UAAU,AAAb,CAAc;AACpC,uBAAQ,GAAG,CAAC,cAAc,CAAC,AAAnB,CAAmB","sourcesContent":["import {DnaViewModel, holoIdReviver} from \"@ddd-qc/lit-happ\";\nimport {\n AppSignal,\n Signal, SignalCb, SignalType,\n} from \"@holochain/client\";\nimport {ProfilesZvm} from \"./profiles.zvm\";\nimport {ProfilesAltZvm} from \"./profilesAlt.zvm\";\n\n\n/**\n * ViewModel fo a DNA holding a Profiles zome\n */\nexport class ProfilesAltDvm extends DnaViewModel {\n\n static override readonly DEFAULT_BASE_ROLE_NAME = \"profiles\";\n static override readonly ZVM_DEFS = [ProfilesAltZvm]\n readonly signalHandler?: SignalCb = this.handleSignal;\n\n\n /** QoL Helpers */\n get profilesZvm(): ProfilesAltZvm {\n return this.getZomeViewModel(ProfilesAltZvm.DEFAULT_ZOME_NAME) as ProfilesAltZvm\n }\n\n /** -- Perspective -- */\n\n get perspective(): Object {\n return {}\n }\n\n\n /** -- Signaling -- */\n\n /** */\n handleSignal(signal: Signal) {\n //console.log(\"ProfilesAltDvm Received Signal\", signal);\n if (!(SignalType.App in signal)) {\n return;\n }\n const appSignal: AppSignal = signal.App;\n if (appSignal.zome_name !== ProfilesZvm.DEFAULT_ZOME_NAME) {\n return;\n }\n }\n\n\n /** -- Import / Export -- */\n\n /** Dump perspective as JSON */\n exportPerspective(): string {\n const dvmExport: any = {};\n const tJson = this.profilesZvm.export();\n dvmExport[ProfilesZvm.DEFAULT_ZOME_NAME] = JSON.parse(tJson);\n return JSON.stringify(dvmExport, null, 2);\n }\n\n\n /** */\n async importPerspective(json: string, canPublish: boolean) {\n const external = JSON.parse(json, holoIdReviver) as any;\n const profiles = external[ProfilesZvm.DEFAULT_ZOME_NAME];\n this.profilesZvm.import(JSON.stringify(profiles), canPublish);\n this.notifySubscribers();\n }\n\n\n}\n"]}
|
|
@@ -7,7 +7,7 @@ export declare class ProfilesAltZvm extends ZomeViewModelWithSignals {
|
|
|
7
7
|
static readonly ZOME_PROXY: typeof ProfilesAltProxy;
|
|
8
8
|
get zomeProxy(): ProfilesAltProxy;
|
|
9
9
|
comparable(): Object;
|
|
10
|
-
|
|
10
|
+
hasChanged(): boolean;
|
|
11
11
|
initializePerspectiveOnline(): Promise<void>;
|
|
12
12
|
probeAllInner(): void;
|
|
13
13
|
get perspective(): ProfilesAltPerspective;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profilesAlt.zvm.d.ts","sourceRoot":"","sources":["../src/profilesAlt.zvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,YAAY,EAEZ,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,gDAAgD,CAAC;AAG7E,OAAO,EAEL,sBAAsB,EAGvB,MAAM,2BAA2B,CAAC;AAMnC,qBAAa,cAAe,SAAQ,wBAAwB;IAI1D,gBAAyB,UAAU,0BAAoB;IACvD,IAAI,SAAS,IAAI,gBAAgB,CAA8C;IAItE,UAAU,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"profilesAlt.zvm.d.ts","sourceRoot":"","sources":["../src/profilesAlt.zvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,YAAY,EAEZ,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,gDAAgD,CAAC;AAG7E,OAAO,EAEL,sBAAsB,EAGvB,MAAM,2BAA2B,CAAC;AAMnC,qBAAa,cAAe,SAAQ,wBAAwB;IAI1D,gBAAyB,UAAU,0BAAoB;IACvD,IAAI,SAAS,IAAI,gBAAgB,CAA8C;IAItE,UAAU,IAAI,MAAM;IASpB,UAAU,IAAI,OAAO;IAaf,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlD,aAAa;IAMtB,IAAI,WAAW,IAAI,sBAAsB,CAExC;IAKD,OAAO,CAAC,YAAY,CAAsE;IAK1F,YAAY,IAAI,OAAO,GAAG,SAAS;IASpB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnE,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO;IAe9D,gBAAgB;IAQhB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAgB3D,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE,MAAM,IAAI,MAAM;IAOhB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;CAoBzC"}
|
package/dist/profilesAlt.zvm.js
CHANGED
|
@@ -26,7 +26,7 @@ export class ProfilesAltZvm extends ZomeViewModelWithSignals {
|
|
|
26
26
|
if (current.profileCount != prev.profileCount)
|
|
27
27
|
return true;
|
|
28
28
|
for (let i = 0; i < current.profileCount; i += 1) {
|
|
29
|
-
if (current.profiles[i] != prev.profiles[i]) {
|
|
29
|
+
if (JSON.stringify(current.profiles[i]) != JSON.stringify(prev.profiles[i])) {
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profilesAlt.zvm.js","sourceRoot":"","sources":["../src/profilesAlt.zvm.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActionId,\n AgentId,\n EntryId, holoIdReviver,\n LinkPulseMat,\n StateChangeType,\n ZomeViewModelWithSignals\n} from \"@ddd-qc/lit-happ\";\nimport {Profile} from \"./bindings/profiles.types\";\nimport {decode} from \"@msgpack/msgpack\";\nimport {ProfilesAltProxy} from \"./bindings/profilesAlt.proxy\";\nimport {EntryPulseMat} from \"@ddd-qc/lit-happ/dist/ZomeViewModelWithSignals\";\nimport {ProfilesLinkType} from \"./bindings/profiles.integrity\";\nimport {ProfilesAltUnitEnum} from \"./bindings/profilesAlt.integrity\";\nimport {\n ProfilesAltComparable,\n ProfilesAltPerspective,\n ProfilesAltPerspectiveMutable,\n ProfilesAltSnapshot\n} from \"./profilesAlt.perspective\";\n\n\n/**\n *\n */\nexport class ProfilesAltZvm extends ZomeViewModelWithSignals {\n\n /** -- Concret -- */\n\n static override readonly ZOME_PROXY = ProfilesAltProxy;\n get zomeProxy(): ProfilesAltProxy {return this._zomeProxy as ProfilesAltProxy;}\n\n\n /** */\n override comparable(): Object {\n const res: ProfilesAltComparable = {\n profileCount: this._perspective.profileByAgent.size,\n profiles: Array.from(this.perspective.profiles.values()).map((pair) => pair[0]),\n };\n return res;\n }\n\n /* */\n protected hasChanged(): boolean {\n const current = this.comparable() as ProfilesAltComparable;\n const prev = this._previousPerspective as ProfilesAltComparable;\n if (!prev) { return true }\n if (current.profileCount != prev.profileCount) return true;\n for (let i = 0; i < current.profileCount; i+= 1) {\n if (current.profiles[i] != prev.profiles[i]) { return true }\n }\n return false;\n }\n\n\n /** */\n override async initializePerspectiveOnline(): Promise<void> {\n await this.probeAllProfiles();\n }\n\n\n /** */\n override probeAllInner() {\n this.probeAllProfiles();\n }\n\n\n /* */\n get perspective(): ProfilesAltPerspective {\n return this._perspective.readonly;\n }\n\n\n /** -- */\n\n private _perspective: ProfilesAltPerspectiveMutable = new ProfilesAltPerspectiveMutable();\n\n\n /** -- Getters -- */\n\n getMyProfile(): Profile | undefined {\n return this._perspective.getProfile(this.cell.address.agentId);\n }\n\n\n\n /** -- Signals -- */\n\n /** */\n override async handleLinkPulse(pulse: LinkPulseMat, _from: AgentId): Promise<void> {\n switch (pulse.link_type) {\n case ProfilesLinkType.PrefixPath:\n case ProfilesLinkType.PathToAgent: {\n const agentEh = new EntryId(pulse.target.b64);\n const agentId = AgentId.from(agentEh);\n if (pulse.state != StateChangeType.Delete) {\n await this.findProfile(agentId);\n }\n }\n break;\n case ProfilesLinkType.AgentToProfile: {\n const agentEh = new EntryId(pulse.base.b64); // Make sure its an EntryHash\n const agentId = AgentId.from(agentEh);\n const profileAh = ActionId.from(pulse.target);\n if (pulse.state == StateChangeType.Delete) {\n this._perspective.unstoreAgentProfile(agentId, profileAh)\n } else {\n this._perspective.storeAgentProfile(agentId, profileAh)\n }\n }\n break;\n }\n }\n\n\n /** */\n override async handleEntryPulse(pulse: EntryPulseMat, _from: AgentId) {\n switch (pulse.entryType) {\n case ProfilesAltUnitEnum.Profile:\n const profile = decode(pulse.bytes) as Profile;\n if (pulse.state != StateChangeType.Delete) {\n this._perspective.storeProfile(pulse.ah, profile, pulse.ts);\n }\n break;\n }\n }\n\n\n /** -- Methods -- */\n\n /** */\n async probeAllProfiles()/*: Promise<Record<AgentPubKeyB64, ProfileMat>>*/ {\n try {\n await this.zomeProxy.probeProfiles();\n } catch(e) {}\n }\n\n\n /** */\n async findProfile(agentId: AgentId): Promise<Profile | undefined> {\n try {\n const maybeProfilePair = await this.zomeProxy.findProfile(agentId.hash);\n console.log(\"findProfile()\", agentId, maybeProfilePair);\n if (!maybeProfilePair) {\n return;\n }\n return maybeProfilePair[1];\n } catch(e) {\n return undefined;\n }\n return undefined;\n }\n\n\n /** */\n async createMyProfile(profile: Profile): Promise<void> {\n await this.zomeProxy.createProfile([profile, this.cell.address.agentId.hash]);\n }\n\n\n /** */\n async updateMyProfile(profile: Profile): Promise<void> {\n await this.zomeProxy.updateProfile([profile, this.cell.address.agentId.hash]);\n }\n\n\n /** */\n async createProfile(profile: Profile, agentId: AgentId): Promise<void> {\n await this.zomeProxy.createProfile([profile, agentId.hash]);\n }\n\n\n /** */\n async updateProfile(profile: Profile, agentId: AgentId): Promise<void> {\n await this.zomeProxy.updateProfile([profile, agentId.hash]);\n }\n\n\n /** -- Import / Export -- */\n\n /** Dump perspective as JSON */\n export(): string {\n const snapshot = this._perspective.makeSnapshot();\n return JSON.stringify(snapshot, null, 2);\n }\n\n\n /** */\n import(json: string, canPublish: boolean) {\n const snapshot = JSON.parse(json, holoIdReviver) as ProfilesAltSnapshot;\n if (canPublish) {\n for (const [agentId, _profileAh, profile, _ts] of snapshot.all) {\n console.log(\"ProfilesAltZvm.import() publish profile\", agentId.short, profile.nickname);\n const maybe = this._perspective.getProfile(agentId);\n if (!maybe) {\n /*await*/ this.createProfile(profile, agentId);\n } else {\n if (maybe != profile) {\n this.updateProfile(profile, agentId);\n }\n }\n }\n return;\n }\n /** */\n this._perspective.restore(snapshot);\n this.notifySubscribers();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"profilesAlt.zvm.js","sourceRoot":"","sources":["../src/profilesAlt.zvm.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActionId,\n AgentId,\n EntryId, holoIdReviver,\n LinkPulseMat,\n StateChangeType,\n ZomeViewModelWithSignals\n} from \"@ddd-qc/lit-happ\";\nimport {Profile} from \"./bindings/profiles.types\";\nimport {decode} from \"@msgpack/msgpack\";\nimport {ProfilesAltProxy} from \"./bindings/profilesAlt.proxy\";\nimport {EntryPulseMat} from \"@ddd-qc/lit-happ/dist/ZomeViewModelWithSignals\";\nimport {ProfilesLinkType} from \"./bindings/profiles.integrity\";\nimport {ProfilesAltUnitEnum} from \"./bindings/profilesAlt.integrity\";\nimport {\n ProfilesAltComparable,\n ProfilesAltPerspective,\n ProfilesAltPerspectiveMutable,\n ProfilesAltSnapshot\n} from \"./profilesAlt.perspective\";\n\n\n/**\n *\n */\nexport class ProfilesAltZvm extends ZomeViewModelWithSignals {\n\n /** -- Concret -- */\n\n static override readonly ZOME_PROXY = ProfilesAltProxy;\n get zomeProxy(): ProfilesAltProxy {return this._zomeProxy as ProfilesAltProxy;}\n\n\n /** */\n override comparable(): Object {\n const res: ProfilesAltComparable = {\n profileCount: this._perspective.profileByAgent.size,\n profiles: Array.from(this.perspective.profiles.values()).map((pair) => pair[0]),\n };\n return res;\n }\n\n /* */\n override hasChanged(): boolean {\n const current = this.comparable() as ProfilesAltComparable;\n const prev = this._previousPerspective as ProfilesAltComparable;\n if (!prev) { return true }\n if (current.profileCount != prev.profileCount) return true;\n for (let i = 0; i < current.profileCount; i+= 1) {\n if (JSON.stringify(current.profiles[i]) != JSON.stringify(prev.profiles[i])) { return true }\n }\n return false;\n }\n\n\n /** */\n override async initializePerspectiveOnline(): Promise<void> {\n await this.probeAllProfiles();\n }\n\n\n /** */\n override probeAllInner() {\n this.probeAllProfiles();\n }\n\n\n /* */\n get perspective(): ProfilesAltPerspective {\n return this._perspective.readonly;\n }\n\n\n /** -- */\n\n private _perspective: ProfilesAltPerspectiveMutable = new ProfilesAltPerspectiveMutable();\n\n\n /** -- Getters -- */\n\n getMyProfile(): Profile | undefined {\n return this._perspective.getProfile(this.cell.address.agentId);\n }\n\n\n\n /** -- Signals -- */\n\n /** */\n override async handleLinkPulse(pulse: LinkPulseMat, _from: AgentId): Promise<void> {\n switch (pulse.link_type) {\n case ProfilesLinkType.PrefixPath:\n case ProfilesLinkType.PathToAgent: {\n const agentEh = new EntryId(pulse.target.b64);\n const agentId = AgentId.from(agentEh);\n if (pulse.state != StateChangeType.Delete) {\n await this.findProfile(agentId);\n }\n }\n break;\n case ProfilesLinkType.AgentToProfile: {\n const agentEh = new EntryId(pulse.base.b64); // Make sure its an EntryHash\n const agentId = AgentId.from(agentEh);\n const profileAh = ActionId.from(pulse.target);\n if (pulse.state == StateChangeType.Delete) {\n this._perspective.unstoreAgentProfile(agentId, profileAh)\n } else {\n this._perspective.storeAgentProfile(agentId, profileAh)\n }\n }\n break;\n }\n }\n\n\n /** */\n override async handleEntryPulse(pulse: EntryPulseMat, _from: AgentId) {\n switch (pulse.entryType) {\n case ProfilesAltUnitEnum.Profile:\n const profile = decode(pulse.bytes) as Profile;\n if (pulse.state != StateChangeType.Delete) {\n this._perspective.storeProfile(pulse.ah, profile, pulse.ts);\n }\n break;\n }\n }\n\n\n /** -- Methods -- */\n\n /** */\n async probeAllProfiles()/*: Promise<Record<AgentPubKeyB64, ProfileMat>>*/ {\n try {\n await this.zomeProxy.probeProfiles();\n } catch(e) {}\n }\n\n\n /** */\n async findProfile(agentId: AgentId): Promise<Profile | undefined> {\n try {\n const maybeProfilePair = await this.zomeProxy.findProfile(agentId.hash);\n console.log(\"findProfile()\", agentId, maybeProfilePair);\n if (!maybeProfilePair) {\n return;\n }\n return maybeProfilePair[1];\n } catch(e) {\n return undefined;\n }\n return undefined;\n }\n\n\n /** */\n async createMyProfile(profile: Profile): Promise<void> {\n await this.zomeProxy.createProfile([profile, this.cell.address.agentId.hash]);\n }\n\n\n /** */\n async updateMyProfile(profile: Profile): Promise<void> {\n await this.zomeProxy.updateProfile([profile, this.cell.address.agentId.hash]);\n }\n\n\n /** */\n async createProfile(profile: Profile, agentId: AgentId): Promise<void> {\n await this.zomeProxy.createProfile([profile, agentId.hash]);\n }\n\n\n /** */\n async updateProfile(profile: Profile, agentId: AgentId): Promise<void> {\n await this.zomeProxy.updateProfile([profile, agentId.hash]);\n }\n\n\n /** -- Import / Export -- */\n\n /** Dump perspective as JSON */\n export(): string {\n const snapshot = this._perspective.makeSnapshot();\n return JSON.stringify(snapshot, null, 2);\n }\n\n\n /** */\n import(json: string, canPublish: boolean) {\n const snapshot = JSON.parse(json, holoIdReviver) as ProfilesAltSnapshot;\n if (canPublish) {\n for (const [agentId, _profileAh, profile, _ts] of snapshot.all) {\n console.log(\"ProfilesAltZvm.import() publish profile\", agentId.short, profile.nickname);\n const maybe = this._perspective.getProfile(agentId);\n if (!maybe) {\n /*await*/ this.createProfile(profile, agentId);\n } else {\n if (maybe != profile) {\n this.updateProfile(profile, agentId);\n }\n }\n }\n return;\n }\n /** */\n this._perspective.restore(snapshot);\n this.notifySubscribers();\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddd-qc/profiles-dvm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "DnaViewModel implementation for the Profiles zome.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@ddd-qc/lit-happ": "file:../lit-happ",
|
|
34
34
|
"@holochain-open-dev/core-types": "0.7.0",
|
|
35
|
-
"@holochain/client": "=0.18.0-dev.
|
|
35
|
+
"@holochain/client": "=0.18.0-dev.13",
|
|
36
36
|
"@msgpack/msgpack": "^2.7.2",
|
|
37
37
|
"lit": "3.0.2"
|
|
38
38
|
},
|