@tpluscode/rdf-ns-builders 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/Factory.d.ts +2 -1
- package/Factory.d.ts.map +1 -1
- package/README.md +38 -0
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/Factory.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as StrictBuilders from './index.js';
|
|
2
|
+
import type { CustomNamespaces } from './index.js';
|
|
2
3
|
export interface NsBuildersFactory {
|
|
3
|
-
ns: typeof StrictBuilders;
|
|
4
|
+
ns: typeof StrictBuilders & CustomNamespaces;
|
|
4
5
|
}
|
|
5
6
|
export declare class NsBuildersFactory {
|
|
6
7
|
init(): void;
|
package/Factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Factory.d.ts","sourceRoot":"","sources":["Factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Factory.d.ts","sourceRoot":"","sources":["Factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,cAAc,GAAG,gBAAgB,CAAA;CAC7C;AAED,qBAAa,iBAAiB;IAC5B,IAAI;CAGL"}
|
package/README.md
CHANGED
|
@@ -74,3 +74,41 @@ This will create a directory `source`, containing typescript modules for all voc
|
|
|
74
74
|
|
|
75
75
|
[rdfv]: https://github.com/zazuko/rdf-vocabularies
|
|
76
76
|
[ns]: http://npm.im/@rdfjs/namespace
|
|
77
|
+
|
|
78
|
+
## Adding your own vocabularies
|
|
79
|
+
|
|
80
|
+
To extend the interface of `env.ns` you need to add you own factory which will add additional
|
|
81
|
+
namespace builders to the environment. TypeScript users will also need to extend the `CustomPrefixes`
|
|
82
|
+
interface.
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
// ./ns.ts
|
|
86
|
+
import { NamespaceBuilder } from '@rdfjs/namespace'
|
|
87
|
+
|
|
88
|
+
type ExampleTerms = 'foo' | 'bar
|
|
89
|
+
|
|
90
|
+
declare module '@tpluscode/rdf-ns-builders' {
|
|
91
|
+
interface CustomNamespaces {
|
|
92
|
+
ex: NamespaceBuilder<ExampleTerms>
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export class ExampleNsFactory {
|
|
97
|
+
init(this: Environment<NsBuildersFactory | NamespaceFactory>) {
|
|
98
|
+
this.ns = {
|
|
99
|
+
...this.ns,
|
|
100
|
+
ex: this.namespace<ExampleTerms>('https://example.com/'),
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Then, use it to create an extended environment.
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
// ./env.ts
|
|
110
|
+
import { create } from '@zazuko/env'
|
|
111
|
+
import { ExampleNsFactory } from './ns.js'
|
|
112
|
+
|
|
113
|
+
export default create(TalosNsFactory)
|
|
114
|
+
```
|
package/index.d.ts
CHANGED
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,eAAe,iBAAiB,CAAA;AAChC,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,gBAAgB;CAAG;AAEpC,eAAe,iBAAiB,CAAA;AAChC,cAAc,aAAa,CAAA"}
|