Skip to content

Commit a684556

Browse files
author
Tim Berners-Lee
committed
Merge ts type fixes in
2 parents 5bc46c4 + 8009dd8 commit a684556

15 files changed

Lines changed: 1545 additions & 1383 deletions

package-lock.json

Lines changed: 1221 additions & 1034 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "solid-ui",
3-
"version": "2.3.7",
3+
"version": "2.3.8",
44
"description": "UI library for writing Solid read-write-web applications",
55
"main": "./lib/index.js",
66
"types": "./lib/index.d.ts",
@@ -56,49 +56,49 @@
5656
"@babel/runtime": "^7.12.5",
5757
"crypto-browserify": "^3.12.0",
5858
"escape-html": "^1.0.3",
59-
"jss": "^10.4.0",
60-
"jss-preset-default": "^10.4.0",
59+
"jss": "^10.5.0",
60+
"jss-preset-default": "^10.5.0",
6161
"mime-types": "^2.1.27",
62-
"pane-registry": "^2.3.3",
62+
"pane-registry": "^2.3.4",
6363
"path-browserify": "^1.0.1",
64-
"rdflib": "^2.1.1",
65-
"solid-auth-client": "^2.5.3",
66-
"solid-logic": "^1.2.5",
64+
"rdflib": "^2.1.3",
65+
"solid-auth-client": "^2.5.4",
66+
"solid-logic": "^1.2.8",
6767
"solid-namespace": "^0.5.0",
6868
"stream-browserify": "^3.0.0",
6969
"uuid": "^8.3.1"
7070
},
7171
"devDependencies": {
72-
"@babel/cli": "^7.12.1",
73-
"@babel/core": "^7.12.3",
72+
"@babel/cli": "^7.12.8",
73+
"@babel/core": "^7.12.9",
7474
"@babel/plugin-proposal-class-properties": "^7.12.1",
75-
"@babel/plugin-proposal-optional-chaining": "^7.12.1",
75+
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
7676
"@babel/plugin-transform-async-to-generator": "^7.12.1",
7777
"@babel/plugin-transform-runtime": "^7.12.1",
78-
"@babel/preset-env": "^7.12.1",
79-
"@babel/preset-typescript": "^7.12.1",
80-
"@storybook/addon-actions": "^6.0.28",
81-
"@storybook/addon-essentials": "^6.0.28",
82-
"@storybook/addon-links": "^6.0.28",
83-
"@storybook/html": "^6.0.28",
78+
"@babel/preset-env": "^7.12.7",
79+
"@babel/preset-typescript": "^7.12.7",
80+
"@storybook/addon-actions": "^6.1.9",
81+
"@storybook/addon-essentials": "^6.1.9",
82+
"@storybook/addon-links": "^6.1.9",
83+
"@storybook/html": "^6.1.9",
8484
"@types/jest": "^26.0.15",
8585
"@types/jsdom": "^16.2.5",
86-
"@types/node": "^14.14.7",
87-
"@typescript-eslint/eslint-plugin": "^4.7.0",
88-
"@typescript-eslint/parser": "^4.7.0",
89-
"babel-loader": "^8.2.1",
90-
"eslint": "^7.13.0",
91-
"eslint-plugin-jest": "^24.1.1",
86+
"@types/node": "^14.14.10",
87+
"@typescript-eslint/eslint-plugin": "^4.8.2",
88+
"@typescript-eslint/parser": "^4.8.2",
89+
"babel-loader": "^8.2.2",
90+
"eslint": "^7.14.0",
91+
"eslint-plugin-jest": "^24.1.3",
9292
"husky": "^4.3.0",
9393
"jest": "^26.6.3",
9494
"jsdom": "^16.4.0",
95-
"lint-staged": "^10.5.1",
95+
"lint-staged": "^10.5.2",
9696
"react-is": "^17.0.1",
9797
"solid-auth-cli": "^1.0.15",
98-
"standard": "^16.0.2",
98+
"standard": "^16.0.3",
9999
"ts-jest": "^26.4.4",
100100
"typedoc": "^0.19.2",
101-
"typescript": "^4.0.5",
101+
"typescript": "^4.1.2",
102102
"webpack": "^4.44.2",
103103
"webpack-cli": "^3.3.12"
104104
},

src/acl/acl.ts

