@gaias/client_node 1.0.3
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/.npmrc.example +14 -0
- package/LICENSE +21 -0
- package/PUBLISHING.md +170 -0
- package/README.md +2 -0
- package/config/CommonParam.yaml +2 -0
- package/config/RestClientA.yaml +5 -0
- package/config/RestClientB.yaml +8 -0
- package/dist/configclient/ConfigClient.d.ts +12 -0
- package/dist/configclient/ConfigClient.d.ts.map +1 -0
- package/dist/configclient/ConfigClient.js +112 -0
- package/dist/configclient/ConfigClient.js.map +1 -0
- package/dist/configclient/index.d.ts +2 -0
- package/dist/configclient/index.d.ts.map +1 -0
- package/dist/configclient/index.js +18 -0
- package/dist/configclient/index.js.map +1 -0
- package/dist/globalstorage/globalstorage.d.ts +9 -0
- package/dist/globalstorage/globalstorage.d.ts.map +1 -0
- package/dist/globalstorage/globalstorage.js +39 -0
- package/dist/globalstorage/globalstorage.js.map +1 -0
- package/dist/globalstorage/index.d.ts +2 -0
- package/dist/globalstorage/index.d.ts.map +1 -0
- package/dist/globalstorage/index.js +18 -0
- package/dist/globalstorage/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/messageclient/Email.d.ts +32 -0
- package/dist/messageclient/Email.d.ts.map +1 -0
- package/dist/messageclient/Email.js +29 -0
- package/dist/messageclient/Email.js.map +1 -0
- package/dist/messageclient/Events.d.ts +4 -0
- package/dist/messageclient/Events.d.ts.map +1 -0
- package/dist/messageclient/Events.js +7 -0
- package/dist/messageclient/Events.js.map +1 -0
- package/dist/messageclient/index.d.ts +3 -0
- package/dist/messageclient/index.d.ts.map +1 -0
- package/dist/messageclient/index.js +19 -0
- package/dist/messageclient/index.js.map +1 -0
- package/dist/restclient/FSBackend.d.ts +14 -0
- package/dist/restclient/FSBackend.d.ts.map +1 -0
- package/dist/restclient/FSBackend.js +44 -0
- package/dist/restclient/FSBackend.js.map +1 -0
- package/dist/restclient/HttpBackend.d.ts +28 -0
- package/dist/restclient/HttpBackend.d.ts.map +1 -0
- package/dist/restclient/HttpBackend.js +126 -0
- package/dist/restclient/HttpBackend.js.map +1 -0
- package/dist/restclient/NextSSRBackend.d.ts +15 -0
- package/dist/restclient/NextSSRBackend.d.ts.map +1 -0
- package/dist/restclient/NextSSRBackend.js +58 -0
- package/dist/restclient/NextSSRBackend.js.map +1 -0
- package/dist/restclient/RestClient.d.ts +58 -0
- package/dist/restclient/RestClient.d.ts.map +1 -0
- package/dist/restclient/RestClient.js +167 -0
- package/dist/restclient/RestClient.js.map +1 -0
- package/dist/restclient/Yamls.d.ts +2 -0
- package/dist/restclient/Yamls.d.ts.map +1 -0
- package/dist/restclient/Yamls.js +26 -0
- package/dist/restclient/Yamls.js.map +1 -0
- package/dist/restclient/index.d.ts +6 -0
- package/dist/restclient/index.d.ts.map +1 -0
- package/dist/restclient/index.js +22 -0
- package/dist/restclient/index.js.map +1 -0
- package/eslint.config.js +141 -0
- package/package.json +102 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Namespace } from 'cls-hooked';
|
|
2
|
+
import { RestClientBackend, APIConfig, RestClient } from './RestClient';
|
|
3
|
+
export declare class FSBackend implements RestClientBackend {
|
|
4
|
+
private cfgNames;
|
|
5
|
+
constructor(cfgNames?: string[], proxy?: string);
|
|
6
|
+
load(rc: RestClient): Promise<APIConfig>;
|
|
7
|
+
headers(): Promise<{
|
|
8
|
+
headers: {};
|
|
9
|
+
}>;
|
|
10
|
+
static setForwardHeader(ns: Namespace, key: string, val: string): typeof FSBackend;
|
|
11
|
+
static createNamespace(): Namespace<Record<string, any>>;
|
|
12
|
+
static destoryNamespace(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=FSBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FSBackend.d.ts","sourceRoot":"","sources":["../../src/restclient/FSBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqC,MAAM,YAAY,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AASxE,qBAAa,SAAU,YAAW,iBAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,QAAQ,GAAE,MAAM,EAAO,EAAE,KAAK,CAAC,EAAE,MAAM;IAO7C,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAIxC,OAAO;;;IAIb,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAU/D,MAAM,CAAC,eAAe;IAItB,MAAM,CAAC,gBAAgB;CAG1B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FSBackend = void 0;
|
|
7
|
+
const cls_hooked_1 = require("cls-hooked");
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const Yamls_1 = require("./Yamls");
|
|
10
|
+
const mergeJSON = require('merge-json');
|
|
11
|
+
const API_SESSION = 'API_SESSION';
|
|
12
|
+
const REQUEST_HEADER = 'REQUEST_HEADER';
|
|
13
|
+
class FSBackend {
|
|
14
|
+
constructor(cfgNames = [], proxy) {
|
|
15
|
+
this.cfgNames = [];
|
|
16
|
+
this.cfgNames.push(...cfgNames);
|
|
17
|
+
if (!lodash_1.default.isNil(proxy) && !lodash_1.default.isEmpty(lodash_1.default.trim(proxy))) {
|
|
18
|
+
process.env['http_proxy'] = proxy;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async load(rc) {
|
|
22
|
+
return this.cfgNames.map((name) => (0, Yamls_1.loadConfig)(name)).reduce((p, c) => mergeJSON.merge(p, c));
|
|
23
|
+
}
|
|
24
|
+
async headers() {
|
|
25
|
+
return { headers: {}, };
|
|
26
|
+
}
|
|
27
|
+
static setForwardHeader(ns, key, val) {
|
|
28
|
+
let header = ns.get(REQUEST_HEADER);
|
|
29
|
+
if (!header) {
|
|
30
|
+
header = {};
|
|
31
|
+
ns.set(REQUEST_HEADER, header);
|
|
32
|
+
}
|
|
33
|
+
header[key] = val;
|
|
34
|
+
return FSBackend;
|
|
35
|
+
}
|
|
36
|
+
static createNamespace() {
|
|
37
|
+
return (0, cls_hooked_1.createNamespace)(API_SESSION);
|
|
38
|
+
}
|
|
39
|
+
static destoryNamespace() {
|
|
40
|
+
return (0, cls_hooked_1.destroyNamespace)(API_SESSION);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.FSBackend = FSBackend;
|
|
44
|
+
//# sourceMappingURL=FSBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FSBackend.js","sourceRoot":"","sources":["../../src/restclient/FSBackend.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA0E;AAC1E,oDAAuB;AACvB,mCAAqC;AAGrC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACxC,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAKxC,MAAa,SAAS;IAGlB,YAAY,WAAqB,EAAE,EAAE,KAAc;QAF3C,aAAQ,GAAa,EAAE,CAAC;QAG5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;QACtC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAc;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,EAAa,EAAE,GAAW,EAAE,GAAW;QAC3D,IAAI,MAAM,GAAkB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,EAAE,CAAC;YACZ,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAClB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,eAAe;QAClB,OAAO,IAAA,4BAAe,EAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,gBAAgB;QACnB,OAAO,IAAA,6BAAgB,EAAC,WAAW,CAAC,CAAC;IACzC,CAAC;CACJ;AAnCD,8BAmCC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RestClientBackend, APIConfig, RestClient } from './RestClient';
|
|
2
|
+
export type RequestHeader = {
|
|
3
|
+
headers: Record<string, string>;
|
|
4
|
+
};
|
|
5
|
+
export declare class StateProvider<T> {
|
|
6
|
+
private state;
|
|
7
|
+
private innerProvider?;
|
|
8
|
+
private updateCallback?;
|
|
9
|
+
constructor(state: T, innerProvider?: (() => T) | undefined, updateCallback?: ((state: T) => void) | undefined);
|
|
10
|
+
update(state: T): void;
|
|
11
|
+
get value(): T;
|
|
12
|
+
}
|
|
13
|
+
export type HeaderProvider = StateProvider<RequestHeader>;
|
|
14
|
+
export type HttpBackendOptions = {
|
|
15
|
+
baseUrl: string;
|
|
16
|
+
commonParamUrl?: string;
|
|
17
|
+
cfgNames: string[];
|
|
18
|
+
};
|
|
19
|
+
export declare class HttpBackend implements RestClientBackend {
|
|
20
|
+
private options;
|
|
21
|
+
private headerProvider;
|
|
22
|
+
constructor(options: HttpBackendOptions, headerProvider: StateProvider<RequestHeader>);
|
|
23
|
+
load(rc: RestClient): Promise<APIConfig>;
|
|
24
|
+
headers(): Promise<RequestHeader>;
|
|
25
|
+
private loadUrl;
|
|
26
|
+
private fetchOrCache;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=HttpBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpBackend.d.ts","sourceRoot":"","sources":["../../src/restclient/HttpBackend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkBxE,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,qBAAa,aAAa,CAAC,CAAC;IACZ,OAAO,CAAC,KAAK;IAAK,OAAO,CAAC,aAAa,CAAC;IAAW,OAAO,CAAC,cAAc,CAAC;gBAAlE,KAAK,EAAE,CAAC,EAAU,aAAa,CAAC,GAAE,MAAM,CAAC,aAAA,EAAU,cAAc,CAAC,GAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,aAAA;IAE1G,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAOtB,IAAI,KAAK,IAAI,CAAC,CAKb;CACJ;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AASF,qBAAa,WAAY,YAAW,iBAAiB;IACrC,OAAO,CAAC,OAAO;IAAsB,OAAO,CAAC,cAAc;gBAAnD,OAAO,EAAE,kBAAkB,EAAU,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC;IAG/F,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BxC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;YAIzB,OAAO;IAOrB,OAAO,CAAC,YAAY;CA8CvB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.HttpBackend = exports.StateProvider = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
9
|
+
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
10
|
+
const storage_manager_js_1 = require("storage-manager-js");
|
|
11
|
+
const events = new eventemitter3_1.default();
|
|
12
|
+
const mergeJSON = require('merge-json');
|
|
13
|
+
const hash = (str) => {
|
|
14
|
+
let hash = 0;
|
|
15
|
+
if (str.length == 0)
|
|
16
|
+
return hash;
|
|
17
|
+
for (let i = 0; i < str.length; i++) {
|
|
18
|
+
const char = str.charCodeAt(i);
|
|
19
|
+
hash = (hash << 5) - hash + char;
|
|
20
|
+
hash = hash & hash;
|
|
21
|
+
}
|
|
22
|
+
return hash;
|
|
23
|
+
};
|
|
24
|
+
class StateProvider {
|
|
25
|
+
constructor(state, innerProvider, updateCallback) {
|
|
26
|
+
this.state = state;
|
|
27
|
+
this.innerProvider = innerProvider;
|
|
28
|
+
this.updateCallback = updateCallback;
|
|
29
|
+
}
|
|
30
|
+
update(state) {
|
|
31
|
+
this.state = state;
|
|
32
|
+
if (this.updateCallback) {
|
|
33
|
+
this.updateCallback(state);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
get value() {
|
|
37
|
+
if (this.innerProvider) {
|
|
38
|
+
this.state = this.innerProvider();
|
|
39
|
+
}
|
|
40
|
+
return this.state;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.StateProvider = StateProvider;
|
|
44
|
+
class HttpBackend {
|
|
45
|
+
constructor(options, headerProvider) {
|
|
46
|
+
this.options = options;
|
|
47
|
+
this.headerProvider = headerProvider;
|
|
48
|
+
}
|
|
49
|
+
async load(rc) {
|
|
50
|
+
let apis = {};
|
|
51
|
+
try {
|
|
52
|
+
const ld = Promise.all(this.options.cfgNames.map(async (name) => {
|
|
53
|
+
if (!this.options.baseUrl.endsWith('/')) {
|
|
54
|
+
this.options.baseUrl = `${this.options.baseUrl}/`;
|
|
55
|
+
}
|
|
56
|
+
const data = js_yaml_1.default.load(await this.loadUrl(`${this.options.baseUrl}${name}.yml`));
|
|
57
|
+
apis = mergeJSON.merge(apis, data);
|
|
58
|
+
}));
|
|
59
|
+
const ld1 = async () => {
|
|
60
|
+
if (this.options.commonParamUrl) {
|
|
61
|
+
const commonParam = js_yaml_1.default.load(await this.loadUrl(this.options.commonParamUrl));
|
|
62
|
+
rc.commonParam = Object.assign({}, rc.commonParam ?? {}, commonParam);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
await Promise.all([ld, ld1()]);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
}
|
|
69
|
+
return apis;
|
|
70
|
+
}
|
|
71
|
+
async headers() {
|
|
72
|
+
return this.headerProvider.value;
|
|
73
|
+
}
|
|
74
|
+
async loadUrl(url) {
|
|
75
|
+
console.log(`HttpBackend url ${url}`);
|
|
76
|
+
return this.fetchOrCache(url, async () => (await axios_1.default.get(url)).data);
|
|
77
|
+
}
|
|
78
|
+
fetchOrCache(url, fetchFn) {
|
|
79
|
+
const key = hash(url);
|
|
80
|
+
const cacheStr = storage_manager_js_1.SessionStorage.get(`RC#${key}`);
|
|
81
|
+
let cache = cacheStr ? JSON.parse(cacheStr) : null;
|
|
82
|
+
if (!cache) {
|
|
83
|
+
cache = {
|
|
84
|
+
available: false,
|
|
85
|
+
requesting: false,
|
|
86
|
+
data: '',
|
|
87
|
+
expiration: 0,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const getData = () => fetchFn().then((data) => {
|
|
91
|
+
if (cache) {
|
|
92
|
+
cache.requesting = false;
|
|
93
|
+
cache.available = true;
|
|
94
|
+
cache.expiration = Date.now() + 10000;
|
|
95
|
+
cache.data = data;
|
|
96
|
+
storage_manager_js_1.SessionStorage.set(`RC#${key}`, JSON.stringify(cache));
|
|
97
|
+
events.emit(`CacheUpdated#${key}`, data);
|
|
98
|
+
}
|
|
99
|
+
return data;
|
|
100
|
+
});
|
|
101
|
+
if (cache.available && Date.now() < cache.expiration) {
|
|
102
|
+
return Promise.resolve(cache.data);
|
|
103
|
+
}
|
|
104
|
+
else if (!cache.requesting) {
|
|
105
|
+
cache.requesting = true;
|
|
106
|
+
cache.available = false;
|
|
107
|
+
cache.expiration = 0;
|
|
108
|
+
cache.data = '';
|
|
109
|
+
storage_manager_js_1.SessionStorage.set(`RC#${key}`, JSON.stringify(cache));
|
|
110
|
+
return getData();
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
return new Promise((resolve, reject) => {
|
|
114
|
+
const timer = setTimeout(() => {
|
|
115
|
+
resolve(getData());
|
|
116
|
+
}, 2000);
|
|
117
|
+
events.once(`CacheUpdated#${key}`, (data) => {
|
|
118
|
+
clearTimeout(timer);
|
|
119
|
+
resolve(data);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.HttpBackend = HttpBackend;
|
|
126
|
+
//# sourceMappingURL=HttpBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpBackend.js","sourceRoot":"","sources":["../../src/restclient/HttpBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RestClientBackend, APIConfig, RestClient } from './RestClient';
|
|
2
|
+
import { HttpBackendOptions, RequestHeader, StateProvider } from './HttpBackend';
|
|
3
|
+
export type NextSSRBackendOptions = HttpBackendOptions & {
|
|
4
|
+
ssrBaseDir: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class NextSSRBackend implements RestClientBackend {
|
|
7
|
+
private options;
|
|
8
|
+
private headerProvider;
|
|
9
|
+
constructor(options: NextSSRBackendOptions, headerProvider: StateProvider<RequestHeader>);
|
|
10
|
+
load(rc: RestClient): Promise<APIConfig>;
|
|
11
|
+
headers(): Promise<RequestHeader>;
|
|
12
|
+
private loadFile;
|
|
13
|
+
private fetchOrCache;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=NextSSRBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextSSRBackend.d.ts","sourceRoot":"","sources":["../../src/restclient/NextSSRBackend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAKjF,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAIhF,qBAAa,cAAe,YAAW,iBAAiB;IAExC,OAAO,CAAC,OAAO;IAAyB,OAAO,CAAC,cAAc;gBAAtD,OAAO,EAAE,qBAAqB,EAAU,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC;IAIlG,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA6BxC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;YAIzB,QAAQ;YAIR,YAAY;CAS7B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NextSSRBackend = void 0;
|
|
7
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const mergeJSON = require('merge-json');
|
|
10
|
+
const Cache = {};
|
|
11
|
+
class NextSSRBackend {
|
|
12
|
+
constructor(options, headerProvider) {
|
|
13
|
+
this.options = options;
|
|
14
|
+
this.headerProvider = headerProvider;
|
|
15
|
+
}
|
|
16
|
+
async load(rc) {
|
|
17
|
+
let apis = {};
|
|
18
|
+
try {
|
|
19
|
+
const ld = Promise.all(this.options.cfgNames.map(async (name) => {
|
|
20
|
+
if (!this.options.baseUrl.endsWith('/')) {
|
|
21
|
+
this.options.baseUrl = `${this.options.baseUrl}/`;
|
|
22
|
+
}
|
|
23
|
+
if (this.options.ssrBaseDir.endsWith('/')) {
|
|
24
|
+
this.options.ssrBaseDir = this.options.ssrBaseDir.substring(0, this.options.ssrBaseDir.length - 1);
|
|
25
|
+
}
|
|
26
|
+
const data = js_yaml_1.default.load(await this.loadFile(`${this.options.ssrBaseDir}${this.options.baseUrl}${name}.yml`));
|
|
27
|
+
apis = mergeJSON.merge(apis, data);
|
|
28
|
+
}));
|
|
29
|
+
const ld1 = async () => {
|
|
30
|
+
if (this.options.commonParamUrl) {
|
|
31
|
+
const commonParam = js_yaml_1.default.load(await this.loadFile(`${this.options.ssrBaseDir}${this.options.commonParamUrl}`));
|
|
32
|
+
rc.commonParam = Object.assign({}, rc.commonParam ?? {}, commonParam);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
await Promise.all([ld, ld1()]);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
}
|
|
39
|
+
return apis;
|
|
40
|
+
}
|
|
41
|
+
async headers() {
|
|
42
|
+
return this.headerProvider.value;
|
|
43
|
+
}
|
|
44
|
+
async loadFile(path) {
|
|
45
|
+
return this.fetchOrCache(path, async () => fs_1.promises.readFile(path).then((buffer) => buffer.toString()));
|
|
46
|
+
}
|
|
47
|
+
async fetchOrCache(path, fetchFn) {
|
|
48
|
+
const key = path;
|
|
49
|
+
let cacheStr = Cache[`RC#${key}`];
|
|
50
|
+
if (cacheStr === undefined) {
|
|
51
|
+
cacheStr = await fetchFn();
|
|
52
|
+
Cache[`RC#${key}`] = cacheStr;
|
|
53
|
+
}
|
|
54
|
+
return cacheStr;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.NextSSRBackend = NextSSRBackend;
|
|
58
|
+
//# sourceMappingURL=NextSSRBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextSSRBackend.js","sourceRoot":"","sources":["../../src/restclient/NextSSRBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosResponse, Method, InternalAxiosRequestConfig } from 'axios';
|
|
2
|
+
import { URLSearchParams } from 'whatwg-url';
|
|
3
|
+
export declare class RestClientError extends Error {
|
|
4
|
+
readonly response?: AxiosResponse<any>;
|
|
5
|
+
constructor(message: string, response?: AxiosResponse<any>);
|
|
6
|
+
}
|
|
7
|
+
export type EndPoint = {
|
|
8
|
+
method?: Method;
|
|
9
|
+
endPoint: string;
|
|
10
|
+
};
|
|
11
|
+
export type EndPointConfig = {
|
|
12
|
+
[name: string]: EndPoint | string;
|
|
13
|
+
};
|
|
14
|
+
export type APIConfig = {
|
|
15
|
+
[name: string]: APIConfig | EndPointConfig;
|
|
16
|
+
};
|
|
17
|
+
export type URIParam = Record<string, string | number | boolean>;
|
|
18
|
+
export type HeaderParam = Record<string, string>;
|
|
19
|
+
export interface RestClientBackend {
|
|
20
|
+
load(rc: RestClient): Promise<APIConfig>;
|
|
21
|
+
headers(): Promise<any>;
|
|
22
|
+
}
|
|
23
|
+
export declare class CallChain {
|
|
24
|
+
private api;
|
|
25
|
+
private client;
|
|
26
|
+
private _pathParam?;
|
|
27
|
+
private _urlParam?;
|
|
28
|
+
private _data?;
|
|
29
|
+
private _headers?;
|
|
30
|
+
constructor(api: string, client: RestClient);
|
|
31
|
+
pathParam(pathParam?: URIParam): CallChain;
|
|
32
|
+
urlParam(urlParam?: URIParam): CallChain;
|
|
33
|
+
data(data: unknown): CallChain;
|
|
34
|
+
headers(headers: HeaderParam | {
|
|
35
|
+
headers: HeaderParam;
|
|
36
|
+
}): CallChain;
|
|
37
|
+
call<T = any>(data?: unknown): Promise<T | null>;
|
|
38
|
+
}
|
|
39
|
+
export declare class RestClient {
|
|
40
|
+
backend: RestClientBackend;
|
|
41
|
+
commonParam: any;
|
|
42
|
+
private config?;
|
|
43
|
+
static onStart?: (req: InternalAxiosRequestConfig) => InternalAxiosRequestConfig | void;
|
|
44
|
+
static onStop?: (response: AxiosResponse) => AxiosResponse | void;
|
|
45
|
+
static onResponseError?: (error: RestClientError) => boolean;
|
|
46
|
+
hook: (reqCfg: InternalAxiosRequestConfig) => InternalAxiosRequestConfig;
|
|
47
|
+
client: AxiosInstance;
|
|
48
|
+
get apiConfig(): APIConfig | undefined;
|
|
49
|
+
constructor(backend: RestClientBackend, commonParam?: any);
|
|
50
|
+
preload(): Promise<void>;
|
|
51
|
+
api(api: string): CallChain;
|
|
52
|
+
call<T = any>(api: string, pathParam?: URIParam, urlParam?: URIParam, data?: unknown, headers?: HeaderParam): Promise<T | null>;
|
|
53
|
+
getApiEndpoint(api: string, pathParam?: URIParam, urlParam?: URLSearchParams): Promise<{
|
|
54
|
+
endPoint: string;
|
|
55
|
+
method: string | undefined;
|
|
56
|
+
} | null>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=RestClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestClient.d.ts","sourceRoot":"","sources":["../../src/restclient/RestClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAGhG,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,qBAAa,eAAgB,SAAQ,KAAK;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;gBAE3B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC;CAI7D;AACD,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAA;AACD,MAAM,MAAM,cAAc,GAAG;IACzB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC,CAAA;AACD,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAAC;CAC9C,CAAA;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AACjE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CAC3B;AACD,qBAAa,SAAS;IASN,OAAO,CAAC,GAAG;IAAU,OAAO,CAAC,MAAM;IAR/C,OAAO,CAAC,UAAU,CAAC,CAAM;IAEzB,OAAO,CAAC,SAAS,CAAC,CAAM;IAExB,OAAO,CAAC,KAAK,CAAC,CAAM;IAEpB,OAAO,CAAC,QAAQ,CAAC,CAAM;gBAEH,GAAG,EAAE,MAAM,EAAU,MAAM,EAAE,UAAU;IAE3D,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS;IAK1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS;IAKxC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS;IAK9B,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,SAAS;IAK7D,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAKzD;AAED,qBAAa,UAAU;IAiBA,OAAO,EAAE,iBAAiB;IAAS,WAAW,EAAE,GAAG;IAhBtE,OAAO,CAAC,MAAM,CAAC,CAAY;IAE3B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,0BAA0B,GAAG,IAAI,CAAC;IAExF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI,CAAC;IAElE,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC;IAE7D,IAAI,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,0BAA0B,CAAC;IAEzE,MAAM,EAAE,aAAa,CAAC;IAEtB,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;gBAEkB,OAAO,EAAE,iBAAiB,EAAS,WAAW,GAAE,GAAQ;IAwBpE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIrB,IAAI,CAAC,CAAC,GAAE,GAAG,EAAG,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAG,OAAO,EAAG,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,GAAC,IAAI,CAAC;IAiE/H,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,eAAe;;;;CAyBtF"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RestClient = exports.CallChain = exports.RestClientError = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const dot_object_1 = __importDefault(require("dot-object"));
|
|
9
|
+
const mustache_1 = __importDefault(require("mustache"));
|
|
10
|
+
const whatwg_url_1 = require("whatwg-url");
|
|
11
|
+
mustache_1.default.escape = (v) => v;
|
|
12
|
+
const renderTemplate = (templateString, templateVariables) => mustache_1.default.render(templateString, templateVariables);
|
|
13
|
+
class RestClientError extends Error {
|
|
14
|
+
constructor(message, response) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.response = response;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.RestClientError = RestClientError;
|
|
20
|
+
class CallChain {
|
|
21
|
+
constructor(api, client) {
|
|
22
|
+
this.api = api;
|
|
23
|
+
this.client = client;
|
|
24
|
+
}
|
|
25
|
+
pathParam(pathParam) {
|
|
26
|
+
this._pathParam = pathParam;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
urlParam(urlParam) {
|
|
30
|
+
this._urlParam = urlParam;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
data(data) {
|
|
34
|
+
this._data = data;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
headers(headers) {
|
|
38
|
+
this._headers = headers;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
async call(data) {
|
|
42
|
+
this.data(data);
|
|
43
|
+
return this.client.call(this.api, this._pathParam, this._urlParam, this._data, this._headers);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.CallChain = CallChain;
|
|
47
|
+
class RestClient {
|
|
48
|
+
get apiConfig() {
|
|
49
|
+
return this.config;
|
|
50
|
+
}
|
|
51
|
+
constructor(backend, commonParam = {}) {
|
|
52
|
+
this.backend = backend;
|
|
53
|
+
this.commonParam = commonParam;
|
|
54
|
+
this.client = axios_1.default.create();
|
|
55
|
+
this.client.interceptors.request.use((req) => {
|
|
56
|
+
if (RestClient.onStart) {
|
|
57
|
+
const newReq = RestClient.onStart(req);
|
|
58
|
+
if (newReq) {
|
|
59
|
+
return newReq;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return req;
|
|
63
|
+
});
|
|
64
|
+
this.client.interceptors.response.use((response) => {
|
|
65
|
+
if (RestClient.onStop) {
|
|
66
|
+
const newRes = RestClient.onStop(response);
|
|
67
|
+
if (newRes) {
|
|
68
|
+
return newRes;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return response;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async preload() {
|
|
75
|
+
this.config = await this.backend.load(this);
|
|
76
|
+
}
|
|
77
|
+
api(api) {
|
|
78
|
+
return new CallChain(api, this);
|
|
79
|
+
}
|
|
80
|
+
async call(api, pathParam, urlParam, data, headers) {
|
|
81
|
+
if (!this.config) {
|
|
82
|
+
this.config = await this.backend.load(this);
|
|
83
|
+
}
|
|
84
|
+
const def = dot_object_1.default.pick(api, this.config);
|
|
85
|
+
if (!def) {
|
|
86
|
+
throw `API Define No Found! ${api} \n ${JSON.stringify(this.config, null, 2)}`;
|
|
87
|
+
}
|
|
88
|
+
let method = undefined;
|
|
89
|
+
let endPoint = undefined;
|
|
90
|
+
if (typeof def === 'string') {
|
|
91
|
+
method = 'GET';
|
|
92
|
+
endPoint = renderTemplate(def, Object.assign({}, this.commonParam, pathParam ?? {}));
|
|
93
|
+
console.log(`RestClient def: ${def}`);
|
|
94
|
+
console.log(`RestClient endPoint: ${endPoint}`);
|
|
95
|
+
}
|
|
96
|
+
else if (typeof def === 'object') {
|
|
97
|
+
const tDef = def;
|
|
98
|
+
method = tDef.method ?? 'GET';
|
|
99
|
+
endPoint = renderTemplate(tDef.endPoint, Object.assign({}, this.commonParam, pathParam ?? {}));
|
|
100
|
+
console.log(`RestClient def: ${JSON.stringify(tDef)}`);
|
|
101
|
+
console.log(`RestClient endPoint: ${endPoint}`);
|
|
102
|
+
}
|
|
103
|
+
const newHeaders = Object.assign({}, (await this.backend.headers()) ?? {}, headers ?? {});
|
|
104
|
+
if (process.env.NODE_ENV === 'development') {
|
|
105
|
+
console.log('RestClient', `Headers: ${JSON.stringify(newHeaders)}`);
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
const requestCfg = {
|
|
109
|
+
responseType: 'json',
|
|
110
|
+
url: endPoint, method: method, params: urlParam, data,
|
|
111
|
+
headers: newHeaders.headers ? newHeaders.headers : newHeaders
|
|
112
|
+
};
|
|
113
|
+
if (this.hook) {
|
|
114
|
+
Object.assign(requestCfg, this.hook(requestCfg));
|
|
115
|
+
}
|
|
116
|
+
const resp = await this.client.request(requestCfg);
|
|
117
|
+
return resp.data;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (RestClient.onStop) {
|
|
121
|
+
RestClient.onStop(error.response);
|
|
122
|
+
}
|
|
123
|
+
if (error.response) {
|
|
124
|
+
const restClientError = new RestClientError(error.response.statusText, error.response);
|
|
125
|
+
let throwable = true;
|
|
126
|
+
if (RestClient.onResponseError) {
|
|
127
|
+
throwable = RestClient.onResponseError(restClientError);
|
|
128
|
+
}
|
|
129
|
+
if (!throwable) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
throw restClientError;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async getApiEndpoint(api, pathParam, urlParam) {
|
|
140
|
+
if (!this.config) {
|
|
141
|
+
this.config = await this.backend.load(this);
|
|
142
|
+
}
|
|
143
|
+
const def = dot_object_1.default.pick(api, this.config);
|
|
144
|
+
if (!def) {
|
|
145
|
+
throw `No API define found! ${api} \n ${JSON.stringify(this.config, null, 2)}`;
|
|
146
|
+
}
|
|
147
|
+
let method = undefined;
|
|
148
|
+
let endPoint = undefined;
|
|
149
|
+
if (typeof def === 'string') {
|
|
150
|
+
method = 'GET';
|
|
151
|
+
endPoint = renderTemplate(def, Object.assign({}, this.commonParam, pathParam ?? {}));
|
|
152
|
+
}
|
|
153
|
+
else if (typeof def === 'object') {
|
|
154
|
+
const tDef = def;
|
|
155
|
+
method = tDef.method ?? 'GET';
|
|
156
|
+
endPoint = renderTemplate(tDef.endPoint, Object.assign({}, this.commonParam, pathParam ?? {}));
|
|
157
|
+
}
|
|
158
|
+
if (endPoint) {
|
|
159
|
+
return { endPoint: `${endPoint}?${new whatwg_url_1.URLSearchParams(urlParam ?? {}).toString()}`, method };
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.RestClient = RestClient;
|
|
167
|
+
//# sourceMappingURL=RestClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestClient.js","sourceRoot":"","sources":["../../src/restclient/RestClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Yamls.d.ts","sourceRoot":"","sources":["../../src/restclient/Yamls.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,GAiBzC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadConfig = void 0;
|
|
7
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const mergeJSON = require("merge-json");
|
|
10
|
+
const loadConfig = (name) => {
|
|
11
|
+
const env = process.env.NODE_ENV;
|
|
12
|
+
const envConfigFile = `./config/${name}.${env}.yml`;
|
|
13
|
+
const configFile = `./config/${name}.yml`;
|
|
14
|
+
let config = {};
|
|
15
|
+
if (fs_1.default.existsSync(envConfigFile)) {
|
|
16
|
+
const envConfig = js_yaml_1.default.load(fs_1.default.readFileSync(envConfigFile, 'utf8'));
|
|
17
|
+
Object.assign(config, envConfig);
|
|
18
|
+
}
|
|
19
|
+
if (fs_1.default.existsSync(configFile)) {
|
|
20
|
+
const conf = js_yaml_1.default.load(fs_1.default.readFileSync(configFile, 'utf8'));
|
|
21
|
+
config = mergeJSON.merge(config, conf);
|
|
22
|
+
}
|
|
23
|
+
return config;
|
|
24
|
+
};
|
|
25
|
+
exports.loadConfig = loadConfig;
|
|
26
|
+
//# sourceMappingURL=Yamls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Yamls.js","sourceRoot":"","sources":["../../src/restclient/Yamls.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2B;AAC3B,4CAAoB;AACpB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAE;AAElC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAO,EAAE;IAEhD,MAAO,GAAG,GAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnC,MAAM,aAAa,GAAG,YAAY,IAAI,IAAI,GAAG,MAAM,CAAC;IACpD,MAAM,UAAU,GAAI,YAAY,IAAI,MAAM,CAAE;IAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAG,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAC,CAAC;QAC9B,MAAM,SAAS,GAAE,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,aAAa,EAAC,MAAM,CAAC,CAAC,CAAA;QACjE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,IAAG,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEA,OAAO,MAAM,CAAC;AACf,CAAC,CAAA;AAjBY,QAAA,UAAU,cAiBtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/restclient/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./FSBackend"), exports);
|
|
18
|
+
__exportStar(require("./HttpBackend"), exports);
|
|
19
|
+
__exportStar(require("./NextSSRBackend"), exports);
|
|
20
|
+
__exportStar(require("./RestClient"), exports);
|
|
21
|
+
__exportStar(require("./Yamls"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/restclient/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,8CAA4B;AAC5B,gDAA8B;AAC9B,mDAAiC;AACjC,+CAA6B;AAC7B,0CAAwB"}
|