@ddd-qc/cell-proxy 0.26.0 → 0.26.2

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.
@@ -29,6 +29,8 @@ export declare abstract class ZomeProxy extends ZomeProxy_base {
29
29
  protected _cellProxy: CellProxy;
30
30
  /** Ctor */
31
31
  constructor(_cellProxy: CellProxy, zomeName?: ZomeName);
32
+ /** */
33
+ private validateFunctionName;
32
34
  /** Helper for calling a zome function on its zome */
33
35
  call(fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any>;
34
36
  /** Helper for calling a zome function on its zome */
package/dist/ZomeProxy.js CHANGED
@@ -18,42 +18,32 @@ export class ZomeProxy extends CellMixin(ZomeSpecific) {
18
18
  }
19
19
  this._cell = _cellProxy.cell;
20
20
  }
21
- // private _signingProps?: {
22
- // capSecret: CapSecret;
23
- // keyPair: nacl.SignKeyPair;
24
- // signingKey: AgentPubKey;
25
- // };
26
- // setSigningProps(signingProps: { capSecret: CapSecret; keyPair: nacl.SignKeyPair; signingKey: AgentPubKey}): void {
27
- // this._signingProps = signingProps;
28
- // }
21
+ /** */
22
+ validateFunctionName(fnName) {
23
+ //const fnNames: FunctionName[] = this.fnNames.map(([a, b]) => b);
24
+ //if (!fnNames.includes(fnName)) {
25
+ if (!this.constructor.FN_NAMES.includes(fnName)) {
26
+ throw Error(`Function "${fnName}()" not part of zome "${this.zomeName}"`);
27
+ }
28
+ }
29
29
  /** Helper for calling a zome function on its zome */
30
30
  async call(fnName, payload, maybeSecret, timeout) {
31
31
  //console.log("ZomeProxy.call", this.zomeName)
32
- if (!this.constructor.FN_NAMES.includes(fnName)) {
33
- return Promise.reject(`Function "${fnName}()" not part of zome "${this.zomeName}"`);
34
- }
35
- const cap_secret = maybeSecret
36
- ? maybeSecret
37
- // : this._signingProps
38
- // ? this._signingProps.capSecret
39
- : null;
32
+ this.validateFunctionName(fnName);
33
+ const cap_secret = maybeSecret ? maybeSecret : null;
40
34
  return this._cellProxy.callZome(this.zomeName, fnName, payload, cap_secret, timeout);
41
35
  }
42
36
  /** Helper for calling a zome function on its zome */
43
37
  async callBlocking(fnName, payload, maybeSecret, timeout) {
44
38
  //console.log("ZomeProxy.call", this.zomeName)
45
- if (!this.constructor.FN_NAMES.includes(fnName)) {
46
- return Promise.reject(`Function "${fnName}()" not part of zome "${this.zomeName}"`);
47
- }
39
+ this.validateFunctionName(fnName);
48
40
  const cap_secret = maybeSecret ? maybeSecret : null;
49
41
  return this._cellProxy.callZomeBlocking(this.zomeName, fnName, payload, cap_secret, timeout);
50
42
  }
51
43
  /** Helper for calling a zome function on its zome */
52
44
  async callZomeBlockPostCommit(entryType, fnName, payload, maybeSecret, timeout) {
53
45
  //console.log("ZomeProxy.call", this.zomeName)
54
- if (!this.constructor.FN_NAMES.includes(fnName)) {
55
- return Promise.reject(`Function "${fnName}()" not part of zome "${this.zomeName}"`);
56
- }
46
+ this.validateFunctionName(fnName);
57
47
  const cap_secret = maybeSecret ? maybeSecret : null;
58
48
  return this._cellProxy.callZomeBlockPostCommit(entryType, this.zomeName, fnName, payload, cap_secret, timeout);
59
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ZomeProxy.js","sourceRoot":"","sources":["../src/ZomeProxy.ts"],"names":[],"mappings":"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","sourcesContent":["import {CapSecret, FunctionName, ZomeName} from \"@holochain/client\";\nimport {CellMixin, ZomeSpecific} from \"./mixins\";\nimport {CellProxy} from \"./CellProxy\";\nimport {DnaInfo, EntryDef, ZomeInfo} from \"./types\";\nimport {Dictionary} from \"./utils\";\n\nexport type ZomeProxyConstructor = {new(cellProxy: CellProxy, zomeName?: ZomeName): ZomeProxy} & typeof ZomeSpecific;\n\n\n/**\n * ABC for representing the zome function bindings of a Zome.\n * It holds the zomeName and reference to a CellProxy.\n */\nexport abstract class ZomeProxy extends CellMixin(ZomeSpecific) {\n\n /** Ctor */\n constructor(protected _cellProxy: CellProxy, zomeName?: ZomeName) {\n super();\n if (zomeName) {\n this.zomeName = zomeName;\n } else {\n if (!this.defaultZomeName) {\n throw Error(\"zomeName not defined in ZomeProxy subclass \" + this.constructor.name);\n }\n }\n this._cell = _cellProxy.cell;\n }\n\n\n // private _signingProps?: {\n // capSecret: CapSecret;\n // keyPair: nacl.SignKeyPair;\n // signingKey: AgentPubKey;\n // };\n // setSigningProps(signingProps: { capSecret: CapSecret; keyPair: nacl.SignKeyPair; signingKey: AgentPubKey}): void {\n // this._signingProps = signingProps;\n // }\n\n\n /** Helper for calling a zome function on its zome */\n async call(fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any> {\n //console.log(\"ZomeProxy.call\", this.zomeName)\n if (!(this.constructor as any).FN_NAMES.includes(fnName)) {\n return Promise.reject(`Function \"${fnName}()\" not part of zome \"${this.zomeName}\"`);\n }\n const cap_secret = maybeSecret\n ? maybeSecret\n // : this._signingProps\n // ? this._signingProps.capSecret\n : null;\n return this._cellProxy.callZome(this.zomeName, fnName, payload, cap_secret, timeout);\n }\n\n\n /** Helper for calling a zome function on its zome */\n protected async callBlocking(fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any> {\n //console.log(\"ZomeProxy.call\", this.zomeName)\n if (!(this.constructor as any).FN_NAMES.includes(fnName)) {\n return Promise.reject(`Function \"${fnName}()\" not part of zome \"${this.zomeName}\"`);\n }\n const cap_secret = maybeSecret ? maybeSecret : null;\n return this._cellProxy.callZomeBlocking(this.zomeName, fnName, payload, cap_secret, timeout);\n }\n\n\n /** Helper for calling a zome function on its zome */\n protected async callZomeBlockPostCommit(entryType: string, fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any> {\n //console.log(\"ZomeProxy.call\", this.zomeName)\n if (!(this.constructor as any).FN_NAMES.includes(fnName)) {\n return Promise.reject(`Function \"${fnName}()\" not part of zome \"${this.zomeName}\"`);\n }\n const cap_secret = maybeSecret ? maybeSecret : null;\n return this._cellProxy.callZomeBlockPostCommit(entryType, this.zomeName, fnName, payload, cap_secret, timeout);\n }\n\n\n /** */\n async zomeInfo(): Promise<ZomeInfo> {\n return this._cellProxy.callZomeInfo(this.zomeName);\n }\n\n /** */\n async dnaInfo(): Promise<DnaInfo> {\n return this._cellProxy.callDnaInfo(this.zomeName);\n }\n\n /** */\n async callEntryDefs(zomeName: ZomeName): Promise<Dictionary<EntryDef>> {\n return this._cellProxy.callEntryDefs(zomeName);\n }\n}\n"]}
1
+ {"version":3,"file":"ZomeProxy.js","sourceRoot":"","sources":["../src/ZomeProxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAQjD;;;GAGG;AACH,MAAM,OAAgB,SAAU,SAAQ,SAAS,CAAC,YAAY,CAAC;IAE7D,WAAW;IACX,YAAsB,UAAqB,EAAE,QAAmB;QAC9D,KAAK,EAAE,CAAC;QADY,eAAU,GAAV,UAAU,CAAW;QAEzC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,MAAM,KAAK,CAAC,6CAA6C,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACpF;SACF;QACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAGD,MAAM;IACE,oBAAoB,CAAC,MAAoB;QAC/C,kEAAkE;QAClE,kCAAkC;QAClC,IAAI,CAAE,IAAI,CAAC,WAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACxD,MAAM,KAAK,CAAC,aAAa,MAAM,yBAAyB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SAC3E;IACH,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,IAAI,CAAC,MAAoB,EAAE,OAAY,EAAE,WAAuB,EAAE,OAAgB;QACtF,8CAA8C;QAC9C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAGD,qDAAqD;IAC3C,KAAK,CAAC,YAAY,CAAC,MAAoB,EAAE,OAAY,EAAE,WAAuB,EAAE,OAAgB;QACxG,8CAA8C;QAC9C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAGD,qDAAqD;IAC3C,KAAK,CAAC,uBAAuB,CAAC,SAAiB,EAAE,MAAoB,EAAE,OAAY,EAAE,WAAuB,EAAE,OAAgB;QACtI,8CAA8C;QAC9C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACjH,CAAC;IAGD,MAAM;IACN,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;IACN,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;IACN,KAAK,CAAC,aAAa,CAAC,QAAkB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["import {CapSecret, FunctionName, ZomeName} from \"@holochain/client\";\nimport {CellMixin, ZomeSpecific} from \"./mixins\";\nimport {CellProxy} from \"./CellProxy\";\nimport {DnaInfo, EntryDef, ZomeInfo} from \"./types\";\nimport {Dictionary} from \"./utils\";\n\nexport type ZomeProxyConstructor = {new(cellProxy: CellProxy, zomeName?: ZomeName): ZomeProxy} & typeof ZomeSpecific;\n\n\n/**\n * ABC for representing the zome function bindings of a Zome.\n * It holds the zomeName and reference to a CellProxy.\n */\nexport abstract class ZomeProxy extends CellMixin(ZomeSpecific) {\n\n /** Ctor */\n constructor(protected _cellProxy: CellProxy, zomeName?: ZomeName) {\n super();\n if (zomeName) {\n this.zomeName = zomeName;\n } else {\n if (!this.defaultZomeName) {\n throw Error(\"zomeName not defined in ZomeProxy subclass \" + this.constructor.name);\n }\n }\n this._cell = _cellProxy.cell;\n }\n\n\n /** */\n private validateFunctionName(fnName: FunctionName): void {\n //const fnNames: FunctionName[] = this.fnNames.map(([a, b]) => b);\n //if (!fnNames.includes(fnName)) {\n if (!(this.constructor as any).FN_NAMES.includes(fnName)) {\n throw Error(`Function \"${fnName}()\" not part of zome \"${this.zomeName}\"`);\n }\n }\n\n /** Helper for calling a zome function on its zome */\n async call(fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any> {\n //console.log(\"ZomeProxy.call\", this.zomeName)\n this.validateFunctionName(fnName);\n const cap_secret = maybeSecret ? maybeSecret : null;\n return this._cellProxy.callZome(this.zomeName, fnName, payload, cap_secret, timeout);\n }\n\n\n /** Helper for calling a zome function on its zome */\n protected async callBlocking(fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any> {\n //console.log(\"ZomeProxy.call\", this.zomeName)\n this.validateFunctionName(fnName);\n const cap_secret = maybeSecret ? maybeSecret : null;\n return this._cellProxy.callZomeBlocking(this.zomeName, fnName, payload, cap_secret, timeout);\n }\n\n\n /** Helper for calling a zome function on its zome */\n protected async callZomeBlockPostCommit(entryType: string, fnName: FunctionName, payload: any, maybeSecret?: CapSecret, timeout?: number): Promise<any> {\n //console.log(\"ZomeProxy.call\", this.zomeName)\n this.validateFunctionName(fnName);\n const cap_secret = maybeSecret ? maybeSecret : null;\n return this._cellProxy.callZomeBlockPostCommit(entryType, this.zomeName, fnName, payload, cap_secret, timeout);\n }\n\n\n /** */\n async zomeInfo(): Promise<ZomeInfo> {\n return this._cellProxy.callZomeInfo(this.zomeName);\n }\n\n /** */\n async dnaInfo(): Promise<DnaInfo> {\n return this._cellProxy.callDnaInfo(this.zomeName);\n }\n\n /** */\n async callEntryDefs(zomeName: ZomeName): Promise<Dictionary<EntryDef>> {\n return this._cellProxy.callEntryDefs(zomeName);\n }\n}\n"]}
package/dist/hash.d.ts CHANGED
@@ -53,6 +53,24 @@ export declare function createHolochainId(hashType: HoloHashType): {
53
53
  toString(): string;
54
54
  print(): string;
55
55
  };
