@ddd-qc/cell-proxy 0.29.0 → 0.29.3
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.d.ts +5 -0
- package/dist/mixins.d.ts.map +1 -1
- package/dist/mixins.js +15 -0
- package/dist/mixins.js.map +1 -1
- package/package.json +1 -1
package/dist/mixins.d.ts
CHANGED
|
@@ -12,6 +12,11 @@ export declare function CellMixin<TBase extends AbstractConstructor>(Base: TBase
|
|
|
12
12
|
_cell?: Cell;
|
|
13
13
|
readonly cell: Cell;
|
|
14
14
|
}) & TBase;
|
|
15
|
+
export declare function CellsMixin<TBase extends AbstractConstructor>(Base: TBase): (abstract new (...args: any[]) => {
|
|
16
|
+
_cells?: Cell[];
|
|
17
|
+
readonly cells: Cell[];
|
|
18
|
+
readonly cell: Cell;
|
|
19
|
+
}) & TBase;
|
|
15
20
|
export declare function ZomeMixin<TBase extends AbstractConstructor>(Base: TBase): ((abstract new (...args: any[]) => {
|
|
16
21
|
zomeName: ZomeName;
|
|
17
22
|
readonly defaultZomeName: string;
|
package/dist/mixins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAC,QAAQ,CAAC,CAAA;CAAC,CAAC;AACzC,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7D,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAG5E,qBAAa,KAAK;gBACJ,GAAG,KAAK,EAAE,GAAG,EAAE;CAC5B;AASD,wBAAgB,SAAS,CAAC,KAAK,SAAS,mBAAmB,EAAE,IAAI,EAAE,KAAK,2BAdP,GAAG,EAAE;YAmB1D,IAAI;;WAOf;
|
|
1
|
+
{"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAC,QAAQ,CAAC,CAAA;CAAC,CAAC;AACzC,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7D,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAG5E,qBAAa,KAAK;gBACJ,GAAG,KAAK,EAAE,GAAG,EAAE;CAC5B;AASD,wBAAgB,SAAS,CAAC,KAAK,SAAS,mBAAmB,EAAE,IAAI,EAAE,KAAK,2BAdP,GAAG,EAAE;YAmB1D,IAAI;;WAOf;AASD,wBAAgB,UAAU,CAAC,KAAK,SAAS,mBAAmB,EAAE,IAAI,EAAE,KAAK,2BAnCR,GAAG,EAAE;aAwCzD,IAAI,EAAE;;;WAgBlB;AASD,wBAAgB,SAAS,CAAC,KAAK,SAAS,mBAAmB,EAAE,IAAI,EAAE,KAAK,4BAS/C,GAAG,EAAE;cANhB,QAAQ;;;;;;gCACiB,QAAQ;0BACd,MAAM,EAAE;yBACT,MAAM,EAAE;uBACV,YAAY,EAAE;WAgC3C;AAED,eAAO,MAAM,YAAY,2BAhCA,GAAG,EAAE;cANhB,QAAQ;;;;;;gCACiB,QAAQ;0BACd,MAAM,EAAE;yBACT,MAAM,EAAE;uBACV,YAAY,EAAE;iBAkCA,CAAC"}
|
package/dist/mixins.js
CHANGED
|
@@ -8,6 +8,21 @@ export function CellMixin(Base) {
|
|
|
8
8
|
}
|
|
9
9
|
return ACell;
|
|
10
10
|
}
|
|
11
|
+
export function CellsMixin(Base) {
|
|
12
|
+
class ACells extends Base {
|
|
13
|
+
get cells() {
|
|
14
|
+
if (!this._cells)
|
|
15
|
+
throw Error("Cells field not set for object");
|
|
16
|
+
return this._cells;
|
|
17
|
+
}
|
|
18
|
+
get cell() {
|
|
19
|
+
if (this.cells.length == 0)
|
|
20
|
+
throw Error("No Cells set for object");
|
|
21
|
+
return this.cells[0];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return ACells;
|
|
25
|
+
}
|
|
11
26
|
export function ZomeMixin(Base) {
|
|
12
27
|
class AZomeSpecific extends Base {
|
|
13
28
|
constructor(...args) {
|
package/dist/mixins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,KAAK;IAChB,YAAY,GAAG,KAAY,IAAG,CAAC;CAChC;AASD,MAAM,UAAU,SAAS,CAAoC,IAAW;IACtE,MAAe,KAAM,SAAQ,IAAI;QAM/B,IAAI,IAAI,KAAW,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAE,CAAC,OAAO,IAAI,CAAC,KAAM,CAAA,CAAC,CAAC;KAExG;IAED,OAAO,KAAK,CAAC;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,KAAK;IAChB,YAAY,GAAG,KAAY,IAAG,CAAC;CAChC;AASD,MAAM,UAAU,SAAS,CAAoC,IAAW;IACtE,MAAe,KAAM,SAAQ,IAAI;QAM/B,IAAI,IAAI,KAAW,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAE,CAAC,OAAO,IAAI,CAAC,KAAM,CAAA,CAAC,CAAC;KAExG;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,UAAU,UAAU,CAAoC,IAAW;IACvE,MAAe,MAAO,SAAQ,IAAI;QAMhC,IAAI,KAAK;YACP,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,MAAO,CAAA;QACrB,CAAC;QAED,IAAI,IAAI;YACN,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QACxB,CAAC;KAGF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,MAAM,UAAU,SAAS,CAAoC,IAAW;IACtE,MAAe,aAAc,SAAQ,IAAI;QAQvC,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,IAAI,UAAU;YACZ,OAAQ,IAAI,CAAC,WAAoC,CAAC,WAAW,CAAC;QAChE,CAAC;QACD,IAAI,SAAS;YACX,OAAQ,IAAI,CAAC,WAAoC,CAAC,UAAU,CAAC;QAC/D,CAAC;QAID,IAAI,OAAO;YACT,MAAM,OAAO,GAAI,IAAI,CAAC,WAAoC,CAAC,QAAQ,CAAC;YACpE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC,6CAA6C,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrF,CAAC;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;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import {\n FunctionName,\n ZomeName\n} from \"@holochain/client\";\nimport {Cell} from \"./cell\";\n\nexport type Constructor<T> = {new (): T};\nexport type GConstructor<T = {}> = new (...args: any[]) => T;\nexport type AbstractConstructor<T = {}> = abstract new (...args: any[]) => T\n\n\nexport class Empty {\n constructor(..._args: any[]) {}\n}\n\n\n/** ------------------------------------------------------------------------------------------- **/\n\n/**\n * Mixin for Cell bound classes.\n * A Cell bound class must have a \"Provisioned\" or \"Cloned\" cell from @holochain/client\n */\nexport function CellMixin<TBase extends AbstractConstructor>(Base: TBase) {\n abstract class ACell extends Base {\n // constructor(...args: any[]){\n // super(args);\n // }\n _cell?: Cell;\n\n get cell(): Cell { if (!this._cell) throw Error(\"Cell field not set for object\") ; return this._cell! }\n\n }\n\n return ACell;\n}\n\n//export const CellSpecific = CellMixin(Empty);\n\n\n/**\n * Mixin for Cell bound classes.\n * A Cell bound class must have a \"Provisioned\" or \"Cloned\" cell from @holochain/client\n */\nexport function CellsMixin<TBase extends AbstractConstructor>(Base: TBase) {\n abstract class ACells extends Base {\n // constructor(...args: any[]){\n // super(args);\n // }\n _cells?: Cell[];\n\n get cells(): Cell[] {\n if (!this._cells) throw Error(\"Cells field not set for object\");\n return this._cells!\n }\n\n get cell(): Cell {\n if (this.cells.length == 0) throw Error(\"No Cells set for object\");\n return this.cells[0]!;\n }\n\n\n }\n\n return ACells;\n}\n\n\n/** ------------------------------------------------------------------------------------------- **/\n\n/**\n * Mixin for Zome bound classes.\n * A Zome bound class must have a zome name and a list of zome functions\n */\nexport function ZomeMixin<TBase extends AbstractConstructor>(Base: TBase) {\n abstract class AZomeSpecific extends Base {\n\n zomeName: ZomeName;\n static readonly DEFAULT_ZOME_NAME: ZomeName;\n static readonly ENTRY_TYPES: string[];\n static readonly LINK_TYPES: string[];\n static readonly FN_NAMES: FunctionName[];\n\n constructor(...args: any[]){\n super(args);\n this.zomeName = (this.constructor as typeof AZomeSpecific).DEFAULT_ZOME_NAME\n }\n\n get defaultZomeName(): ZomeName {\n return (this.constructor as typeof AZomeSpecific).DEFAULT_ZOME_NAME;\n }\n\n get entryTypes(): string[] {\n return (this.constructor as typeof AZomeSpecific).ENTRY_TYPES;\n }\n get linkTypes(): string[] {\n return (this.constructor as typeof AZomeSpecific).LINK_TYPES;\n }\n\n\n /** Tuple array with zome name */\n get fnNames(): [ZomeName, FunctionName][] {\n const fnNames = (this.constructor as typeof AZomeSpecific).FN_NAMES;\n if (!fnNames) {\n throw Error(\"FN_NAMES not defined in ZomeProxy subclass \" + this.constructor.name);\n }\n return (fnNames as FunctionName[]).map((fnName) => {\n return [this.zomeName, fnName]\n })\n }\n }\n\n return AZomeSpecific;\n}\n\nexport const ZomeSpecific = ZomeMixin(Empty);\n"]}
|