@ceramicnetwork/stream-model 0.4.2 → 0.5.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/README.md +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/model.d.ts +0 -4
- package/lib/model.d.ts.map +1 -1
- package/lib/model.js +0 -43
- package/lib/model.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
File without changes
|
package/lib/index.d.ts
CHANGED
|
File without changes
|
package/lib/index.d.ts.map
CHANGED
|
File without changes
|
package/lib/index.js
CHANGED
|
File without changes
|
package/lib/index.js.map
CHANGED
|
File without changes
|
package/lib/model.d.ts
CHANGED
|
@@ -33,12 +33,8 @@ export declare class Model extends Stream {
|
|
|
33
33
|
get content(): ModelDefinition;
|
|
34
34
|
get metadata(): ModelMetadata;
|
|
35
35
|
static create(ceramic: CeramicApi, content: ModelDefinition, metadata?: ModelMetadataArgs): Promise<Model>;
|
|
36
|
-
static createPlaceholder(ceramic: CeramicApi, content: Partial<ModelDefinition>, metadata?: ModelMetadataArgs): Promise<Model>;
|
|
37
|
-
replacePlaceholder(content: ModelDefinition): Promise<void>;
|
|
38
36
|
static assertComplete(content: ModelDefinition, streamId?: StreamID | CommitID | string): void;
|
|
39
37
|
static load(ceramic: CeramicApi, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model>;
|
|
40
|
-
private _makeCommit;
|
|
41
|
-
private _makeRawCommit;
|
|
42
38
|
private static _makeGenesis;
|
|
43
39
|
private static _makeRawGenesis;
|
|
44
40
|
makeReadOnly(): void;
|
package/lib/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAMN,UAAU,EAIX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AASjE,MAAM,WAAW,iBAAiB;IAIhC,UAAU,EAAE,MAAM,CAAA;CACnB;AAKD,MAAM,WAAW,aAAa;IAI5B,UAAU,EAAE,MAAM,CAAA;IAOlB,KAAK,EAAE,QAAQ,CAAA;CAChB;AA4BD,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAYD,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAO3F,oBAAY,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;AAKtE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAA;IACzB,eAAe,EAAE,oBAAoB,CAAA;IACrC,KAAK,CAAC,EAAE,oBAAoB,CAAA;CAC7B;AAKD,qBACa,KAAM,SAAQ,MAAM;IAC/B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,cAAc,SAAI;IAKzB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAM3B;IAEJ,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,OAAO,IAAI,eAAe,CAE7B;IAED,IAAI,QAAQ,IAAI,aAAa,CAE5B;WAQY,MAAM,CACjB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,KAAK,CAAC;IAoBjB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;WAoCjF,IAAI,CACf,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,KAAK,CAAC;mBAsBI,YAAY;mBAYZ,eAAe;IA+BpC,YAAY;IAKZ,IAAI,UAAU,IAAI,OAAO,CAExB;mBAQoB,WAAW;CAOjC"}
|
package/lib/model.js
CHANGED
|
@@ -5,8 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
var Model_1;
|
|
8
|
-
import jsonpatch from 'fast-json-patch';
|
|
9
|
-
import { randomBytes } from '@stablelib/random';
|
|
10
8
|
import { Stream, StreamStatic, SyncOptions, } from '@ceramicnetwork/common';
|
|
11
9
|
import { StreamID, StreamRef } from '@ceramicnetwork/streamid';
|
|
12
10
|
import { CID } from 'multiformats/cid';
|
|
@@ -57,24 +55,6 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
57
55
|
const model = await ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
58
56
|
return model;
|
|
59
57
|
}
|
|
60
|
-
static async createPlaceholder(ceramic, content, metadata) {
|
|
61
|
-
const opts = {
|
|
62
|
-
publish: false,
|
|
63
|
-
anchor: false,
|
|
64
|
-
pin: false,
|
|
65
|
-
sync: SyncOptions.NEVER_SYNC,
|
|
66
|
-
throwOnInvalidCommit: true,
|
|
67
|
-
};
|
|
68
|
-
const commit = await Model_1._makeGenesis(ceramic, content, metadata);
|
|
69
|
-
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
70
|
-
}
|
|
71
|
-
async replacePlaceholder(content) {
|
|
72
|
-
Model_1.assertComplete(content, this.id);
|
|
73
|
-
const opts = { publish: true, anchor: true, pin: true, throwOnInvalidCommit: true };
|
|
74
|
-
const updateCommit = await this._makeCommit(this.api, content);
|
|
75
|
-
const updated = await this.api.applyCommit(this.id, updateCommit, opts);
|
|
76
|
-
this.state$.next(updated.state);
|
|
77
|
-
}
|
|
78
58
|
static assertComplete(content, streamId) {
|
|
79
59
|
if (!content.name) {
|
|
80
60
|
if (streamId) {
|
|
@@ -108,29 +88,8 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
108
88
|
throw new Error(`StreamID ${streamRef.toString()} does not refer to a '${Model_1.STREAM_TYPE_NAME}' stream, but to a ${streamRef.typeName}`);
|
|
109
89
|
}
|
|
110
90
|
const model = await ceramic.loadStream(streamRef, opts);
|
|
111
|
-
try {
|
|
112
|
-
Model_1.assertComplete(model.content, streamId);
|
|
113
|
-
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
throw new Error(`Incomplete placeholder Models cannot be loaded: ${err.message}`);
|
|
116
|
-
}
|
|
117
91
|
return model;
|
|
118
92
|
}
|
|
119
|
-
async _makeCommit(signer, newContent) {
|
|
120
|
-
const commit = this._makeRawCommit(newContent);
|
|
121
|
-
return Model_1._signDagJWS(signer, commit);
|
|
122
|
-
}
|
|
123
|
-
_makeRawCommit(newContent) {
|
|
124
|
-
if (newContent == null) {
|
|
125
|
-
throw new Error(`Cannot set Model content to null`);
|
|
126
|
-
}
|
|
127
|
-
const patch = jsonpatch.compare(this.content, newContent);
|
|
128
|
-
return {
|
|
129
|
-
data: patch,
|
|
130
|
-
prev: this.tip,
|
|
131
|
-
id: this.state.log[0].cid,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
93
|
static async _makeGenesis(signer, content, metadata) {
|
|
135
94
|
const commit = await this._makeRawGenesis(signer, content, metadata);
|
|
136
95
|
return Model_1._signDagJWS(signer, commit);
|
|
@@ -150,13 +109,11 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
150
109
|
}
|
|
151
110
|
const header = {
|
|
152
111
|
controllers: [metadata.controller],
|
|
153
|
-
unique: randomBytes(12),
|
|
154
112
|
model: Model_1.MODEL.bytes,
|
|
155
113
|
};
|
|
156
114
|
return { data: content, header };
|
|
157
115
|
}
|
|
158
116
|
makeReadOnly() {
|
|
159
|
-
this.replacePlaceholder = throwReadOnlyError;
|
|
160
117
|
this.sync = throwReadOnlyError;
|
|
161
118
|
this._isReadOnly = true;
|
|
162
119
|
}
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ceramicnetwork/stream-model",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Ceramic Model stream type",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ceramic",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"clean": "npx rimraf ./lib"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@ceramicnetwork/common": "^2.
|
|
34
|
-
"@ceramicnetwork/streamid": "^2.3.
|
|
33
|
+
"@ceramicnetwork/common": "^2.6.0",
|
|
34
|
+
"@ceramicnetwork/streamid": "^2.3.3",
|
|
35
35
|
"@ipld/dag-cbor": "^7.0.0",
|
|
36
36
|
"@stablelib/random": "^1.0.1",
|
|
37
37
|
"fast-json-patch": "^3.1.0",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"multihashes": "^4.0.3",
|
|
41
41
|
"uint8arrays": "^3.0.0"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "528fa95d4a59c9325f780d1acd0ba3c84eb23d9c"
|
|
44
44
|
}
|