glost 0.1.0
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/LICENSE +21 -0
- package/README.md +62 -0
- package/dist/example.d.ts +10 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +82 -0
- package/dist/example.js.map +1 -0
- package/dist/guards.d.ts +103 -0
- package/dist/guards.d.ts.map +1 -0
- package/dist/guards.js +264 -0
- package/dist/guards.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/mock-data.d.ts +35 -0
- package/dist/mock-data.d.ts.map +1 -0
- package/dist/mock-data.js +494 -0
- package/dist/mock-data.js.map +1 -0
- package/dist/nodes.d.ts +68 -0
- package/dist/nodes.d.ts.map +1 -0
- package/dist/nodes.js +181 -0
- package/dist/nodes.js.map +1 -0
- package/dist/types.d.ts +379 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +203 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +497 -0
- package/dist/utils.js.map +1 -0
- package/dist/validators.d.ts +1876 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +302 -0
- package/dist/validators.js.map +1 -0
- package/package.json +67 -0
- package/src/example.ts +186 -0
- package/src/guards.ts +341 -0
- package/src/index.ts +69 -0
- package/src/mock-data.ts +635 -0
- package/src/nodes.ts +301 -0
- package/src/types.ts +565 -0
- package/src/utils.ts +653 -0
- package/src/validators.ts +336 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-data.d.ts","sourceRoot":"","sources":["../src/mock-data.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,SAAS,EAAC,MAAM,SAAS,CAAC;AAM5B,QAAA,MAAM,mBAAmB,EAAE,SAAS,EAsPnC,CAAC;AAMF,QAAA,MAAM,uBAAuB,EAAE,SAAS,EAmQvC,CAAC;AAMF,QAAA,MAAM,sBAAsB,iCAK3B,CAAC;AAEF,QAAA,MAAM,0BAA0B,iCAK/B,CAAC;AAEF,QAAA,MAAM,uBAAuB,kCAAsD,CAAC;AACpF,QAAA,MAAM,2BAA2B,kCAA0D,CAAC;AAE5F,eAAO,MAAM,sBAAsB,6BAQlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,6BAQtC,CAAC;AAMF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAW1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAErD;AAMD,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC5B,CAAC"}
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
import { createGLOSTWordNode, createGLOSTSentenceNode, createGLOSTParagraphNode, createGLOSTRootNode } from './nodes';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// Enhanced Thai Example with Extras
|
|
4
|
+
// ============================================================================
|
|
5
|
+
const thaiWordsWithExtras = [
|
|
6
|
+
createGLOSTWordNode('สวัสดี', {
|
|
7
|
+
rtgs: {
|
|
8
|
+
text: 'sà-wàt-dii',
|
|
9
|
+
system: 'rtgs',
|
|
10
|
+
tone: 2,
|
|
11
|
+
syllables: ['sa', 'wat', 'dii']
|
|
12
|
+
},
|
|
13
|
+
aua: {
|
|
14
|
+
text: 'sa-wat-dee',
|
|
15
|
+
system: 'aua',
|
|
16
|
+
syllables: ['sa', 'wat', 'dee']
|
|
17
|
+
},
|
|
18
|
+
paiboon: {
|
|
19
|
+
text: 'sa-wat-dee',
|
|
20
|
+
system: 'paiboon',
|
|
21
|
+
syllables: ['sa', 'wat', 'dee']
|
|
22
|
+
},
|
|
23
|
+
ipa: {
|
|
24
|
+
text: 'sa.wàt.diː',
|
|
25
|
+
system: 'ipa',
|
|
26
|
+
syllables: ['sa', 'wat', 'diː']
|
|
27
|
+
}
|
|
28
|
+
}, {
|
|
29
|
+
meaning: 'hello, hi',
|
|
30
|
+
partOfSpeech: 'interjection',
|
|
31
|
+
usage: 'greeting, formal and informal'
|
|
32
|
+
}, 'word', 'th', 'thai', {
|
|
33
|
+
translations: {
|
|
34
|
+
en: 'hello, hi',
|
|
35
|
+
ja: 'こんにちは',
|
|
36
|
+
zh: '你好',
|
|
37
|
+
ko: '안녕하세요'
|
|
38
|
+
},
|
|
39
|
+
metadata: {
|
|
40
|
+
difficulty: 'beginner',
|
|
41
|
+
frequency: 'very-common',
|
|
42
|
+
culturalNotes: 'Standard greeting used throughout the day',
|
|
43
|
+
related: ['สวัสดีตอนเช้า', 'สวัสดีตอนเย็น', 'สวัสดีตอนค่ำ'],
|
|
44
|
+
examples: ['สวัสดีครับ', 'สวัสดีค่ะ', 'สวัสดีทุกคน']
|
|
45
|
+
}
|
|
46
|
+
}),
|
|
47
|
+
createGLOSTWordNode('ครับ', {
|
|
48
|
+
rtgs: {
|
|
49
|
+
text: 'khráp',
|
|
50
|
+
system: 'rtgs',
|
|
51
|
+
tone: 2,
|
|
52
|
+
syllables: ['khrap']
|
|
53
|
+
},
|
|
54
|
+
aua: {
|
|
55
|
+
text: 'krap',
|
|
56
|
+
system: 'aua',
|
|
57
|
+
syllables: ['krap']
|
|
58
|
+
},
|
|
59
|
+
paiboon: {
|
|
60
|
+
text: 'krap',
|
|
61
|
+
system: 'paiboon',
|
|
62
|
+
syllables: ['krap']
|
|
63
|
+
},
|
|
64
|
+
ipa: {
|
|
65
|
+
text: 'kʰráp',
|
|
66
|
+
system: 'ipa',
|
|
67
|
+
syllables: ['khrap']
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
meaning: 'polite particle for male speakers',
|
|
71
|
+
partOfSpeech: 'particle',
|
|
72
|
+
usage: 'sentence ending, formal speech'
|
|
73
|
+
}, 'word', 'th', 'thai', {
|
|
74
|
+
translations: {
|
|
75
|
+
en: 'polite particle (male)',
|
|
76
|
+
ja: '丁寧語の助詞(男性)',
|
|
77
|
+
zh: '礼貌助词(男性)',
|
|
78
|
+
ko: '정중한 조사 (남성)'
|
|
79
|
+
},
|
|
80
|
+
metadata: {
|
|
81
|
+
difficulty: 'beginner',
|
|
82
|
+
frequency: 'very-common',
|
|
83
|
+
culturalNotes: 'Used by male speakers to show politeness',
|
|
84
|
+
related: ['ค่ะ', 'ครับ', 'จ้ะ'],
|
|
85
|
+
examples: ['ขอบคุณครับ', 'ไม่เป็นไรครับ', 'ครับครับ']
|
|
86
|
+
}
|
|
87
|
+
}),
|
|
88
|
+
createGLOSTWordNode('ผม', {
|
|
89
|
+
rtgs: {
|
|
90
|
+
text: 'phǒm',
|
|
91
|
+
system: 'rtgs',
|
|
92
|
+
tone: 3,
|
|
93
|
+
syllables: ['phom']
|
|
94
|
+
},
|
|
95
|
+
aua: {
|
|
96
|
+
text: 'pom',
|
|
97
|
+
system: 'aua',
|
|
98
|
+
syllables: ['pom']
|
|
99
|
+
},
|
|
100
|
+
paiboon: {
|
|
101
|
+
text: 'pom',
|
|
102
|
+
system: 'paiboon',
|
|
103
|
+
syllables: ['pom']
|
|
104
|
+
},
|
|
105
|
+
ipa: {
|
|
106
|
+
text: 'pʰǒm',
|
|
107
|
+
system: 'ipa',
|
|
108
|
+
syllables: ['phom']
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
meaning: 'I, me (male)',
|
|
112
|
+
partOfSpeech: 'pronoun',
|
|
113
|
+
usage: 'first person singular, male speaker'
|
|
114
|
+
}, 'word', 'th', 'thai', {
|
|
115
|
+
translations: {
|
|
116
|
+
en: 'I, me (male)',
|
|
117
|
+
ja: '私(男性)',
|
|
118
|
+
zh: '我(男性)',
|
|
119
|
+
ko: '나, 저 (남성)'
|
|
120
|
+
},
|
|
121
|
+
metadata: {
|
|
122
|
+
difficulty: 'beginner',
|
|
123
|
+
frequency: 'common',
|
|
124
|
+
culturalNotes: 'First person pronoun used by male speakers',
|
|
125
|
+
related: ['ดิฉัน', 'ฉัน', 'เรา'],
|
|
126
|
+
examples: ['ผมชื่อ...', 'ผมชอบ...', 'ผมจะไป...']
|
|
127
|
+
}
|
|
128
|
+
}),
|
|
129
|
+
createGLOSTWordNode('ชื่อ', {
|
|
130
|
+
rtgs: {
|
|
131
|
+
text: 'chûue',
|
|
132
|
+
system: 'rtgs',
|
|
133
|
+
tone: 3,
|
|
134
|
+
syllables: ['chue']
|
|
135
|
+
},
|
|
136
|
+
aua: {
|
|
137
|
+
text: 'chue',
|
|
138
|
+
system: 'aua',
|
|
139
|
+
syllables: ['chue']
|
|
140
|
+
},
|
|
141
|
+
paiboon: {
|
|
142
|
+
text: 'chue',
|
|
143
|
+
system: 'paiboon',
|
|
144
|
+
syllables: ['chue']
|
|
145
|
+
},
|
|
146
|
+
ipa: {
|
|
147
|
+
text: 'tɕʰûː',
|
|
148
|
+
system: 'ipa',
|
|
149
|
+
syllables: ['chue']
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
meaning: 'name',
|
|
153
|
+
partOfSpeech: 'noun',
|
|
154
|
+
usage: 'noun, can be used as verb \'to be named\''
|
|
155
|
+
}, 'word', 'th', 'thai', {
|
|
156
|
+
translations: {
|
|
157
|
+
en: 'name',
|
|
158
|
+
ja: '名前',
|
|
159
|
+
zh: '名字',
|
|
160
|
+
ko: '이름'
|
|
161
|
+
},
|
|
162
|
+
metadata: {
|
|
163
|
+
difficulty: 'beginner',
|
|
164
|
+
frequency: 'common',
|
|
165
|
+
culturalNotes: 'Can function as both noun and verb',
|
|
166
|
+
related: ['นาม', 'ชื่อจริง', 'ชื่อเล่น'],
|
|
167
|
+
examples: ['ชื่ออะไรครับ', 'ชื่อของผมคือ...', 'ตั้งชื่อ']
|
|
168
|
+
}
|
|
169
|
+
}),
|
|
170
|
+
createGLOSTWordNode('สมชาย', {
|
|
171
|
+
rtgs: {
|
|
172
|
+
text: 'sǒm-chaai',
|
|
173
|
+
system: 'rtgs',
|
|
174
|
+
tone: 3,
|
|
175
|
+
syllables: ['som', 'chaai']
|
|
176
|
+
},
|
|
177
|
+
aua: {
|
|
178
|
+
text: 'som-chai',
|
|
179
|
+
system: 'aua',
|
|
180
|
+
syllables: ['som', 'chai']
|
|
181
|
+
},
|
|
182
|
+
paiboon: {
|
|
183
|
+
text: 'som-chai',
|
|
184
|
+
system: 'paiboon',
|
|
185
|
+
syllables: ['som', 'chai']
|
|
186
|
+
},
|
|
187
|
+
ipa: {
|
|
188
|
+
text: 'sǒm.tɕʰaːj',
|
|
189
|
+
system: 'ipa',
|
|
190
|
+
syllables: ['som', 'chaai']
|
|
191
|
+
}
|
|
192
|
+
}, {
|
|
193
|
+
meaning: 'male given name',
|
|
194
|
+
partOfSpeech: 'proper noun',
|
|
195
|
+
usage: 'personal name, common Thai male name'
|
|
196
|
+
}, 'word', 'th', 'thai', {
|
|
197
|
+
translations: {
|
|
198
|
+
en: 'Somchai (male name)',
|
|
199
|
+
ja: 'ソムチャイ(男性名)',
|
|
200
|
+
zh: '颂猜(男性名)',
|
|
201
|
+
ko: '솜차이 (남성 이름)'
|
|
202
|
+
},
|
|
203
|
+
metadata: {
|
|
204
|
+
difficulty: 'intermediate',
|
|
205
|
+
frequency: 'uncommon',
|
|
206
|
+
culturalNotes: 'Common traditional Thai male name meaning "man of merit"',
|
|
207
|
+
related: ['ชาย', 'สม', 'ชื่อไทย'],
|
|
208
|
+
examples: ['คุณสมชาย', 'สมชายเป็นคนดี', 'เพื่อนของสมชาย']
|
|
209
|
+
}
|
|
210
|
+
})
|
|
211
|
+
];
|
|
212
|
+
// ============================================================================
|
|
213
|
+
// Enhanced Japanese Example with Extras
|
|
214
|
+
// ============================================================================
|
|
215
|
+
const japaneseWordsWithExtras = [
|
|
216
|
+
createGLOSTWordNode('私', {
|
|
217
|
+
romaji: {
|
|
218
|
+
text: 'watashi',
|
|
219
|
+
system: 'romaji',
|
|
220
|
+
syllables: ['wa', 'ta', 'shi']
|
|
221
|
+
},
|
|
222
|
+
furigana: {
|
|
223
|
+
text: 'わたし',
|
|
224
|
+
system: 'furigana',
|
|
225
|
+
syllables: ['wa', 'ta', 'shi']
|
|
226
|
+
},
|
|
227
|
+
ipa: {
|
|
228
|
+
text: 'ɰataɕi',
|
|
229
|
+
system: 'ipa',
|
|
230
|
+
syllables: ['wa', 'ta', 'shi']
|
|
231
|
+
}
|
|
232
|
+
}, {
|
|
233
|
+
meaning: 'I, me',
|
|
234
|
+
partOfSpeech: 'pronoun',
|
|
235
|
+
usage: 'first person singular, formal and informal'
|
|
236
|
+
}, 'word', 'ja', 'mixed', {
|
|
237
|
+
translations: {
|
|
238
|
+
en: 'I, me',
|
|
239
|
+
th: 'ผม/ดิฉัน',
|
|
240
|
+
zh: '我',
|
|
241
|
+
ko: '나, 저'
|
|
242
|
+
},
|
|
243
|
+
metadata: {
|
|
244
|
+
difficulty: 'beginner',
|
|
245
|
+
frequency: 'very-common',
|
|
246
|
+
culturalNotes: 'Polite first person pronoun, gender-neutral',
|
|
247
|
+
related: ['僕', '俺', 'あたし'],
|
|
248
|
+
examples: ['私は学生です', '私の名前は...', '私も行きます']
|
|
249
|
+
}
|
|
250
|
+
}),
|
|
251
|
+
createGLOSTWordNode('の', {
|
|
252
|
+
romaji: {
|
|
253
|
+
text: 'no',
|
|
254
|
+
system: 'romaji',
|
|
255
|
+
syllables: ['no']
|
|
256
|
+
},
|
|
257
|
+
furigana: {
|
|
258
|
+
text: 'の',
|
|
259
|
+
system: 'furigana',
|
|
260
|
+
syllables: ['no']
|
|
261
|
+
},
|
|
262
|
+
ipa: {
|
|
263
|
+
text: 'no',
|
|
264
|
+
system: 'ipa',
|
|
265
|
+
syllables: ['no']
|
|
266
|
+
}
|
|
267
|
+
}, {
|
|
268
|
+
meaning: 'possessive particle',
|
|
269
|
+
partOfSpeech: 'particle',
|
|
270
|
+
usage: 'indicates possession or relationship'
|
|
271
|
+
}, 'word', 'ja', 'mixed', {
|
|
272
|
+
translations: {
|
|
273
|
+
en: 'possessive particle',
|
|
274
|
+
th: 'คำบุพบทแสดงความเป็นเจ้าของ',
|
|
275
|
+
zh: '的',
|
|
276
|
+
ko: '의'
|
|
277
|
+
},
|
|
278
|
+
metadata: {
|
|
279
|
+
difficulty: 'beginner',
|
|
280
|
+
frequency: 'very-common',
|
|
281
|
+
culturalNotes: 'Essential particle for showing possession',
|
|
282
|
+
related: ['が', 'は', 'を'],
|
|
283
|
+
examples: ['私の本', '日本の文化', '友達の家']
|
|
284
|
+
}
|
|
285
|
+
}),
|
|
286
|
+
createGLOSTWordNode('名前', {
|
|
287
|
+
romaji: {
|
|
288
|
+
text: 'namae',
|
|
289
|
+
system: 'romaji',
|
|
290
|
+
syllables: ['na', 'mae']
|
|
291
|
+
},
|
|
292
|
+
furigana: {
|
|
293
|
+
text: 'なまえ',
|
|
294
|
+
system: 'furigana',
|
|
295
|
+
syllables: ['na', 'mae']
|
|
296
|
+
},
|
|
297
|
+
ipa: {
|
|
298
|
+
text: 'namae',
|
|
299
|
+
system: 'ipa',
|
|
300
|
+
syllables: ['na', 'mae']
|
|
301
|
+
}
|
|
302
|
+
}, {
|
|
303
|
+
meaning: 'name',
|
|
304
|
+
partOfSpeech: 'noun',
|
|
305
|
+
usage: 'noun, refers to a person\'s name'
|
|
306
|
+
}, 'word', 'ja', 'mixed', {
|
|
307
|
+
translations: {
|
|
308
|
+
en: 'name',
|
|
309
|
+
th: 'ชื่อ',
|
|
310
|
+
zh: '名字',
|
|
311
|
+
ko: '이름'
|
|
312
|
+
},
|
|
313
|
+
metadata: {
|
|
314
|
+
difficulty: 'beginner',
|
|
315
|
+
frequency: 'common',
|
|
316
|
+
culturalNotes: 'Basic vocabulary for introductions',
|
|
317
|
+
related: ['氏名', 'フルネーム', 'ニックネーム'],
|
|
318
|
+
examples: ['お名前は?', '名前を教えてください', '美しい名前']
|
|
319
|
+
}
|
|
320
|
+
}),
|
|
321
|
+
createGLOSTWordNode('は', {
|
|
322
|
+
romaji: {
|
|
323
|
+
text: 'wa',
|
|
324
|
+
system: 'romaji',
|
|
325
|
+
syllables: ['wa']
|
|
326
|
+
},
|
|
327
|
+
furigana: {
|
|
328
|
+
text: 'は',
|
|
329
|
+
system: 'furigana',
|
|
330
|
+
syllables: ['wa']
|
|
331
|
+
},
|
|
332
|
+
ipa: {
|
|
333
|
+
text: 'ɰa',
|
|
334
|
+
system: 'ipa',
|
|
335
|
+
syllables: ['wa']
|
|
336
|
+
}
|
|
337
|
+
}, {
|
|
338
|
+
meaning: 'topic particle',
|
|
339
|
+
partOfSpeech: 'particle',
|
|
340
|
+
usage: 'marks the topic of the sentence'
|
|
341
|
+
}, 'word', 'ja', 'mixed', {
|
|
342
|
+
translations: {
|
|
343
|
+
en: 'topic particle',
|
|
344
|
+
th: 'คำบุพบทแสดงหัวข้อ',
|
|
345
|
+
zh: '话题助词',
|
|
346
|
+
ko: '주제 조사'
|
|
347
|
+
},
|
|
348
|
+
metadata: {
|
|
349
|
+
difficulty: 'beginner',
|
|
350
|
+
frequency: 'very-common',
|
|
351
|
+
culturalNotes: 'One of the most important particles in Japanese',
|
|
352
|
+
related: ['が', 'を', 'に'],
|
|
353
|
+
examples: ['私は学生です', 'これは本です', '日本は美しい国です']
|
|
354
|
+
}
|
|
355
|
+
}),
|
|
356
|
+
createGLOSTWordNode('田中', {
|
|
357
|
+
romaji: {
|
|
358
|
+
text: 'tanaka',
|
|
359
|
+
system: 'romaji',
|
|
360
|
+
syllables: ['ta', 'na', 'ka']
|
|
361
|
+
},
|
|
362
|
+
furigana: {
|
|
363
|
+
text: 'たなか',
|
|
364
|
+
system: 'furigana',
|
|
365
|
+
syllables: ['ta', 'na', 'ka']
|
|
366
|
+
},
|
|
367
|
+
ipa: {
|
|
368
|
+
text: 'tanaka',
|
|
369
|
+
system: 'ipa',
|
|
370
|
+
syllables: ['ta', 'na', 'ka']
|
|
371
|
+
}
|
|
372
|
+
}, {
|
|
373
|
+
meaning: 'surname Tanaka',
|
|
374
|
+
partOfSpeech: 'proper noun',
|
|
375
|
+
usage: 'family name, very common Japanese surname'
|
|
376
|
+
}, 'word', 'ja', 'mixed', {
|
|
377
|
+
translations: {
|
|
378
|
+
en: 'Tanaka (surname)',
|
|
379
|
+
th: 'ทานากะ (นามสกุล)',
|
|
380
|
+
zh: '田中(姓氏)',
|
|
381
|
+
ko: '다나카 (성)'
|
|
382
|
+
},
|
|
383
|
+
metadata: {
|
|
384
|
+
difficulty: 'beginner',
|
|
385
|
+
frequency: 'common',
|
|
386
|
+
culturalNotes: 'One of the most common Japanese surnames',
|
|
387
|
+
related: ['佐藤', '鈴木', '高橋'],
|
|
388
|
+
examples: ['田中さん', '田中先生', '田中家']
|
|
389
|
+
}
|
|
390
|
+
}),
|
|
391
|
+
createGLOSTWordNode('です', {
|
|
392
|
+
romaji: {
|
|
393
|
+
text: 'desu',
|
|
394
|
+
system: 'romaji',
|
|
395
|
+
syllables: ['de', 'su']
|
|
396
|
+
},
|
|
397
|
+
furigana: {
|
|
398
|
+
text: 'です',
|
|
399
|
+
system: 'furigana',
|
|
400
|
+
syllables: ['de', 'su']
|
|
401
|
+
},
|
|
402
|
+
ipa: {
|
|
403
|
+
text: 'desɯ',
|
|
404
|
+
system: 'ipa',
|
|
405
|
+
syllables: ['de', 'su']
|
|
406
|
+
}
|
|
407
|
+
}, {
|
|
408
|
+
meaning: 'copula (is, am, are)',
|
|
409
|
+
partOfSpeech: 'copula',
|
|
410
|
+
usage: 'polite form of the copula, formal speech'
|
|
411
|
+
}, 'word', 'ja', 'mixed', {
|
|
412
|
+
translations: {
|
|
413
|
+
en: 'is, am, are (polite)',
|
|
414
|
+
th: 'เป็น, คือ (สุภาพ)',
|
|
415
|
+
zh: '是(敬语)',
|
|
416
|
+
ko: '입니다 (존댓말)'
|
|
417
|
+
},
|
|
418
|
+
metadata: {
|
|
419
|
+
difficulty: 'beginner',
|
|
420
|
+
frequency: 'very-common',
|
|
421
|
+
culturalNotes: 'Polite copula used in formal situations',
|
|
422
|
+
related: ['だ', 'である', 'でございます'],
|
|
423
|
+
examples: ['私は学生です', 'これは本です', '田中さんです']
|
|
424
|
+
}
|
|
425
|
+
})
|
|
426
|
+
];
|
|
427
|
+
// ============================================================================
|
|
428
|
+
// Create Enhanced Document Structure
|
|
429
|
+
// ============================================================================
|
|
430
|
+
const thaiSentenceWithExtras = createGLOSTSentenceNode('สวัสดีครับ ผมชื่อสมชาย', 'th', 'thai', thaiWordsWithExtras);
|
|
431
|
+
const japaneseSentenceWithExtras = createGLOSTSentenceNode('私の名前は田中です。', 'ja', 'mixed', japaneseWordsWithExtras);
|
|
432
|
+
const thaiParagraphWithExtras = createGLOSTParagraphNode([thaiSentenceWithExtras]);
|
|
433
|
+
const japaneseParagraphWithExtras = createGLOSTParagraphNode([japaneseSentenceWithExtras]);
|
|
434
|
+
export const thaiDocumentWithExtras = createGLOSTRootNode('th', 'thai', [thaiParagraphWithExtras], {
|
|
435
|
+
title: 'Thai Greeting Example with Extras',
|
|
436
|
+
description: 'Enhanced Thai example with i18n translations and metadata'
|
|
437
|
+
});
|
|
438
|
+
export const japaneseDocumentWithExtras = createGLOSTRootNode('ja', 'mixed', [japaneseParagraphWithExtras], {
|
|
439
|
+
title: 'Japanese Greeting Example with Extras',
|
|
440
|
+
description: 'Enhanced Japanese example with i18n translations and metadata'
|
|
441
|
+
});
|
|
442
|
+
// ============================================================================
|
|
443
|
+
// Utility Functions for Working with Extras
|
|
444
|
+
// ============================================================================
|
|
445
|
+
/**
|
|
446
|
+
* Get quick translation for a word in a specific language
|
|
447
|
+
*/
|
|
448
|
+
export function getQuickTranslation(word, targetLang) {
|
|
449
|
+
return word.extras?.translations?.[targetLang];
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Get all available translations for a word
|
|
453
|
+
*/
|
|
454
|
+
export function getAllTranslations(word) {
|
|
455
|
+
const translations = word.extras?.translations;
|
|
456
|
+
if (!translations)
|
|
457
|
+
return {};
|
|
458
|
+
const result = {};
|
|
459
|
+
Object.entries(translations).forEach(([lang, text]) => {
|
|
460
|
+
if (text !== undefined) {
|
|
461
|
+
result[lang] = text;
|
|
462
|
+
}
|
|
463
|
+
});
|
|
464
|
+
return result;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Get difficulty level for a word
|
|
468
|
+
*/
|
|
469
|
+
export function getDifficulty(word) {
|
|
470
|
+
return word.extras?.metadata?.difficulty;
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Get cultural notes for a word
|
|
474
|
+
*/
|
|
475
|
+
export function getCulturalNotes(word) {
|
|
476
|
+
return word.extras?.metadata?.culturalNotes;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Get related words for a word
|
|
480
|
+
*/
|
|
481
|
+
export function getRelatedWords(word) {
|
|
482
|
+
return word.extras?.metadata?.related || [];
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Get example sentences for a word
|
|
486
|
+
*/
|
|
487
|
+
export function getExamples(word) {
|
|
488
|
+
return word.extras?.metadata?.examples || [];
|
|
489
|
+
}
|
|
490
|
+
// ============================================================================
|
|
491
|
+
// Export All Mock Data
|
|
492
|
+
// ============================================================================
|
|
493
|
+
export { thaiWordsWithExtras, japaneseWordsWithExtras, thaiSentenceWithExtras, japaneseSentenceWithExtras, thaiParagraphWithExtras, japaneseParagraphWithExtras };
|
|
494
|
+
//# sourceMappingURL=mock-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../src/mock-data.ts"],"names":[],"mappings":"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"}
|
package/dist/nodes.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { LanguageCode, LinguisticLevel, LinguisticMetadata, GLOSTExtras, GLOSTParagraph, GLOSTPunctuation, GLOSTRoot, GLOSTSentence, GLOSTSymbol, GLOSTText, GLOSTWhiteSpace, GLOSTWord, ScriptSystem, TransliterationData } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create an GLOST word node
|
|
4
|
+
*/
|
|
5
|
+
export declare function createGLOSTWordNode(value: string, transcription: TransliterationData, metadata: LinguisticMetadata, level?: LinguisticLevel, lang?: LanguageCode, script?: ScriptSystem, extras?: GLOSTExtras): GLOSTWord;
|
|
6
|
+
/**
|
|
7
|
+
* Create an GLOST sentence node
|
|
8
|
+
*/
|
|
9
|
+
export declare function createGLOSTSentenceNode(originalText: string, lang: LanguageCode, script: ScriptSystem, children?: GLOSTWord[], transcription?: TransliterationData, extras?: GLOSTExtras): GLOSTSentence;
|
|
10
|
+
/**
|
|
11
|
+
* Create an GLOST paragraph node
|
|
12
|
+
*/
|
|
13
|
+
export declare function createGLOSTParagraphNode(children?: GLOSTSentence[], extras?: GLOSTExtras): GLOSTParagraph;
|
|
14
|
+
/**
|
|
15
|
+
* Create an GLOST root node
|
|
16
|
+
*/
|
|
17
|
+
export declare function createGLOSTRootNode(lang: LanguageCode, script: ScriptSystem, children?: GLOSTParagraph[], metadata?: {
|
|
18
|
+
title?: string;
|
|
19
|
+
author?: string;
|
|
20
|
+
date?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
}, extras?: GLOSTExtras): GLOSTRoot;
|
|
23
|
+
/**
|
|
24
|
+
* Create a simple word node with basic transcription
|
|
25
|
+
*/
|
|
26
|
+
export declare function createSimpleWord(text: string, transliteration: string, system?: string, partOfSpeech?: string, level?: LinguisticLevel): GLOSTWord;
|
|
27
|
+
/**
|
|
28
|
+
* Create a Thai word node with RTGS transcription
|
|
29
|
+
*/
|
|
30
|
+
export declare function createThaiWord(text: string, rtgs: string, partOfSpeech?: string, tone?: number, syllables?: string[]): GLOSTWord;
|
|
31
|
+
/**
|
|
32
|
+
* Create a Japanese word node with romaji transcription
|
|
33
|
+
*/
|
|
34
|
+
export declare function createJapaneseWord(text: string, romaji: string, partOfSpeech?: string, furigana?: string): GLOSTWord;
|
|
35
|
+
/**
|
|
36
|
+
* Create a sentence from an array of words
|
|
37
|
+
*/
|
|
38
|
+
export declare function createSentenceFromWords(words: GLOSTWord[], lang: LanguageCode, script: ScriptSystem, originalText?: string): GLOSTSentence;
|
|
39
|
+
/**
|
|
40
|
+
* Create a paragraph from an array of sentences
|
|
41
|
+
*/
|
|
42
|
+
export declare function createParagraphFromSentences(sentences: GLOSTSentence[]): GLOSTParagraph;
|
|
43
|
+
/**
|
|
44
|
+
* Create a document from an array of paragraphs
|
|
45
|
+
*/
|
|
46
|
+
export declare function createDocumentFromParagraphs(paragraphs: GLOSTParagraph[], lang: LanguageCode, script: ScriptSystem, metadata?: {
|
|
47
|
+
title?: string;
|
|
48
|
+
author?: string;
|
|
49
|
+
date?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
}): GLOSTRoot;
|
|
52
|
+
/**
|
|
53
|
+
* Create an GLOST punctuation node
|
|
54
|
+
*/
|
|
55
|
+
export declare function createGLOSTPunctuationNode(value: string): GLOSTPunctuation;
|
|
56
|
+
/**
|
|
57
|
+
* Create an GLOST whitespace node
|
|
58
|
+
*/
|
|
59
|
+
export declare function createGLOSTWhiteSpaceNode(value: string): GLOSTWhiteSpace;
|
|
60
|
+
/**
|
|
61
|
+
* Create an GLOST symbol node
|
|
62
|
+
*/
|
|
63
|
+
export declare function createGLOSTSymbolNode(value: string): GLOSTSymbol;
|
|
64
|
+
/**
|
|
65
|
+
* Create an GLOST text node
|
|
66
|
+
*/
|
|
67
|
+
export declare function createGLOSTTextNode(value: string): GLOSTText;
|
|
68
|
+
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
|