@xyo-network/image-thumbnail-plugin 2.75.8 → 2.75.11

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 (83) hide show
  1. package/dist/docs.json +17210 -7942
  2. package/dist/node/Plugin.d.cts +4 -4
  3. package/dist/node/Plugin.d.cts.map +1 -1
  4. package/dist/node/Plugin.d.mts +4 -4
  5. package/dist/node/Plugin.d.mts.map +1 -1
  6. package/dist/node/Plugin.d.ts +4 -4
  7. package/dist/node/Plugin.d.ts.map +1 -1
  8. package/dist/node/Plugin.js +27 -256
  9. package/dist/node/Plugin.js.map +1 -1
  10. package/dist/node/Plugin.mjs +21 -250
  11. package/dist/node/Plugin.mjs.map +1 -1
  12. package/dist/node/Witness/Witness.d.cts +0 -25
  13. package/dist/node/Witness/Witness.d.cts.map +1 -1
  14. package/dist/node/Witness/Witness.d.mts +0 -25
  15. package/dist/node/Witness/Witness.d.mts.map +1 -1
  16. package/dist/node/Witness/Witness.d.ts +0 -25
  17. package/dist/node/Witness/Witness.d.ts.map +1 -1
  18. package/dist/node/Witness/Witness.js +7 -30
  19. package/dist/node/Witness/Witness.js.map +1 -1
  20. package/dist/node/Witness/Witness.mjs +7 -30
  21. package/dist/node/Witness/Witness.mjs.map +1 -1
  22. package/dist/node/Witness/index.js +7 -30
  23. package/dist/node/Witness/index.js.map +1 -1
  24. package/dist/node/Witness/index.mjs +7 -30
  25. package/dist/node/Witness/index.mjs.map +1 -1
  26. package/dist/node/index.d.cts +1 -1
  27. package/dist/node/index.d.cts.map +1 -1
  28. package/dist/node/index.d.mts +1 -1
  29. package/dist/node/index.d.mts.map +1 -1
  30. package/dist/node/index.d.ts +1 -1
  31. package/dist/node/index.d.ts.map +1 -1
  32. package/dist/node/index.js +31 -261
  33. package/dist/node/index.js.map +1 -1
  34. package/dist/node/index.mjs +22 -252
  35. package/dist/node/index.mjs.map +1 -1
  36. package/package.json +19 -24
  37. package/src/Plugin.ts +1 -1
  38. package/src/Witness/Witness.ts +5 -30
  39. package/src/index.ts +1 -1
  40. package/dist/node/Diviner/Config.d.cts +0 -34
  41. package/dist/node/Diviner/Config.d.cts.map +0 -1
  42. package/dist/node/Diviner/Config.d.mts +0 -34
  43. package/dist/node/Diviner/Config.d.mts.map +0 -1
  44. package/dist/node/Diviner/Config.d.ts +0 -34
  45. package/dist/node/Diviner/Config.d.ts.map +0 -1
  46. package/dist/node/Diviner/Config.js +0 -32
  47. package/dist/node/Diviner/Config.js.map +0 -1
  48. package/dist/node/Diviner/Config.mjs +0 -7
  49. package/dist/node/Diviner/Config.mjs.map +0 -1
  50. package/dist/node/Diviner/Diviner.d.cts +0 -48
  51. package/dist/node/Diviner/Diviner.d.cts.map +0 -1
  52. package/dist/node/Diviner/Diviner.d.mts +0 -48
  53. package/dist/node/Diviner/Diviner.d.mts.map +0 -1
  54. package/dist/node/Diviner/Diviner.d.ts +0 -48
  55. package/dist/node/Diviner/Diviner.d.ts.map +0 -1
  56. package/dist/node/Diviner/Diviner.js +0 -237
  57. package/dist/node/Diviner/Diviner.js.map +0 -1
  58. package/dist/node/Diviner/Diviner.mjs +0 -212
  59. package/dist/node/Diviner/Diviner.mjs.map +0 -1
  60. package/dist/node/Diviner/Params.d.cts +0 -5
  61. package/dist/node/Diviner/Params.d.cts.map +0 -1
  62. package/dist/node/Diviner/Params.d.mts +0 -5
  63. package/dist/node/Diviner/Params.d.mts.map +0 -1
  64. package/dist/node/Diviner/Params.d.ts +0 -5
  65. package/dist/node/Diviner/Params.d.ts.map +0 -1
  66. package/dist/node/Diviner/Params.js +0 -19
  67. package/dist/node/Diviner/Params.js.map +0 -1
  68. package/dist/node/Diviner/Params.mjs +0 -1
  69. package/dist/node/Diviner/Params.mjs.map +0 -1
  70. package/dist/node/Diviner/index.d.cts +0 -4
  71. package/dist/node/Diviner/index.d.cts.map +0 -1
  72. package/dist/node/Diviner/index.d.mts +0 -4
  73. package/dist/node/Diviner/index.d.mts.map +0 -1
  74. package/dist/node/Diviner/index.d.ts +0 -4
  75. package/dist/node/Diviner/index.d.ts.map +0 -1
  76. package/dist/node/Diviner/index.js +0 -239
  77. package/dist/node/Diviner/index.js.map +0 -1
  78. package/dist/node/Diviner/index.mjs +0 -211
  79. package/dist/node/Diviner/index.mjs.map +0 -1
  80. package/src/Diviner/Config.ts +0 -37
  81. package/src/Diviner/Diviner.ts +0 -280
  82. package/src/Diviner/Params.ts +0 -6
  83. package/src/Diviner/index.ts +0 -3