56
+ /** */
57
+ from<T extends {
58
+ readonly b64: string;
59
+ readonly type: HoloHashType;
60
+ readonly hash: Uint8Array;
61
+ /** First 8 chars of the Core */
62
+ readonly short: string;
63
+ toString(): string;
64
+ print(): string;
65
+ }>(start: T): {
66
+ readonly b64: string;
67
+ readonly type: HoloHashType;
68
+ readonly hash: Uint8Array;
69
+ /** First 8 chars of the Core */
70
+ readonly short: string;
71
+ toString(): string;
72
+ print(): string;
73
+ };
56
74
  };
57
75
  declare const ActionId_base: {
58
76
  new (input: string | Uint8Array): {
@@ -64,6 +82,24 @@ declare const ActionId_base: {
64
82
  toString(): string;
65
83
  print(): string;
66
84
  };
85
+ /** */
86
+ from<T extends {
87
+ readonly b64: string;
88
+ readonly type: HoloHashType;
89
+ readonly hash: Uint8Array;
90
+ /** First 8 chars of the Core */
91
+ readonly short: string;
92
+ toString(): string;
93
+ print(): string;
94
+ }>(start: T): {
95
+ readonly b64: string;
96
+ readonly type: HoloHashType;
97
+ readonly hash: Uint8Array;
98
+ /** First 8 chars of the Core */
99
+ readonly short: string;
100
+ toString(): string;
101
+ print(): string;
102
+ };
67
103
  };
68
104
  export declare class ActionId extends ActionId_base {
69
105
  }
@@ -77,6 +113,24 @@ declare const AgentId_base: {
77
113
  toString(): string;
78
114
  print(): string;
79
115
  };
116
+ /** */
117
+ from<T extends {
118
+ readonly b64: string;
119
+ readonly type: HoloHashType;
120
+ readonly hash: Uint8Array;
121
+ /** First 8 chars of the Core */
122
+ readonly short: string;
123
+ toString(): string;
124
+ print(): string;
125
+ }>(start: T): {
126
+ readonly b64: string;
127
+ readonly type: HoloHashType;
128
+ readonly hash: Uint8Array;
129
+ /** First 8 chars of the Core */
130
+ readonly short: string;
131
+ toString(): string;
132
+ print(): string;
133
+ };
80
134
  };
81
135
  export declare class AgentId extends AgentId_base {
82
136
  }
@@ -90,6 +144,24 @@ declare const DnaId_base: {
90
144
  toString(): string;
91
145
  print(): string;
92
146
  };
147
+ /** */
148
+ from<T extends {
149
+ readonly b64: string;
150
+ readonly type: HoloHashType;
151
+ readonly hash: Uint8Array;
152
+ /** First 8 chars of the Core */
153
+ readonly short: string;
154
+ toString(): string;
155
+ print(): string;
156
+ }>(start: T): {
157
+ readonly b64: string;
158
+ readonly type: HoloHashType;
159
+ readonly hash: Uint8Array;
160
+ /** First 8 chars of the Core */
161
+ readonly short: string;
162
+ toString(): string;
163
+ print(): string;
164
+ };
93
165
  };
94
166
  export declare class DnaId extends DnaId_base {
95
167
  }
@@ -103,6 +175,24 @@ declare const EntryId_base: {
103
175
  toString(): string;
104
176
  print(): string;
105
177
  };
178
+ /** */
179
+ from<T extends {
180
+ readonly b64: string;
181
+ readonly type: HoloHashType;
182
+ readonly hash: Uint8Array;
183
+ /** First 8 chars of the Core */
184
+ readonly short: string;
185
+ toString(): string;
186
+ print(): string;
187
+ }>(start: T): {
188
+ readonly b64: string;
189
+ readonly type: HoloHashType;
190
+ readonly hash: Uint8Array;
191
+ /** First 8 chars of the Core */
192
+ readonly short: string;
193
+ toString(): string;
194
+ print(): string;
195
+ };
106
196
  };
107
197
  export declare class EntryId extends EntryId_base {
108
198
  }
@@ -116,6 +206,24 @@ declare const ExternalId_base: {
116
206
  toString(): string;
117
207
  print(): string;
118
208
  };
