lemon-core 3.1.1 → 3.1.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/README.md +2 -1
- package/dist/controllers/dummy-controller.d.ts +1 -1
- package/dist/controllers/general-api-controller.d.ts +1 -1
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/controllers/general-controller.d.ts +1 -1
- package/dist/cores/core-services.d.ts +1 -2
- package/dist/cores/core-services.js +0 -25
- package/dist/cores/core-services.js.map +1 -1
- package/dist/cores/dynamo/dynamo-query-service.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-service.d.ts +1 -1
- package/dist/cores/elastic/elastic6-query-service.d.ts +1 -1
- package/dist/cores/elastic/elastic6-service.d.ts +1 -1
- package/dist/cores/index.d.ts +1 -1
- package/dist/cores/index.js +1 -1
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +2 -1
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-notification-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +2 -2
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +1 -1
- package/dist/cores/storage/model-manager.d.ts +2 -1
- package/dist/cores/storage/model-manager.js.map +1 -1
- package/dist/cores/storage/proxy-storage-service.d.ts +2 -71
- package/dist/cores/storage/proxy-storage-service.js +4 -7
- package/dist/cores/storage/proxy-storage-service.js.map +1 -1
- package/dist/cores/storage/storage-service.d.ts +5 -17
- package/dist/cores/storage/storage-service.js +3 -0
- package/dist/cores/storage/storage-service.js.map +1 -1
- package/dist/engine/engine.d.ts +1 -1
- package/dist/engine/engine.js.map +1 -1
- package/dist/extended/abstract-service.d.ts +8 -1
- package/dist/extended/abstract-service.js +13 -4
- package/dist/extended/abstract-service.js.map +1 -1
- package/package.json +3 -2
- package/dist/cores/api-service.d.ts +0 -239
- package/dist/cores/api-service.js +0 -674
- package/dist/cores/api-service.js.map +0 -1
- package/dist/cores/cache-service.d.ts +0 -424
- package/dist/cores/cache-service.js +0 -948
- package/dist/cores/cache-service.js.map +0 -1
- package/dist/cores/core-types.d.ts +0 -398
- package/dist/cores/core-types.js +0 -15
- package/dist/cores/core-types.js.map +0 -1
- package/dist/cores/dynamo-query-service.d.ts +0 -52
- package/dist/cores/dynamo-query-service.js +0 -127
- package/dist/cores/dynamo-query-service.js.map +0 -1
- package/dist/cores/dynamo-scan-service.d.ts +0 -70
- package/dist/cores/dynamo-scan-service.js +0 -164
- package/dist/cores/dynamo-scan-service.js.map +0 -1
- package/dist/cores/dynamo-service.d.ts +0 -192
- package/dist/cores/dynamo-service.js +0 -525
- package/dist/cores/dynamo-service.js.map +0 -1
- package/dist/cores/elastic6-query-service.d.ts +0 -104
- package/dist/cores/elastic6-query-service.js +0 -510
- package/dist/cores/elastic6-query-service.js.map +0 -1
- package/dist/cores/elastic6-service.d.ts +0 -273
- package/dist/cores/elastic6-service.js +0 -903
- package/dist/cores/elastic6-service.js.map +0 -1
- package/dist/cores/hangul-service.d.ts +0 -102
- package/dist/cores/hangul-service.js +0 -205
- package/dist/cores/hangul-service.js.map +0 -1
- package/dist/cores/http-storage-service.d.ts +0 -22
- package/dist/cores/http-storage-service.js +0 -129
- package/dist/cores/http-storage-service.js.map +0 -1
- package/dist/cores/model-manager.d.ts +0 -93
- package/dist/cores/model-manager.js +0 -192
- package/dist/cores/model-manager.js.map +0 -1
- package/dist/cores/proxy-storage-service.d.ts +0 -573
- package/dist/cores/proxy-storage-service.js +0 -913
- package/dist/cores/proxy-storage-service.js.map +0 -1
- package/dist/cores/redis-storage-service.d.ts +0 -183
- package/dist/cores/redis-storage-service.js +0 -391
- package/dist/cores/redis-storage-service.js.map +0 -1
- package/dist/cores/storage-service.d.ts +0 -170
- package/dist/cores/storage-service.js +0 -389
- package/dist/cores/storage-service.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elastic6-service.js","sourceRoot":"","sources":["../../src/cores/elastic6-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `hangul-service.ts`
|
|
3
|
-
* - common service for handling hangul
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @author Tim Hong <tim@lemoncloud.io>
|
|
7
|
-
* @date 2020-07-27 initial version
|
|
8
|
-
*
|
|
9
|
-
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* class `HangulService`
|
|
13
|
-
* - transform hangul to qwerty type.
|
|
14
|
-
*/
|
|
15
|
-
export declare class HangulService {
|
|
16
|
-
/** 1.Initial consonants (초성) */
|
|
17
|
-
static readonly CHOSEONG: string[];
|
|
18
|
-
/** 2. Medial vowels (중성) */
|
|
19
|
-
static readonly JUNGSEONG: string[];
|
|
20
|
-
/** 3. Final consonants (종성) */
|
|
21
|
-
static readonly JONGSEONG: string[];
|
|
22
|
-
/** Hangul Composite Jamo(겹자모) -> Hangul Basic Jamo(기본 자모) */
|
|
23
|
-
protected static readonly JamoDecomposeMap: Map<string, string>;
|
|
24
|
-
/** Hangul Jamo -> Alphabet (in QWERTY 2벌식) */
|
|
25
|
-
protected static readonly QwertyMap: Map<string, string>;
|
|
26
|
-
/**
|
|
27
|
-
* say hello
|
|
28
|
-
*/
|
|
29
|
-
hello: () => string;
|
|
30
|
-
/**
|
|
31
|
-
* Identify whether given text is Hangul or not
|
|
32
|
-
*
|
|
33
|
-
* @param text input text
|
|
34
|
-
* @param partial (optional) if set true, result is true if there is at least one Korean letter in the text (default: false)
|
|
35
|
-
*/
|
|
36
|
-
isHangul(text: string, partial?: boolean): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Decompose text into Hangul (Compatibility) Jamo sequence
|
|
39
|
-
* - 초성, 중성, 종성으로 분해
|
|
40
|
-
* e.g. '한글' -> 'ㅎㅏㄴㄱㅡㄹ', '맴찟' -> 'ㅁㅐㅁㅉㅣㅅ'
|
|
41
|
-
*
|
|
42
|
-
* [Note]
|
|
43
|
-
* 유니코드 한글 자모는 초/중/종성에 서로 다른 코드 영역이 할당되어 있다.
|
|
44
|
-
* 따라서 동일한 자모라도 초성에 위치할 때와 종성에 위치할 때 코드값이 다르다.
|
|
45
|
-
* (예. 초성 'ㄱ': U+1100, 종성 'ㄱ': U+11A8)
|
|
46
|
-
* 이를 Compatibility Jamo로서 같은 코드값을 사용하도록 변형한다.
|
|
47
|
-
* [Reference]
|
|
48
|
-
* - https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
|
|
49
|
-
* - https://en.wikipedia.org/wiki/Hangul_Compatibility_Jamo
|
|
50
|
-
*
|
|
51
|
-
* @param text input text
|
|
52
|
-
*/
|
|
53
|
-
asJamoSequence(text: string): string;
|
|
54
|
-
/**
|
|
55
|
-
* Decompose the text to Hangul Basic Jamo sequence (for Search-As-You-Type)
|
|
56
|
-
* - 다양한 종류의 입력 방식(e.g. 세벌식) 지원을 위해 최소 단위인 기본 자모(24자)로 분해함
|
|
57
|
-
* e.g. '한글' -> 'ㅎㅏㄴㄱㅡㄹ', '맴찟' -> 'ㅁㅏㅣㅁㅈㅈㅣㅅ'
|
|
58
|
-
*
|
|
59
|
-
* @param text input text
|
|
60
|
-
*/
|
|
61
|
-
asBasicJamoSequence(text: string): string;
|
|
62
|
-
/**
|
|
63
|
-
* Transform to Alphabet key stroke sequence (for QWERTY/Korean 2-bul)
|
|
64
|
-
* e.g. '한글' -> 'gksrmf'
|
|
65
|
-
*
|
|
66
|
-
* @param text input text
|
|
67
|
-
*/
|
|
68
|
-
asAlphabetKeyStokes(text: string): string;
|
|
69
|
-
/**
|
|
70
|
-
* 초성만을 추출 (Korean only)
|
|
71
|
-
* e.g. 한글 -> ㅎㄱ
|
|
72
|
-
*
|
|
73
|
-
* @param text input text
|
|
74
|
-
*/
|
|
75
|
-
asChoseongSequence(text: string): string;
|
|
76
|
-
/**
|
|
77
|
-
* Check the code is Hangul Unicode character
|
|
78
|
-
*
|
|
79
|
-
* @param code character code
|
|
80
|
-
*/
|
|
81
|
-
static isHangulChar(code: number): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Check the code is Hangul syllable
|
|
84
|
-
*
|
|
85
|
-
* @param code character code
|
|
86
|
-
*/
|
|
87
|
-
static isHangulSyllable(code: number): boolean;
|
|
88
|
-
/**
|
|
89
|
-
* Check the code is Hangul Jamo
|
|
90
|
-
*
|
|
91
|
-
* @param code character code
|
|
92
|
-
*/
|
|
93
|
-
static isHangulJamo(code: number): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Check the code is Hangul Compatibility Jamo
|
|
96
|
-
*
|
|
97
|
-
* @param code character code
|
|
98
|
-
*/
|
|
99
|
-
static isHangulCompatibilityJamo(code: number): boolean;
|
|
100
|
-
}
|
|
101
|
-
declare const _default: HangulService;
|
|
102
|
-
export default _default;
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HangulService = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* `hangul-service.ts`
|
|
6
|
-
* - common service for handling hangul
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @author Tim Hong <tim@lemoncloud.io>
|
|
10
|
-
* @date 2020-07-27 initial version
|
|
11
|
-
*
|
|
12
|
-
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* class `HangulService`
|
|
16
|
-
* - transform hangul to qwerty type.
|
|
17
|
-
*/
|
|
18
|
-
class HangulService {
|
|
19
|
-
constructor() {
|
|
20
|
-
/* eslint-enable prettier/prettier */
|
|
21
|
-
/**
|
|
22
|
-
* say hello
|
|
23
|
-
*/
|
|
24
|
-
this.hello = () => `hangul-service`;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Identify whether given text is Hangul or not
|
|
28
|
-
*
|
|
29
|
-
* @param text input text
|
|
30
|
-
* @param partial (optional) if set true, result is true if there is at least one Korean letter in the text (default: false)
|
|
31
|
-
*/
|
|
32
|
-
isHangul(text, partial = false) {
|
|
33
|
-
if (!text)
|
|
34
|
-
return partial; // in empty string, return true if partial is false otherwise true
|
|
35
|
-
const isHangulChar = (ch) => HangulService.isHangulChar(ch.charCodeAt(0));
|
|
36
|
-
const charArray = [...`${text || ''}`];
|
|
37
|
-
return partial ? charArray.some(isHangulChar) : charArray.every(isHangulChar);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Decompose text into Hangul (Compatibility) Jamo sequence
|
|
41
|
-
* - 초성, 중성, 종성으로 분해
|
|
42
|
-
* e.g. '한글' -> 'ㅎㅏㄴㄱㅡㄹ', '맴찟' -> 'ㅁㅐㅁㅉㅣㅅ'
|
|
43
|
-
*
|
|
44
|
-
* [Note]
|
|
45
|
-
* 유니코드 한글 자모는 초/중/종성에 서로 다른 코드 영역이 할당되어 있다.
|
|
46
|
-
* 따라서 동일한 자모라도 초성에 위치할 때와 종성에 위치할 때 코드값이 다르다.
|
|
47
|
-
* (예. 초성 'ㄱ': U+1100, 종성 'ㄱ': U+11A8)
|
|
48
|
-
* 이를 Compatibility Jamo로서 같은 코드값을 사용하도록 변형한다.
|
|
49
|
-
* [Reference]
|
|
50
|
-
* - https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
|
|
51
|
-
* - https://en.wikipedia.org/wiki/Hangul_Compatibility_Jamo
|
|
52
|
-
*
|
|
53
|
-
* @param text input text
|
|
54
|
-
*/
|
|
55
|
-
asJamoSequence(text) {
|
|
56
|
-
return Array.from(text).reduce((str, ch) => {
|
|
57
|
-
if (HangulService.isHangulSyllable(ch.charCodeAt(0))) {
|
|
58
|
-
const decomposed = ch.normalize('NFD');
|
|
59
|
-
let code;
|
|
60
|
-
// Initial consonant (Choseong)
|
|
61
|
-
code = decomposed.charCodeAt(0);
|
|
62
|
-
str += HangulService.CHOSEONG[code - 0x1100];
|
|
63
|
-
// Medial vowel (Jungseong)
|
|
64
|
-
code = decomposed.charCodeAt(1);
|
|
65
|
-
str += HangulService.JUNGSEONG[code - 0x1161];
|
|
66
|
-
// Final consonant (Jongseong) - optional
|
|
67
|
-
code = decomposed.charCodeAt(2);
|
|
68
|
-
if (code)
|
|
69
|
-
str += HangulService.JONGSEONG[code - 0x11a8];
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
str += ch;
|
|
73
|
-
}
|
|
74
|
-
return str;
|
|
75
|
-
}, '');
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Decompose the text to Hangul Basic Jamo sequence (for Search-As-You-Type)
|
|
79
|
-
* - 다양한 종류의 입력 방식(e.g. 세벌식) 지원을 위해 최소 단위인 기본 자모(24자)로 분해함
|
|
80
|
-
* e.g. '한글' -> 'ㅎㅏㄴㄱㅡㄹ', '맴찟' -> 'ㅁㅏㅣㅁㅈㅈㅣㅅ'
|
|
81
|
-
*
|
|
82
|
-
* @param text input text
|
|
83
|
-
*/
|
|
84
|
-
asBasicJamoSequence(text) {
|
|
85
|
-
return Array.from(this.asJamoSequence(text)).reduce((str, ch) => {
|
|
86
|
-
str += HangulService.JamoDecomposeMap.get(ch) || ch;
|
|
87
|
-
return str;
|
|
88
|
-
}, '');
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Transform to Alphabet key stroke sequence (for QWERTY/Korean 2-bul)
|
|
92
|
-
* e.g. '한글' -> 'gksrmf'
|
|
93
|
-
*
|
|
94
|
-
* @param text input text
|
|
95
|
-
*/
|
|
96
|
-
asAlphabetKeyStokes(text) {
|
|
97
|
-
return Array.from(this.asJamoSequence(text)).reduce((str, ch) => {
|
|
98
|
-
str += HangulService.QwertyMap.get(ch) || ch;
|
|
99
|
-
return str;
|
|
100
|
-
}, '');
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* 초성만을 추출 (Korean only)
|
|
104
|
-
* e.g. 한글 -> ㅎㄱ
|
|
105
|
-
*
|
|
106
|
-
* @param text input text
|
|
107
|
-
*/
|
|
108
|
-
asChoseongSequence(text) {
|
|
109
|
-
let str = '';
|
|
110
|
-
for (const ch of text) {
|
|
111
|
-
const consonant = this.asJamoSequence(ch)[0];
|
|
112
|
-
if (HangulService.CHOSEONG.includes(consonant))
|
|
113
|
-
str += consonant;
|
|
114
|
-
else
|
|
115
|
-
break; // terminate loop if no Choseong found
|
|
116
|
-
}
|
|
117
|
-
return str;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Check the code is Hangul Unicode character
|
|
121
|
-
*
|
|
122
|
-
* @param code character code
|
|
123
|
-
*/
|
|
124
|
-
static isHangulChar(code) {
|
|
125
|
-
// Do not allow Jamo Extended-A (A960-A97F) and Jamo Extended-B (D7B0-D7FF).
|
|
126
|
-
return (HangulService.isHangulSyllable(code) ||
|
|
127
|
-
HangulService.isHangulJamo(code) ||
|
|
128
|
-
HangulService.isHangulCompatibilityJamo(code));
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Check the code is Hangul syllable
|
|
132
|
-
*
|
|
133
|
-
* @param code character code
|
|
134
|
-
*/
|
|
135
|
-
static isHangulSyllable(code) {
|
|
136
|
-
return code >= 0xac00 && code <= 0xd7a3;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Check the code is Hangul Jamo
|
|
140
|
-
*
|
|
141
|
-
* @param code character code
|
|
142
|
-
*/
|
|
143
|
-
static isHangulJamo(code) {
|
|
144
|
-
return code >= 0x1100 && code <= 0x11ff;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Check the code is Hangul Compatibility Jamo
|
|
148
|
-
*
|
|
149
|
-
* @param code character code
|
|
150
|
-
*/
|
|
151
|
-
static isHangulCompatibilityJamo(code) {
|
|
152
|
-
return code >= 0x3130 && code <= 0x318f;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
exports.HangulService = HangulService;
|
|
156
|
-
/* eslint-disable prettier/prettier */
|
|
157
|
-
// Hangul Jamo
|
|
158
|
-
/** 1.Initial consonants (초성) */
|
|
159
|
-
HangulService.CHOSEONG = [
|
|
160
|
-
'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ',
|
|
161
|
-
];
|
|
162
|
-
/** 2. Medial vowels (중성) */
|
|
163
|
-
HangulService.JUNGSEONG = [
|
|
164
|
-
'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ',
|
|
165
|
-
];
|
|
166
|
-
/** 3. Final consonants (종성) */
|
|
167
|
-
HangulService.JONGSEONG = [
|
|
168
|
-
'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ',
|
|
169
|
-
'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ',
|
|
170
|
-
];
|
|
171
|
-
/** Hangul Composite Jamo(겹자모) -> Hangul Basic Jamo(기본 자모) */
|
|
172
|
-
HangulService.JamoDecomposeMap = new Map([
|
|
173
|
-
// 쌍자음
|
|
174
|
-
['ㄲ', 'ㄱㄱ'], ['ㄸ', 'ㄷㄷ'], ['ㅃ', 'ㅂㅂ'], ['ㅆ', 'ㅅㅅ'], ['ㅉ', 'ㅈㅈ'],
|
|
175
|
-
// 겹받침
|
|
176
|
-
['ㄳ', 'ㄱㅅ'], ['ㄵ', 'ㄴㅈ'], ['ㄶ', 'ㄴㅎ'], ['ㄺ', 'ㄹㄱ'], ['ㄻ', 'ㄹㅁ'],
|
|
177
|
-
['ㄼ', 'ㄹㅂ'], ['ㄽ', 'ㄹㅅ'], ['ㄾ', 'ㄹㅌ'], ['ㄿ', 'ㄹㅍ'], ['ㅀ', 'ㄹㅎ'],
|
|
178
|
-
['ㅄ', 'ㅂㅅ'],
|
|
179
|
-
// 겹모음
|
|
180
|
-
['ㅐ', 'ㅏㅣ'], ['ㅒ', 'ㅑㅣ'], ['ㅔ', 'ㅓㅣ'], ['ㅖ', 'ㅕㅣ'],
|
|
181
|
-
['ㅘ', 'ㅗㅏ'], ['ㅙ', 'ㅗㅏㅣ'], ['ㅚ', 'ㅗㅣ'], ['ㅝ', 'ㅜㅓ'], ['ㅞ', 'ㅜㅓㅣ'], ['ㅟ', 'ㅜㅣ'],
|
|
182
|
-
['ㅢ', 'ㅡㅣ'],
|
|
183
|
-
]);
|
|
184
|
-
/** Hangul Jamo -> Alphabet (in QWERTY 2벌식) */
|
|
185
|
-
HangulService.QwertyMap = new Map([
|
|
186
|
-
// 자음
|
|
187
|
-
['ㄱ', 'r'], ['ㄴ', 's'], ['ㄷ', 'e'], ['ㄹ', 'f'], ['ㅁ', 'a'], ['ㅂ', 'q'],
|
|
188
|
-
['ㅅ', 't'], ['ㅇ', 'd'], ['ㅈ', 'w'], ['ㅊ', 'c'], ['ㅋ', 'z'], ['ㅌ', 'x'],
|
|
189
|
-
['ㅍ', 'v'], ['ㅎ', 'g'],
|
|
190
|
-
// 모음
|
|
191
|
-
['ㅏ', 'k'], ['ㅑ', 'i'], ['ㅓ', 'j'], ['ㅕ', 'u'], ['ㅗ', 'h'], ['ㅛ', 'y'],
|
|
192
|
-
['ㅜ', 'n'], ['ㅠ', 'b'], ['ㅡ', 'm'], ['ㅣ', 'l'],
|
|
193
|
-
// 쌍자음
|
|
194
|
-
['ㄲ', 'R'], ['ㄸ', 'E'], ['ㅃ', 'Q'], ['ㅆ', 'T'], ['ㅉ', 'W'],
|
|
195
|
-
// 겹받침
|
|
196
|
-
['ㄳ', 'rt'], ['ㄵ', 'sw'], ['ㄶ', 'sg'], ['ㄺ', 'fr'], ['ㄻ', 'fa'], ['ㄼ', 'fq'],
|
|
197
|
-
['ㄽ', 'ft'], ['ㄾ', 'fx'], ['ㄿ', 'fv'], ['ㅀ', 'fg'], ['ㅄ', 'qt'],
|
|
198
|
-
// 겹모음
|
|
199
|
-
['ㅐ', 'o'], ['ㅒ', 'O'], ['ㅔ', 'p'], ['ㅖ', 'P'],
|
|
200
|
-
['ㅘ', 'hk'], ['ㅙ', 'ho'], ['ㅚ', 'hl'], ['ㅝ', 'nj'], ['ㅞ', 'np'], ['ㅟ', 'nl'],
|
|
201
|
-
['ㅢ', 'ml'],
|
|
202
|
-
]);
|
|
203
|
-
// Default export as instance
|
|
204
|
-
exports.default = new HangulService();
|
|
205
|
-
//# sourceMappingURL=hangul-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hangul-service.js","sourceRoot":"","sources":["../../src/cores/hangul-service.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH;;;GAGG;AACH,MAAa,aAAa;IAA1B;QAkDI,qCAAqC;QAErC;;WAEG;QACI,UAAK,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC;IA4I1C,CAAC;IA1IG;;;;;OAKG;IACI,QAAQ,CAAC,IAAY,EAAE,UAAmB,KAAK;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,CAAC,kEAAkE;QAE7F,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,cAAc,CAAC,IAAY;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACvC,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClD,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,IAAY,CAAC;gBAEjB,+BAA+B;gBAC/B,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBAC7C,2BAA2B;gBAC3B,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;gBAC9C,yCAAyC;gBACzC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI;oBAAE,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;aAC3D;iBAAM;gBACH,GAAG,IAAI,EAAE,CAAC;aACb;YAED,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,IAAY;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YAC5D,GAAG,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACpD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,IAAY;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YAC5D,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,IAAY;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,GAAG,IAAI,SAAS,CAAC;;gBAC5D,MAAM,CAAC,sCAAsC;SACrD;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,IAAY;QACnC,4EAA4E;QAC5E,OAAO,CACH,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACpC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC;YAChC,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAChD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY;QACvC,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,IAAY;QACnC,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,yBAAyB,CAAC,IAAY;QAChD,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAC5C,CAAC;;AAlML,sCAmMC;AAlMG,sCAAsC;AACtC,cAAc;AACd,gCAAgC;AACT,sBAAQ,GAAG;IAC9B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAChG,CAAC;AACF,4BAA4B;AACL,uBAAS,GAAG;IAC/B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAC1G,CAAC;AACF,+BAA+B;AACR,uBAAS,GAAG;IAC/B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACzE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAC7D,CAAC;AAEF,6DAA6D;AACnC,8BAAgB,GAAwB,IAAI,GAAG,CAAC;IACtE,MAAM;IACN,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC/D,MAAM;IACN,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC/D,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC/D,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,MAAM;IACN,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAClD,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC9E,CAAC,GAAG,EAAE,IAAI,CAAC;CACd,CAAC,CAAC;AAEH,8CAA8C;AACpB,uBAAS,GAAwB,IAAI,GAAG,CAAC;IAC/D,KAAK;IACL,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACtE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACtE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACtB,KAAK;IACL,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACtE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAC9C,MAAM;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAC1D,MAAM;IACN,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC5E,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC/D,MAAM;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,EAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IACjD,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IAC5E,CAAC,GAAG,EAAE,IAAI,CAAC;CACd,CAAC,CAAC;AAoJP,6BAA6B;AAC7B,kBAAe,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { StorageModel, StorageService } from './storage-service';
|
|
2
|
-
/**
|
|
3
|
-
* class: `HttpStorageService`
|
|
4
|
-
*/
|
|
5
|
-
export declare class HttpStorageService<T extends StorageModel> implements StorageService<T> {
|
|
6
|
-
private endpoint;
|
|
7
|
-
private idName;
|
|
8
|
-
private service;
|
|
9
|
-
constructor(endpoint: string, type: string, idName?: string);
|
|
10
|
-
/**
|
|
11
|
-
* say hello()
|
|
12
|
-
* @param name (optional) given name
|
|
13
|
-
*/
|
|
14
|
-
hello: () => string;
|
|
15
|
-
read(id: string): Promise<T>;
|
|
16
|
-
readOrCreate(id: string, model: T): Promise<T>;
|
|
17
|
-
save(id: string, item: T): Promise<T>;
|
|
18
|
-
update(id: string, item: T, $inc?: T): Promise<T>;
|
|
19
|
-
increment(id: string, $inc: T, $upt?: T): Promise<T>;
|
|
20
|
-
delete(id: string): Promise<T>;
|
|
21
|
-
validateIncrement(id: string, $inc: T): Promise<T>;
|
|
22
|
-
}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.HttpStorageService = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* `storage-service.js`
|
|
15
|
-
* - common service for `storage`
|
|
16
|
-
*
|
|
17
|
-
* @author Steve Jung <steve@lemoncloud.io>
|
|
18
|
-
* @date 2019-09-26 initial version
|
|
19
|
-
* @date 2019-10-01 moved from ticket-data-service to storage-service.
|
|
20
|
-
* @date 2019-12-01 migrated to storage-service.
|
|
21
|
-
*
|
|
22
|
-
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
23
|
-
*/
|
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
-
const engine_1 = require("../engine");
|
|
26
|
-
const api_service_1 = require("./api-service");
|
|
27
|
-
const NS = engine_1.$U.NS('STRS', 'green'); // NAMESPACE TO BE PRINTED.
|
|
28
|
-
/**
|
|
29
|
-
* class: `HttpStorageService`
|
|
30
|
-
*/
|
|
31
|
-
class HttpStorageService {
|
|
32
|
-
constructor(endpoint, type, idName) {
|
|
33
|
-
/**
|
|
34
|
-
* say hello()
|
|
35
|
-
* @param name (optional) given name
|
|
36
|
-
*/
|
|
37
|
-
this.hello = () => `http-storage-service:${this.endpoint}/${this.idName}`;
|
|
38
|
-
(0, engine_1._log)(NS, `HttpStorageService(${endpoint || ''})...`);
|
|
39
|
-
if (!endpoint)
|
|
40
|
-
throw new Error('@endpoint(string) is required!');
|
|
41
|
-
this.idName = `${idName || 'id'}`;
|
|
42
|
-
const TYPE = type;
|
|
43
|
-
this.endpoint = endpoint;
|
|
44
|
-
const HEADERS = { 'content-type': 'application/x-www-form-urlencoded' };
|
|
45
|
-
this.service = new api_service_1.APIService(TYPE, endpoint, HEADERS, api_service_1.APIService.buildClient(TYPE, endpoint, null, ''));
|
|
46
|
-
}
|
|
47
|
-
read(id) {
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
if (!id.trim())
|
|
50
|
-
throw new Error('@id (string) is required!');
|
|
51
|
-
return this.service.doGet(id);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
readOrCreate(id, model) {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
//return this.service.doGet(id); //TODO
|
|
57
|
-
return this.service.doGet(id).catch(e => {
|
|
58
|
-
if (`${e.message}`.startsWith('404 NOT FOUND'))
|
|
59
|
-
return this.save(id, model);
|
|
60
|
-
throw e;
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
save(id, item) {
|
|
65
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
return this.service.doPost(id, undefined, null, item);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
update(id, item, $inc) {
|
|
70
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
const $I = yield this.validateIncrement(id, $inc);
|
|
72
|
-
const node = Object.assign(Object.assign({}, item), $I);
|
|
73
|
-
return this.service.doPut(id, undefined, null, node);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
increment(id, $inc, $upt) {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
if (!id)
|
|
79
|
-
throw new Error('@id is required!');
|
|
80
|
-
if (!id.trim())
|
|
81
|
-
throw new Error('@id (string) is required!');
|
|
82
|
-
if (!$inc && !$upt)
|
|
83
|
-
throw new Error('@item is required!');
|
|
84
|
-
const $I = yield this.validateIncrement(id, $inc);
|
|
85
|
-
const node = Object.assign(Object.assign({}, $upt), $I);
|
|
86
|
-
return this.service.doPut(id, undefined, null, node);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
delete(id) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
return this.service.doDelete(id);
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
validateIncrement(id, $inc) {
|
|
95
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
const $org = yield this.read(id).catch(e => {
|
|
97
|
-
if (`${e.message || e}`.startsWith('404 NOT FOUND'))
|
|
98
|
-
return { id };
|
|
99
|
-
throw e;
|
|
100
|
-
});
|
|
101
|
-
if (!$inc)
|
|
102
|
-
return null;
|
|
103
|
-
const $I = Object.entries($inc).reduce((N, cur) => {
|
|
104
|
-
const key = cur[0];
|
|
105
|
-
const val = cur[1];
|
|
106
|
-
if (val !== undefined) {
|
|
107
|
-
const org = $org[key];
|
|
108
|
-
//! check type matched!
|
|
109
|
-
if (org !== undefined && typeof org === 'number' && typeof val !== 'number')
|
|
110
|
-
throw new Error(`.${key} (${val}) should be number!`);
|
|
111
|
-
//! if not exists, update it.
|
|
112
|
-
if (org === undefined) {
|
|
113
|
-
N[key] = val;
|
|
114
|
-
}
|
|
115
|
-
else if (typeof val !== 'number') {
|
|
116
|
-
N[key] = val;
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
N[key] = org + val;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return N;
|
|
123
|
-
}, {});
|
|
124
|
-
return $I;
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
exports.HttpStorageService = HttpStorageService;
|
|
129
|
-
//# sourceMappingURL=http-storage-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-storage-service.js","sourceRoot":"","sources":["../../src/cores/http-storage-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { CoreModel, StorageMakeable, GeneralModelFilter, TypedStorageService, UniqueFieldManager } from './proxy-storage-service';
|
|
2
|
-
/**
|
|
3
|
-
* class: `AbstractManager`
|
|
4
|
-
* - abstract model manager to cover all models which extend CoreModel.
|
|
5
|
-
* - feature to handle 'name' like unique value in same type.
|
|
6
|
-
* - typed-storage based.
|
|
7
|
-
* @abstract
|
|
8
|
-
*/
|
|
9
|
-
export declare abstract class AbstractManager<T extends CoreModel<ModelType>, S extends StorageMakeable<T, ModelType>, ModelType extends string> extends GeneralModelFilter<T, ModelType> {
|
|
10
|
-
readonly NS: string;
|
|
11
|
-
readonly parent: S;
|
|
12
|
-
readonly storage: TypedStorageService<T, ModelType>;
|
|
13
|
-
readonly $unique: UniqueFieldManager<T, ModelType>;
|
|
14
|
-
/**
|
|
15
|
-
* default constructor
|
|
16
|
-
* @param type model type string
|
|
17
|
-
* @param parent service instance which implements StorageMakeable interface
|
|
18
|
-
* @param fields list of model field names
|
|
19
|
-
* @param uniqueField (optional) unique field name
|
|
20
|
-
* @param ns (optional) namespace to be printed. pass NULL to suppress all logs.
|
|
21
|
-
* global NS value will be used if not specified or undefined.
|
|
22
|
-
*/
|
|
23
|
-
protected constructor(type: ModelType, parent: S, fields: string[], uniqueField?: string, ns?: string);
|
|
24
|
-
/**
|
|
25
|
-
* hello of this service-identity
|
|
26
|
-
*/
|
|
27
|
-
hello: () => string;
|
|
28
|
-
/**
|
|
29
|
-
* type getter
|
|
30
|
-
*/
|
|
31
|
-
get type(): ModelType;
|
|
32
|
-
/**
|
|
33
|
-
* prepare default model when creation
|
|
34
|
-
* - sub classes should implement this method
|
|
35
|
-
* @param $def default model
|
|
36
|
-
* @abstract
|
|
37
|
-
*/
|
|
38
|
-
protected abstract prepareDefault($def: T): T;
|
|
39
|
-
/**
|
|
40
|
-
* callback invoked just before the model is saved
|
|
41
|
-
* - override this to customize default behavior to perform model validation, cleansing or normalization
|
|
42
|
-
* @param model model object
|
|
43
|
-
* @param origin original model currently in the storage
|
|
44
|
-
*/
|
|
45
|
-
onBeforeSave(model: T, origin?: T): T;
|
|
46
|
-
/**
|
|
47
|
-
* default implementation of 'preparing' model
|
|
48
|
-
* - prepare model w/ safe creation
|
|
49
|
-
* @param id model-id to prepare
|
|
50
|
-
* @param $def default model value
|
|
51
|
-
* @param isCreate (optional) flag to allow creating a new model (default: true)
|
|
52
|
-
*/
|
|
53
|
-
prepare(id: string, $def?: T, isCreate?: boolean): Promise<T>;
|
|
54
|
-
/**
|
|
55
|
-
* default implementation of 'inserting' model
|
|
56
|
-
* @param model model object
|
|
57
|
-
*/
|
|
58
|
-
insert(model: T): Promise<T>;
|
|
59
|
-
/**
|
|
60
|
-
* default implementation of 'retrieving' model
|
|
61
|
-
* @param id model id
|
|
62
|
-
*/
|
|
63
|
-
retrieve(id: string): Promise<T>;
|
|
64
|
-
/**
|
|
65
|
-
* default implementation of updating model
|
|
66
|
-
* @param id model id
|
|
67
|
-
* @param model model object
|
|
68
|
-
* @param $inc (optional) incremental set
|
|
69
|
-
*/
|
|
70
|
-
update(id: string, model: T, $inc?: T): Promise<T>;
|
|
71
|
-
/**
|
|
72
|
-
* default implementation of 'upserting' model
|
|
73
|
-
* @param id model id
|
|
74
|
-
* @param model model object
|
|
75
|
-
* @param $inc (optional) incremental set
|
|
76
|
-
*/
|
|
77
|
-
updateOrCreate(id: string, model: T, $inc?: T): Promise<T>;
|
|
78
|
-
/**
|
|
79
|
-
* default implementation of deleting model
|
|
80
|
-
* @param id model id
|
|
81
|
-
* @param destroy flag for hard delete or soft delete (by setting 'deletedAt' field)
|
|
82
|
-
*/
|
|
83
|
-
delete(id: string, destroy?: boolean): Promise<T>;
|
|
84
|
-
/**
|
|
85
|
-
* internal implementation for 'update' and 'updateOrCreate'
|
|
86
|
-
* @param id model id
|
|
87
|
-
* @param model model object
|
|
88
|
-
* @param $inc (optional) incremental set
|
|
89
|
-
* @param isCreate (optional) flag to allow creating a new model (default: true)
|
|
90
|
-
* @private
|
|
91
|
-
*/
|
|
92
|
-
private _updateModel;
|
|
93
|
-
}
|