@ocap/message 1.28.8 → 1.29.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 -1
- package/esm/_virtual/rolldown_runtime.mjs +8 -0
- package/esm/index.d.mts +3 -0
- package/esm/index.mjs +10 -0
- package/esm/message.d.mts +144 -0
- package/esm/message.mjs +484 -0
- package/esm/package.mjs +87 -0
- package/esm/patch.d.mts +1 -0
- package/esm/patch.mjs +40 -0
- package/esm/provider.d.mts +27 -0
- package/esm/provider.mjs +42 -0
- package/lib/_virtual/rolldown_runtime.cjs +31 -0
- package/lib/index.cjs +26 -0
- package/lib/index.d.cts +3 -0
- package/lib/message.cjs +500 -0
- package/lib/message.d.cts +144 -0
- package/lib/package.cjs +90 -0
- package/lib/patch.cjs +41 -0
- package/lib/patch.d.cts +1 -0
- package/lib/provider.cjs +49 -0
- package/lib/provider.d.cts +27 -0
- package/package.json +32 -11
- package/index.d.ts +0 -5
- package/index.js +0 -7
- package/lib/message.d.ts +0 -138
- package/lib/message.js +0 -605
- package/lib/patch.d.ts +0 -1
- package/lib/patch.js +0 -57
- package/lib/provider.d.ts +0 -12
- package/lib/provider.js +0 -68
package/esm/package.mjs
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { __commonJSMin } from "./_virtual/rolldown_runtime.mjs";
|
|
2
|
+
|
|
3
|
+
//#region package.json
|
|
4
|
+
var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
5
|
+
module.exports = {
|
|
6
|
+
"name": "@ocap/message",
|
|
7
|
+
"description": "Utility functions to encode and decode message that can send to forge",
|
|
8
|
+
"version": "1.20.2",
|
|
9
|
+
"author": {
|
|
10
|
+
"name": "wangshijun",
|
|
11
|
+
"email": "shijun@arcblock.io",
|
|
12
|
+
"url": "https://github.com/wangshijun"
|
|
13
|
+
},
|
|
14
|
+
"contributors": ["wangshijun <shijun@arcblock.io> (https://github.com/wangshijun)"],
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/ArcBlock/blockchain/issues",
|
|
17
|
+
"email": "shijun@arcblock.io"
|
|
18
|
+
},
|
|
19
|
+
"publishConfig": { "access": "public" },
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@ocap/proto": "workspace:*",
|
|
22
|
+
"@ocap/util": "workspace:*",
|
|
23
|
+
"debug": "^4.4.3",
|
|
24
|
+
"google-protobuf": "3.21.0",
|
|
25
|
+
"lodash": "^4.17.23"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/google-protobuf": "^3.15.12",
|
|
29
|
+
"jsdoc-to-markdown": "^7.1.1",
|
|
30
|
+
"remark-cli": "^10.0.1",
|
|
31
|
+
"remark-preset-github": "^4.0.4"
|
|
32
|
+
},
|
|
33
|
+
"remarkConfig": { "plugins": ["preset-github", [{ "repository": "ArcBlock/blockchain" }]] },
|
|
34
|
+
"homepage": "https://github.com/ArcBlock/blockchain/tree/master/core/forge-message",
|
|
35
|
+
"keywords": [
|
|
36
|
+
"blockchain",
|
|
37
|
+
"arcblock",
|
|
38
|
+
"sdk",
|
|
39
|
+
"nodejs"
|
|
40
|
+
],
|
|
41
|
+
"license": "Apache-2.0",
|
|
42
|
+
"type": "module",
|
|
43
|
+
"main": "./lib/index.cjs",
|
|
44
|
+
"module": "./esm/index.mjs",
|
|
45
|
+
"types": "./esm/index.d.mts",
|
|
46
|
+
"exports": {
|
|
47
|
+
".": {
|
|
48
|
+
"types": "./esm/index.d.mts",
|
|
49
|
+
"import": "./esm/index.mjs",
|
|
50
|
+
"default": "./lib/index.cjs"
|
|
51
|
+
},
|
|
52
|
+
"./lib/*.js": {
|
|
53
|
+
"types": "./esm/*.d.mts",
|
|
54
|
+
"import": "./esm/*.mjs",
|
|
55
|
+
"default": "./lib/*.cjs"
|
|
56
|
+
},
|
|
57
|
+
"./lib/*": {
|
|
58
|
+
"types": "./esm/*.d.mts",
|
|
59
|
+
"import": "./esm/*.mjs",
|
|
60
|
+
"default": "./lib/*.cjs"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"files": ["lib", "esm"],
|
|
64
|
+
"repository": {
|
|
65
|
+
"type": "git",
|
|
66
|
+
"url": "https://github.com/ArcBlock/blockchain/tree/master/core/forge-message"
|
|
67
|
+
},
|
|
68
|
+
"scripts": {
|
|
69
|
+
"build": "tsdown",
|
|
70
|
+
"prebuild": "rm -rf lib esm",
|
|
71
|
+
"lint": "biome check",
|
|
72
|
+
"lint:fix": "biome check --write",
|
|
73
|
+
"docs": "bun run gen-docs && bun run cleanup-docs && bun run format-docs",
|
|
74
|
+
"cleanup-docs": "node ../../scripts/cleanup-docs.js docs/README.md $npm_package_name",
|
|
75
|
+
"gen-docs": "jsdoc2md lib/message.js > docs/README.md",
|
|
76
|
+
"format-docs": "remark . -o",
|
|
77
|
+
"test": "bun test",
|
|
78
|
+
"coverage": "npm run test -- --coverage"
|
|
79
|
+
},
|
|
80
|
+
"gitHead": "87990c8b5e215107fc587c1ced0d6b3e2cd2483e"
|
|
81
|
+
};
|
|
82
|
+
}));
|
|
83
|
+
|
|
84
|
+
//#endregion
|
|
85
|
+
export default require_package();
|
|
86
|
+
|
|
87
|
+
export { require_package };
|
package/esm/patch.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/esm/patch.mjs
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __require } from "./_virtual/rolldown_runtime.mjs";
|
|
2
|
+
import { require_package } from "./package.mjs";
|
|
3
|
+
import assert from "assert";
|
|
4
|
+
import createDebug from "debug";
|
|
5
|
+
|
|
6
|
+
//#region src/patch.ts
|
|
7
|
+
/**
|
|
8
|
+
* This patch fixes an issue in `google-protobuf` package
|
|
9
|
+
* After this patch is applied: The deserialize of `map` fields can accept empty values
|
|
10
|
+
*/
|
|
11
|
+
const jspb = __require("google-protobuf");
|
|
12
|
+
const debug = createDebug(`${require_package().name}:Map`);
|
|
13
|
+
if (typeof jspb.Map.deserializeBinary === "function" && !jspb.Map.deserializeBinary.__patched__) {
|
|
14
|
+
jspb.Map.deserializeBinary = (map, reader, keyReaderFn, valueReaderFn, opt_valueReaderCallback, opt_defaultKey = 0) => {
|
|
15
|
+
let key = opt_defaultKey;
|
|
16
|
+
let value;
|
|
17
|
+
while (reader.nextField()) {
|
|
18
|
+
if (reader.isEndGroup()) break;
|
|
19
|
+
const field = reader.getFieldNumber();
|
|
20
|
+
debug("deserializeBinary.field", field);
|
|
21
|
+
if (field === 1) {
|
|
22
|
+
key = keyReaderFn.call(reader);
|
|
23
|
+
debug("deserializeBinary.key", key);
|
|
24
|
+
} else if (field === 2) {
|
|
25
|
+
debug("deserializeBinary.map", map);
|
|
26
|
+
if (map.valueCtor_) {
|
|
27
|
+
assert(opt_valueReaderCallback, "opt_valueReaderCallback");
|
|
28
|
+
value = new map.valueCtor_();
|
|
29
|
+
valueReaderFn.call(reader, value, opt_valueReaderCallback);
|
|
30
|
+
} else value = valueReaderFn.call(reader);
|
|
31
|
+
debug("deserializeBinary.value", typeof value?.toObject === "function" ? value.toObject() : value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (typeof key !== "undefined" && typeof value !== "undefined") map.set(key, value);
|
|
35
|
+
};
|
|
36
|
+
jspb.Map.deserializeBinary.__patched__ = true;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/provider.d.ts
|
|
2
|
+
interface MessageTypeResult {
|
|
3
|
+
fn?: new () => unknown;
|
|
4
|
+
fields?: Record<string, unknown>;
|
|
5
|
+
oneofs?: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
interface ProtoProvider {
|
|
8
|
+
getMessageType(type: string): MessageTypeResult;
|
|
9
|
+
toTypeUrl(type: string): string;
|
|
10
|
+
fromTypeUrl(url: string): string;
|
|
11
|
+
enums?: Record<string, Record<string | number, string | number>>;
|
|
12
|
+
messages?: Record<string, Record<string | number, string>>;
|
|
13
|
+
}
|
|
14
|
+
declare const enums: Record<string, Record<string | number, string | number>>;
|
|
15
|
+
declare const messages: Record<string, Record<string | number, string>>;
|
|
16
|
+
declare function getMessageType(type: string): MessageTypeResult;
|
|
17
|
+
declare function toTypeUrl(type: string): string;
|
|
18
|
+
declare function fromTypeUrl(url: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Add type provider that can be used to format/create messages
|
|
21
|
+
*
|
|
22
|
+
* @param provider - proto generated from @ocap/proto
|
|
23
|
+
*/
|
|
24
|
+
declare function addProvider(provider: ProtoProvider): void;
|
|
25
|
+
declare function resetProviders(): void;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { type MessageTypeResult, type ProtoProvider, addProvider, enums, fromTypeUrl, getMessageType, messages, resetProviders, toTypeUrl };
|
package/esm/provider.mjs
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/provider.ts
|
|
2
|
+
const providers = [];
|
|
3
|
+
const enums = {};
|
|
4
|
+
const messages = {};
|
|
5
|
+
function getMessageType(type) {
|
|
6
|
+
const provider = providers.find((x) => x.getMessageType(type).fn);
|
|
7
|
+
if (provider) return provider.getMessageType(type);
|
|
8
|
+
return {};
|
|
9
|
+
}
|
|
10
|
+
function toTypeUrl(type) {
|
|
11
|
+
const provider = providers.find((x) => x.toTypeUrl(type) !== type);
|
|
12
|
+
if (provider) return provider.toTypeUrl(type);
|
|
13
|
+
return type;
|
|
14
|
+
}
|
|
15
|
+
function fromTypeUrl(url) {
|
|
16
|
+
const provider = providers.find((x) => x.fromTypeUrl(url) !== url);
|
|
17
|
+
if (provider) return provider.fromTypeUrl(url);
|
|
18
|
+
return url;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Add type provider that can be used to format/create messages
|
|
22
|
+
*
|
|
23
|
+
* @param provider - proto generated from @ocap/proto
|
|
24
|
+
*/
|
|
25
|
+
function addProvider(provider) {
|
|
26
|
+
if ([
|
|
27
|
+
"getMessageType",
|
|
28
|
+
"toTypeUrl",
|
|
29
|
+
"fromTypeUrl"
|
|
30
|
+
].some((x) => typeof provider[x] !== "function")) throw new Error("addProvider requires a valid proto provider");
|
|
31
|
+
if (providers.includes(provider) === false) {
|
|
32
|
+
providers.push(provider);
|
|
33
|
+
if (provider.enums) Object.assign(enums, provider.enums);
|
|
34
|
+
if (provider.messages) Object.assign(messages, provider.messages);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function resetProviders() {
|
|
38
|
+
while (providers.length) providers.pop();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { addProvider, enums, fromTypeUrl, getMessageType, messages, resetProviders, toTypeUrl };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
12
|
+
key = keys[i];
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
14
|
+
__defProp(to, key, {
|
|
15
|
+
get: ((k) => from[k]).bind(null, key),
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return to;
|
|
22
|
+
};
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
+
value: mod,
|
|
25
|
+
enumerable: true
|
|
26
|
+
}) : target, mod));
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
|
|
30
|
+
exports.__commonJSMin = __commonJSMin;
|
|
31
|
+
exports.__toESM = __toESM;
|
package/lib/index.cjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
|
|
2
|
+
require('./patch.cjs');
|
|
3
|
+
const require_provider = require('./provider.cjs');
|
|
4
|
+
const require_message = require('./message.cjs');
|
|
5
|
+
let _ocap_proto = require("@ocap/proto");
|
|
6
|
+
_ocap_proto = require_rolldown_runtime.__toESM(_ocap_proto);
|
|
7
|
+
|
|
8
|
+
//#region src/index.ts
|
|
9
|
+
require_provider.addProvider(_ocap_proto.default);
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.addProvider = require_provider.addProvider;
|
|
13
|
+
exports.attachExampleFn = require_message.attachExampleFn;
|
|
14
|
+
exports.attachFormatFn = require_message.attachFormatFn;
|
|
15
|
+
exports.createMessage = require_message.createMessage;
|
|
16
|
+
exports.decodeAny = require_message.decodeAny;
|
|
17
|
+
exports.decodeBigInt = require_message.decodeBigInt;
|
|
18
|
+
exports.decodeTimestamp = require_message.decodeTimestamp;
|
|
19
|
+
exports.encodeAny = require_message.encodeAny;
|
|
20
|
+
exports.encodeBigInt = require_message.encodeBigInt;
|
|
21
|
+
exports.encodeTimestamp = require_message.encodeTimestamp;
|
|
22
|
+
exports.fakeMessage = require_message.fakeMessage;
|
|
23
|
+
exports.formatMessage = require_message.formatMessage;
|
|
24
|
+
exports.fromTypeUrl = require_provider.fromTypeUrl;
|
|
25
|
+
exports.getMessageType = require_provider.getMessageType;
|
|
26
|
+
exports.toTypeUrl = require_provider.toTypeUrl;
|
package/lib/index.d.cts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { addProvider, fromTypeUrl, getMessageType, toTypeUrl } from "./provider.cjs";
|
|
2
|
+
import { AnyData, attachExampleFn, attachFormatFn, createMessage, decodeAny, decodeBigInt, decodeTimestamp, encodeAny, encodeBigInt, encodeTimestamp, fakeMessage, formatMessage } from "./message.cjs";
|
|
3
|
+
export { type AnyData, addProvider, attachExampleFn, attachFormatFn, createMessage, decodeAny, decodeBigInt, decodeTimestamp, encodeAny, encodeBigInt, encodeTimestamp, fakeMessage, formatMessage, fromTypeUrl, getMessageType, toTypeUrl };
|