209
+ /** */
210
+ from<T extends {
211
+ readonly b64: string;
212
+ readonly type: HoloHashType;
213
+ readonly hash: Uint8Array;
214
+ /** First 8 chars of the Core */
215
+ readonly short: string;
216
+ toString(): string;
217
+ print(): string;
218
+ }>(start: T): {
219
+ readonly b64: string;
220
+ readonly type: HoloHashType;
221
+ readonly hash: Uint8Array;
222
+ /** First 8 chars of the Core */
223
+ readonly short: string;
224
+ toString(): string;
225
+ print(): string;
226
+ };
119
227
  };
120
228
  export declare class ExternalId extends ExternalId_base {
121
229
  }
@@ -126,4 +234,3 @@ export declare function intoDhtId(input: HoloHashB64 | HoloHash): AnyDhtId;
126
234
  /** */
127
235
  export declare function intoLinkableId(input: HoloHashB64 | HoloHash): AnyLinkableId;
128
236
  export {};
129
- /** ------- */
package/dist/hash.js CHANGED
@@ -1,4 +1,4 @@
1
- import { decodeHashFromBase64, encodeHashToBase64 } from "@holochain/client";
1
+ import { decodeHashFromBase64, dhtLocationFrom32, encodeHashToBase64, HASH_TYPE_PREFIX, } from "@holochain/client";
2
2
  /**
3
3
  * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64
4
4
  */
@@ -119,9 +119,19 @@ export function createHolochainId(hashType) {
119
119
  super(input, hashType);
120
120
  const type = getHashType(this.b64);
121
121
  if (hashType != type) {
122
- throw new Error('The hash does not have the correct type. Expected ' + hashType + ', got' + type);
122
+ throw new Error('The hash does not have the correct type. Expected ' + hashType + ', got: ' + type);
123
123
  }
124
124
  }
125
+ /** */
126
+ static from(start) {
127
+ const core = Uint8Array.from(start.hash.slice(3, 35));
128
+ const newHash = Uint8Array.from([
129
+ ...HASH_TYPE_PREFIX[hashType],
130
+ ...core,
131
+ ...dhtLocationFrom32(core),
132
+ ]);
133
+ return new AHoloId(newHash);
134
+ }
125
135
  }
126
136
  /** */
127
137
  return AHoloId;
@@ -158,89 +168,4 @@ export function intoLinkableId(input) {
158
168
  return externalId;
159
169
  }
160
170
  }
161
- //
162
- // /** */
163
- // export class DnaId extends HoloId {
164
- // constructor(input: HoloHashB64 | HoloHash) {
165
- // super(input, HoloHashType.Dna);
166
- // const type = getHashType(this.value);
167
- // if (HoloHashType.Dna != type) {
168
- // throw new Error('The hash does not have the "Dna" type');
169
- // }
170
- // }
171
- // }
172
- //
173
- //
174
- // /** */
175
- // export class AgentId extends HoloId {
176
- // constructor(input: HoloHashB64 | HoloHash) {
177
- // super(input, HoloHashType.Agent);
178
- // const type = getHashType(this.value);
179
- // if (HoloHashType.Agent != type) {
180
- // throw new Error('The hash does not have the "Agent" type');
181
- // }
182
- // }
183
- // }
184
- /** ------- */
185
- // export type HoloIdConstructor<T = {}> = new (input: HoloHashB64 | HoloHash) => T;
186
- //
187
- // export function HoloIdMixin<TBase extends GConstructor>(Base: TBase) {
188
- // class AHoloId extends Base {
189
- // public readonly b64: HoloHashB64;
190
- //
191
- // //constructor(...args: any[]) {super(args[0])}
192
- //
193
- // /** Validate */
194
- // constructor(...args: any[]) {
195
- // super(args);
196
- // if (args.length != 1) {
197
- // throw new Error("HoloId ctor must have exactly 1 argument.");
198
- // }
199
- // let input = args[0];
200
- // if (typeof (input) != 'string') {
201
- // input = enc64(input);
202
- // }
203
- // this.b64 = input;
204
- // if (this.b64.length !== 53) {
205
- // throw new Error("The hash must be exactly 53 characters long.");
206
- // }
207
- // }
208
- //
209
- // get hash(): HoloHash {
210
- // return dec64(this.b64)
211
- // }
212
- //
213
- // /** First 8 chars of the Core */
214
- // get short(): string {
215
- // return this.b64.slice(5, 13);
216
- // }
217
- // }
218
- // return AHoloId;
219
- // }
220
- //
221
- // export const HoloId = HoloIdMixin(Empty);
222
- //
223
- //
224
- // /** */
225
- // export class AgentId extends HoloId {
226
- // constructor(input: HoloHashB64 | HoloHash) {
227
- // super(input, HoloHashType.Agent);
228
- // const type = getHashType(this.b64);
229
- // if (HoloHashType.Agent != type) {
230
- // throw new Error('The hash does not have the correct type: ' + HoloHashType.Agent);
231
- // }
232
- // }
233
- // }
234
- //
235
- //
236
- // /** */
237
- // export class DnaId extends HoloIdMixin(Empty) {
238
- // constructor(input: HoloHashB64 | HoloHash) {
239
- // super(input, HoloHashType.Dna);
240
- // const type = getHashType(this.b64);
241
- // if (HoloHashType.Dna != type) {
242
- // throw new Error('The hash does not have the correct type: ' + HoloHashType.Dna);
243
- // }
244
- // }
245
- // }
246
171
  //# sourceMappingURL=hash.js.map
