MCPcopy Index your code
hub / github.com/DeepNotesApp/DeepNotes / WrappedData

Class WrappedData

packages/@stdlib/crypto/src/wrapped-data.ts:46–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46export class WrappedData implements Wrappable {
47 layers: DataLayer[] = [];
48 metadata: any = {};
49 content: Uint8Array = new Uint8Array();
50
51 constructor(value: Uint8Array, params?: { raw?: boolean; metadata?: any }) {
52 this.metadata = params?.metadata ?? {};
53
54 if (params?.raw) {
55 this.layers.push(DataLayer.Raw);
56
57 this.content = value;
58 } else {
59 if (value[0] >= 3) {
60 // New format
61
62 const obj = unpack(value.slice(1)) as {
63 layers: DataLayer[];
64 metadata: any;
65 content: Uint8Array;
66 };
67
68 this.layers = obj.layers;
69 this.metadata = obj.metadata;
70 this.content = obj.content;
71 } else {
72 // Old format
73
74 let index = 0;
75
76 while (value[index] !== DataLayer.Raw) {
77 this.layers.push(value[index++]);
78 }
79
80 this.layers.push(value[index++]);
81
82 this.content = value.slice(index);
83 }
84 }
85 }
86
87 get topLayer() {
88 return this.layers[0];
89 }
90 hasLayer(layer: DataLayer) {
91 return this.layers.includes(layer);
92 }
93 countLayerType(layer: DataLayer) {
94 return this.layers.filter((l) => l === layer).length;
95 }
96
97 get value() {
98 return new Uint8Array([
99 3,
100 ...pack({
101 layers: this.layers,
102 metadata: this.metadata,
103 content: this.content,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected