Socket
Socket
Sign inDemoInstall

@harmoniclabs/plutus-data

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@harmoniclabs/plutus-data - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

dist/fromString.d.ts

7

dist/Data.d.ts

@@ -10,1 +10,8 @@ import { DataB } from "./DataB.js";

export declare function cloneData<D extends Data>(data: D): D;
/**
* all data instances (from any version) will have a `toJson` method
* this function will get back the data of this version if needed
**/
export declare function dataFromJson(json: {
[x: string]: any;
}): Data;

34

dist/Data.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cloneData = exports.eqData = exports.isData = void 0;
exports.dataFromJson = exports.cloneData = exports.eqData = exports.isData = void 0;
var DataB_1 = require("./DataB.js");

@@ -9,2 +9,3 @@ var DataConstr_1 = require("./DataConstr.js");

var DataMap_1 = require("./DataMap.js");
var DataPair_1 = require("./DataPair.js");
function isSomething(something) {

@@ -59,3 +60,3 @@ return something !== null && something !== undefined;

if (aProto === DataB_1.DataB.prototype) {
return (a.bytes.asString === b.bytes.asString);
return (a.bytes.toString() === b.bytes.toString());
}

@@ -71,1 +72,30 @@ return false;

exports.cloneData = cloneData;
/**
* all data instances (from any version) will have a `toJson` method
* this function will get back the data of this version if needed
**/
function dataFromJson(json) {
if (typeof json !== "object")
throw new TypeError("unexpected input");
var keys = Object.keys(json);
if (keys.length <= 0)
throw new TypeError("unexpected input");
var k = keys[0];
if (k === "int")
return new DataI_1.DataI(json[k]);
if (k === "bytes")
return new DataB_1.DataB(json[k]);
if (k === "list")
return new DataList_1.DataList(json[k].map(dataFromJson));
if (k === "map") {
var jsonMap = json[k];
return new DataMap_1.DataMap(jsonMap.map(function (_a) {
var k = _a.k, v = _a.v;
return new DataPair_1.DataPair(dataFromJson(k), dataFromJson(v));
}));
}
if (keys.includes("constr"))
return new DataConstr_1.DataConstr(json.constr, json.fields.map(dataFromJson));
throw new Error("unknown json format");
}
exports.dataFromJson = dataFromJson;

4

dist/DataB.d.ts
import { ByteString } from "@harmoniclabs/bytestring";
export declare class DataB {
private _bytes;
get bytes(): ByteString;
readonly bytes: ByteString;
constructor(B: ByteString | Uint8Array | string);

@@ -10,2 +9,3 @@ clone(): DataB;

};
toString(): string;
}
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataB = void 0;
var bytestring_1 = require("@harmoniclabs/bytestring");
var roDescr_1 = require("./utils/roDescr.js");
var DataB = /** @class */ (function () {

@@ -9,21 +21,19 @@ function DataB(B) {

B = new bytestring_1.ByteString(B);
this._bytes = B.clone();
var _bytes = B.clone();
Object.defineProperties(this, {
bytes: __assign({ value: _bytes }, roDescr_1.roDescr)
});
}
Object.defineProperty(DataB.prototype, "bytes", {
get: function () {
return Object.freeze(this._bytes);
},
enumerable: false,
configurable: true
});
;
DataB.prototype.clone = function () {
// the constructor clones the bytes
return new DataB(this._bytes);
return new DataB(this.bytes);
};
DataB.prototype.toJson = function () {
return { bytes: this._bytes.toString() };
return { bytes: this.bytes.toString() };
};
DataB.prototype.toString = function () {
return "B #".concat(this.bytes.toString());
};
return DataB;
}());
exports.DataB = DataB;
import { CanBeUInteger } from "@harmoniclabs/biguint";
import { Data } from "./Data.js";
export declare class DataConstr {
private _constr;
get constr(): bigint;
private _fields;
get fields(): Data[];
readonly constr: bigint;
readonly fields: Data[];
constructor(constr: CanBeUInteger, fields: Data[]);
clone(): DataConstr;
toJson(): any;
toString(): string;
}

@@ -12,0 +11,0 @@ /**

"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -7,32 +18,23 @@ exports.cborTagToConstrNumber = exports.constrNumberToCborTag = exports.DataConstr = void 0;

var assert_1 = require("./utils/assert.js");
var roDescr_1 = require("./utils/roDescr.js");
var DataConstr = /** @class */ (function () {
function DataConstr(constr, fields) {
(0, assert_1.assert)(fields.every(Data_1.isData), "invalid fields passed to constructor");
this._constr = (0, biguint_1.forceBigUInt)(constr);
this._fields = fields.map(function (dataElem) { return dataElem.clone(); });
(0, assert_1.assert)(Array.isArray(fields) && fields.every(Data_1.isData), "invalid fields passed to constructor");
Object.defineProperties(this, {
constr: __assign({ value: (0, biguint_1.forceBigUInt)(constr) }, roDescr_1.roDescr),
fields: __assign({ value: fields }, roDescr_1.roDescr)
});
}
Object.defineProperty(DataConstr.prototype, "constr", {
get: function () { return this._constr; },
enumerable: false,
configurable: true
});
;
Object.defineProperty(DataConstr.prototype, "fields", {
get: function () { return this._fields.map(function (dataElem) { return Object.freeze(dataElem); }); },
enumerable: false,
configurable: true
});
;
DataConstr.prototype.clone = function () {
return new DataConstr(this._constr, this._fields
//.map( dataElem => dataElem.clone() ) as Data[]
// the constructor clones the fields
);
return new DataConstr(this.constr, this.fields.map(function (dataElem) { return dataElem.clone(); }));
};
DataConstr.prototype.toJson = function () {
return {
constr: Number(this._constr),
fields: this._fields.map(function (f) { return f.toJson(); })
constr: Number(this.constr),
fields: this.fields.map(function (f) { return f.toJson(); })
};
};
DataConstr.prototype.toString = function () {
return "Constr ".concat(this.constr.toString(), " [").concat(this.fields.map(function (data) { return data.toString(); }).join(","), "]");
};
return DataConstr;

@@ -39,0 +41,0 @@ }());

export declare class DataI {
private _int;
get int(): bigint;
readonly int: bigint;
constructor(I?: number | bigint);

@@ -9,2 +8,3 @@ clone(): DataI;

};
toString(): string;
}
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataI = void 0;
var roDescr_1 = require("./utils/roDescr.js");
var DataI = /** @class */ (function () {
function DataI(I) {
if (I === void 0) { I = 0; }
this._int = BigInt(I);
I = BigInt(I);
Object.defineProperties(this, {
int: __assign({ value: I }, roDescr_1.roDescr)
});
}
Object.defineProperty(DataI.prototype, "int", {
get: function () { return Object.freeze(this._int); },
enumerable: false,
configurable: true
});
DataI.prototype.clone = function () {
return new DataI(this._int
// .clone()
// the constructor clones the fields
);
return new DataI(this.int);
};
DataI.prototype.toJson = function () {
return { int: this._int.toString() };
return { int: this.int.toString() };
};
DataI.prototype.toString = function () {
return "I ".concat(this.int.toString());
};
return DataI;
}());
exports.DataI = DataI;
import { Data } from "./Data.js";
export declare class DataList {
private _list;
get list(): Data[];
readonly list: Data[];
constructor(list: Data[]);

@@ -10,2 +9,3 @@ clone(): DataList;

};
toString(): string;
}
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,26 +17,24 @@ exports.DataList = void 0;

var assert_1 = require("./utils/assert.js");
var roDescr_1 = require("./utils/roDescr.js");
var DataList = /** @class */ (function () {
function DataList(list) {
(0, assert_1.assert)(list.every(Data_1.isData), "invalid list passed to constructor");
this._list = list.map(function (dataElem) { return dataElem.clone(); });
(0, assert_1.assert)(Array.isArray(list) &&
list.every(Data_1.isData), "invalid list passed to constructor");
Object.defineProperties(this, {
list: __assign({ value: list }, roDescr_1.roDescr)
});
}
Object.defineProperty(DataList.prototype, "list", {
get: function () { return this._list.map(function (dataElem) { return Object.freeze(dataElem); }); },
enumerable: false,
configurable: true
});
;
DataList.prototype.clone = function () {
return new DataList(this._list
//.map( dataElem => dataElem.clone() )
// the constructor clones the list
);
return new DataList(this.list.map(function (dataElem) { return dataElem.clone(); }));
};
DataList.prototype.toJson = function () {
return {
list: this._list.map(function (elem) { return elem.toJson(); })
list: this.list.map(function (elem) { return elem.toJson(); })
};
};
DataList.prototype.toString = function () {
return "List [".concat(this.list.map(function (data) { return data.toString(); }).join(","), "]");
};
return DataList;
}());
exports.DataList = DataList;
import { Data } from "./Data.js";
import { DataPair } from "./DataPair.js";
export declare class DataMap<DataKey extends Data, DataValue extends Data> {
private _map;
get map(): DataPair<DataKey, DataValue>[];
readonly map: DataPair<DataKey, DataValue>[];
constructor(map: DataPair<DataKey, DataValue>[]);

@@ -14,2 +13,3 @@ clone(): DataMap<DataKey, DataValue>;

};
toString(): string;
}
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -7,25 +18,20 @@ exports.DataMap = void 0;

