@ddd-qc/cell-proxy 0.9.8 → 0.10.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/mixins.js CHANGED
@@ -1,37 +1,51 @@
1
- class Empty {
2
- constructor(...args) { }
3
- }
4
- /** ------------------------------------------------------------------------------------------- **/
5
- export function ZomeSpecificMixin(Base) {
6
- class AZomeSpecific extends Base {
7
- constructor(...args) {
8
- super(args);
9
- this.zomeName = this.constructor.DEFAULT_ZOME_NAME;
10
- }
11
- getDefaultZomeName() {
12
- return this.constructor.DEFAULT_ZOME_NAME;
13
- }
14
- }
15
- ;
16
- return AZomeSpecific;
17
- }
18
- export const ZomeSpecific = ZomeSpecificMixin(Empty);
19
- /** ------------------------------------------------------------------------------------------- **/
20
- export function RoleSpecificMixin(Base) {
21
- class ARoleSpecific extends Base {
22
- constructor(...args) { super(); this.baseRoleName = this.constructor.DEFAULT_BASE_ROLE_NAME; }
23
- }
24
- ;
25
- return ARoleSpecific;
26
- }
27
- export const RoleSpecific = RoleSpecificMixin(Empty);
28
- /** ------------------------------------------------------------------------------------------- **/
29
- export function HappSpecificMixin(Base) {
30
- class AHappSpecific extends Base {
31
- constructor(...args) { super(); this.happId = this.constructor.DEFAULT_HAPP_ID; }
32
- }
33
- ;
34
- return AHappSpecific;
35
- }
36
- export const HappSpecific = HappSpecificMixin(Empty);
1
+ import { encodeHashToBase64 } from "@holochain/client";
2
+ export class Empty {
3
+ constructor(...args) { }
4
+ }
5
+ /** ------------------------------------------------------------------------------------------- **/
6
+ /**
7
+ * Mixin for Cell bound classes.
8
+ * A Cell bound class must have a "Cell" from @/holochain/client
9
+ */
10
+ export function CellMixin(Base) {
11
+ class ACell extends Base {
12
+ get cell() { if (!this._cell)
13
+ throw Error("Cell not set for object"); return this._cell; }
14
+ get cellId() { return this._cell.cell_id; }
15
+ get dnaHash() { return encodeHashToBase64(this._cell.cell_id[0]); }
16
+ get agentPubKey() { return encodeHashToBase64(this._cell.cell_id[1]); }
17
+ }
18
+ ;
19
+ return ACell;
20
+ }
21
+ //export const CellSpecific = CellMixin(Empty);
22
+ /** ------------------------------------------------------------------------------------------- **/
23
+ /**
24
+ * Mixin for Zome bound classes.
25
+ * A Zome bound class must have a zome name and a list of zome functions
26
+ */
27
+ export function ZomeMixin(Base) {
28
+ class AZomeSpecific extends Base {
29
+ constructor(...args) {
30
+ super(args);
31
+ this.zomeName = this.constructor.DEFAULT_ZOME_NAME;
32
+ }
33
+ get defaultZomeName() {
34
+ return this.constructor.DEFAULT_ZOME_NAME;
35
+ }
36
+ /** Tuple array with zome name */
37
+ get fnNames() {
38
+ const fnNames = this.constructor.FN_NAMES;
39
+ if (!fnNames) {
40
+ throw Error("FN_NAMES not defined in ZomeProxy subclass " + this.constructor.name);
41
+ }
42
+ return fnNames.map((fnName) => {
43
+ return [this.zomeName, fnName];
44
+ });
45
+ }
46
+ }
47
+ ;
48
+ return AZomeSpecific;
49
+ }
50
+ export const ZomeSpecific = ZomeMixin(Empty);
37
51
  //# sourceMappingURL=mixins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAOA,MAAM,KAAK;IACT,YAAY,GAAG,IAAW,IAAG,CAAC;CAC/B;AAGD,mGAAmG;AAEnG,MAAM,UAAU,iBAAiB,CAAoC,IAAW;IAC9E,MAAe,aAAc,SAAQ,IAAI;QACvC,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,WAAmB,CAAC,iBAAiB,CAAA;QAC7D,CAAC;QACD,kBAAkB;YAChB,OAAQ,IAAI,CAAC,WAAoC,CAAC,iBAAiB,CAAC;QACxE,CAAC;KAGA;IAAA,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAGrD,mGAAmG;AAEnG,MAAM,UAAU,iBAAiB,CAAoC,IAAW;IAC9E,MAAe,aAAc,SAAQ,IAAI;QACvC,YAAY,GAAG,IAAW,IAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,WAAmB,CAAC,sBAAsB,CAAA,CAAA,CAAC;KAG3G;IAAA,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAGrD,mGAAmG;AAEnG,MAAM,UAAU,iBAAiB,CAAoC,IAAW;IAC9E,MAAe,aAAc,SAAQ,IAAI;QACvC,YAAY,GAAG,IAAW,IAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,eAAe,CAAA,CAAA,CAAC;KAG9F;IAAA,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,kBAAkB,EAGnB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,OAAO,KAAK;IAChB,YAAY,GAAG,IAAW,IAAG,CAAC;CAC/B;AAGD,mGAAmG;AAEnG;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAoC,IAAW;IACtE,MAAe,KAAM,SAAQ,IAAI;QAM/B,IAAI,IAAI,KAAW,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAE,CAAC,OAAO,IAAI,CAAC,KAAM,CAAA,CAAC,CAAC;QACjG,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,KAAM,CAAC,OAAO,CAAA,CAAC,CAAC;QACnD,IAAI,OAAO,KAAiB,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;QAC/E,IAAI,WAAW,KAAqB,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;KACxF;IAAA,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+CAA+C;AAI/C,mGAAmG;AAEnG;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAoC,IAAW;IACtE,MAAe,aAAc,SAAQ,IAAI;QAOvC,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,WAAoC,CAAC,iBAAiB,CAAA;QAC9E,CAAC;QAED,IAAI,eAAe;YACjB,OAAQ,IAAI,CAAC,WAAoC,CAAC,iBAAiB,CAAC;QACtE,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO;YACT,MAAM,OAAO,GAAI,IAAI,CAAC,WAAoC,CAAC,QAAQ,CAAC;YACpE,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,KAAK,CAAC,6CAA6C,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACpF;YACD,OAAQ,OAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IAAA,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,32 +1,30 @@