@@ -13,7 +13,6 @@ import FileType from 'file-type'
13
13
  import graphicsMagick from 'gm'
14
14
  import hasbin from 'hasbin'
15
15
  import { sha256 } from 'hash-wasm'
16
- import { LRUCache } from 'lru-cache'
17
16
  import shajs from 'sha.js'
18
17
  import Url from 'url-parse'
19
18
 
@@ -40,21 +39,8 @@ export interface DnsError extends Error {
40
39
  export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams = ImageThumbnailWitnessParams> extends AbstractWitness<TParams> {
41
40
  static override configSchemas = [ImageThumbnailWitnessConfigSchema]
42
41
 
43
- private _cache?: LRUCache<string, ImageThumbnail>
44
42
  private _semaphore = new Semaphore(this.maxAsyncProcesses)
45
43
 
46
- get cache() {
47
- this._cache =
48
- this._cache ??
49
- new LRUCache<string, ImageThumbnail>({
50
- max: this.maxCacheEntries,
51
- maxSize: this.maxCacheBytes,
52
- //just returning the size of the data
53
- sizeCalculation: (value) => value.url?.length ?? 1,
54
- })
55
- return this._cache
56
- }
57
-
58
44
  get encoding() {
59
45
  return this.config.encoding ?? 'PNG'
60
46
  }
@@ -71,14 +57,6 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
71
57
  return this.config.maxAsyncProcesses ?? 2
72
58
  }
73
59
 
74
- get maxCacheBytes() {
75
- return this.config.maxCacheBytes ?? 1024 * 1024 * 16 //64MB max size
76
- }
77
-
78
- get maxCacheEntries() {
79
- return this.config.maxCacheEntries ?? 500
80
- }
81
-
82
60
  get quality() {
83
61
  return this.config.quality ?? 50
84
62
  }
@@ -149,10 +127,6 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
149
127
  compact(
150
128
  await Promise.all(
151
129
  urlPayloads.map<Promise<ImageThumbnail>>(async ({ url }) => {
152
- const cachedResult = this.cache.get(url)
153
- if (cachedResult) {
154
- return cachedResult
155
- }
156
130
  let result: ImageThumbnail
157
131
 
158
132
  //if it is a data URL, return a Buffer
@@ -170,7 +144,6 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
170
144
  const mutatedUrl = this.checkIpfsUrl(url)
171
145
  result = await this.fromHttp(mutatedUrl, url)
172
146
  }
173
- this.cache.set(url, result)
174
147
  return result
175
148
  }),
176
149
  ),
@@ -205,6 +178,7 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
205
178
  return this.createThumbnailDataUrl(imageBuffer)
206
179
  }
207
180
 
181
+ // eslint-disable-next-line complexity
208
182
  private async fromHttp(url: string, sourceUrl?: string): Promise<ImageThumbnail> {
209
183
  let response: AxiosResponse
210
184
  let dnsResult: string[]
@@ -254,8 +228,8 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
254
228
  }
255
229
 
