solid-logic 1.3.14-2531ca26 → 1.3.14-7ab6e77e
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/.github/workflows/ci.yml +3 -4
- package/.github/workflows/release.yml +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -3
- package/lib/index.js.map +1 -1
- package/lib/logic/SolidLogic.d.ts +0 -2
- package/lib/logic/SolidLogic.d.ts.map +1 -1
- package/lib/logic/SolidLogic.js +0 -2
- package/lib/logic/SolidLogic.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -2
- package/src/logic/SolidLogic.ts +0 -3
- package/lib/language/LanguageLogic.d.ts +0 -26
- package/lib/language/LanguageLogic.d.ts.map +0 -1
- package/lib/language/LanguageLogic.js +0 -211
- package/lib/language/LanguageLogic.js.map +0 -1
- package/lib/language/index.d.ts +0 -3
- package/lib/language/index.d.ts.map +0 -1
- package/lib/language/index.js +0 -15
- package/lib/language/index.js.map +0 -1
- package/lib/language/nativeNameForLanguageCode.d.ts +0 -13
- package/lib/language/nativeNameForLanguageCode.d.ts.map +0 -1
- package/lib/language/nativeNameForLanguageCode.js +0 -19
- package/lib/language/nativeNameForLanguageCode.js.map +0 -1
- package/renovate.json +0 -5
- package/src/language/LanguageLogic.ts +0 -150
- package/src/language/index.ts +0 -4
- package/src/language/nativeNameForLanguageCode.ts +0 -18
package/.github/workflows/ci.yml
CHANGED
|
@@ -20,9 +20,8 @@ jobs:
|
|
|
20
20
|
strategy:
|
|
21
21
|
matrix:
|
|
22
22
|
node-version:
|
|
23
|
-
- 12.x
|
|
24
|
-
- 14.x
|
|
25
23
|
- 16.x
|
|
24
|
+
- 17.x
|
|
26
25
|
|
|
27
26
|
steps:
|
|
28
27
|
- uses: actions/checkout@v2
|
|
@@ -35,7 +34,7 @@ jobs:
|
|
|
35
34
|
- run: npm test
|
|
36
35
|
- run: npm run build --if-present
|
|
37
36
|
- name: Save build
|
|
38
|
-
if: matrix.node-version == '
|
|
37
|
+
if: matrix.node-version == '16.x'
|
|
39
38
|
uses: actions/upload-artifact@v2
|
|
40
39
|
with:
|
|
41
40
|
name: build
|
|
@@ -53,7 +52,7 @@ jobs:
|
|
|
53
52
|
name: build
|
|
54
53
|
- uses: actions/setup-node@v1
|
|
55
54
|
with:
|
|
56
|
-
node-version:
|
|
55
|
+
node-version: 16.x
|
|
57
56
|
- uses: rlespinasse/github-slug-action@v3.x
|
|
58
57
|
- name: Append commit hash to package version
|
|
59
58
|
run: 'sed -i -E "s/(\"version\": *\"[^\"]+)/\1-${GITHUB_SHA_SHORT}/" package.json'
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
declare const authn: import("./types").AuthnLogic;
|
|
2
2
|
declare const authSession: import("@inrupt/solid-client-authn-browser").Session;
|
|
3
3
|
declare const store: import("rdflib").LiveStore;
|
|
4
|
-
declare const langauge: import("./language").LanguageLogic;
|
|
5
4
|
declare const chat: import("./chat/ChatLogic").ChatLogic;
|
|
6
5
|
declare const profile: import("./profile/ProfileLogic").ProfileLogic;
|
|
7
6
|
export { setACLUserPublic, genACLText } from './acl/aclLogic';
|
|
@@ -13,5 +12,5 @@ export { getSuggestedIssuers } from './issuer/issuerLogic';
|
|
|
13
12
|
export { AppDetails, SolidNamespace, AuthenticationContext } from './types';
|
|
14
13
|
export { solidLogicSingleton } from './logic/solidLogicSingleton';
|
|
15
14
|
export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError } from './logic/CustomError';
|
|
16
|
-
export { authn, authSession, store, chat, profile
|
|
15
|
+
export { authn, authSession, store, chat, profile };
|
|
17
16
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,8BAA4B,CAAA;AACvC,QAAA,MAAM,WAAW,sDAAwC,CAAA;AACzD,QAAA,MAAM,KAAK,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,8BAA4B,CAAA;AACvC,QAAA,MAAM,WAAW,sDAAwC,CAAA;AACzD,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,QAAA,MAAM,IAAI,sCAA2B,CAAA;AACrC,QAAA,MAAM,OAAO,+CAA8B,CAAA;AAE3C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvI,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.profile = exports.chat = exports.store = exports.authSession = exports.authn = exports.FetchError = exports.NotFoundError = exports.SameOriginForbiddenError = exports.CrossOriginForbiddenError = exports.UnauthorizedError = exports.solidLogicSingleton = exports.getSuggestedIssuers = exports.ACL_LINK = exports.appContext = exports.offlineTestID = exports.SolidLogic = exports.loadIndex = exports.registerInTypeIndex = exports.loadTypeIndexes = exports.ensureTypeIndexes = exports.genACLText = exports.setACLUserPublic = void 0;
|
|
4
4
|
// Make these variables directly accessible as it is what you need most of the time
|
|
5
5
|
// This also makes these variable globaly accesible in mashlib
|
|
6
6
|
var solidLogicSingleton_1 = require("./logic/solidLogicSingleton");
|
|
@@ -10,8 +10,6 @@ var authSession = solidLogicSingleton_1.solidLogicSingleton.authn.authSession;
|
|
|
10
10
|
exports.authSession = authSession;
|
|
11
11
|
var store = solidLogicSingleton_1.solidLogicSingleton.store;
|
|
12
12
|
exports.store = store;
|
|
13
|
-
var langauge = solidLogicSingleton_1.solidLogicSingleton.language;
|
|
14
|
-
exports.langauge = langauge;
|
|
15
13
|
var chat = solidLogicSingleton_1.solidLogicSingleton.chat;
|
|
16
14
|
exports.chat = chat;
|
|
17
15
|
var profile = solidLogicSingleton_1.solidLogicSingleton.profile;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,8DAA8D;AAC9D,mEAAiE;AACjE,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAyB9B,sBAAK;AAxBd,IAAM,WAAW,GAAG,yCAAmB,CAAC,KAAK,CAAC,WAAW,CAAA;AAwBzC,kCAAW;AAvB3B,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAuBV,sBAAK;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,8DAA8D;AAC9D,mEAAiE;AACjE,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAyB9B,sBAAK;AAxBd,IAAM,WAAW,GAAG,yCAAmB,CAAC,KAAK,CAAC,WAAW,CAAA;AAwBzC,kCAAW;AAvB3B,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAuBV,sBAAK;AArBlC,IAAM,IAAI,GAAG,yCAAmB,CAAC,IAAI,CAAA;AAqBD,oBAAI;AApBxC,IAAM,OAAO,GAAG,yCAAmB,CAAC,OAAO,CAAA;AAoBD,0BAAO;AAlBjD,2CAGuB;AAFrB,4GAAA,gBAAgB,OAAA;AAChB,sGAAA,UAAU,OAAA;AAEZ,6DAKmC;AAJjC,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,qHAAA,mBAAmB,OAAA;AACnB,2GAAA,SAAS,OAAA;AAEX,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,6CAA4D;AAAnD,yGAAA,aAAa,OAAA;AAAE,sGAAA,UAAU,OAAA;AAClC,oDAA8C;AAArC,wGAAA,QAAQ,OAAA;AACjB,oDAA0D;AAAjD,kHAAA,mBAAmB,OAAA;AAE5B,6EAA6E;AAC7E,mEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAC5B,mDAAuI;AAA9H,gHAAA,iBAAiB,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,yGAAA,UAAU,OAAA"}
|
|
@@ -2,7 +2,6 @@ import { Session } from "@inrupt/solid-client-authn-browser";
|
|
|
2
2
|
import * as rdf from "rdflib";
|
|
3
3
|
import { NamedNode, Statement, LiveStore } from "rdflib";
|
|
4
4
|
import { ChatLogic } from "../chat/ChatLogic";
|
|
5
|
-
import { LanguageLogic } from "../language/LanguageLogic";
|
|
6
5
|
import { ProfileLogic } from "../profile/ProfileLogic";
|
|
7
6
|
import { AuthnLogic } from "../types";
|
|
8
7
|
import { UtilityLogic } from "../util/UtilityLogic";
|
|
@@ -20,7 +19,6 @@ export declare class SolidLogic {
|
|
|
20
19
|
fetcher: {
|
|
21
20
|
fetch: (url: string, options?: any) => any;
|
|
22
21
|
};
|
|
23
|
-
language: LanguageLogic;
|
|
24
22
|
chat: ChatLogic;
|
|
25
23
|
profile: ProfileLogic;
|
|
26
24
|
authn: AuthnLogic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidLogic.d.ts","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SolidLogic.d.ts","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMpD,qBAAa,UAAU;IACnB,KAAK,EAAE;QACH,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;QACF,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;KACL,CAAC;IAEF,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC;IAExD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;gBAEP,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,OAAO;IAiBrF,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAgB9C,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAwDxD,YAAY,CACR,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,eAAe,EAAE,SAAS,GAAG,MAAM,EACnC,QAAQ,EAAE,OAAO,GAClB,SAAS,EAAE;IAUd,gBAAgB,CAAC,QAAQ,KAAA,EAAE,QAAQ,KAAA;IAQnC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM;IAOpC,WAAW,CACb,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EACxC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EAC1C,SAAS,UAAgB,KAAK,uBAE7B,GACF,OAAO,CAAC;QACP,OAAO,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,GAAG,CAAC;KACf,CAAC;IAyCI,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAYvD,aAAa,CACT,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,GAAG,GAAE,KAAK,CAAC,SAAS,CAAM,GAC3B,OAAO,CAAC,IAAI,CAAC;IAehB,WAAW,CAAC,GAAG,EAAE,MAAM;IAIvB,oBAAoB,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,EAAE;IAI3D,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItD,eAAe,CAAC,GAAG,EAAE,MAAM;IAIjC,UAAU;IAIJ,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAGzC"}
|
package/lib/logic/SolidLogic.js
CHANGED
|
@@ -63,7 +63,6 @@ var rdf = __importStar(require("rdflib"));
|
|
|
63
63
|
var solid_namespace_1 = __importDefault(require("solid-namespace"));
|
|
64
64
|
var SolidAuthnLogic_1 = require("../authn/SolidAuthnLogic");
|
|
65
65
|
var ChatLogic_1 = require("../chat/ChatLogic");
|
|
66
|
-
var LanguageLogic_1 = require("../language/LanguageLogic");
|
|
67
66
|
var ProfileLogic_1 = require("../profile/ProfileLogic");
|
|
68
67
|
var debug = __importStar(require("../util/debug"));
|
|
69
68
|
var UtilityLogic_1 = require("../util/UtilityLogic");
|
|
@@ -82,7 +81,6 @@ var SolidLogic = /** @class */ (function () {
|
|
|
82
81
|
this.fetcher = fetcher;
|
|
83
82
|
this.authn = new SolidAuthnLogic_1.SolidAuthnLogic(session);
|
|
84
83
|
debug.log('SolidAuthnLogic initialized');
|
|
85
|
-
this.language = new LanguageLogic_1.LanguageLogic(this.store, ns, this.authn);
|
|
86
84
|
this.profile = new ProfileLogic_1.ProfileLogic(this.store, ns, this.authn);
|
|
87
85
|
this.chat = new ChatLogic_1.ChatLogic(this.store, ns, this.profile);
|
|
88
86
|
this.util = new UtilityLogic_1.UtilityLogic(this.store, ns, this.fetcher);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAA8B;AAE9B,oEAA6C;AAC7C,4DAA2D;AAC3D,+CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { solidLogicSingleton } from './logic/solidLogicSingleton'
|
|
|
4
4
|
const authn = solidLogicSingleton.authn
|
|
5
5
|
const authSession = solidLogicSingleton.authn.authSession
|
|
6
6
|
const store = solidLogicSingleton.store
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
const chat = solidLogicSingleton.chat
|
|
9
9
|
const profile = solidLogicSingleton.profile
|
|
10
10
|
|
|
@@ -26,4 +26,4 @@ export { AppDetails, SolidNamespace, AuthenticationContext } from './types'
|
|
|
26
26
|
// solidLogicSingleton is exported entirely because it is used in solid-panes
|
|
27
27
|
export { solidLogicSingleton } from './logic/solidLogicSingleton'
|
|
28
28
|
export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError } from './logic/CustomError'
|
|
29
|
-
export { authn, authSession, store, chat, profile
|
|
29
|
+
export { authn, authSession, store, chat, profile }
|
package/src/logic/SolidLogic.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { NamedNode, Statement, LiveStore } from "rdflib";
|
|
|
4
4
|
import solidNamespace from "solid-namespace";
|
|
5
5
|
import { SolidAuthnLogic } from "../authn/SolidAuthnLogic";
|
|
6
6
|
import { ChatLogic } from "../chat/ChatLogic";
|
|
7
|
-
import { LanguageLogic } from "../language/LanguageLogic";
|
|
8
7
|
import { ProfileLogic } from "../profile/ProfileLogic";
|
|
9
8
|
import { AuthnLogic, SolidNamespace } from "../types";
|
|
10
9
|
import * as debug from "../util/debug";
|
|
@@ -28,7 +27,6 @@ export class SolidLogic {
|
|
|
28
27
|
me: string | undefined;
|
|
29
28
|
fetcher: { fetch: (url: string, options?: any) => any };
|
|
30
29
|
|
|
31
|
-
language: LanguageLogic;
|
|
32
30
|
chat: ChatLogic;
|
|
33
31
|
profile: ProfileLogic;
|
|
34
32
|
authn: AuthnLogic;
|
|
@@ -46,7 +44,6 @@ export class SolidLogic {
|
|
|
46
44
|
this.fetcher = fetcher;
|
|
47
45
|
this.authn = new SolidAuthnLogic(session);
|
|
48
46
|
debug.log('SolidAuthnLogic initialized')
|
|
49
|
-
this.language = new LanguageLogic(this.store, ns, this.authn)
|
|
50
47
|
this.profile = new ProfileLogic(this.store, ns, this.authn);
|
|
51
48
|
this.chat = new ChatLogic(this.store, ns, this.profile);
|
|
52
49
|
this.util = new UtilityLogic(this.store, ns, this.fetcher);
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NamedNode, Node } from 'rdflib';
|
|
2
|
-
import { LiveStore } from 'rdflib';
|
|
3
|
-
import { AuthnLogic, SolidNamespace } from "../types";
|
|
4
|
-
export interface Binding {
|
|
5
|
-
subject: Node;
|
|
6
|
-
name?: Node;
|
|
7
|
-
location?: Node;
|
|
8
|
-
coordinates?: Node;
|
|
9
|
-
}
|
|
10
|
-
export declare const languageCodeURIBase = "https://www.w3.org/ns/iana/language-code/";
|
|
11
|
-
export declare const defaultPreferedLangages: string[];
|
|
12
|
-
/**
|
|
13
|
-
* Language-related logic
|
|
14
|
-
*/
|
|
15
|
-
export declare class LanguageLogic {
|
|
16
|
-
store: LiveStore;
|
|
17
|
-
ns: SolidNamespace;
|
|
18
|
-
authn: AuthnLogic;
|
|
19
|
-
constructor(store: LiveStore, ns: SolidNamespace, authn: AuthnLogic);
|
|
20
|
-
getPreferredLanagugesForOLD(person: NamedNode): Promise<string[] | null>;
|
|
21
|
-
getPreferredLanguages(): Promise<string[] | null>;
|
|
22
|
-
}
|
|
23
|
-
export declare function getPreferredLanagugesForOLD(kb: any, ns: any, person: any): Promise<string[] | null>;
|
|
24
|
-
export declare function getMyPreferredLanguages(store: any, ns: any): Promise<string[] | null>;
|
|
25
|
-
export declare function filterByLanguageOLD(bindings: any, languagePrefs: any): Binding[];
|
|
26
|
-
//# sourceMappingURL=LanguageLogic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageLogic.d.ts","sourceRoot":"","sources":["../../src/language/LanguageLogic.ts"],"names":[],"mappings":"AAOA,OAAO,EAAc,SAAS,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AAED,eAAO,MAAM,mBAAmB,8CAA8C,CAAA;AAE9E,eAAO,MAAM,uBAAuB,UAA2B,CAAA;AAE/D;;GAEG;AACH,qBAAa,aAAa;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU;IAM7D,2BAA2B,CAAC,MAAM,EAAE,SAAS;IA+B7C,qBAAqB;CAU5B;AAGD,wBAAsB,2BAA2B,CAAC,EAAE,KAAA,EAAE,EAAE,KAAA,EAAE,MAAM,KAAA,4BA2B/D;AAED,wBAAsB,uBAAuB,CAAE,KAAK,KAAA,EAAE,EAAE,KAAA,4BAQvD;AASD,wBAAgB,mBAAmB,CAAE,QAAQ,KAAA,EAAE,aAAa,KAAA,aAuB3D"}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
-
function step(op) {
|
|
35
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
37
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
-
switch (op[0]) {
|
|
40
|
-
case 0: case 1: t = op; break;
|
|
41
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
-
default:
|
|
45
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
-
if (t[2]) _.ops.pop();
|
|
50
|
-
_.trys.pop(); continue;
|
|
51
|
-
}
|
|
52
|
-
op = body.call(thisArg, _);
|
|
53
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
-
exports.filterByLanguageOLD = exports.getMyPreferredLanguages = exports.getPreferredLanagugesForOLD = exports.LanguageLogic = exports.defaultPreferedLangages = exports.languageCodeURIBase = void 0;
|
|
59
|
-
/* Logic to access public data stores
|
|
60
|
-
*
|
|
61
|
-
* including filtering resut by natural language etc
|
|
62
|
-
* See https://solidos.solidcommunity.net/public/2021/BuildingSolidAppsUsingPublicData-V3.html
|
|
63
|
-
*/
|
|
64
|
-
/* eslint-disable no-console */
|
|
65
|
-
var debug = __importStar(require("../util/debug"));
|
|
66
|
-
exports.languageCodeURIBase = 'https://www.w3.org/ns/iana/language-code/'; /// @@ unsupported on the web (2021)
|
|
67
|
-
exports.defaultPreferedLangages = ['en', 'fr', 'de', 'it'];
|
|
68
|
-
/**
|
|
69
|
-
* Language-related logic
|
|
70
|
-
*/
|
|
71
|
-
var LanguageLogic = /** @class */ (function () {
|
|
72
|
-
function LanguageLogic(store, ns, authn) {
|
|
73
|
-
this.store = store;
|
|
74
|
-
this.ns = ns;
|
|
75
|
-
this.authn = authn;
|
|
76
|
-
}
|
|
77
|
-
LanguageLogic.prototype.getPreferredLanagugesForOLD = function (person) {
|
|
78
|
-
var _a;
|
|
79
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
-
var store, ns, list, languageCodeArray;
|
|
81
|
-
return __generator(this, function (_b) {
|
|
82
|
-
switch (_b.label) {
|
|
83
|
-
case 0:
|
|
84
|
-
store = this.store;
|
|
85
|
-
ns = this.ns;
|
|
86
|
-
return [4 /*yield*/, ((_a = store.fetcher) === null || _a === void 0 ? void 0 : _a.load(person.doc()))];
|
|
87
|
-
case 1:
|
|
88
|
-
_b.sent();
|
|
89
|
-
list = store.any(person, ns.schema('knowsLanguage'), null, person.doc());
|
|
90
|
-
if (!list) {
|
|
91
|
-
console.log("User ".concat(person, " has not set their languages in their profile."));
|
|
92
|
-
return [2 /*return*/, null]; // different from []
|
|
93
|
-
}
|
|
94
|
-
languageCodeArray = [];
|
|
95
|
-
list.elements.forEach(function (item) {
|
|
96
|
-
var lang = store.any(item, ns.solid('publicId'), null, item.doc());
|
|
97
|
-
if (!lang) {
|
|
98
|
-
console.warn('getPreferredLanguages: No publicID of language.');
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (!lang.value.startsWith(exports.languageCodeURIBase)) {
|
|
102
|
-
console.error("What should be a language code ".concat(lang.value, " does not start with ").concat(exports.languageCodeURIBase));
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
var code = lang.value.slice(exports.languageCodeURIBase.length);
|
|
106
|
-
languageCodeArray.push(code);
|
|
107
|
-
});
|
|
108
|
-
if (languageCodeArray.length > 0) {
|
|
109
|
-
console.log("User knows languages with codes: \"".concat(languageCodeArray.join(','), "\""));
|
|
110
|
-
return [2 /*return*/, languageCodeArray];
|
|
111
|
-
}
|
|
112
|
-
return [2 /*return*/, null];
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
};
|
|
117
|
-
LanguageLogic.prototype.getPreferredLanguages = function () {
|
|
118
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
119
|
-
var store, me;
|
|
120
|
-
return __generator(this, function (_a) {
|
|
121
|
-
store = this.store;
|
|
122
|
-
me = null;
|
|
123
|
-
if (me) { // If logged in
|
|
124
|
-
return [2 /*return*/, this.getPreferredLanagugesForOLD(me) || exports.defaultPreferedLangages];
|
|
125
|
-
}
|
|
126
|
-
return [2 /*return*/, exports.defaultPreferedLangages];
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
return LanguageLogic;
|
|
131
|
-
}());
|
|
132
|
-
exports.LanguageLogic = LanguageLogic;
|
|
133
|
-
function getPreferredLanagugesForOLD(kb, ns, person) {
|
|
134
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
135
|
-
var list, languageCodeArray;
|
|
136
|
-
return __generator(this, function (_a) {
|
|
137
|
-
switch (_a.label) {
|
|
138
|
-
case 0: return [4 /*yield*/, kb.fetcher.load(person.doc())];
|
|
139
|
-
case 1:
|
|
140
|
-
_a.sent();
|
|
141
|
-
list = kb.any(person, ns.schema('knowsLanguage'), null, person.doc());
|
|
142
|
-
if (!list) {
|
|
143
|
-
console.log("User ".concat(person, " has not set their languages in their profile."));
|
|
144
|
-
return [2 /*return*/, null]; // differnet from []
|
|
145
|
-
}
|
|
146
|
-
languageCodeArray = [];
|
|
147
|
-
list.elements.forEach(function (item) {
|
|
148
|
-
var lang = kb.any(item, ns.solid('publicId'), null, item.doc());
|
|
149
|
-
if (!lang) {
|
|
150
|
-
console.warn('getPreferredLanguages: No publiID of language.');
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (!lang.value.startsWith(exports.languageCodeURIBase)) {
|
|
154
|
-
console.error("What should be a language code ".concat(lang.value, " does not start with ").concat(exports.languageCodeURIBase));
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
var code = lang.value.slice(exports.languageCodeURIBase.length);
|
|
158
|
-
languageCodeArray.push(code);
|
|
159
|
-
});
|
|
160
|
-
if (languageCodeArray.length > 0) {
|
|
161
|
-
console.log("User knows languages with codes: \"".concat(languageCodeArray.join(','), "\""));
|
|
162
|
-
return [2 /*return*/, languageCodeArray];
|
|
163
|
-
}
|
|
164
|
-
return [2 /*return*/, null];
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
exports.getPreferredLanagugesForOLD = getPreferredLanagugesForOLD;
|
|
170
|
-
function getMyPreferredLanguages(store, ns) {
|
|
171
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
172
|
-
var me;
|
|
173
|
-
return __generator(this, function (_a) {
|
|
174
|
-
me = null;
|
|
175
|
-
if (me) { // If logged in
|
|
176
|
-
return [2 /*return*/, getPreferredLanagugesForOLD(store, ns, me) || exports.defaultPreferedLangages];
|
|
177
|
-
}
|
|
178
|
-
return [2 /*return*/, exports.defaultPreferedLangages];
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
exports.getMyPreferredLanguages = getMyPreferredLanguages;
|
|
183
|
-
/*
|
|
184
|
-
* From an array of bindings with a name for each row,
|
|
185
|
-
* remove duplicate names for the same thing, leaving the user's
|
|
186
|
-
* preferred language version
|
|
187
|
-
*/
|
|
188
|
-
function filterByLanguageOLD(bindings, languagePrefs) {
|
|
189
|
-
var uris = {};
|
|
190
|
-
bindings.forEach(function (binding) {
|
|
191
|
-
var uri = binding.subject.value;
|
|
192
|
-
uris[uri] = uris[uri] || [];
|
|
193
|
-
uris[uri].push(binding);
|
|
194
|
-
});
|
|
195
|
-
var languagePrefs2 = languagePrefs; // OLD
|
|
196
|
-
languagePrefs2.reverse(); // prefered last OLD
|
|
197
|
-
var slimmed = [];
|
|
198
|
-
for (var u in uris) { // needs hasOwnProperty ?
|
|
199
|
-
var bindings_1 = uris[u];
|
|
200
|
-
var sortMe = bindings_1.map(function (binding) {
|
|
201
|
-
return [languagePrefs2.indexOf(binding.name['xml:lang']), binding];
|
|
202
|
-
});
|
|
203
|
-
sortMe.sort(); // best at the bottom
|
|
204
|
-
sortMe.reverse(); // best at the top
|
|
205
|
-
slimmed.push(sortMe[0][1]);
|
|
206
|
-
} // map u
|
|
207
|
-
debug.log("Filter by language: ".concat(bindings.length, " -> ").concat(slimmed.length));
|
|
208
|
-
return slimmed;
|
|
209
|
-
}
|
|
210
|
-
exports.filterByLanguageOLD = filterByLanguageOLD;
|
|
211
|
-
//# sourceMappingURL=LanguageLogic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageLogic.js","sourceRoot":"","sources":["../../src/language/LanguageLogic.ts"],"names":[],"mappings":"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"}
|
package/lib/language/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/language/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,6BAA6B,CAAA"}
|
package/lib/language/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./LanguageLogic"), exports);
|
|
14
|
-
__exportStar(require("./nativeNameForLanguageCode"), exports);
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/language/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAA+B;AAC/B,8DAA2C"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare const nativeNameForLanguageCode: {
|
|
2
|
-
de: string;
|
|
3
|
-
en: string;
|
|
4
|
-
es: string;
|
|
5
|
-
fr: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const englishNameForLanguageCode: {
|
|
8
|
-
de: string;
|
|
9
|
-
en: string;
|
|
10
|
-
es: string;
|
|
11
|
-
fr: string;
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=nativeNameForLanguageCode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeNameForLanguageCode.d.ts","sourceRoot":"","sources":["../../src/language/nativeNameForLanguageCode.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,yBAAyB;;;;;CAKrC,CAAA;AAED,eAAO,MAAM,0BAA0B;;;;;CAKtC,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// We keep at hand a small set of basic language names
|
|
3
|
-
// which should cover a lot language use
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.englishNameForLanguageCode = exports.nativeNameForLanguageCode = void 0;
|
|
6
|
-
// @@ Fill these for top say 100 languages from Wikidata
|
|
7
|
-
exports.nativeNameForLanguageCode = {
|
|
8
|
-
de: 'Deutch',
|
|
9
|
-
en: 'English',
|
|
10
|
-
es: 'Esagnol@@',
|
|
11
|
-
fr: 'Français'
|
|
12
|
-
};
|
|
13
|
-
exports.englishNameForLanguageCode = {
|
|
14
|
-
de: 'German',
|
|
15
|
-
en: 'English',
|
|
16
|
-
es: 'Spanish',
|
|
17
|
-
fr: 'French'
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=nativeNameForLanguageCode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeNameForLanguageCode.js","sourceRoot":"","sources":["../../src/language/nativeNameForLanguageCode.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,wCAAwC;;;AAExC,wDAAwD;AAE3C,QAAA,yBAAyB,GAAG;IACvC,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,UAAU;CACf,CAAA;AAEY,QAAA,0BAA0B,GAAG;IACxC,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;CACb,CAAA"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/* Logic to access public data stores
|
|
2
|
-
*
|
|
3
|
-
* including filtering resut by natural language etc
|
|
4
|
-
* See https://solidos.solidcommunity.net/public/2021/BuildingSolidAppsUsingPublicData-V3.html
|
|
5
|
-
*/
|
|
6
|
-
/* eslint-disable no-console */
|
|
7
|
-
import * as debug from "../util/debug";
|
|
8
|
-
import { Collection, NamedNode, Node } from 'rdflib'
|
|
9
|
-
import { LiveStore } from 'rdflib'
|
|
10
|
-
import { AuthnLogic, SolidNamespace } from "../types";
|
|
11
|
-
|
|
12
|
-
export interface Binding {
|
|
13
|
-
subject: Node;
|
|
14
|
-
name?: Node
|
|
15
|
-
location?: Node
|
|
16
|
-
coordinates?: Node
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const languageCodeURIBase = 'https://www.w3.org/ns/iana/language-code/' /// @@ unsupported on the web (2021)
|
|
20
|
-
|
|
21
|
-
export const defaultPreferedLangages = ['en', 'fr', 'de', 'it']
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Language-related logic
|
|
25
|
-
*/
|
|
26
|
-
export class LanguageLogic {
|
|
27
|
-
store: LiveStore;
|
|
28
|
-
ns: SolidNamespace;
|
|
29
|
-
authn: AuthnLogic;
|
|
30
|
-
|
|
31
|
-
constructor(store: LiveStore, ns: SolidNamespace, authn: AuthnLogic ) { // profile: ProfileLogic
|
|
32
|
-
this.store = store;
|
|
33
|
-
this.ns = ns;
|
|
34
|
-
this.authn = authn;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async getPreferredLanagugesForOLD(person: NamedNode) {
|
|
38
|
-
const store = this.store
|
|
39
|
-
const ns = this.ns
|
|
40
|
-
await store.fetcher?.load(person.doc())
|
|
41
|
-
const list = store.any(person, ns.schema('knowsLanguage'), null, person.doc()) as Collection | undefined
|
|
42
|
-
if (!list) {
|
|
43
|
-
console.log(`User ${person} has not set their languages in their profile.`)
|
|
44
|
-
return null // different from []
|
|
45
|
-
}
|
|
46
|
-
const languageCodeArray: string[] = []
|
|
47
|
-
list.elements.forEach(item => {
|
|
48
|
-
const lang = store.any(item as any, ns.solid('publicId'), null, (item as NamedNode).doc())
|
|
49
|
-
if (!lang) {
|
|
50
|
-
console.warn('getPreferredLanguages: No publicID of language.')
|
|
51
|
-
return
|
|
52
|
-
}
|
|
53
|
-
if (!lang.value.startsWith(languageCodeURIBase)) {
|
|
54
|
-
console.error(`What should be a language code ${lang.value} does not start with ${languageCodeURIBase}`)
|
|
55
|
-
return
|
|
56
|
-
}
|
|
57
|
-
const code = lang.value.slice(languageCodeURIBase.length)
|
|
58
|
-
languageCodeArray.push(code)
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
if (languageCodeArray.length > 0) {
|
|
62
|
-
console.log(`User knows languages with codes: "${languageCodeArray.join(',')}"`)
|
|
63
|
-
return languageCodeArray
|
|
64
|
-
}
|
|
65
|
-
return null
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
async getPreferredLanguages () {
|
|
69
|
-
// In future: cache in the login session for speed, but get from profile and private prefs
|
|
70
|
-
// @@ TEESTING ONLY
|
|
71
|
-
const store = this.store
|
|
72
|
-
const me = null; // kb.sym('https://timbl.solidcommunity.net/') //await currentUser() as NamedNode @@
|
|
73
|
-
if (me) { // If logged in
|
|
74
|
-
return this.getPreferredLanagugesForOLD(me) || defaultPreferedLangages
|
|
75
|
-
}
|
|
76
|
-
return defaultPreferedLangages
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
export async function getPreferredLanagugesForOLD(kb, ns, person) {
|
|
82
|
-
await kb.fetcher.load(person.doc())
|
|
83
|
-
const list = kb.any(person, ns.schema('knowsLanguage'), null, person.doc()) as Collection | undefined
|
|
84
|
-
if (!list) {
|
|
85
|
-
console.log(`User ${person} has not set their languages in their profile.`)
|
|
86
|
-
return null // differnet from []
|
|
87
|
-
}
|
|
88
|
-
const languageCodeArray: string[] = []
|
|
89
|
-
list.elements.forEach(item => {
|
|
90
|
-
const lang = kb.any(item as any, ns.solid('publicId'), null, (item as NamedNode).doc())
|
|
91
|
-
if (!lang) {
|
|
92
|
-
console.warn('getPreferredLanguages: No publiID of language.')
|
|
93
|
-
return
|
|
94
|
-
}
|
|
95
|
-
if (!lang.value.startsWith(languageCodeURIBase)) {
|
|
96
|
-
console.error(`What should be a language code ${lang.value} does not start with ${languageCodeURIBase}`)
|
|
97
|
-
return
|
|
98
|
-
}
|
|
99
|
-
const code = lang.value.slice(languageCodeURIBase.length)
|
|
100
|
-
languageCodeArray.push(code)
|
|
101
|
-
})
|
|
102
|
-
|
|
103
|
-
if (languageCodeArray.length > 0) {
|
|
104
|
-
console.log(`User knows languages with codes: "${languageCodeArray.join(',')}"`)
|
|
105
|
-
return languageCodeArray
|
|
106
|
-
}
|
|
107
|
-
return null
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export async function getMyPreferredLanguages (store, ns) {
|
|
111
|
-
// In future: cache in the login session for speed, but get from profile and private prefs
|
|
112
|
-
// @@ TEESTING ONLY
|
|
113
|
-
const me = null; // kb.sym('https://timbl.solidcommunity.net/') //await currentUser() as NamedNode @@
|
|
114
|
-
if (me) { // If logged in
|
|
115
|
-
return getPreferredLanagugesForOLD(store, ns, me) || defaultPreferedLangages
|
|
116
|
-
}
|
|
117
|
-
return defaultPreferedLangages
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
/*
|
|
122
|
-
* From an array of bindings with a name for each row,
|
|
123
|
-
* remove duplicate names for the same thing, leaving the user's
|
|
124
|
-
* preferred language version
|
|
125
|
-
*/
|
|
126
|
-
|
|
127
|
-
export function filterByLanguageOLD (bindings, languagePrefs) {
|
|
128
|
-
const uris = {}
|
|
129
|
-
bindings.forEach(binding => { // Organize names by their subject
|
|
130
|
-
const uri = binding.subject.value
|
|
131
|
-
uris[uri] = uris[uri] || []
|
|
132
|
-
uris[uri].push(binding)
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
const languagePrefs2 = languagePrefs // OLD
|
|
136
|
-
languagePrefs2.reverse() // prefered last OLD
|
|
137
|
-
|
|
138
|
-
const slimmed = ([] as Array<Binding>)
|
|
139
|
-
for (const u in uris) { // needs hasOwnProperty ?
|
|
140
|
-
const bindings = uris[u]
|
|
141
|
-
const sortMe = bindings.map(binding => {
|
|
142
|
-
return [languagePrefs2.indexOf(binding.name['xml:lang']), binding]
|
|
143
|
-
})
|
|
144
|
-
sortMe.sort() // best at the bottom
|
|
145
|
-
sortMe.reverse() // best at the top
|
|
146
|
-
slimmed.push((sortMe[0][1] as any))
|
|
147
|
-
} // map u
|
|
148
|
-
debug.log(`Filter by language: ${bindings.length} -> ${slimmed.length}`)
|
|
149
|
-
return slimmed
|
|
150
|
-
}
|
package/src/language/index.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// We keep at hand a small set of basic language names
|
|
2
|
-
// which should cover a lot language use
|
|
3
|
-
|
|
4
|
-
// @@ Fill these for top say 100 languages from Wikidata
|
|
5
|
-
|
|
6
|
-
export const nativeNameForLanguageCode = {
|
|
7
|
-
de: 'Deutch',
|
|
8
|
-
en: 'English',
|
|
9
|
-
es: 'Esagnol@@',
|
|
10
|
-
fr: 'Français'
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const englishNameForLanguageCode = {
|
|
14
|
-
de: 'German',
|
|
15
|
-
en: 'English',
|
|
16
|
-
es: 'Spanish',
|
|
17
|
-
fr: 'French'
|
|
18
|
-
}
|