@syllst/th 0.1.0 → 0.1.1

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.
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Shared types and utilities for SYLLST content
3
+ * (Inlined from @syllst/content-shared to make package self-contained)
4
+ */
5
+ /**
6
+ * CEFR language proficiency levels
7
+ */
8
+ export type CEFRLevel = 'A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2';
9
+ /**
10
+ * Difficulty levels
11
+ */
12
+ export type Difficulty = 'beginner' | 'intermediate' | 'advanced';
13
+ /**
14
+ * Icon types for syllabi
15
+ */
16
+ export type SyllabusIcon = 'alphabet' | 'dialogue' | 'vocabulary' | 'grammar' | 'reading' | 'numbers' | 'food' | 'travel';
17
+ /**
18
+ * Configuration for a syllabus content package
19
+ */
20
+ export interface SyllabusConfig {
21
+ /** Unique syllabus ID (e.g., "th-alphabet") */
22
+ id: string;
23
+ /** Display title */
24
+ title: string;
25
+ /** Description */
26
+ description: string;
27
+ /** Language code (ISO 639-1) */
28
+ language: string;
29
+ /** Locale code (e.g., "th-TH") */
30
+ locale: string;
31
+ /** Number of lessons */
32
+ lessonCount: number;
33
+ /** Difficulty level */
34
+ difficulty: Difficulty;
35
+ /** CEFR level */
36
+ cefrLevel: CEFRLevel;
37
+ /** Icon for display */
38
+ icon?: SyllabusIcon;
39
+ /** Package version */
40
+ version: string;
41
+ }
42
+ /**
43
+ * Result of loading a lesson
44
+ */
45
+ export interface LoadedLesson {
46
+ /** Lesson number (1-indexed) */
47
+ number: number;
48
+ /** Raw MDX content */
49
+ rawContent: string;
50
+ }
51
+ /**
52
+ * Content loader interface
53
+ */
54
+ export interface ContentLoader {
55
+ /** Syllabus configuration */
56
+ config: SyllabusConfig;
57
+ /** Load a single lesson by number */
58
+ loadLesson(lessonNumber: number): Promise<LoadedLesson>;
59
+ /** Load all lessons */
60
+ loadAllLessons(): Promise<LoadedLesson[]>;
61
+ /** Get list of available lesson numbers */
62
+ getAvailableLessons(): number[];
63
+ }
64
+ /**
65
+ * Create a content loader from config and lesson loader function
66
+ */
67
+ export declare function createContentLoader(config: SyllabusConfig, loadLessonMDX: (lessonNumber: number) => Promise<{
68
+ default: string;
69
+ }>): ContentLoader;
70
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,UAAU,GACV,YAAY,GACZ,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,uBAAuB;IACvB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,qCAAqC;IACrC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,uBAAuB;IACvB,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1C,2CAA2C;IAC3C,mBAAmB,IAAI,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACpE,aAAa,CA2Bf"}
package/dist/shared.js ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Shared types and utilities for SYLLST content
3
+ * (Inlined from @syllst/content-shared to make package self-contained)
4
+ */
5
+ /**
6
+ * Create a content loader from config and lesson loader function
7
+ */
8
+ export function createContentLoader(config, loadLessonMDX) {
9
+ return {
10
+ config,
11
+ async loadLesson(lessonNumber) {
12
+ if (lessonNumber < 1 || lessonNumber > config.lessonCount) {
13
+ throw new Error(`Lesson ${lessonNumber} not found. Valid range: 1-${config.lessonCount}`);
14
+ }
15
+ const module = await loadLessonMDX(lessonNumber);
16
+ return {
17
+ number: lessonNumber,
18
+ rawContent: module.default,
19
+ };
20
+ },
21
+ async loadAllLessons() {
22
+ const lessons = [];
23
+ for (let i = 1; i <= config.lessonCount; i++) {
24
+ lessons.push(await this.loadLesson(i));
25
+ }
26
+ return lessons;
27
+ },
28
+ getAvailableLessons() {
29
+ return Array.from({ length: config.lessonCount }, (_, i) => i + 1);
30
+ },
31
+ };
32
+ }
33
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2EH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAsB,EACtB,aAAqE;IAErE,OAAO;QACL,MAAM;QAEN,KAAK,CAAC,UAAU,CAAC,YAAoB;YACnC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,8BAA8B,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;YACjD,OAAO;gBACL,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,MAAM,CAAC,OAAO;aAC3B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc;YAClB,MAAM,OAAO,GAAmB,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,mBAAmB;YACjB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Thai Alphabet syllabus
3
3
  */