package/dist/hash.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"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","sourcesContent":["import {decodeHashFromBase64, encodeHashToBase64, HoloHash, HoloHashB64} from \"@holochain/client\";\r\nimport {AbstractConstructor, CellMixin, Empty, GConstructor, ZomeMixin, ZomeSpecific} from \"./mixins\";\r\nimport {Cell} from \"./cell\";\r\n\r\n\r\n/**\r\n * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64\r\n */\r\nexport function anyToB64(obj: any): any {\r\n /** Check if it's a hash */\r\n if (obj instanceof Uint8Array) {\r\n return encodeHashToBase64(obj);\r\n } else {\r\n /** Check if it's an array of hashes */\r\n if (Array.isArray(obj)) {\r\n const isUint8Array =\r\n obj.length > 0 &&\r\n obj.every((value) => {\r\n return value instanceof Uint8Array;\r\n });\r\n if (isUint8Array) {\r\n let result = [];\r\n for (const cur of obj) {\r\n result.push(encodeHashToBase64(cur));\r\n }\r\n return result;\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\n\r\n/** ------------------------------------------------------------------------------------------------------------------*/\r\n\r\nexport enum HoloHashType {\r\n Action = \"Action\",\r\n Agent = \"Agent\",\r\n //DhtOp = \"DhtOp\",\r\n Dna = \"Dna\",\r\n Entry = \"Entry\",\r\n External = \"External\",\r\n Network = \"Network\",\r\n //Warrent = \"Warrent\",\r\n Wasm = \"Wasm\",\r\n}\r\n\r\nexport const HASH_TYPE_PREFIX_B64 = {\r\n Action: \"uhCkk\",\r\n Agent: \"uhCAk\",\r\n Dna: \"uhC0k\",\r\n //DhtOp: \"hCQk\",\r\n Entry: \"uhCEk\",\r\n External: \"uhC8k\",\r\n Network: \"uhCIk\",\r\n //Warrent: \"Warrent\",\r\n Wasm: \"uhCok\",\r\n};\r\n\r\nexport function getHashType(hash: HoloHashB64): HoloHashType {\r\n const hashExt = hash.slice(0, 5);\r\n const hashPrefixes = Object.values(HASH_TYPE_PREFIX_B64)\r\n for (let i = 0; i < hashPrefixes.length; i+= 1) {\r\n if (hashPrefixes[i] == hashExt) {\r\n return Object.keys(HASH_TYPE_PREFIX_B64)[i] as HoloHashType;\r\n }\r\n }\r\n throw Error(\"Unknown hash type\");\r\n}\r\n\r\n\r\n/** */\r\nexport function isHashTypeB64(hash: HoloHashB64, hashType: HoloHashType) {\r\n const slice = hash.slice(0, 5);\r\n const prefix = HASH_TYPE_PREFIX_B64[hashType];\r\n for (let i = 0; i < prefix.length; i++) {\r\n if (slice[i] !== prefix[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n\r\nexport function hasHoloHashType(hash: HoloHashB64): boolean {\r\n return !!Object.values(HASH_TYPE_PREFIX_B64).find((prefix) => hash.startsWith(`${prefix}`));\r\n}\r\n\r\n\r\n/** */\r\nexport function validateHashB64(hash: HoloHashB64) {\r\n if (!hash || typeof(hash) != 'string') {\r\n throw new Error(\"The hash must be a valid string\");\r\n }\r\n if (hash.length !== 53) {\r\n throw new Error(\"The hash must be exactly 53 characters long.\");\r\n }\r\n if (!hasHoloHashType(hash)) {\r\n throw new Error(\"The hash must have a valid HoloHash type.\");\r\n\r\n }\r\n}\r\n\r\n\r\nexport function dec64(hash: HoloHashB64): HoloHash {\r\n validateHashB64(hash);\r\n return decodeHashFromBase64(hash);\r\n}\r\nexport function enc64(hash: HoloHash): HoloHashB64 {\r\n let b64 = encodeHashToBase64(hash);\r\n validateHashB64(b64);\r\n return b64;\r\n}\r\n\r\n\r\n/** HoloHash starts with 'u' has a type and is 53 chars long */\r\nexport abstract class HolochainId {\r\n public readonly b64: HoloHashB64;\r\n //private readonly hash: HoloHash;\r\n\r\n /** Validate */\r\n constructor(input: HoloHashB64 | HoloHash, public readonly type: HoloHashType) {\r\n if (typeof(input) != 'string') {\r\n input = encodeHashToBase64(input);\r\n }\r\n validateHashB64(input);\r\n this.b64 = input;\r\n }\r\n\r\n get hash(): HoloHash { return dec64(this.b64) }\r\n /** First 8 chars of the Core */\r\n get short(): string { return this.b64.slice(5, 13); }\r\n\r\n toString(): string {return this.b64;}\r\n\r\n print(): string { return `${this.short} (${this.type})`}\r\n}\r\n\r\n\r\n/** Mixin */\r\nexport function createHolochainId(hashType: HoloHashType) {\r\n class AHoloId extends HolochainId {\r\n constructor(input: HoloHashB64 | HoloHash) {\r\n super(input, hashType);\r\n const type = getHashType(this.b64);\r\n if (hashType != type) {\r\n throw new Error('The hash does not have the correct type. Expected ' + hashType + ', got' + type);\r\n }\r\n }\r\n }\r\n /** */\r\n return AHoloId;\r\n}\r\n\r\nexport class ActionId extends createHolochainId(HoloHashType.Action) {}\r\nexport class AgentId extends createHolochainId(HoloHashType.Agent) {}\r\nexport class DnaId extends createHolochainId(HoloHashType.Dna) {}\r\nexport class EntryId extends createHolochainId(HoloHashType.Entry) {}\r\nexport class ExternalId extends createHolochainId(HoloHashType.External) {}\r\n\r\nexport type AnyDhtId = ActionId | EntryId;\r\nexport type AnyLinkableId = AnyDhtId | ExternalId;\r\n\r\n\r\n/** */\r\nexport function intoDhtId(input: HoloHashB64 | HoloHash): AnyDhtId {\r\n try {\r\n const actionId = new ActionId(input);\r\n return actionId;\r\n } catch(e) {\r\n const entryId = new EntryId(input);\r\n return entryId;\r\n }\r\n}\r\n\r\n\r\n/** */\r\nexport function intoLinkableId(input: HoloHashB64 | HoloHash): AnyLinkableId {\r\n try {\r\n const dhtId = intoDhtId(input);\r\n return dhtId;\r\n } catch(e) {\r\n const externalId = new ExternalId(input);\r\n return externalId;\r\n }\r\n}\r\n\r\n//\r\n// /** */\r\n// export class DnaId extends HoloId {\r\n// constructor(input: HoloHashB64 | HoloHash) {\r\n// super(input, HoloHashType.Dna);\r\n// const type = getHashType(this.value);\r\n// if (HoloHashType.Dna != type) {\r\n// throw new Error('The hash does not have the \"Dna\" type');\r\n// }\r\n// }\r\n// }\r\n//\r\n//\r\n// /** */\r\n// export class AgentId extends HoloId {\r\n// constructor(input: HoloHashB64 | HoloHash) {\r\n// super(input, HoloHashType.Agent);\r\n// const type = getHashType(this.value);\r\n// if (HoloHashType.Agent != type) {\r\n// throw new Error('The hash does not have the \"Agent\" type');\r\n// }\r\n// }\r\n// }\r\n\r\n\r\n/** ------- */\r\n// export type HoloIdConstructor<T = {}> = new (input: HoloHashB64 | HoloHash) => T;\r\n//\r\n// export function HoloIdMixin<TBase extends GConstructor>(Base: TBase) {\r\n// class AHoloId extends Base {\r\n// public readonly b64: HoloHashB64;\r\n//\r\n// //constructor(...args: any[]) {super(args[0])}\r\n//\r\n// /** Validate */\r\n// constructor(...args: any[]) {\r\n// super(args);\r\n// if (args.length != 1) {\r\n// throw new Error(\"HoloId ctor must have exactly 1 argument.\");\r\n// }\r\n// let input = args[0];\r\n// if (typeof (input) != 'string') {\r\n// input = enc64(input);\r\n// }\r\n// this.b64 = input;\r\n// if (this.b64.length !== 53) {\r\n// throw new Error(\"The hash must be exactly 53 characters long.\");\r\n// }\r\n// }\r\n//\r\n// get hash(): HoloHash {\r\n// return dec64(this.b64)\r\n// }\r\n//\r\n// /** First 8 chars of the Core */\r\n// get short(): string {\r\n// return this.b64.slice(5, 13);\r\n// }\r\n// }\r\n// return AHoloId;\r\n// }\r\n//\r\n// export const HoloId = HoloIdMixin(Empty);\r\n//\r\n//\r\n// /** */\r\n// export class AgentId extends HoloId {\r\n// constructor(input: HoloHashB64 | HoloHash) {\r\n// super(input, HoloHashType.Agent);\r\n// const type = getHashType(this.b64);\r\n// if (HoloHashType.Agent != type) {\r\n// throw new Error('The hash does not have the correct type: ' + HoloHashType.Agent);\r\n// }\r\n// }\r\n// }\r\n//\r\n//\r\n// /** */\r\n// export class DnaId extends HoloIdMixin(Empty) {\r\n// constructor(input: HoloHashB64 | HoloHash) {\r\n// super(input, HoloHashType.Dna);\r\n// const type = getHashType(this.b64);\r\n// if (HoloHashType.Dna != type) {\r\n// throw new Error('The hash does not have the correct type: ' + HoloHashType.Dna);\r\n// }\r\n// }\r\n// }\r\n"]}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n decodeHashFromBase64,\r\n dhtLocationFrom32,\r\n encodeHashToBase64, HASH_TYPE_PREFIX,\r\n HoloHash,\r\n HoloHashB64,\r\n } from \"@holochain/client\";\r\n\r\n\r\n/**\r\n * Checks if obj is a Hash or list of hashes and tries to convert it a B64 or list of B64\r\n */\r\nexport function anyToB64(obj: any): any {\r\n /** Check if it's a hash */\r\n if (obj instanceof Uint8Array) {\r\n return encodeHashToBase64(obj);\r\n } else {\r\n /** Check if it's an array of hashes */\r\n if (Array.isArray(obj)) {\r\n const isUint8Array =\r\n obj.length > 0 &&\r\n obj.every((value) => {\r\n return value instanceof Uint8Array;\r\n });\r\n if (isUint8Array) {\r\n let result = [];\r\n for (const cur of obj) {\r\n result.push(encodeHashToBase64(cur));\r\n }\r\n return result;\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\n\r\n/** ------------------------------------------------------------------------------------------------------------------*/\r\n\r\nexport enum HoloHashType {\r\n Action = \"Action\",\r\n Agent = \"Agent\",\r\n //DhtOp = \"DhtOp\",\r\n Dna = \"Dna\",\r\n Entry = \"Entry\",\r\n External = \"External\",\r\n Network = \"Network\",\r\n //Warrent = \"Warrent\",\r\n Wasm = \"Wasm\",\r\n}\r\n\r\nexport const HASH_TYPE_PREFIX_B64 = {\r\n Action: \"uhCkk\",\r\n Agent: \"uhCAk\",\r\n Dna: \"uhC0k\",\r\n //DhtOp: \"hCQk\",\r\n Entry: \"uhCEk\",\r\n External: \"uhC8k\",\r\n Network: \"uhCIk\",\r\n //Warrent: \"Warrent\",\r\n Wasm: \"uhCok\",\r\n};\r\n\r\nexport function getHashType(hash: HoloHashB64): HoloHashType {\r\n const hashExt = hash.slice(0, 5);\r\n const hashPrefixes = Object.values(HASH_TYPE_PREFIX_B64)\r\n for (let i = 0; i < hashPrefixes.length; i+= 1) {\r\n if (hashPrefixes[i] == hashExt) {\r\n return Object.keys(HASH_TYPE_PREFIX_B64)[i] as HoloHashType;\r\n }\r\n }\r\n throw Error(\"Unknown hash type\");\r\n}\r\n\r\n\r\n/** */\r\nexport function isHashTypeB64(hash: HoloHashB64, hashType: HoloHashType) {\r\n const slice = hash.slice(0, 5);\r\n const prefix = HASH_TYPE_PREFIX_B64[hashType];\r\n for (let i = 0; i < prefix.length; i++) {\r\n if (slice[i] !== prefix[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n\r\nexport function hasHoloHashType(hash: HoloHashB64): boolean {\r\n return !!Object.values(HASH_TYPE_PREFIX_B64).find((prefix) => hash.startsWith(`${prefix}`));\r\n}\r\n\r\n\r\n/** */\r\nexport function validateHashB64(hash: HoloHashB64) {\r\n if (!hash || typeof(hash) != 'string') {\r\n throw new Error(\"The hash must be a valid string\");\r\n }\r\n if (hash.length !== 53) {\r\n throw new Error(\"The hash must be exactly 53 characters long.\");\r\n }\r\n if (!hasHoloHashType(hash)) {\r\n throw new Error(\"The hash must have a valid HoloHash type.\");\r\n\r\n }\r\n}\r\n\r\n\r\nexport function dec64(hash: HoloHashB64): HoloHash {\r\n validateHashB64(hash);\r\n return decodeHashFromBase64(hash);\r\n}\r\nexport function enc64(hash: HoloHash): HoloHashB64 {\r\n let b64 = encodeHashToBase64(hash);\r\n validateHashB64(b64);\r\n return b64;\r\n}\r\n\r\n\r\n/** HoloHash starts with 'u' has a type and is 53 chars long */\r\nexport abstract class HolochainId {\r\n public readonly b64: HoloHashB64;\r\n //private readonly hash: HoloHash;\r\n\r\n /** Validate */\r\n constructor(input: HoloHashB64 | HoloHash, public readonly type: HoloHashType) {\r\n if (typeof(input) != 'string') {\r\n input = encodeHashToBase64(input);\r\n }\r\n validateHashB64(input);\r\n this.b64 = input;\r\n }\r\n\r\n get hash(): HoloHash { return dec64(this.b64) }\r\n /** First 8 chars of the Core */\r\n get short(): string { return this.b64.slice(5, 13); }\r\n\r\n toString(): string {return this.b64;}\r\n\r\n print(): string { return `${this.short} (${this.type})`}\r\n}\r\n\r\n\r\n/** Mixin */\r\nexport function createHolochainId(hashType: HoloHashType) {\r\n class AHoloId extends HolochainId {\r\n constructor(input: HoloHashB64 | HoloHash) {\r\n super(input, hashType);\r\n const type = getHashType(this.b64);\r\n if (hashType != type) {\r\n throw new Error('The hash does not have the correct type. Expected ' + hashType + ', got: ' + type);\r\n }\r\n }\r\n /** */\r\n static from<T extends AHoloId>(start: T): AHoloId {\r\n const core = Uint8Array.from(start.hash.slice(3, 35));\r\n const newHash = Uint8Array.from([\r\n ...HASH_TYPE_PREFIX[hashType],\r\n ...core,\r\n ...dhtLocationFrom32(core),\r\n ]);\r\n return new AHoloId(newHash)\r\n }\r\n\r\n }\r\n /** */\r\n return AHoloId;\r\n}\r\n\r\nexport class ActionId extends createHolochainId(HoloHashType.Action) {}\r\nexport class AgentId extends createHolochainId(HoloHashType.Agent) {}\r\nexport class DnaId extends createHolochainId(HoloHashType.Dna) {}\r\nexport class EntryId extends createHolochainId(HoloHashType.Entry) {}\r\nexport class ExternalId extends createHolochainId(HoloHashType.External) {}\r\n\r\nexport type AnyDhtId = ActionId | EntryId;\r\nexport type AnyLinkableId = AnyDhtId | ExternalId;\r\n\r\n\r\n/** */\r\nexport function intoDhtId(input: HoloHashB64 | HoloHash): AnyDhtId {\r\n try {\r\n const actionId = new ActionId(input);\r\n return actionId;\r\n } catch(e) {\r\n const entryId = new EntryId(input);\r\n return entryId;\r\n }\r\n}\r\n\r\n\r\n/** */\r\nexport function intoLinkableId(input: HoloHashB64 | HoloHash): AnyLinkableId {\r\n try {\r\n const dhtId = intoDhtId(input);\r\n return dhtId;\r\n } catch(e) {\r\n const externalId = new ExternalId(input);\r\n return externalId;\r\n }\r\n}\r\n"]}
package/dist/pretty.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { SignalLog } from "./AppProxy";
2
2
  import { AppInfo } from "@holochain/client";
