@openhps/rdf 0.1.11 → 0.1.14

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 (48) hide show
  1. package/.eslintrc.js +39 -0
  2. package/.prettierrc.js +8 -0
  3. package/commitlint.config.js +1 -0
  4. package/dist/cjs/index.serialization.d.ts +1 -0
  5. package/dist/cjs/index.serialization.js +14 -0
  6. package/dist/cjs/index.serialization.js.map +1 -1
  7. package/dist/cjs/rdf/InternalRDFSerializer.js +7 -1
  8. package/dist/cjs/rdf/InternalRDFSerializer.js.map +1 -1
  9. package/dist/esm/index.serialization.d.ts +1 -0
  10. package/dist/esm/index.serialization.js +2 -0
  11. package/dist/esm/index.serialization.js.map +1 -1
  12. package/dist/esm/rdf/InternalRDFSerializer.js +7 -1
  13. package/dist/esm/rdf/InternalRDFSerializer.js.map +1 -1
  14. package/dist/types/index.serialization.d.ts +1 -0
  15. package/dist/web/openhps-rdf.all.es.js +14 -2
  16. package/dist/web/openhps-rdf.all.es.js.map +1 -1
  17. package/dist/web/openhps-rdf.all.es.min.js +1 -1
  18. package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
  19. package/dist/web/openhps-rdf.all.js +12 -1
  20. package/dist/web/openhps-rdf.all.js.map +1 -1
  21. package/dist/web/openhps-rdf.all.min.js +1 -1
  22. package/dist/web/openhps-rdf.all.min.js.map +1 -1
  23. package/dist/web/openhps-rdf.serialization.es.js +1816 -5
  24. package/dist/web/openhps-rdf.serialization.es.js.map +1 -1
  25. package/dist/web/openhps-rdf.serialization.es.min.js +1 -1
  26. package/dist/web/openhps-rdf.serialization.es.min.js.LICENSE.txt +2 -0
  27. package/dist/web/openhps-rdf.serialization.es.min.js.map +1 -1
  28. package/dist/web/openhps-rdf.serialization.js +1819 -4
  29. package/dist/web/openhps-rdf.serialization.js.map +1 -1
  30. package/dist/web/openhps-rdf.serialization.min.js +1 -1
  31. package/dist/web/openhps-rdf.serialization.min.js.LICENSE.txt +2 -0
  32. package/dist/web/openhps-rdf.serialization.min.js.map +1 -1
  33. package/dist/web/openhps-rdf.sparql.es.js +7 -1
  34. package/dist/web/openhps-rdf.sparql.es.js.map +1 -1
  35. package/dist/web/openhps-rdf.sparql.es.min.js +1 -1
  36. package/dist/web/openhps-rdf.sparql.es.min.js.map +1 -1
  37. package/dist/web/openhps-rdf.sparql.js +7 -1
  38. package/dist/web/openhps-rdf.sparql.js.map +1 -1
  39. package/dist/web/openhps-rdf.sparql.min.js +1 -1
  40. package/dist/web/openhps-rdf.sparql.min.js.map +1 -1
  41. package/package.json +4 -2
  42. package/serialization.d.ts +1 -0
  43. package/serialization.js +1 -0
  44. package/src/index.serialization.ts +1 -0
  45. package/src/rdf/InternalRDFSerializer.ts +8 -1
  46. package/vocab.d.ts +1 -0
  47. package/vocab.js +1 -0
  48. package/webpack.config.js +87 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openhps/rdf",
3
- "version": "0.1.11",
3
+ "version": "0.1.14",
4
4
  "description": "Open Hybrid Positioning System",
5
5
  "author": "Maxim Van de Wynckel",
6
6
  "license": "Apache-2.0",
@@ -41,7 +41,9 @@
41
41
  "jsdelivr": "dist/web/openhps-rdf.min.js",
42
42
  "files": [
43
43
  "dist/**/*",
44
- "src/**/*"
44
+ "src/**/*",
45
+ "*.js",
46
+ "*.d.ts"
45
47
  ],
