@the_library/standard-adapters 1.0.1 → 1.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.
Files changed (61) hide show
  1. package/LICENSE +684 -0
  2. package/README.md +69 -61
  3. package/THIRD_PARTY_NOTICES +3 -0
  4. package/dist/bbk/index.js +11 -2
  5. package/dist/bbk/index.js.map +1 -1
  6. package/dist/cc/index.js +11 -2
  7. package/dist/cc/index.js.map +1 -1
  8. package/dist/{chunk-INW2BUCX.js → chunk-5RNEFYG4.js} +10 -3
  9. package/dist/chunk-5RNEFYG4.js.map +1 -0
  10. package/dist/{chunk-VP4ER7MD.js → chunk-5W3ZWMUQ.js} +10 -3
  11. package/dist/chunk-5W3ZWMUQ.js.map +1 -0
  12. package/dist/{chunk-D5QOJWWA.js → chunk-ADV2G3VE.js} +10 -3
  13. package/dist/chunk-ADV2G3VE.js.map +1 -0
  14. package/dist/{chunk-KNGZ7NJF.js → chunk-B3OKVAXL.js} +10 -3
  15. package/dist/chunk-B3OKVAXL.js.map +1 -0
  16. package/dist/{chunk-3OK4JVCA.js → chunk-BJQSNRJI.js} +11 -3
  17. package/dist/chunk-BJQSNRJI.js.map +1 -0
  18. package/dist/{chunk-AHIDYNLW.js → chunk-HQICVT3W.js} +10 -3
  19. package/dist/chunk-HQICVT3W.js.map +1 -0
  20. package/dist/{chunk-GJJ6NIDQ.js → chunk-HWMSPPAK.js} +10 -3
  21. package/dist/chunk-HWMSPPAK.js.map +1 -0
  22. package/dist/{chunk-KOHT5EA3.js → chunk-OMNF76QQ.js} +10 -3
  23. package/dist/chunk-OMNF76QQ.js.map +1 -0
  24. package/dist/{chunk-DX6SH342.js → chunk-Q72TUYFB.js} +10 -3
  25. package/dist/chunk-Q72TUYFB.js.map +1 -0
  26. package/dist/{chunk-C5WHAJXI.js → chunk-QCAFHNGS.js} +10 -3
  27. package/dist/chunk-QCAFHNGS.js.map +1 -0
  28. package/dist/{chunk-IJYCM5NU.js → chunk-TACIHHFK.js} +10 -3
  29. package/dist/chunk-TACIHHFK.js.map +1 -0
  30. package/dist/clc/index.js +11 -2
  31. package/dist/clc/index.js.map +1 -1
  32. package/dist/ddc/index.js +11 -2
  33. package/dist/ddc/index.js.map +1 -1
  34. package/dist/index.js +53 -12
  35. package/dist/index.js.map +1 -1
  36. package/dist/isbn/index.js +11 -2
  37. package/dist/isbn/index.js.map +1 -1
  38. package/dist/isni/index.js +11 -2
  39. package/dist/isni/index.js.map +1 -1
  40. package/dist/issn/index.js +11 -2
  41. package/dist/issn/index.js.map +1 -1
  42. package/dist/lcc/index.js +11 -2
  43. package/dist/lcc/index.js.map +1 -1
  44. package/dist/orcid/index.js +11 -2
  45. package/dist/orcid/index.js.map +1 -1
  46. package/dist/tlc/index.js +11 -2
  47. package/dist/tlc/index.js.map +1 -1
  48. package/dist/udc/index.js +11 -2
  49. package/dist/udc/index.js.map +1 -1
  50. package/package.json +6 -4
  51. package/dist/chunk-3OK4JVCA.js.map +0 -1
  52. package/dist/chunk-AHIDYNLW.js.map +0 -1
  53. package/dist/chunk-C5WHAJXI.js.map +0 -1
  54. package/dist/chunk-D5QOJWWA.js.map +0 -1
  55. package/dist/chunk-DX6SH342.js.map +0 -1
  56. package/dist/chunk-GJJ6NIDQ.js.map +0 -1
  57. package/dist/chunk-IJYCM5NU.js.map +0 -1
  58. package/dist/chunk-INW2BUCX.js.map +0 -1
  59. package/dist/chunk-KNGZ7NJF.js.map +0 -1
  60. package/dist/chunk-KOHT5EA3.js.map +0 -1
  61. package/dist/chunk-VP4ER7MD.js.map +0 -1
@@ -1,3 +1,9 @@
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+
1
7
  // src/udc/index.ts