3
3
  import { BaseRoleName, CellsForRole } from "./types";
4
+ import { StateChange } from "./zomeSignals.types";
4
5
  export declare function prettyDuration(date: Date): string;
5
6
  /** */
6
7
  export declare function prettyDate(date: Date): string;
@@ -15,3 +16,5 @@ export declare function prettySignalLogs(signalLogs: SignalLog[]): {
15
16
  export declare function printAppInfo(appInfo: AppInfo): string;
16
17
  /** */
17
18
  export declare function printCellsForRole(baseRoleName: BaseRoleName, cells: CellsForRole): string;
19
+ /** */
20
+ export declare function prettyState(state: StateChange): string;
package/dist/pretty.js CHANGED
@@ -2,6 +2,7 @@ import { CellType } from "@holochain/client";
2
2
  import { str2CellId } from "./types";
3
3
  import { intoStem } from "./cell";
4
4
  import { enc64 } from "./hash";
5
+ import { StateChangeType } from "./zomeSignals.types";
5
6
  const zeroPad = (num, places) => String(num).padStart(places, '0');
6
7
  export function prettyDuration(date) {
7
8
  return date.getSeconds() + "." + zeroPad(date.getMilliseconds(), 3);
@@ -54,4 +55,17 @@ export function printCellsForRole(baseRoleName, cells) {
54
55
  }
55
56
  return print;
56
57
  }
58
+ /** */
59
+ export function prettyState(state) {
60
+ if (StateChangeType.Create in state) {
61
+ return state.Create ? "Create NEW" : "Create";
62
+ }
63
+ if (StateChangeType.Update in state) {
64
+ return state.Update ? "Update NEW" : "Update";
65
+ }
66
+ if (StateChangeType.Delete in state) {
67
+ return state.Delete ? "Delete NEW" : "Delete";
68
+ }
69
+ throw Error("Unknown stateChange type");
70
+ }
57
71
  //# sourceMappingURL=pretty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pretty.js","sourceRoot":"","sources":["../src/pretty.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nimport {SignalLog} from \"./AppProxy\";\r\nimport {AppInfo, CellType} from \"@holochain/client\";\r\nimport {BaseRoleName, CellsForRole, str2CellId} from \"./types\";\r\nimport {intoStem} from \"./cell\";\r\nimport {enc64} from \"./hash\";\r\n\r\n\r\nconst zeroPad = (num: number, places: number) => String(num).padStart(places, '0')\r\n\r\nexport function prettyDuration(date: Date): string {\r\n return date.getSeconds() + \".\" + zeroPad(date.getMilliseconds(), 3)\r\n}\r\n\r\n/** */\r\nexport function prettyDate(date: Date): string {\r\n return \"\"\r\n + zeroPad(date.getHours(), 2)\r\n + \":\" + zeroPad(date.getMinutes(), 2)\r\n + \":\" + zeroPad(date.getSeconds(), 2)\r\n + \".\" + zeroPad(date.getMilliseconds(), 3);\r\n}\r\n\r\n\r\nexport function prettySignalLogs(signalLogs: SignalLog[]) {\r\n return signalLogs.map((log) => {\r\n const dnaHash = enc64(str2CellId(log.cellId)[0]).slice(-8);\r\n return {timestamp: prettyDate(new Date(log.ts)), dnaHash, zome: log.zomeName, type: log.type, payload: log.zomeSignal};\r\n })\r\n}\r\n\r\n\r\n/** */\r\nexport function printAppInfo(appInfo: AppInfo): string {\r\n let print = `Happ \"${appInfo.installed_app_id}\" info: (status: ${JSON.stringify(appInfo.status)})`;\r\n for (const [roleName, cellInfos] of Object.entries(appInfo.cell_info)) {\r\n for (const cellInfo of Object.values(cellInfos)) {\r\n if (CellType.Stem in cellInfo) {\r\n const stem = intoStem(cellInfo)!;\r\n print += `\\n - ${roleName}.${stem.name? stem.name : \"unnamed\"}: ${enc64(stem.dna)} (stem)`;\r\n continue;\r\n }\r\n if (CellType.Provisioned in cellInfo) {\r\n const cell = cellInfo.provisioned;\r\n print += `\\n - ${roleName}: ${cell.name} | ${enc64(cell.cell_id[0])}`;\r\n continue;\r\n }\r\n if (CellType.Cloned in cellInfo) {\r\n const cell = cellInfo.cloned;\r\n print += `\\n - ${roleName}.${cell.clone_id}: ${cell.name} | ${enc64(cell.cell_id[0])}`;\r\n continue;\r\n }\r\n }\r\n }\r\n return print;\r\n}\r\n\r\n\r\n/** */\r\nexport function printCellsForRole(baseRoleName: BaseRoleName, cells: CellsForRole): string {\r\n let print = `CellsForRole \"${baseRoleName}\": (${enc64(cells.provisioned.cell_id[1])})\\n`;\r\n print += ` - Provisioned: ${cells.provisioned.name} | ${enc64(cells.provisioned.cell_id[0])}\\n`;\r\n print += ` - Clones : ${Object.values(cells.clones).length}\\n`;\r\n for (const [cloneId, clone] of Object.entries(cells.clones)) {\r\n print += ` - (${clone.enabled? \"enabled\" : \"disabled\"})${cloneId}: ${clone.name} | ${enc64(clone.cell_id[0])}\\n`;\r\n }\r\n return print;\r\n}\r\n"]}
1
+ {"version":3,"file":"pretty.js","sourceRoot":"","sources":["../src/pretty.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nimport {SignalLog} from \"./AppProxy\";\r\nimport {AppInfo, CellType} from \"@holochain/client\";\r\nimport {BaseRoleName, CellsForRole, str2CellId} from \"./types\";\r\nimport {intoStem} from \"./cell\";\r\nimport {enc64} from \"./hash\";\r\nimport {StateChange, StateChangeType} from \"./zomeSignals.types\";\r\n\r\n\r\nconst zeroPad = (num: number, places: number) => String(num).padStart(places, '0')\r\n\r\nexport function prettyDuration(date: Date): string {\r\n return date.getSeconds() + \".\" + zeroPad(date.getMilliseconds(), 3)\r\n}\r\n\r\n/** */\r\nexport function prettyDate(date: Date): string {\r\n return \"\"\r\n + zeroPad(date.getHours(), 2)\r\n + \":\" + zeroPad(date.getMinutes(), 2)\r\n + \":\" + zeroPad(date.getSeconds(), 2)\r\n + \".\" + zeroPad(date.getMilliseconds(), 3);\r\n}\r\n\r\n\r\nexport function prettySignalLogs(signalLogs: SignalLog[]) {\r\n return signalLogs.map((log) => {\r\n const dnaHash = enc64(str2CellId(log.cellId)[0]).slice(-8);\r\n return {timestamp: prettyDate(new Date(log.ts)), dnaHash, zome: log.zomeName, type: log.type, payload: log.zomeSignal};\r\n })\r\n}\r\n\r\n\r\n/** */\r\nexport function printAppInfo(appInfo: AppInfo): string {\r\n let print = `Happ \"${appInfo.installed_app_id}\" info: (status: ${JSON.stringify(appInfo.status)})`;\r\n for (const [roleName, cellInfos] of Object.entries(appInfo.cell_info)) {\r\n for (const cellInfo of Object.values(cellInfos)) {\r\n if (CellType.Stem in cellInfo) {\r\n const stem = intoStem(cellInfo)!;\r\n print += `\\n - ${roleName}.${stem.name? stem.name : \"unnamed\"}: ${enc64(stem.dna)} (stem)`;\r\n continue;\r\n }\r\n if (CellType.Provisioned in cellInfo) {\r\n const cell = cellInfo.provisioned;\r\n print += `\\n - ${roleName}: ${cell.name} | ${enc64(cell.cell_id[0])}`;\r\n continue;\r\n }\r\n if (CellType.Cloned in cellInfo) {\r\n const cell = cellInfo.cloned;\r\n print += `\\n - ${roleName}.${cell.clone_id}: ${cell.name} | ${enc64(cell.cell_id[0])}`;\r\n continue;\r\n }\r\n }\r\n }\r\n return print;\r\n}\r\n\r\n\r\n/** */\r\nexport function printCellsForRole(baseRoleName: BaseRoleName, cells: CellsForRole): string {\r\n let print = `CellsForRole \"${baseRoleName}\": (${enc64(cells.provisioned.cell_id[1])})\\n`;\r\n print += ` - Provisioned: ${cells.provisioned.name} | ${enc64(cells.provisioned.cell_id[0])}\\n`;\r\n print += ` - Clones : ${Object.values(cells.clones).length}\\n`;\r\n for (const [cloneId, clone] of Object.entries(cells.clones)) {\r\n print += ` - (${clone.enabled? \"enabled\" : \"disabled\"})${cloneId}: ${clone.name} | ${enc64(clone.cell_id[0])}\\n`;\r\n }\r\n return print;\r\n}\r\n\r\n\r\n\r\n/** */\r\nexport function prettyState(state: StateChange): string {\r\n if (StateChangeType.Create in state) {\r\n return state.Create? \"Create NEW\" : \"Create\";\r\n }\r\n if (StateChangeType.Update in state) {\r\n return state.Update? \"Update NEW\" : \"Update\";\r\n }\r\n if (StateChangeType.Delete in state) {\r\n return state.Delete? \"Delete NEW\" : \"Delete\";\r\n }\r\n throw Error(\"Unknown stateChange type\");\r\n}\r\n"]}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAEpD,0DAA0D;AAG1D,mBAAmB;AAEnB,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACf,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAsGD,MAAM;AACN,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC9C,IAAI,GAAG,GAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAAC,YAA0B,EAAE,UAAsB;IAChF,oDAAoD;IACpD,OAAO,EAAE,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC;AAC9C,CAAC;AAED,MAAM;AACN,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,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;AAGD,MAAM;AACN,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAOD,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAE9B,MAAM,UAAU,SAAS,CAAC,cAA8B,EAAE,GAAa;IACrE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QACjC,OAAO,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;KACrF;IACD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC7D;IACD,OAAO,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/D,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,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzC,CAAC","sourcesContent":["import {\n CellId,\n RoleName, ClonedCell, ProvisionedCell, ZomeName, FunctionName,\n} from \"@holochain/client\";\nimport {Dictionary} from \"./utils\";\nimport {AgentId, dec64, DnaId, enc64} from \"./hash\";\nimport {SystemSignalProtocol} from \"./zomeSignals.types\";\n//import {AgentPubKey} from \"@holochain/client/lib/types\";\n\n\n/** Signal types */\n\nexport enum SignalType {\n Unknown = \"Unknown\",\n Empty = \"Empty\",\n Zome = \"Zome\",\n}\n\nexport type SystemPulse = {System: SystemSignalProtocol}\n\n//\n// //export type SignalPayload = unknown | LitHappSignal;\n\n// export interface LitHappSignal {\n// from: AgentPubKey,\n// pulses: unknown[],\n// }\n//\n// /** Protocol for notifying the ViewModel (UI) of system level events */\n// export type SystemSignalProtocolVariantPostCommitNewStart = {\n// type: \"PostCommitNewStart\"\n// app_entry_type: string\n// }\n// export type SystemSignalProtocolVariantPostCommitNewEnd = {\n// type: \"PostCommitNewEnd\"\n// app_entry_type: string\n// succeeded: boolean\n// }\n// export type SystemSignalProtocolVariantPostCommitDeleteStart = {\n// type: \"PostCommitDeleteStart\"\n// app_entry_type: string\n// }\n// export type SystemSignalProtocolVariantPostCommitDeleteEnd = {\n// type: \"PostCommitDeleteEnd\"\n// app_entry_type: string\n// succeeded: boolean\n// }\n// export type SystemSignalProtocolVariantSelfCallStart = {\n// type: \"SelfCallStart\"\n// zome_name: string\n// fn_name: string\n// }\n// export type SystemSignalProtocolVariantSelfCallEnd = {\n// type: \"SelfCallEnd\"\n// zome_name: string\n// fn_name: string\n// succeeded: boolean\n// }\n// export type SystemSignalProtocol =\n// | SystemSignalProtocolVariantPostCommitNewStart\n// | SystemSignalProtocolVariantPostCommitNewEnd\n// | SystemSignalProtocolVariantPostCommitDeleteStart\n// | SystemSignalProtocolVariantPostCommitDeleteEnd\n// | SystemSignalProtocolVariantSelfCallStart\n// | SystemSignalProtocolVariantSelfCallEnd;\n//\n\n/** ---- */\n\nexport type BaseRoleName = string;\nexport type CloneIndex = number;\n\nexport type ZomeIndex = number;\n\nexport type EntryDef = {\n id: { App: string } | { CapClaim: null } | { CapGrant: null },\n visibility: \"Public\" | \"Private\",\n requiredValidations: number,\n cacheAtAgentActivity: boolean,\n}\n\nexport type EntryDefsCallbackResult = {Defs: EntryDef[]}\n\nexport type ScopedZomeTypes = [ZomeIndex, number[]][];\n\nexport type ScopedZomeTypesSet = {\n entries: ScopedZomeTypes, // EntryDefIndex\n links: ScopedZomeTypes, // LinkType\n};\n\nexport type ZomeInfo = {\n name: ZomeName,\n id: ZomeIndex,\n properties: Uint8Array,\n entry_defs: EntryDef[],\n extern_fns: FunctionName[],\n zome_types: ScopedZomeTypesSet,\n}\n\n\nexport type DnaInfo = {\n name: string,\n id: DnaId,\n properties: Uint8Array,\n zome_names: ZomeName[],\n}\n\n/** */\nexport type CellsForRole = {\n //baseRoleName: BaseRoleName,\n provisioned: ProvisionedCell,\n /** CloneId -> Cell */\n clones: Dictionary<ClonedCell>,\n}\n\n/** BaseRoleName -> RoleCells */\nexport type RoleCellsMap = Dictionary<CellsForRole>;\n\n/** */\nexport function flattenCells(cells: CellsForRole): CellId[] {\n let res: CellId[] = Object.entries(cells.clones).map(([cloneId, clone]) => clone.cell_id);\n res.push(cells.provisioned.cell_id);\n return res;\n}\n\n\n/** -- CloneId -- */\nexport type CloneId = RoleName;\n/** type for string \"<baseRoleName>.<cloneIndex>\" */\nexport function createCloneName(baseRoleName: BaseRoleName, cloneIndex: CloneIndex): string {\n //if (!cloneIndex) return baseRoleName as CloneName;\n return \"\" + baseRoleName + \".\" + cloneIndex;\n}\n\n/** */\nexport function destructureCloneId(cloneId: CloneId): [BaseRoleName, CloneIndex] | undefined {\n const subs = cloneId.split(\".\");\n if (subs.length != 2) {\n //throw Error(`Bad RoleInstance id format: \"${id}\"`);\n return undefined;\n }\n return [subs[0] as BaseRoleName, Number(subs[1]) as CloneIndex];\n}\n\n\n/** */\nexport function decomposeCellId(cellId: CellId): [DnaId, AgentId] {\n return [new DnaId(cellId[0]), new AgentId(cellId[1])]\n}\n\n\n/** -- CellIdStr -- */\n\nexport type CellIdStr = string;\n\nconst CELL_ID_SEPARATOR = \"||\"\n\nexport function CellIdStr(dna_or_cell_id: DnaId | CellId, key?: AgentId): CellIdStr {\n if (Array.isArray(dna_or_cell_id)) {\n return \"\" + enc64(dna_or_cell_id[0]) + CELL_ID_SEPARATOR + enc64(dna_or_cell_id[1]);\n }\n if (!key) {\n throw Error(\"CellIdStr() failed. AgentPubKey not provided\");\n }\n return \"\" + dna_or_cell_id.b64 + CELL_ID_SEPARATOR + key.b64;\n}\n\n/** */\nexport function str2CellId(str: CellIdStr): CellId {\n const subs = str.split(CELL_ID_SEPARATOR);\n if (subs.length != 2) {\n throw Error(\"str2CellId() failed. Bad input string format\");\n }\n return [dec64(subs[0]), dec64(subs[1])]\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAGpD,0DAA0D;AAG1D,mBAAmB;AAEnB,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACf,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAsGD,MAAM;AACN,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC9C,IAAI,GAAG,GAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAAC,YAA0B,EAAE,UAAsB;IAChF,oDAAoD;IACpD,OAAO,EAAE,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC;AAC9C,CAAC;AAED,MAAM;AACN,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,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;AAGD,MAAM;AACN,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAOD,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAE9B,MAAM,UAAU,SAAS,CAAC,cAA8B,EAAE,GAAa;IACrE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QACjC,OAAO,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;KACrF;IACD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC7D;IACD,OAAO,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/D,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,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzC,CAAC","sourcesContent":["import {\n CellId,\n RoleName, ClonedCell, ProvisionedCell, ZomeName, FunctionName,\n} from \"@holochain/client\";\nimport {Dictionary} from \"./utils\";\nimport {AgentId, dec64, DnaId, enc64} from \"./hash\";\nimport {SystemSignalProtocol} from \"./zomeSignals.types\";\nimport {EntryType} from \"@holochain/client/lib/hdk/entry\";\n//import {AgentPubKey} from \"@holochain/client/lib/types\";\n\n\n/** Signal types */\n\nexport enum SignalType {\n Unknown = \"Unknown\",\n Empty = \"Empty\",\n Zome = \"Zome\",\n}\n\nexport type SystemPulse = {System: SystemSignalProtocol}\n\n//\n// //export type SignalPayload = unknown | LitHappSignal;\n\n// export interface LitHappSignal {\n// from: AgentPubKey,\n// pulses: unknown[],\n// }\n//\n// /** Protocol for notifying the ViewModel (UI) of system level events */\n// export type SystemSignalProtocolVariantPostCommitNewStart = {\n// type: \"PostCommitNewStart\"\n// app_entry_type: string\n// }\n// export type SystemSignalProtocolVariantPostCommitNewEnd = {\n// type: \"PostCommitNewEnd\"\n// app_entry_type: string\n// succeeded: boolean\n// }\n// export type SystemSignalProtocolVariantPostCommitDeleteStart = {\n// type: \"PostCommitDeleteStart\"\n// app_entry_type: string\n// }\n// export type SystemSignalProtocolVariantPostCommitDeleteEnd = {\n// type: \"PostCommitDeleteEnd\"\n// app_entry_type: string\n// succeeded: boolean\n// }\n// export type SystemSignalProtocolVariantSelfCallStart = {\n// type: \"SelfCallStart\"\n// zome_name: string\n// fn_name: string\n// }\n// export type SystemSignalProtocolVariantSelfCallEnd = {\n// type: \"SelfCallEnd\"\n// zome_name: string\n// fn_name: string\n// succeeded: boolean\n// }\n// export type SystemSignalProtocol =\n// | SystemSignalProtocolVariantPostCommitNewStart\n// | SystemSignalProtocolVariantPostCommitNewEnd\n// | SystemSignalProtocolVariantPostCommitDeleteStart\n// | SystemSignalProtocolVariantPostCommitDeleteEnd\n// | SystemSignalProtocolVariantSelfCallStart\n// | SystemSignalProtocolVariantSelfCallEnd;\n//\n\n/** ---- */\n\nexport type BaseRoleName = string;\nexport type CloneIndex = number;\n\nexport type ZomeIndex = number;\n\nexport type EntryDef = {\n id: { App: string } | { CapClaim: null } | { CapGrant: null },\n visibility: \"Public\" | \"Private\",\n requiredValidations: number,\n cacheAtAgentActivity: boolean,\n}\n\nexport type EntryDefsCallbackResult = {Defs: EntryDef[]}\n\nexport type ScopedZomeTypes = [ZomeIndex, number[]][];\n\nexport type ScopedZomeTypesSet = {\n entries: ScopedZomeTypes, // EntryDefIndex\n links: ScopedZomeTypes, // LinkType\n};\n\nexport type ZomeInfo = {\n name: ZomeName,\n id: ZomeIndex,\n properties: Uint8Array,\n entry_defs: EntryDef[],\n extern_fns: FunctionName[],\n zome_types: ScopedZomeTypesSet,\n}\n\n\nexport type DnaInfo = {\n name: string,\n id: DnaId,\n properties: Uint8Array,\n zome_names: ZomeName[],\n}\n\n/** */\nexport type CellsForRole = {\n //baseRoleName: BaseRoleName,\n provisioned: ProvisionedCell,\n /** CloneId -> Cell */\n clones: Dictionary<ClonedCell>,\n}\n\n/** BaseRoleName -> RoleCells */\nexport type RoleCellsMap = Dictionary<CellsForRole>;\n\n/** */\nexport function flattenCells(cells: CellsForRole): CellId[] {\n let res: CellId[] = Object.entries(cells.clones).map(([cloneId, clone]) => clone.cell_id);\n res.push(cells.provisioned.cell_id);\n return res;\n}\n\n\n/** -- CloneId -- */\nexport type CloneId = RoleName;\n/** type for string \"<baseRoleName>.<cloneIndex>\" */\nexport function createCloneName(baseRoleName: BaseRoleName, cloneIndex: CloneIndex): string {\n //if (!cloneIndex) return baseRoleName as CloneName;\n return \"\" + baseRoleName + \".\" + cloneIndex;\n}\n\n/** */\nexport function destructureCloneId(cloneId: CloneId): [BaseRoleName, CloneIndex] | undefined {\n const subs = cloneId.split(\".\");\n if (subs.length != 2) {\n //throw Error(`Bad RoleInstance id format: \"${id}\"`);\n return undefined;\n }\n return [subs[0] as BaseRoleName, Number(subs[1]) as CloneIndex];\n}\n\n\n/** */\nexport function decomposeCellId(cellId: CellId): [DnaId, AgentId] {\n return [new DnaId(cellId[0]), new AgentId(cellId[1])]\n}\n\n\n/** -- CellIdStr -- */\n\nexport type CellIdStr = string;\n\nconst CELL_ID_SEPARATOR = \"||\"\n\nexport function CellIdStr(dna_or_cell_id: DnaId | CellId, key?: AgentId): CellIdStr {\n if (Array.isArray(dna_or_cell_id)) {\n return \"\" + enc64(dna_or_cell_id[0]) + CELL_ID_SEPARATOR + enc64(dna_or_cell_id[1]);\n }\n if (!key) {\n throw Error(\"CellIdStr() failed. AgentPubKey not provided\");\n }\n return \"\" + dna_or_cell_id.b64 + CELL_ID_SEPARATOR + key.b64;\n}\n\n/** */\nexport function str2CellId(str: CellIdStr): CellId {\n const subs = str.split(CELL_ID_SEPARATOR);\n if (subs.length != 2) {\n throw Error(\"str2CellId() failed. Bad input string format\");\n }\n return [dec64(subs[0]), dec64(subs[1])]\n}\n"]}
package/dist/utils.d.ts CHANGED
@@ -14,3 +14,5 @@ export declare const snake: (str: any) => any;
14
14
  export declare const pascal: (str: any) => any;