1
- import { CellId, InstalledCell } from "@holochain/client";
2
- import { AgentPubKeyB64, Dictionary, DnaHashB64 } from "@holochain-open-dev/core-types";
3
- import { AgentPubKey, DnaHash } from "@holochain/client/lib/types";
4
- /**
5
- *
6
- */
7
- export interface IInstalledCell {
8
- get installedCell(): InstalledCell;
9
- get roleInstanceId(): RoleInstanceId;
10
- get dnaHash(): DnaHashB64;
11
- get agentPubKey(): AgentPubKeyB64;
12
- get cellId(): CellId;
13
- }
14
- export type BaseRoleName = string;
15
- export type CloneIndex = number;
16
- export type RoleCells = {
17
- original: InstalledCell;
18
- /** CloneName / Index -> InstalledCell */
19
- clones: Dictionary<InstalledCell>;
20
- };
21
- /** BaseRoleName -> RoleCells */
22
- export type CellsMap = Dictionary<RoleCells>;
23
- /** -- RoleInstanceId -- */
24
- /** type for string "<baseRoleName>.<cloneIndex>" */
25
- export type RoleInstanceId = string;
26
- export declare function RoleInstanceId(baseRoleName: BaseRoleName, cloneIndex?: CloneIndex): RoleInstanceId;
27
- export declare function destructureRoleInstanceId(id: RoleInstanceId): [BaseRoleName, CloneIndex] | undefined;
28
- /** -- CellIdStr -- */
29
- export type CellIdStr = string;
30
- export declare function CellIdStr(hash_or_id: DnaHash | CellId, key?: AgentPubKey): CellIdStr;
31
- /** */
32
- export declare function str2CellId(str: CellIdStr): CellId;
1
+ import { CellId, AgentPubKeyB64, DnaHashB64, Cell } from "@holochain/client";
2
+ import { AgentPubKey, DnaHash } from "@holochain/client/lib/types";
3
+ import { Dictionary } from "./utils";
4
+ /**
5
+ *
6
+ */
7
+ export interface ICell {
8
+ get cell(): Cell;
9
+ get dnaHash(): DnaHashB64;
10
+ get agentPubKey(): AgentPubKeyB64;
11
+ }
12
+ export type BaseRoleName = string;
13
+ export type CloneIndex = number;
14
+ export type CellsForRole = {
15
+ provisioned: Cell;
16
+ /** CloneName -> Cell */
17
+ clones: Dictionary<Cell>;
18
+ };
19
+ /** BaseRoleName -> RoleCells */
20
+ export type RoleCellsMap = Dictionary<CellsForRole>;
21
+ /** -- RoleInstanceId -- */
22
+ /** type for string "<baseRoleName>.<cloneIndex>" */
23
+ export type CloneName = string;
24
+ export declare function createCloneName(baseRoleName: BaseRoleName, cloneIndex: CloneIndex): CloneName;
25
+ export declare function destructureCloneName(id: CloneName): [BaseRoleName, CloneIndex] | undefined;
26
+ /** -- CellIdStr -- */
27
+ export type CellIdStr = string;
28
+ export declare function CellIdStr(hash_or_id: DnaHash | CellId, key?: AgentPubKey): CellIdStr;
29
+ /** */
30
+ export declare function str2CellId(str: CellIdStr): CellId;
package/dist/types.js CHANGED
@@ -1,33 +1,32 @@
1
- import { deserializeHash, serializeHash } from "@holochain-open-dev/utils";
2
- export function RoleInstanceId(baseRoleName, cloneIndex) {
3
- if (!cloneIndex)
4
- return baseRoleName;
5
- return "" + baseRoleName + "." + cloneIndex;
6
- }
7
- export function destructureRoleInstanceId(id) {
8
- const subs = id.split(".");
9
- if (subs.length != 2) {
10
- //throw Error(`Bad RoleInstance id format: "${id}"`);
11
- return undefined;
12
- }
13
- return [subs[0], Number(subs[1])];
14
- }
15
- const CELL_ID_SEPARATOR = "||";
16
- export function CellIdStr(hash_or_id, key) {
17
- if (Array.isArray(hash_or_id)) {
18
- return "" + serializeHash(hash_or_id[0]) + CELL_ID_SEPARATOR + serializeHash(hash_or_id[1]);
19
- }
20
- if (!key) {
21
- throw Error("CellIdStr() failed. AgentPubKey not provided");
22
- }
23
- return "" + serializeHash(hash_or_id) + CELL_ID_SEPARATOR + serializeHash(key);
24
- }
25
- /** */
26
- export function str2CellId(str) {
27
- const subs = str.split(CELL_ID_SEPARATOR);
28
- if (subs.length != 2) {
29
- throw Error("str2CellId() failed. Bad input string format");
30
- }
31
- return [deserializeHash(subs[0]), deserializeHash(subs[1])];
32
- }
1
+ import { decodeHashFromBase64, encodeHashToBase64 } from "@holochain/client";
2
+ export function createCloneName(baseRoleName, cloneIndex) {
3
+ //if (!cloneIndex) return baseRoleName as CloneName;
4
+ return "" + baseRoleName + "." + cloneIndex;
5
+ }
6
+ export function destructureCloneName(id) {
7
+ const subs = id.split(".");
8
+ if (subs.length != 2) {
9
+ //throw Error(`Bad RoleInstance id format: "${id}"`);
10
+ return undefined;
11
+ }
12
+ return [subs[0], Number(subs[1])];
13
+ }
14
+ const CELL_ID_SEPARATOR = "||";
15
+ export function CellIdStr(hash_or_id, key) {
16
+ if (Array.isArray(hash_or_id)) {
17
+ return "" + encodeHashToBase64(hash_or_id[0]) + CELL_ID_SEPARATOR + encodeHashToBase64(hash_or_id[1]);
18
+ }
19
+ if (!key) {
20
+ throw Error("CellIdStr() failed. AgentPubKey not provided");
21
+ }
22
+ return "" + encodeHashToBase64(hash_or_id) + CELL_ID_SEPARATOR + encodeHashToBase64(key);
23
+ }
24
+ /** */
25
+ export function str2CellId(str) {
26
+ const subs = str.split(CELL_ID_SEPARATOR);
27
+ if (subs.length != 2) {
28
+ throw Error("str2CellId() failed. Bad input string format");
29
+ }
30
+ return [decodeHashFromBase64(subs[0]), decodeHashFromBase64(subs[1])];
31
+ }
33
32
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAqCzE,MAAM,UAAU,cAAc,CAAC,YAA0B,EAAE,UAAuB;IAChF,IAAI,CAAC,UAAU;QAAE,OAAO,YAA8B,CAAC;IACvD,OAAO,EAAE,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAkB;IAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,qDAAqD;QACrD,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAe,CAAC,CAAC;AAClE,CAAC;AASD,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAE9B,MAAM,UAAU,SAAS,CAAC,UAA4B,EAAE,GAAiB;IACvE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F;IACD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC7D;IACD,OAAO,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,MAAM;AACN,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC7D;IACD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACpB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAuC3B,MAAM,UAAU,eAAe,CAAC,YAA0B,EAAE,UAAsB;IAChF,oDAAoD;IACpD,OAAO,EAAE,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAa;IAChD,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,qDAAqD;QACrD,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAe,CAAC,CAAC;AAClE,CAAC;AASD,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAE9B,MAAM,UAAU,SAAS,CAAC,UAA4B,EAAE,GAAiB;IACvE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACvG;IACD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC7D;IACD,OAAO,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM;AACN,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC7D;IACD,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvE,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -1,30 +1,37 @@
1
- import { CellId, InstalledAppInfo } from "@holochain/client";
2
- import { IInstalledCell } from "./types";
3
- /** */
4
- export declare function areArraysEqual(first: Uint8Array, second: Uint8Array): boolean;
5
- /** */
6
- export declare function areCellsEqual(cellA: CellId, cellB: CellId): boolean;
7
- /** */
8
- export declare const delay: (ms: number) => Promise<unknown>;
9
- /**
10
- * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64
11
- */
12
- export declare function anyToB64(obj: any): any;
13
- export declare function prettyDuration(date: Date): string;
14
- /** */
15
- export declare function prettyDate(date: Date): string;
16
- /** */
17
- export declare function printAppInfo(appInfo: InstalledAppInfo): string;
18
- /** */
19
- export declare function printInstalledCell(installedCell: IInstalledCell): string;
20
- /** -- Experimental -- */
21
- /**
22
- *
23
- */
24
- export declare class Queue<T> {
25
- private _store;
26
- get length(): number;
27
- push(val: T): void;
28
- pop(): T | undefined;
29
- isEmpty(): boolean;
30
- }
1
+ import { CellId, AppInfo, CellInfo, Cell } from "@holochain/client";
2
+ import { StemCell } from "@holochain/client/lib/api/admin/types";
3
+ export declare type Dictionary<T> = {
4
+ [key: string]: T;
5
+ };
6
+ /** */
7
+ export declare function areArraysEqual(first: Uint8Array, second: Uint8Array): boolean;
8
+ /** */
9
+ export declare function areCellsEqual(cellA: CellId, cellB: CellId): boolean;
10
+ /** */
11
+ export declare const delay: (ms: number) => Promise<unknown>;
12
+ /**
13
+ * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64
14
+ */
15
+ export declare function anyToB64(obj: any): any;
16
+ export declare function prettyDuration(date: Date): string;
17
+ /** */
18
+ export declare function prettyDate(date: Date): string;
19
+ /** ... */
20
+ export declare function intoStem(cellInfo: CellInfo): StemCell | undefined;
21
+ /** ... */
22
+ export declare function intoCell(cellInfo: CellInfo): Cell | undefined;
23
+ /** */
24
+ export declare function printAppInfo(appInfo: AppInfo): string;
25
+ /** */
26
+ export declare function printCell(cell: Cell): string;
27
+ /** -- Experimental -- */
28
+ /**
29
+ *
30
+ */
31
+ export declare class Queue<T> {
32
+ private _store;
33
+ get length(): number;
34
+ push(val: T): void;
35
+ pop(): T | undefined;
36
+ isEmpty(): boolean;
37
+ }
package/dist/utils.js CHANGED
@@ -1,81 +1,109 @@
1
- import { serializeHash } from "@holochain-open-dev/utils";
2
- import { CellIdStr } from "./types";
3
- /** */
4
- export function areArraysEqual(first, second) {
5
- return first.length === second.length && first.every((value, index) => value === second[index]);
6
- }
7
- /** */
8
- export function areCellsEqual(cellA, cellB) {
9
- return areArraysEqual(cellA[0], cellB[0]) && areArraysEqual(cellA[1], cellB[1]);
10
- }
11
- /** */
12
- export const delay = (ms) => new Promise(r => setTimeout(r, ms));
13
- /**
14
- * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64
15
- */
16
- export function anyToB64(obj) {
17
- /** Check if it's a hash */
18
- if (obj instanceof Uint8Array) {
19
- return serializeHash(obj);
20
- }
21
- else {
22
- /** Check if its an array of hashes */
23
- if (Array.isArray(obj)) {
24
- const isUint8Array = obj.length > 0 &&
25
- obj.every((value) => {
26
- return value instanceof Uint8Array;
27
- });
28
- if (isUint8Array) {
29
- let result = [];
30
- for (const cur of obj) {
31
- result.push(serializeHash(cur));
32
- }
33
- return result;
34
- }
35
- }
36
- }
37
- return obj;
38
- }
39
- /** -- Pretty print -- */
40
- const zeroPad = (num, places) => String(num).padStart(places, '0');
41
- export function prettyDuration(date) {
42
- return date.getSeconds() + "." + zeroPad(date.getMilliseconds(), 3);
43
- }
44
- /** */
45
- export function prettyDate(date) {
46
- return ""
47
- + zeroPad(date.getHours(), 2)
48
- + ":" + zeroPad(date.getMinutes(), 2)
49
- + ":" + zeroPad(date.getSeconds(), 2)
50
- + "." + zeroPad(date.getMilliseconds(), 3);
51
- }
52
- /** */
53
- export function printAppInfo(appInfo) {
54
- let print = `Happ "${appInfo.installed_app_id}" info: (status: ${JSON.stringify(appInfo.status)})`;
55
- for (const installedCell of appInfo.cell_data) {
56
- print += "\n - " + installedCell.role_id + ": " + CellIdStr(installedCell.cell_id);
57
- }
58
- return print;
59
- }
60
- /** */
61
- export function printInstalledCell(installedCell) {
62
- return `InstalledCell "${installedCell.roleInstanceId}": ${installedCell.dnaHash}`;
63
- }
64
- /** -- Experimental -- */
65
- /**
66
- *
67
- */
68
- export class Queue {
69
- constructor() {
70
- this._store = [];
71
- }
72
- get length() { return this._store.length; }
73
- push(val) {
74
- this._store.push(val);
75
- }
76
- pop() {
77
- return this._store.shift();
78
- }
79
- isEmpty() { return this._store.length == 0; }
80
- }
1
+ import { encodeHashToBase64 } from "@holochain/client";
2
+ import { CellType } from "@holochain/client";
3
+ /** */
4
+ export function areArraysEqual(first, second) {
5
+ return first.length === second.length && first.every((value, index) => value === second[index]);
6
+ }
7
+ /** */
8
+ export function areCellsEqual(cellA, cellB) {
9
+ return areArraysEqual(cellA[0], cellB[0]) && areArraysEqual(cellA[1], cellB[1]);
10
+ }
11
+ /** */
12
+ export const delay = (ms) => new Promise(r => setTimeout(r, ms));
13
+ /**
14
+ * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64
15
+ */
16
+ export function anyToB64(obj) {
17
+ /** Check if it's a hash */
18
+ if (obj instanceof Uint8Array) {
19
+ return encodeHashToBase64(obj);
20
+ }
21
+ else {
22
+ /** Check if it's an array of hashes */
23
+ if (Array.isArray(obj)) {
24
+ const isUint8Array = obj.length > 0 &&
25
+ obj.every((value) => {
26
+ return value instanceof Uint8Array;
27
+ });
28
+ if (isUint8Array) {
29
+ let result = [];
30
+ for (const cur of obj) {
31
+ result.push(encodeHashToBase64(cur));
32
+ }
33
+ return result;
34
+ }
35
+ }
36
+ }
37
+ return obj;
38
+ }
39
+ /** -- Pretty print -- */
40
+ const zeroPad = (num, places) => String(num).padStart(places, '0');
41
+ export function prettyDuration(date) {
42
+ return date.getSeconds() + "." + zeroPad(date.getMilliseconds(), 3);
43
+ }
44
+ /** */
45
+ export function prettyDate(date) {
46
+ return ""
47
+ + zeroPad(date.getHours(), 2)
48
+ + ":" + zeroPad(date.getMinutes(), 2)
49
+ + ":" + zeroPad(date.getSeconds(), 2)
50
+ + "." + zeroPad(date.getMilliseconds(), 3);
51
+ }
52
+ /** ... */
53
+ export function intoStem(cellInfo) {
54
+ if (CellType.Stem in cellInfo) {
55
+ return cellInfo.Stem;
56
+ }
57
+ return undefined;
58
+ }
59
+ /** ... */
60
+ export function intoCell(cellInfo) {
61
+ if (CellType.Stem in cellInfo) {
62
+ return undefined;
63
+ }
64
+ if (CellType.Cloned in cellInfo) {
65
+ return cellInfo.Cloned;
66
+ }
67
+ if (CellType.Provisioned in cellInfo) {
68
+ return cellInfo.Provisioned;
69
+ }
70
+ return undefined;
71
+ }
72
+ /** */
73
+ export function printAppInfo(appInfo) {
74
+ let print = `Happ "${appInfo.installed_app_id}" info: (status: ${JSON.stringify(appInfo.status)})`;
75
+ for (const [roleName, cellInfos] of Object.entries(appInfo.cell_info)) {
76
+ for (const cellInfo of Object.values(cellInfos)) {
77
+ if (CellType.Stem in cellInfo) {
78
+ const stem = intoStem(cellInfo);
79
+ print += `\n - ${roleName}.${stem.name ? stem.name : "unnamed"} : ${encodeHashToBase64(stem.dna)} (stem)`;
80
+ continue;
81
+ }
82
+ const cell = intoCell(cellInfo);
83
+ print += `\n - ${roleName}.${cell.name}${cell.name ? "." + cell.name : ""} : ${encodeHashToBase64(cell.cell_id[0])}`;
84
+ }
85
+ }
86
+ return print;
87
+ }
88
+ /** */
89
+ export function printCell(cell) {
90
+ return `Cell "${cell.name}${cell.clone_id ? "." + cell.clone_id : ""}": ${encodeHashToBase64(cell.cell_id[0])}`;
91
+ }
92
+ /** -- Experimental -- */
93
+ /**
94
+ *
95
+ */
96
+ export class Queue {
97
+ constructor() {
98
+ this._store = [];
99
+ }
100
+ get length() { return this._store.length; }
101
+ push(val) {
102
+ this._store.push(val);
103
+ }
104
+ pop() {
105
+ return this._store.shift();
106
+ }
107
+ isEmpty() { return this._store.length == 0; }
108
+ }
81
109
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-qc/cell-proxy",
3
- "version": "0.9.8",
3
+ "version": "0.10.0",
4
4
  "description": "Proxy classes and helpers for managing a Holochain AppWebsocket",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -23,12 +23,10 @@
23
23
  },
24
24
  "homepage": "https://github.com/ddd-mtl/lit-happ#readme",
25
25
  "dependencies": {
26
- "@holochain-open-dev/core-types": "^0.6.2",
27
- "@holochain-open-dev/utils": "0.6.2",
28
- "@holochain/client": "^0.9.3"
26
+ "@holochain/client": "^0.11.8"
29
27
  },
30
28
  "devDependencies": {
31
- "tslib": "^2.3.0",
32
- "typescript": "^4.3.5"
29
+ "tslib": "^2.4.0",
30
+ "typescript": "^4.9.0"
33
31
  }
34
32
  }