4
- import { type SyllabusConfig, type ContentLoader } from '@syllst/content-shared';
4
+ import { type SyllabusConfig, type ContentLoader } from '../../shared.js';
5
5
  export declare const config: SyllabusConfig;
6
6
  export declare const loader: ContentLoader;
7
- export declare const loadLesson: (lessonNumber: number) => Promise<import("@syllst/content-shared").LoadedLesson>;
8
- export declare const loadAllLessons: () => Promise<import("@syllst/content-shared").LoadedLesson[]>;
7
+ export declare const loadLesson: (lessonNumber: number) => Promise<import("../../shared.js").LoadedLesson>;
8
+ export declare const loadAllLessons: () => Promise<import("../../shared.js").LoadedLesson[]>;
9
9
  export declare const getAvailableLessons: () => number[];
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/syllabi/alphabet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEtG,eAAO,MAAM,MAAM,EAAE,cAWpB,CAAC;AAoBF,eAAO,MAAM,MAAM,EAAE,aAA0D,CAAC;AAChF,eAAO,MAAM,UAAU,kFAAiC,CAAC;AACzD,eAAO,MAAM,cAAc,gEAAqC,CAAC;AACjE,eAAO,MAAM,mBAAmB,gBAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/syllabi/alphabet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE/F,eAAO,MAAM,MAAM,EAAE,cAWpB,CAAC;AAoBF,eAAO,MAAM,MAAM,EAAE,aAA0D,CAAC;AAChF,eAAO,MAAM,UAAU,2EAAiC,CAAC;AACzD,eAAO,MAAM,cAAc,yDAAqC,CAAC;AACjE,eAAO,MAAM,mBAAmB,gBAA0C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Thai Alphabet syllabus
3
3
  */
4
- import { createContentLoader } from '@syllst/content-shared';
4
+ import { createContentLoader } from '../../shared.js';
5
5
  export const config = {
6
6
  id: 'th-alphabet',
7
7
  title: 'อักษรไทย (Thai Alphabet)',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/syllabi/alphabet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAA2C,MAAM,wBAAwB,CAAC;AAEtG,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,oEAAoE;IACjF,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,KAAK,UAAU,aAAa,CAAC,YAAoB;IAC/C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,YAAY,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAkB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/syllabi/alphabet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAA2C,MAAM,iBAAiB,CAAC;AAE/F,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,oEAAoE;IACjF,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,KAAK,UAAU,aAAa,CAAC,YAAoB;IAC/C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,YAAY,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAkB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syllst/th",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Thai SYLLST content - all Thai language syllabi in one package",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -60,10 +60,6 @@
60
60
  "dependencies": {
61
61
  "@syllst/content-shared": "workspace:*"
62
62
  },
63
- "peerDependencies": {
64
- "@syllst/core": "catalog:",
65
- "@syllst/processor": "catalog:"
66
- },
67
63
  "publishConfig": {
68
64
  "access": "public"
69
65
  },
@@ -80,6 +76,6 @@
80
76
  "repository": {
81
77
  "type": "git",
82
78
  "url": "https://github.com/fustilio/syllst-bundles",
83
- "directory": "languages/th/th"
79
+ "directory": "languages/th"
84
80
  }
85
81
  }