@ddd-qc/lit-happ 0.23.1 → 0.24.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/HappElement.d.ts +2 -2
- package/dist/HappElement.js +7 -6
- package/dist/HappElement.js.map +1 -1
- package/dist/HappViewModel.d.ts +1 -1
- package/dist/HappViewModel.js +5 -3
- package/dist/HappViewModel.js.map +1 -1
- package/dist/globals.js +6 -6
- package/dist/globals.js.map +1 -1
- package/package.json +2 -2
package/dist/HappElement.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class HappElement extends LitElement {
|
|
|
14
14
|
appProxy: AppProxy;
|
|
15
15
|
hvm: HappViewModel;
|
|
16
16
|
/** Ctor */
|
|
17
|
-
protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId);
|
|
17
|
+
protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL);
|
|
18
18
|
/** */
|
|
19
19
|
hvmConstructed(): Promise<void>;
|
|
20
20
|
/** */
|
|
@@ -22,7 +22,7 @@ export declare class HappElement extends LitElement {
|
|
|
22
22
|
/** */
|
|
23
23
|
perspectiveInitializedOnline(): Promise<void>;
|
|
24
24
|
/** */
|
|
25
|
-
protected constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId): Promise<void>;
|
|
25
|
+
protected constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL): Promise<void>;
|
|
26
26
|
/** */
|
|
27
27
|
initializePerspective(): Promise<void>;
|
|
28
28
|
/** */
|
package/dist/HappElement.js
CHANGED
|
@@ -9,9 +9,9 @@ import { decodeHashFromBase64, encodeHashToBase64 } from "@holochain/client";
|
|
|
9
9
|
*/
|
|
10
10
|
export class HappElement extends LitElement {
|
|
11
11
|
/** Ctor */
|
|
12
|
-
constructor(port_or_socket, appId) {
|
|
12
|
+
constructor(port_or_socket, appId, adminUrl) {
|
|
13
13
|
super();
|
|
14
|
-
/* await */ this.constructHvm(port_or_socket, appId);
|
|
14
|
+
/* await */ this.constructHvm(port_or_socket, appId, adminUrl);
|
|
15
15
|
}
|
|
16
16
|
/** */
|
|
17
17
|
async hvmConstructed() { }
|
|
@@ -20,8 +20,7 @@ export class HappElement extends LitElement {
|
|
|
20
20
|
/** */
|
|
21
21
|
async perspectiveInitializedOnline() { }
|
|
22
22
|
/** */
|
|
23
|
-
async constructHvm(port_or_socket, appId) {
|
|
24
|
-
this.appProxy = await ConductorAppProxy.new(port_or_socket);
|
|
23
|
+
async constructHvm(port_or_socket, appId, adminUrl) {
|
|
25
24
|
const hvmDef = this.constructor.HVM_DEF;
|
|
26
25
|
if (!hvmDef) {
|
|
27
26
|
throw Error("HVM_DEF static field undefined in HappElement subclass " + this.constructor.name);
|
|
@@ -30,7 +29,9 @@ export class HappElement extends LitElement {
|
|
|
30
29
|
if (appId) {
|
|
31
30
|
hvmDef.id = appId;
|
|
32
31
|
}
|
|
32
|
+
this.appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl);
|
|
33
33
|
this.hvm = await HappViewModel.new(this, this.appProxy, hvmDef);
|
|
34
|
+
await this.hvm.authorizeAllZomeCalls(this.appProxy.adminWs);
|
|
34
35
|
await this.hvmConstructed();
|
|
35
36
|
await this.initializePerspective();
|
|
36
37
|
}
|
|
@@ -48,7 +49,7 @@ export class HappElement extends LitElement {
|
|
|
48
49
|
if (!dvm) {
|
|
49
50
|
return Promise.reject("No DNA found at given HCL: " + hcl.toString());
|
|
50
51
|
}
|
|
51
|
-
const netInfoMap = this.appProxy.networkInfo(
|
|
52
|
+
const netInfoMap = this.appProxy.networkInfo({ dnas: [decodeHashFromBase64(dvm.cell.dnaHash)] });
|
|
52
53
|
return netInfoMap[dvm.cell.dnaHash][1];
|
|
53
54
|
}
|
|
54
55
|
/** */
|
|
@@ -88,7 +89,7 @@ export class HappElement extends LitElement {
|
|
|
88
89
|
/** Call NetworkInfo per AgentPubKey */
|
|
89
90
|
const allNetInfos = {};
|
|
90
91
|
for (const [agent, dnaHashes] of Object.entries(dnaMap)) {
|
|
91
|
-
const netInfos = await this.appProxy.networkInfo(
|
|
92
|
+
const netInfos = await this.appProxy.networkInfo({ dnas: dnaHashes.map((dna) => decodeHashFromBase64(dna)) });
|
|
92
93
|
for (const [dnaHash, infoPair] of Object.entries(netInfos)) {
|
|
93
94
|
const idStr = CellIdStr(decodeHashFromBase64(dnaHash), decodeHashFromBase64(agent));
|
|
94
95
|
allNetInfos[idStr] = infoPair;
|
package/dist/HappElement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HappElement.js","sourceRoot":"","sources":["../src/HappElement.ts"],"names":[],"mappings":"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","sourcesContent":["import {LitElement} from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n BaseRoleName,\n AppProxy,\n ConductorAppProxy,\n HCL,\n Dictionary,\n flattenCells,\n prettyDate,\n CellIdStr, str2CellId\n} from \"@ddd-qc/cell-proxy\";\nimport {HappViewModel} from \"./HappViewModel\";\nimport {CellDef, HvmDef} from \"./definitions\";\nimport {\n AgentPubKeyB64,\n AppWebsocket,\n ClonedCell, decodeHashFromBase64,\n DnaHashB64,\n encodeHashToBase64,\n InstalledAppId,\n NetworkInfo, Timestamp\n} from \"@holochain/client\";\nimport {DnaViewModel} from \"./DnaViewModel\";\nimport {CellId} from \"@holochain/client/lib/types\";\nimport * as net from \"net\";\n\n\n/**\n *\n */\nexport class HappElement extends LitElement {\n\n /** Must be defined by subclass */\n static HVM_DEF: HvmDef;\n\n /** Set during init triggered at ctor */\n appProxy!: AppProxy;\n @state() hvm!: HappViewModel;\n\n\n /** Ctor */\n protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId) {\n super();\n /* await */ this.constructHvm(port_or_socket, appId);\n }\n\n /** */\n async hvmConstructed(): Promise<void> {}\n /** */\n async perspectiveInitializedOffline(): Promise<void> {}\n /** */\n async perspectiveInitializedOnline(): Promise<void> {}\n\n\n /** */\n protected async constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId): Promise<void> {\n this.appProxy = await ConductorAppProxy.new(port_or_socket);\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n if (!hvmDef) {\n throw Error(\"HVM_DEF static field undefined in HappElement subclass \" + this.constructor.name);\n }\n /** Override appId */\n if (appId) {\n hvmDef.id = appId;\n }\n this.hvm = await HappViewModel.new(this, this.appProxy, hvmDef);\n await this.hvmConstructed();\n await this.initializePerspective();\n }\n\n\n /** */\n async initializePerspective(): Promise<void> {\n await this.hvm.initializePerspectiveOffline();\n await this.perspectiveInitializedOffline();\n // TODO move this to a later stage\n await this.hvm.initializePerspectiveOnline();\n await this.perspectiveInitializedOnline();\n }\n\n\n /** */\n async networkInfoCell(hcl: HCL): Promise<NetworkInfo> {\n const dvm = this.hvm.getDvm(hcl);\n if (!dvm) {\n return Promise.reject(\"No DNA found at given HCL: \" + hcl.toString());\n }\n const netInfoMap = this.appProxy.networkInfo(dvm.cell.agentPubKey, [dvm.cell.dnaHash]);\n return netInfoMap[dvm.cell.dnaHash][1];\n }\n\n\n /** */\n async networkInfoAll(baseRoleName?: string): Promise<Record<CellIdStr, [Timestamp, NetworkInfo]>> {\n console.log(`networkInfoAll() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n return Promise.reject(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n console.log(`networkInfoAll() cellIds`, cellIds);\n /* Sort by agent key */\n let dnaMap: Record<AgentPubKeyB64, DnaHashB64[]> = {}\n for (const cellId of cellIds) {\n const key = encodeHashToBase64(cellId[1]);\n if (!dnaMap[key]) {\n dnaMap[key] = [];\n }\n dnaMap[key].push(encodeHashToBase64(cellId[0]))\n }\n console.log(`networkInfoAll() dnaMap`, dnaMap);\n /** Call NetworkInfo per AgentPubKey */\n const allNetInfos = {};\n for (const [agent, dnaHashes] of Object.entries(dnaMap)) {\n const netInfos = await this.appProxy.networkInfo(agent, dnaHashes);\n for (const [dnaHash, infoPair] of Object.entries(netInfos)) {\n const idStr = CellIdStr(decodeHashFromBase64(dnaHash), decodeHashFromBase64(agent));\n allNetInfos[idStr] = infoPair;\n }\n }\n /* Done */\n return allNetInfos;\n }\n\n\n /** */\n dumpLastestNetworkInfo(baseRoleName?: string) {\n console.log(`dumpLastestNetworkInfo() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n throw Error(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n let logs = cellIds.map((cellId) => {\n const str = CellIdStr(cellId);\n const logs = this.appProxy.networkInfoLogs[str];\n if (logs.length === 0) {\n return;\n }\n const [ts, info] = logs[logs.length - 1];\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n return {\n ts,\n name: cellName,\n dna: dnaName,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n agent: agentName,\n }\n })\n console.table(logs);\n }\n\n\n /* */\n dumpNetworkInfoLogs(cellIdStr?: string) {\n console.log(`dumpNetworkInfoLogs() \"${cellIdStr}\"`);\n let logMap = this.appProxy.networkInfoLogs;\n if (cellIdStr) {\n logMap = {};\n logMap[cellIdStr] = this.appProxy.networkInfoLogs[cellIdStr];\n }\n for (const [cellIdStr, infoPairs] of Object.entries(logMap)) {\n const cellId = str2CellId(cellIdStr);\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n console.log(`NetworfInfo logs of cell \"${cellName}\" | [${agentName}, ${dnaName}]`);\n const logs = infoPairs\n .map(([ts, info]) => {\n return {\n ts,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n }\n });\n console.table(logs);\n }\n }\n\n\n /** */\n async createClone(baseRoleName: BaseRoleName, cellDef?: CellDef): Promise<[ClonedCell, DnaViewModel]> {\n return this.hvm.cloneDvm(baseRoleName, cellDef);\n }\n\n\n /** */\n shouldUpdate() {\n return !!this.hvm;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HappElement.js","sourceRoot":"","sources":["../src/HappElement.ts"],"names":[],"mappings":"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","sourcesContent":["import {LitElement} from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n BaseRoleName,\n AppProxy,\n ConductorAppProxy,\n HCL,\n flattenCells,\n CellIdStr, str2CellId\n} from \"@ddd-qc/cell-proxy\";\nimport {HappViewModel} from \"./HappViewModel\";\nimport {CellDef, HvmDef} from \"./definitions\";\nimport {\n AgentPubKeyB64,\n AppWebsocket,\n ClonedCell, decodeHashFromBase64,\n DnaHashB64,\n encodeHashToBase64,\n InstalledAppId,\n NetworkInfo, Timestamp\n} from \"@holochain/client\";\nimport {DnaViewModel} from \"./DnaViewModel\";\nimport {CellId} from \"@holochain/client/lib/types\";\nimport * as net from \"net\";\n\n\n/**\n *\n */\nexport class HappElement extends LitElement {\n\n /** Must be defined by subclass */\n static HVM_DEF: HvmDef;\n\n /** Set during init triggered at ctor */\n appProxy!: AppProxy;\n @state() hvm!: HappViewModel;\n\n\n /** Ctor */\n protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL) {\n super();\n /* await */ this.constructHvm(port_or_socket, appId, adminUrl);\n }\n\n /** */\n async hvmConstructed(): Promise<void> {}\n /** */\n async perspectiveInitializedOffline(): Promise<void> {}\n /** */\n async perspectiveInitializedOnline(): Promise<void> {}\n\n\n /** */\n protected async constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL): Promise<void> {\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n if (!hvmDef) {\n throw Error(\"HVM_DEF static field undefined in HappElement subclass \" + this.constructor.name);\n }\n /** Override appId */\n if (appId) {\n hvmDef.id = appId;\n }\n this.appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl);\n this.hvm = await HappViewModel.new(this, this.appProxy, hvmDef);\n await this.hvm.authorizeAllZomeCalls(this.appProxy.adminWs);\n await this.hvmConstructed();\n await this.initializePerspective();\n }\n\n\n /** */\n async initializePerspective(): Promise<void> {\n await this.hvm.initializePerspectiveOffline();\n await this.perspectiveInitializedOffline();\n // TODO move this to a later stage\n await this.hvm.initializePerspectiveOnline();\n await this.perspectiveInitializedOnline();\n }\n\n\n /** */\n async networkInfoCell(hcl: HCL): Promise<NetworkInfo> {\n const dvm = this.hvm.getDvm(hcl);\n if (!dvm) {\n return Promise.reject(\"No DNA found at given HCL: \" + hcl.toString());\n }\n const netInfoMap = this.appProxy.networkInfo({dnas: [decodeHashFromBase64(dvm.cell.dnaHash)]});\n return netInfoMap[dvm.cell.dnaHash][1];\n }\n\n\n /** */\n async networkInfoAll(baseRoleName?: string): Promise<Record<CellIdStr, [Timestamp, NetworkInfo]>> {\n console.log(`networkInfoAll() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n return Promise.reject(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n console.log(`networkInfoAll() cellIds`, cellIds);\n /* Sort by agent key */\n let dnaMap: Record<AgentPubKeyB64, DnaHashB64[]> = {}\n for (const cellId of cellIds) {\n const key = encodeHashToBase64(cellId[1]);\n if (!dnaMap[key]) {\n dnaMap[key] = [];\n }\n dnaMap[key].push(encodeHashToBase64(cellId[0]))\n }\n console.log(`networkInfoAll() dnaMap`, dnaMap);\n /** Call NetworkInfo per AgentPubKey */\n const allNetInfos = {};\n for (const [agent, dnaHashes] of Object.entries(dnaMap)) {\n const netInfos = await this.appProxy.networkInfo({dnas: dnaHashes.map((dna) => decodeHashFromBase64(dna))});\n for (const [dnaHash, infoPair] of Object.entries(netInfos)) {\n const idStr = CellIdStr(decodeHashFromBase64(dnaHash), decodeHashFromBase64(agent));\n allNetInfos[idStr] = infoPair;\n }\n }\n /* Done */\n return allNetInfos;\n }\n\n\n /** */\n dumpLastestNetworkInfo(baseRoleName?: string) {\n console.log(`dumpLastestNetworkInfo() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n throw Error(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n let logs = cellIds.map((cellId) => {\n const str = CellIdStr(cellId);\n const logs = this.appProxy.networkInfoLogs[str];\n if (logs.length === 0) {\n return;\n }\n const [ts, info] = logs[logs.length - 1];\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n return {\n ts,\n name: cellName,\n dna: dnaName,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n agent: agentName,\n }\n })\n console.table(logs);\n }\n\n\n /* */\n dumpNetworkInfoLogs(cellIdStr?: string) {\n console.log(`dumpNetworkInfoLogs() \"${cellIdStr}\"`);\n let logMap = this.appProxy.networkInfoLogs;\n if (cellIdStr) {\n logMap = {};\n logMap[cellIdStr] = this.appProxy.networkInfoLogs[cellIdStr];\n }\n for (const [cellIdStr, infoPairs] of Object.entries(logMap)) {\n const cellId = str2CellId(cellIdStr);\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n console.log(`NetworfInfo logs of cell \"${cellName}\" | [${agentName}, ${dnaName}]`);\n const logs = infoPairs\n .map(([ts, info]) => {\n return {\n ts,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n }\n });\n console.table(logs);\n }\n }\n\n\n /** */\n async createClone(baseRoleName: BaseRoleName, cellDef?: CellDef): Promise<[ClonedCell, DnaViewModel]> {\n return this.hvm.cloneDvm(baseRoleName, cellDef);\n }\n\n\n /** */\n shouldUpdate() {\n return !!this.hvm;\n }\n\n}\n"]}
|
package/dist/HappViewModel.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare class HappViewModel {
|
|
|
33
33
|
/** Ctor */
|
|
34
34
|
private constructor();
|
|
35
35
|
/** -- Methods -- */
|
|
36
|
-
authorizeAllZomeCalls(adminWs
|
|
36
|
+
authorizeAllZomeCalls(adminWs?: AdminWebsocket): Promise<void>;
|
|
37
37
|
/** */
|
|
38
38
|
private createStartingClonesDvm;
|
|
39
39
|
/** */
|
package/dist/HappViewModel.js
CHANGED
|
@@ -47,7 +47,7 @@ export class HappViewModel {
|
|
|
47
47
|
/** Spawn a HappViewModel for an AppId running on the AppProxy */
|
|
48
48
|
static async new(host, appProxy, hvmDef) {
|
|
49
49
|
const appId = appProxy.appIdOfShame ? appProxy.appIdOfShame : hvmDef.id;
|
|
50
|
-
console.log("HappViewModel.new()", hvmDef.id, appId)
|
|
50
|
+
//console.log("HappViewModel.new()", hvmDef.id, appId)
|
|
51
51
|
/** Create all Cell Proxies in the definition */
|
|
52
52
|
for (const dvmDef of hvmDef.dvmDefs) {
|
|
53
53
|
if (dvmDef.ctor.DEFAULT_BASE_ROLE_NAME === undefined) {
|
|
@@ -81,11 +81,13 @@ export class HappViewModel {
|
|
|
81
81
|
}
|
|
82
82
|
/** -- Methods -- */
|
|
83
83
|
async authorizeAllZomeCalls(adminWs) {
|
|
84
|
+
if (!adminWs) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
84
87
|
for (const [_sHcl, dvm] of Object.entries(this._dvmMap)) {
|
|
85
88
|
//console.log("Authorizing", sHcl);
|
|
86
89
|
await dvm.authorizeZomeCalls(adminWs);
|
|
87
90
|
}
|
|
88
|
-
this._adminWs = adminWs;
|
|
89
91
|
}
|
|
90
92
|
/** */
|
|
91
93
|
createStartingClonesDvm() {
|
|
@@ -156,7 +158,7 @@ export class HappViewModel {
|
|
|
156
158
|
: createCloneName(baseRoleName, cloneIndex);
|
|
157
159
|
/** Build default request */
|
|
158
160
|
let request = {
|
|
159
|
-
app_id: this.appId,
|
|
161
|
+
//app_id: this.appId,
|
|
160
162
|
role_name: baseRoleName,
|
|
161
163
|
modifiers: {
|
|
162
164
|
network_seed: String(cloneIndex),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HappViewModel.js","sourceRoot":"","sources":["../src/HappViewModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,eAAe,EAEf,GAAG,GACJ,MAAM,oBAAoB,CAAC;AAO5B,oFAAoF;AAGpF;;;GAGG;AACH,MAAM,OAAO,aAAa;IAYxB,oBAAoB;IAEpB,MAAM;IACN,MAAM,CAAC,IAAkB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM;IACN,WAAW,CAAC,MAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,IAAI,GAA6B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC;aAC9B;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;IACN,MAAM,CAAC,OAA2B;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAGD,MAAM;IACN,SAAS,CAAC,YAA0B;QAClC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACtD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACzC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrB;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,mBAAmB;IAEnB,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAqB,EAAE,QAAkB,EAAE,MAAc;QACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAA,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACpD,gDAAgD;QAChD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE;gBACpD,OAAO,OAAO,CAAC,MAAM,CAAC,4DAA4D,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxG;YACD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;gBACtC,CAAC,CAAC,MAAM,CAAC,YAAY;gBACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACvC,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACzC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC/B;QACD,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,WAAW;IACX,YACY,KAAsB,EAAE,UAAU,CAClC,SAAmB,EAAE,WAAW,CAC1C,MAAc;QAFJ,UAAK,GAAL,KAAK,CAAiB;QACtB,cAAS,GAAT,SAAS,CAAU;QA9E/B,gCAAgC;QACtB,YAAO,GAA6B,EAAE,CAAC;QACjD,6BAA6B;QACnB,YAAO,GAAuB,EAAE,CAAC;QA8EzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAA,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAClF,iDAAiD;QACjD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,oDAAoD;IACtD,CAAC;IAGD,oBAAoB;IAEpB,KAAK,CAAC,qBAAqB,CAAC,OAAuB;QACjD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvD,mCAAmC;YACnC,MAAM,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,MAAM;IACE,uBAAuB;QAC7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;QAClE,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YACzE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBACvD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAGD,MAAM;IACE,SAAS,CAAC,MAAc,EAAE,GAAQ;QACxC,MAAM,GAAG,GAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,+BAA+B;QAC3G,0FAA0F;QAC1F,0BAA0B;QAC1B,IAAI,GAAG,CAAC,aAAa,EAAE;YACrB,8EAA8E;YAC9E,IAAI;gBACF,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAc,EAAE,EAAE;oBACjD,GAAG,CAAC,aAAc,CAAC,GAAG,CAAC,CAAA;gBACzB,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;aACjB;SACF;QACD,eAAe;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;YAChC,MAAM,KAAK,CAAC,yBAAyB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC;QACnC,WAAW;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,MAAM;IACE,iBAAiB,CAAC,MAAc;QACtC,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACtC,CAAC,CAAC,MAAM,CAAC,YAAY;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACvC,wDAAwD;QACxD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC9B,MAAM,KAAK,CAAC,wDAAwD,YAAY,kBAAkB,CAAC,CAAC;SACrG;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;IACtC,CAAC;IAGD,MAAM;IACN,KAAK,CAAC,QAAQ,CAAC,YAA0B,EAAE,OAAiB;QAC1D,gDAAgD;QAChD,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,OAAO,CAAC,MAAM,CAAC,+BAA+B,YAAY,4BAA4B,CAAC,CAAA;SAC/F;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACnB,OAAO,OAAO,CAAC,MAAM,CAAC,kCAAkC,YAAY,oBAAoB,CAAC,CAAA;SAC1F;QACD,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAe,MAAM,CAAC,MAAM,CAAC;QAC7C,MAAM,SAAS,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS;YAC5C,CAAC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC9C,4BAA4B;QAC5B,IAAI,OAAO,GAA2B;YACpC,MAAM,EAAE,IAAI,CAAC,KAAK;YAClB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE;gBACT,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;aACjC;YACD,IAAI,EAAE,SAAS;SAChB,CAAA;QACD,0CAA0C;QAC1C,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACtC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YAC/C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;SAClC;QACD,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACjE,uEAAuE;QACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,uBAAuB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAG,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,+BAA+B;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7C;QACD,WAAW;QACX,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAGD,MAAM;IACN,QAAQ;QACN,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7C,GAAG,CAAC,QAAQ,EAAE,CAAC;SAChB;IACH,CAAC;IAGD,MAAM;IACN,KAAK,CAAC,2BAA2B;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,2BAA2B,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACb;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAGD,MAAM;IACN,KAAK,CAAC,4BAA4B;QAChC,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,4BAA4B,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACb;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAGD,MAAM;IACN,QAAQ,CAAC,YAA2B;QAClC,IAAI,YAAY,EAAE;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,QAAQ,EAAE,CAAC;aAChB;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,wBAAwB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;aAC7F;SACF;aAAM;YACL,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC7C,GAAG,CAAC,QAAQ,EAAE,CAAC;aAChB;SACF;IACH,CAAC;CACF","sourcesContent":["import {AdminWebsocket, ClonedCell, CreateCloneCellRequest, InstalledAppId} from \"@holochain/client\";\nimport { ReactiveElement } from \"lit\";\nimport {\n AppProxy,\n BaseRoleName,\n CloneIndex,\n createCloneName,\n Dictionary,\n HCL,\n} from \"@ddd-qc/cell-proxy\";\nimport { CellDef, DvmDef, HvmDef } from \"./definitions\";\nimport { DnaViewModel } from \"./DnaViewModel\";\nimport { AppSignal } from \"@holochain/client/lib/api/app/types\";\nimport { CellId } from \"@holochain/client/lib/types\";\n\n\n//export type HvmConstructor = {new(installedAppId: InstalledAppId): HappViewModel};\n\n\n/**\n * \"ViewModel\" of a hApp\n * Creates and stores all the DnaViewModels from the happDef.\n */\nexport class HappViewModel {\n\n /** -- Fields -- */\n readonly appId: InstalledAppId;\n /** HCLString -> DnaViewModel */\n protected _dvmMap: Dictionary<DnaViewModel> = {};\n /** BaseRoleName -> DvmDef */\n protected _defMap: Dictionary<DvmDef> = {};\n\n\n protected _adminWs?: AdminWebsocket;\n\n /** -- Getters -- */\n\n /** */\n getDef(name: BaseRoleName): DvmDef | undefined {\n return this._defMap[name];\n }\n\n /** */\n getCellDvms(cellId: CellId): Dictionary<DnaViewModel> | undefined {\n const hcls = this._appProxy.getLocations(cellId);\n if (hcls === undefined) return undefined;\n let dict: Dictionary<DnaViewModel> = {};\n for (const hcl of hcls) {\n const maybe = this.getDvm(hcl);\n if (maybe) {\n dict[hcl.toString()] = maybe;\n }\n }\n return dict;\n }\n\n /** */\n getDvm(hclOrId: HCL | BaseRoleName ): DnaViewModel | undefined {\n if (typeof hclOrId === 'string') {\n hclOrId = new HCL(this.appId, hclOrId);\n }\n return this._dvmMap[hclOrId.toString()];\n }\n\n\n /** */\n getClones(baseRoleName: BaseRoleName): DnaViewModel[] {\n const searchHcl = new HCL(this.appId, baseRoleName);\n let cloneDvms = [];\n for (const [sHcl, dvm] of Object.entries(this._dvmMap)) {\n const hcl = HCL.parse(sHcl);\n if (hcl.isClone() && hcl.match(searchHcl)) {\n cloneDvms.push(dvm);\n }\n }\n return cloneDvms;\n }\n\n\n /** -- Create -- */\n\n /** Spawn a HappViewModel for an AppId running on the AppProxy */\n static async new(host: ReactiveElement, appProxy: AppProxy, hvmDef: HvmDef): Promise<HappViewModel> {\n const appId = appProxy.appIdOfShame? appProxy.appIdOfShame : hvmDef.id;\n console.log(\"HappViewModel.new()\", hvmDef.id, appId)\n /** Create all Cell Proxies in the definition */\n for (const dvmDef of hvmDef.dvmDefs) {\n if (dvmDef.ctor.DEFAULT_BASE_ROLE_NAME === undefined) {\n return Promise.reject(\"static field DEFAULT_BASE_ROLE_NAME not defined for class \" + dvmDef.ctor.name);\n }\n const baseRoleName = dvmDef.baseRoleName\n ? dvmDef.baseRoleName\n : dvmDef.ctor.DEFAULT_BASE_ROLE_NAME;\n await appProxy.fetchCells(appId, baseRoleName);\n const hcl = new HCL(appId, baseRoleName);\n appProxy.createCellProxy(hcl);\n }\n const hvm = new HappViewModel(host, appProxy, hvmDef);\n return hvm;\n }\n\n\n /** Ctor */\n private constructor(\n protected _host: ReactiveElement, /* VIEW */\n protected _appProxy: AppProxy, /* MODEL */\n hvmDef: HvmDef, /* VIEW-MODEL definition */\n ) {\n this.appId = this._appProxy.appIdOfShame? this._appProxy.appIdOfShame : hvmDef.id;\n /** Create all non-deferred DVMs for this Happ */\n for (const dvmDef of hvmDef.dvmDefs) {\n this.createOriginalDvm(dvmDef);\n }\n this.createStartingClonesDvm();\n //console.log(\"HappViewModel created\", this._dvmMap)\n }\n\n\n /** -- Methods -- */\n\n async authorizeAllZomeCalls(adminWs: AdminWebsocket): Promise<void> {\n for (const [_sHcl, dvm] of Object.entries(this._dvmMap)) {\n //console.log(\"Authorizing\", sHcl);\n await dvm.authorizeZomeCalls(adminWs);\n }\n this._adminWs = adminWs\n }\n\n /** */\n private createStartingClonesDvm(): void {\n const appInstalledCells = this._appProxy.getAppCells(this.appId)!;\n for (const [baseRoleName, roleCells] of Object.entries(appInstalledCells)) {\n const def = this._defMap[baseRoleName];\n for (const [cloneId, clone] of Object.entries(roleCells.clones)) {\n const hcl = new HCL(this.appId, baseRoleName, cloneId);\n this._appProxy.createCellProxy(hcl, clone.name);\n this.createDvm(def, hcl);\n }\n }\n }\n\n\n /** */\n private createDvm(dvmDef: DvmDef, hcl: HCL): DnaViewModel {\n const dvm: DnaViewModel = new dvmDef.ctor(this._host, this._appProxy, hcl); // WARN this can throw an error\n //console.log(` createDvm() for \"${hcl.toString()}\" ; cellId: ${CellIdStr(dvm.cellId)}`);\n /** Setup signalHandler */\n if (dvm.signalHandler) {\n //console.log(`\"${dvm.baseRoleName}\" signalHandler added`, dvm.signalHandler);\n try {\n this._appProxy.addSignalHandler((sig: AppSignal) => {\n dvm.signalHandler!(sig)\n }, hcl.toString());\n } catch (e) {\n console.error(e)\n }\n }\n /** Store it */\n if (this._dvmMap[hcl.toString()]) {\n throw Error(\"DVM already exists for \" + hcl.toString());\n }\n this._dvmMap[hcl.toString()] = dvm;\n /** Done */\n return dvm;\n }\n\n\n /** */\n private createOriginalDvm(dvmDef: DvmDef): void {\n /** Determine baseRoleName */\n const baseRoleName = dvmDef.baseRoleName\n ? dvmDef.baseRoleName\n : dvmDef.ctor.DEFAULT_BASE_ROLE_NAME;\n //console.log(\"createOriginalDvm() for \", baseRoleName);\n if (this._defMap[baseRoleName]) {\n throw Error(`createOriginalDvm() failed. DVM for original cell of ${baseRoleName} already exists.`);\n }\n const hcl = new HCL(this.appId, baseRoleName);\n this.createDvm(dvmDef, hcl);\n this._defMap[baseRoleName] = dvmDef;\n }\n\n\n /** */\n async cloneDvm(baseRoleName: BaseRoleName, cellDef?: CellDef): Promise<[ClonedCell, DnaViewModel]> {\n //console.log(\"createCloneDvm()\", baseRoleName);\n /** Check preconditions */\n const def = this._defMap[baseRoleName];\n if (!def) {\n return Promise.reject(`createCloneDvm() failed for ${baseRoleName}. No original DVM created.`)\n }\n if (!def.isClonable) {\n return Promise.reject(`createCloneDvm() failed. Role \"${baseRoleName}\" is not clonable.`)\n }\n /** Get cloneIndex */\n const clones = this.getClones(baseRoleName);\n const cloneIndex: CloneIndex = clones.length;\n const cloneName = cellDef && cellDef.cloneName\n ? cellDef.cloneName\n : createCloneName(baseRoleName, cloneIndex);\n /** Build default request */\n let request: CreateCloneCellRequest = {\n app_id: this.appId,\n role_name: baseRoleName,\n modifiers: {\n network_seed: String(cloneIndex),\n },\n name: cloneName,\n }\n /** Modify request according to CellDef */\n if (cellDef) {\n request.modifiers = cellDef.modifiers;\n request.membrane_proof = cellDef.membraneProof;\n request.name = cellDef.cloneName;\n }\n /** Create Cell */\n const clonedCell = await this._appProxy.createCloneCell(request);\n //console.log(\"clone created:\", CellIdStr(cloneInstalledCell.cell_id));\n const cell = await this._appProxy.fetchCell(this.appId, clonedCell.cell_id);\n console.log(\"clone created:\", cell);\n const hcl = new HCL(this.appId, baseRoleName, cell.cloneId);\n /** Get created cell */\n const clone = cell.asCloned()!;\n this._appProxy.addClone(hcl, clone);\n /** Create CellProxy */\n this._appProxy.createCellProxy(hcl, clone.name);\n /** Create DVM and authorize */\n const dvm = this.createDvm(def, hcl);\n if (this._adminWs) {\n await dvm.authorizeZomeCalls(this._adminWs);\n }\n /** Done */\n return [clonedCell, dvm];\n }\n\n\n /** */\n probeAll(): void {\n for (const dvm of Object.values(this._dvmMap)) {\n dvm.probeAll();\n }\n }\n\n\n /** */\n async initializePerspectiveOnline(): Promise<void> {\n const all = [];\n for (const dvm of Object.values(this._dvmMap)) {\n const p = dvm.initializePerspectiveOnline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n async initializePerspectiveOffline(): Promise<void> {\n const all = [];\n for (const dvm of Object.values(this._dvmMap)) {\n const p = dvm.initializePerspectiveOffline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n dumpLogs(baseRoleName?: BaseRoleName): void {\n if (baseRoleName) {\n const dvm = this.getDvm(baseRoleName);\n if (dvm) {\n dvm.dumpLogs();\n } else {\n console.error(`dumpLogs() failed. Role \"${baseRoleName}\" not found in happ \"${this.appId}\"`)\n }\n } else {\n for (const dvm of Object.values(this._dvmMap)) {\n dvm.dumpLogs();\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HappViewModel.js","sourceRoot":"","sources":["../src/HappViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import {AdminWebsocket, ClonedCell, CreateCloneCellRequest, InstalledAppId} from \"@holochain/client\";\nimport { ReactiveElement } from \"lit\";\nimport {\n AppProxy,\n BaseRoleName,\n CloneIndex,\n createCloneName,\n Dictionary,\n HCL,\n} from \"@ddd-qc/cell-proxy\";\nimport { CellDef, DvmDef, HvmDef } from \"./definitions\";\nimport { DnaViewModel } from \"./DnaViewModel\";\nimport { AppSignal } from \"@holochain/client/lib/api/app/types\";\nimport { CellId } from \"@holochain/client/lib/types\";\n\n\n//export type HvmConstructor = {new(installedAppId: InstalledAppId): HappViewModel};\n\n\n/**\n * \"ViewModel\" of a hApp\n * Creates and stores all the DnaViewModels from the happDef.\n */\nexport class HappViewModel {\n\n /** -- Fields -- */\n readonly appId: InstalledAppId;\n /** HCLString -> DnaViewModel */\n protected _dvmMap: Dictionary<DnaViewModel> = {};\n /** BaseRoleName -> DvmDef */\n protected _defMap: Dictionary<DvmDef> = {};\n\n\n protected _adminWs?: AdminWebsocket;\n\n /** -- Getters -- */\n\n /** */\n getDef(name: BaseRoleName): DvmDef | undefined {\n return this._defMap[name];\n }\n\n /** */\n getCellDvms(cellId: CellId): Dictionary<DnaViewModel> | undefined {\n const hcls = this._appProxy.getLocations(cellId);\n if (hcls === undefined) return undefined;\n let dict: Dictionary<DnaViewModel> = {};\n for (const hcl of hcls) {\n const maybe = this.getDvm(hcl);\n if (maybe) {\n dict[hcl.toString()] = maybe;\n }\n }\n return dict;\n }\n\n /** */\n getDvm(hclOrId: HCL | BaseRoleName ): DnaViewModel | undefined {\n if (typeof hclOrId === 'string') {\n hclOrId = new HCL(this.appId, hclOrId);\n }\n return this._dvmMap[hclOrId.toString()];\n }\n\n\n /** */\n getClones(baseRoleName: BaseRoleName): DnaViewModel[] {\n const searchHcl = new HCL(this.appId, baseRoleName);\n let cloneDvms = [];\n for (const [sHcl, dvm] of Object.entries(this._dvmMap)) {\n const hcl = HCL.parse(sHcl);\n if (hcl.isClone() && hcl.match(searchHcl)) {\n cloneDvms.push(dvm);\n }\n }\n return cloneDvms;\n }\n\n\n /** -- Create -- */\n\n /** Spawn a HappViewModel for an AppId running on the AppProxy */\n static async new(host: ReactiveElement, appProxy: AppProxy, hvmDef: HvmDef): Promise<HappViewModel> {\n const appId = appProxy.appIdOfShame? appProxy.appIdOfShame : hvmDef.id;\n //console.log(\"HappViewModel.new()\", hvmDef.id, appId)\n /** Create all Cell Proxies in the definition */\n for (const dvmDef of hvmDef.dvmDefs) {\n if (dvmDef.ctor.DEFAULT_BASE_ROLE_NAME === undefined) {\n return Promise.reject(\"static field DEFAULT_BASE_ROLE_NAME not defined for class \" + dvmDef.ctor.name);\n }\n const baseRoleName = dvmDef.baseRoleName\n ? dvmDef.baseRoleName\n : dvmDef.ctor.DEFAULT_BASE_ROLE_NAME;\n await appProxy.fetchCells(appId, baseRoleName);\n const hcl = new HCL(appId, baseRoleName);\n appProxy.createCellProxy(hcl);\n }\n const hvm = new HappViewModel(host, appProxy, hvmDef);\n return hvm;\n }\n\n\n /** Ctor */\n private constructor(\n protected _host: ReactiveElement, /* VIEW */\n protected _appProxy: AppProxy, /* MODEL */\n hvmDef: HvmDef, /* VIEW-MODEL definition */\n ) {\n this.appId = this._appProxy.appIdOfShame? this._appProxy.appIdOfShame : hvmDef.id;\n /** Create all non-deferred DVMs for this Happ */\n for (const dvmDef of hvmDef.dvmDefs) {\n this.createOriginalDvm(dvmDef);\n }\n this.createStartingClonesDvm();\n //console.log(\"HappViewModel created\", this._dvmMap)\n }\n\n\n /** -- Methods -- */\n\n async authorizeAllZomeCalls(adminWs?: AdminWebsocket): Promise<void> {\n if (!adminWs) {\n return;\n }\n for (const [_sHcl, dvm] of Object.entries(this._dvmMap)) {\n //console.log(\"Authorizing\", sHcl);\n await dvm.authorizeZomeCalls(adminWs);\n }\n }\n\n /** */\n private createStartingClonesDvm(): void {\n const appInstalledCells = this._appProxy.getAppCells(this.appId)!;\n for (const [baseRoleName, roleCells] of Object.entries(appInstalledCells)) {\n const def = this._defMap[baseRoleName];\n for (const [cloneId, clone] of Object.entries(roleCells.clones)) {\n const hcl = new HCL(this.appId, baseRoleName, cloneId);\n this._appProxy.createCellProxy(hcl, clone.name);\n this.createDvm(def, hcl);\n }\n }\n }\n\n\n /** */\n private createDvm(dvmDef: DvmDef, hcl: HCL): DnaViewModel {\n const dvm: DnaViewModel = new dvmDef.ctor(this._host, this._appProxy, hcl); // WARN this can throw an error\n //console.log(` createDvm() for \"${hcl.toString()}\" ; cellId: ${CellIdStr(dvm.cellId)}`);\n /** Setup signalHandler */\n if (dvm.signalHandler) {\n //console.log(`\"${dvm.baseRoleName}\" signalHandler added`, dvm.signalHandler);\n try {\n this._appProxy.addSignalHandler((sig: AppSignal) => {\n dvm.signalHandler!(sig)\n }, hcl.toString());\n } catch (e) {\n console.error(e)\n }\n }\n /** Store it */\n if (this._dvmMap[hcl.toString()]) {\n throw Error(\"DVM already exists for \" + hcl.toString());\n }\n this._dvmMap[hcl.toString()] = dvm;\n /** Done */\n return dvm;\n }\n\n\n /** */\n private createOriginalDvm(dvmDef: DvmDef): void {\n /** Determine baseRoleName */\n const baseRoleName = dvmDef.baseRoleName\n ? dvmDef.baseRoleName\n : dvmDef.ctor.DEFAULT_BASE_ROLE_NAME;\n //console.log(\"createOriginalDvm() for \", baseRoleName);\n if (this._defMap[baseRoleName]) {\n throw Error(`createOriginalDvm() failed. DVM for original cell of ${baseRoleName} already exists.`);\n }\n const hcl = new HCL(this.appId, baseRoleName);\n this.createDvm(dvmDef, hcl);\n this._defMap[baseRoleName] = dvmDef;\n }\n\n\n /** */\n async cloneDvm(baseRoleName: BaseRoleName, cellDef?: CellDef): Promise<[ClonedCell, DnaViewModel]> {\n //console.log(\"createCloneDvm()\", baseRoleName);\n /** Check preconditions */\n const def = this._defMap[baseRoleName];\n if (!def) {\n return Promise.reject(`createCloneDvm() failed for ${baseRoleName}. No original DVM created.`)\n }\n if (!def.isClonable) {\n return Promise.reject(`createCloneDvm() failed. Role \"${baseRoleName}\" is not clonable.`)\n }\n /** Get cloneIndex */\n const clones = this.getClones(baseRoleName);\n const cloneIndex: CloneIndex = clones.length;\n const cloneName = cellDef && cellDef.cloneName\n ? cellDef.cloneName\n : createCloneName(baseRoleName, cloneIndex);\n /** Build default request */\n let request: CreateCloneCellRequest = {\n //app_id: this.appId,\n role_name: baseRoleName,\n modifiers: {\n network_seed: String(cloneIndex),\n },\n name: cloneName,\n }\n /** Modify request according to CellDef */\n if (cellDef) {\n request.modifiers = cellDef.modifiers;\n request.membrane_proof = cellDef.membraneProof;\n request.name = cellDef.cloneName;\n }\n /** Create Cell */\n const clonedCell = await this._appProxy.createCloneCell(request);\n //console.log(\"clone created:\", CellIdStr(cloneInstalledCell.cell_id));\n const cell = await this._appProxy.fetchCell(this.appId, clonedCell.cell_id);\n console.log(\"clone created:\", cell);\n const hcl = new HCL(this.appId, baseRoleName, cell.cloneId);\n /** Get created cell */\n const clone = cell.asCloned()!;\n this._appProxy.addClone(hcl, clone);\n /** Create CellProxy */\n this._appProxy.createCellProxy(hcl, clone.name);\n /** Create DVM and authorize */\n const dvm = this.createDvm(def, hcl);\n if (this._adminWs) {\n await dvm.authorizeZomeCalls(this._adminWs);\n }\n /** Done */\n return [clonedCell, dvm];\n }\n\n\n /** */\n probeAll(): void {\n for (const dvm of Object.values(this._dvmMap)) {\n dvm.probeAll();\n }\n }\n\n\n /** */\n async initializePerspectiveOnline(): Promise<void> {\n const all = [];\n for (const dvm of Object.values(this._dvmMap)) {\n const p = dvm.initializePerspectiveOnline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n async initializePerspectiveOffline(): Promise<void> {\n const all = [];\n for (const dvm of Object.values(this._dvmMap)) {\n const p = dvm.initializePerspectiveOffline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n dumpLogs(baseRoleName?: BaseRoleName): void {\n if (baseRoleName) {\n const dvm = this.getDvm(baseRoleName);\n if (dvm) {\n dvm.dumpLogs();\n } else {\n console.error(`dumpLogs() failed. Role \"${baseRoleName}\" not found in happ \"${this.appId}\"`)\n }\n } else {\n for (const dvm of Object.values(this._dvmMap)) {\n dvm.dumpLogs();\n }\n }\n }\n}\n"]}
|
package/dist/globals.js
CHANGED
|
@@ -17,7 +17,7 @@ export var HappBuildModeType;
|
|
|
17
17
|
HappBuildModeType["Retail"] = "Retail";
|
|
18
18
|
})(HappBuildModeType || (HappBuildModeType = {}));
|
|
19
19
|
/** INIT GLOBAL CONSTS */
|
|
20
|
-
console.log("Initializaing HAPP global consts", window);
|
|
20
|
+
console.log("[lit-happ] Initializaing LIT-HAPP global consts", window);
|
|
21
21
|
let buildMode;
|
|
22
22
|
let happEnv;
|
|
23
23
|
const maybeElectronApi = 'electronBridge' in window ? window.electronBridge : undefined;
|
|
@@ -59,7 +59,7 @@ if (!buildMode) {
|
|
|
59
59
|
buildMode = process.env.HAPP_BUILD_MODE;
|
|
60
60
|
}
|
|
61
61
|
catch (e) {
|
|
62
|
-
console.log(`HAPP_BUILD_MODE not defined. Defaulting to "${HappBuildModeType.Retail}"`);
|
|
62
|
+
console.log(`[lit-happ] HAPP_BUILD_MODE not defined. Defaulting to "${HappBuildModeType.Retail}"`);
|
|
63
63
|
buildMode = HappBuildModeType.Retail;
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -67,12 +67,12 @@ if (!buildMode) {
|
|
|
67
67
|
export let HAPP_BUILD_MODE = buildMode;
|
|
68
68
|
export let HAPP_ENV = happEnv;
|
|
69
69
|
export let HAPP_ELECTRON_API = maybeElectronApi;
|
|
70
|
-
console.log(" HAPP_BUILD_MODE =", HAPP_BUILD_MODE);
|
|
71
|
-
console.log(" HAPP_ENV =", HAPP_ENV);
|
|
70
|
+
console.log("[lit-happ] HAPP_BUILD_MODE =", HAPP_BUILD_MODE);
|
|
71
|
+
console.log("[lit-happ] HAPP_ENV =", HAPP_ENV);
|
|
72
72
|
if (HAPP_ELECTRON_API) {
|
|
73
|
-
console.log("HAPP_ELECTRON_API =", HAPP_ENV);
|
|
73
|
+
console.log("[lit-happ] HAPP_ELECTRON_API =", HAPP_ENV);
|
|
74
74
|
}
|
|
75
|
-
console.log("Initializaing HAPP global consts - DONE");
|
|
75
|
+
console.log("[lit-happ] Initializaing LIT-HAPP global consts - DONE");
|
|
76
76
|
/** Remove console.log() in PROD */
|
|
77
77
|
// FIXME
|
|
78
78
|
// if (HAPP_BUILD_MODE === 'prod') {
|
package/dist/globals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AACA,MAAM;AACN,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACnB,4BAAoB,CAAA;IACpB,kCAAuB,CAAA;IACvB,oCAAwB,CAAA;IACxB,sCAAyB,CAAA;IACzB,wBAAkB,CAAA;IAClB,0CAA2B,CAAA;IAC3B,gCAAwB,CAAA;AAC5B,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;AAED,MAAM;AACN,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,oCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,sCAAkB,CAAA;AACtB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAGD,yBAAyB;AAEzB,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AACA,MAAM;AACN,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACnB,4BAAoB,CAAA;IACpB,kCAAuB,CAAA;IACvB,oCAAwB,CAAA;IACxB,sCAAyB,CAAA;IACzB,wBAAkB,CAAA;IAClB,0CAA2B,CAAA;IAC3B,gCAAwB,CAAA;AAC5B,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;AAED,MAAM;AACN,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,oCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,sCAAkB,CAAA;AACtB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAGD,yBAAyB;AAEzB,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAC;AAEvE,IAAI,SAA4B,CAAC;AACjC,IAAI,OAAoB,CAAC;AAGzB,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,MAAM,CAAA,CAAC,CAAC,MAAM,CAAC,cAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;AAE9F,wBAAwB;AACxB,IAAI;IACA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAuB,CAAC;IAC9C,+DAA+D;CAClE;AAAC,OAAO,CAAC,EAAE;IACR,2BAA2B;IAC3B,IAAI,gBAAgB,EAAE;QAClB,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC/B,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC;QACxC,uDAAuD;KAC1D;SAAM;QACH,qBAAqB;QACrB,MAAM,MAAM,GAAG,OAAO,IAAI,MAAM,CAAA,CAAC,CAAC,MAAM,CAAC,KAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,IAAI,MAAM,EAAE;YACR,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC;SAC5B;aAAM;YACH,uBAAuB;YACvB,QAAQ;YACR,MAAM,QAAQ,GAAG,KAAK,CAAC;YACvB,IAAI,QAAQ,EAAE;gBACV,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;aAC9B;iBAAM;gBACH,sBAAsB;gBACtB,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;aAC9B;SACJ;KACJ;CACJ;AAED,0BAA0B;AAC1B,IAAI,CAAC,SAAS,EAAE;IACZ,IAAI;QACD,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAoC,CAAC;KAC/D;IAAC,OAAO,CAAC,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,0DAA0D,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC;KACvC;CACJ;AAED,oBAAoB;AACpB,MAAM,CAAC,IAAI,eAAe,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,IAAI,QAAQ,GAAG,OAAO,CAAC;AAC9B,MAAM,CAAC,IAAI,iBAAiB,GAAG,gBAAgB,CAAC;AAEhD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAA;AAC7D,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;AACvD,IAAI,iBAAiB,EAAE;IACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;CAC3D;AAED,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;AAGrE,mCAAmC;AACnC,QAAQ;AACR,oCAAoC;AACpC,2CAA2C;AAC3C,4BAA4B;AAC5B,IAAI","sourcesContent":["\n/** */\nexport enum HappEnvType {\n Prod = \"Prod\", // default value\n Devtest = \"Devtest\", // HAPP_ENV set to this by web-dev-server\n Electron = \"Electron\", // if window.electronBridge is defined\n DevtestWe = \"DevtestWe\", // HAPP_ENV set to this by web-dev-server\n We = \"We\", // if window.IN_WE defined\n DevTestHolo = \"DevTestHolo\", // HAPP_ENV set to this by web-dev-server\n Holo = \"HoloProd\", // ???\n}\n\n/** */\nexport enum HappBuildModeType {\n Debug = \"Debug\", // logs\n Release = \"Release\", // logs & optimization\n Retail = \"Retail\", // optimization (default)\n}\n\n\n/** INIT GLOBAL CONSTS */\n\nconsole.log(\"[lit-happ] Initializaing LIT-HAPP global consts\", window);\n\nlet buildMode: HappBuildModeType;\nlet happEnv: HappEnvType;\n\n\nconst maybeElectronApi = 'electronBridge' in window? window.electronBridge as any : undefined;\n\n/** Determine HappEnv */\ntry {\n happEnv = process.env.HAPP_ENV as HappEnvType;\n //console.log(`HAPP_ENV defined by process.ENV: \"${happEnv}\"`);\n} catch (e) {\n /** Looking for Electron */\n if (maybeElectronApi) {\n happEnv = HappEnvType.Electron;\n buildMode = maybeElectronApi.BUILD_MODE;\n //console.log(`HAPP_ENV is \"${HappEnvType.Electron}\"`);\n } else {\n /** Looking for We */\n const isInWe = 'IN_WE' in window? window.IN_WE as boolean : false;\n if (isInWe) {\n happEnv = HappEnvType.We;\n } else {\n /** Looking for Holo */\n // FIXME\n const isInHolo = false;\n if (isInHolo) {\n happEnv = HappEnvType.Holo;\n } else {\n /** Default to prod */\n happEnv = HappEnvType.Prod;\n }\n }\n }\n}\n\n/** Determine BuildMode */\nif (!buildMode) {\n try {\n buildMode = process.env.HAPP_BUILD_MODE as HappBuildModeType;\n } catch (e) {\n console.log(`[lit-happ] HAPP_BUILD_MODE not defined. Defaulting to \"${HappBuildModeType.Retail}\"`);\n buildMode = HappBuildModeType.Retail;\n }\n}\n\n/** export result */\nexport let HAPP_BUILD_MODE = buildMode;\nexport let HAPP_ENV = happEnv;\nexport let HAPP_ELECTRON_API = maybeElectronApi;\n\nconsole.log(\"[lit-happ] HAPP_BUILD_MODE =\", HAPP_BUILD_MODE)\nconsole.log(\"[lit-happ] HAPP_ENV =\", HAPP_ENV);\nif (HAPP_ELECTRON_API) {\n console.log(\"[lit-happ] HAPP_ELECTRON_API =\", HAPP_ENV);\n}\n\nconsole.log(\"[lit-happ] Initializaing LIT-HAPP global consts - DONE\")\n\n\n/** Remove console.log() in PROD */\n// FIXME\n// if (HAPP_BUILD_MODE === 'prod') {\n// console.log(\"console.log() disabled\");\n// console.log = () => {};\n// }\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddd-qc/lit-happ",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "MVVM Framework for holochain apps using Lit",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@ddd-qc/cell-proxy": "file:../cell-proxy",
|
|
32
|
-
"@holochain/client": "^0.
|
|
32
|
+
"@holochain/client": "^0.18.0-dev.1",
|
|
33
33
|
"@lit/context": "1.0.1",
|
|
34
34
|
"lit": "3.0.2",
|
|
35
35
|
"async-mutex": "0.4.0"
|