Lines changed: 45 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { solidLogicSingleton } from '../logic'
1010
import utils from '../utils'
1111
import { AgentMapMap, AgentMapUnion, ComboList } from './types'
1212
import * as debug from '../debug'
13-
import { graph, IndexedFormula, NamedNode, serialize, st, sym } from 'rdflib'
13+
import { graph, IndexedFormula, NamedNode, serialize, st, Statement, sym } from 'rdflib'
1414
import { LiveStore } from 'pane-registry'
1515
import { ACL_LINK } from 'solid-logic'
1616

@@ -36,15 +36,15 @@ export function adoptACLDefault (
3636
.concat(kb.each(undefined, ACL('defaultForNew'), defaultResource, defaultACLDoc))
3737

3838
const proposed = defaults.reduce((accumulatedStatements, da) => accumulatedStatements
39-
.concat(kb.statementsMatching(da, ns.rdf('type'), ACL('Authorization'), defaultACLDoc))
40-
.concat(kb.statementsMatching(da, ACL('agent'), undefined, defaultACLDoc))
41-
.concat(kb.statementsMatching(da, ACL('agentClass'), undefined, defaultACLDoc))
42-
.concat(kb.statementsMatching(da, ACL('agentGroup'), undefined, defaultACLDoc))
43-
.concat(kb.statementsMatching(da, ACL('origin'), undefined, defaultACLDoc))
44-
.concat(kb.statementsMatching(da, ACL('originClass'), undefined, defaultACLDoc))
45-
.concat(kb.statementsMatching(da, ACL('mode'), undefined, defaultACLDoc))
46-
.concat(st(da, ACL('accessTo'), doc, defaultACLDoc))
47-
.concat(isContainer ? st(da, ACL('default'), doc, defaultACLDoc) : []), [])
39+
.concat(kb.statementsMatching(da as NamedNode, ns.rdf('type'), ACL('Authorization'), defaultACLDoc))
40+
.concat(kb.statementsMatching(da as NamedNode, ACL('agent'), undefined, defaultACLDoc))
41+
.concat(kb.statementsMatching(da as NamedNode, ACL('agentClass'), undefined, defaultACLDoc))
42+
.concat(kb.statementsMatching(da as NamedNode, ACL('agentGroup'), undefined, defaultACLDoc))
43+
.concat(kb.statementsMatching(da as NamedNode, ACL('origin'), undefined, defaultACLDoc))
44+
.concat(kb.statementsMatching(da as NamedNode, ACL('originClass'), undefined, defaultACLDoc))
45+
.concat(kb.statementsMatching(da as NamedNode, ACL('mode'), undefined, defaultACLDoc))
46+
.concat(st(da as NamedNode, ACL('accessTo'), doc, defaultACLDoc))
47+
.concat(isContainer ? st(da as NamedNode, ACL('default'), doc, defaultACLDoc) : []), [] as Statement[])
4848

