@xwiki/cristal-settings-api 0.21.0 → 0.22.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @xwiki/cristal-settings-api
2
2
 
3
+ ## 0.22.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Cristal 0.22 Release
8
+
3
9
  ## 0.21.0
4
10
 
5
11
  ### Minor Changes
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../api-extractor.json"
4
+ }
@@ -22,6 +22,7 @@
22
22
  * This should be extended with a properly typed "content" attribute for
23
23
  * specific settings.
24
24
  * @since 0.18
25
+ * @beta
25
26
  */
26
27
  export interface Settings {
27
28
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -21,6 +21,7 @@ import type { Settings } from "./settings";
21
21
  /**
22
22
  * A SettingsManager handles operations on Cristal's settings.
23
23
  * @since 0.18
24
+ * @beta
24
25
  */
25
26
  export interface SettingsManager {
26
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"settingsManager.d.ts","sourceRoot":"","sources":["../src/settingsManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE9B;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
1
+ {"version":3,"file":"settingsManager.d.ts","sourceRoot":"","sources":["../src/settingsManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE9B;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
@@ -24,6 +24,7 @@ import type { Settings } from "./settings";
24
24
  * a named component, with the name being the "key" attribute of the Settings'
25
25
  * concrete type.
26
26
  * @since 0.18
27
+ * @beta
27
28
  */
28
29
  interface SettingsParser {
29
30
  /**
@@ -37,6 +38,7 @@ interface SettingsParser {
37
38
  * A SettingsParserProvider retrieves the best instance of SettingsParser for
38
39
  * a given Settings key.
39
40
  * @since 0.18
41
+ * @beta
40
42
  */
41
43
  interface SettingsParserProvider {
42
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"settingsParser.d.ts","sourceRoot":"","sources":["../src/settingsParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,UAAU,cAAc;IACtB;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1D;AAED;;;;GAIG;AACH,UAAU,sBAAsB;IAC9B;;;;OAIG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CACpC;AAED,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"settingsParser.d.ts","sourceRoot":"","sources":["../src/settingsParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;GAOG;AACH,UAAU,cAAc;IACtB;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1D;AAED;;;;;GAKG;AACH,UAAU,sBAAsB;IAC9B;;;;OAIG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CACpC;AAED,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC"}
@@ -22,6 +22,7 @@ import type { SettingsManager } from "./settingsManager";
22
22
  * A SettingsStorage can persistently store and retrieve settings, from and to
23
23
  * a {@link SettingsManager} instance.
24
24
  * @since 0.18
25
+ * @beta
25
26
  */
26
27
  export interface SettingsStorage {
27
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"settingsStorage.d.ts","sourceRoot":"","sources":["../src/settingsStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD"}
1
+ {"version":3,"file":"settingsStorage.d.ts","sourceRoot":"","sources":["../src/settingsStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD"}
@@ -0,0 +1,41 @@
1
+ ## API Report File for "@xwiki/cristal-settings-api"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ // @beta
8
+ export interface Settings {
9
+ // (undocumented)
10
+ content: unknown;
11
+ // (undocumented)
12
+ key: string;
13
+ }
14
+
15
+ // @beta
16
+ export interface SettingsManager {
17
+ fromJSON(json: string): void;
18
+ get<T extends Settings>(type: new () => T): T | undefined;
19
+ set(settings: Settings): void;
20
+ toJSON(): string;
21
+ }
22
+
23
+ // @beta
24
+ export interface SettingsParser {
25
+ parse(serializedSettings: string, key: string): Settings;
26
+ }
27
+
28
+ // @beta
29
+ export interface SettingsParserProvider {
30
+ get(type?: string): SettingsParser;
31
+ }
32
+
33
+ // @beta
34
+ export interface SettingsStorage {
35
+ load(settingsManager: SettingsManager): Promise<void>;
36
+ save(settingsManager: SettingsManager): Promise<void>;
37
+ }
38
+
39
+ // (No @packageDocumentation comment for this package)
40
+
41
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xwiki/cristal-settings-api",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "license": "LGPL 2.1",
5
5
  "author": "XWiki Org Community <contact@xwiki.org>",
6
6
  "homepage": "https://cristal.xwiki.org/",
@@ -18,14 +18,15 @@
18
18
  "types": "./dist/index.d.ts"
19
19
  }
20
20
  },
21
- "types": "./src/index.ts",
21
+ "types": "./dist/index.d.ts",
22
22
  "devDependencies": {
23
23
  "typescript": "5.9.2",
24
- "@xwiki/cristal-dev-config": "0.21.0",
25
- "@xwiki/cristal-dsapi": "0.21.0"
24
+ "@xwiki/cristal-dsapi": "0.22.0",
25
+ "@xwiki/cristal-dev-config": "0.22.0"
26
26
  },
27
27
  "scripts": {
28
- "build": "rimraf dist && tsc --project tsconfig.json",
28
+ "api-extractor:local": "api-extractor run --local",
29
+ "build": "rimraf dist && tsc",
29
30
  "clean": "rimraf dist",
30
31
  "lint": "eslint \"./src/**/*.{ts,tsx,vue}\" --max-warnings=0"
31
32
  }
package/src/settings.ts CHANGED
@@ -23,6 +23,7 @@
23
23
  * This should be extended with a properly typed "content" attribute for
24
24
  * specific settings.
25
25
  * @since 0.18
26
+ * @beta
26
27
  */
27
28
  export interface Settings {
28
29
  key: string;
@@ -23,6 +23,7 @@ import type { Settings } from "./settings";
23
23
  /**
24
24
  * A SettingsManager handles operations on Cristal's settings.
25
25
  * @since 0.18
26
+ * @beta
26
27
  */
27
28
  export interface SettingsManager {
28
29
  /**
@@ -26,6 +26,7 @@ import type { Settings } from "./settings";
26
26
  * a named component, with the name being the "key" attribute of the Settings'
27
27
  * concrete type.
28
28
  * @since 0.18
29
+ * @beta
29
30
  */
30
31
  interface SettingsParser {
31
32
  /**
@@ -40,6 +41,7 @@ interface SettingsParser {
40
41
  * A SettingsParserProvider retrieves the best instance of SettingsParser for
41
42
  * a given Settings key.
42
43
  * @since 0.18
44
+ * @beta
43
45
  */
44
46
  interface SettingsParserProvider {
45
47
  /**
@@ -24,6 +24,7 @@ import type { SettingsManager } from "./settingsManager";
24
24
  * A SettingsStorage can persistently store and retrieve settings, from and to
25
25
  * a {@link SettingsManager} instance.
26
26
  * @since 0.18
27
+ * @beta
27
28
  */
28
29
  export interface SettingsStorage {
29
30
  /**