2
8
  var UDCAdapter = {
3
9
  standardId: "udc",
@@ -21,6 +27,7 @@ var UDCAdapter = {
21
27
  apis: {}
22
28
  };
23
29
 
24
- export { UDCAdapter };
25
- //# sourceMappingURL=chunk-C5WHAJXI.js.map
26
- //# sourceMappingURL=chunk-C5WHAJXI.js.map
30
+ export {
31
+ UDCAdapter
32
+ };
33
+ //# sourceMappingURL=chunk-QCAFHNGS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/udc/index.ts"],"sourcesContent":["/*\n * D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1\n * Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).\n * Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com\n */\n\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface UDCProps extends Record<string, string | null> { udcNotation: string | null; }\n\ntype UDCApis = Record<string, never>;\n\nexport const UDCAdapter: StandardAdapter<UDCProps, UDCApis> = {\n standardId: 'udc',\n uriScheme: 'UDC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return UDCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'UDC notation is absent' };\n const normalized = UDCAdapter.normalize(value);\n if (!/^[0-9\\.\\-\\:\\+\\/\\(\\)\\[\\]\\=\\*\\\"\\s]+$/.test(normalized))\n return { valid: false, error: `UDC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://udcsummary.info/php/index.php?c=${UDCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"],"mappings":";;;;;;;AAaO,IAAM,aAAiD;AAAA,EAC5D,YAAY;AAAA,EACZ,WAAY;AAAA,EAEZ,UAAU,OAAuB;AAC/B,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,QAAQ,OAAuB;AAC7B,WAAO,WAAW,UAAU,KAAK;AAAA,EACnC;AAAA,EAEA,SAAS,OAAoD;AAC3D,QAAI,CAAC,MAAO,QAAO,EAAE,OAAO,OAAO,OAAO,yBAAyB;AACnE,UAAM,aAAa,WAAW,UAAU,KAAK;AAC7C,QAAI,CAAC,qCAAqC,KAAK,UAAU;AACvD,aAAO,EAAE,OAAO,OAAO,OAAO,wCAAwC,UAAU,GAAG;AACrF,WAAO,EAAE,OAAO,KAAK;AAAA,EACvB;AAAA,EAEA,gBAAgB,OAAuB;AACrC,WAAO,2CAA2C,WAAW,UAAU,KAAK,CAAC;AAAA,EAC/E;AAAA,EAEA,MAAM,CAAC;AACT;","names":[]}
@@ -1,3 +1,9 @@
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+
1
7
  // src/clc/index.ts
2
8
  var CLCAdapter = {
3
9
  standardId: "clc",
@@ -21,6 +27,7 @@ var CLCAdapter = {
21
27
  apis: {}
22
28
  };
23
29
 
24
- export { CLCAdapter };
25
- //# sourceMappingURL=chunk-IJYCM5NU.js.map
26
- //# sourceMappingURL=chunk-IJYCM5NU.js.map
30
+ export {
31
+ CLCAdapter
32
+ };
33
+ //# sourceMappingURL=chunk-TACIHHFK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clc/index.ts"],"sourcesContent":["/*\n * D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1\n * Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).\n * Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com\n */\n\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface CLCProps extends Record<string, string | null> { clcNotation: string | null; }\n\ntype CLCApis = Record<string, never>;\n\nexport const CLCAdapter: StandardAdapter<CLCProps, CLCApis> = {\n standardId: 'clc',\n uriScheme: 'CLC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return CLCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'CLC notation is absent' };\n const normalized = CLCAdapter.normalize(value);\n if (!/^[A-Z0-9\\.\\-\\+\\=\\s]+$/.test(normalized))\n return { valid: false, error: `CLC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://clc.nlc.cn/${CLCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"],"mappings":";;;;;;;AAaO,IAAM,aAAiD;AAAA,EAC5D,YAAY;AAAA,EACZ,WAAY;AAAA,EAEZ,UAAU,OAAuB;AAC/B,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,QAAQ,OAAuB;AAC7B,WAAO,WAAW,UAAU,KAAK;AAAA,EACnC;AAAA,EAEA,SAAS,OAAoD;AAC3D,QAAI,CAAC,MAAO,QAAO,EAAE,OAAO,OAAO,OAAO,yBAAyB;AACnE,UAAM,aAAa,WAAW,UAAU,KAAK;AAC7C,QAAI,CAAC,wBAAwB,KAAK,UAAU;AAC1C,aAAO,EAAE,OAAO,OAAO,OAAO,wCAAwC,UAAU,GAAG;AACrF,WAAO,EAAE,OAAO,KAAK;AAAA,EACvB;AAAA,EAEA,gBAAgB,OAAuB;AACrC,WAAO,sBAAsB,WAAW,UAAU,KAAK,CAAC;AAAA,EAC1D;AAAA,EAEA,MAAM,CAAC;AACT;","names":[]}
package/dist/clc/index.js CHANGED
@@ -1,3 +1,12 @@
1
- export { CLCAdapter } from '../chunk-IJYCM5NU.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ CLCAdapter
8
+ } from "../chunk-TACIHHFK.js";
9
+ export {
10
+ CLCAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/ddc/index.js CHANGED
@@ -1,3 +1,12 @@
1
- export { DDCAdapter } from '../chunk-AHIDYNLW.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ DDCAdapter
8
+ } from "../chunk-HQICVT3W.js";
9
+ export {
10
+ DDCAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.js CHANGED
@@ -1,13 +1,54 @@
1
- export { DDCAdapter } from './chunk-AHIDYNLW.js';
2
- export { ORCIDAdapter } from './chunk-KNGZ7NJF.js';
3
- export { TLCAdapter } from './chunk-D5QOJWWA.js';
4
- export { UDCAdapter } from './chunk-C5WHAJXI.js';
5
- export { BBKAdapter } from './chunk-INW2BUCX.js';
6
- export { CCAdapter } from './chunk-KOHT5EA3.js';
7
- export { CLCAdapter } from './chunk-IJYCM5NU.js';
8
- export { ISBNAdapter, apiKeyDictionary } from './chunk-3OK4JVCA.js';
9
- export { ISSNAdapter } from './chunk-GJJ6NIDQ.js';
10
- export { ISNIAdapter } from './chunk-DX6SH342.js';
11
- export { LCCAdapter } from './chunk-VP4ER7MD.js';
12
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ ISSNAdapter
8
+ } from "./chunk-HWMSPPAK.js";
9
+ import {
10
+ ORCIDAdapter
11
+ } from "./chunk-B3OKVAXL.js";
12
+ import {
13
+ TLCAdapter
14
+ } from "./chunk-ADV2G3VE.js";
15
+ import {
16
+ UDCAdapter
17
+ } from "./chunk-QCAFHNGS.js";
18
+ import {
19
+ CCAdapter
20
+ } from "./chunk-OMNF76QQ.js";
21
+ import {
22
+ BBKAdapter
23
+ } from "./chunk-5RNEFYG4.js";
24
+ import {
25
+ ISBNAdapter,
26
+ apiKeyDictionary
27
+ } from "./chunk-BJQSNRJI.js";
28
+ import {
29
+ ISNIAdapter
30
+ } from "./chunk-Q72TUYFB.js";
31
+ import {
32
+ DDCAdapter
33
+ } from "./chunk-HQICVT3W.js";
34
+ import {
35
+ CLCAdapter
36
+ } from "./chunk-TACIHHFK.js";
37
+ import {
38
+ LCCAdapter
39
+ } from "./chunk-5W3ZWMUQ.js";
40
+ export {
41
+ BBKAdapter,
42
+ CCAdapter,
43
+ CLCAdapter,
44
+ DDCAdapter,
45
+ ISBNAdapter,
46
+ ISNIAdapter,
47
+ ISSNAdapter,
48
+ LCCAdapter,
49
+ ORCIDAdapter,
50
+ TLCAdapter,
51
+ UDCAdapter,
52
+ apiKeyDictionary
53
+ };
13
54
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,12 @@
1
- export { ISBNAdapter } from '../chunk-3OK4JVCA.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ ISBNAdapter
8
+ } from "../chunk-BJQSNRJI.js";
9
+ export {
10
+ ISBNAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,12 @@
1
- export { ISNIAdapter } from '../chunk-DX6SH342.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ ISNIAdapter
8
+ } from "../chunk-Q72TUYFB.js";
9
+ export {
10
+ ISNIAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,12 @@
1
- export { ISSNAdapter } from '../chunk-GJJ6NIDQ.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ ISSNAdapter
8
+ } from "../chunk-HWMSPPAK.js";
9
+ export {
10
+ ISSNAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/lcc/index.js CHANGED
@@ -1,3 +1,12 @@
1
- export { LCCAdapter } from '../chunk-VP4ER7MD.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ LCCAdapter
8
+ } from "../chunk-5W3ZWMUQ.js";
9
+ export {
10
+ LCCAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,12 @@
1
- export { ORCIDAdapter } from '../chunk-KNGZ7NJF.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ ORCIDAdapter
8
+ } from "../chunk-B3OKVAXL.js";
9
+ export {
10
+ ORCIDAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/tlc/index.js CHANGED
@@ -1,3 +1,12 @@
1
- export { TLCAdapter } from '../chunk-D5QOJWWA.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ TLCAdapter
8
+ } from "../chunk-ADV2G3VE.js";
9
+ export {
10
+ TLCAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/udc/index.js CHANGED
@@ -1,3 +1,12 @@
1
- export { UDCAdapter } from '../chunk-C5WHAJXI.js';
2
- //# sourceMappingURL=index.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import {
7
+ UDCAdapter
8
+ } from "../chunk-QCAFHNGS.js";
9
+ export {
10
+ UDCAdapter
11
+ };
3
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@the_library/standard-adapters",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
+ "license": "SEE LICENSE IN LICENSE",
4
5
  "description": "Runtime StandardAdapter implementations for all canonical standards.",
