nusus 0.6.2 → 0.7.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.
- package/README.md +3 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/models.d.ts +5 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/transport.d.ts +2 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +13 -2
- package/dist/transport.js.map +1 -1
- package/dist/turath/citations.d.ts +13 -3
- package/dist/turath/citations.d.ts.map +1 -1
- package/dist/turath/citations.js +23 -7
- package/dist/turath/citations.js.map +1 -1
- package/dist/turath/client.d.ts +1 -0
- package/dist/turath/client.d.ts.map +1 -1
- package/dist/turath/client.js +48 -40
- package/dist/turath/client.js.map +1 -1
- package/dist/turath/decode.d.ts +10 -0
- package/dist/turath/decode.d.ts.map +1 -0
- package/dist/turath/decode.js +104 -0
- package/dist/turath/decode.js.map +1 -0
- package/dist/turath/excerpt.d.ts +17 -13
- package/dist/turath/excerpt.d.ts.map +1 -1
- package/dist/turath/excerpt.js +1 -1
- package/dist/turath/excerpt.js.map +1 -1
- package/dist/turath/index.d.ts +1 -1
- package/dist/turath/index.d.ts.map +1 -1
- package/dist/turath/index.js +1 -1
- package/dist/turath/index.js.map +1 -1
- package/dist/turath/json.d.ts +9 -0
- package/dist/turath/json.d.ts.map +1 -0
- package/dist/turath/json.js +74 -0
- package/dist/turath/json.js.map +1 -0
- package/dist/turath/normalize.d.ts +5 -4
- package/dist/turath/normalize.d.ts.map +1 -1
- package/dist/turath/normalize.js +45 -74
- package/dist/turath/normalize.js.map +1 -1
- package/dist/turath/raw-types.d.ts +16 -22
- package/dist/turath/raw-types.d.ts.map +1 -1
- package/package.json +4 -1
- package/scripts/search.mjs +4 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { NususError } from "../errors.js";
|
|
2
|
+
const invalid = (message, cause) => {
|
|
3
|
+
throw new NususError("INVALID_RESPONSE", message, { cause });
|
|
4
|
+
};
|
|
5
|
+
export const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6
|
+
const isString = (value) => typeof value === "string";
|
|
7
|
+
const isNumber = (value) => typeof value === "number";
|
|
8
|
+
const isArray = (value) => Array.isArray(value);
|
|
9
|
+
const hasOwn = (record, key) => Object.prototype.hasOwnProperty.call(record, key);
|
|
10
|
+
const optional = (record, key) => hasOwn(record, key) ? record[key] : undefined;
|
|
11
|
+
const isAuthor = (value) => {
|
|
12
|
+
if (!isRecord(value))
|
|
13
|
+
return false;
|
|
14
|
+
if (!hasOwn(value, "id") || !isNumber(value.id))
|
|
15
|
+
return false;
|
|
16
|
+
if (!hasOwn(value, "name") || !isString(value.name))
|
|
17
|
+
return false;
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
20
|
+
export const decodeAuthor = (value) => {
|
|
21
|
+
if (!isAuthor(value))
|
|
22
|
+
return invalid("Turath returned an invalid author");
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
const isBookMeta = (value) => {
|
|
26
|
+
if (!isRecord(value))
|
|
27
|
+
return false;
|
|
28
|
+
if (!hasOwn(value, "id") || !isNumber(value.id))
|
|
29
|
+
return false;
|
|
30
|
+
if (!hasOwn(value, "name") || !isString(value.name))
|
|
31
|
+
return false;
|
|
32
|
+
return true;
|
|
33
|
+
};
|
|
34
|
+
const isBook = (value) => {
|
|
35
|
+
if (!isRecord(value))
|
|
36
|
+
return false;
|
|
37
|
+
const meta = optional(value, "meta");
|
|
38
|
+
if (meta === undefined || !isBookMeta(meta))
|
|
39
|
+
return false;
|
|
40
|
+
return true;
|
|
41
|
+
};
|
|
42
|
+
export const decodeBook = (value) => {
|
|
43
|
+
if (!isBook(value))
|
|
44
|
+
return invalid("Turath returned an invalid book");
|
|
45
|
+
return value;
|
|
46
|
+
};
|
|
47
|
+
const isPage = (value) => {
|
|
48
|
+
if (!isRecord(value))
|
|
49
|
+
return false;
|
|
50
|
+
if (!hasOwn(value, "meta") || !isString(value.meta))
|
|
51
|
+
return false;
|
|
52
|
+
if (!hasOwn(value, "text") || !isString(value.text))
|
|
53
|
+
return false;
|
|
54
|
+
return true;
|
|
55
|
+
};
|
|
56
|
+
export const decodePage = (value) => {
|
|
57
|
+
if (!isPage(value))
|
|
58
|
+
return invalid("Turath returned an invalid page");
|
|
59
|
+
return value;
|
|
60
|
+
};
|
|
61
|
+
const isPageMeta = (value) => isRecord(value);
|
|
62
|
+
const decodePageMeta = (value) => {
|
|
63
|
+
if (!isPageMeta(value))
|
|
64
|
+
return invalid("Turath page metadata is invalid");
|
|
65
|
+
return value;
|
|
66
|
+
};
|
|
67
|
+
export const parseMeta = (value) => {
|
|
68
|
+
let parsed;
|
|
69
|
+
try {
|
|
70
|
+
parsed = JSON.parse(value);
|
|
71
|
+
}
|
|
72
|
+
catch (cause) {
|
|
73
|
+
throw invalid("Turath metadata contains invalid JSON", cause);
|
|
74
|
+
}
|
|
75
|
+
return decodePageMeta(parsed);
|
|
76
|
+
};
|
|
77
|
+
const isSearchHit = (value) => {
|
|
78
|
+
if (!isRecord(value))
|
|
79
|
+
return false;
|
|
80
|
+
if (!hasOwn(value, "book_id") || !isNumber(value.book_id))
|
|
81
|
+
return false;
|
|
82
|
+
if (!hasOwn(value, "meta") || !isString(value.meta))
|
|
83
|
+
return false;
|
|
84
|
+
if (!hasOwn(value, "text") || !isString(value.text))
|
|
85
|
+
return false;
|
|
86
|
+
return true;
|
|
87
|
+
};
|
|
88
|
+
const isSearch = (value) => {
|
|
89
|
+
if (!isRecord(value))
|
|
90
|
+
return false;
|
|
91
|
+
if (!hasOwn(value, "count") || !isNumber(value.count))
|
|
92
|
+
return false;
|
|
93
|
+
if (!hasOwn(value, "data"))
|
|
94
|
+
return false;
|
|
95
|
+
if (!isArray(value.data))
|
|
96
|
+
return false;
|
|
97
|
+
return value.data.every(isSearchHit);
|
|
98
|
+
};
|
|
99
|
+
export const decodeSearch = (value) => {
|
|
100
|
+
if (!isSearch(value))
|
|
101
|
+
return invalid("Turath returned an invalid search response");
|
|
102
|
+
return value;
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=decode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/turath/decode.ts"],"names":[],"mappings":"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"}
|
package/dist/turath/excerpt.d.ts
CHANGED
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
/** Pure match-window excerpting for retrieve(); no transport/catalog deps. */
|
|
2
|
-
|
|
3
|
-
export declare const truncatePrefix: (text: string, maxChars: number) => string;
|
|
4
|
-
/** Collapse whitespace while mapping each folded index back to a raw code-unit index. */
|
|
5
|
-
export declare const foldWhitespace: (text: string) => {
|
|
2
|
+
type FoldedText = {
|
|
6
3
|
folded: string;
|
|
7
4
|
map: number[];
|
|
8
5
|
};
|
|
9
|
-
|
|
10
|
-
export declare const snippetNeedles: (snippet?: string) => string[];
|
|
11
|
-
/** Locate a whitespace-normalized needle in raw (possibly multiline) text. */
|
|
12
|
-
export declare const findNeedle: (text: string, needle: string) => {
|
|
13
|
-
index: number;
|
|
14
|
-
length: number;
|
|
15
|
-
} | undefined;
|
|
16
|
-
export declare const windowAround: (text: string, matchIndex: number, matchLength: number, maxChars: number) => {
|
|
6
|
+
type TextWindow = {
|
|
17
7
|
text: string;
|
|
18
8
|
offset: number;
|
|
19
9
|
};
|
|
20
|
-
|
|
10
|
+
type BoundedText = {
|
|
21
11
|
text: string;
|
|
22
12
|
offset: number;
|
|
23
13
|
truncated: boolean;
|
|
24
14
|
truncation?: "prefix" | "match-window";
|
|
25
15
|
};
|
|
16
|
+
export declare const safeSlice: (text: string, start: number, end: number) => string;
|
|
17
|
+
export declare const truncatePrefix: (text: string, maxChars: number) => string;
|
|
18
|
+
/** Collapse whitespace while mapping each folded index back to a raw code-unit index. */
|
|
19
|
+
export declare const foldWhitespace: (text: string) => FoldedText;
|
|
20
|
+
/** Build match candidates from Turath snippets, including broken nested markup. */
|
|
21
|
+
export declare const snippetNeedles: (snippet?: string) => string[];
|
|
22
|
+
/** Locate a whitespace-normalized needle in raw (possibly multiline) text. */
|
|
23
|
+
export declare const findNeedle: (text: string, needle: string) => {
|
|
24
|
+
index: number;
|
|
25
|
+
length: number;
|
|
26
|
+
} | undefined;
|
|
27
|
+
export declare const windowAround: (text: string, matchIndex: number, matchLength: number, maxChars: number) => TextWindow;
|
|
28
|
+
export declare const boundText: (text: string, maxChars: number, snippet?: string) => BoundedText;
|
|
29
|
+
export {};
|
|
26
30
|
//# sourceMappingURL=excerpt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excerpt.d.ts","sourceRoot":"","sources":["../../src/turath/excerpt.ts"],"names":[],"mappings":"AAAA,8EAA8E;
|
|
1
|
+
{"version":3,"file":"excerpt.d.ts","sourceRoot":"","sources":["../../src/turath/excerpt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AACpD,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACnD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;CACxC,CAAC;AAIF,eAAO,MAAM,SAAS,SAAU,MAAM,SAAS,MAAM,OAAO,MAAM,KAAG,MAOpE,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,MAAM,YAAY,MAAM,KAAG,MAG/D,CAAC;AAQF,yFAAyF;AACzF,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,UAuB7C,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,cAAc,aAAc,MAAM,KAAG,MAAM,EAuBvD,CAAC;AAgBF,8EAA8E;AAC9E,eAAO,MAAM,UAAU,SAAU,MAAM,UAAU,MAAM,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAqB7F,CAAC;AAEF,eAAO,MAAM,YAAY,SACjB,MAAM,cACA,MAAM,eACL,MAAM,YACT,MAAM,KACf,UAaF,CAAC;AAEF,eAAO,MAAM,SAAS,SACd,MAAM,YACF,MAAM,YACN,MAAM,KACf,WAwBF,CAAC"}
|
package/dist/turath/excerpt.js
CHANGED
|
@@ -16,7 +16,7 @@ export const truncatePrefix = (text, maxChars) => {
|
|
|
16
16
|
};
|
|
17
17
|
const cleanNeedle = (value) => value
|
|
18
18
|
.replace(/\s+/g, " ")
|
|
19
|
-
.replace(/^[\s
|
|
19
|
+
.replace(/^[\s[\](){}<>«»"'`،,.:;!?…]+|[\s[\](){}<>«»"'`،,.:;!?…]+$/g, "")
|
|
20
20
|
.trim();
|
|
21
21
|
/** Collapse whitespace while mapping each folded index back to a raw code-unit index. */
|
|
22
22
|
export const foldWhitespace = (text) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excerpt.js","sourceRoot":"","sources":["../../src/turath/excerpt.ts"],"names":[],"mappings":"AAAA,8EAA8E;
|
|
1
|
+
{"version":3,"file":"excerpt.js","sourceRoot":"","sources":["../../src/turath/excerpt.ts"],"names":[],"mappings":"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"}
|
package/dist/turath/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export { createTurathClient } from "./client.js";
|
|
|
2
2
|
export { findCatalogAuthors as findAuthors, findCatalogBooks as findBooks, getCatalogMetadata, listCatalogCategories as listCategories, } from "./catalog.js";
|
|
3
3
|
export type { FindAuthorsOptions, FindBooksOptions } from "./catalog.js";
|
|
4
4
|
export type { ContextOptions, RequestOptions, RetrieveOptions, TurathClient, TurathClientOptions, TurathSearchOptions, } from "./client.js";
|
|
5
|
-
export { decoratePassage, formatCitation, getLocator, getSourceUrl } from "./citations.js";
|
|
5
|
+
export { decoratePassage, formatCitation, getLocator, getShamelaUrl, getSourceUrl } from "./citations.js";
|
|
6
6
|
export type { CitationSource } from "./citations.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/turath/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,gBAAgB,IAAI,SAAS,EAC7B,kBAAkB,EAClB,qBAAqB,IAAI,cAAc,GACxC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/turath/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,gBAAgB,IAAI,SAAS,EAC7B,kBAAkB,EAClB,qBAAqB,IAAI,cAAc,GACxC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1G,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/turath/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createTurathClient } from "./client.js";
|
|
2
2
|
export { findCatalogAuthors as findAuthors, findCatalogBooks as findBooks, getCatalogMetadata, listCatalogCategories as listCategories, } from "./catalog.js";
|
|
3
|
-
export { decoratePassage, formatCitation, getLocator, getSourceUrl } from "./citations.js";
|
|
3
|
+
export { decoratePassage, formatCitation, getLocator, getShamelaUrl, getSourceUrl } from "./citations.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/turath/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/turath/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,gBAAgB,IAAI,SAAS,EAC7B,kBAAkB,EAClB,qBAAqB,IAAI,cAAc,GACxC,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/turath/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,gBAAgB,IAAI,SAAS,EAC7B,kBAAkB,EAClB,qBAAqB,IAAI,cAAc,GACxC,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
2
|
+
[key: string]: JsonValue;
|
|
3
|
+
};
|
|
4
|
+
export type JsonRecord = {
|
|
5
|
+
[key: string]: JsonValue;
|
|
6
|
+
};
|
|
7
|
+
export type JsonInput = JsonValue | bigint | symbol | undefined | ((...args: never[]) => void);
|
|
8
|
+
export declare const toJsonValue: (value: JsonInput) => JsonValue;
|
|
9
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/turath/json.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC;AA2C/F,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,SAsB9C,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { NususError } from "../errors.js";
|
|
2
|
+
const invalid = () => {
|
|
3
|
+
throw new NususError("INVALID_RESPONSE", "Turath returned invalid JSON");
|
|
4
|
+
};
|
|
5
|
+
const isString = (value) => typeof value === "string";
|
|
6
|
+
const isBoolean = (value) => typeof value === "boolean";
|
|
7
|
+
const isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
8
|
+
const isPlainObject = (value) => {
|
|
9
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
10
|
+
return false;
|
|
11
|
+
const proto = Object.getPrototypeOf(value);
|
|
12
|
+
return proto === Object.prototype || proto === null;
|
|
13
|
+
};
|
|
14
|
+
const isCanonicalArray = (value) => {
|
|
15
|
+
if (Object.getOwnPropertySymbols(value).length > 0)
|
|
16
|
+
return false;
|
|
17
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
18
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
19
|
+
const key = String(i);
|
|
20
|
+
const descriptor = descriptors[key];
|
|
21
|
+
if (descriptor === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
if (!("value" in descriptor) || !descriptor.enumerable || descriptor.get || descriptor.set)
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
for (const key of Object.keys(descriptors)) {
|
|
27
|
+
if (key === "length")
|
|
28
|
+
continue;
|
|
29
|
+
const index = Number(key);
|
|
30
|
+
if (!Number.isInteger(index) || index < 0 || index >= value.length || String(index) !== key)
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
};
|
|
35
|
+
const isCanonicalRecord = (record) => {
|
|
36
|
+
if (Object.getOwnPropertySymbols(record).length > 0)
|
|
37
|
+
return false;
|
|
38
|
+
const descriptors = Object.getOwnPropertyDescriptors(record);
|
|
39
|
+
for (const descriptor of Object.values(descriptors)) {
|
|
40
|
+
if (!("value" in descriptor) || !descriptor.enumerable || descriptor.get || descriptor.set)
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
};
|
|
45
|
+
export const toJsonValue = (value) => {
|
|
46
|
+
if (value === null)
|
|
47
|
+
return null;
|
|
48
|
+
if (isString(value))
|
|
49
|
+
return value;
|
|
50
|
+
if (isBoolean(value))
|
|
51
|
+
return value;
|
|
52
|
+
if (isFiniteNumber(value))
|
|
53
|
+
return value;
|
|
54
|
+
if (Array.isArray(value)) {
|
|
55
|
+
if (!isCanonicalArray(value))
|
|
56
|
+
return invalid();
|
|
57
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
58
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
59
|
+
toJsonValue(descriptors[String(i)].value);
|
|
60
|
+
}
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
63
|
+
if (isPlainObject(value)) {
|
|
64
|
+
if (!isCanonicalRecord(value))
|
|
65
|
+
return invalid();
|
|
66
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
67
|
+
for (const descriptor of Object.values(descriptors)) {
|
|
68
|
+
toJsonValue(descriptor.value);
|
|
69
|
+
}
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
return invalid();
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/turath/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAc1C,MAAM,OAAO,GAAG,GAAU,EAAE;IAC1B,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAgB,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;AAClF,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAoB,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC;AACrF,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAmB,EAAE,CAC3D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEtD,MAAM,aAAa,GAAG,CAAC,KAAgB,EAAyC,EAAE;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAgB,EAAW,EAAE;IACrD,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;IAC3G,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;IAC5G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAoC,EAAW,EAAE;IAC1E,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC7D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;IAC3G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAa,EAAE;IACzD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Author, Book, Passage } from "../models.js";
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
2
|
+
import type { RawAuthor, RawBook, RawPage, RawSearchHit } from "./raw-types.js";
|
|
3
|
+
export declare const normalizeAuthor: (raw: RawAuthor) => Author;
|
|
4
|
+
export declare const normalizeBook: (raw: RawBook) => Book;
|
|
5
|
+
export declare const normalizePage: (raw: RawPage, bookId: string) => Passage;
|
|
6
|
+
export declare const normalizeSearchHit: (raw: RawSearchHit) => Passage;
|
|
6
7
|
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/turath/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAgB,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/turath/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAgB,OAAO,EAAE,MAAM,cAAc,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAuChF,eAAO,MAAM,eAAe,QAAS,SAAS,KAAG,MAO/C,CAAC;AAEH,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,IAa5C,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,OAAO,UAAU,MAAM,KAAG,OAgB5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,YAAY,KAAG,OAkBtD,CAAC"}
|
package/dist/turath/normalize.js
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
import { NususError } from "../errors.js";
|
|
2
2
|
import { decoratePassage } from "./citations.js";
|
|
3
|
+
import { parseMeta } from "./decode.js";
|
|
3
4
|
const record = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
const isString = (value) => typeof value === "string";
|
|
6
|
+
const isNumber = (value) => typeof value === "number";
|
|
4
7
|
const plainText = (value) => value.replace(/<br\s*\/?\s*>/gi, "\n").replace(/<\/?[a-z][^>]*>/gi, "");
|
|
5
|
-
const extractIndexes = (
|
|
6
|
-
|
|
7
|
-
if (!record(indexes))
|
|
8
|
+
const extractIndexes = (indexes) => {
|
|
9
|
+
if (indexes === undefined || !record(indexes))
|
|
8
10
|
return {};
|
|
9
11
|
const out = {};
|
|
10
12
|
if (Array.isArray(indexes.headings)) {
|
|
11
13
|
const toc = [];
|
|
12
14
|
for (const item of indexes.headings) {
|
|
13
|
-
if (!record(item)
|
|
15
|
+
if (!record(item))
|
|
16
|
+
continue;
|
|
17
|
+
if (!isString(item.title))
|
|
14
18
|
continue;
|
|
15
19
|
const entry = { title: item.title };
|
|
16
|
-
if (
|
|
20
|
+
if (isNumber(item.level))
|
|
17
21
|
entry.level = item.level;
|
|
18
|
-
if (
|
|
22
|
+
if (isNumber(item.page))
|
|
19
23
|
entry.page = item.page;
|
|
20
24
|
toc.push(entry);
|
|
21
25
|
}
|
|
22
26
|
if (toc.length)
|
|
23
27
|
out.toc = toc;
|
|
24
28
|
}
|
|
25
|
-
if (Array.isArray(indexes.volumes) && indexes.volumes.every(
|
|
29
|
+
if (Array.isArray(indexes.volumes) && indexes.volumes.every(isString)) {
|
|
26
30
|
out.volumes = indexes.volumes;
|
|
27
31
|
}
|
|
28
32
|
return out;
|
|
@@ -30,97 +34,64 @@ const extractIndexes = (raw) => {
|
|
|
30
34
|
const invalid = (message, cause) => {
|
|
31
35
|
throw new NususError("INVALID_RESPONSE", message, { cause });
|
|
32
36
|
};
|
|
33
|
-
const parseMeta = (value) => {
|
|
34
|
-
if (typeof value !== "string")
|
|
35
|
-
return invalid("Turath metadata is not encoded JSON");
|
|
36
|
-
try {
|
|
37
|
-
const parsed = JSON.parse(value);
|
|
38
|
-
if (!record(parsed))
|
|
39
|
-
return invalid("Turath metadata is not an object");
|
|
40
|
-
return parsed;
|
|
41
|
-
}
|
|
42
|
-
catch (cause) {
|
|
43
|
-
if (cause instanceof NususError)
|
|
44
|
-
throw cause;
|
|
45
|
-
return invalid("Turath metadata contains invalid JSON", cause);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
37
|
const passage = (input) => decoratePassage(input);
|
|
49
|
-
export const normalizeAuthor = (raw) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
name: author.name,
|
|
58
|
-
...(typeof author.biography === "string" && { biography: author.biography }),
|
|
59
|
-
...(typeof author.death === "string" && { deathYear: author.death }),
|
|
60
|
-
raw,
|
|
61
|
-
};
|
|
62
|
-
};
|
|
38
|
+
export const normalizeAuthor = (raw) => ({
|
|
39
|
+
provider: "turath",
|
|
40
|
+
id: String(raw.id),
|
|
41
|
+
name: raw.name,
|
|
42
|
+
...(isString(raw.biography) && { biography: raw.biography }),
|
|
43
|
+
...(isString(raw.death) && { deathYear: raw.death }),
|
|
44
|
+
raw,
|
|
45
|
+
});
|
|
63
46
|
export const normalizeBook = (raw) => {
|
|
64
|
-
|
|
65
|
-
return invalid("Turath returned an invalid book");
|
|
66
|
-
}
|
|
67
|
-
const book = raw;
|
|
68
|
-
const indexes = extractIndexes(raw);
|
|
47
|
+
const indexes = extractIndexes(raw.indexes);
|
|
69
48
|
return {
|
|
70
49
|
provider: "turath",
|
|
71
|
-
id: String(
|
|
72
|
-
title:
|
|
73
|
-
...(
|
|
74
|
-
...(
|
|
75
|
-
...(
|
|
76
|
-
...(Boolean(
|
|
50
|
+
id: String(raw.meta.id),
|
|
51
|
+
title: raw.meta.name,
|
|
52
|
+
...(isNumber(raw.meta.author_id) && { author: { id: String(raw.meta.author_id) } }),
|
|
53
|
+
...(isNumber(raw.meta.cat_id) && { category: { id: String(raw.meta.cat_id) } }),
|
|
54
|
+
...(isString(raw.meta.info) && { description: raw.meta.info }),
|
|
55
|
+
...(Boolean(raw.meta.pdf_links) && { hasPdf: true }),
|
|
77
56
|
...indexes,
|
|
78
57
|
raw,
|
|
79
58
|
};
|
|
80
59
|
};
|
|
81
60
|
export const normalizePage = (raw, bookId) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
const page = raw;
|
|
86
|
-
const meta = parseMeta(page.meta);
|
|
87
|
-
if (typeof meta.book_name !== "string")
|
|
61
|
+
const meta = parseMeta(raw.meta);
|
|
62
|
+
if (!isString(meta.book_name))
|
|
88
63
|
return invalid("Turath page is missing its book name");
|
|
89
64
|
return passage({
|
|
90
65
|
provider: "turath",
|
|
91
66
|
book: { id: bookId, title: meta.book_name },
|
|
92
|
-
...(meta.author_name && { author: { name: meta.author_name } }),
|
|
67
|
+
...(isString(meta.author_name) && { author: { name: meta.author_name } }),
|
|
93
68
|
location: {
|
|
94
|
-
...(
|
|
95
|
-
...(
|
|
96
|
-
...(
|
|
69
|
+
...(isNumber(meta.page_id) && { internalPage: meta.page_id }),
|
|
70
|
+
...(isNumber(meta.page) && { printedPage: meta.page }),
|
|
71
|
+
...(isString(meta.vol) && { volume: meta.vol }),
|
|
97
72
|
},
|
|
98
|
-
text: plainText(
|
|
99
|
-
headings: Array.isArray(meta.headings) && meta.headings.every(
|
|
73
|
+
text: plainText(raw.text),
|
|
74
|
+
headings: Array.isArray(meta.headings) && meta.headings.every(isString) ? meta.headings : [],
|
|
100
75
|
raw,
|
|
101
76
|
});
|
|
102
77
|
};
|
|
103
78
|
export const normalizeSearchHit = (raw) => {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
const hit = raw;
|
|
108
|
-
const meta = parseMeta(hit.meta);
|
|
109
|
-
if (typeof meta.book_name !== "string")
|
|
79
|
+
const meta = parseMeta(raw.meta);
|
|
80
|
+
if (!isString(meta.book_name))
|
|
110
81
|
return invalid("Turath search result is missing its book name");
|
|
111
82
|
return passage({
|
|
112
83
|
provider: "turath",
|
|
113
|
-
book: { id: String(
|
|
114
|
-
...(
|
|
115
|
-
...(
|
|
84
|
+
book: { id: String(raw.book_id), title: meta.book_name },
|
|
85
|
+
...(isNumber(raw.author_id) && { author: { id: String(raw.author_id), ...(isString(meta.author_name) && { name: meta.author_name }) } }),
|
|
86
|
+
...(isNumber(raw.cat_id) && { category: { id: String(raw.cat_id) } }),
|
|
116
87
|
location: {
|
|
117
|
-
...(
|
|
118
|
-
...(
|
|
119
|
-
...(
|
|
88
|
+
...(isNumber(meta.page_id) && { internalPage: meta.page_id }),
|
|
89
|
+
...(isNumber(meta.page) && { printedPage: meta.page }),
|
|
90
|
+
...(isString(meta.vol) && { volume: meta.vol }),
|
|
120
91
|
},
|
|
121
|
-
text: plainText(
|
|
122
|
-
...(
|
|
123
|
-
headings: Array.isArray(meta.headings) && meta.headings.every(
|
|
92
|
+
text: plainText(raw.text),
|
|
93
|
+
...(isString(raw.snip) && { snippet: plainText(raw.snip) }),
|
|
94
|
+
headings: Array.isArray(meta.headings) && meta.headings.every(isString) ? meta.headings : [],
|
|
124
95
|
raw,
|
|
125
96
|
});
|
|
126
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/turath/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/turath/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,38 @@
|
|
|
1
|
+
import type { JsonValue } from "./json.js";
|
|
1
2
|
export type RawAuthor = {
|
|
2
3
|
id: number;
|
|
3
4
|
name: string;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
[key: string]: JsonValue;
|
|
6
|
+
};
|
|
7
|
+
export type RawBookMeta = {
|
|
8
|
+
id: number;
|
|
9
|
+
name: string;
|
|
10
|
+
[key: string]: JsonValue;
|
|
11
|
+
};
|
|
12
|
+
export type RawBookIndexes = {
|
|
13
|
+
[key: string]: JsonValue;
|
|
7
14
|
};
|
|
8
15
|
export type RawBook = {
|
|
9
|
-
meta:
|
|
10
|
-
|
|
11
|
-
name: string;
|
|
12
|
-
author_id?: number;
|
|
13
|
-
cat_id?: number;
|
|
14
|
-
info?: string;
|
|
15
|
-
pdf_links?: unknown;
|
|
16
|
-
[key: string]: unknown;
|
|
17
|
-
};
|
|
18
|
-
indexes?: Record<string, unknown>;
|
|
16
|
+
meta: RawBookMeta;
|
|
17
|
+
[key: string]: JsonValue;
|
|
19
18
|
};
|
|
20
19
|
export type RawPageMeta = {
|
|
21
|
-
|
|
22
|
-
page_id?: number;
|
|
23
|
-
page?: number;
|
|
24
|
-
vol?: string;
|
|
25
|
-
book_name?: string;
|
|
26
|
-
author_name?: string;
|
|
20
|
+
[key: string]: JsonValue;
|
|
27
21
|
};
|
|
28
22
|
export type RawPage = {
|
|
29
23
|
meta: string;
|
|
30
24
|
text: string;
|
|
25
|
+
[key: string]: JsonValue;
|
|
31
26
|
};
|
|
32
27
|
export type RawSearchHit = {
|
|
33
|
-
author_id?: number;
|
|
34
28
|
book_id: number;
|
|
35
|
-
cat_id?: number;
|
|
36
29
|
meta: string;
|
|
37
|
-
snip?: string;
|
|
38
30
|
text: string;
|
|
31
|
+
[key: string]: JsonValue;
|
|
39
32
|
};
|
|
40
33
|
export type RawSearch = {
|
|
41
34
|
count: number;
|
|
42
35
|
data: RawSearchHit[];
|
|
36
|
+
[key: string]: JsonValue;
|
|
43
37
|
};
|
|
44
38
|
//# sourceMappingURL=raw-types.d.ts.map
|