15
15
  /** */
16
16
  export declare function getVariantByIndex(enumType: Object, index: number): string;
17
+ /** */
18
+ export declare function getIndexByVariant(enumType: Object, variant: string): number;
package/dist/utils.js CHANGED
@@ -21,4 +21,14 @@ export function getVariantByIndex(enumType, index) {
21
21
  }
22
22
  throw Error("Out of bounds index");
23
23
  }
24
+ /** */
25
+ export function getIndexByVariant(enumType, variant) {
26
+ const keys = Object.keys(enumType);
27
+ for (let i = 0; i < keys.length; i += 1) {
28
+ if (keys[i] == variant) {
29
+ return i;
30
+ }
31
+ }
32
+ throw Error("Unknown variant");
33
+ }
24
34
  //# 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":"AAOA,MAAM;AACN,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,MAAkB;IAClE,OAAO,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACjG,CAAC;AAED,MAAM;AACN,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,KAAa;IACxD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,OAAO;AACP,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAExE,wCAAwC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEpI,wCAAwC;AACxC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAG1I,MAAM;AACN,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,KAAa;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;KACtB;IACD,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import {CellId} from \"@holochain/client\";\n\n\nexport declare type Dictionary<T> = {\n [key: string]: T;\n};\n\n/** */\nexport function areArraysEqual(first: Uint8Array, second: Uint8Array) {\n return first.length === second.length && first.every((value, index) => value === second[index])\n}\n\n/** */\nexport function areCellsEqual(cellA: CellId, cellB: CellId) {\n return areArraysEqual(cellA[0], cellB[0]) && areArraysEqual(cellA[1], cellB[1])\n}\n\n/** */\nexport const delay = (ms: number) => new Promise(r => setTimeout(r, ms))\n\n/** convert Pascal case to snake case */\nexport const snake = str => str[0].toLowerCase() + str.slice(1, str.length).replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n\n/** convert snake case to pascal case */\nexport const pascal = str => str[0].toUpperCase() + str.slice(1, str.length).replace(/_([a-z])/g, letter => `${letter[1].toUpperCase()}`);\n\n\n/** */\nexport function getVariantByIndex(enumType: Object, index: number): string {\n const keys = Object.keys(enumType);\n if (index >= 0 && index < keys.length) {\n const key = keys[index];\n return enumType[key];\n }\n throw Error(\"Out of bounds index\");\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,MAAM;AACN,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,MAAkB;IAClE,OAAO,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACjG,CAAC;AAED,MAAM;AACN,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,KAAa;IACxD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,OAAO;AACP,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAExE,wCAAwC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEpI,wCAAwC;AACxC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAG1I,MAAM;AACN,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,KAAa;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;KACtB;IACD,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC;AAGD,MAAM;AACN,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAAe;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAG,CAAC,EAAE;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;YACtB,OAAO,CAAC,CAAC;SACV;KACF;IACD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACjC,CAAC","sourcesContent":["import {CellId} from \"@holochain/client\";\n\n\nexport declare type Dictionary<T> = {\n [key: string]: T;\n};\n\n/** */\nexport function areArraysEqual(first: Uint8Array, second: Uint8Array) {\n return first.length === second.length && first.every((value, index) => value === second[index])\n}\n\n/** */\nexport function areCellsEqual(cellA: CellId, cellB: CellId) {\n return areArraysEqual(cellA[0], cellB[0]) && areArraysEqual(cellA[1], cellB[1])\n}\n\n/** */\nexport const delay = (ms: number) => new Promise(r => setTimeout(r, ms))\n\n/** convert Pascal case to snake case */\nexport const snake = str => str[0].toLowerCase() + str.slice(1, str.length).replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n\n/** convert snake case to pascal case */\nexport const pascal = str => str[0].toUpperCase() + str.slice(1, str.length).replace(/_([a-z])/g, letter => `${letter[1].toUpperCase()}`);\n\n\n/** */\nexport function getVariantByIndex(enumType: Object, index: number): string {\n const keys = Object.keys(enumType);\n if (index >= 0 && index < keys.length) {\n const key = keys[index];\n return enumType[key];\n }\n throw Error(\"Out of bounds index\");\n}\n\n\n/** */\nexport function getIndexByVariant(enumType: Object, variant: string): number {\n const keys = Object.keys(enumType);\n for (let i = 0; i < keys.length; i+= 1) {\n if (keys[i] == variant) {\n return i;\n }\n }\n throw Error(\"Unknown variant\");\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-qc/cell-proxy",
3
- "version": "0.26.0",
3
+ "version": "0.26.2",
4
4
  "description": "Proxy classes and helpers for managing a Holochain AppWebsocket",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -27,7 +27,7 @@
27
27
  "typescript": "~5.2.0"
28
28
  },
29
29
  "dependencies": {
30
- "@holochain/client": "^0.18.0-dev.1",
30
+ "@holochain/client": "^0.18.0-dev.4",
31
31
  "async-mutex": "0.4.0"
32
32
  }
33
33
  }