@gravito/core 2.0.4 → 2.0.6
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/compat/async-local-storage.browser.js +71 -0
- package/dist/compat/async-local-storage.browser.js.map +10 -0
- package/dist/compat/async-local-storage.js +94 -0
- package/dist/compat/async-local-storage.js.map +10 -0
- package/dist/compat/crypto.browser.js +91 -0
- package/dist/compat/crypto.browser.js.map +10 -0
- package/dist/compat/crypto.js +111 -0
- package/dist/compat/crypto.js.map +10 -0
- package/dist/ffi/NativeAccelerator.js +398 -0
- package/dist/ffi/NativeAccelerator.js.map +12 -0
- package/dist/ffi/NativeHasher.js +125 -0
- package/dist/ffi/{index.js.map → NativeHasher.js.map} +2 -2
- package/dist/ffi/cbor-fallback.js +344 -0
- package/dist/ffi/cbor-fallback.js.map +11 -0
- package/dist/ffi/hash-fallback.js +63 -0
- package/dist/ffi/hash-fallback.js.map +10 -0
- package/dist/ffi/index.js +5 -131
- package/dist/ffi/types.js +82 -0
- package/dist/ffi/types.js.map +10 -0
- package/dist/index.browser.js +9033 -0
- package/dist/index.browser.js.map +88 -0
- package/dist/index.d.ts +479 -1
- package/dist/index.js +249 -124
- package/dist/index.js.map +9 -8
- package/dist/testing/HttpTester.d.ts +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
function __accessProp(key) {
|
|
8
|
+
return this[key];
|
|
9
|
+
}
|
|
10
|
+
var __toESMCache_node;
|
|
11
|
+
var __toESMCache_esm;
|
|
12
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
+
var canCache = mod != null && typeof mod === "object";
|
|
14
|
+
if (canCache) {
|
|
15
|
+
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
+
var cached = cache.get(mod);
|
|
17
|
+
if (cached)
|
|
18
|
+
return cached;
|
|
19
|
+
}
|
|
20
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
+
for (let key of __getOwnPropNames(mod))
|
|
23
|
+
if (!__hasOwnProp.call(to, key))
|
|
24
|
+
__defProp(to, key, {
|
|
25
|
+
get: __accessProp.bind(mod, key),
|
|
26
|
+
enumerable: true
|
|
27
|
+
});
|
|
28
|
+
if (canCache)
|
|
29
|
+
cache.set(mod, to);
|
|
30
|
+
return to;
|
|
31
|
+
};
|
|
32
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
33
|
+
var __returnValue = (v) => v;
|
|
34
|
+
function __exportSetter(name, newValue) {
|
|
35
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
36
|
+
}
|
|
37
|
+
var __export = (target, all) => {
|
|
38
|
+
for (var name in all)
|
|
39
|
+
__defProp(target, name, {
|
|
40
|
+
get: all[name],
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
set: __exportSetter.bind(all, name)
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
var __require = import.meta.require;
|
|
47
|
+
|
|
48
|
+
// src/ffi/types.ts
|
|
49
|
+
var CBOR_MAJOR_TYPES = {
|
|
50
|
+
UINT: 0,
|
|
51
|
+
NEGINT: 1,
|
|
52
|
+
BYTES: 2,
|
|
53
|
+
TEXT: 3,
|
|
54
|
+
ARRAY: 4,
|
|
55
|
+
MAP: 5,
|
|
56
|
+
TAG: 6,
|
|
57
|
+
SIMPLE: 7
|
|
58
|
+
};
|
|
59
|
+
var CBOR_SIMPLE_VALUES = {
|
|
60
|
+
FALSE: 20,
|
|
61
|
+
TRUE: 21,
|
|
62
|
+
NULL: 22,
|
|
63
|
+
UNDEFINED: 23
|
|
64
|
+
};
|
|
65
|
+
var CBOR_LENGTH_ENCODING = {
|
|
66
|
+
SMALL_RANGE_END: 23,
|
|
67
|
+
UINT8: 24,
|
|
68
|
+
UINT16: 25,
|
|
69
|
+
UINT32: 26,
|
|
70
|
+
UINT64: 27,
|
|
71
|
+
FLOAT16: 25,
|
|
72
|
+
FLOAT32: 26,
|
|
73
|
+
FLOAT64: 27,
|
|
74
|
+
INDEFINITE: 31
|
|
75
|
+
};
|
|
76
|
+
export {
|
|
77
|
+
CBOR_SIMPLE_VALUES,
|
|
78
|
+
CBOR_MAJOR_TYPES,
|
|
79
|
+
CBOR_LENGTH_ENCODING
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
//# debugId=3722FA7EE113FE4A64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/ffi/types.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * FFI (Foreign Function Interface) 類型定義\n * 支持 bun:ffi 的原生加速層\n */\n\n/**\n * CBOR 編碼/解碼加速器介面\n * 可由原生 C 實現或 JavaScript 回退實現\n */\nexport interface CborAccelerator {\n /**\n * 將任意 JavaScript 物件編碼為 CBOR 二進制格式\n * @param data - 要編碼的物件(支援:map、string、uint、float64、bytes、null、boolean)\n * @returns CBOR 編碼的二進制資料\n */\n encode(data: Record<string, unknown>): Uint8Array\n\n /**\n * 將 CBOR 二進制格式解碼為 JavaScript 物件\n * @param bytes - CBOR 編碼的二進制資料\n * @returns 解碼後的物件\n */\n decode(bytes: Uint8Array): Record<string, unknown>\n}\n\n/**\n * FFI 加速層狀態報告\n */\nexport interface NativeAcceleratorStatus {\n /**\n * 原生 FFI 加速是否可用\n */\n readonly available: boolean\n\n /**\n * 當前使用的運行時實現\n * - 'bun-ffi': Bun C 編譯器(bun:ffi 的 cc())\n * - 'js-fallback': 手寫 JavaScript CBOR 實現\n * - 'cborg': npm 的 cborg 套件(已棄用,僅用於向後相容)\n */\n readonly runtime: 'bun-ffi' | 'js-fallback' | 'cborg'\n\n /**\n * 運行時版本或詳細資訊\n */\n readonly version: string\n}\n\n/**\n * FFI 層配置選項\n */\nexport interface FfiConfig {\n /**\n * 啟用調試日誌\n * @default false\n */\n readonly debug?: boolean\n\n /**\n * 最大 buffer 大小(位元組)\n * @default 1048576 (1MB)\n */\n readonly maxBufferSize?: number\n\n /**\n * 強制使用特定的加速器實現\n * - undefined: 自動選擇(優先 bun-ffi,降級到 js-fallback)\n * - 'bun-ffi': 只使用原生 C 實現\n * - 'js-fallback': 只使用 JavaScript 實現\n */\n readonly forceImplementation?: 'bun-ffi' | 'js-fallback'\n}\n\n/**\n * CBOR Major Type 常數\n * 符合 RFC 7049 規範\n */\nexport const CBOR_MAJOR_TYPES = {\n UINT: 0, // 正整數 (0 to 2^64-1)\n NEGINT: 1, // 負整數 (-1 to -2^64)\n BYTES: 2, // 位元組字串\n TEXT: 3, // 文字字串\n ARRAY: 4, // 陣列\n MAP: 5, // Map 物件\n TAG: 6, // 語意 tag\n SIMPLE: 7, // 簡單值與浮點數\n} as const\n\n/**\n * CBOR 簡單值常數\n */\nexport const CBOR_SIMPLE_VALUES = {\n FALSE: 20, // Boolean false\n TRUE: 21, // Boolean true\n NULL: 22, // null\n UNDEFINED: 23, // undefined (不常用)\n} as const\n\n/**\n * CBOR 長度編碼的附加資訊\n */\nexport const CBOR_LENGTH_ENCODING = {\n SMALL_RANGE_END: 23, // 0-23: 直接作為值\n UINT8: 24, // 24: 接下來 1 byte 為 uint8_t\n UINT16: 25, // 25: 接下來 2 bytes 為 uint16_t (大端序)\n UINT32: 26, // 26: 接下來 4 bytes 為 uint32_t (大端序)\n UINT64: 27, // 27: 接下來 8 bytes 為 uint64_t (大端序)\n FLOAT16: 25, // 25: IEEE 754 半精度浮點數 (special case for SIMPLE)\n FLOAT32: 26, // 26: IEEE 754 單精度浮點數\n FLOAT64: 27, // 27: IEEE 754 雙精度浮點數\n INDEFINITE: 31, // 31: 無限長度編碼\n} as const\n\n/**\n * 雜湊加速器介面\n * 可由 Bun 原生實現或 Node.js 回退實現\n */\nexport interface HashAccelerator {\n /**\n * SHA-256 雜湊計算\n * @param input - 輸入(字串或二進制)\n * @returns 十六進制編碼的 SHA-256 雜湊值(64 字元)\n */\n sha256(input: string | Uint8Array): string\n\n /**\n * HMAC-SHA256 計算\n * @param key - 密鑰\n * @param data - 要雜湊的數據\n * @returns 十六進制編碼的 HMAC-SHA256 值(64 字元)\n */\n hmacSha256(key: string, data: string): string\n}\n\n/**\n * 雜湊加速器狀態報告\n */\nexport interface NativeHasherStatus {\n /**\n * 雜湊加速層是否可用\n */\n readonly available: boolean\n\n /**\n * 當前使用的運行時實現\n * - 'bun-crypto-hasher': Bun 原生 CryptoHasher(C 實現,推薦)\n * - 'node-crypto': node:crypto 回退實現\n */\n readonly runtime: 'bun-crypto-hasher' | 'node-crypto'\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EO,IAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AACV;AAKO,IAAM,qBAAqB;AAAA,EAChC,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AACb;AAKO,IAAM,uBAAuB;AAAA,EAClC,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AACd;",
|
|
8
|
+
"debugId": "3722FA7EE113FE4A64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|