el-diatonico-models 1.0.1 → 1.0.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.
@@ -1,4 +1,5 @@
1
1
  import type { IAccordion } from "@Accordion";
2
+ import type { Bass } from "@Basses";
2
3
  import type { AccordionTuning } from "@Enums";
3
4
  import type { IKeyBoard } from "@Keyboard";
4
5
  import type { ITonality } from "@Tonality";
@@ -6,7 +7,8 @@ import type { ITonality } from "@Tonality";
6
7
  * Represents a physical accordion instrument.
7
8
  *
8
9
  * An accordion consists of two keyboards (opening and closing bellows directions),
9
- * a specific tuning system, and a collection of available tonalities.
10
+ * a specific tuning system, a collection of available tonalities,
11
+ * and two bass sections (opening and closing bellows directions).
10
12
  *
11
13
  * @example
12
14
  * ```typescript
@@ -24,6 +26,10 @@ export declare class Accordion implements IAccordion {
24
26
  readonly keyboardOpening: IKeyBoard;
25
27
  /** The available tonalities for this accordion */
26
28
  readonly tones: ITonality[];
29
+ /** The basses for closing bellows (Cerrando) */
30
+ readonly bassesClosing: Bass[];
31
+ /** The basses for opening bellows (Abriendo) */
32
+ readonly bassesOpening: Bass[];
27
33
  /**
28
34
  * Creates a new Accordion instance.
29
35
  *
@@ -31,7 +37,9 @@ export declare class Accordion implements IAccordion {
31
37
  * @param keyboardClosing - The closing bellows keyboard
32
38
  * @param keyboardOpening - The opening bellows keyboard
33
39
  * @param tones - Available tonalities
40
+ * @param bassesClosing - The basses available while closing bellows
41
+ * @param bassesOpening - The basses available while opening bellows
34
42
  */
35
- constructor(tuning: AccordionTuning, keyboardClosing: IKeyBoard, keyboardOpening: IKeyBoard, tones: ITonality[]);
43
+ constructor(tuning: AccordionTuning, keyboardClosing: IKeyBoard, keyboardOpening: IKeyBoard, tones: ITonality[], bassesClosing: Bass[], bassesOpening: Bass[]);
36
44
  }
37
45
  //# sourceMappingURL=Accordion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion/Accordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAE5B;;;;;;;OAOG;gBAED,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,SAAS,EAAE;CAOrB"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion/Accordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IAE/B;;;;;;;;;OASG;gBAED,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,aAAa,EAAE,IAAI,EAAE,EACrB,aAAa,EAAE,IAAI,EAAE;CASxB"}
@@ -2,7 +2,8 @@
2
2
  * Represents a physical accordion instrument.
3
3
  *
4
4
  * An accordion consists of two keyboards (opening and closing bellows directions),
5
- * a specific tuning system, and a collection of available tonalities.
5
+ * a specific tuning system, a collection of available tonalities,
6
+ * and two bass sections (opening and closing bellows directions).
6
7
  *
7
8
  * @example
8
9
  * ```typescript