5
6
  "type": "module",
6
7
  "main": "./dist/index.js",
@@ -56,11 +57,12 @@
56
57
  }
57
58
  },
58
59
  "files": [
59
- "dist"
60
+ "dist",
61
+ "THIRD_PARTY_NOTICES"
60
62
  ],
61
63
  "sideEffects": false,
62
64
  "peerDependencies": {
63
- "@the_library/canonical-schemas": "^1.0.0"
65
+ "@the_library/canonical-schemas": "^1.1.0"
64
66
  },
65
67
  "devDependencies": {
66
68
  "@vitest/coverage-v8": "^1.6.1",
@@ -68,7 +70,7 @@
68
70
  "tsx": "^4.19.3",
69
71
  "typescript": "^6.0.3",
70
72
  "vitest": "^1.6.1",
71
- "@the_library/canonical-schemas": "1.0.0"
73
+ "@the_library/canonical-schemas": "1.1.0"
72
74
  },
73
75
  "scripts": {
74
76
  "build": "tsup",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/api-keys.ts","../src/isbn/index.ts"],"names":[],"mappings":"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","file":"chunk-3OK4JVCA.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nexport interface ApiKeyDictionary {\n set(apiId: string, value: string): void;\n get(apiId: string): string | undefined;\n require(apiId: string): string;\n}\n\nconst _keys = new Map<string, string>();\n\nexport const apiKeyDictionary: ApiKeyDictionary = {\n set(apiId: string, value: string): void {\n if (!value) throw new Error(`[apiKeyDictionary] Empty value passed for apiId \"${apiId}\".`);\n _keys.set(apiId, value);\n },\n\n get(apiId: string): string | undefined {\n return _keys.get(apiId);\n },\n\n require(apiId: string): string {\n const key = _keys.get(apiId);\n if (!key) throw new Error(\n `[${apiId}] API key is not configured. ` +\n `Call apiKeyDictionary.set(\"${apiId}\", \"<your-key>\") before using this adapter.`\n );\n return key;\n },\n};\n","/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, StandardApiAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\nimport { apiKeyDictionary } from '../api-keys';\nimport type { OpenLibraryBookResult, GoogleBooksVolumeResult } from './types';\n\ninterface ISBNProps extends Record<string, string | null> { isbn: string | null; }\n\ntype ISBNApis = {\n openlibrary: StandardApiAdapter<ISBNProps, OpenLibraryBookResult>;\n googlebooks: StandardApiAdapter<ISBNProps, GoogleBooksVolumeResult>;\n};\n\nfunction validateISBN13Luhn(isbn13: string): ValidationResult {\n if (isbn13.length !== 13) return { valid: false, error: `Expected 13 digits, got ${isbn13.length}` };\n let sum = 0;\n for (let i = 0; i < 12; i++) sum += parseInt(isbn13[i], 10) * (i % 2 === 0 ? 1 : 3);\n const expected = (10 - (sum % 10)) % 10;\n if (expected !== parseInt(isbn13[12], 10))\n return { valid: false, error: `Check digit mismatch: expected ${expected}, got ${isbn13[12]}` };\n return { valid: true };\n}\n\nexport const ISBNAdapter: StandardAdapter<ISBNProps, ISBNApis> = {\n standardId: 'isbn',\n uriScheme: 'ISBN',\n\n normalize(value: string): string {\n const digits = value.replace(/[\\s-]/g, '');\n if (digits.length === 10) {\n const base = '978' + digits.slice(0, 9);\n let sum = 0;\n for (let i = 0; i < 12; i++) sum += parseInt(base[i], 10) * (i % 2 === 0 ? 1 : 3);\n return base + (10 - (sum % 10)) % 10;\n }\n return digits;\n },\n\n display(value: string): string {\n const n = ISBNAdapter.normalize(value);\n if (n.length === 13) return `${n.slice(0, 3)}-${n[3]}-${n.slice(4, 7)}-${n.slice(7, 12)}-${n[12]}`;\n return n;\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'ISBN is absent' };\n const normalized = ISBNAdapter.normalize(value);\n if (!/^97[89][0-9]{10}$/.test(normalized))\n return { valid: false, error: `ISBN does not match pattern: ${normalized}` };\n return validateISBN13Luhn(normalized);\n },\n\n toLinkedDataUri(value: string): string {\n return `urn:isbn:${ISBNAdapter.normalize(value)}`;\n },\n\n apis: {\n openlibrary: {\n apiId: 'openlibrary',\n name: 'Open Library Books API',\n async fetch({ isbn }): Promise<OpenLibraryBookResult> {\n if (!isbn) return {};\n const res = await fetch(\n `https://openlibrary.org/api/books?bibkeys=ISBN:${isbn}&format=json&jscmd=data`\n );\n if (!res.ok) return {};\n const data = await res.json() as Record<string, unknown>;\n const book = (data[`ISBN:${isbn}`] ?? {}) as Record<string, unknown>;\n return {\n title: book.title as string | undefined,\n authors: (book.authors as { name: string }[] | undefined)?.map(a => a.name),\n publishDate: book.publish_date as string | undefined,\n pageCount: book.number_of_pages as number | undefined,\n coverUrl: (book.cover as { medium?: string } | undefined)?.medium,\n description: (book.excerpts as { text: string }[] | undefined)?.[0]?.text,\n };\n },\n },\n googlebooks: {\n apiId: 'googlebooks',\n name: 'Google Books API',\n async fetch({ isbn }): Promise<GoogleBooksVolumeResult> {\n if (!isbn) return {};\n const key = apiKeyDictionary.require('googlebooks');\n const res = await fetch(\n `https://www.googleapis.com/books/v1/volumes?q=isbn:${isbn}&key=${key}`\n );\n if (!res.ok) return {};\n const data = await res.json() as { items?: { volumeInfo: Record<string, unknown> }[] };\n const info = data.items?.[0]?.volumeInfo ?? {};\n return {\n title: info.title as string | undefined,\n authors: info.authors as string[] | undefined,\n publishedDate: info.publishedDate as string | undefined,\n pageCount: info.pageCount as number | undefined,\n language: info.language as string | undefined,\n description: info.description as string | undefined,\n thumbnail: (info.imageLinks as { thumbnail?: string } | undefined)?.thumbnail,\n };\n },\n },\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ddc/index.ts"],"names":[],"mappings":";AAqBO,IAAM,UAAA,GAAiD;AAAA,EAC5D,UAAA,EAAY,KAAA;AAAA,EACZ,SAAA,EAAY,KAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,IAAI,OAAA,GAAU,MAAM,IAAA,EAAK;AACzB,IAAA,IAAI,OAAA,CAAQ,SAAS,GAAG,CAAA,YAAa,OAAA,CAAQ,OAAA,CAAQ,UAAU,EAAE,CAAA;AACjE,IAAA,OAAO,OAAA;AAAA,EACT,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,UAAA,CAAW,UAAU,KAAK,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,wBAAA,EAAyB;AACnE,IAAA,MAAM,UAAA,GAAa,UAAA,CAAW,SAAA,CAAU,KAAK,CAAA;AAC7C,IAAA,IAAI,CAAC,uBAAA,CAAwB,IAAA,CAAK,UAAU,CAAA;AAC1C,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,EAAG;AACrF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,8CAAA,EAAiD,UAAA,CAAW,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EACrF,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-AHIDYNLW.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface DDCProps extends Record<string, string | null> { ddcNotation: string | null; }\n\ntype DDCApis = Record<string, never>;\n\nexport const DDCAdapter: StandardAdapter<DDCProps, DDCApis> = {\n standardId: 'ddc',\n uriScheme: 'DDC',\n\n normalize(value: string): string {\n let trimmed = value.trim();\n if (trimmed.includes('.')) trimmed = trimmed.replace(/\\.?0+$/, '');\n return trimmed;\n },\n\n display(value: string): string {\n return DDCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'DDC notation is absent' };\n const normalized = DDCAdapter.normalize(value);\n if (!/^[0-9]{3}(\\.[0-9]+)?$/.test(normalized))\n return { valid: false, error: `DDC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://id.loc.gov/authorities/classification/${DDCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/udc/index.ts"],"names":[],"mappings":";AAqBO,IAAM,UAAA,GAAiD;AAAA,EAC5D,UAAA,EAAY,KAAA;AAAA,EACZ,SAAA,EAAY,KAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,OAAO,MAAM,IAAA,EAAK;AAAA,EACpB,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,UAAA,CAAW,UAAU,KAAK,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,wBAAA,EAAyB;AACnE,IAAA,MAAM,UAAA,GAAa,UAAA,CAAW,SAAA,CAAU,KAAK,CAAA;AAC7C,IAAA,IAAI,CAAC,oCAAA,CAAqC,IAAA,CAAK,UAAU,CAAA;AACvD,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,EAAG;AACrF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,wCAAA,EAA2C,UAAA,CAAW,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EAC/E,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-C5WHAJXI.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface UDCProps extends Record<string, string | null> { udcNotation: string | null; }\n\ntype UDCApis = Record<string, never>;\n\nexport const UDCAdapter: StandardAdapter<UDCProps, UDCApis> = {\n standardId: 'udc',\n uriScheme: 'UDC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return UDCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'UDC notation is absent' };\n const normalized = UDCAdapter.normalize(value);\n if (!/^[0-9\\.\\-\\:\\+\\/\\(\\)\\[\\]\\=\\*\\\"\\s]+$/.test(normalized))\n return { valid: false, error: `UDC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://udcsummary.info/php/index.php?c=${UDCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tlc/index.ts"],"names":[],"mappings":";AAqBO,IAAM,UAAA,GAAiD;AAAA,EAC5D,UAAA,EAAY,KAAA;AAAA,EACZ,SAAA,EAAY,KAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,OAAO,MAAM,IAAA,EAAK;AAAA,EACpB,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,UAAA,CAAW,UAAU,KAAK,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,wBAAA,EAAyB;AACnE,IAAA,MAAM,UAAA,GAAa,UAAA,CAAW,SAAA,CAAU,KAAK,CAAA;AAC7C,IAAA,IAAI,CAAC,mBAAA,CAAoB,IAAA,CAAK,UAAU,CAAA;AACtC,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,EAAG;AACrF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,sBAAA,EAAyB,UAAA,CAAW,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EAC7D,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-D5QOJWWA.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface TLCProps extends Record<string, string | null> { tlcNotation: string | null; }\n\ntype TLCApis = Record<string, never>;\n\nexport const TLCAdapter: StandardAdapter<TLCProps, TLCApis> = {\n standardId: 'tlc',\n uriScheme: 'TLC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return TLCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'TLC notation is absent' };\n const normalized = TLCAdapter.normalize(value);\n if (!/^[A-Z0-9\\.\\-\\s]+$/.test(normalized))\n return { valid: false, error: `TLC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://nlt.go.th/tlc/${TLCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/isni/index.ts"],"names":[],"mappings":"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","file":"chunk-DX6SH342.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, StandardApiAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\nimport type { IsniSruResult } from './types';\n\ninterface ISNIProps extends Record<string, string | null> { isniId: string | null; }\n\ntype ISNIApis = {\n 'isni-sru': StandardApiAdapter<ISNIProps, IsniSruResult[]>;\n};\n\nfunction validateISNIMod11_2(compact: string): ValidationResult {\n if (compact.length !== 16) return { valid: false, error: `Expected 16 chars, got ${compact.length}` };\n let p = 0;\n for (let i = 0; i < 15; i++) {\n const d = parseInt(compact[i], 10);\n if (isNaN(d)) return { valid: false, error: `Non-digit character at position ${i}` };\n p = ((p + d) * 2) % 11;\n }\n const checkVal = (12 - p) % 11;\n const checkChar = checkVal === 10 ? 'X' : String(checkVal);\n if (compact[15].toUpperCase() !== checkChar)\n return { valid: false, error: `Check digit mismatch: expected ${checkChar}, got ${compact[15]}` };\n return { valid: true };\n}\n\nexport const ISNIAdapter: StandardAdapter<ISNIProps, ISNIApis> = {\n standardId: 'isni',\n uriScheme: 'ISNI',\n\n normalize(value: string): string {\n return value.replace(/[\\s-]/g, '');\n },\n\n display(value: string): string {\n const compact = ISNIAdapter.normalize(value);\n if (compact.length === 16)\n return `${compact.slice(0, 4)} ${compact.slice(4, 8)} ${compact.slice(8, 12)} ${compact.slice(12)}`;\n return compact;\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'ISNI is absent' };\n const compact = ISNIAdapter.normalize(value);\n if (!/^[0-9]{15}[0-9X]$/.test(compact))\n return { valid: false, error: `ISNI does not match pattern: ${compact}` };\n return validateISNIMod11_2(compact);\n },\n\n toLinkedDataUri(value: string): string {\n return `https://isni.org/isni/${ISNIAdapter.normalize(value)}`;\n },\n\n apis: {\n 'isni-sru': {\n apiId: 'isni-sru',\n name: 'ISNI SRU API',\n async fetch({ isniId }): Promise<IsniSruResult[]> {\n if (!isniId) return [];\n const query = `pica.isn%3D${encodeURIComponent(isniId)}`;\n const url = `https://isni.oclc.org/sru/DB=1.2/?operation=searchRetrieve&query=${query}&recordSchema=isni-b&maximumRecords=10`;\n const res = await fetch(url, { headers: { Accept: 'application/xml' } });\n if (!res.ok) return [];\n const text = await res.text();\n const isniMatch = text.match(/<isniUnformatted>([0-9X]+)<\\/isniUnformatted>/);\n const forenameMatch = text.match(/<forename>([^<]+)<\\/forename>/);\n const surnameMatch = text.match(/<surname>([^<]+)<\\/surname>/);\n if (!isniMatch) return [];\n return [{\n isni: isniMatch[1],\n forename: forenameMatch?.[1],\n surname: surnameMatch?.[1],\n }];\n },\n },\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/issn/index.ts"],"names":[],"mappings":"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","file":"chunk-GJJ6NIDQ.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, StandardApiAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\nimport type { IssnPortalResult } from './types';\n\ninterface ISSNProps extends Record<string, string | null> { issn: string | null; }\n\ntype ISSNApis = {\n 'issn-portal': StandardApiAdapter<ISSNProps, IssnPortalResult>;\n};\n\nfunction validateISSNMod11_2(issn: string): ValidationResult {\n const clean = issn.replace('-', '');\n if (clean.length !== 8) return { valid: false, error: `Expected 8 chars, got ${clean.length}` };\n const weights = [8, 7, 6, 5, 4, 3, 2];\n let sum = 0;\n for (let i = 0; i < 7; i++) sum += parseInt(clean[i], 10) * weights[i];\n const remainder = sum % 11;\n const checkVal = remainder === 0 ? 0 : 11 - remainder;\n const checkChar = checkVal === 10 ? 'X' : String(checkVal);\n if (clean[7].toUpperCase() !== checkChar)\n return { valid: false, error: `Check digit mismatch: expected ${checkChar}, got ${clean[7]}` };\n return { valid: true };\n}\n\nexport const ISSNAdapter: StandardAdapter<ISSNProps, ISSNApis> = {\n standardId: 'issn',\n uriScheme: 'ISSN',\n\n normalize(value: string): string {\n const digits = value.replace(/[\\s-]/g, '');\n if (digits.length === 8) return `${digits.slice(0, 4)}-${digits.slice(4)}`;\n return value.trim();\n },\n\n display(value: string): string {\n return ISSNAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'ISSN is absent' };\n const normalized = ISSNAdapter.normalize(value);\n if (!/^[0-9]{4}-[0-9]{3}[0-9X]$/.test(normalized))\n return { valid: false, error: `ISSN does not match pattern: ${normalized}` };\n return validateISSNMod11_2(normalized);\n },\n\n toLinkedDataUri(value: string): string {\n return `https://portal.issn.org/resource/ISSN/${ISSNAdapter.normalize(value)}`;\n },\n\n apis: {\n 'issn-portal': {\n apiId: 'issn-portal',\n name: 'ISSN Portal',\n async fetch({ issn }): Promise<IssnPortalResult> {\n if (!issn) return {};\n const res = await fetch(`https://portal.issn.org/resource/ISSN/${issn}?format=json`);\n if (!res.ok) return {};\n const data = await res.json() as Record<string, unknown>;\n return {\n title: data['dc:title'] as string | undefined,\n medium: data['dc:format'] as string | undefined,\n country: data['dc:publisher'] as string | undefined,\n issn,\n };\n },\n },\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/clc/index.ts"],"names":[],"mappings":";AAqBO,IAAM,UAAA,GAAiD;AAAA,EAC5D,UAAA,EAAY,KAAA;AAAA,EACZ,SAAA,EAAY,KAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,OAAO,MAAM,IAAA,EAAK;AAAA,EACpB,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,UAAA,CAAW,UAAU,KAAK,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,wBAAA,EAAyB;AACnE,IAAA,MAAM,UAAA,GAAa,UAAA,CAAW,SAAA,CAAU,KAAK,CAAA;AAC7C,IAAA,IAAI,CAAC,uBAAA,CAAwB,IAAA,CAAK,UAAU,CAAA;AAC1C,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,EAAG;AACrF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,mBAAA,EAAsB,UAAA,CAAW,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EAC1D,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-IJYCM5NU.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface CLCProps extends Record<string, string | null> { clcNotation: string | null; }\n\ntype CLCApis = Record<string, never>;\n\nexport const CLCAdapter: StandardAdapter<CLCProps, CLCApis> = {\n standardId: 'clc',\n uriScheme: 'CLC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return CLCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'CLC notation is absent' };\n const normalized = CLCAdapter.normalize(value);\n if (!/^[A-Z0-9\\.\\-\\+\\=\\s]+$/.test(normalized))\n return { valid: false, error: `CLC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://clc.nlc.cn/${CLCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bbk/index.ts"],"names":[],"mappings":";AAqBO,IAAM,UAAA,GAAiD;AAAA,EAC5D,UAAA,EAAY,KAAA;AAAA,EACZ,SAAA,EAAY,KAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,OAAO,MAAM,IAAA,EAAK;AAAA,EACpB,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,UAAA,CAAW,UAAU,KAAK,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,wBAAA,EAAyB;AACnE,IAAA,MAAM,UAAA,GAAa,UAAA,CAAW,SAAA,CAAU,KAAK,CAAA;AAC7C,IAAA,IAAI,CAAC,4BAAA,CAA6B,IAAA,CAAK,UAAU,CAAA;AAC/C,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,EAAG;AACrF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,4BAAA,EAA+B,UAAA,CAAW,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EACnE,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-INW2BUCX.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface BBKProps extends Record<string, string | null> { bbkNotation: string | null; }\n\ntype BBKApis = Record<string, never>;\n\nexport const BBKAdapter: StandardAdapter<BBKProps, BBKApis> = {\n standardId: 'bbk',\n uriScheme: 'BBK',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return BBKAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'BBK notation is absent' };\n const normalized = BBKAdapter.normalize(value);\n if (!/^[0-9А-Яа-яA-Za-z\\.\\-\\s]+$/.test(normalized))\n return { valid: false, error: `BBK notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://bbk.rsl.ru/external/${BBKAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/orcid/index.ts"],"names":[],"mappings":"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","file":"chunk-KNGZ7NJF.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, StandardApiAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\nimport type { OrcidPublicRecordResult, OrcidPublicSearchResult } from './types';\n\ninterface ORCIDProps extends Record<string, string | null> { orcidId: string | null; }\n\ntype ORCIDApis = {\n 'orcid-lookup': StandardApiAdapter<ORCIDProps, OrcidPublicRecordResult>;\n 'orcid-public-api': StandardApiAdapter<ORCIDProps, OrcidPublicSearchResult[]>;\n};\n\nfunction validateORCIDMod11_2(compact: string): ValidationResult {\n if (compact.length !== 16) return { valid: false, error: `Expected 16 chars, got ${compact.length}` };\n let p = 0;\n for (let i = 0; i < 15; i++) {\n const d = parseInt(compact[i], 10);\n if (isNaN(d)) return { valid: false, error: `Non-digit at position ${i}` };\n p = ((p + d) * 2) % 11;\n }\n const checkVal = (12 - p) % 11;\n const checkChar = checkVal === 10 ? 'X' : String(checkVal);\n if (compact[15].toUpperCase() !== checkChar)\n return { valid: false, error: `Check digit mismatch: expected ${checkChar}, got ${compact[15]}` };\n return { valid: true };\n}\n\nconst ORCID_API_BASE = 'https://pub.orcid.org/v3.0';\nconst ORCID_HEADERS = { Accept: 'application/vnd.orcid+json' };\n\nexport const ORCIDAdapter: StandardAdapter<ORCIDProps, ORCIDApis> = {\n standardId: 'orcid',\n uriScheme: 'ORCID',\n\n normalize(value: string): string {\n const clean = value.replace(/\\s/g, '');\n if (clean.length === 16 && !clean.includes('-'))\n return `${clean.slice(0, 4)}-${clean.slice(4, 8)}-${clean.slice(8, 12)}-${clean.slice(12)}`;\n return clean;\n },\n\n display(value: string): string {\n return ORCIDAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'ORCID iD is absent' };\n const normalized = ORCIDAdapter.normalize(value);\n if (!/^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$/.test(normalized))\n return { valid: false, error: `ORCID iD does not match pattern: ${normalized}` };\n return validateORCIDMod11_2(normalized.replace(/-/g, ''));\n },\n\n toLinkedDataUri(value: string): string {\n return `https://orcid.org/${ORCIDAdapter.normalize(value)}`;\n },\n\n apis: {\n 'orcid-lookup': {\n apiId: 'orcid-lookup',\n name: 'ORCID Public Record API',\n async fetch({ orcidId }): Promise<OrcidPublicRecordResult> {\n if (!orcidId) return {};\n const res = await fetch(`${ORCID_API_BASE}/${orcidId}/record`, { headers: ORCID_HEADERS });\n if (!res.ok) return {};\n const data = await res.json() as Record<string, unknown>;\n const person = (data.person ?? {}) as Record<string, unknown>;\n const name = (person.name ?? {}) as Record<string, unknown>;\n return {\n orcidId,\n givenNames: (name['given-names'] as { value?: string } | undefined)?.value,\n familyName: (name['family-name'] as { value?: string } | undefined)?.value,\n biography: (person.biography as { content?: string } | undefined)?.content ?? undefined,\n };\n },\n },\n 'orcid-public-api': {\n apiId: 'orcid-public-api',\n name: 'ORCID Public Search API',\n async fetch({ orcidId }): Promise<OrcidPublicSearchResult[]> {\n if (!orcidId) return [];\n const res = await fetch(\n `${ORCID_API_BASE}/search?q=orcid:${orcidId}&rows=10`,\n { headers: ORCID_HEADERS }\n );\n if (!res.ok) return [];\n const data = await res.json() as { result?: unknown[] };\n return (data.result ?? [])\n .map((r: unknown) => {\n const item = r as Record<string, unknown>;\n const oid = (item['orcid-identifier'] as Record<string, unknown> | undefined)?.path as string;\n return { orcidId: oid ?? '' };\n })\n .filter(r => r.orcidId);\n },\n },\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cc/index.ts"],"names":[],"mappings":";AAqBO,IAAM,SAAA,GAA8C;AAAA,EACzD,UAAA,EAAY,IAAA;AAAA,EACZ,SAAA,EAAY,IAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,OAAO,MAAM,IAAA,EAAK;AAAA,EACpB,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,SAAA,CAAU,UAAU,KAAK,CAAA;AAAA,EAClC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,uBAAA,EAAwB;AAClE,IAAA,MAAM,UAAA,GAAa,SAAA,CAAU,SAAA,CAAU,KAAK,CAAA;AAC5C,IAAA,IAAI,CAAC,8BAAA,CAA+B,IAAA,CAAK,UAAU,CAAA;AACjD,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,oCAAA,EAAuC,UAAU,CAAA,CAAA,EAAG;AACpF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,oBAAA,EAAuB,SAAA,CAAU,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EAC1D,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-KOHT5EA3.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface CCProps extends Record<string, string | null> { ccNotation: string | null; }\n\ntype CCApis = Record<string, never>;\n\nexport const CCAdapter: StandardAdapter<CCProps, CCApis> = {\n standardId: 'cc',\n uriScheme: 'CC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return CCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'CC notation is absent' };\n const normalized = CCAdapter.normalize(value);\n if (!/^[A-Za-z0-9\\:\\,\\;\\-\\.\\'\\s]+$/.test(normalized))\n return { valid: false, error: `CC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://isko.org/cc/${CCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lcc/index.ts"],"names":[],"mappings":";AAqBO,IAAM,UAAA,GAAiD;AAAA,EAC5D,UAAA,EAAY,KAAA;AAAA,EACZ,SAAA,EAAY,KAAA;AAAA,EAEZ,UAAU,KAAA,EAAuB;AAC/B,IAAA,OAAO,MAAM,IAAA,EAAK;AAAA,EACpB,CAAA;AAAA,EAEA,QAAQ,KAAA,EAAuB;AAC7B,IAAA,OAAO,UAAA,CAAW,UAAU,KAAK,CAAA;AAAA,EACnC,CAAA;AAAA,EAEA,SAAS,KAAA,EAAoD;AAC3D,IAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,wBAAA,EAAyB;AACnE,IAAA,MAAM,UAAA,GAAa,UAAA,CAAW,SAAA,CAAU,KAAK,CAAA;AAC7C,IAAA,IAAI,CAAC,iBAAA,CAAkB,IAAA,CAAK,UAAU,CAAA;AACpC,MAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,EAAG;AACrF,IAAA,OAAO,EAAE,OAAO,IAAA,EAAK;AAAA,EACvB,CAAA;AAAA,EAEA,gBAAgB,KAAA,EAAuB;AACrC,IAAA,OAAO,CAAA,8CAAA,EAAiD,UAAA,CAAW,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,EACrF,CAAA;AAAA,EAEA,MAAM;AACR","file":"chunk-VP4ER7MD.js","sourcesContent":["/*\n * Copyright (c) 2026 DataPond D-Library Pty Ltd. (\"The Sanctuary\")\n * Non-Profit Public Library — The World Library\n * \n * D-SAFE Certification issued by POND Enterprise.\n * Published under the D-Open Code Sovereign Licence v1.0 framework\n * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.\n * https://registry.world.bibliotech.com/licence\n * Source code donated to DataPond D-Library by it's author: data pond.\n * \n * Technical Guardian (\"The Shield\"): Pond Enterprise Pty Ltd. (ACN 694 747 987)\n * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.\n * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.\n */\nimport type { StandardAdapter, ValidationResult }\n from '@the_library/canonical-schemas/types/StandardAdapter';\n\ninterface LCCProps extends Record<string, string | null> { lccNotation: string | null; }\n\ntype LCCApis = Record<string, never>;\n\nexport const LCCAdapter: StandardAdapter<LCCProps, LCCApis> = {\n standardId: 'lcc',\n uriScheme: 'LCC',\n\n normalize(value: string): string {\n return value.trim();\n },\n\n display(value: string): string {\n return LCCAdapter.normalize(value);\n },\n\n validate(value: string | null | undefined): ValidationResult {\n if (!value) return { valid: false, error: 'LCC notation is absent' };\n const normalized = LCCAdapter.normalize(value);\n if (!/^[A-Z0-9\\.\\s]+$/.test(normalized))\n return { valid: false, error: `LCC notation does not match pattern: ${normalized}` };\n return { valid: true };\n },\n\n toLinkedDataUri(value: string): string {\n return `https://id.loc.gov/authorities/classification/${LCCAdapter.normalize(value)}`;\n },\n\n apis: {},\n};\n"]}