46
48
  "scripts": {
47
49
  "test": "mocha --config test/.mocharc.json",
@@ -0,0 +1 @@
1
+ export * from './dist/types/index.serialization';
@@ -0,0 +1 @@
1
+ export * from './dist/esm/index.browser';
@@ -1,3 +1,4 @@
1
1
  export * from './rdf';
2
2
  export * from './decorators';
3
3
  import './mapping';
4
+ export * as N3 from 'n3';
@@ -31,7 +31,7 @@ export class InternalRDFSerializer extends Serializer {
31
31
  typeDescriptor: TypeDescriptor,
32
32
  memberName: string,
33
33
  memberOptions?: ObjectMemberMetadata,
34
- serializerOptions?: any,
34
+ serializerOptions: any = {},
35
35
  ): Thing {
36
36
  if (this.retrievePreserveNull(memberOptions) && sourceObject === null) {
37
37
  return null;
@@ -142,6 +142,13 @@ export class InternalRDFSerializer extends Serializer {
142
142
  }
143
143
  thing.termType = thing.value.startsWith('http') ? 'NamedNode' : 'BlankNode';
144
144
 
145
+ // Check for circular serialization
146
+ if (serializerOptions.root === undefined) {
147
+ serializerOptions.root = thing;
148
+ } else if (serializerOptions.root.value === thing.value) {
149
+ return undefined;
150
+ }
151
+
145
152
  metadata.dataMembers.forEach((member) => {
146
153
  const rootMember = rootMetadata.dataMembers.get(member.key);
147
154
  const memberOptions =
package/vocab.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/types/index.vocab';
package/vocab.js ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/esm/index.vocab';
@@ -0,0 +1,87 @@
1
+ const TerserPlugin = require('terser-webpack-plugin');
2
+ const path = require('path');
3
+ const pkg = require("./package.json");
4
+
5
+ const LIBRARY_NAME = pkg.name;
6
+ const PROJECT_NAME = pkg.name.replace("@", "").replace("/", "-");
7
+
8
+ const defaultConfig = env => ({
9
+ mode: env.prod ? "production" : "development",
10
+ devtool: 'source-map',
11
+ resolve: {
12
+ alias: {
13
+ typescript: false,
14
+ },
15
+ fallback: {
16
+ path: false,
17
+ fs: false,
18
+ os: false,
19
+ util: false,
20
+ stream: false,
21
+ url: false,
22
+ assert: false,
23
+ tls: false,
24
+ net: false,
25
+ buffer: require.resolve("buffer"),
26
+ }
27
+ },
28
+ optimization: {
29
+ minimize: env.prod,
30
+ minimizer: [
31
+ new TerserPlugin({
32
+ parallel: true,
33
+ terserOptions: {
34
+ keep_classnames: true,
35
+ sourceMap: true,
36
+ }
37
+ })
38
+ ],
39
+ portableRecords: true,
40
+ usedExports: true,
41
+ },
42
+ performance: {
43
+ hints: false,
44
+ maxEntrypointSize: 300000,
45
+ maxAssetSize: 300000
46
+ },
47
+ });
48
+
49
+ const bundle = (env, module, entry = 'index', suffix = '') => ({
50
+ name: PROJECT_NAME,
51
+ entry: `./dist/esm/${entry}.js`,
52
+ output: {
53
+ path: path.resolve(__dirname, 'dist'),
54
+ filename: `web/${PROJECT_NAME}${suffix}${module ? ".es" : ""}${env.prod ? ".min" : ""}.js`,
55
+ library: module ? undefined : ['OpenHPS', LIBRARY_NAME.substring(LIBRARY_NAME.indexOf("/") + 1)],
56
+ libraryTarget: module ? "module" : "umd",
57
+ umdNamedDefine: !module,
58
+ globalObject: module ? undefined : `(typeof self !== 'undefined' ? self : this)`,
59
+ environment: { module },
60
+ },
61
+ experiments: {
62
+ outputModule: module,
63
+ },
64
+ externalsType: module ? "module" : undefined,
65
+ externals: {
66
+ '@openhps/core': module ? "./openhps-core.es" + (env.prod ? ".min" : "") + ".js" : {
67
+ commonjs: '@openhps/core',
68
+ commonjs2: '@openhps/core',
69
+ amd: 'core',
70
+ root: ['OpenHPS', 'core']
71
+ }
72
+ },
73
+ devtool: 'source-map',
74
+ plugins: [],
75
+ ...defaultConfig(env)
76
+ });
77
+
78
+ module.exports = env => [
79
+ bundle(env, true, 'index', '.all'),
80
+ bundle(env, false, 'index', '.all'),
81
+ bundle(env, true, 'index.sparql', '.sparql'),
82
+ bundle(env, false, 'index.sparql', '.sparql'),
83
+ bundle(env, true, 'index.serialization', '.serialization'),
84
+ bundle(env, false, 'index.serialization', '.serialization'),
85
+ bundle(env, true, 'index.vocab', '.vocab'),
86
+ bundle(env, false, 'index.vocab', '.vocab'),
87
+ ];