@xyo-network/bowser-system-info-plugin 2.42.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.
@@ -0,0 +1,7 @@
1
+ import { XyoWitnessConfig } from '@xyo-network/witness';
2
+ export type XyoBowserSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.bowser.config';
3
+ export declare const XyoBowserSystemInfoWitnessConfigSchema: XyoBowserSystemInfoWitnessConfigSchema;
4
+ export type XyoBowserSystemInfoWitnessConfig = XyoWitnessConfig<{
5
+ schema: XyoBowserSystemInfoWitnessConfigSchema;
6
+ }>;
7
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,sCAAsC,GAAG,+CAA+C,CAAA;AACpG,eAAO,MAAM,sCAAsC,EAAE,sCAAwF,CAAA;AAE7I,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,CAAC;IAC9D,MAAM,EAAE,sCAAsC,CAAA;CAC/C,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const XyoBowserSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.bowser.config';
2
+ //# sourceMappingURL=Config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sCAAsC,GAA2C,+CAA+C,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { XyoModuleParams } from '@xyo-network/module';
2
+ import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
3
+ export declare const XyoBowserSystemInfoPlugin: () => PayloadSetWitnessPlugin<XyoModuleParams<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
4
+ security?: {
5
+ allowed?: Record<string, string[][]> | undefined;
6
+ disallowed?: Record<string, string[]> | undefined;
7
+ } | undefined;
8
+ } & {
9
+ schema: "network.xyo.system.info.witness.bowser.config";
10
+ } & {
11
+ targetSet?: (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & import("@xyo-network/payload").PayloadSet & {
12
+ schema: "network.xyo.payload.set";
13
+ }) | undefined;
14
+ }>>;
15
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAA0B,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAKhG,eAAO,MAAM,yBAAyB;;;;;;;;;;;GASnC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { XyoBowserSystemInfoSchema } from '@xyo-network/bowser-system-info-payload-plugin';
2
+ import { PayloadSetSchema } from '@xyo-network/payload';
3
+ import { createPayloadSetPlugin } from '@xyo-network/payloadset-plugin';
4
+ import { XyoBowserSystemInfoWitness } from './Witness';
5
+ export const XyoBowserSystemInfoPlugin = () => createPayloadSetPlugin({ required: { [XyoBowserSystemInfoSchema]: 1 }, schema: PayloadSetSchema }, {
6
+ witness: async (params) => {
7
+ const result = await XyoBowserSystemInfoWitness.create(params);
8
+ return result;
9
+ },
10
+ });
11
+ //# sourceMappingURL=Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAA;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,gCAAgC,CAAA;AAGhG,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAC5C,sBAAsB,CACpB,EAAE,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC1E;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { XyoBowserSystemInfoPayload } from '@xyo-network/bowser-system-info-payload-plugin';
2
+ import { XyoModuleParams } from '@xyo-network/module';
3
+ import { AbstractWitness } from '@xyo-network/witness';
4
+ import Bowser from 'bowser';
5
+ import { XyoBowserSystemInfoWitnessConfig } from './Config';
6
+ export declare class XyoBowserSystemInfoWitness<T extends XyoBowserSystemInfoPayload = XyoBowserSystemInfoPayload> extends AbstractWitness<XyoBowserSystemInfoWitnessConfig> {
7
+ static configSchema: "network.xyo.system.info.witness.bowser.config";
8
+ protected get bowser(): Bowser.Parser.ParsedResult;
9
+ static create(params?: XyoModuleParams<XyoBowserSystemInfoWitnessConfig>): Promise<XyoBowserSystemInfoWitness>;
10
+ observe(payloads?: T[]): import("@xyo-network/promise").Promisable<(import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
11
+ schema: string;
12
+ })[], never>;
13
+ }
14
+ //# sourceMappingURL=Witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,gDAAgD,CAAA;AACtH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAA;AAG3B,OAAO,EAAE,gCAAgC,EAA0C,MAAM,UAAU,CAAA;AAEnG,qBAAa,0BAA0B,CACrC,CAAC,SAAS,0BAA0B,GAAG,0BAA0B,CACjE,SAAQ,eAAe,CAAC,gCAAgC,CAAC;IACzD,OAAgB,YAAY,kDAAyC;IAErE,SAAS,KAAK,MAAM,+BAInB;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,gCAAgC,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIpH,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;;;CAGhC"}
@@ -0,0 +1,20 @@
1
+ import { XyoBowserSystemInfoSchema } from '@xyo-network/bowser-system-info-payload-plugin';
2
+ import { AbstractWitness } from '@xyo-network/witness';
3
+ import Bowser from 'bowser';
4
+ import merge from 'lodash/merge';
5
+ import { XyoBowserSystemInfoWitnessConfigSchema } from './Config';
6
+ export class XyoBowserSystemInfoWitness extends AbstractWitness {
7
+ static configSchema = XyoBowserSystemInfoWitnessConfigSchema;
8
+ get bowser() {
9
+ // we do this to fix importing in node-esm
10
+ // eslint-disable-next-line import/no-named-as-default-member
11
+ return Bowser.parse(window.navigator.userAgent);
12
+ }
13
+ static async create(params) {
14
+ return (await super.create(params));
15
+ }
16
+ observe(payloads) {
17
+ return super.observe([merge({ bowser: this.bowser }, payloads?.[0], { schema: XyoBowserSystemInfoSchema })]);
18
+ }
19
+ }
20
+ //# sourceMappingURL=Witness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,yBAAyB,EAAE,MAAM,gDAAgD,CAAA;AAEtH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,KAAK,MAAM,cAAc,CAAA;AAEhC,OAAO,EAAoC,sCAAsC,EAAE,MAAM,UAAU,CAAA;AAEnG,MAAM,OAAO,0BAEX,SAAQ,eAAiD;IACzD,MAAM,CAAU,YAAY,GAAG,sCAAsC,CAAA;IAErE,IAAc,MAAM;QAClB,0CAA0C;QAC1C,6DAA6D;QAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAA0D;QACrF,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAA+B,CAAA;IACnE,CAAC;IAEQ,OAAO,CAAC,QAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9G,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { XyoBowserSystemInfoPlugin } from './Plugin';
2
+ export * from './Config';
3
+ export * from './Witness';
4
+ export { XyoBowserSystemInfoPlugin };
5
+ export default XyoBowserSystemInfoPlugin;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,yBAAyB,EAAE,CAAA;AAGpC,eAAe,yBAAyB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { XyoBowserSystemInfoPlugin } from './Plugin';
2
+ export * from './Config';
3
+ export * from './Witness';
4
+ export { XyoBowserSystemInfoPlugin };
5
+ // eslint-disable-next-line import/no-default-export
6
+ export default XyoBowserSystemInfoPlugin;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,yBAAyB,EAAE,CAAA;AAEpC,oDAAoD;AACpD,eAAe,yBAAyB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@xyo-network/bowser-system-info-plugin",
3
+ "author": {
4
+ "email": "support@xyo.network",
5
+ "name": "XYO Development Team",
6
+ "url": "https://xyo.network"
7
+ },
8
+ "bugs": {
9
+ "email": "support@xyo.network",
10
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
+ },
12
+ "dependencies": {
13
+ "@xyo-network/bowser-system-info-payload-plugin": "^2.42.0",
14
+ "@xyo-network/module": "^2.42.0",
15
+ "@xyo-network/payload": "^2.42.0",
16
+ "@xyo-network/payloadset-plugin": "^2.42.0",
17
+ "@xyo-network/witness": "^2.42.0",
18
+ "bowser": "^2.11.0",
19
+ "lodash": "^4.17.21",
20
+ "tslib": "^2.4.1"
21
+ },
22
+ "devDependencies": {
23
+ "@types/lodash": "^4.14.191"
24
+ },
25
+ "description": "Primary SDK for using XYO Protocol 2.0",
26
+ "browser": "dist/esm/index.js",
27
+ "docs": "dist/docs.json",
28
+ "exports": {
29
+ ".": {
30
+ "node": {
31
+ "import": "./dist/esm/index.js",
32
+ "require": "./dist/cjs/index.js"
33
+ },
34
+ "browser": {
35
+ "import": "./dist/esm/index.js",
36
+ "require": "./dist/cjs/index.js"
37
+ },
38
+ "default": "./dist/esm/index.js"
39
+ },
40
+ "./dist/docs.json": {
41
+ "default": "./dist/docs.json"
42
+ },
43
+ "./package.json": "./package.json"
44
+ },
45
+ "main": "dist/cjs/index.js",
46
+ "module": "dist/esm/index.js",
47
+ "homepage": "https://xyo.network",
48
+ "license": "LGPL-3.0-only",
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
55
+ },
56
+ "sideEffects": false,
57
+ "types": "dist/esm/index.d.ts",
58
+ "version": "2.42.0"
59
+ }
package/src/Config.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { XyoWitnessConfig } from '@xyo-network/witness'
2
+
3
+ export type XyoBowserSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.bowser.config'
4
+ export const XyoBowserSystemInfoWitnessConfigSchema: XyoBowserSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.bowser.config'
5
+
6
+ export type XyoBowserSystemInfoWitnessConfig = XyoWitnessConfig<{
7
+ schema: XyoBowserSystemInfoWitnessConfigSchema
8
+ }>
@@ -0,0 +1,13 @@
1
+ import { XyoBowserSystemInfoSchema } from '@xyo-network/bowser-system-info-payload-plugin'
2
+ import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'
3
+
4
+ import { XyoBowserSystemInfoPlugin } from './Plugin'
5
+
6
+ describe('XyoBowserSystemInfoPlugin', () => {
7
+ test('Add to Resolver', () => {
8
+ const plugin = XyoBowserSystemInfoPlugin()
9
+ const resolver = new PayloadSetPluginResolver().register(plugin)
10
+ expect(resolver.resolve(plugin.set)).toBeObject()
11
+ expect(resolver.witness(XyoBowserSystemInfoSchema)).toBeObject()
12
+ })
13
+ })
package/src/Plugin.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { XyoBowserSystemInfoSchema } from '@xyo-network/bowser-system-info-payload-plugin'
2
+ import { XyoModuleParams } from '@xyo-network/module'
3
+ import { PayloadSetSchema } from '@xyo-network/payload'
4
+ import { createPayloadSetPlugin, PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'
5
+
6
+ import { XyoBowserSystemInfoWitnessConfig } from './Config'
7
+ import { XyoBowserSystemInfoWitness } from './Witness'
8
+
9
+ export const XyoBowserSystemInfoPlugin = () =>
10
+ createPayloadSetPlugin<PayloadSetWitnessPlugin<XyoModuleParams<XyoBowserSystemInfoWitnessConfig>>>(
11
+ { required: { [XyoBowserSystemInfoSchema]: 1 }, schema: PayloadSetSchema },
12
+ {
13
+ witness: async (params) => {
14
+ const result = await XyoBowserSystemInfoWitness.create(params)
15
+ return result
16
+ },
17
+ },
18
+ )
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+
5
+ import { XyoBowserSystemInfoSchema } from '@xyo-network/bowser-system-info-payload-plugin'
6
+ import { PayloadWrapper } from '@xyo-network/payload'
7
+ import crypto from 'crypto'
8
+
9
+ import { XyoBowserSystemInfoWitnessConfigSchema } from './Config'
10
+ import { XyoBowserSystemInfoWitness } from './Witness'
11
+
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const cryptoPolyfill = (window: Window & typeof globalThis) => {
14
+ window.crypto = window.crypto ?? {
15
+ getRandomValues: (arr: []) => crypto.randomBytes(arr.length),
16
+ }
17
+ }
18
+
19
+ cryptoPolyfill(window)
20
+
21
+ describe('XyoBowserSystemInfo', () => {
22
+ test('observe', async () => {
23
+ const witness = await XyoBowserSystemInfoWitness.create({
24
+ config: {
25
+ schema: XyoBowserSystemInfoWitnessConfigSchema,
26
+ },
27
+ })
28
+ const [observation] = await witness.observe()
29
+ expect(observation.schema).toBe(XyoBowserSystemInfoSchema)
30
+ expect(new PayloadWrapper(observation).valid).toBe(true)
31
+ })
32
+ test('observe [no config]', async () => {
33
+ const witness = await XyoBowserSystemInfoWitness.create()
34
+ const [observation] = await witness.observe()
35
+ expect(observation.schema).toBe(XyoBowserSystemInfoSchema)
36
+ expect(new PayloadWrapper(observation).valid).toBe(true)
37
+ })
38
+ })
package/src/Witness.ts ADDED
@@ -0,0 +1,27 @@
1
+ import { XyoBowserSystemInfoPayload, XyoBowserSystemInfoSchema } from '@xyo-network/bowser-system-info-payload-plugin'
2
+ import { XyoModuleParams } from '@xyo-network/module'
3
+ import { AbstractWitness } from '@xyo-network/witness'
4
+ import Bowser from 'bowser'
5
+ import merge from 'lodash/merge'
6
+
7
+ import { XyoBowserSystemInfoWitnessConfig, XyoBowserSystemInfoWitnessConfigSchema } from './Config'
8
+
9
+ export class XyoBowserSystemInfoWitness<
10
+ T extends XyoBowserSystemInfoPayload = XyoBowserSystemInfoPayload,
11
+ > extends AbstractWitness<XyoBowserSystemInfoWitnessConfig> {
12
+ static override configSchema = XyoBowserSystemInfoWitnessConfigSchema
13
+
14
+ protected get bowser() {
15
+ // we do this to fix importing in node-esm
16
+ // eslint-disable-next-line import/no-named-as-default-member
17
+ return Bowser.parse(window.navigator.userAgent)
18
+ }
19
+
20
+ static override async create(params?: XyoModuleParams<XyoBowserSystemInfoWitnessConfig>): Promise<XyoBowserSystemInfoWitness> {
21
+ return (await super.create(params)) as XyoBowserSystemInfoWitness
22
+ }
23
+
24
+ override observe(payloads?: T[]) {
25
+ return super.observe([merge({ bowser: this.bowser }, payloads?.[0], { schema: XyoBowserSystemInfoSchema })])
26
+ }
27
+ }
package/src/index.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { XyoBowserSystemInfoPlugin } from './Plugin'
2
+
3
+ export * from './Config'
4
+ export * from './Witness'
5
+
6
+ export { XyoBowserSystemInfoPlugin }
7
+
8
+ // eslint-disable-next-line import/no-default-export
9
+ export default XyoBowserSystemInfoPlugin