@@ -19,12 +20,16 @@ export class Accordion {
19
20
  * @param keyboardClosing - The closing bellows keyboard
20
21
  * @param keyboardOpening - The opening bellows keyboard
21
22
  * @param tones - Available tonalities
23
+ * @param bassesClosing - The basses available while closing bellows
24
+ * @param bassesOpening - The basses available while opening bellows
22
25
  */
23
- constructor(tuning, keyboardClosing, keyboardOpening, tones) {
26
+ constructor(tuning, keyboardClosing, keyboardOpening, tones, bassesClosing, bassesOpening) {
24
27
  this.tuning = tuning;
25
28
  this.keyboardClosing = keyboardClosing;
26
29
  this.keyboardOpening = keyboardOpening;
27
30
  this.tones = tones;
31
+ this.bassesClosing = bassesClosing;
32
+ this.bassesOpening = bassesOpening;
28
33
  }
29
34
  }
30
35
  //# sourceMappingURL=Accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,SAAS;IAUpB;;;;;;;OAOG;IACH,YACE,MAAuB,EACvB,eAA0B,EAC1B,eAA0B,EAC1B,KAAkB;QAElB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,SAAS;IAcpB;;;;;;;;;OASG;IACH,YACE,MAAuB,EACvB,eAA0B,EAC1B,eAA0B,EAC1B,KAAkB,EAClB,aAAqB,EACrB,aAAqB;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF"}
@@ -4,12 +4,19 @@ import { type AccordionTuning } from "@Enums";
4
4
  * Factory for creating Accordion instances.
5
5
  *
6
6
  * Handles the creation of complete accordion objects with all required keyboards
7
- * (closing/cerrando and opening/abriendo) and tonalities for a given tuning.
7
+ * (closing/cerrando and opening/abriendo), bass sets, and tonalities for a
8
+ * given tuning.
8
9
  */
9
10
  export declare class AccordionFactory {
11
+ /** Loader used to retrieve tonalities grouped by accordion tuning. */
10
12
  private static tonalitiesLoader;
11
13
  /**
12
- * Creates an Accordion with both keyboard configurations.
14
+ * Creates a fully configured accordion for a given tuning.
15
+ *
16
+ * The resulting accordion includes:
17
+ * - both keyboard configurations (closing and opening bellows)
18
+ * - tonalities available for the tuning
19
+ * - basses for both bellows directions
13
20
  *
14
21
  * @param tuning - The accordion tuning (e.g., FA, SOL)
15
22
  * @returns A fully initialized Accordion instance
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionFactory.d.ts","sourceRoot":"","sources":["../../src/Accordion/AccordionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAW,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAKvD;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA0B;IAEzD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;CAmB3D"}
1
+ {"version":3,"file":"AccordionFactory.d.ts","sourceRoot":"","sources":["../../src/Accordion/AccordionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAW,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAIvD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA0B;IAEzD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;CA0B3D"}
@@ -1,17 +1,24 @@
1
1
  import { Accordion } from "@Accordion";
2
+ import { ConfigurationError } from "@Core";
3
+ import { BassesData } from "@Data";
2
4
  import { Bellows } from "@Enums";
3
- import { TonalitiesLoader } from "@Loaders";
4
5
  import { KeyboardFactory } from "@Keyboard";
5
- import { ConfigurationError } from "@Core";
6
+ import { TonalitiesLoader } from "@Loaders";
6
7
  /**
7
8
  * Factory for creating Accordion instances.
8
9
  *
9
10
  * Handles the creation of complete accordion objects with all required keyboards
10
- * (closing/cerrando and opening/abriendo) and tonalities for a given tuning.
11
+ * (closing/cerrando and opening/abriendo), bass sets, and tonalities for a
12
+ * given tuning.
11
13
  */
12
14
  export class AccordionFactory {
13
15
  /**
14
- * Creates an Accordion with both keyboard configurations.
16
+ * Creates a fully configured accordion for a given tuning.
17
+ *
18
+ * The resulting accordion includes:
19
+ * - both keyboard configurations (closing and opening bellows)
20
+ * - tonalities available for the tuning
21
+ * - basses for both bellows directions
15
22
  *
16
23
  * @param tuning - The accordion tuning (e.g., FA, SOL)
17
24
  * @returns A fully initialized Accordion instance
@@ -28,8 +35,9 @@ export class AccordionFactory {
28
35
  throw new ConfigurationError(`No tonalities found for accordion tuning: ${tuning}`);
29
36
  const keyboardClosing = KeyboardFactory.createKeyboard(tuning, Bellows.CERRANDO);
30
37
  const keyboardOpening = KeyboardFactory.createKeyboard(tuning, Bellows.ABRIENDO);
31
- return new Accordion(tuning, keyboardClosing, keyboardOpening, tonalities);
38
+ return new Accordion(tuning, keyboardClosing, keyboardOpening, tonalities, BassesData[tuning][Bellows.CERRANDO], BassesData[tuning][Bellows.ABRIENDO]);
32
39
  }
33
40
  }
41
+ /** Loader used to retrieve tonalities grouped by accordion tuning. */
34
42
  AccordionFactory.tonalitiesLoader = new TonalitiesLoader();
35
43
  //# sourceMappingURL=AccordionFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionFactory.js","sourceRoot":"","sources":["../../src/Accordion/AccordionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAwB,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IAG3B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe,CAAC,MAAuB;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACxB,MAAM,IAAI,kBAAkB,CAC1B,6CAA6C,MAAM,EAAE,CACtD,CAAC;QAEJ,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CACpD,MAAM,EACN,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CACpD,MAAM,EACN,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;;AAhCc,iCAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"AccordionFactory.js","sourceRoot":"","sources":["../../src/Accordion/AccordionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,OAAO,EAAwB,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAI3B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,MAAuB;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACxB,MAAM,IAAI,kBAAkB,CAC1B,6CAA6C,MAAM,EAAE,CACtD,CAAC;QAEJ,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CACpD,MAAM,EACN,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CACpD,MAAM,EACN,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACpC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACrC,CAAC;IACJ,CAAC;;AA7CD,sEAAsE;AACvD,iCAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Bass } from "@Basses";
1
2
  import { AccordionTuning } from "@Enums";
2
3
  import type { IKeyBoard } from "@Keyboard";
3
4
  import type { ITonality } from "@Tonality";
@@ -6,5 +7,7 @@ export interface IAccordion {
6
7
  keyboardClosing: IKeyBoard;
7
8
  keyboardOpening: IKeyBoard;
8
9
  tones: ITonality[];
10
+ bassesClosing: Bass[];
11
+ bassesOpening: Bass[];
9
12
  }
10
13
  //# sourceMappingURL=IAccordion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IAccordion.d.ts","sourceRoot":"","sources":["../../src/Accordion/IAccordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"IAccordion.d.ts","sourceRoot":"","sources":["../../src/Accordion/IAccordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI,EAAE,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IAccordion.js","sourceRoot":"","sources":["../../src/Accordion/IAccordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"IAccordion.js","sourceRoot":"","sources":["../../src/Accordion/IAccordion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "el-diatonico-models",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Models used inside the el-diatonico site.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",