@akanjs/base 0.0.45 → 0.0.47
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/index.js +2 -347
- package/package.json +1 -1
- package/src/base.js +178 -0
- package/src/baseEnv.js +84 -0
- package/src/index.js +20 -0
- package/src/scalar.js +134 -0
- package/src/types.js +15 -0
package/index.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
5
|
var __copyProps = (to, from, except, desc) => {
|
|
12
6
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
7
|
for (let key of __getOwnPropNames(from))
|
|
@@ -16,347 +10,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
10
|
}
|
|
17
11
|
return to;
|
|
18
12
|
};
|
|
19
|
-
var
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
27
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
|
|
29
|
-
// pkgs/@akanjs/base/index.ts
|
|
30
15
|
var base_exports = {};
|
|
31
|
-
__export(base_exports, {
|
|
32
|
-
BaseObject: () => BaseObject,
|
|
33
|
-
DataList: () => DataList,
|
|
34
|
-
Dayjs: () => import_dayjs.Dayjs,
|
|
35
|
-
Enum: () => Enum,
|
|
36
|
-
Float: () => Float,
|
|
37
|
-
ID: () => ID,
|
|
38
|
-
Int: () => Int,
|
|
39
|
-
JSON: () => JSON,
|
|
40
|
-
Upload: () => Upload,
|
|
41
|
-
applyFnToArrayObjects: () => applyFnToArrayObjects,
|
|
42
|
-
arraiedModel: () => arraiedModel,
|
|
43
|
-
baseClientEnv: () => baseClientEnv,
|
|
44
|
-
baseEnv: () => baseEnv,
|
|
45
|
-
dayjs: () => dayjs,
|
|
46
|
-
enumOf: () => enumOf,
|
|
47
|
-
getNonArrayModel: () => getNonArrayModel,
|
|
48
|
-
gqlScalarNames: () => gqlScalarNames,
|
|
49
|
-
gqlScalars: () => gqlScalars,
|
|
50
|
-
isGqlClass: () => isGqlClass,
|
|
51
|
-
isGqlMap: () => isGqlMap,
|
|
52
|
-
isGqlScalar: () => isGqlScalar,
|
|
53
|
-
logo: () => logo,
|
|
54
|
-
scalarArgMap: () => scalarArgMap,
|
|
55
|
-
scalarDefaultMap: () => scalarDefaultMap,
|
|
56
|
-
scalarNameMap: () => scalarNameMap,
|
|
57
|
-
scalarSet: () => scalarSet,
|
|
58
|
-
version: () => version
|
|
59
|
-
});
|
|
60
16
|
module.exports = __toCommonJS(base_exports);
|
|
61
|
-
|
|
62
|
-
// pkgs/@akanjs/base/src/base.ts
|
|
63
|
-
var Enum = class {
|
|
64
|
-
constructor(values) {
|
|
65
|
-
this.values = values;
|
|
66
|
-
this.valueMap = new Map(values.map((value, idx) => [value, idx]));
|
|
67
|
-
}
|
|
68
|
-
value;
|
|
69
|
-
// for type
|
|
70
|
-
valueMap;
|
|
71
|
-
has(value) {
|
|
72
|
-
return this.valueMap.has(value);
|
|
73
|
-
}
|
|
74
|
-
indexOf(value) {
|
|
75
|
-
const idx = this.valueMap.get(value);
|
|
76
|
-
if (idx === void 0)
|
|
77
|
-
throw new Error(`Value ${value} is not in enum`);
|
|
78
|
-
return idx;
|
|
79
|
-
}
|
|
80
|
-
find(callback) {
|
|
81
|
-
const val = this.values.find(callback);
|
|
82
|
-
if (val === void 0)
|
|
83
|
-
throw new Error(`Value not found in enum`);
|
|
84
|
-
return val;
|
|
85
|
-
}
|
|
86
|
-
findIndex(callback) {
|
|
87
|
-
const idx = this.values.findIndex(callback);
|
|
88
|
-
if (idx === -1)
|
|
89
|
-
throw new Error(`Value not found in enum`);
|
|
90
|
-
return idx;
|
|
91
|
-
}
|
|
92
|
-
filter(callback) {
|
|
93
|
-
return this.values.filter(callback);
|
|
94
|
-
}
|
|
95
|
-
map(callback) {
|
|
96
|
-
return this.values.map(callback);
|
|
97
|
-
}
|
|
98
|
-
forEach(callback) {
|
|
99
|
-
this.values.forEach(callback);
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
var enumOf = (values) => new Enum(values);
|
|
103
|
-
var DataList = class _DataList {
|
|
104
|
-
// [immerable] = true;
|
|
105
|
-
#idMap;
|
|
106
|
-
length;
|
|
107
|
-
values;
|
|
108
|
-
constructor(data = []) {
|
|
109
|
-
this.values = Array.isArray(data) ? [...data] : [...data.values];
|
|
110
|
-
this.#idMap = new Map(this.values.map((value, idx) => [value.id, idx]));
|
|
111
|
-
this.length = this.values.length;
|
|
112
|
-
}
|
|
113
|
-
indexOf(id) {
|
|
114
|
-
const idx = this.#idMap.get(id);
|
|
115
|
-
if (idx === void 0)
|
|
116
|
-
throw new Error(`Value ${id} is not in list`);
|
|
117
|
-
return idx;
|
|
118
|
-
}
|
|
119
|
-
set(value) {
|
|
120
|
-
const idx = this.#idMap.get(value.id);
|
|
121
|
-
if (idx !== void 0)
|
|
122
|
-
this.values = [...this.values.slice(0, idx), value, ...this.values.slice(idx + 1)];
|
|
123
|
-
else {
|
|
124
|
-
this.#idMap.set(value.id, this.length);
|
|
125
|
-
this.values = [...this.values, value];
|
|
126
|
-
this.length++;
|
|
127
|
-
}
|
|
128
|
-
return this;
|
|
129
|
-
}
|
|
130
|
-
delete(id) {
|
|
131
|
-
const idx = this.#idMap.get(id);
|
|
132
|
-
if (idx === void 0)
|
|
133
|
-
return this;
|
|
134
|
-
this.#idMap.delete(id);
|
|
135
|
-
this.values.splice(idx, 1);
|
|
136
|
-
this.values.slice(idx).forEach((value, i) => this.#idMap.set(value.id, i + idx));
|
|
137
|
-
this.length--;
|
|
138
|
-
return this;
|
|
139
|
-
}
|
|
140
|
-
get(id) {
|
|
141
|
-
const idx = this.#idMap.get(id);
|
|
142
|
-
if (idx === void 0)
|
|
143
|
-
return void 0;
|
|
144
|
-
return this.values[idx];
|
|
145
|
-
}
|
|
146
|
-
at(idx) {
|
|
147
|
-
return this.values.at(idx);
|
|
148
|
-
}
|
|
149
|
-
pickAt(idx) {
|
|
150
|
-
const value = this.values.at(idx);
|
|
151
|
-
if (value === void 0)
|
|
152
|
-
throw new Error(`Value at ${idx} is undefined`);
|
|
153
|
-
return value;
|
|
154
|
-
}
|
|
155
|
-
pick(id) {
|
|
156
|
-
return this.values[this.indexOf(id)];
|
|
157
|
-
}
|
|
158
|
-
has(id) {
|
|
159
|
-
return this.#idMap.has(id);
|
|
160
|
-
}
|
|
161
|
-
find(fn) {
|
|
162
|
-
const val = this.values.find(fn);
|
|
163
|
-
return val;
|
|
164
|
-
}
|
|
165
|
-
findIndex(fn) {
|
|
166
|
-
const val = this.values.findIndex(fn);
|
|
167
|
-
return val;
|
|
168
|
-
}
|
|
169
|
-
some(fn) {
|
|
170
|
-
return this.values.some(fn);
|
|
171
|
-
}
|
|
172
|
-
every(fn) {
|
|
173
|
-
return this.values.every(fn);
|
|
174
|
-
}
|
|
175
|
-
forEach(fn) {
|
|
176
|
-
this.values.forEach(fn);
|
|
177
|
-
}
|
|
178
|
-
map(fn) {
|
|
179
|
-
return this.values.map(fn);
|
|
180
|
-
}
|
|
181
|
-
flatMap(fn) {
|
|
182
|
-
return this.values.flatMap(fn);
|
|
183
|
-
}
|
|
184
|
-
sort(fn) {
|
|
185
|
-
return new _DataList(this.values.sort(fn));
|
|
186
|
-
}
|
|
187
|
-
filter(fn) {
|
|
188
|
-
return new _DataList(this.values.filter(fn));
|
|
189
|
-
}
|
|
190
|
-
reduce(fn, initialValue) {
|
|
191
|
-
return this.values.reduce(fn, initialValue);
|
|
192
|
-
}
|
|
193
|
-
slice(start, end = this.length) {
|
|
194
|
-
return new _DataList(this.values.slice(start, end));
|
|
195
|
-
}
|
|
196
|
-
save() {
|
|
197
|
-
return new _DataList(this);
|
|
198
|
-
}
|
|
199
|
-
[Symbol.iterator]() {
|
|
200
|
-
return this.values[Symbol.iterator]();
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
var version = "0.9.0";
|
|
204
|
-
var logo = `
|
|
205
|
-
_ _ _
|
|
206
|
-
/ \\ | | ____ _ _ __ (_)___
|
|
207
|
-
/ _ \\ | |/ / _' | '_ \\ | / __|
|
|
208
|
-
/ ___ \\| < (_| | | | |_ | \\__ \\
|
|
209
|
-
/_/ \\_\\_|\\_\\__,_|_| |_(_)/ |___/
|
|
210
|
-
|__/ ver ${version}
|
|
211
|
-
? See more details on docs https://www.akanjs.com/docs
|
|
212
|
-
\u2605 Star Akanjs on GitHub https://github.com/aka-bassman/akanjs
|
|
213
|
-
|
|
214
|
-
`;
|
|
215
|
-
|
|
216
|
-
// pkgs/@akanjs/base/src/baseEnv.ts
|
|
217
|
-
var appName = process.env.NEXT_PUBLIC_APP_NAME ?? "unknown";
|
|
218
|
-
var repoName = process.env.NEXT_PUBLIC_REPO_NAME ?? "unknown";
|
|
219
|
-
var serveDomain = process.env.NEXT_PUBLIC_SERVE_DOMAIN ?? "unknown";
|
|
220
|
-
if (appName === "unknown")
|
|
221
|
-
throw new Error("environment variable NEXT_PUBLIC_APP_NAME is required");
|
|
222
|
-
if (repoName === "unknown")
|
|
223
|
-
throw new Error("environment variable NEXT_PUBLIC_REPO_NAME is required");
|
|
224
|
-
if (serveDomain === "unknown")
|
|
225
|
-
throw new Error("environment variable NEXT_PUBLIC_SERVE_DOMAIN is required");
|
|
226
|
-
var environment = process.env.NEXT_PUBLIC_ENV ?? "debug";
|
|
227
|
-
var operationType = typeof window !== "undefined" ? "client" : process.env.NEXT_RUNTIME ? "client" : "server";
|
|
228
|
-
var operationMode = process.env.NEXT_PUBLIC_OPERATION_MODE ?? "cloud";
|
|
229
|
-
var networkType = process.env.NEXT_PUBLIC_NETWORK_TYPE ?? (environment === "main" ? "mainnet" : environment === "develop" ? "testnet" : "debugnet");
|
|
230
|
-
var tunnelUsername = process.env.SSU_TUNNEL_USERNAME ?? "root";
|
|
231
|
-
var tunnelPassword = process.env.SSU_TUNNEL_PASSWORD ?? repoName;
|
|
232
|
-
var baseEnv = {
|
|
233
|
-
repoName,
|
|
234
|
-
serveDomain,
|
|
235
|
-
appName,
|
|
236
|
-
environment,
|
|
237
|
-
operationType,
|
|
238
|
-
operationMode,
|
|
239
|
-
networkType,
|
|
240
|
-
tunnelUsername,
|
|
241
|
-
tunnelPassword
|
|
242
|
-
};
|
|
243
|
-
var side = typeof window === "undefined" ? "server" : "client";
|
|
244
|
-
var renderMode = process.env.RENDER_ENV ?? "ssr";
|
|
245
|
-
var clientHost = process.env.NEXT_PUBLIC_CLIENT_HOST ?? (operationMode === "local" || side === "server" ? "localhost" : window.location.hostname);
|
|
246
|
-
var clientPort = parseInt(
|
|
247
|
-
process.env.NEXT_PUBLIC_CLIENT_PORT ?? (operationMode === "local" ? renderMode === "ssr" ? "4200" : "4201" : "443")
|
|
248
|
-
);
|
|
249
|
-
var clientHttpProtocol = side === "client" ? window.location.protocol : clientHost === "localhost" ? "http:" : "https:";
|
|
250
|
-
var clientHttpUri = `${clientHttpProtocol}//${clientHost}${clientPort === 443 ? "" : `:${clientPort}`}`;
|
|
251
|
-
var serverHost = process.env.SERVER_HOST ?? (operationMode === "local" ? typeof window === "undefined" ? "localhost" : window.location.host.split(":")[0] : renderMode === "csr" ? `${appName}-${environment}.${serveDomain}` : side === "client" ? window.location.host.split(":")[0] : operationMode === "cloud" ? `backend-svc.${appName}-${environment}.svc.cluster.local` : "localhost");
|
|
252
|
-
var serverPort = parseInt(
|
|
253
|
-
process.env.SERVER_PORT ?? (operationMode === "local" || side === "server" ? "8080" : "443")
|
|
254
|
-
);
|
|
255
|
-
var serverHttpProtocol = side === "client" ? window.location.protocol : "http:";
|
|
256
|
-
var serverHttpUri = `${serverHttpProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}/backend`;
|
|
257
|
-
var serverGraphqlUri = `${serverHttpUri}/graphql`;
|
|
258
|
-
var serverWsProtocol = serverHttpProtocol === "http:" ? "ws:" : "wss:";
|
|
259
|
-
var serverWsUri = `${serverWsProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}`;
|
|
260
|
-
var baseClientEnv = {
|
|
261
|
-
...baseEnv,
|
|
262
|
-
side,
|
|
263
|
-
renderMode,
|
|
264
|
-
websocket: true,
|
|
265
|
-
clientHost,
|
|
266
|
-
clientPort,
|
|
267
|
-
clientHttpProtocol,
|
|
268
|
-
clientHttpUri,
|
|
269
|
-
serverHost,
|
|
270
|
-
serverPort,
|
|
271
|
-
serverHttpProtocol,
|
|
272
|
-
serverHttpUri,
|
|
273
|
-
serverGraphqlUri,
|
|
274
|
-
serverWsProtocol,
|
|
275
|
-
serverWsUri
|
|
276
|
-
};
|
|
277
|
-
|
|
278
|
-
// pkgs/@akanjs/base/src/scalar.ts
|
|
279
|
-
var import_dayjs = __toESM(require("dayjs"));
|
|
280
|
-
var dayjs = import_dayjs.default;
|
|
281
|
-
var BaseObject = class {
|
|
282
|
-
id;
|
|
283
|
-
createdAt;
|
|
284
|
-
updatedAt;
|
|
285
|
-
removedAt;
|
|
286
|
-
};
|
|
287
|
-
var Int = class {
|
|
288
|
-
__Scalar__;
|
|
289
|
-
};
|
|
290
|
-
var Upload = class {
|
|
291
|
-
__Scalar__;
|
|
292
|
-
filename;
|
|
293
|
-
mimetype;
|
|
294
|
-
encoding;
|
|
295
|
-
createReadStream;
|
|
296
|
-
};
|
|
297
|
-
var Float = class {
|
|
298
|
-
__Scalar__;
|
|
299
|
-
};
|
|
300
|
-
var ID = class {
|
|
301
|
-
__Scalar__;
|
|
302
|
-
};
|
|
303
|
-
var JSON = class {
|
|
304
|
-
__Scalar__;
|
|
305
|
-
};
|
|
306
|
-
var getNonArrayModel = (arraiedModel2) => {
|
|
307
|
-
let arrDepth = 0;
|
|
308
|
-
let target = arraiedModel2;
|
|
309
|
-
while (Array.isArray(target)) {
|
|
310
|
-
target = target[0];
|
|
311
|
-
arrDepth++;
|
|
312
|
-
}
|
|
313
|
-
return [target, arrDepth];
|
|
314
|
-
};
|
|
315
|
-
var arraiedModel = (modelRef, arrDepth = 0) => {
|
|
316
|
-
let target = modelRef;
|
|
317
|
-
for (let i = 0; i < arrDepth; i++)
|
|
318
|
-
target = [target];
|
|
319
|
-
return target;
|
|
320
|
-
};
|
|
321
|
-
var applyFnToArrayObjects = (arraiedData, fn) => {
|
|
322
|
-
if (Array.isArray(arraiedData))
|
|
323
|
-
return arraiedData.map((data) => applyFnToArrayObjects(data, fn));
|
|
324
|
-
return fn(arraiedData);
|
|
325
|
-
};
|
|
326
|
-
var gqlScalars = [String, Boolean, Date, ID, Int, Float, Upload, JSON, Map];
|
|
327
|
-
var gqlScalarNames = ["ID", "Int", "Float", "String", "Boolean", "Date", "Upload", "JSON", "Map"];
|
|
328
|
-
var scalarSet = /* @__PURE__ */ new Set([String, Boolean, Date, ID, Int, Float, Upload, JSON, Map]);
|
|
329
|
-
var scalarNameMap = /* @__PURE__ */ new Map([
|
|
330
|
-
[ID, "ID"],
|
|
331
|
-
[Int, "Int"],
|
|
332
|
-
[Float, "Float"],
|
|
333
|
-
[String, "String"],
|
|
334
|
-
[Boolean, "Boolean"],
|
|
335
|
-
[Date, "Date"],
|
|
336
|
-
[Upload, "Upload"],
|
|
337
|
-
[JSON, "JSON"],
|
|
338
|
-
[Map, "Map"]
|
|
339
|
-
]);
|
|
340
|
-
var scalarArgMap = /* @__PURE__ */ new Map([
|
|
341
|
-
[ID, null],
|
|
342
|
-
[String, ""],
|
|
343
|
-
[Boolean, false],
|
|
344
|
-
[Date, dayjs(/* @__PURE__ */ new Date(-1))],
|
|
345
|
-
[Int, 0],
|
|
346
|
-
[Float, 0],
|
|
347
|
-
[JSON, {}],
|
|
348
|
-
[Map, {}]
|
|
349
|
-
]);
|
|
350
|
-
var scalarDefaultMap = /* @__PURE__ */ new Map([
|
|
351
|
-
[ID, null],
|
|
352
|
-
[String, ""],
|
|
353
|
-
[Boolean, false],
|
|
354
|
-
[Date, dayjs(/* @__PURE__ */ new Date(-1))],
|
|
355
|
-
[Int, 0],
|
|
356
|
-
[Float, 0],
|
|
357
|
-
[JSON, {}]
|
|
358
|
-
]);
|
|
359
|
-
var isGqlClass = (modelRef) => !scalarSet.has(modelRef);
|
|
360
|
-
var isGqlScalar = (modelRef) => scalarSet.has(modelRef);
|
|
361
|
-
var isGqlMap = (modelRef) => modelRef === Map;
|
|
362
|
-
//! Nextjs는 환경변수를 build time에 그냥 하드코딩으로 값을 넣어버림. operationMode같은것들 잘 동작안할 수 있음. 추후 수정 필요.
|
|
17
|
+
__reExport(base_exports, require("./src"), module.exports);
|
package/package.json
CHANGED
package/src/base.js
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var base_exports = {};
|
|
19
|
+
__export(base_exports, {
|
|
20
|
+
DataList: () => DataList,
|
|
21
|
+
Enum: () => Enum,
|
|
22
|
+
enumOf: () => enumOf,
|
|
23
|
+
logo: () => logo,
|
|
24
|
+
version: () => version
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(base_exports);
|
|
27
|
+
class Enum {
|
|
28
|
+
constructor(values) {
|
|
29
|
+
this.values = values;
|
|
30
|
+
this.valueMap = new Map(values.map((value, idx) => [value, idx]));
|
|
31
|
+
}
|
|
32
|
+
value;
|
|
33
|
+
// for type
|
|
34
|
+
valueMap;
|
|
35
|
+
has(value) {
|
|
36
|
+
return this.valueMap.has(value);
|
|
37
|
+
}
|
|
38
|
+
indexOf(value) {
|
|
39
|
+
const idx = this.valueMap.get(value);
|
|
40
|
+
if (idx === void 0)
|
|
41
|
+
throw new Error(`Value ${value} is not in enum`);
|
|
42
|
+
return idx;
|
|
43
|
+
}
|
|
44
|
+
find(callback) {
|
|
45
|
+
const val = this.values.find(callback);
|
|
46
|
+
if (val === void 0)
|
|
47
|
+
throw new Error(`Value not found in enum`);
|
|
48
|
+
return val;
|
|
49
|
+
}
|
|
50
|
+
findIndex(callback) {
|
|
51
|
+
const idx = this.values.findIndex(callback);
|
|
52
|
+
if (idx === -1)
|
|
53
|
+
throw new Error(`Value not found in enum`);
|
|
54
|
+
return idx;
|
|
55
|
+
}
|
|
56
|
+
filter(callback) {
|
|
57
|
+
return this.values.filter(callback);
|
|
58
|
+
}
|
|
59
|
+
map(callback) {
|
|
60
|
+
return this.values.map(callback);
|
|
61
|
+
}
|
|
62
|
+
forEach(callback) {
|
|
63
|
+
this.values.forEach(callback);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const enumOf = (values) => new Enum(values);
|
|
67
|
+
class DataList {
|
|
68
|
+
// [immerable] = true;
|
|
69
|
+
#idMap;
|
|
70
|
+
length;
|
|
71
|
+
values;
|
|
72
|
+
constructor(data = []) {
|
|
73
|
+
this.values = Array.isArray(data) ? [...data] : [...data.values];
|
|
74
|
+
this.#idMap = new Map(this.values.map((value, idx) => [value.id, idx]));
|
|
75
|
+
this.length = this.values.length;
|
|
76
|
+
}
|
|
77
|
+
indexOf(id) {
|
|
78
|
+
const idx = this.#idMap.get(id);
|
|
79
|
+
if (idx === void 0)
|
|
80
|
+
throw new Error(`Value ${id} is not in list`);
|
|
81
|
+
return idx;
|
|
82
|
+
}
|
|
83
|
+
set(value) {
|
|
84
|
+
const idx = this.#idMap.get(value.id);
|
|
85
|
+
if (idx !== void 0)
|
|
86
|
+
this.values = [...this.values.slice(0, idx), value, ...this.values.slice(idx + 1)];
|
|
87
|
+
else {
|
|
88
|
+
this.#idMap.set(value.id, this.length);
|
|
89
|
+
this.values = [...this.values, value];
|
|
90
|
+
this.length++;
|
|
91
|
+
}
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
delete(id) {
|
|
95
|
+
const idx = this.#idMap.get(id);
|
|
96
|
+
if (idx === void 0)
|
|
97
|
+
return this;
|
|
98
|
+
this.#idMap.delete(id);
|
|
99
|
+
this.values.splice(idx, 1);
|
|
100
|
+
this.values.slice(idx).forEach((value, i) => this.#idMap.set(value.id, i + idx));
|
|
101
|
+
this.length--;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
get(id) {
|
|
105
|
+
const idx = this.#idMap.get(id);
|
|
106
|
+
if (idx === void 0)
|
|
107
|
+
return void 0;
|
|
108
|
+
return this.values[idx];
|
|
109
|
+
}
|
|
110
|
+
at(idx) {
|
|
111
|
+
return this.values.at(idx);
|
|
112
|
+
}
|
|
113
|
+
pickAt(idx) {
|
|
114
|
+
const value = this.values.at(idx);
|
|
115
|
+
if (value === void 0)
|
|
116
|
+
throw new Error(`Value at ${idx} is undefined`);
|
|
117
|
+
return value;
|
|
118
|
+
}
|
|
119
|
+
pick(id) {
|
|
120
|
+
return this.values[this.indexOf(id)];
|
|
121
|
+
}
|
|
122
|
+
has(id) {
|
|
123
|
+
return this.#idMap.has(id);
|
|
124
|
+
}
|
|
125
|
+
find(fn) {
|
|
126
|
+
const val = this.values.find(fn);
|
|
127
|
+
return val;
|
|
128
|
+
}
|
|
129
|
+
findIndex(fn) {
|
|
130
|
+
const val = this.values.findIndex(fn);
|
|
131
|
+
return val;
|
|
132
|
+
}
|
|
133
|
+
some(fn) {
|
|
134
|
+
return this.values.some(fn);
|
|
135
|
+
}
|
|
136
|
+
every(fn) {
|
|
137
|
+
return this.values.every(fn);
|
|
138
|
+
}
|
|
139
|
+
forEach(fn) {
|
|
140
|
+
this.values.forEach(fn);
|
|
141
|
+
}
|
|
142
|
+
map(fn) {
|
|
143
|
+
return this.values.map(fn);
|
|
144
|
+
}
|
|
145
|
+
flatMap(fn) {
|
|
146
|
+
return this.values.flatMap(fn);
|
|
147
|
+
}
|
|
148
|
+
sort(fn) {
|
|
149
|
+
return new DataList(this.values.sort(fn));
|
|
150
|
+
}
|
|
151
|
+
filter(fn) {
|
|
152
|
+
return new DataList(this.values.filter(fn));
|
|
153
|
+
}
|
|
154
|
+
reduce(fn, initialValue) {
|
|
155
|
+
return this.values.reduce(fn, initialValue);
|
|
156
|
+
}
|
|
157
|
+
slice(start, end = this.length) {
|
|
158
|
+
return new DataList(this.values.slice(start, end));
|
|
159
|
+
}
|
|
160
|
+
save() {
|
|
161
|
+
return new DataList(this);
|
|
162
|
+
}
|
|
163
|
+
[Symbol.iterator]() {
|
|
164
|
+
return this.values[Symbol.iterator]();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const version = "0.9.0";
|
|
168
|
+
const logo = `
|
|
169
|
+
_ _ _
|
|
170
|
+
/ \\ | | ____ _ _ __ (_)___
|
|
171
|
+
/ _ \\ | |/ / _' | '_ \\ | / __|
|
|
172
|
+
/ ___ \\| < (_| | | | |_ | \\__ \\
|
|
173
|
+
/_/ \\_\\_|\\_\\__,_|_| |_(_)/ |___/
|
|
174
|
+
|__/ ver ${version}
|
|
175
|
+
? See more details on docs https://www.akanjs.com/docs
|
|
176
|
+
\u2605 Star Akanjs on GitHub https://github.com/aka-bassman/akanjs
|
|
177
|
+
|
|
178
|
+
`;
|
package/src/baseEnv.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var baseEnv_exports = {};
|
|
19
|
+
__export(baseEnv_exports, {
|
|
20
|
+
baseClientEnv: () => baseClientEnv,
|
|
21
|
+
baseEnv: () => baseEnv
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(baseEnv_exports);
|
|
24
|
+
//! Nextjs는 환경변수를 build time에 그냥 하드코딩으로 값을 넣어버림. operationMode같은것들 잘 동작안할 수 있음. 추후 수정 필요.
|
|
25
|
+
const appName = process.env.NEXT_PUBLIC_APP_NAME ?? "unknown";
|
|
26
|
+
const repoName = process.env.NEXT_PUBLIC_REPO_NAME ?? "unknown";
|
|
27
|
+
const serveDomain = process.env.NEXT_PUBLIC_SERVE_DOMAIN ?? "unknown";
|
|
28
|
+
if (appName === "unknown")
|
|
29
|
+
throw new Error("environment variable NEXT_PUBLIC_APP_NAME is required");
|
|
30
|
+
if (repoName === "unknown")
|
|
31
|
+
throw new Error("environment variable NEXT_PUBLIC_REPO_NAME is required");
|
|
32
|
+
if (serveDomain === "unknown")
|
|
33
|
+
throw new Error("environment variable NEXT_PUBLIC_SERVE_DOMAIN is required");
|
|
34
|
+
const environment = process.env.NEXT_PUBLIC_ENV ?? "debug";
|
|
35
|
+
const operationType = typeof window !== "undefined" ? "client" : process.env.NEXT_RUNTIME ? "client" : "server";
|
|
36
|
+
const operationMode = process.env.NEXT_PUBLIC_OPERATION_MODE ?? "cloud";
|
|
37
|
+
const networkType = process.env.NEXT_PUBLIC_NETWORK_TYPE ?? (environment === "main" ? "mainnet" : environment === "develop" ? "testnet" : "debugnet");
|
|
38
|
+
const tunnelUsername = process.env.SSU_TUNNEL_USERNAME ?? "root";
|
|
39
|
+
const tunnelPassword = process.env.SSU_TUNNEL_PASSWORD ?? repoName;
|
|
40
|
+
const baseEnv = {
|
|
41
|
+
repoName,
|
|
42
|
+
serveDomain,
|
|
43
|
+
appName,
|
|
44
|
+
environment,
|
|
45
|
+
operationType,
|
|
46
|
+
operationMode,
|
|
47
|
+
networkType,
|
|
48
|
+
tunnelUsername,
|
|
49
|
+
tunnelPassword
|
|
50
|
+
};
|
|
51
|
+
const side = typeof window === "undefined" ? "server" : "client";
|
|
52
|
+
const renderMode = process.env.RENDER_ENV ?? "ssr";
|
|
53
|
+
const clientHost = process.env.NEXT_PUBLIC_CLIENT_HOST ?? (operationMode === "local" || side === "server" ? "localhost" : window.location.hostname);
|
|
54
|
+
const clientPort = parseInt(
|
|
55
|
+
process.env.NEXT_PUBLIC_CLIENT_PORT ?? (operationMode === "local" ? renderMode === "ssr" ? "4200" : "4201" : "443")
|
|
56
|
+
);
|
|
57
|
+
const clientHttpProtocol = side === "client" ? window.location.protocol : clientHost === "localhost" ? "http:" : "https:";
|
|
58
|
+
const clientHttpUri = `${clientHttpProtocol}//${clientHost}${clientPort === 443 ? "" : `:${clientPort}`}`;
|
|
59
|
+
const serverHost = process.env.SERVER_HOST ?? (operationMode === "local" ? typeof window === "undefined" ? "localhost" : window.location.host.split(":")[0] : renderMode === "csr" ? `${appName}-${environment}.${serveDomain}` : side === "client" ? window.location.host.split(":")[0] : operationMode === "cloud" ? `backend-svc.${appName}-${environment}.svc.cluster.local` : "localhost");
|
|
60
|
+
const serverPort = parseInt(
|
|
61
|
+
process.env.SERVER_PORT ?? (operationMode === "local" || side === "server" ? "8080" : "443")
|
|
62
|
+
);
|
|
63
|
+
const serverHttpProtocol = side === "client" ? window.location.protocol : "http:";
|
|
64
|
+
const serverHttpUri = `${serverHttpProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}/backend`;
|
|
65
|
+
const serverGraphqlUri = `${serverHttpUri}/graphql`;
|
|
66
|
+
const serverWsProtocol = serverHttpProtocol === "http:" ? "ws:" : "wss:";
|
|
67
|
+
const serverWsUri = `${serverWsProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}`;
|
|
68
|
+
const baseClientEnv = {
|
|
69
|
+
...baseEnv,
|
|
70
|
+
side,
|
|
71
|
+
renderMode,
|
|
72
|
+
websocket: true,
|
|
73
|
+
clientHost,
|
|
74
|
+
clientPort,
|
|
75
|
+
clientHttpProtocol,
|
|
76
|
+
clientHttpUri,
|
|
77
|
+
serverHost,
|
|
78
|
+
serverPort,
|
|
79
|
+
serverHttpProtocol,
|
|
80
|
+
serverHttpUri,
|
|
81
|
+
serverGraphqlUri,
|
|
82
|
+
serverWsProtocol,
|
|
83
|
+
serverWsUri
|
|
84
|
+
};
|
package/src/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var src_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(src_exports);
|
|
17
|
+
__reExport(src_exports, require("./base"), module.exports);
|
|
18
|
+
__reExport(src_exports, require("./baseEnv"), module.exports);
|
|
19
|
+
__reExport(src_exports, require("./scalar"), module.exports);
|
|
20
|
+
__reExport(src_exports, require("./types"), module.exports);
|
package/src/scalar.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var scalar_exports = {};
|
|
29
|
+
__export(scalar_exports, {
|
|
30
|
+
BaseObject: () => BaseObject,
|
|
31
|
+
Dayjs: () => import_dayjs.Dayjs,
|
|
32
|
+
Float: () => Float,
|
|
33
|
+
ID: () => ID,
|
|
34
|
+
Int: () => Int,
|
|
35
|
+
JSON: () => JSON,
|
|
36
|
+
Upload: () => Upload,
|
|
37
|
+
applyFnToArrayObjects: () => applyFnToArrayObjects,
|
|
38
|
+
arraiedModel: () => arraiedModel,
|
|
39
|
+
dayjs: () => dayjs,
|
|
40
|
+
getNonArrayModel: () => getNonArrayModel,
|
|
41
|
+
gqlScalarNames: () => gqlScalarNames,
|
|
42
|
+
gqlScalars: () => gqlScalars,
|
|
43
|
+
isGqlClass: () => isGqlClass,
|
|
44
|
+
isGqlMap: () => isGqlMap,
|
|
45
|
+
isGqlScalar: () => isGqlScalar,
|
|
46
|
+
scalarArgMap: () => scalarArgMap,
|
|
47
|
+
scalarDefaultMap: () => scalarDefaultMap,
|
|
48
|
+
scalarNameMap: () => scalarNameMap,
|
|
49
|
+
scalarSet: () => scalarSet
|
|
50
|
+
});
|
|
51
|
+
module.exports = __toCommonJS(scalar_exports);
|
|
52
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
53
|
+
const dayjs = import_dayjs.default;
|
|
54
|
+
class BaseObject {
|
|
55
|
+
id;
|
|
56
|
+
createdAt;
|
|
57
|
+
updatedAt;
|
|
58
|
+
removedAt;
|
|
59
|
+
}
|
|
60
|
+
class Int {
|
|
61
|
+
__Scalar__;
|
|
62
|
+
}
|
|
63
|
+
class Upload {
|
|
64
|
+
__Scalar__;
|
|
65
|
+
filename;
|
|
66
|
+
mimetype;
|
|
67
|
+
encoding;
|
|
68
|
+
createReadStream;
|
|
69
|
+
}
|
|
70
|
+
class Float {
|
|
71
|
+
__Scalar__;
|
|
72
|
+
}
|
|
73
|
+
class ID {
|
|
74
|
+
__Scalar__;
|
|
75
|
+
}
|
|
76
|
+
class JSON {
|
|
77
|
+
__Scalar__;
|
|
78
|
+
}
|
|
79
|
+
const getNonArrayModel = (arraiedModel2) => {
|
|
80
|
+
let arrDepth = 0;
|
|
81
|
+
let target = arraiedModel2;
|
|
82
|
+
while (Array.isArray(target)) {
|
|
83
|
+
target = target[0];
|
|
84
|
+
arrDepth++;
|
|
85
|
+
}
|
|
86
|
+
return [target, arrDepth];
|
|
87
|
+
};
|
|
88
|
+
const arraiedModel = (modelRef, arrDepth = 0) => {
|
|
89
|
+
let target = modelRef;
|
|
90
|
+
for (let i = 0; i < arrDepth; i++)
|
|
91
|
+
target = [target];
|
|
92
|
+
return target;
|
|
93
|
+
};
|
|
94
|
+
const applyFnToArrayObjects = (arraiedData, fn) => {
|
|
95
|
+
if (Array.isArray(arraiedData))
|
|
96
|
+
return arraiedData.map((data) => applyFnToArrayObjects(data, fn));
|
|
97
|
+
return fn(arraiedData);
|
|
98
|
+
};
|
|
99
|
+
const gqlScalars = [String, Boolean, Date, ID, Int, Float, Upload, JSON, Map];
|
|
100
|
+
const gqlScalarNames = ["ID", "Int", "Float", "String", "Boolean", "Date", "Upload", "JSON", "Map"];
|
|
101
|
+
const scalarSet = /* @__PURE__ */ new Set([String, Boolean, Date, ID, Int, Float, Upload, JSON, Map]);
|
|
102
|
+
const scalarNameMap = /* @__PURE__ */ new Map([
|
|
103
|
+
[ID, "ID"],
|
|
104
|
+
[Int, "Int"],
|
|
105
|
+
[Float, "Float"],
|
|
106
|
+
[String, "String"],
|
|
107
|
+
[Boolean, "Boolean"],
|
|
108
|
+
[Date, "Date"],
|
|
109
|
+
[Upload, "Upload"],
|
|
110
|
+
[JSON, "JSON"],
|
|
111
|
+
[Map, "Map"]
|
|
112
|
+
]);
|
|
113
|
+
const scalarArgMap = /* @__PURE__ */ new Map([
|
|
114
|
+
[ID, null],
|
|
115
|
+
[String, ""],
|
|
116
|
+
[Boolean, false],
|
|
117
|
+
[Date, dayjs(/* @__PURE__ */ new Date(-1))],
|
|
118
|
+
[Int, 0],
|
|
119
|
+
[Float, 0],
|
|
120
|
+
[JSON, {}],
|
|
121
|
+
[Map, {}]
|
|
122
|
+
]);
|
|
123
|
+
const scalarDefaultMap = /* @__PURE__ */ new Map([
|
|
124
|
+
[ID, null],
|
|
125
|
+
[String, ""],
|
|
126
|
+
[Boolean, false],
|
|
127
|
+
[Date, dayjs(/* @__PURE__ */ new Date(-1))],
|
|
128
|
+
[Int, 0],
|
|
129
|
+
[Float, 0],
|
|
130
|
+
[JSON, {}]
|
|
131
|
+
]);
|
|
132
|
+
const isGqlClass = (modelRef) => !scalarSet.has(modelRef);
|
|
133
|
+
const isGqlScalar = (modelRef) => scalarSet.has(modelRef);
|
|
134
|
+
const isGqlMap = (modelRef) => modelRef === Map;
|
package/src/types.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var types_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(types_exports);
|