4949
const kb2 = graph() // Potential - derived is kept apart
5050
proposed.forEach(st => kb2.add(move(st.subject), move(st.predicate), move(st.object), sym(aclDoc.uri)))
@@ -355,7 +355,7 @@ type fixIndividualACLCallback = (ok: boolean, message?: string | NamedNode | Age
355355
* All group files must be loaded first
356356
*/
357357
export function fixIndividualCardACL (person: NamedNode, log: Function, callbackFunction: fixIndividualCardACLCallback): void {
358-
const groups = kb.each(undefined, ns.vcard('hasMember'), person)
358+
const groups = kb.each(undefined, ns.vcard('hasMember'), person) as NamedNode[]
359359
// const doc = person.doc()
360360
if (groups) {
361361
fixIndividualACL(person, groups, log, callbackFunction)
@@ -396,7 +396,7 @@ export function fixIndividualACL (item: NamedNode, subjects: Array<NamedNode>, l
396396
// makeACLString(targetDoc, ac, targetACLDoc))
397397

398398
putACLObject(
399-
kb,
399+
kb as unknown as LiveStore,
400400
targetDoc as NamedNode,
401401
union as AgentMapMap | AgentMapUnion,
402402
targetACLDoc as NamedNode,
@@ -416,34 +416,44 @@ export function setACL (
416416
callbackFunction: (ok: boolean, message: string) => void
417417
): void {
418418
const aclDoc = kb.any(
419-
kb.sym(docURI),
420-
kb.sym(ACL_LINK)
419+
docURI,
420+
ACL_LINK
421421
) // @@ check that this get set by web.js
422+
if (!kb.fetcher) {
423+
throw new Error('Store has no fetcher')
424+
}
422425
if (aclDoc) {
423426
// Great we already know where it is
424427
kb.fetcher
425-
.webOperation('PUT', aclDoc.uri, {
428+
.webOperation('PUT', aclDoc.value, {
426429
data: aclText,
427430
contentType: 'text/turtle'
428431
})
429-
.then(callbackFunction) // @@@ check params
432+
.then((res) => {
433+
callbackFunction(res.ok, res.error || '')
434+
}) // @@@ check params
430435
} else {
431436
kb.fetcher.nowOrWhenFetched(docURI, undefined, function (ok, body) {
432437
if (!ok) return callbackFunction(ok, 'Gettting headers for ACL: ' + body)
433438
const aclDoc = kb.any(
434-
kb.sym(docURI),
435-
kb.sym(ACL_LINK)
439+
docURI,
440+
ACL_LINK
436441
) // @@ check that this get set by web.js
437442
if (!aclDoc) {
438443
// complainIfBad(false, "No Link rel=ACL header for " + docURI)
439444
callbackFunction(false, 'No Link rel=ACL header for ' + docURI)
440445
} else {
446+
if (!kb.fetcher) {
447+
throw new Error('Store has no fetcher')
448+
}
441449
kb.fetcher
442-
.webOperation('PUT', aclDoc.uri, {
450+
.webOperation('PUT', aclDoc.value, {
443451
data: aclText,
444452
contentType: 'text/turtle'
445453
})
446-
.then(callbackFunction)
454+
.then((res) => {
455+
callbackFunction(res.ok, res.error || '')
456+
})
447457
}
448458
})
449459
}
@@ -469,7 +479,7 @@ export function getACLorDefault (
469479
d?: NamedNode
470480
) => void
471481
): void {
472-
getACL(doc, function (ok, status, aclDoc, message) {
482+
getACL(doc, function (ok, status, aclDoc, message): string | void {
473483
const ACL = ns.acl
474484
if (!ok) return callbackFunction(false, false, status as number, message as string)
475485

@@ -485,14 +495,14 @@ export function getACLorDefault (
485495
}
486496
uri = uri.slice(0, right + 1)
487497
const doc2 = sym(uri)
488-
getACL(doc2, function (ok, status, defaultACLDoc) {
498+
getACL(doc2, function (ok, status, defaultACLDoc: any): NamedNode | void {
489499
if (!ok) {
490500
return callbackFunction(
491501
false,
492502
true,
493503
status as number,
494504
`( No ACL pointer ${uri} ${status})${defaultACLDoc}`
495-
)
505+
) as void
496506
} else if (status === 403) {
497507
return callbackFunction(
498508
false,
@@ -579,26 +589,32 @@ export function getACL (
579589
message?: string
580590
) => void
581591
): void {
592+
if (!kb.fetcher) {
593+
throw new Error('kb has no fetcher')
594+
}
582595
kb.fetcher.nowOrWhenFetched(doc, undefined, function (ok, body) {
583596
if (!ok) {
584597
return callbackFunction(ok, `Can't get headers to find ACL for ${doc}: ${body}`)
585598
}
586599
const aclDoc = kb.any(
587600
doc,
588-
kb.sym(ACL_LINK)
601+
ACL_LINK
589602
) // @@ check that this get set by web.js
590603
if (!aclDoc) {
591604
callbackFunction(false, 900, `No Link rel=ACL header for ${doc}`)
592605
} else {
593-
if (kb.fetcher.nonexistent[aclDoc.uri]) {
606+
if (!kb.fetcher) {
607+
throw new Error('kb has no fetcher')
608+
}
609+
if (kb.fetcher.nonexistent[aclDoc.value]) {
594610
return callbackFunction(
595611
true,
596612
404,
597-
aclDoc,
613+
aclDoc as NamedNode,
598614
`ACL file ${aclDoc} does not exist.`
599615
)
600616
}
601-
kb.fetcher.nowOrWhenFetched(aclDoc, undefined, function (
617+
kb.fetcher.nowOrWhenFetched(aclDoc as NamedNode, undefined, function (
602618
ok,
603619
message,
604620
response
@@ -607,11 +623,11 @@ export function getACL (
607623
callbackFunction(
608624
true,
609625
response.status,
610-
aclDoc,
626+
aclDoc as NamedNode,
611627
`Can't read Access Control File ${aclDoc}: ${message}`
612628
)
613629
} else {
614-
callbackFunction(true, 200, aclDoc)
630+
callbackFunction(true, 200, aclDoc as NamedNode)
615631
}
616632
})
617633
}

0 commit comments

Comments
 (0)