256
230
  if (response.status >= 200 && response.status < 300) {
257
- const contentType: string = response.headers['content-type']?.toString()
258
- const [mediaType, fileType] = contentType.split('/')
231
+ const contentType: string | undefined = response.headers['content-type']?.toString()
232
+ const [mediaType, fileType] = contentType?.split('/') ?? ['', '']
259
233
  result.mime = result.mime ?? {}
260
234
  result.mime.returned = mediaType
261
235
  const sourceBuffer = Buffer.from(response.data, 'binary')
@@ -308,7 +282,8 @@ export class ImageThumbnailWitness<TParams extends ImageThumbnailWitnessParams =
308
282
  break
309
283
  }
310
284
  default: {
311
- switch (result.mime.detected?.mime) {
285
+ const [detectedMediaType] = result.mime.detected?.mime?.split('/') ?? ['', '']
286
+ switch (detectedMediaType) {
312
287
  case 'image': {
313
288
  await processImage()
314
289
  result.mime.type = result.mime.detected?.mime
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ImageThumbnailPlugin } from './Plugin'
2
2
 
3
- export * from './Diviner'
4
3
  export * from './Witness'
4
+ export * from '@xyo-network/diviner-image-thumbnail'
5
5
 
6
6
  export { ImageThumbnailPlugin }
7
7
 
@@ -1,34 +0,0 @@
1
- import { DivinerConfig } from '@xyo-network/diviner-model';
2
- export declare const ImageThumbnailDivinerConfigSchema: "network.xyo.image.thumbnail.diviner.config";
3
- export type ImageThumbnailDivinerConfigSchema = typeof ImageThumbnailDivinerConfigSchema;
4
- /**
5
- * Describes an Archivist/Diviner combination
6
- * that enables searching signed payloads
7
- */
8
- export interface SearchableStorage {
9
- archivist: string;
10
- boundWitnessDiviner: string;
11
- payloadDiviner: string;
12
- }
13
- export type ImageThumbnailDivinerConfig = DivinerConfig<{
14
- /** @deprecated Use appropriate Storage */
15
- archivist?: string;
16
- /**
17
- * Where the diviner should store it's index
18
- */
19
- indexStore?: SearchableStorage;
20
- /** @deprecated Use appropriate Storage */
21
- payloadDiviner?: string;
22
- payloadDivinerLimit?: number;
23
- pollFrequency?: number;
24
- schema: ImageThumbnailDivinerConfigSchema;
25
- /**
26
- * Where the diviner should persist its internal state
27
- */
28
- stateStore?: SearchableStorage;
29
- /**
30
- * Where the diviner should look for stored thumbnails
31
- */
32
- thumbnailStore?: SearchableStorage;
33
- }>;
34
- //# sourceMappingURL=Config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,iCAAiC,8CAAoD,CAAA;AAClG,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAA;AAExF;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,CAAC;IACtD,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,iCAAiC,CAAA;IACzC;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC,CAAC,CAAA"}
@@ -1,34 +0,0 @@
1
- import { DivinerConfig } from '@xyo-network/diviner-model';
2
- export declare const ImageThumbnailDivinerConfigSchema: "network.xyo.image.thumbnail.diviner.config";
3
- export type ImageThumbnailDivinerConfigSchema = typeof ImageThumbnailDivinerConfigSchema;
4
- /**
5
- * Describes an Archivist/Diviner combination
6
- * that enables searching signed payloads
7
- */
8
- export interface SearchableStorage {
9
- archivist: string;
10
- boundWitnessDiviner: string;
11
- payloadDiviner: string;
12
- }
13
- export type ImageThumbnailDivinerConfig = DivinerConfig<{
14
- /** @deprecated Use appropriate Storage */
15
- archivist?: string;
16
- /**
17
- * Where the diviner should store it's index
18
- */
19
- indexStore?: SearchableStorage;
20
- /** @deprecated Use appropriate Storage */
21
- payloadDiviner?: string;
22
- payloadDivinerLimit?: number;
23
- pollFrequency?: number;
24
- schema: ImageThumbnailDivinerConfigSchema;
25
- /**
26
- * Where the diviner should persist its internal state
27
- */
28
- stateStore?: SearchableStorage;
29
- /**
30
- * Where the diviner should look for stored thumbnails
31
- */
32
- thumbnailStore?: SearchableStorage;
33
- }>;
34
- //# sourceMappingURL=Config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,iCAAiC,8CAAoD,CAAA;AAClG,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAA;AAExF;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,CAAC;IACtD,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,iCAAiC,CAAA;IACzC;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC,CAAC,CAAA"}
@@ -1,34 +0,0 @@
1
- import { DivinerConfig } from '@xyo-network/diviner-model';
2
- export declare const ImageThumbnailDivinerConfigSchema: "network.xyo.image.thumbnail.diviner.config";
3
- export type ImageThumbnailDivinerConfigSchema = typeof ImageThumbnailDivinerConfigSchema;
4
- /**
5
- * Describes an Archivist/Diviner combination
6
- * that enables searching signed payloads
7
- */
8
- export interface SearchableStorage {
9
- archivist: string;
10
- boundWitnessDiviner: string;
11
- payloadDiviner: string;
12
- }
13
- export type ImageThumbnailDivinerConfig = DivinerConfig<{
14
- /** @deprecated Use appropriate Storage */
15
- archivist?: string;
16
- /**
17
- * Where the diviner should store it's index
18
- */
19
- indexStore?: SearchableStorage;
20
- /** @deprecated Use appropriate Storage */
21
- payloadDiviner?: string;
22
- payloadDivinerLimit?: number;
23
- pollFrequency?: number;
24
- schema: ImageThumbnailDivinerConfigSchema;
25
- /**
26
- * Where the diviner should persist its internal state
27
- */
28
- stateStore?: SearchableStorage;
29
- /**
30
- * Where the diviner should look for stored thumbnails
31
- */
32
- thumbnailStore?: SearchableStorage;
33
- }>;
34
- //# sourceMappingURL=Config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,iCAAiC,8CAAoD,CAAA;AAClG,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAA;AAExF;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,CAAC;IACtD,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,iCAAiC,CAAA;IACzC;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC,CAAC,CAAA"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/Diviner/Config.ts
21
- var Config_exports = {};
22
- __export(Config_exports, {
23
- ImageThumbnailDivinerConfigSchema: () => ImageThumbnailDivinerConfigSchema
24
- });
25
- module.exports = __toCommonJS(Config_exports);
26
- var import_image_thumbnail_payload_plugin = require("@xyo-network/image-thumbnail-payload-plugin");
27
- var ImageThumbnailDivinerConfigSchema = `${import_image_thumbnail_payload_plugin.ImageThumbnailSchema}.diviner.config`;
28
- // Annotate the CommonJS export names for ESM import in node:
29
- 0 && (module.exports = {
30
- ImageThumbnailDivinerConfigSchema
31
- });
32
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/Diviner/Config.ts"],"sourcesContent":["import { DivinerConfig } from '@xyo-network/diviner-model'\nimport { ImageThumbnailSchema } from '@xyo-network/image-thumbnail-payload-plugin'\n\nexport const ImageThumbnailDivinerConfigSchema = `${ImageThumbnailSchema}.diviner.config` as const\nexport type ImageThumbnailDivinerConfigSchema = typeof ImageThumbnailDivinerConfigSchema\n\n/**\n * Describes an Archivist/Diviner combination\n * that enables searching signed payloads\n */\nexport interface SearchableStorage {\n archivist: string\n boundWitnessDiviner: string\n payloadDiviner: string\n}\n\nexport type ImageThumbnailDivinerConfig = DivinerConfig<{\n /** @deprecated Use appropriate Storage */\n archivist?: string\n /**\n * Where the diviner should store it's index\n */\n indexStore?: SearchableStorage\n /** @deprecated Use appropriate Storage */\n payloadDiviner?: string\n payloadDivinerLimit?: number\n pollFrequency?: number\n schema: ImageThumbnailDivinerConfigSchema\n /**\n * Where the diviner should persist its internal state\n */\n stateStore?: SearchableStorage\n /**\n * Where the diviner should look for stored thumbnails\n */\n thumbnailStore?: SearchableStorage\n}>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4CAAqC;AAE9B,IAAM,oCAAoC,GAAG,0DAAoB;","names":[]}
@@ -1,7 +0,0 @@
1
- // src/Diviner/Config.ts
2
- import { ImageThumbnailSchema } from "@xyo-network/image-thumbnail-payload-plugin";
3
- var ImageThumbnailDivinerConfigSchema = `${ImageThumbnailSchema}.diviner.config`;
4
- export {
5
- ImageThumbnailDivinerConfigSchema
6
- };
7
- //# sourceMappingURL=Config.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/Diviner/Config.ts"],"sourcesContent":["import { DivinerConfig } from '@xyo-network/diviner-model'\nimport { ImageThumbnailSchema } from '@xyo-network/image-thumbnail-payload-plugin'\n\nexport const ImageThumbnailDivinerConfigSchema = `${ImageThumbnailSchema}.diviner.config` as const\nexport type ImageThumbnailDivinerConfigSchema = typeof ImageThumbnailDivinerConfigSchema\n\n/**\n * Describes an Archivist/Diviner combination\n * that enables searching signed payloads\n */\nexport interface SearchableStorage {\n archivist: string\n boundWitnessDiviner: string\n payloadDiviner: string\n}\n\nexport type ImageThumbnailDivinerConfig = DivinerConfig<{\n /** @deprecated Use appropriate Storage */\n archivist?: string\n /**\n * Where the diviner should store it's index\n */\n indexStore?: SearchableStorage\n /** @deprecated Use appropriate Storage */\n payloadDiviner?: string\n payloadDivinerLimit?: number\n pollFrequency?: number\n schema: ImageThumbnailDivinerConfigSchema\n /**\n * Where the diviner should persist its internal state\n */\n stateStore?: SearchableStorage\n /**\n * Where the diviner should look for stored thumbnails\n */\n thumbnailStore?: SearchableStorage\n}>\n"],"mappings":";AACA,SAAS,4BAA4B;AAE9B,IAAM,oCAAoC,GAAG,oBAAoB;","names":[]}
@@ -1,48 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
- import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
3
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { ImageThumbnailDivinerConfig } from './Config';
6
- import { ImageThumbnailDivinerParams } from './Params';
7
- interface ImageThumbnailDivinerState {
8
- offset: number;
9
- }
10
- type ConfigStoreKey = 'indexStore' | 'stateStore' | 'thumbnailStore';
11
- type ConfigStore = Extract<keyof ImageThumbnailDivinerConfig, ConfigStoreKey>;
12
- declare const ImageThumbnailResultIndexSchema: "network.xyo.image.thumbnail.index";
13
- type ImageThumbnailResultIndexSchema = typeof ImageThumbnailResultIndexSchema;
14
- interface ImageThumbnailResultInfo {
15
- sources: string[];
16
- status: number;
17
- timestamp: number;
18
- url: string;
19
- }
20
- type ImageThumbnailResult = Payload<ImageThumbnailResultInfo, ImageThumbnailResultIndexSchema>;
21
- export declare class ImageThumbnailDiviner<TParams extends ImageThumbnailDivinerParams = ImageThumbnailDivinerParams> extends AbstractDiviner<TParams> {
22
- static configSchemas: ("network.xyo.image.thumbnail.diviner.config" | "network.xyo.diviner.config")[];
23
- private _pollId?;
24
- get payloadDivinerLimit(): number;
25
- get pollFrequency(): number;
26
- protected backgroundDivine: () => Promise<void>;
27
- /**
28
- * Commit the internal state of the Diviner process. This is similar
29
- * to a transaction completion in a database and should only be called
30
- * when results have been successfully persisted to the appropriate
31
- * external stores.
32
- */
33
- protected commitState(state: ImageThumbnailDivinerState): Promise<void>;
34
- protected divineHandler(payloads?: Payload[]): Promise<ImageThumbnailResult[]>;
35
- protected getArchivistForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/archivist-model").ArchivistInstance | ArchivistWrapper<import("@xyo-network/archivist-model").ArchivistModule>>;
36
- protected getBoundWitnessDivinerForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/diviner-model").DivinerInstance | DivinerWrapper<import("@xyo-network/diviner-model").DivinerModule>>;
37
- protected getPayloadDivinerForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/diviner-model").DivinerInstance | DivinerWrapper<import("@xyo-network/diviner-model").DivinerModule>>;
38
- /**
39
- * Retrieves the last state of the Diviner process. Used to recover state after
40
- * preemptions, reboots, etc.
41
- */
42
- protected retrieveState(): Promise<ImageThumbnailDivinerState | undefined>;
43
- protected startHandler(): Promise<boolean>;
44
- protected stopHandler(_timeout?: number | undefined): Promise<boolean>;
45
- private poll;
46
- }
47
- export {};
48
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAMjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAI3E,OAAO,EAAE,2BAA2B,EAAqC,MAAM,UAAU,CAAA;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAUtD,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAA;CACf;AASD,KAAK,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAEpE,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,2BAA2B,EAAE,cAAc,CAAC,CAAA;AAE7E,QAAA,MAAM,+BAA+B,qCAA2C,CAAA;AAChF,KAAK,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAE7E,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,KAAK,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAA;AAmB9F,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,OAAgB,aAAa,kFAA2D;IAExF,OAAO,CAAC,OAAO,CAAC,CAAkC;IAElD,IAAI,mBAAmB,WAEtB;IAED,IAAI,aAAa,WAEhB;IAED,SAAS,CAAC,gBAAgB,QAAa,QAAQ,IAAI,CAAC,CA2DnD;IAED;;;;;OAKG;cACa,WAAW,CAAC,KAAK,EAAE,0BAA0B;cAUpC,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;cAmBjF,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;cAMvD,8BAA8B,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;cAQjE,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;IAM5E;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;cA8CvD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAMhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,OAAO,CAAC,IAAI;CAab"}
@@ -1,48 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
- import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
3
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { ImageThumbnailDivinerConfig } from './Config';
6
- import { ImageThumbnailDivinerParams } from './Params';
7
- interface ImageThumbnailDivinerState {
8
- offset: number;
9
- }
10
- type ConfigStoreKey = 'indexStore' | 'stateStore' | 'thumbnailStore';
11
- type ConfigStore = Extract<keyof ImageThumbnailDivinerConfig, ConfigStoreKey>;
12
- declare const ImageThumbnailResultIndexSchema: "network.xyo.image.thumbnail.index";
13
- type ImageThumbnailResultIndexSchema = typeof ImageThumbnailResultIndexSchema;
14
- interface ImageThumbnailResultInfo {
15
- sources: string[];
16
- status: number;
17
- timestamp: number;
18
- url: string;
19
- }
20
- type ImageThumbnailResult = Payload<ImageThumbnailResultInfo, ImageThumbnailResultIndexSchema>;
21
- export declare class ImageThumbnailDiviner<TParams extends ImageThumbnailDivinerParams = ImageThumbnailDivinerParams> extends AbstractDiviner<TParams> {
22
- static configSchemas: ("network.xyo.image.thumbnail.diviner.config" | "network.xyo.diviner.config")[];
23
- private _pollId?;
24
- get payloadDivinerLimit(): number;
25
- get pollFrequency(): number;
26
- protected backgroundDivine: () => Promise<void>;
27
- /**
28
- * Commit the internal state of the Diviner process. This is similar
29
- * to a transaction completion in a database and should only be called
30
- * when results have been successfully persisted to the appropriate
31
- * external stores.
32
- */
33
- protected commitState(state: ImageThumbnailDivinerState): Promise<void>;
34
- protected divineHandler(payloads?: Payload[]): Promise<ImageThumbnailResult[]>;
35
- protected getArchivistForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/archivist-model").ArchivistInstance | ArchivistWrapper<import("@xyo-network/archivist-model").ArchivistModule>>;
36
- protected getBoundWitnessDivinerForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/diviner-model").DivinerInstance | DivinerWrapper<import("@xyo-network/diviner-model").DivinerModule>>;
37
- protected getPayloadDivinerForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/diviner-model").DivinerInstance | DivinerWrapper<import("@xyo-network/diviner-model").DivinerModule>>;
38
- /**
39
- * Retrieves the last state of the Diviner process. Used to recover state after
40
- * preemptions, reboots, etc.
41
- */
42
- protected retrieveState(): Promise<ImageThumbnailDivinerState | undefined>;
43
- protected startHandler(): Promise<boolean>;
44
- protected stopHandler(_timeout?: number | undefined): Promise<boolean>;
45
- private poll;
46
- }
47
- export {};
48
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAMjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAI3E,OAAO,EAAE,2BAA2B,EAAqC,MAAM,UAAU,CAAA;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAUtD,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAA;CACf;AASD,KAAK,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAEpE,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,2BAA2B,EAAE,cAAc,CAAC,CAAA;AAE7E,QAAA,MAAM,+BAA+B,qCAA2C,CAAA;AAChF,KAAK,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAE7E,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,KAAK,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAA;AAmB9F,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,OAAgB,aAAa,kFAA2D;IAExF,OAAO,CAAC,OAAO,CAAC,CAAkC;IAElD,IAAI,mBAAmB,WAEtB;IAED,IAAI,aAAa,WAEhB;IAED,SAAS,CAAC,gBAAgB,QAAa,QAAQ,IAAI,CAAC,CA2DnD;IAED;;;;;OAKG;cACa,WAAW,CAAC,KAAK,EAAE,0BAA0B;cAUpC,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;cAmBjF,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;cAMvD,8BAA8B,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;cAQjE,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;IAM5E;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;cA8CvD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAMhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,OAAO,CAAC,IAAI;CAab"}
@@ -1,48 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
- import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
3
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { ImageThumbnailDivinerConfig } from './Config';
6
- import { ImageThumbnailDivinerParams } from './Params';
7
- interface ImageThumbnailDivinerState {
8
- offset: number;
9
- }
10
- type ConfigStoreKey = 'indexStore' | 'stateStore' | 'thumbnailStore';
11
- type ConfigStore = Extract<keyof ImageThumbnailDivinerConfig, ConfigStoreKey>;
12
- declare const ImageThumbnailResultIndexSchema: "network.xyo.image.thumbnail.index";
13
- type ImageThumbnailResultIndexSchema = typeof ImageThumbnailResultIndexSchema;
14
- interface ImageThumbnailResultInfo {
15
- sources: string[];
16
- status: number;
17
- timestamp: number;
18
- url: string;
19
- }
20
- type ImageThumbnailResult = Payload<ImageThumbnailResultInfo, ImageThumbnailResultIndexSchema>;
21
- export declare class ImageThumbnailDiviner<TParams extends ImageThumbnailDivinerParams = ImageThumbnailDivinerParams> extends AbstractDiviner<TParams> {
22
- static configSchemas: ("network.xyo.image.thumbnail.diviner.config" | "network.xyo.diviner.config")[];
23
- private _pollId?;
24
- get payloadDivinerLimit(): number;
25
- get pollFrequency(): number;
26
- protected backgroundDivine: () => Promise<void>;
27
- /**
28
- * Commit the internal state of the Diviner process. This is similar
29
- * to a transaction completion in a database and should only be called
30
- * when results have been successfully persisted to the appropriate
31
- * external stores.
32
- */
33
- protected commitState(state: ImageThumbnailDivinerState): Promise<void>;
34
- protected divineHandler(payloads?: Payload[]): Promise<ImageThumbnailResult[]>;
35
- protected getArchivistForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/archivist-model").ArchivistInstance | ArchivistWrapper<import("@xyo-network/archivist-model").ArchivistModule>>;
36
- protected getBoundWitnessDivinerForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/diviner-model").DivinerInstance | DivinerWrapper<import("@xyo-network/diviner-model").DivinerModule>>;
37
- protected getPayloadDivinerForStore(store: ConfigStore, wrap?: boolean): Promise<import("@xyo-network/diviner-model").DivinerInstance | DivinerWrapper<import("@xyo-network/diviner-model").DivinerModule>>;
38
- /**
39
- * Retrieves the last state of the Diviner process. Used to recover state after
40
- * preemptions, reboots, etc.
41
- */
42
- protected retrieveState(): Promise<ImageThumbnailDivinerState | undefined>;
43
- protected startHandler(): Promise<boolean>;
44
- protected stopHandler(_timeout?: number | undefined): Promise<boolean>;
45
- private poll;
46
- }
47
- export {};
48
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAMjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAI3E,OAAO,EAAE,2BAA2B,EAAqC,MAAM,UAAU,CAAA;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAUtD,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAA;CACf;AASD,KAAK,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAEpE,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,2BAA2B,EAAE,cAAc,CAAC,CAAA;AAE7E,QAAA,MAAM,+BAA+B,qCAA2C,CAAA;AAChF,KAAK,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAE7E,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,KAAK,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAA;AAmB9F,qBAAa,qBAAqB,CAAC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC5I,OAAgB,aAAa,kFAA2D;IAExF,OAAO,CAAC,OAAO,CAAC,CAAkC;IAElD,IAAI,mBAAmB,WAEtB;IAED,IAAI,aAAa,WAEhB;IAED,SAAS,CAAC,gBAAgB,QAAa,QAAQ,IAAI,CAAC,CA2DnD;IAED;;;;;OAKG;cACa,WAAW,CAAC,KAAK,EAAE,0BAA0B;cAUpC,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;cAmBjF,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;cAMvD,8BAA8B,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;cAQjE,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;IAM5E;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;cA8CvD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAMhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,OAAO,CAAC,IAAI;CAab"}