var assert_1 = require("./utils/assert.js");
var roDescr_1 = require("./utils/roDescr.js");
var DataMap = /** @class */ (function () {
function DataMap(map) {
(0, assert_1.assert)(map.every(function (entry) {
return Object.getPrototypeOf(entry) === DataPair_1.DataPair.prototype &&
(0, Data_1.isData)(entry.fst) && (0, Data_1.isData)(entry.snd);
}), "invalid map passed to 'DataPair' constructor");
this._map = map.map(function (pair) { return pair.clone(); });
(0, assert_1.assert)(Array.isArray(map) &&
map.every(function (entry) {
return entry instanceof DataPair_1.DataPair &&
(0, Data_1.isData)(entry.fst) && (0, Data_1.isData)(entry.snd);
}), "invalid map passed to 'DataPair' constructor");
Object.defineProperties(this, {
map: __assign({ value: map }, roDescr_1.roDescr)
});
}
Object.defineProperty(DataMap.prototype, "map", {
get: function () { return this._map.map(function (pair) { return Object.freeze(pair); }); },
enumerable: false,
configurable: true
});
;
DataMap.prototype.clone = function () {
return new DataMap(this._map
//.map( pair => pair.clone() )
// the constructor clones the map
);
return new DataMap(this.map.map(function (pair) { return pair.clone(); }));
};
DataMap.prototype.toJson = function () {
return {
map: this._map.map(function (_a) {
map: this.map.map(function (_a) {
var fst = _a.fst, snd = _a.snd;

@@ -39,4 +45,7 @@ return ({

};
DataMap.prototype.toString = function () {
return "Map [".concat(this.map.map(function (dataPair) { return dataPair.toString(); }).join(","), "]");
};
return DataMap;
}());
exports.DataMap = DataMap;
import { Data } from "./Data.js";
export declare class DataPair<DataFst extends Data, DataSnd extends Data> {
private _fst;
get fst(): DataFst;
set fst(v: DataFst);
private _snd;
get snd(): DataSnd;
set snd(v: DataSnd);
readonly fst: DataFst;
readonly snd: DataSnd;
constructor(fst: DataFst, snd: DataSnd);
clone(): DataPair<DataFst, DataSnd>;
toString(): string;
}
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,36 +17,19 @@ exports.DataPair = void 0;

var assert_1 = require("./utils/assert.js");
var roDescr_1 = require("./utils/roDescr.js");
var DataPair = /** @class */ (function () {
function DataPair(fst, snd) {
(0, assert_1.assert)((0, Data_1.isData)(fst) && (0, Data_1.isData)(snd), "invalid Data passed to 'DataPair' constructor; fst: ".concat(fst, "; snd: ").concat(snd));
this._fst = fst.clone();
this._snd = snd.clone();
Object.defineProperties(this, {
fst: __assign({ value: fst }, roDescr_1.roDescr),
snd: __assign({ value: snd }, roDescr_1.roDescr),
});
}
Object.defineProperty(DataPair.prototype, "fst", {
get: function () { return Object.freeze(this._fst); },
set: function (v) {
(0, assert_1.assert)((0, Data_1.isData)(v), "invalid Data passed setting 'fst' in 'DataPair'; value: ".concat(v));
this._fst = v;
},
enumerable: false,
configurable: true
});
;
;
Object.defineProperty(DataPair.prototype, "snd", {
get: function () { return Object.freeze(this._snd); },
set: function (v) {
(0, assert_1.assert)((0, Data_1.isData)(v), "invalid Data passed setting 'snd' in 'DataPair'; value: ".concat(v));
this._snd = v;
},
enumerable: false,
configurable: true
});
;
;
DataPair.prototype.clone = function () {
// the constructor clones both fst and snd
return new DataPair(this.fst, this.snd);
};
DataPair.prototype.toString = function () {
return "(".concat(this.fst.toString(), ",").concat(this.snd.toString(), ")");
};
return DataPair;
}());
exports.DataPair = DataPair;

@@ -9,4 +9,5 @@ export * from "./Data.js";

export * from "./fromCbor.js";
export * from "./fromString.js";
export * from "./toCbor.js";
export * from "./hashData.js";
export * from "./toData/interface.js";

@@ -25,4 +25,5 @@ "use strict";

__exportStar(require("./fromCbor.js"), exports);
__exportStar(require("./fromString.js"), exports);
__exportStar(require("./toCbor.js"), exports);
__exportStar(require("./hashData.js"), exports);
__exportStar(require("./toData/interface.js"), exports);
import { Data } from "../Data.js";
export interface ToData {
toData: (version?: "v1" | "v2") => Data;
toData: (version?: "v1" | "v2" | "v3") => Data;
}
{
"name": "@harmoniclabs/plutus-data",
"version": "1.0.0",
"version": "1.1.0",
"description": "",

@@ -20,3 +20,4 @@ "main": "./dist/index.js",

"ci": "npm run test && npm run build",
"start": "npm-run-all --parallel build:watch run:watch"
"start": "npm-run-all --parallel build:watch run:watch",
"docs": "npx typedoc src"
},

@@ -38,7 +39,7 @@ "publishConfig": {

"@harmoniclabs/biguint": "^1.0.0",
"@harmoniclabs/crypto": "^0.1.0"
"@harmoniclabs/crypto": "^0.2.0"
},
"peerDependencies": {
"@harmoniclabs/cbor": "^1.1.0",
"@harmoniclabs/bytestring": "^1.0.0"
"@harmoniclabs/bytestring": "^1.0.0",
"@harmoniclabs/cbor": "^1.2.0"
},

@@ -51,4 +52,6 @@ "devDependencies": {

"tsc-alias": "^1.7.1",
"typedoc": "^0.25.10",
"typedoc-plugin-markdown": "^4.0.0-next.53",
"typescript": "^4.6.3"
}
}

@@ -14,4 +14,10 @@ # @harmoniclabs/plutus-data

## exportedf functions
## install
```bash
npm install @harmoniclabs/plutus-data
```
## exported functions
```ts

@@ -18,0 +24,0 @@ function hashData(data: Data): Uint8Array;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc