xray-typed 1.0.1 → 1.0.2
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/xray-config.d.ts +21 -0
- package/dist/xray-config.d.ts.map +1 -1
- package/dist/xray-config.js +50 -0
- package/dist/xray-config.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { XrayConfig } from './xray-config';
|
|
1
|
+
export { XrayConfig, VersionConfig, XRAY_CONFIG_KEY_ORDER, XrayConfigKey, sortXrayConfig, } from './xray-config';
|
|
2
2
|
export { LogConfig, LogLevel, MaskAddressMode, } from './config/log';
|
|
3
3
|
export { APIConfig, APIService, } from './config/api';
|
|
4
4
|
export { MetricsConfig, } from './config/metrics';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sortXrayConfig = exports.XRAY_CONFIG_KEY_ORDER = void 0;
|
|
4
|
+
// ── Root Config ──
|
|
5
|
+
var xray_config_1 = require("./xray-config");
|
|
6
|
+
Object.defineProperty(exports, "XRAY_CONFIG_KEY_ORDER", { enumerable: true, get: function () { return xray_config_1.XRAY_CONFIG_KEY_ORDER; } });
|
|
7
|
+
Object.defineProperty(exports, "sortXrayConfig", { enumerable: true, get: function () { return xray_config_1.sortXrayConfig; } });
|
|
3
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oBAAoB;AACpB,6CAMuB;AAHnB,oHAAA,qBAAqB,OAAA;AAErB,6GAAA,cAAc,OAAA"}
|
package/dist/xray-config.d.ts
CHANGED
|
@@ -73,4 +73,25 @@ export interface VersionConfig {
|
|
|
73
73
|
/** Maximum allowed Xray-Core version. Empty or omitted = no upper bound. */
|
|
74
74
|
max?: string;
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* All top-level keys of XrayConfig in canonical order.
|
|
78
|
+
* Use with `sortXrayConfig` or for your own normalization logic.
|
|
79
|
+
*/
|
|
80
|
+
export declare const XRAY_CONFIG_KEY_ORDER: readonly ["log", "api", "metrics", "dns", "routing", "policy", "inbounds", "outbounds", "transport", "stats", "reverse", "fakeDns", "observatory", "burstObservatory", "version"];
|
|
81
|
+
/** Union of all top-level XrayConfig key names. */
|
|
82
|
+
export type XrayConfigKey = (typeof XRAY_CONFIG_KEY_ORDER)[number];
|
|
83
|
+
/**
|
|
84
|
+
* Returns a new XrayConfig with keys sorted in canonical order.
|
|
85
|
+
* Unknown keys (not in the standard set) are appended at the end
|
|
86
|
+
* in their original order.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import { sortXrayConfig } from 'xray-typed';
|
|
91
|
+
*
|
|
92
|
+
* const normalized = sortXrayConfig(rawConfig);
|
|
93
|
+
* const json = JSON.stringify(normalized, null, 2);
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function sortXrayConfig<T extends XrayConfig>(config: T): T;
|
|
76
97
|
//# sourceMappingURL=xray-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xray-config.d.ts","sourceRoot":"","sources":["../src/xray-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACvB,yBAAyB;IACzB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,kDAAkD;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,mDAAmD;IACnD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gEAAgE;IAChE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,6BAA6B;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC1B,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"xray-config.d.ts","sourceRoot":"","sources":["../src/xray-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACvB,yBAAyB;IACzB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,kDAAkD;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,mDAAmD;IACnD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gEAAgE;IAChE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,6BAA6B;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC1B,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,mLAgBgB,CAAC;AAEnD,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAgBjE"}
|
package/dist/xray-config.js
CHANGED
|
@@ -1,3 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XRAY_CONFIG_KEY_ORDER = void 0;
|
|
4
|
+
exports.sortXrayConfig = sortXrayConfig;
|
|
5
|
+
/**
|
|
6
|
+
* All top-level keys of XrayConfig in canonical order.
|
|
7
|
+
* Use with `sortXrayConfig` or for your own normalization logic.
|
|
8
|
+
*/
|
|
9
|
+
exports.XRAY_CONFIG_KEY_ORDER = [
|
|
10
|
+
'log',
|
|
11
|
+
'api',
|
|
12
|
+
'metrics',
|
|
13
|
+
'dns',
|
|
14
|
+
'routing',
|
|
15
|
+
'policy',
|
|
16
|
+
'inbounds',
|
|
17
|
+
'outbounds',
|
|
18
|
+
'transport',
|
|
19
|
+
'stats',
|
|
20
|
+
'reverse',
|
|
21
|
+
'fakeDns',
|
|
22
|
+
'observatory',
|
|
23
|
+
'burstObservatory',
|
|
24
|
+
'version',
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* Returns a new XrayConfig with keys sorted in canonical order.
|
|
28
|
+
* Unknown keys (not in the standard set) are appended at the end
|
|
29
|
+
* in their original order.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import { sortXrayConfig } from 'xray-typed';
|
|
34
|
+
*
|
|
35
|
+
* const normalized = sortXrayConfig(rawConfig);
|
|
36
|
+
* const json = JSON.stringify(normalized, null, 2);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
function sortXrayConfig(config) {
|
|
40
|
+
const sorted = {};
|
|
41
|
+
for (const key of exports.XRAY_CONFIG_KEY_ORDER) {
|
|
42
|
+
if (key in config) {
|
|
43
|
+
sorted[key] = config[key];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
for (const key of Object.keys(config)) {
|
|
47
|
+
if (!(key in sorted)) {
|
|
48
|
+
sorted[key] = config[key];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return sorted;
|
|
52
|
+
}
|
|
3
53
|
//# sourceMappingURL=xray-config.js.map
|
package/dist/xray-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xray-config.js","sourceRoot":"","sources":["../src/xray-config.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"xray-config.js","sourceRoot":"","sources":["../src/xray-config.ts"],"names":[],"mappings":";;;AAoHA,wCAgBC;AAtDD;;;GAGG;AACU,QAAA,qBAAqB,GAAG;IACjC,KAAK;IACL,KAAK;IACL,SAAS;IACT,KAAK;IACL,SAAS;IACT,QAAQ;IACR,UAAU;IACV,WAAW;IACX,WAAW;IACX,OAAO;IACP,SAAS;IACT,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,SAAS;CACqC,CAAC;AAKnD;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAAuB,MAAS;IAC1D,MAAM,MAAM,GAAG,EAA6B,CAAC;IAE7C,KAAK,MAAM,GAAG,IAAI,6BAAqB,EAAE,CAAC;QACtC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAc,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED,OAAO,MAAW,CAAC;AACvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xray-typed",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Complete TypeScript type definitions for Xray-Core JSON configuration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,4 +27,4 @@
|
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"typescript": "^5.9.3"
|
|
29
29
|
}
|
|
30
|
-
}
|
|
30
|
+
}
|