@xyo-network/image-thumbnail-plugin 2.73.2 → 2.73.4

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 (108) hide show
  1. package/dist/docs.json +567 -550
  2. package/dist/index.d.mts +245 -0
  3. package/dist/index.d.ts +245 -0
  4. package/dist/index.js +565 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +524 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +44 -31
  9. package/src/Diviner/Config.ts +1 -1
  10. package/src/Diviner/Diviner.ts +5 -1
  11. package/src/Witness/Witness.ts +8 -5
  12. package/tsup.config.ts +16 -0
  13. package/dist/cjs/Diviner/Config.js +0 -6
  14. package/dist/cjs/Diviner/Config.js.map +0 -1
  15. package/dist/cjs/Diviner/Diviner.js +0 -204
  16. package/dist/cjs/Diviner/Diviner.js.map +0 -1
  17. package/dist/cjs/Diviner/Params.js +0 -3
  18. package/dist/cjs/Diviner/Params.js.map +0 -1
  19. package/dist/cjs/Diviner/index.js +0 -7
  20. package/dist/cjs/Diviner/index.js.map +0 -1
  21. package/dist/cjs/Plugin.js +0 -21
  22. package/dist/cjs/Plugin.js.map +0 -1
  23. package/dist/cjs/Witness/Config.js +0 -6
  24. package/dist/cjs/Witness/Config.js.map +0 -1
  25. package/dist/cjs/Witness/Params.js +0 -3
  26. package/dist/cjs/Witness/Params.js.map +0 -1
  27. package/dist/cjs/Witness/Witness.js +0 -321
  28. package/dist/cjs/Witness/Witness.js.map +0 -1
  29. package/dist/cjs/Witness/ffmpeg/fluent/getVideoFrameAsImageFluent.js +0 -74
  30. package/dist/cjs/Witness/ffmpeg/fluent/getVideoFrameAsImageFluent.js.map +0 -1
  31. package/dist/cjs/Witness/ffmpeg/fluent/index.js +0 -5
  32. package/dist/cjs/Witness/ffmpeg/fluent/index.js.map +0 -1
  33. package/dist/cjs/Witness/ffmpeg/index.js +0 -6
  34. package/dist/cjs/Witness/ffmpeg/index.js.map +0 -1
  35. package/dist/cjs/Witness/ffmpeg/spawn/executeFfmpeg.js +0 -32
  36. package/dist/cjs/Witness/ffmpeg/spawn/executeFfmpeg.js.map +0 -1
  37. package/dist/cjs/Witness/ffmpeg/spawn/getVideoFrameAsImage.js +0 -16
  38. package/dist/cjs/Witness/ffmpeg/spawn/getVideoFrameAsImage.js.map +0 -1
  39. package/dist/cjs/Witness/ffmpeg/spawn/index.js +0 -6
  40. package/dist/cjs/Witness/ffmpeg/spawn/index.js.map +0 -1
  41. package/dist/cjs/Witness/index.js +0 -7
  42. package/dist/cjs/Witness/index.js.map +0 -1
  43. package/dist/cjs/index.js +0 -11
  44. package/dist/cjs/index.js.map +0 -1
  45. package/dist/esm/Diviner/Config.js +0 -3
  46. package/dist/esm/Diviner/Config.js.map +0 -1
  47. package/dist/esm/Diviner/Diviner.js +0 -179
  48. package/dist/esm/Diviner/Diviner.js.map +0 -1
  49. package/dist/esm/Diviner/Params.js +0 -2
  50. package/dist/esm/Diviner/Params.js.map +0 -1
  51. package/dist/esm/Diviner/index.js +0 -4
  52. package/dist/esm/Diviner/index.js.map +0 -1
  53. package/dist/esm/Plugin.js +0 -16
  54. package/dist/esm/Plugin.js.map +0 -1
  55. package/dist/esm/Witness/Config.js +0 -3
  56. package/dist/esm/Witness/Config.js.map +0 -1
  57. package/dist/esm/Witness/Params.js +0 -2
  58. package/dist/esm/Witness/Params.js.map +0 -1
  59. package/dist/esm/Witness/Witness.js +0 -292
  60. package/dist/esm/Witness/Witness.js.map +0 -1
  61. package/dist/esm/Witness/ffmpeg/fluent/getVideoFrameAsImageFluent.js +0 -69
  62. package/dist/esm/Witness/ffmpeg/fluent/getVideoFrameAsImageFluent.js.map +0 -1
  63. package/dist/esm/Witness/ffmpeg/fluent/index.js +0 -2
  64. package/dist/esm/Witness/ffmpeg/fluent/index.js.map +0 -1
  65. package/dist/esm/Witness/ffmpeg/index.js +0 -3
  66. package/dist/esm/Witness/ffmpeg/index.js.map +0 -1
  67. package/dist/esm/Witness/ffmpeg/spawn/executeFfmpeg.js +0 -28
  68. package/dist/esm/Witness/ffmpeg/spawn/executeFfmpeg.js.map +0 -1
  69. package/dist/esm/Witness/ffmpeg/spawn/getVideoFrameAsImage.js +0 -11
  70. package/dist/esm/Witness/ffmpeg/spawn/getVideoFrameAsImage.js.map +0 -1
  71. package/dist/esm/Witness/ffmpeg/spawn/index.js +0 -3
  72. package/dist/esm/Witness/ffmpeg/spawn/index.js.map +0 -1
  73. package/dist/esm/Witness/index.js +0 -4
  74. package/dist/esm/Witness/index.js.map +0 -1
  75. package/dist/esm/index.js +0 -7
  76. package/dist/esm/index.js.map +0 -1
  77. package/dist/types/Diviner/Config.d.ts +0 -11
  78. package/dist/types/Diviner/Config.d.ts.map +0 -1
  79. package/dist/types/Diviner/Diviner.d.ts +0 -30
  80. package/dist/types/Diviner/Diviner.d.ts.map +0 -1
  81. package/dist/types/Diviner/Params.d.ts +0 -5
  82. package/dist/types/Diviner/Params.d.ts.map +0 -1
  83. package/dist/types/Diviner/index.d.ts +0 -4
  84. package/dist/types/Diviner/index.d.ts.map +0 -1
  85. package/dist/types/Plugin.d.ts +0 -116
  86. package/dist/types/Plugin.d.ts.map +0 -1
  87. package/dist/types/Witness/Config.d.ts +0 -16
  88. package/dist/types/Witness/Config.d.ts.map +0 -1
  89. package/dist/types/Witness/Params.d.ts +0 -7
  90. package/dist/types/Witness/Params.d.ts.map +0 -1
  91. package/dist/types/Witness/Witness.d.ts +0 -66
  92. package/dist/types/Witness/Witness.d.ts.map +0 -1
  93. package/dist/types/Witness/ffmpeg/fluent/getVideoFrameAsImageFluent.d.ts +0 -8
  94. package/dist/types/Witness/ffmpeg/fluent/getVideoFrameAsImageFluent.d.ts.map +0 -1
  95. package/dist/types/Witness/ffmpeg/fluent/index.d.ts +0 -2
  96. package/dist/types/Witness/ffmpeg/fluent/index.d.ts.map +0 -1
  97. package/dist/types/Witness/ffmpeg/index.d.ts +0 -3
  98. package/dist/types/Witness/ffmpeg/index.d.ts.map +0 -1
  99. package/dist/types/Witness/ffmpeg/spawn/executeFfmpeg.d.ts +0 -9
  100. package/dist/types/Witness/ffmpeg/spawn/executeFfmpeg.d.ts.map +0 -1
  101. package/dist/types/Witness/ffmpeg/spawn/getVideoFrameAsImage.d.ts +0 -8
  102. package/dist/types/Witness/ffmpeg/spawn/getVideoFrameAsImage.d.ts.map +0 -1
  103. package/dist/types/Witness/ffmpeg/spawn/index.d.ts +0 -3
  104. package/dist/types/Witness/ffmpeg/spawn/index.d.ts.map +0 -1
  105. package/dist/types/Witness/index.d.ts +0 -4
  106. package/dist/types/Witness/index.d.ts.map +0 -1
  107. package/dist/types/index.d.ts +0 -6
  108. package/dist/types/index.d.ts.map +0 -1
package/package.json CHANGED
@@ -10,22 +10,22 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.10.7",
14
- "@xylabs/delay": "^2.10.7",
15
- "@xylabs/lodash": "^2.10.7",
16
- "@xylabs/url": "^2.10.7",
17
- "@xyo-network/abstract-diviner": "~2.73.2",
18
- "@xyo-network/archivist-model": "~2.73.2",
19
- "@xyo-network/axios": "~2.73.2",
20
- "@xyo-network/core": "~2.73.2",
21
- "@xyo-network/diviner-model": "~2.73.2",
22
- "@xyo-network/diviner-payload-model": "~2.73.2",
23
- "@xyo-network/image-thumbnail-payload-plugin": "~2.73.2",
24
- "@xyo-network/module": "~2.73.2",
25
- "@xyo-network/payload-model": "~2.73.2",
26
- "@xyo-network/payloadset-plugin": "~2.73.2",
27
- "@xyo-network/url-payload-plugin": "~2.73.2",
28
- "@xyo-network/witness": "~2.73.2",
13
+ "@xylabs/assert": "^2.10.16",
14
+ "@xylabs/delay": "^2.10.16",
15
+ "@xylabs/lodash": "^2.10.16",
16
+ "@xylabs/url": "^2.10.16",
17
+ "@xyo-network/abstract-diviner": "~2.73.4",
18
+ "@xyo-network/archivist-model": "~2.73.4",
19
+ "@xyo-network/axios": "~2.73.4",
20
+ "@xyo-network/core": "~2.73.4",
21
+ "@xyo-network/diviner-model": "~2.73.4",
22
+ "@xyo-network/diviner-payload-model": "~2.73.4",
23
+ "@xyo-network/image-thumbnail-payload-plugin": "~2.73.4",
24
+ "@xyo-network/module": "~2.73.4",
25
+ "@xyo-network/payload-model": "~2.73.4",
26
+ "@xyo-network/payloadset-plugin": "~2.73.4",
27
+ "@xyo-network/url-payload-plugin": "~2.73.4",
28
+ "@xyo-network/witness": "~2.73.4",
29
29
  "async-mutex": "^0.4.0",
30
30
  "file-type": "^16.5.4",
31
31
  "fluent-ffmpeg": "^2.1.2",
@@ -40,32 +40,46 @@
40
40
  "@types/fluent-ffmpeg": "^2.1.21",
41
41
  "@types/gm": "^1.25.1",
42
42
  "@types/hasbin": "^1.2.0",
43
- "@xylabs/ts-scripts-yarn3": "^2.19.5",
44
- "@xylabs/tsconfig": "^2.19.5",
43
+ "@xylabs/ts-scripts-yarn3": "^2.19.12",
44
+ "@xylabs/tsconfig": "^2.19.12",
45
+ "publint": "^0.2.2",
46
+ "tsup": "^7.2.0",
45
47
  "typescript": "^5.2.2"
46
48
  },
49
+ "scripts": {
50
+ "package-compile": "tsup && publint",
51
+ "package-recompile": "tsup && publint"
52
+ },
47
53
  "description": "Primary SDK for using XYO Protocol 2.0",
48
- "browser": "dist/esm/index.js",
49
54
  "docs": "dist/docs.json",
55
+ "types": "dist/index.d.ts",
50
56
  "exports": {
51
57
  ".": {
52
- "node": {
53
- "import": "./dist/esm/index.js",
54
- "require": "./dist/cjs/index.js"
55
- },
56
- "browser": {
57
- "import": "./dist/esm/index.js",
58
- "require": "./dist/cjs/index.js"
58
+ "require": {
59
+ "types": "./dist/index.d.ts",
60
+ "default": "./dist/index.js"
59
61
  },
60
- "default": "./dist/esm/index.js"
62
+ "import": {
63
+ "types": "./dist/index.d.mts",
64
+ "default": "./dist/index.mjs"
65
+ }
61
66
  },
62
67
  "./dist/docs.json": {
63
68
  "default": "./dist/docs.json"
64
69
  },
70
+ "./cjs": {
71
+ "default": "./dist/index.js"
72
+ },
73
+ "./docs": {
74
+ "default": "./dist/docs.json"
75
+ },
76
+ "./esm": {
77
+ "default": "./dist/index.mjs"
78
+ },
65
79
  "./package.json": "./package.json"
66
80
  },
67
- "main": "dist/cjs/index.js",
68
- "module": "dist/esm/index.js",
81
+ "main": "dist/index.js",
82
+ "module": "dist/index.mjs",
69
83
  "homepage": "https://xyo.network",
70
84
  "license": "LGPL-3.0",
71
85
  "publishConfig": {
@@ -76,6 +90,5 @@
76
90
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
77
91
  },
78
92
  "sideEffects": false,
79
- "types": "dist/types/index.d.ts",
80
- "version": "2.73.2"
93
+ "version": "2.73.4"
81
94
  }
@@ -5,7 +5,7 @@ export const ImageThumbnailDivinerConfigSchema = `${ImageThumbnailSchema}.divine
5
5
  export type ImageThumbnailDivinerConfigSchema = typeof ImageThumbnailDivinerConfigSchema
6
6
 
7
7
  export type ImageThumbnailDivinerConfig = DivinerConfig<{
8
- archivist: string
8
+ archivist?: string
9
9
  payloadDiviner?: string
10
10
  payloadDivinerLimit?: number
11
11
  pollFrequency?: number
@@ -21,6 +21,10 @@ export class ImageThumbnailDiviner<TParams extends ImageThumbnailDivinerParams =
21
21
  private _payloadDivinerInstance: Promise<DivinerInstance> | undefined
22
22
  private _pollId?: string | number | NodeJS.Timeout
23
23
 
24
+ // static override get configSchema() {
25
+ // return ImageThumbnailDivinerConfigSchema
26
+ // }
27
+
24
28
  get archivist() {
25
29
  return this.config.archivist
26
30
  }
@@ -46,7 +50,7 @@ export class ImageThumbnailDiviner<TParams extends ImageThumbnailDivinerParams =
46
50
  this._archivistInstance =
47
51
  this._archivistInstance ??
48
52
  (async () => {
49
- const module = await this.resolve(this.archivist)
53
+ const module = this.archivist ? await this.resolve(this.archivist) : undefined
50
54
  return asArchivistInstance(module, 'Provided archivist address did not resolve to an Archivist')
51
55
  })()
52
56
  return this._archivistInstance
@@ -10,8 +10,8 @@ import { UrlPayload, UrlSchema } from '@xyo-network/url-payload-plugin'
10
10
  import { AbstractWitness } from '@xyo-network/witness'
11
11
  import { Semaphore } from 'async-mutex'
12
12
  import FileType from 'file-type'
13
- import { subClass } from 'gm'
14
- import { sync as hasbin } from 'hasbin'
13
+ import graphicsMagick from 'gm'
14
+ import hasbin from 'hasbin'
15
15
  import { sha256 } from 'hash-wasm'
16
16
  import { LRUCache } from 'lru-cache'
17
17
  import shajs from 'sha.js'
@@ -25,7 +25,8 @@ import { ImageThumbnailWitnessParams } from './Params'
25
25
 
26
26
  // setFfmpegPath(ffmpegPath)
27
27
 
28
- const gm = subClass({ imageMagick: '7+' })
28
+ // eslint-disable-next-line import/no-named-as-default-member
29
+ const gm = graphicsMagick.subClass({ imageMagick: '7+' })
29
30
 
30
31
  export interface ImageThumbnailWitnessError extends Error {
31
32
  name: 'ImageThumbnailWitnessError'
@@ -139,7 +140,8 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
139
140
  }
140
141
 
141
142
  protected override async observeHandler(payloads: UrlPayload[] = []): Promise<ImageThumbnail[]> {
142
- if (!hasbin('magick')) {
143
+ // eslint-disable-next-line import/no-named-as-default-member
144
+ if (!hasbin.sync('magick')) {
143
145
  throw Error('ImageMagick is required for this witness')
144
146
  }
145
147
  const urlPayloads = payloads.filter((payload) => payload.schema === UrlSchema)
@@ -272,7 +274,8 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
272
274
 
273
275
  const processVideo = async () => {
274
276
  // Gracefully handle the case where ffmpeg is not installed.
275
- if (hasbin('ffmpeg')) {
277
+ // eslint-disable-next-line import/no-named-as-default-member
278
+ if (hasbin.sync('ffmpeg')) {
276
279
  result.sourceHash = await ImageThumbnailWitness.binaryToSha256(sourceBuffer)
277
280
  result.url = await this.createThumbnailFromVideo(sourceBuffer)
278
281
  } else {
package/tsup.config.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { defineConfig } from 'tsup'
2
+
3
+ // eslint-disable-next-line import/no-default-export
4
+ export default defineConfig({
5
+ bundle: true,
6
+ cjsInterop: true,
7
+ clean: false,
8
+ dts: {
9
+ entry: ['src/index.ts'],
10
+ },
11
+ entry: ['src/index.ts'],
12
+ format: ['cjs', 'esm'],
13
+ sourcemap: true,
14
+ splitting: false,
15
+ tsconfig: 'tsconfig.json',
16
+ })
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageThumbnailDivinerConfigSchema = void 0;
4
- const image_thumbnail_payload_plugin_1 = require("@xyo-network/image-thumbnail-payload-plugin");
5
- exports.ImageThumbnailDivinerConfigSchema = `${image_thumbnail_payload_plugin_1.ImageThumbnailSchema}.diviner.config`;
6
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":";;;AACA,gGAAkF;AAErE,QAAA,iCAAiC,GAAG,GAAG,qDAAoB,iBAA0B,CAAA"}
@@ -1,204 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageThumbnailDiviner = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = require("@xylabs/assert");
6
- const delay_1 = require("@xylabs/delay");
7
- const lodash_1 = require("@xylabs/lodash");
8
- const abstract_diviner_1 = require("@xyo-network/abstract-diviner");
9
- const archivist_model_1 = require("@xyo-network/archivist-model");
10
- const core_1 = require("@xyo-network/core");
11
- const diviner_model_1 = require("@xyo-network/diviner-model");
12
- const diviner_payload_model_1 = require("@xyo-network/diviner-payload-model");
13
- const image_thumbnail_payload_plugin_1 = require("@xyo-network/image-thumbnail-payload-plugin");
14
- const Config_1 = require("./Config");
15
- class ImageThumbnailDiviner extends abstract_diviner_1.AbstractDiviner {
16
- get archivist() {
17
- return this.config.archivist;
18
- }
19
- get payloadDiviner() {
20
- return this.config.payloadDiviner;
21
- }
22
- get payloadDivinerLimit() {
23
- var _a;
24
- return (_a = this.config.payloadDivinerLimit) !== null && _a !== void 0 ? _a : 10000;
25
- }
26
- get pollFrequency() {
27
- return this.config.pollFrequency;
28
- }
29
- //using promise as mutex
30
- getArchivistInstance() {
31
- var _a;
32
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
- //if previously checked, but not found, clear promise
34
- if (this._archivistInstance && !(yield this._archivistInstance)) {
35
- this._archivistInstance = undefined;
36
- }
37
- this._archivistInstance =
38
- (_a = this._archivistInstance) !== null && _a !== void 0 ? _a : (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
39
- const module = yield this.resolve(this.archivist);
40
- return (0, archivist_model_1.asArchivistInstance)(module, 'Provided archivist address did not resolve to an Archivist');
41
- }))();
42
- return this._archivistInstance;
43
- });
44
- }
45
- //using promise as mutex
46
- getPayloadDivinerInstance() {
47
- var _a;
48
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
- const payloadDivinerAddress = this.payloadDiviner;
50
- if (payloadDivinerAddress) {
51
- //if previously checked, but not found, clear promise
52
- if (this._payloadDivinerInstance && !(yield this._payloadDivinerInstance)) {
53
- this._payloadDivinerInstance = undefined;
54
- }
55
- this._payloadDivinerInstance =
56
- (_a = this._payloadDivinerInstance) !== null && _a !== void 0 ? _a : (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
57
- const module = yield this.resolve(payloadDivinerAddress);
58
- return (0, diviner_model_1.asDivinerInstance)(module, 'Provided payload diviner address did not resolve to a Diviner');
59
- }))();
60
- return this._payloadDivinerInstance;
61
- }
62
- });
63
- }
64
- divineHandler(payloads = []) {
65
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
66
- yield this.initializeArchivistConnectionIfNeeded();
67
- const urls = payloads.map((urlPayload) => urlPayload.url);
68
- const map = yield this.getSafeMap();
69
- const archivist = yield this.getArchivistInstance();
70
- const hashes = (0, lodash_1.compact)(urls.map((url) => map === null || map === void 0 ? void 0 : map[url]));
71
- return (yield archivist.get(hashes)).filter((payload) => payload.schema === image_thumbnail_payload_plugin_1.ImageThumbnailSchema);
72
- });
73
- }
74
- //using promise as mutex
75
- initializeArchivistConnectionIfNeeded() {
76
- var _a;
77
- this._initializeArchivistConnectionIfNeededPromise =
78
- (_a = this._initializeArchivistConnectionIfNeededPromise) !== null && _a !== void 0 ? _a : (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
79
- if (!this._map) {
80
- yield this.attachArchivistEvents();
81
- console.log('initializeArchivistConnectionIfNeeded: attachArchivistEvents done');
82
- yield this.poll();
83
- console.log('initializeArchivistConnectionIfNeeded: poll done');
84
- }
85
- }))();
86
- return this._initializeArchivistConnectionIfNeededPromise;
87
- }
88
- loadMap() {
89
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
90
- if (this.payloadDiviner) {
91
- return yield this.loadMapWithPayloadDiviner();
92
- }
93
- else {
94
- return yield this.loadMapWithAll();
95
- }
96
- });
97
- }
98
- loadMapWithAll() {
99
- var _a, _b;
100
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
101
- if (yield this.started()) {
102
- const archivist = yield this.getArchivistInstance();
103
- (0, assert_1.assertEx)(archivist.all, "Archivist does not support 'all'");
104
- const allPayloads = (_b = (yield ((_a = archivist.all) === null || _a === void 0 ? void 0 : _a.call(archivist)))) !== null && _b !== void 0 ? _b : [];
105
- const imagePayloadPairs = yield Promise.all(allPayloads
106
- .filter((payload) => payload.schema === image_thumbnail_payload_plugin_1.ImageThumbnailSchema)
107
- .map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () { return [yield core_1.PayloadHasher.hashAsync(payload), payload]; })));
108
- this._map = imagePayloadPairs.reduce((prev, [hash, payload]) => {
109
- prev[payload.sourceUrl] = hash;
110
- return prev;
111
- }, {});
112
- }
113
- });
114
- }
115
- loadMapWithPayloadDiviner() {
116
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
117
- console.log('loadMapWithPayloadDiviner: started');
118
- if (yield this.started()) {
119
- const diviner = yield this.getPayloadDivinerInstance();
120
- let offset = undefined;
121
- let moreAvailable = true;
122
- if (diviner) {
123
- const newMap = {};
124
- while (moreAvailable) {
125
- const payloadDivinerQuery = {
126
- limit: this.payloadDivinerLimit,
127
- offset,
128
- schema: diviner_payload_model_1.PayloadDivinerQuerySchema,
129
- schemas: [image_thumbnail_payload_plugin_1.ImageThumbnailSchema],
130
- };
131
- const payloads = yield diviner.divine([payloadDivinerQuery]);
132
- offset = (offset !== null && offset !== void 0 ? offset : 0) + payloads.length;
133
- moreAvailable = payloads.length > 0;
134
- console.log(`loadMapWithPayloadDiviner.offset: ${offset}`);
135
- console.log(`loadMapWithPayloadDiviner.moreAvailable: ${moreAvailable}`);
136
- const imagePayloadPairs = yield Promise.all(payloads
137
- .filter((payload) => payload.schema === image_thumbnail_payload_plugin_1.ImageThumbnailSchema)
138
- .map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () { return [yield core_1.PayloadHasher.hashAsync(payload), payload]; })));
139
- imagePayloadPairs.forEach(([hash, payload]) => (newMap[payload.sourceUrl] = hash));
140
- }
141
- this._map = newMap;
142
- }
143
- }
144
- });
145
- }
146
- stopHandler(_timeout) {
147
- const _super = Object.create(null, {
148
- stopHandler: { get: () => super.stopHandler }
149
- });
150
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
151
- if (this._pollId) {
152
- clearTimeout(this._pollId);
153
- this._pollId = undefined;
154
- }
155
- return yield _super.stopHandler.call(this);
156
- });
157
- }
158
- attachArchivistEvents() {
159
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
160
- const archivist = yield this.getArchivistInstance();
161
- const mapPromise = this.getSafeMap();
162
- archivist.on('inserted', ({ payloads }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
163
- const map = yield mapPromise;
164
- const thumbnails = (0, lodash_1.compact)(payloads.filter((payload) => payload.schema === image_thumbnail_payload_plugin_1.ImageThumbnailSchema));
165
- yield Promise.all(thumbnails.map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () { return (map[payload.sourceUrl] = yield core_1.PayloadHasher.hashAsync(payload)); })));
166
- }));
167
- });
168
- }
169
- getSafeMap() {
170
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
171
- let mapRetry = 100; //10 seconds max
172
- let map = this._map;
173
- while (!map) {
174
- yield (0, delay_1.delay)(100);
175
- mapRetry = mapRetry - 1;
176
- if (mapRetry === 0) {
177
- throw Error('Map Not Loaded');
178
- }
179
- map = this._map;
180
- }
181
- return map;
182
- });
183
- }
184
- poll() {
185
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
186
- if (yield this.started()) {
187
- const pollFrequency = this.pollFrequency;
188
- if (pollFrequency) {
189
- this._pollId = setTimeout(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
190
- this._pollId = undefined;
191
- yield this.loadMap();
192
- yield this.poll();
193
- }), pollFrequency);
194
- }
195
- else {
196
- yield this.loadMap();
197
- }
198
- }
199
- });
200
- }
201
- }
202
- exports.ImageThumbnailDiviner = ImageThumbnailDiviner;
203
- ImageThumbnailDiviner.configSchemas = [Config_1.ImageThumbnailDivinerConfigSchema, diviner_model_1.DivinerConfigSchema];
204
- //# sourceMappingURL=Diviner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Params.js","sourceRoot":"","sources":["../../../src/Diviner/Params.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Config"), exports);
5
- tslib_1.__exportStar(require("./Diviner"), exports);
6
- tslib_1.__exportStar(require("./Params"), exports);
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,oDAAyB;AACzB,mDAAwB"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageThumbnailPlugin = void 0;
4
- const tslib_1 = require("tslib");
5
- const image_thumbnail_payload_plugin_1 = require("@xyo-network/image-thumbnail-payload-plugin");
6
- const payload_model_1 = require("@xyo-network/payload-model");
7
- const payloadset_plugin_1 = require("@xyo-network/payloadset-plugin");
8
- const Diviner_1 = require("./Diviner");
9
- const Witness_1 = require("./Witness");
10
- const ImageThumbnailPlugin = () => (0, payloadset_plugin_1.createPayloadSetDualPlugin)({ required: { [image_thumbnail_payload_plugin_1.ImageThumbnailSchema]: 1 }, schema: payload_model_1.PayloadSetSchema }, {
11
- diviner: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
- const result = yield Diviner_1.ImageThumbnailDiviner.create(params);
13
- return result;
14
- }),
15
- witness: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
- const result = yield Witness_1.ImageThumbnailWitness.create(params);
17
- return result;
18
- }),
19
- });
20
- exports.ImageThumbnailPlugin = ImageThumbnailPlugin;
21
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":";;;;AAAA,gGAAkF;AAClF,8DAA6D;AAC7D,sEAA2E;AAE3E,uCAAiD;AACjD,uCAAiD;AAE1C,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,IAAA,8CAA0B,EACxB,EAAE,QAAQ,EAAE,EAAE,CAAC,qDAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gCAAgB,EAAE,EACrE;IACE,OAAO,EAAE,CAAO,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,+BAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IACD,OAAO,EAAE,CAAO,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,+BAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;CACF,CACF,CAAA;AAbU,QAAA,oBAAoB,wBAa9B"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageThumbnailWitnessConfigSchema = void 0;
4
- const image_thumbnail_payload_plugin_1 = require("@xyo-network/image-thumbnail-payload-plugin");
5
- exports.ImageThumbnailWitnessConfigSchema = `${image_thumbnail_payload_plugin_1.ImageThumbnailSchema}.witness.config`;
6
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Witness/Config.ts"],"names":[],"mappings":";;;AAAA,gGAAkF;AAGrE,QAAA,iCAAiC,GAAG,GAAG,qDAAoB,iBAA0B,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Params.js","sourceRoot":"","sources":["../../../src/Witness/Params.ts"],"names":[],"mappings":""}